PDA

Просмотр полной версии : ПЛК200-02 и MySQL



Fullhaos
15.04.2025, 12:51
День добрый, появилась необходимость использовать базу данных MySQL на ПЛК200. Создал БД через Open Server Panel и phpMyAdmin, использовал версию MySQL-8.0. Подключаюсь в браузере, всё нормально, могу создавать таблицы, менять, удалять. Далее решил попробовать на самом ПЛК200. Посмотрел видео как подключаться https://www.youtube.com/watch?v=L9e30ztABHQ&lc=UgwO0jse4D_xar5km0t4AaABAg . Скачал этот демопроект, ввожу данные, и нет ответа от БД. В визуализации таблица пустая остается, а в функциональный блок выдает сигнал xBusy на 1 секунду. Скачал еще программу как на видео HeidiSQL, и в ней подключился с первого раза. Там я также могу взаимодействовать с БД. Потом еще решил попробовать подключиться через онлайн-симуляцию панелей Weintek cMT3072X в с самом EBpro. Там не без проблем, но смог разобраться и подключиться к своей БД. Но вот с ПЛК200 не получается. Даже попробовал в брандмауэре открыть порт 3306 для БД. Не отрицаю, что возможно я неправильно что-то настроил или ввёл, но я несколько раз перепроверял и заново вводил, и пробовал разные вариации, но всё никак не могу подключиться. Подскажите, может я действительно не те данные ввожу.
83118

