Здравствуйте !
Столкнулся со следующей проблемой.
Создал передачу входов/выходов 2-ого ПЛК на 1-ый при помощи сетевых переменных.
На контроллерах другого производителя, все успешно работает, при попытке сделать подобное на ОВЕН ПЛК210-03-CS, происходит неудача.
123.png
День добрый. Возникла такая проблема. Решил воспользоваться библиотекой OwenCommunication для ModbusTCP чтобы получать данные с модулей Mx210. Проблема возникает при использовании ФБ mb_tcpRequest. Обращаюсь к регистру 51 (читаю битовую маску), а блок выдает ошибку ILLEGAL_DATA_ADRESS. Не могу понять из-за чего возникает ошибка, настроил блок по примеру из документа, регистр вроде выбрал правильный (модуль МВ210-202). Пишу на ST, не использую case тк необходимо выполнять все действия в одном и том же цикле
MU210_202_DI_Client(xEnable := TRUE,
tTimeout := T#0S,
sIpAddr := ip_202_di,
uiPort := 502
);
MU210_202_DI_request(
xExecute := MU210_202_DI_Client.xActive,
tTimeout := T#0S,
usiRetry := 3,
hConnection := MU210_202_DI_Client.hConnection,
xIsRtuOverTcpMode := FALSE,
usiUnitId := 1,
eFuncCode := OCL.MB_FC.READ_HOLDING_REGISTERS,
uiDataAddr := 51,
uiDataCount := 1,
pData := ADR(wDImask),
szSize := SIZEOF(wDImask)
);
IF MU210_202_DI_request.xDone OR MU210_202_DI_request.xError THEN
MU210_202_DI_Client.xEnable := FALSE;
END_IF
Надо запрашивать 2 регистра, а не 1.
В реализации модулей - нельзя считать часть параметра (например, "половину" битовой маски входов).
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Спасибо, как-то не обратил на это внимание
Здравствуйте.
Терморегулятор ТРМ10 подключен через преобразователь интерфейсов RS485-USB к ПК. В начале работал на виртуальном контроллере и обращался к регистрам по Modbus RTU, указывая соответствующий COM-порт, к которому подключен прибор. Сейчас уже работаю с СПК207, подключенному к ПК по LAN для отладки и загрузки проекта.
Вопрос: Можно ли при нынешних подключениях как-то обратиться к ТРМ, подключенному к ПК, или же 100% нужно переподключать его напрямую к COM-порту СПК207? Возможно, ответ очевиден, но вдруг есть какие-то варианты
Добрый день.
Вы можете запустить на ПК программу, которая будет выполнять роль шлюза Modbus TCP/Modbus RTU.
Например - в качестве такой программы можно использовать упомянутый вами виртуальный контроллер.
Соответственно, СПК207 будет обращаться к ПК, используя протокол Modbus TCP.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Спасибо. Получается, я на виртуальном контроллере через Modbus RTU задаю каналы с регистрами и привязываю их к переменным, а потом эти переменные как сетевые передаю на СПК207?
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk