
Сообщение от
Geenerator
.. Это только обработка ошибок
Тут письками меряются? Ну вот. Из текущего
Код:
Alarm1.00 := NOT Station.ControlOk.IN;
Alarm1.01 := NOT Station.ControlOk.Q;
Alarm1.02 := NOT Smi2.Connect;
Alarm1.03 := NOT Mu32R_1.Connect;
Alarm1.04 := NOT Mu32R_2.Connect;
Alarm1.05 := NOT Mv16D.Connect;
Alarm1.06 := NOT Mv8A.Connect;
Alarm1.07 := NOT WB.Connect;
(*TCP*)
Alarm1.08 := NOT Satec1.ClientConnect;
Alarm1.09 := NOT Satec2.ClientConnect;
Alarm1.10 := NOT Satec3.ClientConnect;
(*Alarm.11*)
(*технологические аварии*)
Alarm1.12 := AutoSettingWB.Active;
Alarm1.13 := AutoSettingWB.Step = AutoSettingWB.NOT_FOUND;
Alarm1.14 := AutoSettingWB.Step = AutoSettingWB.ERROR;
Alarm1.15 := NOT Mu32R_1.init;
Alarm1.16 := NOT Mu32R_2.init;
Alarm1.17 := NOT Mv8A.init;
Alarm1.18 := NOT Debug.Connect AND NOT _RUN;
Alarm1.19 := SBA; (*SBA,LOCK,авария KK*)
(*Ввод СН*)
Alarm1.20 := NOT FaseOk;
Alarm1.21 := BBodCH.Fase = FASE_ERR;
Alarm1.22 := BBodCH.Fase = FASE_CBA;
Alarm1.23 := BBodCH.LoUL.Q;
Alarm1.24 := BBodCH.HiUL.Q;
Alarm1.25 := NOT QFK1;
Alarm1.26 := NOT QFK2;
Alarm1.27 := NOT QFK3;
Alarm1.28 := NOT KK1;
Alarm1.29 := NOT KKZ;
Alarm1.30 := NOT QFM;
Alarm1.31 := Reset;
(*Alarm2.00..11 резерв под контроль токов нагрузки -ОПРЕДЕЛИТЬ!!!*)
Alarm2.12 := Connect AND Smoke.Alarm;
Alarm2.13 := Smoke.Fire1;
Alarm2.14 := Smoke.Fire2;
Alarm2.15 := Smoke.Step = Smoke.xRESET_AUTO;
Alarm2.16 := Smoke.Step = Smoke.xRESET_MANUAL;
Alarm2.17 := Connect AND Smoke.Alarm AND NOT Smoke.AccessReset;
Alarm2.18 := Station.Cur > 0 AND Smoke.AutoResetTen.IN; (*сбрасыввет*)
Alarm2.19 := Smoke.AutoReset.IN; (*блокирует*)
Alarm2.20 := NOT Door.CloseOk;
Alarm2.21 := Door.LockQMZ;
(*Alarm2.22*)
Alarm2.23 := Connect AND NOT Door.GS1;
Alarm2.24 := Connect AND NOT Door.GS2;
Alarm2.25 := Door.Gate = Door.OPEN;
Alarm2.26 := Door.Gate = Door.UNDEF; (*неясное состояние ворот*)
Alarm2.27 := MG.FixAlarmGe12Ok.Q; (*QFG/GE12/KG1*)
Alarm2.28 := MG.sbPress1;
Alarm2.29 := MG.sbPress2;
Alarm2.30 := NOT MG.Enable;
Alarm2.31 := MG.Manual.Q;
Alarm3.00 := QMZ[1].SelfAlarm;
Alarm3.01 := NOT QMZ[1].QF;
Alarm3.02 := NOT QMZ[1].SelfAlarm AND QMZ[1].QF AND QMZ[1].Lock;
Alarm3.03 := QMZ[1].AlarmBack.Q;
Alarm3.04 := QMZ[1].Mode = QMZ_OFF;
(*Alarm3.05*)
Alarm3.06 := QMZ[2].SelfAlarm;
Alarm3.07 := NOT QMZ[2].QF;
Alarm3.08 := NOT QMZ[2].SelfAlarm AND QMZ[2].QF AND QMZ[2].Lock;
Alarm3.09 := QMZ[2].AlarmBack.Q;
Alarm3.10 := QMZ[2].Mode = QMZ_OFF;
(*Alarm3.11*)
Alarm3.12 := QMZ[3].SelfAlarm;
Alarm3.13 := NOT QMZ[3].QF;
Alarm3.14 := NOT QMZ[3].SelfAlarm AND QMZ[3].QF AND QMZ[3].Lock;
Alarm3.15 := QMZ[3].AlarmBack.Q;
Alarm3.16 := QMZ[3].Mode = QMZ_OFF;
(*Alarm3.17*)
Alarm3.18 := Temperature.Room.Lock;
Alarm3.19 := NOT Temperature.Room.Lock AND Station.Cur > 0 AND Temperature.Room.AutoReset.IN;
Alarm3.20 := Station.Cur = 0 AND Temperature.Room.AutoReset.IN;
Alarm3.21 := Temperature.Room.TE1.Error;
Alarm3.22 := Temperature.Room.TE1.FixCri.Q;
Alarm3.23 := Temperature.Room.TE1.Hi; (*За 5гр до T_Cri*)
Alarm3.24 := Temperature.Room.TE2.Error;
Alarm3.25 := Temperature.Room.TE2.FixCri.Q;
Alarm3.26 := Temperature.Room.TE2.Hi;
(*Alarm3.27..31*)
Alarm4.00 := NOT Fan[1].QFB;
Alarm4.01 := Fan[1].FixAlarmKMB.Q;
Alarm4.02 := Fan[1].CheckAmper.Lock;
Alarm4.03 := Fan[1].CheckAmper.FixLo.Q;
Alarm4.04 := Fan[1].CheckAmper.FixHi.Q;
Alarm4.05 := NOT Fan[2].QFB;
Alarm4.06 := Fan[2].FixAlarmKMB.Q;
Alarm4.07 := Fan[2].CheckAmper.Lock;
Alarm4.08 := Fan[2].CheckAmper.FixLo.Q;
Alarm4.09 := Fan[2].CheckAmper.FixHi.Q;
Alarm4.10 := NOT Fan[3].QFB;
Alarm4.11 := Fan[3].FixAlarmKMB.Q;
Alarm4.12 := Fan[3].CheckAmper.Lock;
Alarm4.13 := Fan[3].CheckAmper.FixLo.Q;
Alarm4.14 := Fan[3].CheckAmper.FixHi.Q;
Alarm4.15 := NOT Fan[4].QFB;
Alarm4.16 := Fan[4].FixAlarmKMB.Q;
(*Alarm4.17..19*)
Alarm4.20 := M4VS.VS.Alarm;
Alarm4.21 := NOT M4VS.QF;
Alarm4.22 := M4VS.VsAi.Pos <= VS_Ai_POS_ALARM;
Alarm4.23 := M4VS.VS.FixAlarmCloseOff;
Alarm4.24 := M4VS.VS.FixAlarmCloseOn;
Alarm4.25 := M4VS.VS.FixAlarmOpenOff;
Alarm4.26 := M4VS.VS.FixAlarmOpenOn;
(*Alarm4.27..31*)
Alarm5.00 := Connect AND NOT Section[1].TK1;
Alarm5.01 := Connect AND NOT Section[1].TK2;
Alarm5.02 := Section[1].Cur > 0 AND Section[1].AutoReset.IN;
Alarm5.03 := Section[1].Cur = 0 AND Section[1].AutoReset.IN;
Alarm5.04 := Connect AND NOT Section[2].TK1;
Alarm5.05 := Connect AND NOT Section[2].TK2;
Alarm5.06 := Section[2].Cur > 0 AND Section[2].AutoReset.IN;
Alarm5.07 := Section[2].Cur = 0 AND Section[2].AutoReset.IN;
Alarm5.08 := Connect AND NOT Section[3].TK1;
Alarm5.09 := Connect AND NOT Section[3].TK2;
Alarm5.10 := Section[3].Cur > 0 AND Section[3].AutoReset.IN;
Alarm5.11 := Section[3].Cur = 0 AND Section[3].AutoReset.IN;
(*Alarm5.12..15*)
(*Предупры !*)
Alarm5.16 := Debug.ignorUser;
Alarm5.17 := Debug.ignorSpecial;
(*Alarm5.18..19*)
Alarm5.20 := Autotest.Active;
Alarm5.21 := Sirena.Q;
Alarm5.22 := M4VS.Heat.Manual.Q;
(*Alarm5.23..31*)
Alarm6.00 := NOT Satec1.Access;
Alarm6.01 := NOT Satec1.ActualData.Q; (*авария*)
Alarm6.02 := Satec1.ActualData.Q AND Satec1.Original.Montage <> Set.Satec.Montage;
Alarm6.03 := QFM AND Satec1.Fase = FASE_ERR;
Alarm6.04 := Satec1.Fase = FASE_CBA;
(*Alarm6.05*)
Alarm6.06 := NOT Satec2.Access;
Alarm6.07 := NOT Satec2.ActualData.Q; (*авария*)
Alarm6.08 := Satec2.ActualData.Q AND Satec2.Original.Montage <> Set.Satec.Montage;
Alarm6.09 := QFM AND Satec2.Fase = FASE_ERR;
Alarm6.10 := Satec2.Fase = FASE_CBA;
(*Alarm6.11*)
Alarm6.12 := NOT Satec3.Access;
Alarm6.13 := NOT Satec3.ActualData.Q; (*авария*)
Alarm6.14 := Satec3.ActualData.Q AND Satec3.Original.Montage <> Set.Satec.Montage;
Alarm6.15 := QFM AND Satec3.Fase = FASE_ERR;
Alarm6.16 := Satec3.Fase = FASE_CBA;
(*Alarm6.17*)
(*Alarm6.18..19*)
Alarm6.22 := Set.Fan.A_x10[1] = NON_A_x10;
Alarm6.23 := Set.Fan.A_x10[2] = NON_A_x10;
Alarm6.24 := Set.Fan.A_x10[3] = NON_A_x10;
(*Alarm6.25*)
Alarm6.26 := (Set.MaskHide[1] AND 16#0003_FFFF) > 0;
Alarm6.27 := (Set.MaskHide[1] AND 16#FFFC_0000) > 0 OR (Set.MaskHide[2] AND 16#0000_000F) > 0;
Alarm6.28 := (Set.MaskHide[2] AND 16#003F_FFF0) > 0;
(*Alarm6.29*)
Alarm6.30 := Panel.btnUp AND Panel.btnDown;
Alarm6.31 := Panel.SelectN1 AND Panel.SelectN3;
(*Alarm7.00..8.31 (*индивидуальные блокировки объектов, в цикле*)
SetIndyLock();

Сообщение от
Geenerator
..
Валенок, я уже сообщил модератору о вашем не корректном поведении в теме.
...........................