Пример (Счетчики)
Сеть 1
A "Enable"; // если нажата кнопка "Enable";
FR "Counter"; // разблокировать счетчик;
Сеть 2
A "Count up"; // если нажата кнопка "Count up";
CU "Counter"; // прибавить 1 к значению счетчика;
Сеть 3
A "Count down"; // если нажата кнопка"Count down";
CD "Counter"; // отнять 1 из значения счетчика;
Сеть 4
A "Set"; // если нажата кнопка "Set";
L C#020; // загрузить в аккумулятор число 20 в BCD коде;
S "Counter"; // запустить счетчик со значением в аккумуляторе;
Сеть 5
A "Reset"; // если нажата кнопка "Reset",
R "Counter"; // перезапустить счетчик на начальное значение
Сеть 6
A "Counter"; // если в счетчике ненулевое значение
= "Counter status";// установить 1 на выход "Counter status"
Задача. Организовать автоматическое движение и подсчет движений двух асинхронно работающих цилиндров А и В. Количество движений цилиндра выводить в таблицу переменных.
Т а б л и ц а 2 - Таблица символов
Символ | Адрес | Тип | Комментарии |
ДН | I0.0 | BOOL | Датчик начального положения цилиндра А |
ДК | I0.1 | BOOL | Датчик конечного положения цилиндра А |
Пуск | I0.2 | BOOL | Кнопка Пуск |
Стоп | I0.3 | BOOL | Кнопка Стоп |
СА | Q0.0 | BOOL | Катушка управления цилиндром А |
СВ | Q0.1 | BOOL | Катушка управления цилиндром В |
Программа:
A “Пуск” //если нажата Пуск
A “ДН” //если цилиндр А в начале
S “CA” //выдвинуть А
R “CB” //задвинуть В
A “ДК” // если цилиндр А в конце
S “CВ” //выдвинуть В
R “CА” //задвинуть А
CU C 1 //прибавить 1 к С 1
А “Стоп” //если нажата Стоп
R “CB” //задвинуть В
R “CA” //задвинуть А
LC C 1 //загрузить С1 в аккумул
T MW20 //выгрузить по адресу MW