А зачем её менять из программы? Определитесь сразу что вы хотите видеть при разрыве соединения... Кстати в настройках модбас есть у Овена в кодесисе биты наличия/отсутствия связи, я им пользуюсь. А про этот момент не знаю.
Вопрос по OCL. Как реализовать запись по триггеру? Я нажимаю на кнопку, xTrigger принимает значение 1, после исполнения ФБ xTrigger обнуляется. Может, это как-то по-другому делается?
Какие подводные камни в использование одного и того же функционального блока несколько раз в пределах одного клиента? Я имею в виду, на одном шаге машины реквест выше пишет регистр, на следующем шаге читает регистры, дальше читает катушки и тд.Цитата:
2:
fbTcpRequest(xExecute := (fbTcpClient.xActive AND xTrigger), tTimeout := T#1S, usiRetry := 3, hConnection := fbTcpClient.hConnection,
xIsRtuOverTcpMode := FALSE, usiUnitId := 1, eFuncCode := ocl.mb_fc.WRITE_SINGLE_REGISTER, uiDataAddr := 0,
uiDataCount := 1, pData := ADR(wWord), szSize := SIZEOF(wWord));
IF fbTcpRequest.xDone OR fbTcpRequest.xError THEN
xTrigger := FALSE;
fbTcpRequest(xExecute := FALSE);
comState := 3;
END_IF
Ваш код выглядит корректно.
Если не забывать сбрасывать экземпляр (xExecute := FALSE) после вызова - то никаких.Цитата:
Какие подводные камни в использование одного и того же функционального блока несколько раз в пределах одного клиента? Я имею в виду, на одном шаге машины реквест выше пишет регистр, на следующем шаге читает регистры, дальше читает катушки и тд.
Вложение 71047
Подскажите, что я делаю не так? Пытался опросить ПР200 через ПЛК210.
Вынес ПР с адресом 10 в отдельный файл POU, но при компиляции CD ругается ошибкой "имя переменной" не является компонентом 'ModbusSlaveComPort_Diag'.
У вас программа и экземпляр слэйва называются одинаково (PR10) - так делать нельзя.
Переименуйте что-то из них.
Спасибо, да помогло.
Ещё вопрос. В символьной конфигурации указан ряд регистров, которые доступны только для записи.
Но они появляются в общем списке параметров в ОК, значения у них совсем некорректные, по факту там значения в десятки раз меньше(скрины из КС и ОК прилагаю).
Как это вылечить? При записи из ОК в эти регистры значения ложатся корректные, но в ОК продолжают оставаться нереальные значения.
Вложение 71108Вложение 71109
п.с. Ещё вопрос, не касающийся этой темы, но раз всё равно вопрос задаю, может сможете ответить.
Можно ли с пр200 забрать температуру процессора или температуру внутри ПР? Т.е. есть ли в ПР датчик температуры, если есть, то как его забрать по модбас?
Доброго дня! Нет опроса от программы частотного преобразователя (iP5A_1) в группе slave устройств на RS485 (горит треугольник без восклицательного знака). Если ставлю его на первое место, то опрос есть(восклицательный знак появляется), но на другом (iP5A) опрос теряется.
Под опросом программы я подразумеваю наличие красного или оранжевого треугольника с восклицательным знаком! В программе при запуске, всегда нету восклицательного знака либо на iP5A_1, либо на iP5A, но при этом если я отклучю оба устройства PChV3_M01 и PChV3_M01_1, то на обоих iP5A_1, на iP5A треугольник с восклицательным знаком появится.
пробовал подключать визически частотник к на iP5A_1, либо на iP5A и тот который без восклицательного знака по прежнему нет опроса, а тот который с восклицательным знаком, там сразу происходит подключение горит зеленый индикатор и все работает! В чем может быть причина?Вложение 71300Вложение 71301Вложение 71302Вложение 71303