Rem --- eWON start section: Cyclic Section eWON_cyclic_section: Rem --- eWON user (start) Rem --- eWON user (end) End Rem --- eWON end section: Cyclic Section Rem --- eWON start section: Init Section eWON_init_section: Rem --- eWON user (start) TSET 3, 1 TSET 2, 1 TSET 1, 10 OnTimer 1, "GOTO CheckPLCComm" OnTimer 2, "GOTO DOCheck" OnTimer 3, "GOTO Countup" Onchange "DI_200_1","PLC_DI_200@ = DI_200_1@" Onchange "PLC_DO_200","DO_200_1@ = PLC_DO_200@" Onchange "AI_20_FE_01_RAW","PLC_AI_200_FE_01_RAW@ = AI_20_FE_01_RAW@" Onchange "AI_20_TE_01_RAW","PLC_AI_200_TE_01_RAW@ = AI_20_TE_01_RAW@" Onchange "DI_300_1","PLC_DI_300_1@ = DI_300_1@" Onchange "PLC_DO_300_1","DO_300_1@ = PLC_DO_300_1@" Onchange "DI_300_2","PLC_DI_300_2@ = DI_300_2@" Onchange "PLC_DO_300_2","DO_300_2@ = PLC_DO_300_2@" Onchange "AI_30_AIT_01_RAW","PLC_AI_300_AIT_01_RAW@ = AI_30_AIT_01_RAW@" Onchange "AI_30_FE_01_RAW","PLC_AI_300_FE_01_RAW@ = AI_30_FE_01_RAW@" Onchange "AI_30_PE_99_RAW","PLC_AI_300_PE_99_RAW@ = AI_30_PE_99_RAW@" Onchange "AI_30_PE_01_RAW","PLC_AI_300_PE_01_RAW@ = AI_30_PE_01_RAW@" Onchange "AI_30_TE_01_RAW","PLC_AI_300_TE_01_RAW@ = AI_30_TE_01_RAW@" Onchange "AI_30_PE_02_RAW","PLC_AI_300_PE_02_RAW@ = AI_30_PE_02_RAW@" Onchange "AI_30_TE_02_RAW","PLC_AI_300_TE_02_RAW@ = AI_30_TE_02_RAW@" Onchange "AI_30_PE_04_RAW","PLC_AI_300_PE_04_RAW@ = AI_30_PE_04_RAW@" Onchange "AI_30_TE_04_RAW","PLC_AI_300_TE_04_RAW@ = AI_30_TE_04_RAW@" Onchange "DI_800_1","PLC_DI_800_1@ = DI_800_1@" Onchange "PLC_DO_800_1","DO_800_1@ = PLC_DO_800_1@" Onchange "DI_800_2","PLC_DI_800_2@ = DI_800_2@" Onchange "PLC_DO_800_2","DO_800_2@ = PLC_DO_800_2@" Onchange "AI_80_AIT_01_RAW","PLC_AI_800_AIT_01_RAW@ = AI_80_AIT_01_RAW@" Onchange "AI_80_AIT_02_RAW","PLC_AI_800_AIT_02_RAW@ = AI_80_AIT_02_RAW@" Onchange "AI_80_LS_04_RAW","PLC_AI_800_LS_04_RAW@ = AI_80_LS_04_RAW@" Onchange "AI_80_PE_01_RAW","PLC_AI_800_PE_01_RAW@ = AI_80_PE_01_RAW@" Onchange "AI_80_PE_02_RAW","PLC_AI_800_PE_02_RAW@ = AI_80_PE_02_RAW@" Onchange "AI_90_TE_02_RAW","PLC_AI_900_TE_02_RAW@ = AI_90_TE_02_RAW@" Onchange "DI_900_1","PLC_DI_900@ = DI_900_1@" Onchange "PLC_DO_900","DO_900_1@ = PLC_DO_900@" Onchange "AI_90_FE_91_RAW","PLC_AI_900_FE_91_RAW@ = AI_90_FE_91_RAW@" Onchange "AI_90_TE_94_RAW","PLC_AI_900_TE_94_RAW@ = AI_90_TE_94_RAW@" Onchange "DIO_900_1_Heartbeat","PLC_DIO_900_1_Heartbeat@ = DIO_900_1_Heartbeat@" Onchange "AI_900_1_Heartbeat","PLC_AI_900_1_Heartbeat@ = AI_900_1_Heartbeat@" Onchange "DIO_800_1_Heartbeat","PLC_DIO_800_1_Heartbeat@ = DIO_800_1_Heartbeat@" Onchange "AI_800_1_Heartbeat","PLC_AI_800_1_Heartbeat@ = AI_800_1_Heartbeat@" Onchange "DIO_800_2_Heartbeat","PLC_DIO_800_2_Heartbeat@ = DIO_800_2_Heartbeat@" Onchange "DIO_300_1_Heartbeat","PLC_DIO_300_1_Heartbeat@ = DIO_300_1_Heartbeat@" Onchange "AI_300_1_Heartbeat","PLC_AI_300_1_Heartbeat@ = AI_300_1_Heartbeat@" Onchange "DIO_300_2_Heartbeat","PLC_DIO_300_2_Heartbeat@ = DIO_300_2_Heartbeat@" Onchange "AI_300_2_Heartbeat","PLC_AI_300_2_Heartbeat@ = AI_300_2_Heartbeat@" Onchange "DIO_200_1_Heartbeat","PLC_DIO_200_1_Heartbeat@ = DIO_200_1_Heartbeat@" Onchange "AI_200_1_Heartbeat","PLC_AI_200_1_Heartbeat@ = AI_200_1_Heartbeat@" Onchange "DIO_MCCB_1_Heartbeat","PLC_MCCB_DIO_1_Heartbeat@ = DIO_MCCB_1_Heartbeat@" Onchange "DIO_MCCB_2_Heartbeat","PLC_MCCB_DIO_2_Heartbeat@ = DIO_MCCB_2_Heartbeat@" Onchange "AI_MCCB_Heartbeat","PLC_MCCB_AI_Heartbeat@ = AI_MCCB_Heartbeat@" Onchange "AO_MCCB_Heartbeat","PLC_MCCB_AO_Heartbeat@ = AO_MCCB_Heartbeat@" Onchange "DI_MCCB_1","PLC_DI_MCCB_1@ = DI_MCCB_1@" Onchange "DI_MCCB_2","PLC_DI_MCCB_2@ = DI_MCCB_2@" Onchange "PLC_DO_MCCB_1","DO_MCCB_1@ = PLC_DO_MCCB_1@" Onchange "PLC_DO_MCCB_2","DO_MCCB_2@ = PLC_DO_MCCB_2@" Onchange "AI_11_PE_01_RAW","PLC_AI_11_PE_01_RAW@ = AI_11_PE_01_RAW@" Onchange "AI_89_FE_01_RAW","PLC_AI_89_FE_01_RAW@ = AI_89_FE_01_RAW@" Onchange "AI_89_LE_01_RAW","PLC_AI_89_LE_01_RAW@ = AI_89_LE_01_RAW@" Onchange "AI_89_PE_01_RAW","PLC_AI_89_PE_01_RAW@ = AI_89_PE_01_RAW@" Onchange "PLC_AO_89_FCV_03_RAW","AO_89_FCV_03_RAW@ = PLC_AO_89_FCV_03_RAW@" Onchange "DIO_MCCC_1_Heartbeat","PLC_MCCC_DIO_1_Heartbeat@ = DIO_MCCC_1_Heartbeat@" Onchange "DIO_MCCC_2_Heartbeat","PLC_MCCC_DIO_2_Heartbeat@ = DIO_MCCC_2_Heartbeat@" Onchange "AI_MCCC_Heartbeat","PLC_MCCC_AI_Heartbeat@ = AI_MCCC_Heartbeat@" Onchange "DI_MCCC_1","PLC_DI_MCCC_1@ = DI_MCCC_1@" Onchange "DI_MCCC_2","PLC_DI_MCCC_2@ = DI_MCCC_2@" Onchange "PLC_DO_MCCC_1","DO_MCCC_1@ = PLC_DO_MCCC_1@" Onchange "PLC_DO_MCCC_2","DO_MCCC_2@ = PLC_DO_MCCC_2@" Onchange "AI_88_FE_20_RAW","PLC_AI_88_FE_20_RAW@ = AI_88_FE_20_RAW@" Countup: eWonHeart@ = eWonHeart@ + 1 END DOCheck: If PLC_DO_200@ <> DO_200_1@ Then DO_200_1@ = PLC_DO_200@ ENDIF If PLC_DO_300_1@ <> DO_300_1@ Then DO_300_1@ = PLC_DO_300_1@ ENDIF If PLC_DO_300_2@ <> DO_300_2@ Then DO_300_2@ = PLC_DO_300_2@ ENDIF If PLC_DO_800_1@ <> DO_800_1@ Then DO_800_1@ = PLC_DO_800_1@ ENDIF If PLC_DO_800_2@ <> DO_800_2@ Then DO_800_2@ = PLC_DO_800_2@ ENDIF If PLC_DO_900@ <> DO_900_1@ Then DO_900_1@ = PLC_DO_900@ ENDIF If PLC_DO_MCCB_1@ <> DO_MCCB_1@ Then DO_MCCB_1@ = PLC_DO_MCCB_1@ ENDIF If PLC_DO_MCCB_2@ <> DO_MCCB_2@ Then DO_MCCB_2@ = PLC_DO_MCCB_2@ ENDIF If PLC_DO_MCCC_1@ <> DO_MCCC_1@ Then DO_MCCC_1@ = PLC_DO_MCCC_1@ ENDIF If PLC_DO_MCCC_2@ <> DO_MCCC_2@ Then DO_MCCC_2@ = PLC_DO_MCCC_2@ ENDIF If PLC_AO_89_FCV_03_RAW@ <> AO_89_FCV_03_RAW@ Then AO_89_FCV_03_RAW@ = PLC_AO_89_FCV_03_RAW@ ENDIF END CheckPLCComm: IF PLCHeartStore@ = PLCHeart@ Then //Output 0 when PLC Comm drops DO_200_1@ = 0 DO_300_1@ = 0 DO_300_2@ = 0 DO_800_1@ = 0 DO_800_2@ = 0 DO_900_1@ = 0 DO_MCCB_1@ = 0 DO_MCCB_2@ = 0 DO_MCCC_1@ = 0 DO_MCCC_2@ = 0 PRINT "PLC CommLost" ENDIF PLCHeartStore@ = PLCHeart@ END Rem --- eWON user (end) End Rem --- eWON end section: Init Section