Спасибо большое, помогло, действительно есть зависимость исключения блока от положения библиотеки в менеджере библиотек. Тогда еще вопрос, как считаете ФБ "OpenPort", в разных библиотеках должны ,в принципе, одинаковые задачи выполнять!?
Вид для печати
Уважаемые коллеги! Помогите разобраться. Нужно из программы сделать функциональный блок. Что то не получается. Подскажите как это правильно делать. В программе есть retain-блок.
Спасибо Kolyan. Буду разбираться. Если есть возможность и время, прошу подсказать, как правильно, и главное без ошибок, создавать ФБ.
И снова здрасьте...
Начал пытаться осваивать ОРС.
На вложенной картинке видно, что есть внешний модуль ModBus, пристегнутый к контроллеру по 485. С него получаю температуру. Модуль slave, PLC - master.
В конфигурации создал модуль модбас слейв, чтобы скада была мастером, и пытаюсь прицепить это дело к ОРС через ethernet.
И тут же возник вопрос с адресацией и типами. В CodeSys про переменные написано:
Как мне получить в том же Lectus'e данные либо с самих датчиков (TEMP01), либо из переменной T01?Код:VAR
T01: REAL; (* Датчик температуры 1 *)
T02: REAL; (* Датчик температуры 2 *)
T03: REAL; (* Датчик температуры 3 *)
END_VAR
(* Смотрим температуру с 1-Wire *)
T01 := INT_TO_REAL(WORD_TO_INT(TEMP01)) / 100.0;
T02 := INT_TO_REAL(WORD_TO_INT(TEMP02)) / 100.0;
T03 := INT_TO_REAL(WORD_TO_INT(TEMP03)) / 100.0;
Неужели для каждой переменной из проекта надо будет в модуле ModBus Slave заводить свою? Или я чего-то недопонимаю?
Из контроллера, но имя уже будет другим ;)
Сеть у Вас уже другая, а контроллер всё тот же. Это значит, что переменные в новой сети должны быть описаны каждая заново и персонально. Не все из проекта, а те которые Вы будете передавать через OPC.
Имена переменных в том же контроллере повторятся не могут. Типы переменных лучше оставить такими же и в новой сети - меньше путаницы. Хотя можете и преобразовать под свои нужды - дело Ваше.
Адреса переменным в новой сети в соответствии с их типом Вы назначаете в контроллере.
В конфигурации OPC Вы заново будете описывать все переменные, давая им имена (можно уже другие, но зачем?) и указывая назначенный в контроллере адрес и тип.
Ну, а потом в SCADA в базу тэгов будете вносить имена OPC переменных. Но там проще - обычно в SCADA есть визард для этого.
Вот как-то так.