PDA

Просмотр полной версии : Modbus slave в ПЛК



Chupakabra
27.02.2007, 13:59
Пытался я работать с 15-й функцией модбас (ПЛК в режиме slave), т.е. 15(0F Hex) Force Multiple Coils (запись массива бит) и обнаружил следующую особенность.

При попытки записи скажем 3х бит (Coils) с явным указание количества перезаписываемых адресов битов - 3 идет запись 8-битного-блока.

Например создаю в конфигураторе переменную 8-бит, ставлю последний бит в 1. Из клиента посылаю обновление 3х первых бит на 1 (единицы). Последний бит сбрасывает в 0. Т.е. получаетя контроллер в случае функции 15 оперирует с битами по-байтно?

Кроме того, заметил что контроллер не переваривает стартовый адрес не кратный 8 (т.е. нельзя указать, например, 6 и сделать обновление 6,7 битов), возникает ошибка.

С функцией 5 (write single coil) проблем нет :)

Филоненко Владислав
27.02.2007, 15:06
Вот такая вот фича... Зачем так извращаться?

Chupakabra
27.02.2007, 15:32
Вот такая вот фича... Зачем так извращаться?

Может при решении практической задачи это будет "изращением". Но пока я только исследую возможности плк, и эти самые фичи всплывают к месту.

andgik
11.12.2007, 09:37
Здраствуйте . У меня следующая проблема не могу считать с контроллера 4х байтовое слово вот етой программой "OPC драйвер приборов на интерфейсе RS485 по протоколу ModBus", 2х байтовое считывает а 4х не правильно конвертирует что ли