Показано с 1 по 4 из 4

Тема: Вопрос по CmpSysExec.SysExecute и Web-конфигуратору

  1. #1

    По умолчанию Вопрос по CmpSysExec.SysExecute и Web-конфигуратору

    Здравствуйте.
    Столкнулся с двумя проблемами по ПЛК210. Первая выглядит попроще - не могу попасть в web-конфигуратор. Набирая в браузере IP-адрес контроллера (в моём случае 192.168.0.10), я попадаю на страничку своей web-визуализации. Если пытаюсь дописать к адресу /cgi-bin/luci, то страница не открывается. Что я делаю не так?
    Вторая проблема возникла с функцией SysExecute библиотеки CmpSysExec. Раз в минуту (ну либо вручную) я вызываю функцию SysExecute:
    query:='mysql -uarchiver -pQwertyui -h 192.168.0.40 --database=mybase -e "INSERT INTO test_table (test_datetime) VALUES (NOW());" ';
    result := CmpSysExec.SysExecute(query);
    Переменная query объявлена как String(255), переменная result - как DINT.
    Значение result после выполнения всегда 512. Никакая запись при этом в таблице не появляется. "Ну и что, может, mysql-сервер неверно настроен?". Отключаю контроллер от сети, даю другому компьютеру IP-адрес 192.168.0.10, выполняю с него точно ту же команду - всё работает, строка с текущей датой и временем успешно записывается в таблицу test_table базы mybase на сервере 192.168.0.40. То есть с серверной стороны проблем нет, что-то не так именно со стороны ПЛК.
    Может, можно как-то подключиться к ПЛК по ssh и попробовать выполнить эту команду вручную? Но как это сделать без веб-конфигуратора...
    И да, я знаю про существование примера работы с MySQL для СПК1хх, смотрел его, но он точно так же использует CmpSysExec, просто перед этим жонглирует строками, формируя в итоге такую же команду из данных, введённых пользователем, и результата также не даёт.
    Последний раз редактировалось user32767; 14.06.2023 в 05:46.

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,171

    По умолчанию

    Цитата Сообщение от user32767 Посмотреть сообщение
    Здравствуйте.
    Столкнулся с двумя проблемами по ПЛК210. Первая выглядит попроще - не могу попасть в web-конфигуратор. Набирая в браузере IP-адрес контроллера (в моём случае 192.168.0.10), я попадаю на страничку своей web-визуализации. Если пытаюсь дописать к адресу /cgi-bin/luci, то страница не открывается. Что я делаю не так?
    Вторая проблема возникла с функцией SysExecute библиотеки CmpSysExec. Раз в минуту (ну либо вручную) я вызываю функцию SysExecute:
    query:='mysql -uarchiver -pQwertyui -h 192.168.0.40 --database=mybase -e "INSERT INTO test_table (test_datetime) VALUES (NOW());" ';
    result := CmpSysExec.SysExecute(query);
    Переменная query объявлена как String(255), переменная result - как DINT.
    Значение result после выполнения всегда 512. Никакая запись при этом в таблице не появляется. "Ну и что, может, mysql-сервер неверно настроен?". Отключаю контроллер от сети, даю другому компьютеру IP-адрес 192.168.0.10, выполняю с него точно ту же команду - всё работает, строка с текущей датой и временем успешно записывается в таблицу test_table базы mybase на сервере 192.168.0.40. То есть с серверной стороны проблем нет, что-то не так именно со стороны ПЛК.
    Может, можно как-то подключиться к ПЛК по ssh и попробовать выполнить эту команду вручную? Но как это сделать без веб-конфигуратора...
    И да, я знаю про существование примера работы с MySQL для СПК1хх, смотрел его, но он точно так же использует CmpSysExec, просто перед этим жонглирует строками, формируя в итоге такую же команду из данных, введённых пользователем, и результата также не даёт.
    Добрый день.
    Напишите мне на почту или в телеграм, пожалуйста (в подписи) и предоставьте доступ по AeroAdmin.

  3. #3
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    Цитата Сообщение от user32767 Посмотреть сообщение
    Здравствуйте.
    Столкнулся с двумя проблемами по ПЛК210. Первая выглядит попроще - не могу попасть в web-конфигуратор. Набирая в браузере IP-адрес контроллера (в моём случае 192.168.0.10), я попадаю на страничку своей web-визуализации. Если пытаюсь дописать к адресу /cgi-bin/luci, то страница не открывается. Что я делаю не так?
    Вторая проблема возникла с функцией SysExecute библиотеки CmpSysExec. Раз в минуту (ну либо вручную) я вызываю функцию SysExecute:
    query:='mysql -uarchiver -pQwertyui -h 192.168.0.40 --database=mybase -e "INSERT INTO test_table (test_datetime) VALUES (NOW());" ';
    result := CmpSysExec.SysExecute(query);
    Переменная query объявлена как String(255), переменная result - как DINT.
    Значение result после выполнения всегда 512. Никакая запись при этом в таблице не появляется. "Ну и что, может, mysql-сервер неверно настроен?". Отключаю контроллер от сети, даю другому компьютеру IP-адрес 192.168.0.10, выполняю с него точно ту же команду - всё работает, строка с текущей датой и временем успешно записывается в таблицу test_table базы mybase на сервере 192.168.0.40. То есть с серверной стороны проблем нет, что-то не так именно со стороны ПЛК.
    Может, можно как-то подключиться к ПЛК по ssh и попробовать выполнить эту команду вручную? Но как это сделать без веб-конфигуратора...
    И да, я знаю про существование примера работы с MySQL для СПК1хх, смотрел его, но он точно так же использует CmpSysExec, просто перед этим жонглирует строками, формируя в итоге такую же команду из данных, введённых пользователем, и результата также не даёт.
    а на другом ПК, где всё работает, так же ключи слитно прописываете?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  4. #4

    По умолчанию

    Евгений, большое спасибо за помощь!
    Итак, описание решений: во-первых, в моей версии прошивки не было mysql, поэтому требовалось обновление прошивки, что одновременно решило проблему с веб-конфигуратором, который не работал из-за неправильных настроек; во-вторых, как оказалось, функция SysExecute ограничена 80 символами, поэтому более длинный запрос обрабатывался некорректно, правильный путь - использовать вместо неё функциональный блок SysExecute3. Теперь всё работает как надо.

Похожие темы

  1. Вопрос по конфигуратору М110
    от super100 в разделе Сервисное ПО
    Ответов: 3
    Последнее сообщение: 23.10.2013, 16:05
  2. Вопрос по конфигуратору ИП 320
    от desperadoes в разделе Панели оператора (HMI)
    Ответов: 4
    Последнее сообщение: 20.02.2013, 09:50
  3. Вопрос по конфигуратору СП200 "функциональная область"
    от Malyshevsergey в разделе Панели оператора (HMI)
    Ответов: 5
    Последнее сообщение: 16.12.2011, 20:46
  4. вопрос по конфигуратору модуля мв110-224.2а
    от nsxf в разделе Сервисное ПО
    Ответов: 18
    Последнее сообщение: 22.06.2011, 12:08
  5. Вопрос по конфигуратору ИП320 6.5
    от Павел ГОН в разделе Панели оператора (HMI)
    Ответов: 8
    Последнее сообщение: 16.06.2010, 23:26

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •