PDA

Просмотр полной версии : PLC200 + ТРМ251(по протоколу овен)



Rostislav_23
03.10.2022, 14:31
Добрый день. Очень нужна помощь людей понимающих и имевших опыт работы с протоколом Овен.
По проекту стоит задача читать и записывать некоторое N-ое количество параметров из 36 устройств ТРМ251 используя ПЛК200 и Simple Scada(при этом чтобы с с самого ТРМ так же можно было изменять эти параметры).
Список параметров R/RW: Пуск/Стоп, № шага, № программы, настройки 1 программы(15 параметров). Параметры R: показания датчика, состояние прибора.
В виду того что нельзя запускать и останавливать программу технолога по протоколу Modbus, использовать приходится протокол ОВЕН. Разобравшись более менее с библиотекой OWENNET, накидал рабочую программу. Устройства опрашиваются, но скорость опроса выходит за рамки допустимого, на 36 устройств опрос выходит более 3 минут. В связи с чем возникает вопрос, как это время сократить и чем вызвана такая низкая скорость опроса(может моя ошибка из за слабого понимания протокола, тк работаю с ним впервые)? Возможно ли вообще добиться скорость опроса как на Modbus RTU?

kondor3000
03.10.2022, 14:55
Добрый день. Очень нужна помощь людей понимающих и имевших опыт работы с протоколом Овен.
По проекту стоит задача читать и записывать некоторое N-ое количество параметров из 36 устройств ТРМ251 используя ПЛК200 и Simple Scada(при этом чтобы с с самого ТРМ так же можно было изменять эти параметры).
Список параметров R/RW: Пуск/Стоп, № шага, № программы, настройки 1 программы(15 параметров). Параметры R: показания датчика, состояние прибора.
В виду того что нельзя запускать и останавливать программу технолога по протоколу Modbus, использовать приходится протокол ОВЕН. Разобравшись более менее с библиотекой OWENNET, накидал рабочую программу. Устройства опрашиваются, но скорость опроса выходит за рамки допустимого, на 36 устройств опрос выходит более 3 минут. В связи с чем возникает вопрос, как это время сократить и чем вызвана такая низкая скорость опроса(может моя ошибка из за слабого понимания протокола, тк работаю с ним впервые)? Возможно ли вообще добиться скорость опроса как на Modbus RTU?
Во первых, скорость обмена можно увеличить до 115200, для ускорения опроса уменьшить время периода чтения и таймаутов. По возможности выстроить регистры по порядку и читать группой, не использовать шаблоны, изменить программу для ускорения опроса.
Но 36 устройств, будут опрашиваться всё равно довольно долго, надо пробовать, возможно получиться читать всё секунд за 5-20.
Как вариант, читать меньше приборов, по 2, 3 разным портам.

И ещё вопрос, а сколько для вас допустимо?

Евгений Кислов
03.10.2022, 16:10
Добрый день.


В виду того что нельзя запускать и останавливать программу технолога по протоколу Modbus,

Это не так.

В карте регистров есть соответствующий бит.

62947

62948

Вероятно, вы имеете в виду, что в готовом шаблоне опроса этой команды нет.
Это связано с тем, что шаблоны не поддерживают функции записи бит.

Но вы можете отказаться от шаблонов и воспользоваться стандартным компонентом Modbus Slave COM Port, добавив в него только нужные запросы (как верно написали выше - лучше использовать групповые запросы)

Rostislav_23
03.10.2022, 16:36
Да, я видел этот в инструкции. Функция записи для пуска останова 0х05 - Forse single coil(запись дискретного выхода). Во второй табличке (которая по какой-то причине называется "коды исключительных ситуаций", явно какая то ошибка) мы видим адреса ячейки регистра с типом данных INT16 (не BOOL, который подошел бы для функции 5). Видя что как то это все не стыкуется я обратился в техподдержку, на что мне сообщили что по протоколу модбас данная функция не работает(я звонил несколько раз, так ответили несколько специалистов ТП ОВЕН). Если есть возможность по модбасу его запускать, то это мне сильно облегчит жизнь.

Евгений Кислов
03.10.2022, 16:42
Да, я видел этот в инструкции. Функция записи для пуска останова 0х05 - Forse single coil(запись дискретного выхода). Во второй табличке (которая по какой-то причине называется "коды исключительных ситуаций", явно какая то ошибка) мы видим адреса ячейки регистра с типом данных INT16 (не BOOL, который подошел бы для функции 5). Видя что как то это все не стыкуется я обратился в техподдержку, на что мне сообщили что по протоколу модбас данная функция не работает(я звонил несколько раз, так ответили несколько специалистов ТП ОВЕН). Если есть возможность по модбасу его запускать, то это мне сильно облегчит жизнь.

В РЭ опечатка. В реальности это coil, и у него, конечно, тип BOOL.
Насчет того, что "мне сообщили что по протоколу модбас данная функция не работает(я звонил несколько раз, так ответили несколько специалистов ТП ОВЕН)" - я завтра уточню этот вопрос и отпишусь.

Евгений Кислов
04.10.2022, 06:47
В РЭ опечатка. В реальности это coil, и у него, конечно, тип BOOL.
Насчет того, что "мне сообщили что по протоколу модбас данная функция не работает(я звонил несколько раз, так ответили несколько специалистов ТП ОВЕН)" - я завтра уточню этот вопрос и отпишусь.

Я уточнил у разработчиков - функция запуска/остановки программы технолога по протоколу Modbus работает, но есть нюанс.
После завершения последнего шага программы прибор переходит в особое состояние - на дисплее мигает END.
И в этот момент запустить новую программу по Modbus уже не получится - потребуется воздействовать на кнопки прибора, чтобы выйти из этого состояния.

Можно поступить так: на последнем шаге программы задать бесконечное время выдержки.
В программе ПЛК считываете номер шага, понимаете, что попали на последний шаг, останавливаете текущую программу и запускаете новую.
Соответственно, для этого варианта вам потребуется потратить один шаг на такую вот манипуляцию.