В прошлый раз мы обсуждали возможность обмена данными между датчиком и ПЛК EVCO по Modbus RTU, а также разобрались, как это настроить. А теперь представим, что нам необходимо реализовать опрос ПЛК четырёх датчиков, соответственно запрограммировать четыре команды. На рис.1 приводится общая структура опроса датчиков. Блок «SM_ModbusMaster» анализирует статус блоков «ModbusMaster_ReadSingleHoldingRegister» и разрешает или запрещает отправлять следующий запрос, ведь, если отправлять запросы просто по времени, например каждую секунду, то, произойдёт коллизия с наложением данных, которая приведёт к ошибкам связи. Программный код блока «SM_ModbusMaster» приводится на рис.2. Блок «SM_ModbusMaster» выдает команду разрешение, которая поступает на блоки «AL_Enable_Slave». Блоки «AL_Enable_Slave» реализуют контроль очередности запросов от мастера устройства к подчинённым устройствам. Программный код блока «AL_Enable_Slave» приводится на рис.3. В подпрограммах «Датчик» находиться структура, которую
Настройка обмена данными между несколькими датчиками и ПЛК EVCO по Modbus RTU
11 ноября 202411 ноя 2024
4
1 мин