PDA

Просмотр полной версии : ПЛК100 + Lectus Modbus OPC/DDE server



kristow
27.04.2011, 15:27
Добрый день!
Взял ПЛК100, по форуму искал, не нашел похожую тему..

Подскажите, как ПЛК100 и opc-сервер Lectus Modbus OPC/DDE server связать между собой???

По примеру я сделал два значения в ПЛК, которые по написанной проге прибаляют по одному значению... n1=n1+1....
В OPC-сервере прописал эти значения, и там их видно... (рис.Lectus.jpg)
А вот настройка в codesys (рис.конфигурация ПЛК.jpg).
Дайте типа таких скринов примера как вывести в opc-сервер входы и реле ПЛК !!?!?!!?!?

Спасибо всем за ранее!!!

Николаев Андрей
27.04.2011, 15:49
Напрямую входы и выходы в OPC сервер вывести нельзя.
Вам необходимо:
в ModBus Slave добавить еще переменные (необходимое количество)
В программе этим переменным присвоить значения с входов и выходов.

kristow
28.04.2011, 09:17
ага, спасибо!:) уже разобрался... просто думал, что все чуть проще... НО так оказалось даже интереснее :cool:

kristow
28.04.2011, 17:10
к ПЛК100 подключил по modbus МВА8. Прописал входы, отлично отображаются... НО не могу входы вывести в OPC-сервер Lectus...
Прикрепил скрины, чтобы было понятней...:rolleyes:

Подскажите, какую функцию надо использовать в OPC чтобы отображались мои значения из (Float):(
Ветка Float, строка с содержанием REAL
в OPC-сервере для вывода контактов реле использовал boolean, для вывода значений word... а вот для вывода REAL не могу подобрать... помогите пожалуйста!!!

Борисов Дмитрий
01.05.2011, 15:31
Здравствуйте Kristow!
В конфигурации Lectusa для 32 разрядных чисел с плавающей точкой применяйте тип Single float, и уточните условный адрес вашей переменной в ПЛК с учётом выравнивания адресов! В представленном Вами скрине не видно, что стоит в дереве переменных до нужной Вам переменной. Если она там одна то её адрес будет 0, если нет то считайте условный адрес с учётом выравнивания адресов и указывайте этот адрес в сервере.

kristow
01.05.2011, 15:35
Здравствуйте Kristow!
В конфигурации Lectusa для 32 разрядных чисел с плавающей точкой применяйте тип Single float, и уточните условный адрес вашей переменной в ПЛК с учётом выравнивания адресов! В представленном Вами скрине не видно, что стоит в дереве переменных до нужной Вам переменной. Если она там одна то её адрес будет 0, если нет то считайте условный адрес с учётом выравнивания адресов и указывайте этот адрес в сервере.

Спасибо! помогло... :)