ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
23 декабря
1210691 Топик полностью
symbions (21.05.2022 17:38, просмотров: 323) ответил _Илья на 1) В ПЛК есть главный цикл, который описывается в PLC_PRG, который исполняется всегда по кругу сам, независимо не от чего.
1)ТО есть на языке ST 

IF NOT D THEN

SIGNAL();

END_IF

IF NOT K THEN

KOD()

IF (KN AND ON1) THEN

SIGNAL();

END_IF

IF (KOK AND ON1) THEN

OpenDoor();

END_IF

IF (NOT KOK AND ON1) THEN

INIT();

END_IF

END_IF

И в KOD() свои состояния, где ПЛК останется на следующий рабочий цикл?

Щас у меня KOD написан на SFC и в нём реализовано следующее (пример взят из книги Урусова по 1816 - реализация кодового замка):

1)зажигается лампочка на максимум 100 с и начинается ожидания нажатия кнопки.

2)если в процессе ожидания или нажатия кнопки нажали ручку - то лампочка гаснет, выставляется признак KN и происходит выход из KOD

3)если нажали кнопку, то включается звук (пока кнопка нажата) и запускается таймер на 5 с. Человек за 5 с должен успеть нажать кнопку определённое число раз (в первый последовательности 2 раза)

4)по истечении 5 с происходит проверка - если число нажатий совпало с заданным, то КОК = ТРУ и переход на ожидание второй последовательности. Иначе - КОК = ФАЛСЕ и выход

5)если нажали кнопку, то включается звук (пока кнопка нажата) и запускается таймер на 5 с. Человек за 5 с должен успеть нажать кнопку определённое число раз (во второй последовательности 1 раз)

6)по истечении 5 с происходит проверка - если число нажатий совпало с заданным, то КОК = ТРУ и выход. Иначе - КОК = ФАЛСЕ и выход

7)Если кнопку не нажали, то выход с КОК=ФАЛСЕ (вот это я не сделал - забыл)

Всё в эмуляторе работает, как будет на реальном ПЛК - вопос конечно. Но при попытке написания тела КОД на ST - понял, что не ясно как сделать ожидание.


2)По индикаторам -понял, спасибо.

3)По таймеру - если не сложно, можно даже в виде куска кода с 1-двума строчками объяснения на какое время и по какому сигналу запускается

Спасибо