PDA

Просмотр полной версии : Как работать с Real Output module, используя режим работы By command



Aleksey Belokon
19.11.2011, 20:39
Оборудование ТРМ133М.
Использование этого режима вынужденная мера, при перезапуске ПЛК в нем обнуляются исход переменные и они мне обнуляют в ТРМ133 уставки. Я это так заподозрил.

Решил изменять уставки в режиме By Command отправлять только те значения которые меня устраивают. А вот неполучается, если поменять режим то все работает (конечно команды 0x00ff и 0x00fу убрал) Как правильно в канал отправлять команды?

capzap
19.11.2011, 21:14
:) наверное кучу кода написали, чтоб отправлять по команде, нелегче будет в модбасе держать другую промежуточную переменную, которой будете присваивать значение при определенных условиях из основной переменной

Aleksey Belokon
19.11.2011, 21:17
Думаю легче. Но пока не до этого.... :(

capzap
19.11.2011, 21:34
при перезапуске ПЛК в нем обнуляются исход переменныеа зачем Вы так часто перегружаете ПЛК, в работе же Вы не будете его перегружать и соответственно необходимость в перезаписи уставок отпадет, если же речь о выключении питания, то модбас переменные, так же как ретайн, остаются при включении с теми же значениями

Для отладки можно же использовать эмулятор или PLCWinNT

Aleksey Belokon
19.11.2011, 23:04
:) Да если мне бы опыта набраться... то конечно делал бы все по другому. Но я на живую код проверяю... наверное это не очень хорошо, особенно когда он мне ТРМ-ы обнуляет, начинается бардак с приточками. Но сроки сдачи катострафически приближаются :( Оптимизацией кода буду заниматься уже после сдачи в период тех поддержки. Так может раскажите как работать в режиме By Command, очень поможет. Не могу понять почему он не отправляет переменную, главное к выходу присваивает а дальше ее не отправляет на прибор. Мне бы кусочек кода рабочего подсмотреть :) Вероятно я не так команды на открытие переменной отправляю.

capzap
20.11.2011, 00:58
видимо у меня много больше времени, я с таким способом даже не стал разбираться сразу перешел на библиотеку modbus.lib, так что примером не помогу