Передача по modbus rtu большого количества данных(TIA PORTAL)
-
- Дилетант
- Сообщения: 13
- Зарегистрирован: 19 янв 2022, 11:26
Передача по modbus rtu большого количества данных(TIA PORTAL)
Приветствую Всех! Если нужно передавать по модбас рту данные в количестве 50 дискретных и 50 аналоговых из плк cpu1214c в плк шнайдер электрик, то сразу приходит в голову такая схема: добавляется блок MB_COMM_LOAD и блок MB_SLAVE; создаем DB в который помещаем весь набор данных(дискретные предварительно записываем в слова) и помещаем адрес DB на вход MB_HOLD_REG блока MB_SLAVE, но будет ли такая конструкция работать? + если еще придется записывать несколько holding register из плк шнайдер в сименсе, то это уже функция 23(чтение/запись нескольких регистров), которая ни где в help-e не упоминается(это касается modbus rtu).
Re: Передача по modbus rtu большого количества данных(TIA PORTAL)
SLAVE - это пассивное устройство, оно не командует, оно напротив принимает команды. На стороне S7-1200 (SLAVE) вы просто подготавливаете и постоянно актуализируете данные в датаблоке, а функция MB_SLAVE делает свое дело без какого-либо вмешательства, просто настройте эту функцию и запустите в цикле. Соответственно со стороны MASTER (Schneider Electric) должна приходить команда Read words (04) или другая из допустимых с некоторой регулярностью, необходимой хозяину (MASTERу). Вот на его стороне есть какая-то логика выбора команд, таймеры-задержки отправки команд и т.д.
И да, Modbus у Сименса несколько ограничен.
И да, Modbus у Сименса несколько ограничен.
-
- Дилетант
- Сообщения: 13
- Зарегистрирован: 19 янв 2022, 11:26
Re: Передача по modbus rtu большого количества данных(TIA PORTAL)
Если нужно в слэйве часть данных читать, а часть записывать. Для этого нужно создать блок данных и поместить в него и то и другое? И в блоке данных естественное номерация слов будет идти по порядку начиная с 0 для читаемого слова и заканчивая последним перезаписываемым словом, то в шнайдере по функции 4 будут читаться слова с 0, а по функции 6(16) будут перезаписываться слова с 0 адреса или это должно быть привязано к номеру в блоке данных слэйва в сименс? Или в общем нужно в слэйве разделить данные читаемые и перезаписываемые на разные блоки данных, создав по два нетворка с блоками MB_SLAVE ?
Re: Передача по modbus rtu большого количества данных(TIA PORTAL)
Можно разместить все данные в одном блоке вроде как, но в разных структурах (Struct).
-
- Дилетант
- Сообщения: 13
- Зарегистрирован: 19 янв 2022, 11:26