Просмотр полной версии : CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)
Страницы :
1
2
3
4
5
6
[
7]
Evgen Dnepr
19.03.2025, 11:09
Мне нужен ФБ (функциональный блок) для пропорционального клапана давления Atos RZMO-AES-BC-010
Использую Codesys 3.5
ValveContinuous (FB) подойдет для управления клапаном?
вы бы схему управления нарисовали что-ли
Evgen Dnepr
19.03.2025, 15:07
вы бы схему управления нарисовали что-ли
Нужно удрживать давление на прессе 210 бар в течении 3х часов с погрешностью 3% от задорного давления.
Схема состоит из
1. Датчика давления 4-20 мА
2. ПЛК на вход подаем сигнал от датчика давления.
3. Пропорционального клапана давления с управлением 4-20 мА
так вам FB нужен не для клапана, а для управления по 4-20мА
(в смысле какая разница тут что за управляющее устройство если у него управление по 4-20) Хоть PID к нему лепите...
Evgen Dnepr
20.03.2025, 16:56
так вам FB нужен не для клапана, а для управления по 4-20мА
(в смысле какая разница тут что за управляющее устройство если у него управление по 4-20) Хоть PID к нему лепите...
Клапан Atos RZMO-AES-BC-010 на борту имеет EtcherCAT
Надо командное слово через ValveContinuous (FB) ему записать. Я планировал FB использовать.
Нашел в репозитарии завтра добавлю посмотрю как работать будет.
Смешались в кучу кони, люди... У ПЛК Овен неожиданно появился EtherCAT?
МихаилГл
21.03.2025, 07:00
Смешались в кучу кони, люди... У ПЛК Овен неожиданно появился EtherCAT?
Ну я почитал об этом протоколе... Можно и самому такое реализовать на ПЛК2ХХ, документация к нему вроде бесплатна для членов "клуба", при этом регистрация в этом "клубе" вроде бесплатная... В принципе. Хотя ТС не говорил какой у него ПЛК, может Дельта или еще какой, а там протокол поддерживается!
МихаилГл и логически тут легко и просто найти человека, знакомого с "сусликом" ? :) (я про логику поиска решения на данном конкретном форуме)
Всегда поражался людям, которые ищут масло в мясном отделе, просто исходя из логики наличия холодильника.
In_Da_Cher_A
21.03.2025, 08:22
У ПЛК Овен неожиданно появился EtherCAT?нет, но вас не смущает формулировка
Я планировал FB использовать.? просто - ФБ использовать. Ставишь какой-то "ФБ" и хоп, всё работает, самое главное - найти его в "холодильнике"
Вот она, великая сила замещения. Российский ПЛК - CodeSys 3.5 до этого работали на Импортном ПЛК CodeSys 3.5 ну там же работало :)
viktor1974
29.03.2025, 11:04
Добрый день!
Возник вопрос. Есть ПЛК-210, он по 1 RS-485 опрашивает 7 однотипных частоников, по 2RS-485 опрашивает 12 однотипных частоников + 2 ТД + ПР102, обмен, учитывая, что есть много однотипных устройств, реализован через библиотеку OwenCommunication, всё работает стабильно.
Есть еще один шкаф, где стоит 12 частоников + ПР102 + картридер. Там поставил МКОН 24, и здесь начались проблемы. Если пишу модуль программы, то обмен не идет совсем. Если реализую обмен стандартными средствами, то 2,3 прибора опрашиваются, если подключаю больше, то начинаются сбои, если подключаю все, то обмен встает совсем. Может подскажите, что можно поправить
kondor3000
29.03.2025, 11:17
Добрый день!
Возник вопрос. Есть ПЛК-210, он по 1 RS-485 опрашивает 7 однотипных частоников, по 2RS-485 опрашивает 12 однотипных частоников + 2 ТД + ПР102, обмен, учитывая, что есть много однотипных устройств, реализован через библиотеку OwenCommunication, всё работает стабильно.
Есть еще один шкаф, где стоит 12 частоников + ПР102 + картридер. Там поставил МКОН 24, и здесь начались проблемы. Если пишу модуль программы, то обмен не идет совсем. Если реализую обмен стандартными средствами, то 2,3 прибора опрашиваются, если подключаю больше, то начинаются сбои, если подключаю все, то обмен встает совсем. Может подскажите, что можно поправить
Без МКОН 24 пробовали опросить?
А теперь опишите отличия, как сделано в 1 случае и как во 2.
Вот тема, как должно быть сделано https://owen.ru/forum/showthread.php?t=41121&p=460538&viewfull=1#post460538
viktor1974
29.03.2025, 11:40
Без МКОН не пробовал, но аналогичная без него схема уже работет на порту ПЛК, ссылку посмотрю, спасибо
viktor1974
29.03.2025, 11:43
провода экранированные, мысль про помехи, есть, но думаю проблема не в этом, так как почти все тоже самое уже реализовано без МКОНа и там оно работает
Мария Крыжовникова
07.04.2025, 16:20
Здравствуйте, подскажите, пожалуйста, почему при подключении дополнительных модулей ввода/вывода к плк210 по протоколу Modbus TCP у всех модулей прописывается значение "1" в графе "Unit-ID"? По логике как будто им нужно давать разные ID?
https://www.youtube.com/watch?v=mkpY3u7K8Kg&list=PL2EcVEe6E9SCzVhL_BCDnaUJROikKheVx&index=11
минуты 4:20 и 4:56
Заранее благодарю за ответ)
по протоколу Modbus TCP у всех модулей прописывается значение "1" в графе "Unit-ID"Для Modbus TCP значение имеет IP-адрес в компьютерной сети. По нему и определяется, что это за устройство.
Мария Крыжовникова
07.04.2025, 16:43
Для Modbus TCP значение имеет IP-адрес в компьютерной сети. По нему и определяется, что это за устройство.
для чего тогда нужна графа Unit-ID? И если туда вписывать случайные числа, все так же будет работать?
Евгений Кислов
07.04.2025, 16:50
для чего тогда нужна графа Unit-ID?
Для работы со шлюзами Modbus TCP/Modbus RTU - в их случае этот адрес потом используется в RTU-пакете.
И если туда вписывать случайные числа, все так же будет работать?
Зависит от конкретного устройства.
С точки зрения спецификации Modbus TCP - если опрашиваемое устройство не является шлюзом, то используемый в запросе Unit ID должен иметь значение 0 или 255.
По историческим причинам - многие устройства используют Unit ID = 1.
Мария Крыжовникова
07.04.2025, 16:52
Спасибо всем за ответы)
sdc-alex
08.04.2025, 10:17
Добрый день,
Имеем следующую схему сети:
82958
Подскажите как и что нужно подключить, что бы организовать опрос ПЛК 210 по ModbusTCP?
Разработчик прислал таблицу регистров и данные для подключения.
При попытке соединения от Switch до любого из Ethernet порта ПЛК210 - порт не открывается (ошибка связи).
При соединении ПК напрямую с портом Ethernet ПЛК210 - то же самое, но если установить IP адресс ПК что то типа 192.168.0.100 то пинг проходит.
Связь хотелось бы настроить с применением библиотеки OwenCommunication т.к. опрашивать нужно всего 1 - 2 регистра, да и вообще хочется разобраться как она работает).
Евгений Кислов
08.04.2025, 10:26
Добрый день,
Имеем следующую схему сети:
82958
Подскажите как и что нужно подключить, что бы организовать опрос ПЛК 210 по ModbusTCP?
Разработчик прислал таблицу регистров и данные для подключения.
При попытке соединения от Switch до любого из Ethernet порта ПЛК210 - порт не открывается (ошибка связи).
При соединении ПК напрямую с портом Ethernet ПЛК210 - то же самое, но если установить IP адресс ПК что то типа 192.168.0.100 то пинг проходит.
Связь хотелось бы настроить с применением библиотеки OwenCommunication т.к. опрашивать нужно всего 1 - 2 регистра, да и вообще хочется разобраться как она работает).
Добрый день.
Напишите, пожалуйста, мне в телеграм (см. в подписи) или на support@owen.ru
Подготовьте доступ по AnyDesk.
Добрый день. Такой момент: ПЛК опрашивает ПР-ку по mb-tcp и выводит на визуализацию какие-то значения с неё. Если по каким-то причинам теряется связь с ПР, то на визуализации значения "замерзают" на последних полученных с ПР. Когда ПР появляется в сети, то ПЛК по каким-то причинам не видит ее в сети, и значения в визуализации так и висят замороженными, пока не перезапустишь ПЛК. Как пофиксить этот момент?
kondor3000
09.04.2025, 14:06
Добрый день. Такой момент: ПЛК опрашивает ПР-ку по mb-tcp и выводит на визуализацию какие-то значения с неё. Если по каким-то причинам теряется связь с ПР, то на визуализации значения "замерзают" на последних полученных с ПР. Когда ПР появляется в сети, то ПЛК по каким-то причинам не видит ее в сети, и значения в визуализации так и висят замороженными, пока не перезапустишь ПЛК. Как пофиксить этот момент?
Галка Автоперезапуск соединения стоит в проекте?
nick2015
10.04.2025, 12:34
Здравствуйте ! Подскажите пожалуйста не получается считать конфигурационные регистры модуля MV110-8AS одним запросом(только по отдельности 8 шт.) с помощью библиотеки OwenCommunication В инструкции конечно есть сноска про это. Но зачем так сделано ?
Евгений Кислов
10.04.2025, 12:48
Здравствуйте ! Подскажите пожалуйста не получается считать конфигурационные регистры модуля MV110-8AS одним запросом(только по отдельности 8 шт.) с помощью библиотеки OwenCommunication В инструкции конечно есть сноска про это. Но зачем так сделано ?
Добрый день.
Ответить на этот вопрос спустя 15 лет после старта продаж модулей - крайне затруднительно.
Вероятно, были какие-то технические или идеологические причины, приведшие к этой недоработке.
Это, безусловно, неудобно, но последствия не выглядят критическими - чтение/запись конфигурационных параметров вряд ли является той операцией, которую имеет смысл выполнять часто.
nick2015
10.04.2025, 13:00
Добрый день.
Ответить на этот вопрос спустя 15 лет после старта продаж модулей - крайне затруднительно.
Вероятно, были какие-то технические или идеологические причины, приведшие к этой недоработке.
Это, безусловно, неудобно, но последствия не выглядят критическими - чтение/запись конфигурационных параметров вряд ли является той операцией, которую имеет смысл выполнять часто.
Согласен, но на написание обмена уходит в разы больше времени, чем просто добавить шаблон.
Evgen Dnepr
15.04.2025, 15:46
нет, но вас не смущает формулировка
? просто - ФБ использовать. Ставишь какой-то "ФБ" и хоп, всё работает, самое главное - найти его в "холодильнике"
Я об этом ValveContinuous (FB) писал!
https://content.helpme-codesys.com/en/libs/Building%20Automation/Current/BuildingAutomation/Function-Blocks/Actuator/ValveContinuous.html
Лучше не отвечайте если не понимаете о чем речь!
Добрый день.
Есть ли возможность изменить, во время запуска|выполнения программы ПЛК200, настройки каналов modbusTCP_Slave такие как "сдвиг Read", "сдвиг Write". Возможно, сначала надо отключить канал modbusTCP_Slave. Пока нашел вариант с ModbusTCP_Slave.ModbusRequest2.modbusCommand(uiRea dOffset,uiWriteOffset), но не совсем понимаю как их использовать(((.
Евгений Кислов
18.04.2025, 16:08
Добрый день.
Есть ли возможность изменить, во время запуска|выполнения программы ПЛК200, настройки каналов modbusTCP_Slave такие как "сдвиг Read", "сдвиг Write". Возможно, сначала надо отключить канал modbusTCP_Slave. Пока нашел вариант с ModbusTCP_Slave.ModbusRequest2.modbusCommand(uiRea dOffset,uiWriteOffset), но не совсем понимаю как их использовать(((.
Добрый день.
На мой взгляд, вам проще настроить обмен через библиотеку OwenCommunication.
В этом случае все параметры запроса можно определить через переменные.
ocl.MB_TcpSlave - необходимо заполнить все значения? или какие-то принимаются по умолчанию? Заранее спасибо!
kondor3000
18.04.2025, 17:01
ocl.MB_TcpSlave - необходимо заполнить все значения? или какие-то принимаются по умолчанию? Заранее спасибо!
https://rutube.ru/video/1c85a12295408e0b9df92ee10040907b/
https://www.youtube.com/watch?v=eB_fBQGJmmM&t=1s
на видео нет в устройствах ModbusTCP(slave). По крайней мере у меня ocl.MB_TcpSlave так и не завелся, пробовал удалять соотнесение входов/выходов, каналы - без результата. Назрел еще вопрос: у MB_TcpSlave нет "eFuncCode| MB_FC|Используемая функция Modbus".
По сути, задача такая - пока есть три сборки ПЛК200(DI-DOI,AI,AO) они подключаются через шлюз ModbusTCP-ProfiNET к ПЛК S7-315. Пока остановился на варианте, что каналы (ф-ции 04 и 16) на ПЛК200 №2 и 3 смещены на N-число регистров, возникла необходимость смены сдвига каналов через панель HMI или другим способом (привязка по IP адресу).
kondor3000
18.04.2025, 20:29
на видео нет в устройствах ModbusTCP(slave). По крайней мере у меня ocl.MB_TcpSlave так и не завелся, пробовал удалять соотнесение входов/выходов, каналы - без результата. Назрел еще вопрос: у MB_TcpSlave нет "eFuncCode| MB_FC|Используемая функция Modbus".
По сути, задача такая - пока есть три сборки ПЛК200(DI-DOI,AI,AO) они подключаются через шлюз ModbusTCP-ProfiNET к ПЛК S7-315. Пока остановился на варианте, что каналы (ф-ции 04 и 16) на ПЛК200 №2 и 3 смещены на N-число регистров, возникла необходимость смены сдвига каналов через панель HMI или другим способом (привязка по IP адресу).
Что значит нет, на 6 мин 50 сек добавляют OCL.MB_TcpSlave и подключают входы. Офигеть, даже видео посмотреть лень.
А здесь готовые примеры лежат, даже думать не надо
Настройка контроллера в режиме Modbus TCP Slave через библиотеку OwenCommunication https://owen.ru/product/codesys_v3/example_of_work
vorobev22rus
23.04.2025, 13:12
Добрый день! Прошу опытных направить: настроил Modbus TCP панель(мастер) - ПЛК210(слейв) по данному видео (https://rutube.ru/video/c923c71ac73661a20c3b4d7ed1dede26/), т.к. это был единственный способ адекватно работать со старой панелью Weintek. Но возникла сложность с верхним уровнем Simple SCADA (OPC UA пробовал - косячный на Codesys): подключается либо СКАДА либо панель. Пробовал добавить второй экземпляр FB OCL.MB_TcpSlave с другим Slave ID но с тем же портом (502) - все равно подключается только один клиент, который цепляется к ID=1. Кто-нибудь по данной библиотеке реализовал опрос и панелью и СКАДА одновременно, дайте подсказку.
Евгений Кислов
23.04.2025, 13:12
Добрый день! Прошу опытных направить: настроил Modbus TCP панель(мастер) - ПЛК210(слейв) по данному видео (https://rutube.ru/video/c923c71ac73661a20c3b4d7ed1dede26/), т.к. это был единственный способ адекватно работать со старой панелью Weintek. Но возникла сложность с верхним уровнем Simple SCADA (OPC UA пробовал - косячный на Codesys): подключается либо СКАДА либо панель. Пробовал добавить второй экземпляр FB OCL.MB_TcpSlave с другим Slave ID но с тем же портом (502) - все равно подключается только один клиент, который цепляется к ID=1. Кто-нибудь по данной библиотеке реализовал опрос и панелью и СКАДА одновременно, дайте подсказку.
Добрый день.
https://owen.ru/forum/showthread.php?t=28167&p=438829&viewfull=1#post438829
vorobev22rus
23.04.2025, 13:36
Добрый день.
https://owen.ru/forum/showthread.php?t=28167&p=438829&viewfull=1#post438829
Благодарю!!
Добрый день! хочу сделать простой видеопример связи между эмуляцией СП307 (на одном компьютере) и эмуляцией ПЛК201 (на другом компьютере) по Modbus TCP. Могут ли Codesys 3.5 и конфигуратор СП это реализовать?
Евгений Кислов
26.04.2025, 17:29
Добрый день! хочу сделать простой видеопример связи между эмуляцией СП307 (на одном компьютере) и эмуляцией ПЛК201 (на другом компьютере) по Modbus TCP. Могут ли Codesys 3.5 и конфигуратор СП это реализовать?
Добрый день.
Можно.
В CODESYS V3.5 нужно использовать не эмуляцию, а виртуальный контроллер.
Пример есть здесь:
https://owen.ru/media/video/proverka_obmena_ber_ralnyh_proborov
В нем и виртуальный контроллер, и эмулятор запускается на одном ПК.
Можно запускать их на разных - достаточно будет прописать в проекте панели IP-адрес второго ПЛК в настройках опрашиваемого slave-устройства.
Добрый день.
Можно.
В CODESYS V3.5 нужно использовать не эмуляцию, а виртуальный контроллер.
Пример есть здесь:
https://owen.ru/media/video/proverka_obmena_ber_ralnyh_proborov
В нем и виртуальный контроллер, и эмулятор запускается на одном ПК.
Можно запускать их на разных - достаточно будет прописать в проекте панели IP-адрес второго ПЛК в настройках опрашиваемого slave-устройства.
а правильно ли я понял, что Codesys 3.5 не может работать в режиме эмулятора конкретного контроллера ОВЕН? (Я пробовал панели ОВЕН и Weintek эмулировать на компьютере и по COM порту (Modbus RTU) подключал а ПР200. и работало.)
Евгений Кислов
26.04.2025, 18:05
а правильно ли я понял, что Codesys 3.5 не может работать в режиме эмулятора конкретного контроллера ОВЕН? (Я пробовал панели ОВЕН и Weintek эмулировать на компьютере и по COM порту (Modbus RTU) подключал а ПР200. и работало.)
В CODESYS V3.5 есть режим эмуляции. Его можно запустить, даже если в проекте выбран таргет-файл контроллера ОВЕН.
Но в режиме эмуляции проверить обмен не получится.
Обмен можно проверить только на виртуальном контроллере, выбрав в дереве проекта таргет-файл виртуального контроллера.
dimap101
27.04.2025, 12:46
Добрый день,
возник вопрос по использованию Modbus TCP (ПЛК200 является slave) для передачи больших чисел - в частности DINT.
Данное число я получаю с серводрайвера по Modbus RTU - в RTU можно указать длину 2 регистра (по 16 байт) и все ок, в программу ПЛК передаются нужные мне значения.
А вот дальше мне нужно их передать на HMI панель (а потом обратно) - а там Modbus TCP, в котором нет возможности одновременного использования 2-х регистров.
Полагаю, что есть возможность взять 2 байта и отправить в один регистр, а 2 других байта - в другой регистр, а на стороне Master - собрать обратно (тоже пока непонятно как).
Возможно кто то уже решал такую задачу и готов поделится опытом.. на всякий случай - HMI панель Kinco F2100
Евгений Кислов
27.04.2025, 13:03
Добрый день,
возник вопрос по использованию Modbus TCP (ПЛК200 является slave) для передачи больших чисел - в частности DINT.
Данное число я получаю с серводрайвера по Modbus RTU - в RTU можно указать длину 2 регистра (по 16 байт) и все ок, в программу ПЛК передаются нужные мне значения.
А вот дальше мне нужно их передать на HMI панель (а потом обратно) - а там Modbus TCP, в котором нет возможности одновременного использования 2-х регистров.
Полагаю, что есть возможность взять 2 байта и отправить в один регистр, а 2 других байта - в другой регистр, а на стороне Master - собрать обратно (тоже пока непонятно как).
Возможно кто то уже решал такую задачу и готов поделится опытом.. на всякий случай - HMI панель Kinco F2100
Добрый день.
Все верно.
Посмотрите, например, как это сделано в п. 4.12 для REAL:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Modbus_v3.2.pdf
Можете по аналогии сделать для DINT.
В дополнение - см. п. 2 здесь:
https://ftp.owen.ru/CoDeSys3/98_Books/CodesysMemoryManipulation.pdf
dimap101
27.04.2025, 14:05
Посмотрите, например, как это сделано в п. 4.12 для REAL:
Спасибо, именно Owen Communication Library мне и не хватало, теперь вроде все понятно.
Теперь как то на стороне HMI аналогичное сотворить )
Добрый день.
Можно.
В CODESYS V3.5 нужно использовать не эмуляцию, а виртуальный контроллер.
Пример есть здесь:
https://owen.ru/media/video/proverka_obmena_ber_ralnyh_proborov
В нем и виртуальный контроллер, и эмулятор запускается на одном ПК.
Можно запускать их на разных - достаточно будет прописать в проекте панели IP-адрес второго ПЛК в настройках опрашиваемого slave-устройства.
Добрый день! я повторил пример из видео (62. Запуск проекта в симуляции и на виртуальном контроллере YouTube). Всё работает. Есть вопрос: мы указываем IP 127.0.0.1 . Я понял, что это IР для Slave устройства. А где мы указываем IP для Master? может для Modbus TCP не нужно указывать IP. И еще вопрос: как эти программы эмуляции ищут друг друга с учетом наличия в компьютере сетевой карты? поясните пожайлуста.
Евгений Кислов
28.04.2025, 10:05
А где мы указываем IP для Master?
Обычно - нигде (в том смысле, что он указывается в настройках контроллера, а не в компонентах обмена).
И еще вопрос: как эти программы эмуляции ищут друг друга с учетом наличия в компьютере сетевой карты?
https://ru.wikipedia.org/wiki/Loopback#%D0%92%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%B B%D1%8C%D0%BD%D1%8B%D0%B9_%D1%81%D0%B5%D1%82%D0%B5 %D0%B2%D0%BE%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80% D1%84%D0%B5%D0%B9%D1%81
kondor3000
28.04.2025, 10:13
Добрый день! я повторил пример из видео (62. Запуск проекта в симуляции и на виртуальном контроллере YouTube). Всё работает. Есть вопрос: мы указываем IP 127.0.0.1 . Я понял, что это IР для Slave устройства. А где мы указываем IP для Master? может для Modbus TCP не нужно указывать IP. И еще вопрос: как эти программы эмуляции ищут друг друга с учетом наличия в компьютере сетевой карты? поясните пожайлуста.
IP 127.0.0.1 и 127.0.0.2 используется для обмена на одном компе, если на разных, то слейву и мастеру надо задать адреса из вашей подсети например 192.168.0.120 и 192.168.0.130
Вторая половина видео, панель мастер, там всё это есть
https://owen.ru/media/video/proverka_obmena_ber_ralnyh_proborov
Добрый день, не первый проект с использованием модбаса, однако проблема в новинку. Один ПЛК 210 получает данные с МВ 210 и с других ПЛК 210. Однако содержимое регистров в ПЛК-слейве и в ПЛК-мастере различается. Также некорректно поменялся бит в регистре МВ 210 (его на данный момент подробно не смотрел, так как полагаю, что у проблемы одно решение). В "состоянии" ошибок передачи нет. Загрузка проекта на другой ПЛК результатов не дала.
Добрый день, не первый проект с использованием модбаса, однако проблема в новинку. Один ПЛК 210 получает данные с МВ 210 и с других ПЛК 210. Однако содержимое регистров в ПЛК-слейве и в ПЛК-мастере различается. Также некорректно поменялся бит в регистре МВ 210 (его на данный момент подробно не смотрел, так как полагаю, что у проблемы одно решение). В "состоянии" ошибок передачи нет. Загрузка проекта на другой ПЛК результатов не дала.
возможно эта ссылка наведет на какие нибудь мысли https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Modbus_v3.2.pdf#%5B%7B%22num%22%3A192%2C%2 2gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C68 %2C603%2C0%5D
84026 84027
Поопрашивал ПЛК-слейв с Modbus Poll, поигрался со значениями в регистре. Почему-то регистры идут крест-накрест. При чтении двух регистров (как через Modbus Poll, так и через ПЛК-мастер) я получаю на выходе 1 октет 1 регистра+2 октет 2 регистра, затем 1 октет 2 регистра и 2 октет 1 регистра.
kondor3000
05.05.2025, 14:28
Поопрашивал ПЛК-слейв с Modbus Poll, поигрался со значениями в регистре. Почему-то регистры идут крест-накрест. При чтении двух регистров (как через Modbus Poll, так и через ПЛК-мастер) я получаю на выходе 1 октет 1 регистра+2 октет 2 регистра, затем 1 октет 2 регистра и 2 октет 1 регистра.
Начиная с версии Codesys 16.3 и 17.3, байты при передаче бит в регистре, переставлены.
Либо переставьте байты в этих регистрах, либо пронумеруйте биты по новому, 0 бит это 8 и т. д.
Начиная с версии Codesys 16.3 и 17.3, байты при передаче бит в регистре, переставлены.
Переставлены в пределах одного регистра ведь? У меня два регистра между собой спутаны. Да и проект не первый, на глаз смотрю, все одно и то же, но сейчас бардак, а до этого в порядке все.
kondor3000
05.05.2025, 15:45
Переставлены в пределах одного регистра ведь? У меня два регистра между собой спутаны. Да и проект не первый, на глаз смотрю, все одно и то же, но сейчас бардак, а до этого в порядке все.
Если регистры не перепутаны вами, то сделайте Очистить всё, Компилировать всё
Евгений Кислов
05.05.2025, 16:35
Поопрашивал ПЛК-слейв с Modbus Poll, поигрался со значениями в регистре. Почему-то регистры идут крест-накрест. При чтении двух регистров (как через Modbus Poll, так и через ПЛК-мастер) я получаю на выходе 1 октет 1 регистра+2 октет 2 регистра, затем 1 октет 2 регистра и 2 октет 1 регистра.
Добрый день.
Чтобы предметно изучить ваш вопрос - напишите, пожалуйста, мне в телеграм (см. в подписи) или на support@owen.ru
Добрый день.
Чтобы предметно изучить ваш вопрос - напишите, пожалуйста, мне в телеграм (см. в подписи) или на support@owen.ru
Спасибо за помощь. Вопрос разрешен. Нужно объявлять переменные в теле программы и привязывать их к модбасу, а не наоборот.
vorobev22rus
14.05.2025, 08:31
Добрый день.
https://owen.ru/forum/showthread.php?t=28167&p=438829&viewfull=1#post438829
Евгений, день добрый! По данному методу получилось осуществить опрос 2 клиентами. Еще вопрос: стала "отваливаться" панель. К сожалению подключиться онлайн к ПЛК и посмотреть количество клиентов нет возможности. У меня предположение что происходит превышение клиентов из-за некорректного подключения/разрыва соединения. Поможет ли мне входная константа c_tSocketTimeout (время разрыва TCP соединения) со значением #5000 (5 сек)?
Евгений Кислов
14.05.2025, 10:05
Евгений, день добрый! По данному методу получилось осуществить опрос 2 клиентами. Еще вопрос: стала "отваливаться" панель. К сожалению подключиться онлайн к ПЛК и посмотреть количество клиентов нет возможности. У меня предположение что происходит превышение клиентов из-за некорректного подключения/разрыва соединения. Поможет ли мне входная константа c_tSocketTimeout (время разрыва TCP соединения) со значением #5000 (5 сек)?
Добрый день.
Затрудняюсь ответить, не видя деталей ситуации. Без подключения к ПЛК сложно будет разобраться в проблеме.
vorobev22rus
14.05.2025, 10:30
Добрый день.
Затрудняюсь ответить, не видя деталей ситуации. Без подключения к ПЛК сложно будет разобраться в проблеме.
Приехал, на объект попробовал. Да помогает. Т. е. если вынуть ethernet или связь некорректно разорвана (без команды tcp RST) то клиент остаётся якобы подключенным (usiCurrentCountClients). Поэтому тайм-аут совета - нужная штука
vorobev22rus
14.05.2025, 10:31
Приехал, на объект попробовал. Да помогает. Т. е. если вынуть ethernet или связь некорректно разорвана (без команды tcp RST) то клиент остаётся якобы подключенным (usiCurrentCountClients). Поэтому тайм-аут совета - нужная штука
"Тайм-аут сокета"
vorobev22rus
15.05.2025, 06:58
"Тайм-аут сокета"
ПОМОГИТЕ!!! Вчера думал все решил. Опять отвалилась связь. Я уже выбился из сил... Проблемы с верхнем уровнем и ПЛК 210
По порядку,
Коммуникации: ПЛК210 - коммутатор - провайдер - коммутатор - ОРС сервер.
Симптомы:
1) пинг есть всегда;
2) на WEB интерфейс возможность подключиться есть всегда;
3) MODBUS TCP через некоторое время работы, сервер (ПЛК210) отвечает на подключение сбросом соединения (RST);
4) когда приезжаю на объект, не могу онлайн подключиться из Codesys
5) если перезагрузить контроллер все работает штатно (OPC сервер опрашивает, Codesys подключается).
Пробовал:
1) Изначально использовал Codesys OPC UA - на нем все работает до тех пор, пока не отключишь/подключишь клиента (превышается количество подписок). Помогала перезагрузка ПЛК, поэтому переделал на Modbus TCP
2) Переделал на Modbus TCP, в настройках стояло максимальное количество клиентов 1, поменял на 3. Из-за переподключений со стороны клиента, превышалось количество подключений. Установил таймаут для сокета (отключение при отсутствии активности клиента)
Сегодня смотрю СКАДА - связи нет... Что проверить? Уже если честно возникает сомнения по работоспособности данного экземпляра и как проверить - не знаю.
Евгений Кислов
15.05.2025, 07:03
ПОМОГИТЕ!!! <...>
Напишите, пожалуйста, на support@owen.ru
МихаилГл
15.05.2025, 08:34
vorobev22rus, а opc ua вырезали полностью?
Есть там глюк с отсутствием элементарной переменной в списке переменных для передачи. После этого такая ерунда и творится.
И второй глюк с невозможностью подписаться на новые переменные, если плк долго был в онлайне, как раз перезагрузкой лечится, но до следующих хотелок добавить переменных или другим клиентом подцепиться.
Хотя, конечно, это и не ваш случай...
vorobev22rus какая Scada? или OPC? кто опрашивает?
для теста, разверните RapidScada, в ней есть настройка отключения соединения после опроса. Сделать так. Настроить опрос на OPC UA контроллера, можно и на Modbus TCP, в ней же поднять в источниках данных OPC UA сервер и вашу Scada подключить к ней. (в общем сделать такую прокладку для теста) и понаблюдать.
vorobev22rus
15.05.2025, 09:15
vorobev22rus, а opc ua вырезали полностью?
Есть там глюк с отсутствием элементарной переменной в списке переменных для передачи. После этого такая ерунда и творится.
И второй глюк с невозможностью подписаться на новые переменные, если плк долго был в онлайне, как раз перезагрузкой лечится, но до следующих хотелок добавить переменных или другим клиентом подцепиться.
Хотя, конечно, это и не ваш случай...
Да символьную конфигурацию для OPC UA удалил, проект перезалил в надежде на Modbus TCP. Подписка на новые переменные мне особо не требовалась, а вот про "отсутствие элементарной переменной" можно поподробней (архив с предыдущим проектом имеется).
vorobev22rus
15.05.2025, 09:21
Я пробовал qModMaster, в дампе трафика - то же самое (инициатор разрыва соединения - ПЛК)
83772
vorobev22rus
15.05.2025, 09:22
vorobev22rus какая Scada? или OPC? кто опрашивает?
для теста, разверните RapidScada, в ней есть настройка отключения соединения после опроса. Сделать так. Настроить опрос на OPC UA контроллера, можно и на Modbus TCP, в ней же поднять в источниках данных OPC UA сервер и вашу Scada подключить к ней. (в общем сделать такую прокладку для теста) и понаблюдать.
Предыдущее сообщение, к тому, что надо искать проблему скорее в журналах ПЛК, а где - не знаю
МихаилГл
15.05.2025, 09:31
Да символьную конфигурацию для OPC UA удалил, проект перезалил в надежде на Modbus TCP. Подписка на новые переменные мне особо не требовалась, а вот про "отсутствие элементарной переменной" можно поподробней (архив с предыдущим проектом имеется).
https://owen.ru/forum/showthread.php?t=28167&page=16&p=435899&viewfull=1#post435899
vorobev22rus
15.05.2025, 09:42
https://owen.ru/forum/showthread.php?t=28167&page=16&p=435899&viewfull=1#post435899
Булевые переменные в конфигурации есть точно, скорее что то другое
Sergey361
15.05.2025, 09:47
Если линию порвать физически и восстановить пока обмен есть?
vorobev22rus
15.05.2025, 09:54
Если линию порвать физически и восстановить пока обмен есть?
Вчера до того как выставил в FB MB_TcpSlave Таймаут сокета 3 сек пробовал - переполнялся активными подключениями и переподключение становилось невозможным. Я и думал, что теперь ПЛК отключает клиентов(по бездействию) и все мои проблемы решены...
vorobev22rus
19.05.2025, 05:57
Вчера до того как выставил в FB MB_TcpSlave Таймаут сокета 3 сек пробовал - переполнялся активными подключениями и переподключение становилось невозможным. Я и думал, что теперь ПЛК отключает клиентов(по бездействию) и все мои проблемы решены...
Товарищи, все получилось, работает как положено и СКАДА и панель оператора. Помогло полностью стереть проект в ПЛК (сброс на заводские), скопилировать и залить заново. Настройки оставил следующие: Менеджер библиотек/OwenCommunication/Settings/g_c_usiMaxCountClients 5; в вызов блока MB_TcpSlave добавил с_tSocketTimeout := TIME#3000ms.
Благодарю неравнодушных!
Доброго дня!
Вопрос в следующем: сконфигурировали OPC UA сервера и загрузили его в СПК210 (или СПК110). При подключении через клиент OPC UA видим следующий путь: DeviceSet -> SPK107 (M01) -> Resources -> Application ....
Почему в пути отображается SPK107 (M01), тогда как используется СПК210 или СПК110 ? Как можно изменить это обозначение или весь путь целиком. Где он формируется?
Евгений Кислов
20.05.2025, 15:17
Добрый день, ALcron.
Почему в пути отображается SPK107 (M01), тогда как используется СПК210 или СПК110 ?
Потому что система исполнения CODESYS (рантайм) во всех СПК одна и та же. В ней указано DeviceName = SPK107 (M01).
Как можно изменить это обозначение или весь путь целиком. Где он формируется?
Для СПК210:
1. Подключитесь к файловой системе контроллера (например, через утилиту WinSCP).
2. Перейдите в директорию /home/root/CODESYS_WRK
3. Откройте файл CODESYSControl_User.cfg
4. Найдите секцию [CmpOPCUAProviderIecVarAccess]
5. Замените
;CustomNodeName=MyOpcUaNodeName
на
CustomNodeName=MyOpcUaNodeName
Т. е. уберите начальную точку с запятой, а вместо MyOpcUaNodeName укажите нужное вам название (латиницей).
5. Сохраните изменения в файле.
6. Перезагрузите контроллер, чтобы они вступили в силу.
Для СПК110 потребуется больше усилий; если вам это требуется - то напишите, пожалуйста, на support@owen.ru
В письме приложите ссылку на этот пост.
Спасибо, всё получилось на СПК210
Задумкин Сергей
02.06.2025, 18:24
Столкнулся с такой проблемой.
ПЛК210-14CS по одному из портов RS485 по modbus rtu опрашивает через разветвитель NLS-485C-5-ST следующие устройства:
1. на 1-м порту разветвителя контроллер газопоршневого электроагрегата (ГПЭА)
2. на втором порту разветвителя 5 шт преобразователей частоты
3. на третьем порту разветвителя БМРЗ в ячейке (пока отключен)
Если контроллер ГПЭА включен, то ПЛК без проблем опрашивает этот контроллер и все ПЧ. Как только контроллер ГПЭА отключают (снимают питание), связь с ним, само собой, теряется - но также теряется связь и со всеми ПЧ. Если контроллер ГПЭА снова включить, то и связь с ПЧ восстанавливается. Если контроллер ГПЭА отключен (связи с ПЧ нет) и его физически отключить от клемм разветвителя, то связь с ПЧ тут же появляется.
Может сталкивался кто с подобным поведением?
In_Da_Cher_A
02.06.2025, 21:34
что мешает вам убрать странный прибор и скоммутировать всю цепь напрямую последовательно как по классике?
адресное пространство одно и тоже, запрос мастера всё равно слушают и слышат все слейвы смысл какой в этой железке для вас?
проблема-то не в овене, а в другом железе
Задумкин Сергей
03.06.2025, 09:11
что мешает вам убрать странный прибор и скоммутировать всю цепь напрямую последовательно как по классике?
адресное пространство одно и тоже, запрос мастера всё равно слушают и слышат все слейвы смысл какой в этой железке для вас?
проблема-то не в овене, а в другом железе
А я и не утверждаю, что проблема в овене, у ПЛК210 вопросов пока нет (кроме работы порта Ethernet1, который как выяснилось на ПЛК210-1х работает через раз).
Смысл в железке появляется когда размещение оборудования не позволяет обвязать все последовательно (или это очень неудобно).
Задумкин Сергей в программе ПЛК организован последовательный опрос устройств ?
Задумкин Сергей
03.06.2025, 10:16
Разумеется
Задумкин Сергей я к тому, что если у вас
Если контроллер ГПЭА отключен (связи с ПЧ нет) и его физически отключить от клемм разветвителя вот это странно.
тут бы снифером стать на линию и посмотреть что происходит когда установка просто отключается, без отключения линии и что происходит, когда вы его физически от линии отключаете.
Ну как вариант, после вашего разветвителя повесить на один порт. Ну звезда получится физическая, да у пуп с ней. Но тоже может что-то показать.
Andrunchic
04.06.2025, 18:28
Добрый вечер мне нужно реализовать синхронный (блокирующий режим обмена) по 485 интерфейсу на ПЛК210
Все доступные библиотеки это делают в асинхронном режиме и тратят на это несколько тактов.
В документе 'Реализация нестандартных протоколов' упоминается библиотека SysCom, но на нее нет никакого описания.
Подскажите как открыть командой Syscom.SysComOpen второй 485 порт контроллера
hcom:=Syscom.SysComOpen(sPOrt:=4 , presult:=err ); так не получается
или подскажите другую документированную библиотеку
Евгений Кислов
04.06.2025, 18:58
Попробуйте так:
hcom:=Syscom.SysComOpen(sPOrt:= SYS_COMPORT4 , presult:=ADR(err) ); // где err имеет тип DWORD или UDINT
Надо вызвать этот код один раз (а не делать это циклически).
Доброе утро. Не могу понять, как работать с coil в Codesys (чтобы другое устройство могло читать данные по 1 функции). Читаю через Modbus Poll функцией 1, 0 адрес. В codesys тоже на все типы данных стоит начальный адрес 0. Объявил bool в задаче, приравнял к 1. Привязывал поочередно ячейки всех типов данных в modbus slave к этой переменной (регистр временного хранения, входной регистр, регистр который coil, дискретный вход. Везде получаю 0, без ошибки неправильного адреса. Slave device соединение видит, после запуска ПЛК и начала опроса загорается зеленым.
Евгений Кислов
05.06.2025, 11:29
Доброе утро. Не могу понять, как работать с coil в Codesys (чтобы другое устройство могло читать данные по 1 функции). Читаю через Modbus Poll функцией 1, 0 адрес. В codesys тоже на все типы данных стоит начальный адрес 0. Объявил bool в задаче, приравнял к 1. Привязывал поочередно ячейки всех типов данных в modbus slave к этой переменной (регистр временного хранения, входной регистр, регистр который coil, дискретный вход. Везде получаю 0, без ошибки неправильного адреса. Slave device соединение видит, после запуска ПЛК и начала опроса загорается зеленым.
Добрый день.
Проще всего в настройках слэйва установить галочку Дискретные битовые области.
Тогда для Сoil'ов в соотнесении будет отображаться отдельная вкладка c названием Обмотки.
Привяжите там свою булевские переменные.
+
Там же справа внизу для параметра Всегда обновлять переменные установите значение Вкл. 2 (Всегда в задаче цикла шины)
Тогда для Сoil'ов в соотнесении будет отображаться отдельная вкладка c названием Обмотки.
У меня вместо обмоток только регистры. И на странице конфигурации, и на странице соотнесения. Codesys 3.5 SP17 Patch 3+ (32bit).
Евгений Кислов
05.06.2025, 12:56
У меня вместо обмоток только регистры. И на странице конфигурации, и на странице соотнесения. Codesys 3.5 SP17 Patch 3+ (32bit).
Значит, вы используете Modbus TCP. Там эта вкладка действительно называется Регистры (что не очень логично, но как уж есть).
В Modbus Serial Device она называется Обмотки.
Добрый день.
Проще всего в настройках слэйва установить галочку Дискретные битовые области.
Тогда для Сoil'ов в соотнесении будет отображаться отдельная вкладка c названием Обмотки.
Привяжите там свою булевские переменные.
+
Там же справа внизу для параметра Всегда обновлять переменные установите значение Вкл. 2 (Всегда в задаче цикла шины)
Данные операции делал, все равно 0 при чтении функцией 1.
Евгений Кислов
05.06.2025, 13:28
Данные операции делал, все равно 0 при чтении функцией 1.
Напишите мне в телеграм, пожалуйста (см. в подписи).
Карбофос
06.06.2025, 12:01
Добрый день.
При настройке обмена между двумя контроллерами cds3.5 через сетевые переменные, в контроллере-получателе сетевые переменные отправителя доступны только для чтения?
Евгений Кислов
06.06.2025, 12:40
Добрый день.
При настройке обмена между двумя контроллерами cds3.5 через сетевые переменные, в контроллере-получателе сетевые переменные отправителя доступны только для чтения?
Добрый день.
Да.
Еслит требуется настроить двухсторонний обмен между ПЛК - то на каждом из них потребуется создать по два списка (отправителя и получателя).
Карбофос
06.06.2025, 15:05
Спасибо, понял.
Подскажите еще такой момент: насколько я помню, СПК1хх (прошивка под SP17) может работать как шлюз для преобразования Modbus RTU в Modbus TCP. Можно ли построить такую схему:
имеются три контроллера СПК110 (СПК1, СПК2, СПК3).
СПК1 и СПК2 связаны друг с другом кабелем RS-485.
СПК2 и СПК3 подключены к одной локальной сети.
Задача: с СПК3 опрашивать по ModbusTCP два других контроллера.
Может ли СПК2 одновременно служить шлюзом между СПК1 и СПК3, и отдавать свои собственные параметры в режиме Modbus TCPSlave на СПК3?
Если да, для этого нужно создать два устройства "ModbusTCP_Server_Device" в СПК, как я понимаю?
//Не спрашивайте только пожалуйста, почему схема построена именно так, я к этому кошмару отношения не имею, но теперь запускать это мне.
Евгений Кислов
07.06.2025, 07:43
...работать как шлюз для преобразования Modbus RTU в Modbus TCP...
Если да, для этого нужно создать два устройства "ModbusTCP_Server_Device" в СПК, как я понимаю?
Достаточно одного с включенным режимом Serial Gateway.
Нюанс - на СПК1 потребуется установить режим контроля четности EVEN.
https://oscat.ru/wp-content/Video/CodesysOneLove/MainPlaylist/046_ModbusTcpSlaveDevice_SerialGateway.mp4
maksonsvforum
10.06.2025, 19:11
Добрый вечер!
Есть задача создать мониторинг учёта электроэнергии на предприятии используя счётчики Меркурий 230 и СПК 210 с последующей передачей данных в owencloud и SCADA-систему по протоколу OPC UA. Количество счётчиков около 30 штук, возможно ли настроить обмен с помощью библиотеки OwenVendorProtocols. Будет ли данная система работать стабильно?
maksonsvforum, не все scada одинаково полезны на кривом OPC UA сервере облака Овен.
Меркурий читается секунд 6, один. У вас все 30 планируется опрашивать при помощи СПК?
Ну это полные данные со счётчика.
maksonsvforum
10.06.2025, 19:39
СПК 210 будет работать в режиме OPC UA сервера с настройкой символьной конфигурации. Если на каждый COM-порт подключить до десяти счётчиков? Проект пока находится на стадии идеи. Хотелось бы знать мнение специалистов.
То есть scada будет опрашивать по opc ua не облако, а СПК? А Облако так же будет опрашивать СПК?
Тогда должно взлететь, вопрос в количестве параметров со счётчиков. Полный набор там порядка 40 сигналов. Если будут нужны только энергии, то кот наплакал.
Почему сразу не читать scada системой счётчики?
Условие Облако Овен?
maksonsvforum
10.06.2025, 22:16
То есть scada будет опрашивать по opc ua не облако, а СПК? А Облако так же будет опрашивать СПК?
Тогда должно взлететь, вопрос в количестве параметров со счётчиков. Полный набор там порядка 40 сигналов. Если будут нужны только энергии, то кот наплакал.
Почему сразу не читать scada системой счётчики?
Условие Облако Овен?
Именно так, SCADA и облако опрашивают СПК. У нас уже есть проект, который работает более года, реализованный на СПК 107, где настроен обмен по OPC UA с owencloud, количество переменных более 60. При подключении к SCADE ничего не взлетает, с СПК 210 думаю проблем в этом плане недолжно быть. Опрашивать все параметры счётчика нет необходимости, только самые необходимые а это порядком 100-150 переменных. Облако Овен хотелось бы использовать, тем более есть возможность использовать Web-визуализацию. Вопрос только в настройке обмена между СПК и Меркурий. Опыта маловато в этом плане.
Я конечно извиняюсь, но 150 сигналов на 30 счётчиков это по 5 на счётчик.
Энергия от сброса A+, R-, R+ это уже 3. Чё вы там ещё в 2 сигнала на 3-х фазном счётчике хотите получить в итоге?
Филькину грамоту? :)
Блин, любители резать сообщения. Давайте будем честными, криво пишите, криво используете. Сделайте адекватный OPC UA сервер как в облаке, так и в оборудовании и народ не будет об этом писать.
dimap101
18.06.2025, 14:23
Возник вопрос по Modbus TCP + Persistent переменные в Codesys 3.5 (контроллер ПЛК200, но особого значения это не имеет).
Есть проект, в котором имеется некоторое количество Persistent переменных, их значения изменяются с HMI панели по Modbus TCP (HMI панель Master) и по идее должны сохраняться в ПЛК.
Все переменные объявлены в блоке PersistentVars и имеют предопределенные значения. Соответственно выполнено соотнесение с каналами Modbus TCP.
Проблема - эти переменные при старте контроллера всега равны 0, несмотря на предопределенные значения и сохраненные значения, даже если Modbus мастер не подключен.
Если подключен - тоже 0, пока с панели не ввести значение.
Библиотека для Modbus TCP встроенная в Codesys используется.
Вопрос - что делать ?
Теоретически наверное можно написать программу на ST с транзитными переменными и контролировать состояние подключенного устройства и/или проверять значения переменных на 0 (хотя это в принципе тоже возможное значение) и только тогда присваивать их значения Persistent переменным...
Просто может проще есть решение - типа поставить галочку "не обновлять значение переменных при отсутствии связи"...
Евгений Кислов
18.06.2025, 15:18
Добрый день.
Воспользуйтесь этой инструкцией:
https://owen.ru/forum/showthread.php?t=28167&p=434909&viewfull=1#post434909
dimap101
18.06.2025, 15:39
Воспользуйтесь этой инструкцией:
Евгений, благодарю вас за ссылку, это именно то что я искал, но самостоятельно не смог найти.
dimap101
20.06.2025, 13:23
Воспользуйтесь этой инструкцией:
Все обновил, проверил - вроде все работает. НО.... теперь в состоянии устройства Modbus_Master_COM_Port (ну и в слейвах тоже) пишет: Лицензия некорректна или отсутствует. ПЛК запущен в демо-режиме.
При этом все работает как надо. Вот вопрос - а этот демо-режим не заблокирует все в самый неподходящий момент ?
Сама надпись не особо напрягает...
Евгений Кислов
20.06.2025, 13:29
Все обновил, проверил - вроде все работает. НО.... теперь в состоянии устройства Modbus_Master_COM_Port (ну и в слейвах тоже) пишет: Лицензия некорректна или отсутствует. ПЛК запущен в демо-режиме.
При этом все работает как надо. Вот вопрос - а этот демо-режим не заблокирует все в самый неподходящий момент ?
Сама надпись не особо напрягает...
Если есть надпись про демо-режим - то драйвер Modbus прекратит работу спустя 30 минут после запуска.
Судя по описанию - у вас в ПЛК повредился файл лицензий.
Напишите, пожалуйста, support@owen.ru - вам помогут.
dimap101
24.06.2025, 17:12
Судя по описанию - у вас в ПЛК повредился файл лицензий.
Поддержка не успела ответить, решил проблему перепрошивкой ПЛК на ту же версию.
TonyMilkers
07.07.2025, 12:25
День добрый.
Контроллер ПЛК210 работает в режиме Modbus-Master через библиотеку OwenCommunications, 3.5.11.7. При запуске программы связь налаживается, но, если Slave теряется (например, перезагружается), то после перезагрузки TCP_Client висит с взведённым xBusy, а xActive не взводит. Попытки поморгать xEnable ситуацию не меняют. Помогает только "Сброс" программы и запуск заново.
Как бы обойтись без перезапуска программы?
Евгений Кислов
07.07.2025, 12:27
День добрый.
Контроллер ПЛК210 работает в режиме Modbus-Master через библиотеку OwenCommunications, 3.5.11.7. При запуске программы связь налаживается, но, если Slave теряется (например, перезагружается), то после перезагрузки TCP_Client висит с взведённым xBusy, а xActive не взводит. Попытки поморгать xEnable ситуацию не меняют. Помогает только "Сброс" программы и запуск заново.
Как бы обойтись без перезапуска программы?
Добрый день.
xEnable должен решать проблему.
Свяжитесь со мной по телеграм, пожалуйста (см. в подписи), и продемонстрируйте эту ситуацию по AnyDesk.
Aleksandr11sk11
17.07.2025, 19:38
Добрый день!
У кого-нибудь есть опыт связи контроллера 210 и привода siemens sinamics dcm?
есть контроллер, есть привод, хочу на него подать:
задание скорости
вкл привод
пуск
пуск назад
квитирование ошибок
и взять с него:
состояние(готов не готов к пуску)
скорость движка
ток якоря
ток возбуждения
в ошибке или нет
ну собственно практически стандартные данные
еще не изучал подробно документацию, но чую что тут не все так просто, есть опыт обмена данными по модбасу с китайскими частотниками ESQ так там в документации более менее все расписано, а вот с сименсом на первый взгляд все слложно.
In_Da_Cher_A
17.07.2025, 21:46
есть контроллер, есть привод, хочу на него подать:подавайте, в чём проблема?
а вот с сименсом на первый взгляд все слложно.по-немецки надо да?
Aleksandr11sk11
18.07.2025, 02:55
подавайте, в чём проблема?
мне кажется в начале сообщения есть очевидный вопрос, может быть вы его не заметили?
могу уточнить: связь имеется ввиду цифровая, а не дискретно-аналоговая.
Можно и по-немецки, если вы разбираетесь в вопросе.
In_Da_Cher_A
18.07.2025, 05:14
могу уточнитьну тогда уточните сразу "тип" связи, а то начинают закрадываться подозрения что немецкий господин не понимает по французски
а если понимает, то повторю - в чём проблема? задавайте вопросы - получайте ответы.
еще не изучал подробно документациювот с этого и стоит начать наверное?
а также с изучения соответствующего раздела форума техподдержки на сименс индастриал афтомейшион
потому как вы сами надеюсь понимаете, что это не форум по ТИА порталу и прочих специализированных софтов для настройки привода.
насколько вы сами оцениваете шансы что здесь есть специалисты по немецкому приводу?
Очевидно проблема в том что там Profibus а не ModBus :-)
In_Da_Cher_A
18.07.2025, 06:21
Очевидно проблема в том что там Profibus а не ModBus :-)или профинет, что я и пытался деликатно намекнуть
учитывая что
контроллера 210тогда это " это было не просто смело это было ***** как смело"
Добрый день!
Появляется ошибка при настройке Modbus TCP Slave устройств в CODESYS 3.5: "Шина не запущена. Данные значения, возможно, неактуальны "
Причем до недавнего времени все было ОК.
Удалял всю конфигурацию, создавал/настраивал новую - ошибка остается.
84936
Party3AH
18.07.2025, 16:11
Добрый день!
Появляется ошибка при настройке Modbus TCP Slave устройств в CODESYS 3.5: "Шина не запущена. Данные значения, возможно, неактуальны "
Причем до недавнего времени все было ОК.
Удалял всю конфигурацию, создавал/настраивал новую - ошибка остается.
84936
Добрый день, слева сверху зелёным "Codesys Control Win v3" - похоже на виртуальный контроллер. Точно подключаетесь к реальному ПЛК?
kondor3000
18.07.2025, 16:13
Добрый день!
Появляется ошибка при настройке Modbus TCP Slave устройств в CODESYS 3.5: "Шина не запущена. Данные значения, возможно, неактуальны "
Причем до недавнего времени все было ОК.
Удалял всю конфигурацию, создавал/настраивал новую - ошибка остается.
Модули у вас подключены? Или думаете это не нужно на виртуальном ПЛК?
Aleksandr11sk11
18.07.2025, 22:15
вот с этого и стоит начать наверное?
а также с изучения соответствующего раздела форума техподдержки на сименс индастриал афтомейшион
потому как вы сами надеюсь понимаете, что это не форум по ТИА порталу и прочих специализированных софтов для настройки привода.
насколько вы сами оцениваете шансы что здесь есть специалисты по немецкому приводу?
спасибо за совет про документацию, Ваша позиция ясна.
По поводу немецкого привода, ну как минимум лол это сименс, один из столпов и гигантов автоматики и приводов, сомневаюсь что тут никто с ними не имел дела, я же не про китайский нонейм спрашиваю или тут пользователи только решают задачи сопряжения контроллеров овна с другой продукцией овен?
Уверен что пользователи этим не ограничены и решают много разнообразных задач!
В частности я смог поженить приводы ESQ, если у кого будут вопросы, можете смело обращаться, ничего там сложного нет.
Еще раз, может на третий раз прочитаете и поймете вопрос: я ищу человека, который имел ОПЫТ взаимодействия приводов семейства Sinamics DCM и контроллеров овен. Если нет, то вопросов пока нет. Буду изобретать велосипед, так как нигде нет руководства типа раз-два-три и все поехало.
Очевидно проблема в том что там Profibus а не ModBus :-)
я так понял там три типа интерфейса можно использовать: Profibus, USS по умолчанию есть на плате, а вот плату с Profinet надо докупать.
в первую очередь интересует возможность связи по профибасу, профинет менее предпочтителен.
в первую очередь интересует возможность связи по профибасу, профинет менее предпочтителен.Ну если вы Profibus без каплера подключите к ПЛК210 то медаль вам однозначно надо будет вручить :-)
Aleksandr11sk11 можете поженить по USS, если не ошибаюсь, там rs485 интерфейс, просто напишите протокол, опять же, в нет найдете. Остальное вам не светит, читайте пост выше.
И тут вряд ли есть те, кто женил Овен с приводами по USS.
In_Da_Cher_A
19.07.2025, 09:30
просто напишите протокол,проще поставить какойнибуль S7-1200 в качестве конвертера USS в Модбас
но тогла смысла в 210 нет вообще
всё остальное бесползная трата времени абсолютно дальше немасшатабируемая
всё равно что выучить язык папуасов - круто, но дальше то что?
In_Da_Cher_A, да вроде он там не шибко заумный. Пишут же опросы приборов, Меркурий, Энергомера и т.д. при работе через COM порт, это чем отличается?
Пусть напишет и поделится, другим будет польза, если тоже понадобится.
Здравствуйте, мне нужно подключить устройство по ModBUS (котёл). Стандартными средствами всё хорошо работает, но есть желание подключить через библиотеку OwenCommunication, фб MB_SerialSlave. Можно прочитать только некоторые регистры, например только 1, 300, 500, так как остальные мне не нужны, или прийдётся считывать всё, что есть.
Вам ФБ MB_SerialRequest нужен
Вам ФБ MB_SerialRequest нужен
Так он же для мастера, а мне слейв нужен.
а у вас котел мастер ?
В стандартных средствах это выглядит так:
84974
Ну так вы мастер в Конфиге, вам и библиотека нужна мастер...
Ну так вы мастер в Конфиге, вам и библиотека нужна мастер...
Да, спасибо
Емельянов Кирилл
15.08.2025, 11:20
Чёт я совсем туплю. Для шаблонов 110ых вкладки "конфигурация" что ли нет? Тогда вопрос: каков период опроса?
85330
Евгений Кислов
15.08.2025, 11:24
Чёт я совсем туплю. Для шаблонов 110ых вкладки "конфигурация" что ли нет? Тогда вопрос: каков период опроса?
85330
См. вкладку Information.
Емельянов Кирилл
16.08.2025, 01:49
См. вкладку Information.
Верно ли, что код шаблона будет исполняться раз в 10мсек, при условии что для задачи цикла шины указано "unspecified", а период вызова задачи с минимальным временем цикла равен 10мсек, но сам опрос будет происходить примерно раз в 100мсек?
8533485335
Что произойдёт с переменными привязанными к каналам модуля MV110-16D_DN при ошибке связи?
Евгений Кислов
16.08.2025, 06:34
код шаблона будет исполняться раз в 10мсек, при условии что для задачи цикла шины указано "unspecified", а период вызова задачи с минимальным временем цикла равен 10мсек
Это верно.
но сам опрос будет происходить примерно раз в 100мсек?
Пока будет получаться - то да. По мере добавления slave-устройств (и, соответственно, увеличения общего количества запросов в рамках данного COM-порта) это значение будет увеличиваться.
Что произойдёт с переменными привязанными к каналам модуля MV110-16D_DN при ошибке связи?
Сохранят свои значения.
korben_um
26.08.2025, 21:51
вопрос может обсуждался, но все же спрошу:
в чем разница если на панели оператора weintek со встроенным контроллером выбрать для общения с плк weintek built in и codesys v3, если они оба работают через символьную конфигурацию?
Евгений Кислов
27.08.2025, 06:14
вопрос может обсуждался, но все же спрошу:
в чем разница если на панели оператора weintek со встроенным контроллером выбрать для общения с плк weintek built in и codesys v3, если они оба работают через символьную конфигурацию?
Это лучше уточнить у техподдержки Weintek или их дистрибьюторов.
вопрос может обсуждался, но все же спрошу:
в чем разница если на панели оператора weintek со встроенным контроллером выбрать для общения с плк weintek built in и codesys v3, если они оба работают через символьную конфигурацию?
Насчет Вентек-Вентек не скажу, но с ПЛК210 оно крайне стремно работает по Кодесису. Поэтому я бы weintek built in использовал.
korben_um
28.08.2025, 21:03
организовывал работу по codesys v3 с другими плк (optimus drive mx308 например) вроде работает адекватно
просто очень часто возникает вопрос как лучше всего организовать общение между hmi и плк для передачи большого количества данных и для быстрого отклика (например индикация каких-то значений в реальном времени) и кроме стандартных (Modbus tcp, opc ua или протокол codesys) я ничего не знаю, и немного не понятно насколько каждый из них может нагружать процессор контроллера. для работы с шиной ethercat например это критично может быть
самый оптимальный для себя вариант я нашел это через modbus tcp но с контролем передачи конкретных регистров в конкретных окнах или в конкретных режимах, протокол понятно как работает поэтому контроля больше (в отличие например от символьной конфигурации, которая я не знаю как работает, какие переменные передаются например и с каким интервалом)
Здравствуйте, подскажите. если нужно опрашивать 10 устройств по двум регистрам нужно создавать 20 ФБSerialRequest, если опрашиваю одним, то данные перезатираются85506 вот опрос двумя ФБ. вот одним85507
Евгений Кислов
01.09.2025, 13:27
Здравствуйте, подскажите. если нужно опрашивать 10 устройств по двум регистрам нужно создавать 20 ФБSerialRequest, если опрашиваю одним, то данные перезатираются85506 вот опрос двумя ФБ. вот одним85507
Добрый день.
1. Достаточно одного экземпляра ФБ
2. Чтобы данные не "перезатирались", нужно организовать в коде машину состояний.
Сейчас: у вас экземпляр ФБ в пределах одного и того же цикла контроллера вызывается несколько раз с разными аргументами.
Надо: делать новый вызов (т. е. отправлять новый запрос) после получения ответа на предыдущий или индикации ошибки
Посмотрите этот вебинар - в нем рассматривается именно ваша задача:
https://owen.ru/media/video/webinar_170625
Добрый день!
Прошу помочь решить вопрос по реализации управления компрессорной установкой с помощью панели СПК210.
https://metrolog.group/compressor
При подключении установки к СПК в ядре следующая запись:
https://iimg.su/i/IOsfz4
Соединение панели и компрессорной установки с помощью кабеля USB A - USB B (Производитель утверждает, что это COM порт)
С панели СПК210-07 требуется:
1. Задание давления
2. Отображение давления на экране панели.
Производитель компрессора предоставил следующий перечень функций управления:
Параметры соединения: 9600-8-n-2
1) RESET\r\n
Сбрасывает плату
2) WRITE\r\n
Запись всех настраиваемых параметров в энергонезависимую память
3) P=?\r\n
Запрос текущего давления. Возвращается в атм.*1 00 (то есть, для 15 атмосфер вернется 01500).
4) Запрос параметров
Pe=?\r\n
Pd=?\r\n
Tmp1=?\r\n
Tmp2=?\r\n
TIME=?\r\n
VTG=?\r\n
5) Установка параметров. Параметр должен состоять из пяти десятичных цифр С ВЕДУЩИМИ НУЛЯМИ!
Pd=12000\r\n
Pe=11000\r\n
6) Pe - (P enable) давление для включения накачки (атмосфер * 100, т.е. 1500 = 15 атмосфер)
Pd - (P disable) давление для выключения после накачки (атмосфер * 100, т.е. 1500 = 15 атмосфер)
Tmp1 - (Temperature 1) - Температура с датчика 1
Tmp2 - (Temperature 2) - Температура с датчика 2
VOLTAGE - количество глобальных ошибок по срабатыванию защиты по снижению питания (когда при работе прибора напряжение понижалось более 3 раз)
VTG - (Voltage) - текущее измеренное напряжение
Евгений Кислов
25.11.2025, 16:05
Zanger, напишите, пожалуйста, мне в телеграм (см. в подписи), чтобы более предметно обсудить вашу задачу.
Подскажите, возможно ли сделать свое сетевое оборудование в CodeSys, чтобы как и на фотографии, было свое оборудование?
86946
kondor3000
28.11.2025, 16:46
Подскажите, возможно ли сделать свое сетевое оборудование в CodeSys, чтобы как и на фотографии, было свое оборудование?
86946
Как на скрине нельзя, но по ТСР вы можете опросить любой сторонний слейв, главное иметь таблицу адресов регистров.
Sergey361
28.11.2025, 18:12
https://forge.codesys.com/drv/io-drivers/doc/SPI/
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot