Не получается правильно вставить цитирование в ответе. Поэтому делаю вот так:
Цитата участника Cs-Cs :
"1. "неприятный момент с работой с переменными типа REAL (склеивание из двух Wordов)" - это где? Всегда такое было, если это про Modbus.
И опять же, есть способы отобразить свою структуру на Modbus Slave СРАЗУ в нужном формате.
2. "невозможность работы с сетевыми переменными прям в проекте без использования промежуточных виртуальных переменных" - это о чём? О специальных сетевых переменных для связи двух ПЛК между собой через средства CodeSys? Так и их можно сразу в проекте использовать
3. "нюансы с Retain и т.д." - а какие? Не встречал никаких, вовсю использую."
Мой ответ:
1)При опросе ПЛК слейв модбас устройства или в случае если ПЛК будет слейвом (в моем случае сервером для Scada и HMI) нет возможности добавить переменную типа REAL, а приходится добавлять две переменные типа WORD и склеивать из них переменную типа REAL. Для себя решил поступать следующим образом: ПЛК в качестве клиента (мастера) будет опрашивать аналоговые модули (соответственно REAL), а отдавать данные Scada и HMI в виде целочисл. одного WORD. На стороне Scada и HMI эти данные будут преобразованы в REAL.
2) В кодесис 2.3 предположим ПЛК выступает в качестве modbus tcp server. При добавлении Holding registres можно менять его значение клиентом (мастером) и также менять его значение из программы ПЛК. В кодесис 3.5 такое не получается , все не так гладко как в кодесис 2.3
3) В кодесис 2.3 в случае ПЛК модбас сервер или модбас слейв, при добавлении регистра ПЛК он по умолчанию Retain, и это реально прекрасно работает. В кодесис 3.5 и ПЛК 200-210ххх, не все так просто. Нужно добавить библиотеку OwenCommunication, или сделать свои Retain переменные и при старте ПЛК (после перезагрузки) сделать инициализацию этих переменных в регистры опроса. Может есть еще каки методы, я не в курсе, не являюсь квалифицированным специалистом по ПЛК 200-210ххх серии.




Ответить с цитированием