Евгений Кислов
15.04.2025, 13:11
Добрый день.
Перед тем, как переходить к ПЛК - я рекомендую добиться подключения к вашей MySQL с другого ПК (насколько я понимаю, EBpro и HeidiSQL запускались на том же ПК, на котором установлена MySQL).
Обычно для этого требуется внести изменения в дефолтный конфиг СУБД (пример: https://stackoverflow.com/questions/9257455/connecting-to-mysql-server-on-another-pc-in-lan)
После того, как это получится - можно переходить к ПЛК (можете написать в этот момент нам на support@owen.ru)

Николай Суриков
15.04.2025, 19:24
В настройках Open Server надо указать в "ip адрес сервера" ip адрес вашего компьютера в сети, тогда MySQL будет доступна по этому адресу

Fullhaos
15.04.2025, 21:14
Это настройки из старого Open Server Panel, я установил новый 6 версии. Там я подобной вкладки с настройками не находил. Я, вроде как, настроил локальную сеть, через конфиги вписал ip своего компьютера и смог в браузере на телефоне подключиться по нему. Возможно это имели введу. Однако ПЛК по этому ip не подключается.

Fullhaos
15.04.2025, 21:21
Меня еще смущает то, что в этом демо-проекте не нужно указывать порт. Возможно он там сразу где-то вписан стандартный 3306.

Николай Суриков
16.04.2025, 02:07
Меня еще смущает то, что в этом демо-проекте не нужно указывать порт. Возможно он там сразу где-то вписан стандартный 3306.

Так укажите. IP-adress:port или Hostname:port

Fullhaos
16.04.2025, 11:39
Создали такую же БД на другом компьютере и подключились через интернет к ней. Через Heidi и Weintek стабильно работает, можно делать изменения в БД. В ПЛК всё также загорается xBusy на секунду. Подумали, что может не так создаем БД, поэтому сделали табличку как на видео - не помогло. Потом нашли подобную тему на форуме https://owen.ru/forum/showthread.php?t=34828 . Там посоветовали через терминал в web-конфигураторе сделать такой же запрос, который получается на входе блока в коде программы. Кавычки, соответственно, в этой команде ставил только для самого запроса sql. В ответ получил, что не могу подключиться. 83134.
Далее написал команду mysql -s или mysql -server. В ответ получил это 83135.
Также попробовал команду find / -name mysql. Вот ответ 83136.
Еще пробовал mysql -install. Ответ 83137
Потом еще на своем компьютере проворачивал тоже самое в локальной сети. Ответы были такие же. Как будто что-то не включил или что-то не обновил. Я не силен в линуксе и не знаю как там устроена система и какие команды писать. Писал что попадалось в инете на подобные моменты. Результата не получил.

Fullhaos
16.04.2025, 12:01
Еще сделал запрос service и там не было ничего связанного с mysql 83138. Как будто его там вообще нет. Хотя на скрине выше он находится по имени.

Fullhaos
16.04.2025, 12:46
service тут при чем, Вы же не поднимаете базу на плк, клиент стучится в интернет
Если вы не можете подключиться, проверьте наличие ошибок. Вы можете просмотреть логи MySQL для получения дополнительной информации о проблемах с подключением. Логи обычно находятся в /var/log/mysql/ или /var/log/mysqld.log, в зависимости от конфигурации.
И на скрине запрос из терминала слились в одно -uroot, возможно это мешает

Раздельно писать -u root я тоже пробовал, результат такой же, что нельзя подключится к серверу по этому ip, что по интернету, что по локалке. Если просто ввести mysql -u root то пишет что сокет не найден
Куда и каким образом залезть, чтобы посмотреть эти файлы?

Fullhaos
16.04.2025, 14:05
INVALID пакетов не нашел в web-конфигураторе в "Состояние межсетевого экрана". Логов и сообщений связанных с mysql нет 83145. В файл message только записи связанные с owencloud каждые несколько секунд 83146

Fullhaos
16.04.2025, 14:13
Как-то можно проверить, что MySQL вообще работает на ПЛК? Может какие-то особые команды нужно написать в терминале? Или какой-то файл найти/создать/добавить в ftp? Всё что я находил было на скринах выше.

capzap
16.04.2025, 14:40
Как-то можно проверить, что MySQL вообще работает на ПЛК? Может какие-то особые команды нужно написать в терминале? Или какой-то файл найти/создать/добавить в ftp? Всё что я находил было на скринах выше.

открыть два соединения с плк, например одно через putty другое через терминал веб-конфигуратора, в одном задать кооманду tcpdump -i any port 3306 -A, в другом mysql -h 192.168.xxx.xxx
и сможете увидеть что сыпется в порт, как минимум ...Flags [S]... - флаг SYN (синхронизация), означает начало нового соединения, это первый пакет в процессе "трёхстороннего рукопожатия". Сервер БД ответит пакетом с флагами SYN,ACK, после чего клиент отправит пакет с флагом ACK, завершив установку соединения
В другом окне, где mysql, если появится ошибка ERROR 2002 рекомендуют использовать команду указывая протокол mysql --protocol=TCP

Fullhaos
16.04.2025, 15:25
83148 83149
Вот что мне выдавал на различные запросы. Между запросами я отступал 2 строки, что в одном, что в другом, чтобы понимать, что к чем относится и не путать.

Fullhaos
16.04.2025, 16:01
192.168.1.2 - ПК
192.168.1.90 - ПЛК200
127.127.126.26 - адрес базы данных на моем ПК. По этому адресу я могу подключиться на панели Weintek и в программе Heidi без каких-либо проблем. Также в Open Server Panel я добавил алиас ip своего ПК для подключения по локальной сети. И тем самым могу зайти в phpmyadmin в браузере по этому ip как на своем же ПК так и на телефоне, который подключен через роутер по wi-fi.
Также есть другая БД на другом ПК, к которой я подключаюсь через интернет точно также как к своей (через ip, логин, пароль, имя БД, имя таблицы).
БД я создал в Open Server Panel 6.0.0, использовал модули MySQL-8.0 и PHP-8.1 (следовал инструкции которую нашел). PhpMyAdmin поставил версии 5.2.2 (последняя с оф сайта). Всё это делаю на Windows 10.

Fullhaos
16.04.2025, 16:28
Вот в том то и дело, что не получается на удаленную БД достучаться с ПЛК. Там я получаю такой же ответ, что не могу подключится. Об этом я уже выше писал. И после этого появились мысли что в ПЛК чего-то нет или что-то прописать дополнительно.

Fullhaos
16.04.2025, 16:43
эмулятор панели подключается?

Да, подключается к удаленной БД. База также работает через OSP 6, через роутер сделали проброс порта 3306. Windows 11 Корпоративная

Fullhaos
16.04.2025, 17:35
Вообщем дело было не mysql внутри ПЛК, а в том что нужно выбрать схему подключения LAN и WAN. Чтобы второй разъём Ethernet отвечал за WAN (смотрите схему в мастере настроек в web-конфигураторе).83172

Fullhaos
16.04.2025, 17:38
Осталось только на своем ПК подключиться. Проблемы всё те же остались.

capzap
17.04.2025, 07:49
Осталось только на своем ПК подключиться. Проблемы всё те же остались.

в первую очередь проверяете любой командой через терминал Get-NetTCPConnection | Where-Object { $_.LocalPort -eq 3306 } или netstat -an | findstr ":3306"
должен появится вывод с информацией о порте, если ни чего нет надо создать правило для открытия , перезапустить приложение работающее с этим портом и снова проверять, это Вам все должен объяснять сисадмин, а не здесь спрашивать

Fullhaos
17.04.2025, 09:48
В настройке модуля MySQL-8.0 в Open Panel Server изменил ip, которое там было, на ip своего ПК и смог подключиться к базе через ПЛК200. Благодарю за помощь!