Спасибо за добрые слова.
Вид для печати
Добрый день.
См. п. 10.3.7 (конкретнее - табл. 10.3 на стр. 375):
https://ftp.owen.ru/CoDeSys3/11_Docu..._Visu_v3.0.pdf
Добрый день. ПЛК 200, на SD карте база sqlite. Через Putty командами создал таблицу и заполнил ее данными, проверил - данные записались. Через "веб" перезагрузил ПЛК. Подключился повторно Putty, пытаюсь прочитать данные из созданной таблицы, а ее нету. Почему так ?
UPD
воспроизвел все действия еще раз - таблица созданная осталась
День добрый.
Подскажите как узнать программно, есть ли активные тревоги определеннго класса, например класса "error".
Спасибо!
Добрый день.
Вам нужно изучить эти материалы:
https://content.helpme-codesys.com/e...iveAlarms.html
https://youtu.be/R4mHOPzAkUA
https://ftp.owen.ru/CoDeSys3/21_Exam...anager.package
Здравствуйте!
Правильно ли я понимаю, что если для ПЛК200 создать 2 элемента Modbus_TCP_Master и к каждому добавить по 1 ME210_701, то опрос ME210_701 будет проходить в многопоточном режиме (параллельно) (Вариант А), а если создать только 1 Modbus_TCP_Master и добавить в него оба ME210_701, то опрос будет происходить последовательно (Вариант Б)?
Вариант А:
Modbus_TCP_Master_1
ME210_701_1
Modbus_TCP_Master_2
ME210_701_2
Вариант Б:
Modbus_TCP_Master
ME210_701_1
ME210_701_2
Добрый день.
Пытаюсь преобразовать код ошибки связи в текст и почему-то выводит не правильно
Код:
A111.byModbusError имеет значение 0 т.е. RESPONSE_SUCCESS соответственно должно писать связь востановлена, но пишет что связь потерянаЦитата:
// Ошибка связи с МВ210-101
xModbusError_A111 := A111.byModbusError <> IoDrvModbus.MB_ErrorCodes.RESPONSE_SUCCESS; // проверка наличии ошибки
fbA111Ton(IN := NOT (xModbusError_A111), PT := T#5S); // Таймер на тот случай когда ошибка не постоянная
xModbusStatusAlarm_A111 := NOT (fbA111Ton.Q); // Установка наличии ошибки
IF xModbusError_A111 THEN
wsModbusError_A111 := MB_MODBUS_ERROR_TO_WSTRING(A111.byModbusError) ; // Вывод названии ошибки
wsModbusError_A111 := wConcat (wsModbusError_A111, wsNameA111);
ELSE
xModbusError_A111 := FALSE ;
END_IF
в функции написано правильно
Что делаю не так?Цитата:
CASE eError_Modbus OF
IoDrvModbus.MB_ErrorCodes.RESPONSE_SUCCESS :
MB_MODBUS_ERROR_TO_WSTRING := "Связь востановлена";
.....
IoDrvModbus.MB_ErrorCodes.UNDEFINED :
MB_MODBUS_ERROR_TO_WSTRING := "Потеря связи";
END_CASE
sco-scorpion Если я не туплю и если смотреть код, показанный на картинке, то у тебя же текст ошибки переводится в строку только когда в IF выполняется TRUE.
А когда в IF выполняется ветка ELSE - то строка ошибки не меняется, и остаётся как есть.
На будущее: весь этот код лучше не копипастить под A111 и так далее, а сделать отдельный FB с каким-нить говорящим названием "MBDeviceCheck", и уже его экземпляры вызывать для модулей IO или других устройств. Я так и делаю. Как-нить напишу статью про это...
PS. Евгений Кислов, ахаха, мы в одно время ответили =))