Краткое описание макросов -DCRTC преобразует с задержкой входной бинарный код в целочисленный 1,2,3,4.
Макрос АКС -преобразует бинарный код с концевиков в целочисленные значения и анализирует состояние концевиков ,выделяя из всех (64) значений ,значения соответствующие движению заслонок (это когда на обоих концевиках задвижки нули) и значения соответсвующие поломке концевиков (это когда на двух концевиках одной задвижки две единицы) .
Макрос УЗ- управление задвижками .На один вход корого поступает код целочисленный заданного режима (1,2,3) ,а на второй вход -целочисленный код с концевиков (их состояния) .в макросе устанавливаются и сбрасываются выходные триггера в зависимости от кодов состояния концевиков и кода задания режима .
Аварийными ситуациями считаются - 1)коды с концевиков при которых на обоих концевиках одной задвижки две единицы и когда есть коды соответствующие движению сразу двух задвижек.
2)если дана команда на смену режима ,а задвижка не началась двигаться 1сек
3)если ход задвижки более установленного времени (15сек)
остальное мелочь и так понятно.




Ответить с цитированием