Алгоритм запуска и остановки компрессора
Программа запуска работает в следующей последовательности. С помощью электропривода, открывается задвижка Z1. После включение электропривода выдерживается определенное время (5 секунд), в течение которого должен прийти сигнал об открытии задвижки. Если этого не произошло, напряжение с электропривода снимается и включается сигнализация. После открытия задвижки запускается электродвигатель компрессора К1. При наличии сигнала об аварийном давлении на входе компрессора, запускается сигнализация, отключается питание электродвигателя. При наличии сигнала о недостаточном уровне масла в компрессоре открывается клапан с маслонакопителя, который закрывается как только сигнал пропадет. Система охлаждения К1 состоит из трех контуров, по которым протекают масло, газ и смесь масла с газом. При нормальном режиме работы жидкости циркулируют по малым кругам охлаждения, при появлении сигнала о высокой температуре среды, открывается клапан соответствующей среды и она протекает по дополнительному охлаждающему контуру. При наличии сразу трех сигналов о превышении температуры на протяжении 8 секунд, отключается электродвигатель компрессора К1, включается аварийная сигнализация. При смене компрессора К1 на резервный К2, открывается задвижка Z2, затем промежуточый клапан, затем запускается компрессор К2, работающий по такому же алгоритму что и К1. Во всех режимах работы при включенном агрегате контроллер непре-рывно следит за значениями технологических параметров, и при отклонении любого из них производится аварийное отключение с выдачей звуковой сигнализации и с фиксацией причины аварии на индикаторном поле.
Графы переходов представлены на рисунках 4.1. Программа написана на языке ST с помощью оператора case. Case удобен в использовании, позволяет ориентироваться в программе, вносить в неё изменения при изменении алгоритма.
Результат работы программы
Система программирования ISaGRAF позволяет осуществить эмуляцию работы контроллера при помощи меню Debug - Simulate. Для этого необходимо связать входные и выходные переменные с панелями ввода / вывода (пункт меню Make - I/O Connection) и произвести компиляцию программы (пункт меню Make - Make application).
Рассмотрим нормальный режим работы компрессора К1, при наличии сигналов высокой температуры газа и смеси масла с газом (состояние 406).
Участок графа для данного состояния показан на рисунке:

Участок графа с состоянием 406
Листинг программы для данного состояния:
406:
Uk1:=true;
Uk3:=true;
if ((not Xtk13) and Xtk11) then imp:=4; end_if;
if ((not Xtk11) and Xtk13) then imp:=4; end_if;
if Xtk12 then imp:=64; end_if;
С учетом предсостояния:
4:
Udk1:=true;
Эмуляция должна показывать включенный электродвигатель компрессора и наличие выходных сигналов на открытие клапанов U1 и U3, что соответствует рисунку.

Эмуляция работы программы
Рассмотрим работу программы при неисправной задвижке Z1 (состояние 201).
Участок графа для данного состояния показан на рисунке:

Граф переходов для состояния 201
Листинг программы для данного состояния:
201:
TSTOP(T2);
Uez1:=false;
Uev1:=false;
Iz1:=true;
if Yz then imp:=0; end_if;
Эмуляция должна показывать все отключенные элементы системы и наличие сигнализации на задвижке Z1, что соответствует рисунку 4.6.
Эмуляция работы программы