Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Добрый день!
Вопрос по циклу опроса ПЛК в режиме Modbus TCP Master - как можно оценить частоту опроса Slave-устройств в случае конфигурации через шаблоны?
Верно ли предположение, что можно сделать опрос через ФБ, тогда скорость опроса будет зависеть от времени цикла задачи?
Для понимания: имеется ПЛК (TCP Master), в проекте через шаблон добавлен преобразователь Ethernet-RS485 (TCP Slave), в котором несколько датчиков RS485 с Modbus RTU на скорости 9600.
Связь неустойчивая, по датчикам постоянные ошибки MB_ERRORCODES - «TCP_COMMUNICATION_ERROR» - TCP Port error. Request was not sent.
Данных много, похоже, что ПЛК слишком часто опрашивает датчики через преобразователь, на скорости 9600 они не успевают отвечать.
Инженер-программист АСУ
Добрый день.
Мы не разрабатывали шаблон какого-либо преобразователя.в проекте через шаблон добавлен преобразователь Ethernet-RS485 (TCP Slave)
Приложите скриншоты вашей конфигурации обмена. Лучше всего - выложите проект.
Укажите модель используемого преобразователя.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Предположительно, предыдущие разработчики снизили умышленно, т.к. не работало на бо'льшей скорости.
Посчитал кол-во регистров со всех устройств - около 500 регистров, это 8000 бит чистой информации (очень много лишнего, планирую сильно уменьшить).
Теперь вопрос возник - сколько раз в секунду ПЛК хочет опрашивать датчики. Если 1 раз в секунду - то скорости 9600 может и хватило бы.
А если цикл 100 мс, то это 10 раз в секунду, а значит 80 кбит, тогда уже 115200 только.
Используются стандартные шаблоны Codesys, конфигурация Ethernet выглядит так:
- Modbus TCP Master (ПЛК)
... - Modbus TCP Slave (Преобразователь WirenBoard MGE v2 - не знаю, как он оказался в этом проекте АСУ ТП)
...... -Modbus Slave, COM Port (датчик с Modbus RTU)
Инженер-программист АСУ
Цикл ПЛК должен быть 10 мс.
Цикл в целом никому не должен и 10 мс не догма. А ошибки идут из-за маленького времени таймаута. Ответ просто не успевает приходить. Плюс возможно витая пара(если она вообще витая там) неграммотно разведена по датчикам (например звездой или без терминаторов). Если все это устраните должно работать.
Добрый вечер, всех с вечером пятницы. Подскажите, вот так будет корректно читаться, с учетом того, что row_data - это массив из двух вордов?
форум.png
Скорее каждый элемент массива row_data по отдельности придется привязать. Точно не могу сказать, OCL использую, мне там проще сделать так как я хочу.
Зачем вообще привязывать что то, у вас массив из 12 WORD, объявите 1 Слейв.jpg
W AT%IW0 : ARRAY [0..11] OF WORD; или
Sensors AT%IW0 : ARRAY [0..11] OF WORD; где AT%IW0 ваш адрес в конфиге
и используйте Sensors[0], Sensors[1] и т. д.
Последний раз редактировалось kondor3000; 26.12.2025 в 20:50.