2 / 2 / 0
Регистрация: 28.04.2011
Сообщений: 43
|
|
1 | |
Создание функционального блока15.03.2018, 09:30. Показов 3561. Ответов 22
Метки нет (Все метки)
Вопрос в создании блока.
Внутри блока пишу одну строку включить выход OUT. В программе вставляю экземпляр этого блока На вход EN блока подключаю М0,0 на выход OUT подключаю Q0,0 Выход OUT не включится пока на EN не попадет сигнал с M0,0 При попадании сигнала на EN выход OUT включается. После этого даже если мы снимаем сигнал с EN выход так и останется включенным. ВПОРОС. Что нужно поменять в коде блока чтобы выход выключался вместе с EN
0
|
15.03.2018, 09:30 | |
Ответы с готовыми решениями:
22
Отладка функционального блока STEP7 Вызов функционального блока (CALL) возможен только с его экземплярным блоком данным или с любым? декомпозиции функционального блока Как создать аналог "функционального блока" |
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
|
|
15.03.2018, 13:15 | 2 |
А Вам не кажется что в Описании Функционального блока должна быть переменная #INPUT, от состояния которой и будет зависеть состояние выхода ? и ей уже присваивайте значение %M0.0. Я думаю так правильно
0
|
2 / 2 / 0
Регистрация: 28.04.2011
Сообщений: 43
|
|
15.03.2018, 13:16 [ТС] | 3 |
М0,0 нужна для того чтобы блок заработал.
Внутри блока я сознательно не стал ничего из входов прописывать. Даже если прописать #INPUT перед OUT то выход не выключится если пропадет EN
0
|
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
|
|
15.03.2018, 13:22 | 4 |
Должен не EN пропадать, а меняться входной сигнал который формирует выход
0
|
2 / 2 / 0
Регистрация: 28.04.2011
Сообщений: 43
|
|
15.03.2018, 13:25 [ТС] | 5 |
Хорошо поставлю вопрос по другому.
ПРЕДСТАВТЕ ЧТО МНЕ НУЖЕН БЛОК С ТАКОЙ ФУНКЦИОНАЛЬНОСТЬЮ: При подаче сигнала на EN блок влючит выход (без посторонних входов) Пои снятии сигнала с EN блок выключит выход.
0
|
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
|
|
15.03.2018, 13:32 | 6 |
Нельзя просто так формировать сигнал, формирование сигнала это результат логической операции, а у Вас ее нет
Добавлено через 55 секунд И зачем Вам "НУЖЕН БЛОК С ТАКОЙ ФУНКЦИОНАЛЬНОСТЬЮ:", формируйте напрямую M0.0.-----(Q0.0)
0
|
2 / 2 / 0
Регистрация: 28.04.2011
Сообщений: 43
|
|
15.03.2018, 13:33 [ТС] | 7 |
Меня интересует как можно считывать сигнал EN
0
|
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
|
|
15.03.2018, 13:58 | 8 |
У Вас получается вот что - вы вызываете блок в котором формируется выход(неправильно, но формируется) далее вы уже не вызываете этот блок, но выход уже сформирован и там так и будет там "1" пока вы ее не сбросите
Опишите подробнее что вы хотите сделать Добавлено через 5 минут Если вы перед EN всё удалите, то блок FB и так вызовется, а так он получается вызывается только при активном меркере M0.0
0
|
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
|
|
15.03.2018, 14:01 | 9 |
Вот ваш вариант
0
|
2 / 2 / 0
Регистрация: 28.04.2011
Сообщений: 43
|
|
15.03.2018, 14:18 [ТС] | 10 |
НЕ НУЖЕН МНЕ ЭТОТ ВАРИАНТ.
Мне нужно более подробно понимать работу блока. В документации Сименса я нашел как управлять выходом ENO. И никак не могу найти как считать состояние EN.
0
|
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
|
|
15.03.2018, 14:42 | 11 |
EN (Enable IN = Разрешающий вход) – это булев вход для блоков в LAD и FBD. Чтобы команда, представленная в виде блока, исполнялась, на этом входе должен присутствовать поток сигнала. В STL команды не имеют входа EN, но вершина стека должна быть логической “1”, чтобы соответствующая команда STL исполнялась.
ENO (Enable Out = Разрешающий выход) – это булев выход для блоков в LAD и FBD. Если у блока имеется поток сигнала на входе EN, и блок выполняет свою функцию без ошибок, то выход ENO передает поток сигнала следующему элементу. Если при исполнении блока обнаруживается ошибка, то поток сигнала завершается на блоке, в котором произошла ошибка.
0
|
2 / 2 / 0
Регистрация: 28.04.2011
Сообщений: 43
|
|
15.03.2018, 14:55 [ТС] | 12 |
EN (Enable IN = Разрешающий вход) – это булев вход для блоков в LAD
Если это булев вход то КАК его прочитать и использовать???????
0
|
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
|
|
15.03.2018, 14:58 | 13 |
ЗАЧЕМ??? Вам его использовать ???
Если он "true" - блок вызывается, если "false" - не вызывается, что тут непонятного?
0
|
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
|
|
15.03.2018, 15:10 | 14 |
Так пойдёт? ))) Q0.1 = EN
0
|
2 / 2 / 0
Регистрация: 28.04.2011
Сообщений: 43
|
|
15.03.2018, 16:51 [ТС] | 15 |
Как бы ответить? Я написал уже не один десяток программ. Что такое M0.0->Q0.0 я знаю.
Все что делается вне блока меня НЕ ИНТЕРЕСУЕТ. МЕНЯ ИНТЕРЕСУЕТ КАК СЧИТАТЬ EN Я писал программы на контроллерах Дельта. Там нужная мне проблема решалась гораздо проще. Сейчас начал плотно изучать Сименс. Поэтому хочу узнать только как считывать EN . Больше ничего на данном этапе изучения.
0
|
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
|
|
15.03.2018, 17:04 | 16 |
ну вы приведите пример как это можно использовать, может кто-нибудь ответит
Например какое количество раз вызван блок- в предыдущем посте на место Q0.1 цепляете счетчик и считаете
0
|
2 / 2 / 0
Регистрация: 28.04.2011
Сообщений: 43
|
|
15.03.2018, 17:39 [ТС] | 17 |
Чтобы понять КАК это можно использовать, нужно знать КАК это работает.
А ответа я пока не получил.
0
|
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
|
|
15.03.2018, 22:07 | 18 |
Если он "true" - блок вызывается, если "false" - не вызывается, что тут непонятного?
0
|
Почетный модератор
|
|
20.03.2018, 07:44 | 19 |
все очень просто.
чтение входов - выполнение цикла программы - запись выходов - в первом цикле вы ставите меркер м. выход записывается. во втором вы меркер снимаете, блок более не вызывается, состояние выхода не меняется.
0
|
91 / 29 / 6
Регистрация: 17.03.2016
Сообщений: 212
|
|
20.03.2018, 11:11 | 20 |
Сообщение было отмечено magirus как решение
Решение
Немного дополню:
После рестарта CPU и перед первым выполнением OB 1 операционная система пересылает сигнальные состояния выходной таблицы образа процесса в выходные модули и принимает сигнальные состояния входных модулей во входную таблицу образа процесса. Затем следует выполнение ОВ 1, где входы обычно комбинируются между собой, и формируются выходы. После завершения ОВ 1 начинается новый цикл с обновления образа процесса. Автору рекомендую начать с книг Ганса Бергера
1
|
20.03.2018, 11:11 | |
20.03.2018, 11:11 | |
Помогаю со студенческими работами здесь
20
Создание собственного функционального класса Delphi 7: создание функционального калькулятора с использованием класса Создание блока Создание блока Создание блока Создание блока CSS Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |