Просмотр полной версии : POU связь
Здравствуйте коллеги!
Написал программу в PLC_PRG. Теперь хочу создать другую программу (или подпрограмму)(новый объект POU).
1) Создал новый объект в POU (рис. 1). Запускаю программу не работает.
2) Создал функциональный блок тоже не работает. (рис.2)
2) Создал новый объект как узел PLC_PRG (рис.3) тоже не работает.
Читаю справку (пример про светофор) и там тоже таким методом добавили новый POU (рис.4).
Подскажите пожалуйста может связь или от PLC_PRG надо включать эти узлы?
Заранее спасибо.
С уважением Билл
Вы наверное думаете чем меньше картинка тем понятнее смысл проблемы, проект выложите с тем что Вы там понаписали
Создать - создали, а объявить и(или) вызвать?
Вы наверное думаете чем меньше картинка тем понятнее смысл проблемы, проект выложите с тем что Вы там понаписали
Вот проект (если есть у вас идеи на счет программы, то буду благодарен)
С уважением Билл
Я не объявил и не вызвал. Объявить надо в PLC_PRG?
Да, объявить в PLC_PRG один или несколько экземпляров, если Et создано как FB. затем нужный экземпляр вызвать все в том же PLC_PRG. Хотя, FB можно и объявлять и вызывать в других FB.
Действие Et_1 - нужно просто вызвать.
Да, объявить в PLC_PRG один или несколько экземпляров, если Et создано как FB. затем нужный экземпляр вызвать все в том же PLC_PRG. Хотя, FB можно и объявлять и вызывать в других FB.
Действие Et_1 - нужно просто вызвать.
Вызвать Et_1 как ? (язык LD)?
(через EN блок?)
Я на ST пишу только. но похоже что вставить как функциональный блок. затем пользовательские программы и выбрать это дейсвие.
Я на ST пишу только. но похоже что вставить как функциональный блок. затем пользовательские программы и выбрать это дейсвие.
На St как вы вызываете программу ? (Я попробовал делать по инструкции "Help", но ошибку выдает).
Я объявил на PLC_PRG переменную (2 программу). Потом написал такой вот код:
PRG2;
PLC_PRG := PRG2.out_var;
Выдает ошибку
С уважением Билл
Вот проект (если есть у вас идеи на счет программы, то буду благодарен)
С уважением Биллсегодня подгрузил проект, первое это всё же надо читать сообщения ошибок компиляции, двойным кликом переходить к месту ошибки и разбираться что не так. У Вас во первых имя программы совпадало с таким же именем булевой переменной в глобальных данных. Во вторых, всем ПОУ давайте более осмысленные имена, Et совсем не подходящий вариант, он почти как ключевое слово языка
Ну и чтоб добавить ПОУ в цепь, Вам нужно создать цепь, правой кнопкой нажать в место обведенное пунктиром на цепи, в контекстном меню выбрать функциональный блок и вставить нужное ПОУ, случай с EN тоже можно использовать но потребуется для программы ставить заглушку из какой нибудь переменной
Ну и чтоб добавить ПОУ в цепь, Вам нужно создать цепь, правой кнопкой нажать в место обведенное пунктиром на цепи, в контекстном меню выбрать функциональный блок и вставить нужное ПОУ, случай с EN тоже можно использовать но потребуется для программы ставить заглушку из какой нибудь переменной
Я пробовал этот метод, но ошибка выдает
виноват, попробовал действительно ошибка, тогда только с EN а выходной хвостик удалите если напрягает и не хочется ставить заглушку, а так вместо вопросительных знаков напишите %M0.0
Как раз так и сделал и сразу хотел написать сюда, вижу вы ответили.
Спасибо вам!
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot