Здравствуйте. Возникла необходимость опроса OPC DA|HDA сервером модуля Twido NOZ 485D от Schneider'a. Модуль является модулем дискретных входов, выходов, и в моем случае отслеживает положение ТН, ЗН и ВВ силовых ячеек на подстанции. Встал вопрос, а как собственно его опрашивать? Протокол - Modbus. В мануале вычитал, что, вероятно, в модуле нужно прописать код вида:
LD 1
[%MW0 := 16#0106 ]
[%MW1 := 16#0300 ]
[%MW2 := 16#0203 ]
[%MW3 := 16#0000 ]
[%MW4 := 16#0004 ]
LD 1
AND %MSG2.D
[EXCH2 %MW0:11]
LD %MSG2.E
ST %Q0.0
END
И только после этого прописывать в сервер адрес необходимых для чтения слов (регистров).
Помогите разобраться в теме.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Опрос OPC DA|HDA сервером модуля Twido NOZ 485D от Schneider
Модераторы: Глоб.модераторы, Специалисты SE
-
- здесь недавно
- Сообщения: 34
- Зарегистрирован: 29 июл 2014, 09:01
- Имя: Шапошников Владимир Владимирович
-
- здесь недавно
- Сообщения: 34
- Зарегистрирован: 29 июл 2014, 09:01
- Имя: Шапошников Владимир Владимирович
Re: Опрос OPC DA|HDA сервером модуля Twido NOZ 485D от Schne
Нашел такой же вопрос на другом ресурсе, где довольно подробно ответил многоуважаемый SAS.
Ниже текст ответа:
[%I1.0]--------------------------------------(%MW0.X0)
[%I1.1]--------------------------------------(%MW0.X1)
Далее устанавливаю TWIDO в режим Slave, и настраиваю OPC сервер на запрос holding registers слов 0x4001(соотв-щий состоянию %I1.0), 0x4002(соотв-щий состоянию %I1.1).
Спасибо
Ниже текст ответа:
Таким образом упаковываю переменные в LD Twido:Если SMART-FEP поддерживает Modbus Master, то Twido должен быть Slave. В этой ситуации кроме как настроек порта у Twido больше ничего делать не надо. Тогда перемнные %M0...%M200 будут доступны по Modbus как соответсвующие Coils (ф-ция 01), где первая катушка (0001) будет %M0.
Если SMART-FEP поддерживает Modbus Slave, то придется писать туда все данные с Твидо через коммуник. функции.
Биты можно паковать в переменные %MW, например
[%I1.0]--------------------------------------(%MW0.X0)
[%I1.1]--------------------------------------(%MW0.X1)
Переменные %MW можно считать через Holding Registers (ф-ция 03), где первый регистр (4001) будет %MW0.
[%I1.0]--------------------------------------(%MW0.X0)
[%I1.1]--------------------------------------(%MW0.X1)
Далее устанавливаю TWIDO в режим Slave, и настраиваю OPC сервер на запрос holding registers слов 0x4001(соотв-щий состоянию %I1.0), 0x4002(соотв-щий состоянию %I1.1).
Спасибо