-
Вложений: 4
Modbus
Добрый день!
Контроллер мзта мс12 по rs485 циклически посылает данные в сом-порт №2 СПК-110 в формате шины Modbus. Но СПК не желает их принимать.
Ошибок не выдаёт, но и значения в регистрах не появляются.
Вложение 46777
Вложение 46778
Вложение 46779
Для проверки поступления данных написал код для прямой работы с портом, используя ФБ COM_CONTROL и COM.Read.
Настройки порта:
Код:
fb_COMcontrol_2
(
xOpen := xOpen2,
xClose := xClose2,
uiPortNumber := 2,
udiBaudrate := 9600,
uiParity := COM.PARITY.NONE,
uiByteSize := 8,
uiStopBits := COM.STOPBIT.ONESTOPBIT
);
Читает: 01 10 FF FF 00 01 02 00 02 3C 91
Расшифровка:
Вложение 46780
Вопрос: почему modbus-устройство не захватывает даые?
-
Добрый день.
Если вы пытаетесь одновременно использовать Modbus Slave в дереве проекта и ФБ COM_CONTROL / COM.Read - то так не получится.
С портом может единовременно работать только кто-то один.
Судя по пакету - мс12 выполняет запись в 65535 регистр. В Modbus Slave в дереве проекта по умолчанию нумерация регистров начинается с нуля, и регистра с таким номером просто нет (но начальный адрес можно изменить в настройках слэйва).
Если вы завтра утром организуете подключение по TeamViewer - то я постараюсь помочь вам разобраться с настройкой обмена.
-
Спасибо за подсказку, разобрался, всё получилось.
Пакет modbus расшифровывал онлайн, адрес FFFF должен был смутить...
Интересный факт: в МЗТА есть параметр "Адрес первой ячейки" - поставил равным 1, в пакете modbus он вставляется как 0 и в СПК тоже идёт как 0.. Что-то, воля ваша, с этим МЗТА не так..
-
Для modbus это нормально.
В некоторых случаях регистры нумеруются с 1, который соответствует адресу 0.
-
Не, это не с МЗТА не так что-то, просто как производитель надумал, так и сделал. У кого-то первым 0, у кого-то 1. Так же как и перестановка байт у разных производителей разные, ну это уже другая история, скорее связана с типом процессора, микроконтроллера и отказ от перестановки в нем, чтобы работало быстрее.
-
Нормально для номеров регистров. Но параметр называется: "Адрес первой ячейки"!