CoDeSys+еŒ Ё@@2.3.9.11€@ConfigExtensionh CommConfigEx7 CommConfigExEndME•IB%QB%ME_EndCMЉCM_EndCTХџџџџџџџџCT_EndPмP_EndCTїџџџџџџџџCT_EndPP_EndCT)џџџџџџџџCT_EndP@P_EndCT[џџџџџџџџCT_EndPrP_EndCTџџџџџџџџCT_EndPЄP_EndCTПџџџџџџџџCT_EndPжP_EndCTёџџџџџџџџCT_EndPP_EndCT#џџџџџџџџCT_EndP:P_EndCTUџџџџџџџџCT_EndPlP_EndCT‡џџџџџџџџCT_EndPžP_EndCTЙџџџџџџџџCT_EndPаP_EndCTыџџџџџџџџCT_EndPP_EndCTџџџџџџџџCT_EndP4P_EndCTOџџџџџџџџCT_EndPfP_EndCTџџџџџџџџCT_EndЈIB%CCВCC_EndCTЮџџџџџџџџCT_Endмрфшь№єјIX%CCCC_EndCT;џџџџџџџџCT_EndbIX%CClCC_EndCTˆџџџџџџџџCT_EndЏIX%CCЙCC_EndCTеџџџџџџџџCT_EndќIX%CCCC_EndCT"џџџџџџџџCT_EndIIX%CCSCC_EndCToџџџџџџџџCT_End–IW%CC CC_EndCTМџџџџџџџџCT_EndЪЮвжкотцъюђіњў#IW%CC-CC_EndCTIџџџџџџџџCT_EndW[_cgkosw{ƒ‡‹“АQB%CCКCC_EndCTжџџџџџџџџCT_Endфшь№єјќQX%CC'CC_EndCTCџџџџџџџџCT_EndjQX%CCtCC_EndCTџџџџџџџџCT_EndЗQX%CCСCC_EndCTнџџџџџџџџCT_EndQX%CCCC_EndCT*џџџџџџџџCT_EndQQX%CC[CC_EndCTwџџџџџџџџCT_EndžQX%CCЈCC_EndCTФџџџџџџџџCT_EndыQX%CCѕCC_EndCT џџџџџџџџCT_End8 QX%CCB CC_EndCT^ џџџџџџџџCT_EndMEГ IB%QB%ME_EndCMЧ CM_EndCTу џџџџџџџџCT_End IW%CC CC_EndCT0 џџџџџџџџCT_EndW IW%CCa CC_EndCT} џџџџџџџџCT_EndЄ IW %CCЎ CC_EndCTЪ џџџџџџџџCT_Endё IW %CCћ CC_EndCT џџџџџџџџCT_End> IW%CCH CC_EndCTd џџџџџџџџCT_End‹ IW%CC• CC_EndCTБ џџџџџџџџCT_Endи IW%CCт CC_EndCTў џџџџџџџџCT_End% IW%CC/ CC_EndCTK џџџџџџџџCT_EndME  IB%QB%ME_EndCMД CM_EndCTа џџџџџџџџCT_Endї IW%CC CC_EndCT џџџџџџџџCT_EndD IW%CCN CC_EndCTj џџџџџџџџCT_End‘ IW%CC› CC_EndCTЗ џџџџџџџџCT_Endо IW%CCш CC_EndCTџџџџџџџџCT_End+IW%CC5CC_EndCTQџџџџџџџџCT_EndxIW %CC‚CC_EndCTžџџџџџџџџCT_EndХIW"%CCЯCC_EndCTыџџџџџџџџCT_EndIW$%CCCC_EndCT8џџџџџџџџCT_EndMEIB&%QB%ME_EndCMЁCM_EndCTНџџџџџџџџCT_EndфIW&%CCюCC_EndCT џџџџџџџџCT_End $(,048<@DHLPTMEŸIB(%QB%ME_EndCMГCM_EndCTЯџџџџџџџџCT_EndME$IB(%QB%ME_EndCM8CM_EndCTTџџџџџџџџCT_EndMEЉIB(%QB%ME_EndCMНCM_EndCTйџџџџџџџџCT_EndME.IB(%QB%ME_EndCMBCM_EndCT^џџџџџџџџCT_EndConfigExtensionEnd/@4x+L +@ЭЭЭЭЭЭЭЭkИ:G'0@ NC:\PROGRAM FILES\COMMON FILES\CAA-TARGETS\MOELLER\LIB_COMMON\XS40_MOLLERFB.LIB DATASCALEERR_ZERO§џERR_IR§џERR_OR§џERR_OLL§џSTA_ZERO§џSTA_OLL§џSTA_OLH§џSTA_IRB§џSTA_IRE§џx_Active§џ i_SetInputRangeBegin§џ!i_SetInputRangeEnd§џ"i_SetOutputLimitLow§џ#i_SetOutputLimitHigh§џ$r_FaktorSteigung§џ%i_FaktorOffset§џ&SetTrig R_TRIG§џ'Set§џ InputValue§џInputRangeBegin§џ InputRangeEnd§џ OutputRangeBegin§џ OutputRangeEnd§џ OutputLimitLow§џ OutputLimitHigh§џ  OutputValue§џStatus§џError§џHCюA€ џџџџ DATCONCATXtime_ms§џtime_s§џtime_m§џtime_h§џ tod_timeTOD§џ dw_date_d§џ dw_date_m§џ dw_date_y§џ dw_date_g§џ dw_timeTOD§џ tod_OutputTOD§џdate_DAT§џdt_YEAR§џ ui_year_abs§џ x_leap_year§џ! ui_leap_days§џ"Second§џMinute§џHour§џ Day§џ Month§џ Year§џ  OutputDAT§џError§џHCюA€ џџџџ DATECONCAT tod_timeTOD§џ dw_date_d§џ dw_date_m§џ dw_date_y§џ dw_date_g§џ dw_timeTOD§џ tod_OutputTOD§џdate_DAT§џdt_YEAR§џ ui_year_abs§џ x_leap_year§џ ui_leap_days§џDay§џMonth§џYear§џ OutputDATE§џ Error§џ HCюA€ џџџџ DATESPLIT dw_day_leap_g§џ dw_day_month§џdw_day_g§џdw_year_number§џ dw_date_rest§џ dw_date_g§џ dw_date_y§џdw_year_offset_seconds§џ dw_leap_block§џdw_leapblocks_seconds§џdw_day_seconds€Q§џdw_year_seconds€3с§џdw_offset_seconds_73ьЄ§џdw_leapblock_seconds€†§џ  InputDate§џDay§џ Month§џ Year§џ Error§џ HCюA€ џџџџ DATSPLITX dw_date_g§џ dw_date_rest§џ dw_date_y§џ dw_leap_block§џdw_day_g§џdw_year_number§џdw_leapblocks_seconds§џ dw_day_leap_g§џ dw_day_month§џdw_year_offset_seconds§џ dw_time_rest§џdw_hours§џ dw_minuts§џ dw_day_seconds€Q§џ#dw_year_seconds€3с§џ$dw_offset_seconds_73ьЄ§џ%dw_leapblock_seconds€†§џ&InputDAT§џSecond§џ Minute§џ Hour§џ Weekday§џ sunday = 0, monday=1,...Day§џMonth§џYear§џError§џHCюA€ џџџџFIFOBX Fifoarray €§џ InputCounter§џ OutputCounter§џNumberOfElements_limited§џR_Trig_FillPulse R_TRIG§џR_Trig_ReadOutPulse R_TRIG§џ FillPulse§џ ReadOutPulse§џReSet§џ DataInput§џNumberOfElements§џ1 to 128Full§џ Empty§џ DataOutput§џ ElementsIncluded§џ HCюA€ џџџџFIFOWX Fifoarray €§џ InputCounter§џ OutputCounter§џNumberOfElements_limited§џR_Trig_FillPulse R_TRIG§џR_Trig_ReadOutPulse R_TRIG§џ FillPulse§џ ReadOutPulse§џReSet§џ DataInput§џNumberOfElements§џ1 to 128Full§џ Empty§џ DataOutput§џ ElementsIncluded§џ HCюA€ џџџџ IEEE_TO_REALpt_Real§џdw_IEEE§џEXPO_In§џ Mant_2_In§џ Mant_1_In§џ Mant_0_In§џ Real_Out§џ Error§џ HCюA€ џџџџLIFOBX Lifoarray €§џNumberOfElements_limited§џR_Trig_FillPulse R_TRIG§џR_Trig_ReadOutPulse R_TRIG§џ FillPulse§џ ReadOutPulse§џReSet§џ DataInput§џNumberOfElements§џ1 to 128Full§џ Empty§џ DataOutput§џ ElementsIncluded§џ HCюA€ џџџџLIFOWX Lifoarray €§џNumberOfElements_limited§џR_Trig_FillPulse R_TRIG§џR_Trig_ReadOutPulse R_TRIG§џ FillPulse§џ ReadOutPulse§џReSet§џ DataInput§џNumberOfElements§џ1 to 128Full§џ Empty§џ DataOutput§џ ElementsIncluded§џ HCюA€ џџџџ MI4NETDP16 ui_Offset§џ ui_DataLen§џi§џpt_MBptr§џui_MV4_DataByteNr€§џb_Status§џ b_ar_IB §џb_ar_QB §џHCюA€ џџџџ MI4NETDP32 ui_Offset§џ ui_DataLen§џi§џpt_MBptr§џui_MV4_DataByteNr€§џb_Status§џ b_ar_IB §џb_ar_QB §џHCюA€ џџџџMS_TIMEFALLING x_set§џSetzflagx_hold§џHoldflagx_IN§џ Timer set/runx_Q§џ Timer Ausgangx_flanke§џTrigger Eingang x_flanke_Q§џTrigger Ausgangtime_ST§џgespeicherte ElapsedTimetime_PT§џStartzeit interntime_ET§џRestzeit interntime_ETQ§џRestzeit Ausgang fb_flanke R_TRIG§џ Setzflankefb_TimeFalling TOF§џZeitglied AbfallverzіgerungSet§џ" Startbedingung, steigende Flanke ReSet§џ Rќcksetzbedingung Hold§џ Zeitunterbrechung PresetTime§џ Zeit-Sollwert in Millisekunden  OutputControl§џ  Steuerausgang ElapsedTime§џ  Zeit-Istwert in Millisekunden HCюA€ џџџџ MS_TIMERISING x_set§џSetzflagx_hold§џHoldflagx_IN§џ Timer set/runx_Q§џ Timer Ausgangx_flanke§џTrigger Eingang x_flanke_Q§џTrigger Ausgangtime_ST§џgespeicherte ElapsedTimetime_PT§џStartzeit interntime_ET§џRestzeit interntime_ETQ§џRestzeit Ausgang fb_flanke R_TRIG§џ Setzflanke fb_TimeRising TON§џZeitglied AnzugsverzіgerungSet§џ" Startbedingung, steigende Flanke ReSet§џ Rќcksetzbedingung Hold§џ Zeitunterbrechung PresetTime§џ Zeit-Sollwert in Millisekunden  OutputControl§џ  Steuerausgang ElapsedTime§џ  Zeit-Istwert in Millisekunden HCюA€ џџџџ MV4NETDP38 ui_Offset§џ ui_DataLen§џi§џpt_MBptr§џui_MV4_DataByteNr€§џb_Status§џ b_ar_IB %§џb_ar_QB %§џHCюA€ џџџџ MV4NETDP70 ui_Offset§џ ui_DataLen§џi§џpt_MBptr§џui_MV4_DataByteNr€§џb_Status§џ b_ar_IB E§џb_ar_QB E§џHCюA€ џџџџ REAL_TO_IEEEpt_IEEE§џdw_IEEE§џReal_In§џEXPO_Out§џ Mant_2_Out§џ Mant_1_Out§џ Mant_0_Out§џ HCюA€ џџџџS40_16BITCOUNTERForward_R_Trig R_Trig§џBackward_R_Trig R_Trig§џ Set_R_Trig R_Trig§џForward§џBackward§џSet§џReSet§џ InputValue§џZero§џ OutputValue§џ HCюA€ џџџџS40_32BITCOUNTERForward_R_Trig R_Trig§џBackward_R_Trig R_Trig§џ Set_R_Trig R_Trig§џForward§џBackward§џSet§џReSet§џ InputValue§џZero§џ OutputValue§џ HCюA€ џџџџ S_TIMEFALLING x_set§џSetzflagx_hold§џHoldflagx_IN§џ Timer set/runx_Q§џ Timer Ausgangx_flanke§џTrigger Eingang x_flanke_Q§џTrigger Ausgangtime_ST§џgespeicherte ElapsedTimetime_PT§џStartzeit interntime_ET§џRestzeit interntime_ETQ§џRestzeit Ausgang fb_flanke R_TRIG§џ Setzflankefb_TimeFalling TOF§џZeitglied AbfallverzіgerungSet§џ" Startbedingung, steigende Flanke ReSet§џ Rќcksetzbedingung Hold§џ Zeitunterbrechung PresetTime§џ Zeit-Sollwert in Millisekunden  OutputControl§џ  Steuerausgang ElapsedTime§џ  Zeit-Istwert in Millisekunden HCюA€ џџџџ S_TIMERISING x_set§џSetzflagx_hold§џHoldflagx_IN§џ Timer set/runx_Q§џ Timer Ausgangx_flanke§џTrigger Eingang x_flanke_Q§џTrigger Ausgangtime_ST§џgespeicherte ElapsedTimetime_PT§џStartzeit interntime_ET§џRestzeit interntime_ETQ§џRestzeit Ausgang fb_flanke R_TRIG§џ Setzflanke fb_TimeRising TON§џZeitglied AnzugsverzіgerungSet§џ" Startbedingung, steigende Flanke ReSet§џ Rќcksetzbedingung Hold§џ Zeitunterbrechung PresetTime§џ Zeit-Sollwert in Millisekunden  OutputControl§џ  Steuerausgang ElapsedTime§џ  Zeit-Istwert in Millisekunden HCюA€ џџџџSR_X uiCounter§џNumberOfElements_limited§џR_Trig_ForwardPulse R_TRIG§џR_Trig_BackwardPulse R_TRIG§џ ReSet_R_Trig R_TRIG§џ ForwardPulse§џ BackwardPulse§џReSet§џ ForwardData§џ BackwardData§џNumberOfElements§џ1 to 128Output €§џ HCюA€ џџџџSRB_X uiCounter§џNumberOfElements_limited§џR_Trig_ForwardPulse R_TRIG§џR_Trig_BackwardPulse R_TRIG§џ ReSet_R_Trig R_TRIG§џ ForwardPulse§џ BackwardPulse§џReSet§џ ForwardData§џ BackwardData§џNumberOfElements§џ1 to 128Output €§џ HCюA€ џџџџSRW_X uiCounter§џNumberOfElements_limited§џR_Trig_ForwardPulse R_TRIG§џR_Trig_BackwardPulse R_TRIG§џ ReSet_R_Trig R_TRIG§џ ForwardPulse§џ BackwardPulse§џReSet§џ ForwardData§џ BackwardData§џNumberOfElements§џ1 to 128Output €§џ HCюA€ џџџџ TIMECONCATX udint_ms§џ udint_ms_sec§џ udint_ms_sub§џ udint_ms_rest§џ udint_ms_sum§џ udint_ms_time§џudint_m§џ udint_h§џ!udint_d§џ" udint_m_carry§џ# udint_m_sub§џ$ udint_m_rest§џ% MilliSeconds§џSeconds§џMinutes§џHours§џDays§џ OutputTime§џOverflow§џOverflowCounter§џHCюA€ џџџџ TIMEGENERATOR x_set§џ Setzflagx_IN§џ Timer set/run x_flanke_Q§џTrigger Ausgangx_QR§џx_QF§џtime_PT§џStartzeit intern fb_flanke R_TRIG§џ Setzflanke fb_TimeRising TON§џZeitglied Anzugsverzіgerungfb_TimeFalling TOF§џZeitglied AbfallverzіgerungSet§џ" Startbedingung, steigende Flanke Period§џ Periodendauer in Millisekunden  PulseOutput§џ  Steuerausgang HCюA€ џџџџ TIMEPULSE x_set§џSetzflagx_IN§џ Timer set/runx_Q§џ Timer Ausgangx_flanke§џTrigger Eingang x_flanke_Q§џTrigger Ausgangtime_PT§џStartzeit interntime_ET§џRestzeit intern fb_flanke R_TRIG§џ Setzflanke fb_TimeRising TON§џZeitglied AnzugsverzіgerungSet§џ" Startbedingung, steigende Flanke ReSet§џ Rќcksetzbedingung PresetTime§џ Zeit-Sollwert in Millisekunden  PulseOutput§џ  Steuerausgang ElapsedTime§џ  Zeit-Istwert in Millisekunden HCюA€ џџџџ TIMESPLITXdw_time§џ dw_seconds§џ dw_time_rest§џdw_hours§џ dw_minuts§џdw_day_mseconds\&§џ! InputTime§џ MilliSeconds§џSeconds§џMinutes§џHours§џDays§џHCюA€ џџџџ TODCONCATtime_ms§џtime_s§џtime_m§џtime_h§џ MilliSecond§џSecond§џMinute§џHour§џ  OutputTOD§џ Error§џ HCюA€ џџџџTODSPLITdw_time§џ dw_seconds§џ dw_time_rest§џdw_hours§џ dw_minuts§џInputTOD§џ MilliSecond§џ Second§џ Minute§џ Hour§џ HCюA€ џџџџJC:\PROGRAM FILES\COMMON FILES\CAA-TARGETS\MOELLER\LIB_CPU201\SYSLIBRTC.LIBSYSRTCCHECKBATTERYbDummy§џSysRtcCheckBattery8)>€џџџџSYSRTCGETHOURMODEbDummy§џSysRtcGetHourMode8)>€џџџџ SYSRTCGETTIMEdummy§џ SysRtcGetTime8)>€џџџџ SYSRTCSETTIMEActDateAndTime§џ SysRtcSetTime8)>€џџџџRC:\PROGRAM FILES\COMMON FILES\CAA-TARGETS\MOELLER\LIB_COMMON\XS40_MOLLERFB_RTC.LIBS40_GETREALTIMECLOCK DATsplitX1  DATsplitX§џVar_Date_and_Time§џDays_since_1970§џYear§џ+double figures, examples: 2004->4, 1998->98Month§џDay§џWeekday§џ sunday = 0, monday=1,...Hour§џ Minute§џ Second§џ рJЋA€ џџџџS40_RTC EN_R_Trig R_TRIG§џ EN§џPDT§џQ§џCDT§џ рJЋA€ џџџџS40_SETREALTIMECLOCK DATconcatX1  DATconcatX§џ set_R_Trig R_TRIG§џset§џ syslibrtc.lib has to be includedYear§џ+double figures, examples: 2004=>4, 1998=>98Month§џDay§џHour§џMinute§џ Second§џ Error§џ рJЋA€ џџџџIC:\PROGRAM FILES\COMMON FILES\CAA-TARGETS\MOELLER\LIB_COMMON\STANDARD.LIBCONCATSTR1§џSTR2§џCONCAT`=€џџџџCTDM§џ Variable for CD Edge DetectionCD§џ Count Down on rising edge LOAD§џ Load Start Value PV§џ Start Value Q§џ  Counter reached 0 CV§џ  Current Counter Value `=€џџџџCTUM§џ Variable for CU Edge Detection CU§џ Count Up RESET§џ Reset Counter to 0 PV§џ Counter Limit Q§џ  Counter reached the Limit CV§џ  Current Counter Value `=€џџџџCTUDMU§џ Variable for CU Edge Detection MD§џ Variable for CD Edge Detection CU§џ Count Up CD§џ Count Down RESET§џ  Reset Counter to Null LOAD§џ  Load Start Value PV§џ  Start Value / Counter Limit QU§џ Counter reached Limit QD§џ Counter reached Null CV§џ Current Counter Value `=€џџџџDELETESTR§џLEN§џPOS§џDELETE`=€џџџџF_TRIGM§џ CLK§џ Signal to detect Q§џ Edge detected `=€џџџџFINDSTR1§џSTR2§џFIND`=€џџџџINSERTSTR1§џSTR2§џPOS§џINSERT`=€џџџџLEFTSTR§џSIZE§џLEFT`=€џџџџLENSTR§џLEN`=€џџџџMIDSTR§џLEN§џPOS§џMID`=€џџџџR_TRIGM§џ CLK§џ Signal to detect Q§џ Edge detected `=€џџџџREPLACESTR1§џSTR2§џL§џP§џREPLACE`=€џџџџRIGHTSTR§џSIZE§џRIGHT`=€џџџџRSSET§џRESET1§џQ1§џ `=€џџџџRTCM§џ DiffTime§џ EN§џPDT§џQ§џCDT§џ`=€џџџџSEMAX§џCLAIM§џ RELEASE§џ BUSY§џ `=€џџџџSRSET1§џRESET§џQ1§џ `=€џџџџTOFM§џ  internal variable StartTime§џ internal variable IN§џ? starts timer with falling edge, resets timer with rising edge PT§џ time to pass, before Q is set Q§џ 2 is FALSE, PT seconds after IN had a falling edge ET§џ  elapsed time `=€џџџџTONM§џ  internal variable StartTime§џ internal variable IN§џ? starts timer with rising edge, resets timer with falling edge PT§џ time to pass, before Q is set Q§џ 0 is TRUE, PT seconds after IN had a rising edge ET§џ  elapsed time `=€џџџџTP StartTime§џ  internal variable IN§џ! Trigger for Start of the Signal PT§џ' The length of the High-Signal in 10ms Q§џ The pulse ET§џ & The current phase of the High-Signal `=€џџџџOC:\PROGRAM FILES\COMMON FILES\CAA-TARGETS\MOELLER\LIB_CPU201\SYSLIBCALLBACK.LIBSYSCALLBACKREGISTER iPOUIndex§џ! POU Index of callback function. Event  RTS_EVENT§џ Event to register SysCallbackRegisterоя*=€џџџџSYSCALLBACKUNREGISTER iPOUIndex§џ! POU Index of callback function. Event  RTS_EVENT§џ Event to register SysCallbackUnregisterоя*=€џџџџKC:\PROGRAM FILES\COMMON FILES\CAA-TARGETS\MOELLER\LIB_CPU201\XSYSCOM200.LIB XSYSCOMCLOSEdwHandle§џ xSysComCloseши?€џџџџXSYSCOMGETVERSION1000bDummy§џxSysComGetVersion1000ши?€џџџџ XSYSCOMOPENPort COMPORTS§џ% Port-Nummer, see: Enumeration PORTS  xSysComOpenши?€џџџџ XSYSCOMREADdwHandle§џdwBufferAddress§џ dwBytesToRead§џ dwTimeout§џ xSysComReadши?€џџџџXSYSCOMREADCONTROLdwHandle§џControl  COMCONTROL§џxSysComReadControlши?€џџџџXSYSCOMSETSETTINGSdwHandle§џ ComSettings  COMSETTINGS§џxSysComSetSettingsши?€џџџџ XSYSCOMWRITEdwHandle§џdwBufferAddress§џdwBytesToWrite§џ dwTimeout§џ xSysComWriteши?€џџџџXSYSCOMWRITECONTROLdwHandle§џControl  COMCONTROL§џxSysComWriteControlши?€џџџџMC:\PROGRAM FILES\COMMON FILES\CAA-TARGETS\MOELLER\LIB_COMMON\MODBUSMASTER.LIB MODBUSMASTER:bERRfc§џ2# usiMODfailCode = 1: MOD-Illegal FCbERRadr§џ3, usiMODfailCode = 2: MOD-Error Data address bERRval§џ4* usiMODfailCode = 3: MOD-Error Data value bERRLength§џ5/ usiMODfailCode = 4: MOD-Error telegram length bERRparam §џ7& usiMODfailCode = 10: Parameter Error bERRinitFail §џ87 usiMODfailCode = 11: COMport open/initializing failed bERRcrc §џ9 usiMODfailCode = 12: CRC-Error bERRtimeOut §џ:% usiMODfailCode = 13: MODBUS TimeOut bERRSlaveAdr§џ;) usiMODfailCode = 14: Error slave address bERRSlaveFC§џ<- usiMODfailCode = 15: Slave responds wrong FCbERRSlaveNrByte§џ=? usiMODfailCode = 16: Slave responds wrong Nr. or Adr. of data typBaudrate  COMBAUDRATE§џAD Baudrate: BAUD_4800, BAUD_9600, BAUD_19200, BAUD_38400, BAUD_57600 typStopbits  COMSTOPBITS§џB% Stopbits: ONE_STOPBIT, TWO_STOPBITS dwTimeoutRead§џDdwModbusHandle§џEdwBytesToReadCmdњ§џFInitCom  COMSETTINGS§џG usiComState§џHdwModbusReadBufferAdresse§џIdwModbusWriteBufferAdresse§џJusiBytesToRead§џKdwTimeoutWrite§џL bInputbuffer §џM bOutputbuffer §џN dwReadNumber§џO uiByteCounter§џP xInitStopBit§џQxPLCstat§џRxStartFirstCycle§џSdwModbusHandleOld§џT xReadCom1on§џU uiStartAdr§џV uiRegNumWo§џW uiRegNumBy§џXwCRC§џY dwBytesTotal§џZuiOutputByteNr§џ[ uiTraLength§џ\dwDum1§џ]wInCRC§џ^i§џ_ii§џ`uiBytesToCheck§џaxCOM1§џbuiMaxRegTelegram§џcuiMaxCoilTelegram§џd uiCoilNum§џe uiCoilNumMod§џfxCoilMod§џgbDum1§џh usiMODfcBck§џiuiMODdatOffBck§џj uiMODdatNrBck§џkusiMODslaveAdrBck§џl MODtimeOut TON§џm uiMODdatOffM§џn uiCoilCounter§џouiCoilCounterMax§џp xEnable§џ ) Enable COM port for MODBUS comunication usiComPort§џ  Number of COMport: 2,3,4,5 uiBaudrate€%§џ+ Baudrate: 4800, 9600, 19200, 38400, 57600 usiParity§џ+ Parity: 0 = no parity , 1 = odd, 2 = even usiStopbits§џ Stopbits: 1, 2 usiMODSlaveAdr§џ Address of MODBUS Slave usiMODfc§џ Function Code uiMODdatOff§џ Offset of data uiMODdatNr§џ Number of data tMODtimeOut'§џ Timeout for answer xMODfcStrobe§џ Start MODBUS request  xComPortActiv§џ% Status of COMport, MODBUS activated xMODtransActive§џ MODBUS transmission aktiv xMODtransOk§џ MODBUS request anwered ok usiMODslaveAdrDone§џ  Last addressed MODBUS slave usiMODfcDone§џ! Last Function Code uiMODdatOffDone§џ" Last Offset of data uiMODdatNrDone§џ# Last Number of data usiMODfailCode§џ$Џ MODBUS failcode : 1: MOD-Illegal FC 2: MOD-Error Data address 3: MOD-Error Data value 4: MOD-Error telegram length 10: Parameter Error 11: COMport initializing failed 12: CRC-Error 13: MODBUS TimeOut 14: Error slave address 15: Slave responds wrong FC 16: Slave responds wrong Nr. or Adr. of datawarMODRegister x§џ) Buffer for Holding- and Input Registers xarMODCoil А§џ Buffer for Coils and Inputs Дї‰B€ џџџџMODBUSMASTER_COILMAXuiCoilCounterMax§џ uiCoilCounter§џModbusMaster_CoilMaxДї‰B€ џџџџMODBUSMASTER_CRC16i§џii§џ xCarryFlag§џ wCrc§џ  ptr_bDataBuf§џ/ pointer to the first byte for CRC calculation uiBufSize§џ$ count of bytes for CRC calculation ModbusMaster_CRC16Дї‰B€ џџџџMODBUSMASTER_EVENTSTOP usiCounter§џ dwEvent§џdwFilter§џdwOwner§џModbusMaster_EventStopДї‰B€ џџџџNC:\PROGRAM FILES\COMMON FILES\CAA-TARGETS\MOELLER\LIB_CPU201\SYSLIBSOCKETS.LIB SYSSOCKACCEPTdiSocket§џ pSockAddr§џ( Address of SocketAddress (SOCKADDRESS) piSockAddrSize§џ& Address of socket address size (DINT) SysSockAccept„€”A€џџџџ SYSSOCKBINDdiSocket§џ pSockAddr§џ( Address of SocketAddress (SOCKADDRESS) diSockAddrSize§џ Size of socket address  SysSockBind„€”A€џџџџ SYSSOCKCLOSEdiSocket§џ SysSockClose„€”A€џџџџSYSSOCKCONNECTdiSocket§џ pSockAddr§џ( Address of SocketAddress (SOCKADDRESS) diSockAddrSize§џ Size of socket address SysSockConnect„€”A€џџџџ SYSSOCKCREATEdiAddressFamily§џdiType§џ diProtocol§џ SysSockCreate„€”A€џџџџSYSSOCKGETHOSTBYNAME stHostNameQQ§џSysSockGetHostByName„€”A€џџџџSYSSOCKGETHOSTNAME stHostNameQQ§џ diNameLength§џSysSockGetHostName„€”A€џџџџSYSSOCKGETOPTIONdiSocket§џdiLevel§џdiOption§џ pOptionValue§џ Address of option piOptionLength§џ Address of option size (DINT) SysSockGetOption„€”A€џџџџ SYSSOCKHTONLdwHost§џ SysSockHtonl„€”A€џџџџ SYSSOCKHTONSwHost§џ SysSockHtons„€”A€џџџџSYSSOCKINETADDRstIPAddrQQ§џSysSockInetAddr„€”A€џџџџSYSSOCKINETNTOAInAddr INADDR§џstIPAddrQQ§џ diIPAddrSize§џSysSockInetNtoa„€”A€џџџџ SYSSOCKIOCTLdiSocket§џ diCommand§џ piParameter§џ Address of parameter (DINT)  SysSockIoctl„€”A€џџџџ SYSSOCKLISTENdiSocket§џdiMaxConnections§џ SysSockListen„€”A€џџџџ SYSSOCKNTOHLdwNet§џ SysSockNtohl„€”A€џџџџ SYSSOCKNTOHSwNet§џ SysSockNtohs„€”A€џџџџ SYSSOCKRECVdiSocket§џ pbyBuffer§џ Address of buffer to receive diBufferSize§џdiFlags§џ SysSockRecv„€”A€џџџџSYSSOCKRECVFROMdiSocket§џ pbyBuffer§џ Address of buffer to receive diBufferSize§џdiFlags§џ pSockAddr§џ& Address of socket address SOCKADDRESSdiSockAddrSize§џ Size of socket address SysSockRecvFrom„€”A€џџџџ SYSSOCKSELECTdiWidth§џ Typically SOCKET_FD_SETSIZE fdRead§џ Address of SOCKET_FD_SET fdWrite§џ Address of SOCKET_FD_SET fdExcept§џ Address of SOCKET_FD_SET ptvTimeout§џ Address of SOCKET_TIMEVAL  SysSockSelect„€”A€џџџџ SYSSOCKSENDdiSocket§џ pbyBuffer§џ Address of buffer to receive diBufferSize§џdiFlags§џ SysSockSend„€”A€џџџџ SYSSOCKSENDTOdiSocket§џ pbyBuffer§џ Address of buffer to receive diBufferSize§џdiFlags§џ pSockAddr§џ' Address of socket address SOCKADDRESS diSockAddrSize§џ Size of socket address  SysSockSendTo„€”A€џџџџSYSSOCKSETIPADDRESS stCardNameQQ§џ stIPAddressQQ§џSysSockSetIPAddress„€”A€џџџџSYSSOCKSETOPTIONdiSocket§џdiLevel§џdiOption§џ pOptionValue§џ Address of option diOptionLength§џ Length of option SysSockSetOption„€”A€џџџџSYSSOCKSHUTDOWNdiSocket§џdiHow§џSysSockShutdown„€”A€џџџџJC:\PROGRAM FILES\COMMON FILES\CAA-TARGETS\MOELLER\LIB_CPU201\MODBUSTCP.LIBCALLBACK_RESETi§џ dwEvent§џdwFilter§џdwOwner§џCallback_Reset #“B€ џџџџ CALLBACK_STOPi§џ dwEvent§џdwFilter§џdwOwner§џ Callback_Stop #“B€ џџџџMB_EXCHANGEWORDwInput§џMB_ExchangeWord #“B€ џџџџ MB_MAKEIPbIP1§џbIP2§џbIP3§џbIP4§џ MB_MakeIP #“B€ џџџџMBM_CLOSEALLCONNECTIONSi§џ #“B€ џџџџMBM_CLOSECONNECTIONiActual§џi§џ dwIPAddress§џ #“B€ џџџџMBM_COMMUNICATE xStrobeDummy§џMdata TModbusBufferType§џi§џt§џbDataptr§џ bBitptr§џ bValue§џ xStrobe§џ dwIPAddress§џwPortі§џwTransactionIdentifier§џbUnitIdentifierџ§џ bFunctioncode§џ wOffset§џ wCount§џ wOffsetAdd§џ wCountAdd§џ warDataOut §џ xarDataOut џ§џxCloseImmediate§џtTimeoutИ §џxBusy§џ iErrorCode§џ wDatacount§џ warDataIn §џ xarDataIn џ§џ #“B€ џџџџ MBM_LOOPBACK xStrobeDummy§џMdata TModbusBufferType§џi§џt§џbDataptr§џbValue§џ xStrobe§џ dwIPAddress§џwPortі§џbUnitIdentifierџ§џwTransactionIdentifier§џbData0§џ bData1§џ xCloseImmediate§џ tTimeoutИ §џ xBusy§џ iErrorCode§џ #“B€ џџџџMBM_READCOILSTATUS xStrobeDummy§џMdata TModbusBufferType§џi§џt§џbDataptr§џbBitptr§џ xStrobe§џ dwIPAddress§џwPortі§џbUnitIdentifierџ§џwTransactionIdentifier§џwOffset§џ wCount§џ xCloseImmediate§џ tTimeoutИ §џ xBusy§џ iErrorcode§џ wDatacount§џxarData џ§џ #“B€ џџџџMBM_READHOLDINGREGISTERS xStrobeDummy§џMdata TModbusBufferType§џi§џt§џbDataptr§џ xStrobe§џ dwIPAddress§џwPortі§џbUnitIdentifierџ§џwTransactionIdentifier§џwOffset§џ wCount§џ xCloseImmediate§џ tTimeoutИ §џ xBusy§џ iErrorCode§џ wDatacount§џwarData §џ #“B€ џџџџMBM_READINPUTREGISTERS xStrobeDummy§џMdata TModbusBufferType§џi§џt§џbDataptr§џ xStrobe§џ dwIPAddress§џwPortі§џbUnitIdentifierџ§џwTransactionIdentifier§џwOffset§џ wCount§џ xCloseImmediate§џ tTimeoutИ §џ xBusy§џ iErrorCode§џ wDatacount§џwarData §џ #“B€ џџџџMBM_READINPUTSTATUS xStrobeDummy§џMdata TModbusBufferType§џi§џt§џbDataptr§џbBitptr§џ xStrobe§џ dwIPAddress§џwPortі§џbUnitIdentifierџ§џwTransactionIdentifier§џwOffset§џ wCount§џ xCloseImmediate§џ tTimeoutИ §џ xBusy§џ iErrorcode§џ wDatacount§џxarData џ§џ #“B€ џџџџMBM_READWRITEREGISTERS xStrobeDummy§џMdata TModbusBufferType§џi§џt§џbDataptr§џ xStrobe§џ dwIPAddress§џwPortі§џbUnitIdentifierџ§џwTransactionIdentifier§џ wOffsetRead§џ wCountRead§џ wOffsetWrite§џ wCountWrite§џ warDataWrite §џ xCloseImmediate§џtTimeoutИ §џxBusy§џ iErrorCode§џ wDatacount§џ warDataRead §џ #“B€ џџџџMBM_SENDi§џ stSockAddr  TSockAddr§џ stFDSet TSockSet§џ stTimeval  TSockTimeval§џ AF_INET§џ SOCK_STREAM§џ IPPROTO_TCP§џpMbdata PModbusBufferType§џxCloseImmediate§џtTimeout§џMBM_Send #“B€ џџџџMBM_WRITEMULTIPLECOILS xStrobeDummy§џMdata TModbusBufferType§џi§џt§џbDataptr§џbBitptr§џ xStrobe§џ dwIPAddress§џwPortі§џbUnitIdentifierџ§џwTransactionIdentifier§џwOffset§џ wCount§џ xarData џ§џ xCloseImmediate§џ tTimeoutИ §џ xBusy§џ iErrorCode§џ #“B€ џџџџMBM_WRITEMULTIPLEREGISTERS xStrobeDummy§џMdata TModbusBufferType§џi§џt§џbDataptr§џ xStrobe§џ dwIPAddress§џwPortі§џbUnitIdentifierџ§џwTransactionIdentifier§џwOffset§џ wCount§џ warData §џ xCloseImmediate§џ tTimeoutИ §џ xBusy§џ iErrorCode§џ #“B€ џџџџMBM_WRITESINGLECOIL xStrobeDummy§џMdata TModbusBufferType§џi§џt§џbDataptr§џbValue§џ xStrobe§џ dwIPAddress§џwPortі§џbUnitIdentifierџ§џwTransactionIdentifier§џwOffset§џ xValue§џ xCloseImmediate§џ tTimeoutИ §џ xBusy§џ iErrorCode§џ #“B€ џџџџMBM_WRITESINGLEREGISTER xStrobeDummy§џMdata TModbusBufferType§џi§џt§џbDataptr§џ xStrobe§џ dwIPAddress§џwPortі§џbUnitIdentifierџ§џwTransactionIdentifier§џwOffset§џ wValue§џ xCloseImmediate§џ tTimeoutИ §џ xBusy§џ iErrorCode§џ #“B€ џџџџMBS_ADDSECUREADDRESSi§џ dwIPAddress§џMBS_AddSecureAddress #“B€ џџџџ MBS_ANSWER xStrobeDummy§џMdata TModbusBufferType§џi§џt§џiState§џbBitptr§џbDataptr§џ bFunctionCode§џwOffset§џwCount§џwarData §џxarData џ§џ iErrorCode§џ #“B€ џџџџMBS_CLEARSECUREADDRESSES #“B€ џџџџMBS_CLOSEALLCONNECTIONSi§џ #“B€ џџџџMBS_DELETESECUREADDRESSi§џt§џ dwIPAddress§џMBS_DeleteSecureAddress #“B€ џџџџMBS_POLLdiSize§џ xStrobeDummy§џMdata TModbusBufferType§џstFDSet TSockSet§џ stTimeval  TSockTimeval§џ stSockAddr  TSockAddr§џ Connectdata  TConnectType§џ iActserver§џ iActclient§џ iServerpos§џiState§џiIpfound§џi§џt§џbBitptr§џxStrobe§џ xBusy§џ xAvailable§џ bFunctionCode§џ wOffset§џ wCount§џ wOffsetAdd§џ wCountAdd§џ iErrorCode§џ warData §џxarData џ§џ #“B€ џџџџ MBS_SETUP xStrobeDummy§џiState§џ bActserver§џ stSockAddr  TSockAddr§џhost§џhostaddr§џAF_INET§џ SOCK_STREAM§џ IPPROTO_TCP§џxStrobe§џ wDefaultPortі§џxDefaultPortActive§џwAdditionalPort'§џxAdditionalPortActive§џ xSecureMode§џ bUnitIdentifierџ§џ tTimeoutР' §џ xBusy§џ iErrorCode§џ #“B€ џџџџEC:\PROGRAM FILES\COMMON FILES\CAA-TARGETS\MOELLER\LIB_COMMON\UTIL.LIB BCD_TO_INTB§џ BCD_TO_INTКt5<€ џџџџBLINKCLOCK TP§џ ENABLE§џ TRUE to run Blink TIMELOW§џ Time for OUT=FALSE TIMEHIGH§џ Time for OUT=TRUE OUT§џ Кt5<€ џџџџ CHARCURVEI§џIN§џ Anzupassendes Signal N§џ& Anzahl Punkte fќr Kennlinie 2<=N<=11 OUT§џ Ausgabe ERR§џ є Fehler : 1 : ARRAY falsch (wird nur vollstфndig getestet, wenn IN gleich dem betragsgrіпten X-Wert vom ARRAY) 2 : IN liegt auпerhalb der von P gegebenen Grenzen 4 : Anzahl Kennpunkte (N) nicht zulфssig P  POINT§џ) N Punkte, die die Kennlinie beschreiben Кt5<€ џџџџ DERIVATIVEX3§џ  vorherige Eingabe X2§џ  vorherige Eingabe X1§џ  vorherige Eingabe T2§џ vorherige Zeitintervalle T1§џ vorherige Zeitintervalle INIT§џ neu initialisieren IN§џ Eingabe TM§џ Zeitintervallbreite in msec RESET§џ Reset OUT§џ  Differezenquotient Кt5<€ џџџџEXTRACTX§џN§џEXTRACTКt5<€ џџџџGENCET§џPER§џCOUNTER§џCLOCK TON§џMODE GEN_MODE§џK Typ : TRIANGLE Dreieck von - AMPL. bis + AMPL. TRIANGLE_POS Dreieck von 0 bis AMPL. SAWTOOTH_RISE Sфgezahn steigend von -AMPL. bis +AMPL. SAWTOOTH_FALL Sфgezahn fallend von AMPL bis -AMPL RECTANGLE Rechteck -AMPL. bis +AMPL SINUS Sinus COSINUS Cosinus BASE§џ , Periodenbezug : FALSE /Aufruf ; TRUE /Zeit PERIOD§џ  Periodendauer, wenn BASE=TRUE CYCLES§џ! Zyklen/Periode, wenn BASE=FALSE AMPLITUDE§џ Amplitude der Funktion RESET§џ Reset OUT§џКt5<€ џџџџ HYSTERESISIN§џHIGH§џLOW§џOUT§џ Кt5<€ џџџџ INT_TO_BCDI§џ INT_TO_BCDКt5<€ џџџџINTEGRALIN§џ Eingabe TM§џ Zeitdifferenz in msec RESET§џ Reset OUT§џ  Integralwert OVERFLOW§џ Кt5<€ џџџџ LIMITALARMIN§џ Eingang HIGH§џ Obergrenze LOW§џ Untergrenze O§џ  мberschreitung U§џ  Unterschreitung IL§џ Im Limit Кt5<€ џџџџPACKP§џB0§џB1§џB2§џB3§џB4§џB5§џ B6§џ B7§џ PACKКt5<€ џџџџPDCLOCK TON§џD  DERIVATIVE§џTMDIFF§џERROR§џINIT§џ ACTUAL§џ* actual value, process variable / Istwert SET_POINT§џ% desired value, set point / Sollwert KP§џ3 proportionality const. / Proportionalitфtskoeff. TV§џ2 rate time, derivative time / Vorhaltzeit in msec Y_OFFSET§џD offset for manipulated variable / Stellwert-Nullpunktsverschiebung Y_MIN§џ > minimum value for manipulated variable / minimaler Stellwert Y_MAX§џ > maximum value for manipulated variable / maximaler Stellwert MANUAL§џ ( TRUE: manual / TRUE: manueller Betrieb RESET§џ Y§џ. manipulated variable, set value / Stellgrіпe LIMITS_ACTIVE§џКt5<€ џџџџPIDCLOCK TON§џI INTEGRAL§џD  DERIVATIVE§џTMDIFF§џERROR§џINIT§џ ACTUAL§џ* actual value, process variable / Istwert SET_POINT§џ% desired value, set point / Sollwert KP§џ3 proportionality const. / Proportionalitфtskoeff. TN§џ$ reset time / Nachstellzeit in msec TV§џ2 rate time, derivative time / Vorhaltzeit in msec Y_OFFSET§џ D offset for manipulated variable / Stellwert-Nullpunktsverschiebung Y_MIN§џ > minimum value for manipulated variable / minimaler Stellwert Y_MAX§џ > maximum value for manipulated variable / maximaler Stellwert MANUAL§џ ( TRUE: manual / TRUE: manueller Betrieb RESET§џ Y§џ. manipulated variable, set value / Stellgrіпe LIMITS_ACTIVE§џOVERFLOW§џКt5<€ џџџџPUTBITX§џN§џB§џPUTBITКt5<€ џџџџRAMP_INTDIFF§џOLD_IN§џTB§џCET§џCH§џCLOCK TON§џIN§џ Eingabe ASCEND§џ Maximalwert der Zunahme DESCEND§џ/ Maximalwert der Abnahme (nichtnegativer Wert) TIMEBASE§џx Bezugswert fќr ASCEND/DESCEND : t#0s : Ab-/Zunahme pro Aufruf sonst: Ab-/Zunahme pro TIMEBASE RESET§џ  Reset OUT§џ Кt5<€ џџџџ RAMP_REALDIFF§џOLD_IN§џTB§џCET§џCLOCK TON§џprobe§џIN§џ Eingabe ASCEND§џ Maximalwert der Zunahme DESCEND§џ/ Maximalwert der Abnahme (nichtnegativer Wert) TIMEBASE§џx Bezugswert fќr ASCEND/DESCEND : t#0s : Ab-/Zunahme pro Aufruf sonst: Ab-/Zunahme pro TIMEBASE RESET§џ  Reset OUT§џ Кt5<€ џџџџSTATISTICS_INTSUM§џ Summe COUNTER§џ Zфhler IN§џ Eingabe RESET§џ Zurќcksetzen MNџ§џ Minimum MX€џџ§џ Maximum AVG§џ  Durchschnitt Кt5<€ џџџџSTATISTICS_REALCOUNTER§џ SUM§џIN§џ Eingabe RESET§џ Zurќcksetzen MNцБa3e+38§џ Minimum MXъ1e-37§џ Maximum AVG§џ  Durchschnitt Кt5<€ џџџџUNPACKB§џB0§џB1§џB2§џ B3§џ B4§џ B5§џ B6§џ B7§џКt5<€ џџџџVARIANCEZ§џ A§џ B§џ IN§џ Eingabe RESET§џ Reset OUT§џ Varianz Кt5<€ џџџџVERSIONКt5<€ џџџџMOD_READ8`K@џџџџMOD_WRITE_BOOLindex[mod_Write_Bool8`K@џџџџMOD_WRITE_DWORDIndex\mod_Write_dWord8`K@џџџџMOD_WRITE_STRINGIndex]mod_Write_String8`K@џџџџMOD_WRITE_WORDIndex^mod_Write_Word8`K@џџџџOBDELAVAANALOGNIHVHODOV FB_SkaliranjeTempTIA1 Skaliranje.FB_SkaliranjeTempTIA2 Skaliranje.FB_SkaliranjeTempTIA3 Skaliranje. FB_SkaliranjeTempTIA4 Skaliranje. FB_SkaliranjeTempTIA5 Skaliranje. FB_SkaliranjeTempTIA6 Skaliranje. FB_SkaliranjeTempTIA7 Skaliranje. FB_SkaliranjeTempTIA8 Skaliranje.FB_SkaliranjeVlagaHIA1 Skaliranje.FB_SkaliranjeVlagaHIA2 Skaliranje.FB_SkaliranjeVlagaHIA3 Skaliranje.FB_SkaliranjeVlagaHIA4 Skaliranje.FB_SkaliranjeVlagaHIA5 Skaliranje.FB_SkaliranjeVlagaHIA6 Skaliranje.FB_SkaliranjeVlagaHIA7 Skaliranje.FB_SkaliranjeVlagaHIA8 Skaliranje.PomNapakaTSTempTIA1.PomNapakaTSTempTIA2.PomNapakaTSTempTIA3.PomNapakaTSTempTIA4.PomNapakaTSTempTIA5.PomNapakaTSTempTIA6.PomNapakaTSTempTIA7.PomNapakaTSTempTIA8. PomNapakaSenzorVlagaHIA1."PomNapakaSenzorVlagaHIA2.#PomNapakaSenzorVlagaHIA3.$PomNapakaSenzorVlagaHIA4.%PomNapakaSenzorVlagaHIA5.&PomNapakaSenzorVlagaHIA6.'PomNapakaSenzorVlagaHIA7.(PomNapakaSenzorVlagaHIA8.)8`K@џџџџPANEL ComIzpadPanel TON- Com_Panel TON-FB_kom_serverA SCADA_komunikacija-FB_kom_serverB SCADA_komunikacija-Skupno_razlitje-8`K@џџџџPLC_PRGFB_ObdelavaAnalognihVhodov ObdelavaAnalognihVhodov)8`K@џџџџPLC_PRG_MODNET Slave_Adresa` Slave_Portќ` SlaveSetup  MBS_Setup` SlavePoll MBS_Poll` SlaveAnswer  MBS_Answer`step` end` i` cycle` First cycle OpenDefaultPort` Write_16`Write_15`Write_5`j`slavepollwOffset_temp`slaveanswerwCount_temp`slaveanswerwoffset_temp` Dodano 8.12.2009 prvi_zagon`prvi_zagon_int`8`K@џџџџ READ_DWORDdVARaloahia Read_dWord8`K@џџџџ READ_REALrVARblobhib Read_Real8`K@џџџџ READ_STRINGsVarQQcstartc Read_String8`K@џџџџSCADA_KOMUNIKACIJAComIzpad TON, ComIzpad1 TON, cas_za_izpad_kom,GNastavitev casa po katerem naj javi krmilnik izpad komunikacije s scadosprem_iz_scade,Stanje, ki se vrne v scado sprem_v_scado,Stanje, ki se posilja na scadonapaka_kom_scada_alarm,4Spremenljivka, ki javi napako v komunikaciji s scado8`K@џџџџ SKALIRANJESmerniKoeficientPremice+VrednostVTockiNic+PomTrenutnaVrednost+ TrenVzorec+TrenutnaVrednost1+Omogoci+ StVzorcenj+TrenutnaVrednost+ObmocjeVhodaLo+ObmocjeVhodaHi+ObmocjeIzhodaLo+ObmocjeIzhodaHi+ SkaliranaVrednost+ NapakaSenzor+ 8`K@џџџџ USERANDTIMESetTime S40_SetRealTimeClock`/ TempError`/ SetTimeNegFl F_TRIG`/ SetTimePosFl R_TRIG`/TimeSinhroTimer TON`/8`K@џџџџ н+,-/1§џџџ `).[]Z(ФCKвCKрCKюCKDD+КЛlocalhostt \XSoftexeЄ§Ќ§AИdсeс_І€рЈр ВупPрт0І0чwјЇ-.иД”чwРзУ,.иЄ§Ќ§РМр Є§Рџџяџ И8ЏйDсИ А Є§Ќ§рВь4ŽAБ№‘њгЌHZJВTcp/Ip (Level 2 Route)ST2.proST23S Tcp/Ip Level 2 Router Driver6щAddressIP address or hostname 10.1.1.232шPortАќTargetId7dMotorola byteorderNoYes1AБ№‘њгЌHZJВTcp/Ip (Level 2 Route)Master_example.propto3S Tcp/Ip Level 2 Router Driver6щAddressIP address or hostname 8.3.15.254шPortАќTargetId7dMotorola byteorderNoYesAБ№‘њгЌHZJВTcp/Ip (Level 2 Route)testpto3S Tcp/Ip Level 2 Router Driver5щAddressIP address or hostname 10.1.6.33шPortАќTargetId7dMotorola byteorderNoYesAБ№‘њгЌHZJВTcp/Ip (Level 2 Route)Diagnostika.proTCP/IP3S Tcp/Ip Level 2 Router Driver6щAddressIP address or hostname 10.1.1.232шPortАќTargetId7dMotorola byteorderNoYesџAБ№‘њгЌHZJВTcp/Ip (Level 2 Route)ST23S Tcp/Ip Level 2 Router Driver6щAddressIP address or hostname 10.1.1.232шPortАќTargetId7dMotorola byteorderNoYesAБ№‘њгЌHZJВTcp/Ip (Level 2 Route)ST3.proIPKO3S Tcp/Ip Level 2 Router Driver5щAddressIP address or hostname 10.1.6.34шPortАќTargetId7dMotorola byteorderNoYesK@8`K—…,,:8CoDeSys 1-2.2рџџџЭЭЭЭЭЭЭЭ@Bы ђѓїј"$ '(БГЕЙКЖЯабМОРТФЦ€ЪPШЬЮ€в~€‘’“”•–—˜™‚ƒ„…†‡@ˆ@Š@‹@Œ@@Ђ Јž€MNOP`atyzbcXde_Q\RKUXZтфц шъьюёя№ђѓџџџџєѕї( "!#$›^fghijkFHJLNPRUSTVWЄЅlopqrsuоvІЇџџџџ|~€xz(ЉЋ%­ЎЏ@нфи&'№ цчшщъЊВДЌ­ЏАЗИОьэIJK LM™оPQS)  џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ@Bђѓїј"$ '(БГЕЙКЖЯабМОРТФЦ€ЪPШЬЮ€вЈMNO`tyzbcXde_Q\1-100RKUCANXZ16#2000-16#5fffтфц шъьюёя№ђѓџџџџєѕї( "!#$›fghijkFHJLNPRUSTVWЄopqrsuоvІЇџџџџЉЋ%­ЎЏ@нфи&'№ цчшщъЊВДЌ­ЏАЗИОьэIJK LM™оPQS)  џџџџџџџџABђѓїј"$ '(БГЕЙКЖЯабМОРТФЦ€ЪPШЬЮ€вЈMNO`tyzbcXde_Q\1-100RKUCANXZ16#2000-16#5fffтфц шъьюёя№ђѓџџџџєѕї( "!#$›fghijkFHJLNPRUSTVWЄopqrsuоvІwЇџџџџЉЋ%­ЎЏ@нрасафи&'№ цчшщъЊВДЌ­ЏАЗИОьэўџIJK LM™оPQS)  џџџџџџџџЭЭЭЭљџџџЭЭЭЭЭЭЭЭЇ Nameџџџџ Index џџ SubIndex џAccesslevel!lowmiddlehighAccessright1 read only write only read-write Variable џџџџ ValueVariableMinVariableMaxVariable5 Nameџџџџ Index џџ SubIndex џAccesslevel!lowmiddlehighAccessright1 read only write only read-write Type~INTUINTDINTUDINTLINTULINTSINTUSINTBYTEWORDDWORDREALLREALSTRING Value Type Default TypeMin TypeMax Type5 Nameџџџџ Index џџ SubIndex џAccesslevel!lowmiddlehighAccessright1 read only write only read-write Type~INTUINTDINTUDINTLINTULINTSINTUSINTBYTEWORDDWORDREALLREALSTRING Value Type Default TypeMin TypeMax Typed Member џџџџIndex-Offset џџSubIndex-Offset џAccesslevel!lowmiddlehighAccessright1 read only write only read-writeMinMemberMaxMemberŸ Nameџџџџ Member џџџџ ValueMember Index џџ SubIndex џAccesslevel!lowmiddlehighAccessright1 read only write only read-writeMinMemberMaxMemberЇ Nameџџџџ Index џџ SubIndex џAccesslevel!lowmiddlehighAccessright1 read only write only read-write Variable џџџџ ValueVariableMinVariableMaxVariableђџџџЭЭЭЭЭЭЭЭ‚_Dummy@@@@@@Єя@Єя@@@€v@@;@+ёџџџЭЭЭЭЭЭЭЭ€v@4@А€v@D@А Р @€f@4@€f@€v@€f@@u@€f@їСы  Module.Root-1 __not_found__Parameter.PXC101_11 Module.Root WARMSTART WARMSTARTINTParameter.PXC101INT2 Module.Root655360DWORDParameter.PXC101INT3 Module.Root1310720DWORDParameter.PXC101INT4 Module.Root00DWORDParameter.PXC101INT5 Module.Root00DWORDParameter.PX101PARWORD6 Module.Root00WORDParameter.PX101PARWORD7 Module.Root00WORDParameter.PX101PARWORD8 Module.Root00WORDParameter.PXC101ROUTING19 Module.Root125KBaud125KBaudINTParameter.PXC101ROUTING210 Module.Root127127INTParameter.PXC101INT11 Module.Root10485760DWORDParameter.PXC101INT12 Module.Root20971520DWORDParameter.PXC101ROUTING313 Module.Root11DWORDParameter.PXC101ROUTING414 Module.Root00DWORD&Configuration XC-CPU201-EC512K-8DI-6DOџџџџIB%QB%MB%MLocal Inputs/CounterChannel.LocalInput1 Module.RootIB%Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 7MStateChannel.LokalBitin2012 Module.RootIX%MN0Channel.LokalBitin2013 Module.RootIX%MN1Channel.LokalBitin2014 Module.RootIX%MErrorChannel.LokalBitin2015 Module.RootIX%MReferencing activatedChannel.LokalBitin2016 Module.RootIX%MCounter-Value Low-WordChannel.WordInput7 Module.RootIW%Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 7Bit 8Bit 9Bit 10Bit 11Bit 12Bit 13Bit 14Bit 15MCounter-Value High-WordChannel.WordInput8 Module.RootIW%Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 7Bit 8Bit 9Bit 10Bit 11Bit 12Bit 13Bit 14Bit 15M Local OutputsChannel.LocalOutput9 Module.RootQB%Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 7MReference WindowChannel.LokalBitout20110 Module.RootQX%MReset Counter0Channel.LokalBitout20111 Module.RootQX%MReset Counter1Channel.LokalBitout20112 Module.RootQX%MN0 QuitChannel.LokalBitout20113 Module.RootQX%MN1 QuitChannel.LokalBitout20114 Module.RootQX%M Error QuitChannel.LokalBitout20115 Module.RootQX%M32BitCounter/Counter0 EnableChannel.LokalBitout20116 Module.RootQX%MCounter1 EnableChannel.LokalBitout20117 Module.RootQX%oModule.XIOC_IA8II20 Module.Root XIOC-8AI-I2IB%QB%MB%M 4-20mA InputChannel.AnalogInput1Module.XIOC_IA8II2IW%M 4-20mA InputChannel.AnalogInput2Module.XIOC_IA8II2IW%M 4-20mA InputChannel.AnalogInput3Module.XIOC_IA8II2IW %M 4-20mA InputChannel.AnalogInput4Module.XIOC_IA8II2IW %M 4-20mA InputChannel.AnalogInput5Module.XIOC_IA8II2IW%M 4-20mA InputChannel.AnalogInput6Module.XIOC_IA8II2IW%M 4-20mA InputChannel.AnalogInput7Module.XIOC_IA8II2IW%M 4-20mA InputChannel.AnalogInput8Module.XIOC_IA8II2IW%oModule.XIOC_IA8II21 Module.Root XIOC-8AI-I2IB%QB%MB%M 4-20mA InputChannel.AnalogInput1Module.XIOC_IA8II2IW%M 4-20mA InputChannel.AnalogInput2Module.XIOC_IA8II2IW%M 4-20mA InputChannel.AnalogInput3Module.XIOC_IA8II2IW%M 4-20mA InputChannel.AnalogInput4Module.XIOC_IA8II2IW%M 4-20mA InputChannel.AnalogInput5Module.XIOC_IA8II2IW%M 4-20mA InputChannel.AnalogInput6Module.XIOC_IA8II2IW %M 4-20mA InputChannel.AnalogInput7Module.XIOC_IA8II2IW"%M 4-20mA InputChannel.AnalogInput8Module.XIOC_IA8II2IW$%oModule.XIOC_ID162 Module.Root XIOC-16DIIB&%QB%MB%M 16 InputsChannel.WordInput1Module.XIOC_ID16IW&%Bit 0Bit 1Bit 2Bit 3Bit 4Bit 5Bit 6Bit 7Bit 8Bit 9Bit 10Bit 11Bit 12Bit 13Bit 14Bit 15oModule.XIOC_EMPTY3 Module.Root EMPTY-SLOTIB(%QB%MB%oModule.XIOC_EMPTY4 Module.Root EMPTY-SLOTIB(%QB%MB%oModule.XIOC_EMPTY5 Module.Root EMPTY-SLOTIB(%QB%MB%oModule.XIOC_EMPTY6 Module.Root EMPTY-SLOTIB(%QB%MB%8`K 8`KЭЭЭЭЭЭЭЭVAR_GLOBAL END_VAR ",АшМЫPLC_PRG– PLC_PRG();џџџџmodnetPLC_PRG_modnet();џџџџ8`KStartCalled when program startsPROGRAM systemevent@BStopCalled when program stopsPROGRAM systemevent@BIO-Interrupt 1Interrupt-Channel 1PROGRAM systemeventш@BIO-Interrupt 2Interrupt-Channel 2PROGRAM systemeventщ@BIO-Interrupt 3Interrupt-Channel 3PROGRAM systemeventъ@BIO-Interrupt 4Interrupt-Channel 4PROGRAM systemeventы@BIO-Interrupt 5Interrupt-Channel 5PROGRAM systemeventь@BIO-Interrupt 6Interrupt-Channel 6PROGRAM systemeventэ@B$ћџџџЭЭЭЭЭЭЭЭЭЭЭЭЭЭЭЭStandardkИ:G kИ:GЭЭЭЭЭЭЭЭ 8`KЭЭЭЭЭЭЭЭVAR_CONFIG END_VAR ',џџwЗИGlobal_Variables@]napaka_kom_panel HIA8_vlaga HIA8_vlaga_s HIA2_vlagaSlabaBaterijaPLC TIA8_tempnapaka_kom_scada2TIA7_previs_temp TIA8_temp_sTIA5_previs_tempSetDateTimeDemandComErrorXVHtxt4XVHtxt3XVHtxt2XVHtxt1napaka_kom_scada HIA7_vlaga TIA7_temp_s HIA4_vlaga_s HIA3_vlaga_s HIA6_vlagaStatusTIA6_previs_tempNapakaSenzorSkupnoups_baterijski_nac UserLoggedInSetDateTimeError TIA6_temp_s TIA4_temp UserDisplayDateTimeXVHdepltedBatery1XVHdepltedBatery2 HIA1_vlaga_sUserCurrentNameTIA8_previs_temp HIA2_vlaga_s HIA1_vlaga TIA1_temp_sControl PrevisokaTemp TIA3_temp SetDateTime ComSCADA3 ComSCADA2 TIA5_temp ComSCADA1 TIA5_temp_s XVHlowBatery2 XVHlowBatery1 HIA4_vlaga HIA3_vlaga XVH_AlarmOnTIA4_previs_temp ups_polnjenjeTIA2_previs_tempUserCurrentLevel TIA2_temp TIA2_temp_sComSCADANapakaTSTempTIA8NapakaTSTempTIA7 HIA5_vlaga_sNapakaTSTempTIA6NapakaTSTempTIA5NapakaTSTempTIA4NapakaTSTempTIA3NapakaTSTempTIA2NapakaTSTempTIA1TIA1_previs_tempTIA3_previs_temp TIA6_temp HIA6_vlaga_s TIA4_temp_s XVH_UPSstatus HIA7_vlaga_s ups_alarm TIA1_temp TIA3_temp_sNapakaSenzorVlagaHIA8NapakaSenzorVlagaHIA7NapakaSenzorVlagaHIA6NapakaSenzorVlagaHIA5NapakaSenzorVlagaHIA4NapakaSenzorVlagaHIA3NapakaSenzorVlagaHIA2NapakaSenzorVlagaHIA1 TIA7_temp Date_TimeSetDateTimeFinished HIA5_vlaga razlitjeLAH18`K 8`KЭЭЭЭЭЭЭЭ VAR_GLOBAL (* Digitalni vhodi *) ups_alarm AT %IX0.0:BOOL; (*UPS NAPAJALNIK ALARM*) ups_baterijski_nac AT %IX0.1:BOOL; (*UPS NAPAJALNIK BATERIJSKI NACIN*) ups_polnjenje AT %IX0.2:BOOL; (*UPS NAPAJALNIK POLNJENJE*) razlitjeLAH1 AT %IX0.3:BOOL; (*DETEKTOR RAZLITJA VODE RAZLITJE VODE*) (* Analogni vhodi *) (*1: XIOC-8AI-I2*) TIA1_temp AT %IW6:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA1_vlaga AT %IW8:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA2_temp AT %IW10:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA2_vlaga AT %IW12:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA3_temp AT %IW14:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA3_vlaga AT %IW16:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA4_temp AT %IW18:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA4_vlaga AT %IW20:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) (*2: XIOC-8AI-I2*) TIA5_temp AT %IW22:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA5_vlaga AT %IW24:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA6_temp AT %IW26:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA6_vlaga AT %IW28:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA7_temp AT %IW30:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA7_vlaga AT %IW32:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA8_temp AT %IW34:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA8_vlaga AT %IW36:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) (* (*Za testiranje*) (* Digitalni vhodi *) ups_alarm:BOOL; (*UPS NAPAJALNIK ALARM*) ups_baterijski_nac:BOOL; (*UPS NAPAJALNIK BATERIJSKI NACIN*) ups_polnjenje:BOOL; (*UPS NAPAJALNIK POLNJENJE*) razlitjeLAH1:BOOL; (*DETEKTOR RAZLITJA VODE RAZLITJE VODE*) (* Analogni vhodi *) (*1: XIOC-8AI-I2*) TIA1_temp:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA1_vlaga:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA2_temp:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA2_vlaga:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA3_temp:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA3_vlaga:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA4_temp:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA4_vlaga:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) (*2: XIOC-8AI-I2*) TIA5_temp:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA5_vlaga:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA6_temp:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA6_vlaga:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA7_temp:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA7_vlaga:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) TIA8_temp:WORD; (*MERILNIK TEMP. IN VLAGE 0…60АC/4…20mA*) HIA8_vlaga:WORD; (*MERILNIK TEMP. IN VLAGE 0…100%/4…20mA*) *) (*Temperature in vlage*) TIA1_temp_s:INT; HIA1_vlaga_s : INT; TIA2_temp_s:INT; HIA2_vlaga_s : INT; TIA3_temp_s:INT; HIA3_vlaga_s : INT; TIA4_temp_s:INT; HIA4_vlaga_s : INT; TIA5_temp_s:INT; HIA5_vlaga_s : INT; TIA6_temp_s:INT; HIA6_vlaga_s : INT; TIA7_temp_s:INT; HIA7_vlaga_s : INT; TIA8_temp_s:INT; HIA8_vlaga_s : INT; (*Napake senzorjev ki so prikljuceni na analogne vhode*) NapakaTSTempTIA1 : BOOL; NapakaTSTempTIA2 : BOOL; NapakaTSTempTIA3 : BOOL; NapakaTSTempTIA4 : BOOL; NapakaTSTempTIA5 : BOOL; NapakaTSTempTIA6 : BOOL; NapakaTSTempTIA7 : BOOL; NapakaTSTempTIA8 : BOOL; NapakaSenzorVlagaHIA1: BOOL; NapakaSenzorVlagaHIA2: BOOL; NapakaSenzorVlagaHIA3: BOOL; NapakaSenzorVlagaHIA4: BOOL; NapakaSenzorVlagaHIA5: BOOL; NapakaSenzorVlagaHIA6: BOOL; NapakaSenzorVlagaHIA7: BOOL; NapakaSenzorVlagaHIA8: BOOL; (* Nastavljanje alarma za temperature*) TIA1_previs_temp:BOOL; TIA2_previs_temp:BOOL; TIA3_previs_temp:BOOL; TIA4_previs_temp:BOOL; TIA5_previs_temp:BOOL; TIA6_previs_temp:BOOL; TIA7_previs_temp:BOOL; TIA8_previs_temp:BOOL; PrevisokaTemp:BOOL; (*Previsoka temp. v kateremkoli prostoru*) NapakaSenzorSkupno:BOOL; (* Skupna stanja naprav za prikaz na panelu*) XVH_UPSstatus:BYTE; (* status UPSa za napajanje krmilnika *) (* Napake v komunikacijah*) napaka_kom_panel : BOOL; napaka_kom_scada : BOOL; (*Napaka v komunikaciji s scado za prvi racunalnik (server A)*) napaka_kom_scada2 : BOOL; (*Napaka v komunikaciji s scado za drugi racunalnik (server B)*) (* Skupna napaka v komunikacijah *) ComError:BOOL; (* Spremenljivke za preverjanje napak v komunikacijo s scadami*) ComSCADA1: BOOL:=FALSE; (* spremenljivka, ki se prenese iz scade za preverjanje komunikacije server A*) ComSCADA: BOOL:=FALSE; (* spremenljivka, ki se prenese na scado za preverjanje komunikacije server A*) ComSCADA2: BOOL:=FALSE; (* spremenljivka, ki se prenese na scado za preverjanje komunikacije server B*) ComSCADA3: BOOL:=FALSE; (* spremenljivka, ki se prenese iz scade za preverjanje komunikacije server B*) (* XVH300 kontrolne strukture *) Control: ARRAY [0..8] OF WORD; Status: ARRAY [0..8] OF WORD; (*bit Status[0].0 = 0 pomeni da ni komunikacije s panelom*) Date_Time:ARRAY [0..3] OF WORD; SlabaBaterijaPLC : BOOL; (* Uporabnik in njegova stopnja *) UserCurrentLevel: BYTE := 2; UserLoggedIn:BOOL; UserCurrentName:STRING[40]; UserDisplay:STRING[40]; (* Nastavljanje ure in datuma s Scade *) SetDateTime:BOOL; (* na pozitivno fronto se sprozi prenos ure na krmilnik in panel *) SetDateTimeFinished:BOOL; (* nastavljanje na panelu in krmilniku uspelo *) SetDateTimeError:BOOL; (* napaka pri nastavljanju ure in datuma - na krmilniku ali panelu *) SetDateTimeDemand:BOOL;(* Zahteva panela po prenosu podatkov ure in casa - odgovor scade naj bi bil SetDateTime *) DateTime:DateTimeS; (* ura in datum *) XVHtxt1:STRING[40]; XVHtxt2:STRING[40]; XVHlowBatery1,XVHdepltedBatery1:REAL; (* za sliko baterije UPSa *) XVHtxt3:STRING[40]; XVHtxt4:STRING[40]; XVHlowBatery2,XVHdepltedBatery2:REAL; (* Barvanje gumba za alarm ob kateremukoli alarmu *) XVH_AlarmOn:BOOL; END_VAR'dЭЭЭЭЭЭЭЭGlobal_Variables_Modnet8`K 8`KdЭЭЭЭЭЭЭЭpVAR_GLOBAL (*delovno polje za modnet komunikacijo*) mind :ARRAY [0..9999] OF WORD; mind_bool :ARRAY [0..9999] OF BOOL; (*Buffer-Array*) (*Delovni markerji //*) Bit_0 AT %MX0.0 : BOOL; Byte_0 AT %MB0 : BYTE; Byte_1 AT %MB1 : BYTE; Byte_2 AT %MB2 : BYTE; Byte_3 AT %MB3 : BYTE; Real_0 AT %MR0:REAL; DWord_0 AT %MD0:DWORD; Word_01 AT %MW0:WORD; Word_23 AT %MW2:WORD; String_0 AT %MW10:STRING; wStr_0 AT %MW10:WORD; wStr_1 AT %MW12:WORD; wStr_2 AT %MW14:WORD; wStr_3 AT %MW16:WORD; wStr_4 AT %MW18:WORD; wStr_5 AT %MW20:WORD; wStr_6 AT %MW22:WORD; wStr_7 AT %MW24:WORD; wStr_8 AT %MW26:WORD; wStr_9 AT %MW28:WORD; wStr_10 AT %MW30:WORD; wStr_11 AT %MW32:WORD; wStr_12 AT %MW34:WORD; wStr_13 AT %MW36:WORD; wStr_14 AT %MW38:WORD; bStr_00 AT %MB10:BYTE; bStr_01 AT %MB11:BYTE; bStr_02 AT %MB12:BYTE; bStr_03 AT %MB13:BYTE; bStr_04 AT %MB14:BYTE; bStr_05 AT %MB15:BYTE; bStr_06 AT %MB16:BYTE; bStr_07 AT %MB17:BYTE; bStr_08 AT %MB18:BYTE; bStr_09 AT %MB19:BYTE; bStr_10 AT %MB20:BYTE; bStr_11 AT %MB21:BYTE; bStr_12 AT %MB22:BYTE; bStr_13 AT %MB23:BYTE; bStr_14 AT %MB24:BYTE; bStr_15 AT %MB25:BYTE; bStr_16 AT %MB26:BYTE; bStr_17 AT %MB27:BYTE; bStr_18 AT %MB28:BYTE; bStr_19 AT %MB29:BYTE; bStr_20 AT %MB30:BYTE; bStr_21 AT %MB31:BYTE; bStr_22 AT %MB32:BYTE; bStr_23 AT %MB33:BYTE; bStr_24 AT %MB34:BYTE; bStr_25 AT %MB35:BYTE; bStr_26 AT %MB36:BYTE; bStr_27 AT %MB37:BYTE; bStr_28 AT %MB38:BYTE; bStr_29 AT %MB39:BYTE; (********************************************) END_VAR '1,n‘ztдGlobal_Variables_RETAIN_PERISISTENT@ TIA8_alarm TIA7_alarm TIA3_alarm TIA6_alarmkom_nast_cas_izpada TIA1_alarm TIA4_alarm TIA5_alarm TIA2_alarm8`K 8`K1ЭЭЭЭЭЭЭЭVAR_GLOBAL RETAIN PERSISTENT TIA1_alarm : INT:=32; TIA2_alarm : INT:=32; TIA3_alarm : INT:=32; TIA4_alarm : INT:=32; TIA5_alarm : INT:=32; TIA6_alarm : INT:=32; TIA7_alarm : INT:=32; TIA8_alarm : INT:=32; kom_nast_cas_izpada:UINT:=180; (*v sekundah*) END_VAR' ,г:Variable_Configuration8`K 8`K ЭЭЭЭЭЭЭЭVAR_CONFIG END_VAR J|0|0@@English@Arial@єџџџюЮџџџџЬ3џџџџџџџDEFAULTSystemJ|0|0@@English@Arial@єџџџю hh':'mm':'ssdd'-'MM'-'yyyy@' _,šЫRe DateTimeS8`K 8`KЭЭЭЭЭЭЭЭ”TYPE DateTimeS :STRUCT Sekunda:BYTE; Minuta : BYTE; Ura : BYTE; Dan : BYTE; Mesec : BYTE; Leto:BYTE; Leto2: INT; END_STRUCT END_TYPEZ,"Ymod_Read8`K 8`KЭЭЭЭЭЭЭЭPROGRAM mod_Read VAR END_VARq (*Branje BOOL*) (**) mind_bool[0]:=ComError; mind_bool[1]:=ComSCADA; mind_bool[2]:=ComSCADA1; mind_bool[3]:=ComSCADA2; mind_bool[4]:=ComSCADA3; mind_bool[5]:=napaka_kom_panel; mind_bool[6]:=napaka_kom_scada; mind_bool[7]:=napaka_kom_scada2; mind_bool[8]:=NapakaSenzorSkupno; mind_bool[9]:=NapakaSenzorVlagaHIA1; mind_bool[10]:=NapakaSenzorVlagaHIA2; mind_bool[11]:=NapakaSenzorVlagaHIA3; mind_bool[12]:=NapakaSenzorVlagaHIA4; mind_bool[13]:=NapakaSenzorVlagaHIA5; mind_bool[14]:=NapakaSenzorVlagaHIA6; mind_bool[15]:=NapakaSenzorVlagaHIA7; mind_bool[16]:=NapakaSenzorVlagaHIA8; mind_bool[17]:=NapakaTSTempTIA1; mind_bool[18]:=NapakaTSTempTIA2; mind_bool[19]:=NapakaTSTempTIA3; mind_bool[20]:=NapakaTSTempTIA4; mind_bool[21]:=NapakaTSTempTIA5; mind_bool[22]:=NapakaTSTempTIA6; mind_bool[23]:=NapakaTSTempTIA7; mind_bool[24]:=NapakaTSTempTIA8; mind_bool[25]:=PrevisokaTemp; mind_bool[26]:=razlitjeLAH1; mind_bool[27]:=SetDateTime; mind_bool[28]:=SetDateTimeDemand; mind_bool[29]:=SetDateTimeError; mind_bool[30]:=SetDateTimeFinished; mind_bool[31]:=SlabaBaterijaPLC; mind_bool[32]:=TIA1_previs_temp; mind_bool[33]:=TIA2_previs_temp; mind_bool[34]:=TIA3_previs_temp; mind_bool[35]:=TIA4_previs_temp; mind_bool[36]:=TIA5_previs_temp; mind_bool[37]:=TIA6_previs_temp; mind_bool[38]:=TIA7_previs_temp; mind_bool[39]:=TIA8_previs_temp; mind_bool[40]:=ups_alarm; mind_bool[41]:=ups_baterijski_nac; mind_bool[42]:=ups_polnjenje; mind_bool[43]:=UserLoggedIn; mind_bool[44]:=XVH_AlarmOn; (*Branje INT*) (**) mind[0]:=DateTime.Dan; mind[1]:=DateTime.Leto; mind[2]:=DateTime.Leto2; mind[3]:=DateTime.Mesec; mind[4]:=DateTime.Minuta; mind[5]:=DateTime.Sekunda; mind[6]:=DateTime.Ura; mind[7]:=HIA1_vlaga_s; mind[8]:=HIA2_vlaga_s; mind[9]:=HIA3_vlaga_s; mind[10]:=HIA4_vlaga_s; mind[11]:=HIA5_vlaga_s; mind[12]:=HIA6_vlaga_s; mind[13]:=HIA7_vlaga_s; mind[14]:=HIA8_vlaga_s; mind[15]:=TIA1_alarm; mind[16]:=TIA1_temp_s; mind[17]:=TIA2_alarm; mind[18]:=TIA2_temp_s; mind[19]:=TIA3_alarm; mind[20]:=TIA3_temp_s; mind[21]:=TIA4_alarm; mind[22]:=TIA4_temp_s; mind[23]:=TIA5_alarm; mind[24]:=TIA5_temp_s; mind[25]:=TIA6_alarm; mind[26]:=TIA6_temp_s; mind[27]:=TIA7_alarm; mind[28]:=TIA7_temp_s; mind[29]:=TIA8_alarm; mind[30]:=TIA8_temp_s; mind[31]:=UserCurrentLevel; mind[32]:=XVH_UPSstatus; (*Branje UINT*) (**) mind[6000]:=kom_nast_cas_izpada; (*Branje LONG*) (**) (*Branje REAL*) (**) Read_Real(rVar:=XVHdepltedBatery1,lo:=4000,hi:=4001); Read_Real(rVar:=XVHdepltedBatery2,lo:=4002,hi:=4003); Read_Real(rVar:=XVHlowBatery1,lo:=4004,hi:=4005); Read_Real(rVar:=XVHlowBatery2,lo:=4006,hi:=4007); (*Branje STRING*) (**) (*Read_String(sVar:=Date_Time[0],start:=5000); Read_String(sVar:=Date_Time[1],start:=5015); Read_String(sVar:=Date_Time[2],start:=5030); Read_String(sVar:=Date_Time[3],start:=5045);*) Read_String(sVar:=UserCurrentName,start:=5060);[, <mod_Write_Bool8`K 8`KЭЭЭЭЭЭЭЭOFUNCTION mod_Write_Bool : BOOL VAR_INPUT index: INT; END_VAR VAR END_VARX(*vpis iz scade*) CASE index OF (*Pisanje BOOL*) (**) 0:ComError:=Bit_0; 1:ComSCADA:=Bit_0; 2:ComSCADA1:=Bit_0; 3:ComSCADA2:=Bit_0; 4:ComSCADA3:=Bit_0; 5:napaka_kom_panel:=Bit_0; 6:napaka_kom_scada:=Bit_0; 7:napaka_kom_scada2:=Bit_0; 8:NapakaSenzorSkupno:=Bit_0; 9:NapakaSenzorVlagaHIA1:=Bit_0; 10:NapakaSenzorVlagaHIA2:=Bit_0; 11:NapakaSenzorVlagaHIA3:=Bit_0; 12:NapakaSenzorVlagaHIA4:=Bit_0; 13:NapakaSenzorVlagaHIA5:=Bit_0; 14:NapakaSenzorVlagaHIA6:=Bit_0; 15:NapakaSenzorVlagaHIA7:=Bit_0; 16:NapakaSenzorVlagaHIA8:=Bit_0; 17:NapakaTSTempTIA1:=Bit_0; 18:NapakaTSTempTIA2:=Bit_0; 19:NapakaTSTempTIA3:=Bit_0; 20:NapakaTSTempTIA4:=Bit_0; 21:NapakaTSTempTIA5:=Bit_0; 22:NapakaTSTempTIA6:=Bit_0; 23:NapakaTSTempTIA7:=Bit_0; 24:NapakaTSTempTIA8:=Bit_0; 25:PrevisokaTemp:=Bit_0; (*26:razlitjeLAH1:=Bit_0;*) 27:SetDateTime:=Bit_0; 28:SetDateTimeDemand:=Bit_0; 29:SetDateTimeError:=Bit_0; 30:SetDateTimeFinished:=Bit_0; 31:SlabaBaterijaPLC:=Bit_0; 32:TIA1_previs_temp:=Bit_0; 33:TIA2_previs_temp:=Bit_0; 34:TIA3_previs_temp:=Bit_0; 35:TIA4_previs_temp:=Bit_0; 36:TIA5_previs_temp:=Bit_0; 37:TIA6_previs_temp:=Bit_0; 38:TIA7_previs_temp:=Bit_0; 39:TIA8_previs_temp:=Bit_0; (*40:ups_alarm:=Bit_0;*) (*41:ups_baterijski_nac:=Bit_0;*) (*42:ups_polnjenje:=Bit_0;*) 43:UserLoggedIn:=Bit_0; 44:XVH_AlarmOn:=Bit_0; (*BOOL*) END_CASE\ЭЭЭЭЭЭЭЭmod_Write_dWord8`K 8`KЭЭЭЭЭЭЭЭOFUNCTION mod_Write_dWord : BOOL VAR_INPUT Index:INT; END_VAR VAR END_VARи(*vpis iz scade*) CASE index OF (*Pisanje LONG*) (**) (*Pisanje REAL*) (**) 4001:XVHdepltedBatery1:=Real_0; 4003:XVHdepltedBatery2:=Real_0; 4005:XVHlowBatery1:=Real_0; 4007:XVHlowBatery2:=Real_0; END_CASE],,:8vmod_Write_String8`K 8`KЭЭЭЭЭЭЭЭPFUNCTION mod_Write_String : BOOL VAR_INPUT Index:INT; END_VAR VAR END_VARс(*vpis iz scade*) CASE index OF (*Pisanje STRING*) (**) (*5000:Date_Time[0]:=String_0; 5015:Date_Time[1]:=String_0; 5030:Date_Time[2]:=String_0; 5045:Date_Time[3]:=String_0;*) 5060:UserCurrentName:=String_0; END_CASE^ЭЭЭЭЭЭЭЭmod_Write_Word8`K 8`KЭЭЭЭЭЭЭЭNFUNCTION mod_Write_Word : BOOL VAR_INPUT Index:INT; END_VAR VAR END_VARт(*vpis iz scade*) CASE index OF (*Pisanje INT*) (**) 0:DateTime.Dan:=Byte_0; 1:DateTime.Leto:=Byte_0; 2:DateTime.Leto2:=Word_01; 3:DateTime.Mesec:=Byte_0; 4:DateTime.Minuta:=Byte_0; 5:DateTime.Sekunda:=Byte_0; 6:DateTime.Ura:=Byte_0; 7:HIA1_vlaga_s:=Word_01; 8:HIA2_vlaga_s:=Word_01; 9:HIA3_vlaga_s:=Word_01; 10:HIA4_vlaga_s:=Word_01; 11:HIA5_vlaga_s:=Word_01; 12:HIA6_vlaga_s:=Word_01; 13:HIA7_vlaga_s:=Word_01; 14:HIA8_vlaga_s:=Word_01; 15:TIA1_alarm:=Word_01; 16:TIA1_temp_s:=Word_01; 17:TIA2_alarm:=Word_01; 18:TIA2_temp_s:=Word_01; 19:TIA3_alarm:=Word_01; 20:TIA3_temp_s:=Word_01; 21:TIA4_alarm:=Word_01; 22:TIA4_temp_s:=Word_01; 23:TIA5_alarm:=Word_01; 24:TIA5_temp_s:=Word_01; 25:TIA6_alarm:=Word_01; 26:TIA6_temp_s:=Word_01; 27:TIA7_alarm:=Word_01; 28:TIA7_temp_s:=Word_01; 29:TIA8_alarm:=Word_01; 30:TIA8_temp_s:=Word_01; 31:UserCurrentLevel:=Byte_0; 32:XVH_UPSstatus:=Byte_0; (*Pisanje UINT*) (**) 6000:kom_nast_cas_izpada:=Word_01; ; END_CASE.,BWњёObdelavaAnalognihVhodov8`K 8`KЭЭЭЭЭЭЭЭУFUNCTION_BLOCK ObdelavaAnalognihVhodov VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR FB_SkaliranjeTempTIA1 : Skaliranje; FB_SkaliranjeTempTIA2 : Skaliranje; FB_SkaliranjeTempTIA3 : Skaliranje; FB_SkaliranjeTempTIA4 : Skaliranje; FB_SkaliranjeTempTIA5 : Skaliranje; FB_SkaliranjeTempTIA6 : Skaliranje; FB_SkaliranjeTempTIA7 : Skaliranje; FB_SkaliranjeTempTIA8 : Skaliranje; FB_SkaliranjeVlagaHIA1 : Skaliranje; FB_SkaliranjeVlagaHIA2 : Skaliranje; FB_SkaliranjeVlagaHIA3 : Skaliranje; FB_SkaliranjeVlagaHIA4 : Skaliranje; FB_SkaliranjeVlagaHIA5 : Skaliranje; FB_SkaliranjeVlagaHIA6 : Skaliranje; FB_SkaliranjeVlagaHIA7 : Skaliranje; FB_SkaliranjeVlagaHIA8 : Skaliranje; PomNapakaTSTempTIA1: BOOL; PomNapakaTSTempTIA2: BOOL; PomNapakaTSTempTIA3: BOOL; PomNapakaTSTempTIA4: BOOL; PomNapakaTSTempTIA5: BOOL; PomNapakaTSTempTIA6: BOOL; PomNapakaTSTempTIA7: BOOL; PomNapakaTSTempTIA8: BOOL; PomNapakaSenzorVlagaHIA1: BOOL; PomNapakaSenzorVlagaHIA2: BOOL; PomNapakaSenzorVlagaHIA3: BOOL; PomNapakaSenzorVlagaHIA4: BOOL; PomNapakaSenzorVlagaHIA5: BOOL; PomNapakaSenzorVlagaHIA6: BOOL; PomNapakaSenzorVlagaHIA7: BOOL; PomNapakaSenzorVlagaHIA8: BOOL; END_VARs (*TEMPERATURE*) FB_SkaliranjeTempTIA1( Omogoci:=TRUE , StVzorcenj:=50, TrenutnaVrednost:=TIA1_temp, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=700, SkaliranaVrednost=>TIA1_temp_s, NapakaSenzor=>PomNapakaTSTempTIA1 ); NapakaTSTempTIA1:=PomNapakaTSTempTIA1; FB_SkaliranjeTempTIA2( Omogoci:=TRUE , StVzorcenj:=50, TrenutnaVrednost:=TIA2_temp, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=700, SkaliranaVrednost=>TIA2_temp_s, NapakaSenzor=>PomNapakaTSTempTIA2 ); NapakaTSTempTIA2:=PomNapakaTSTempTIA2; FB_SkaliranjeTempTIA3( Omogoci:=TRUE , StVzorcenj:=50, TrenutnaVrednost:=TIA3_temp, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=700, SkaliranaVrednost=>TIA3_temp_s, NapakaSenzor=>PomNapakaTSTempTIA3 ); NapakaTSTempTIA3:=PomNapakaTSTempTIA3; FB_SkaliranjeTempTIA4( Omogoci:=TRUE , StVzorcenj:=50, TrenutnaVrednost:=TIA4_temp, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=700, SkaliranaVrednost=>TIA4_temp_s, NapakaSenzor=>PomNapakaTSTempTIA4 ); NapakaTSTempTIA4:=PomNapakaTSTempTIA4; FB_SkaliranjeTempTIA5( Omogoci:=TRUE , StVzorcenj:=50, TrenutnaVrednost:=TIA5_temp, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=700, SkaliranaVrednost=>TIA5_temp_s, NapakaSenzor=>PomNapakaTSTempTIA5 ); NapakaTSTempTIA5:=PomNapakaTSTempTIA5; FB_SkaliranjeTempTIA6( Omogoci:=TRUE , StVzorcenj:=50, TrenutnaVrednost:=TIA6_temp, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=700, SkaliranaVrednost=>TIA6_temp_s, NapakaSenzor=>PomNapakaTSTempTIA6 ); NapakaTSTempTIA6:=PomNapakaTSTempTIA6; FB_SkaliranjeTempTIA7( Omogoci:=TRUE , StVzorcenj:=50, TrenutnaVrednost:=TIA7_temp, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=700, SkaliranaVrednost=>TIA7_temp_s, NapakaSenzor=>PomNapakaTSTempTIA7 ); NapakaTSTempTIA7:=PomNapakaTSTempTIA7; FB_SkaliranjeTempTIA8( Omogoci:=TRUE , StVzorcenj:=50, TrenutnaVrednost:=TIA8_temp, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=700, SkaliranaVrednost=>TIA8_temp_s, NapakaSenzor=>PomNapakaTSTempTIA8 ); NapakaTSTempTIA8:=PomNapakaTSTempTIA8; (*VLAGE*) FB_SkaliranjeVlagaHIA1( Omogoci:=TRUE, StVzorcenj:=50, TrenutnaVrednost:=HIA1_vlaga, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=1000, SkaliranaVrednost=>HIA1_vlaga_s, NapakaSenzor=>PomNapakaSenzorVlagaHIA1); NapakaSenzorVlagaHIA1:=PomNapakaSenzorVlagaHIA1; FB_SkaliranjeVlagaHIA2( Omogoci:=TRUE, StVzorcenj:=50, TrenutnaVrednost:=HIA2_vlaga, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=1000, SkaliranaVrednost=>HIA2_vlaga_s, NapakaSenzor=>PomNapakaSenzorVlagaHIA2); NapakaSenzorVlagaHIA2:=PomNapakaSenzorVlagaHIA2; FB_SkaliranjeVlagaHIA3( Omogoci:=TRUE, StVzorcenj:=50, TrenutnaVrednost:=HIA3_vlaga, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=1000, SkaliranaVrednost=>HIA3_vlaga_s, NapakaSenzor=>PomNapakaSenzorVlagaHIA3); NapakaSenzorVlagaHIA3:=PomNapakaSenzorVlagaHIA3; FB_SkaliranjeVlagaHIA4( Omogoci:=TRUE, StVzorcenj:=50, TrenutnaVrednost:=HIA4_vlaga, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=1000, SkaliranaVrednost=>HIA4_vlaga_s, NapakaSenzor=>PomNapakaSenzorVlagaHIA4); NapakaSenzorVlagaHIA4:=PomNapakaSenzorVlagaHIA4; FB_SkaliranjeVlagaHIA5( Omogoci:=TRUE, StVzorcenj:=50, TrenutnaVrednost:=HIA5_vlaga, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=1000, SkaliranaVrednost=>HIA5_vlaga_s, NapakaSenzor=>PomNapakaSenzorVlagaHIA5); NapakaSenzorVlagaHIA5:=PomNapakaSenzorVlagaHIA5; FB_SkaliranjeVlagaHIA6( Omogoci:=TRUE, StVzorcenj:=50, TrenutnaVrednost:=HIA6_vlaga, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=1000, SkaliranaVrednost=>HIA6_vlaga_s, NapakaSenzor=>PomNapakaSenzorVlagaHIA6); NapakaSenzorVlagaHIA6:=PomNapakaSenzorVlagaHIA6; FB_SkaliranjeVlagaHIA7( Omogoci:=TRUE, StVzorcenj:=50, TrenutnaVrednost:=HIA7_vlaga, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=1000, SkaliranaVrednost=>HIA7_vlaga_s, NapakaSenzor=>PomNapakaSenzorVlagaHIA7); NapakaSenzorVlagaHIA7:=PomNapakaSenzorVlagaHIA7; FB_SkaliranjeVlagaHIA8( Omogoci:=TRUE, StVzorcenj:=50, TrenutnaVrednost:=HIA8_vlaga, ObmocjeVhodaLo:=0, ObmocjeVhodaHi:=4095, ObmocjeIzhodaLo:=0, ObmocjeIzhodaHi:=1000, SkaliranaVrednost=>HIA8_vlaga_s, NapakaSenzor=>PomNapakaSenzorVlagaHIA8); NapakaSenzorVlagaHIA8:=PomNapakaSenzorVlagaHIA8; (*Dodano l. 2008 Albin Lorenci - histereza za vklop alarma pri temperaturah*) IF TIA1_temp_s>TIA1_alarm*10 THEN TIA1_previs_temp:=TRUE; ELSIF TIA1_temp_sTIA2_alarm*10 THEN TIA2_previs_temp:=TRUE; ELSIF TIA2_temp_sTIA3_alarm*10 THEN TIA3_previs_temp:=TRUE; ELSIF TIA3_temp_sTIA4_alarm*10 THEN TIA4_previs_temp:=TRUE; ELSIF TIA4_temp_sTIA5_alarm*10 THEN TIA5_previs_temp:=TRUE; ELSIF TIA5_temp_sTIA6_alarm*10 THEN TIA6_previs_temp:=TRUE; ELSIF TIA6_temp_sTIA7_alarm*10 THEN TIA7_previs_temp:=TRUE; ELSIF TIA7_temp_sTIA8_alarm*10 THEN TIA8_previs_temp:=TRUE; ELSIF TIA8_temp_snapaka_kom_panel ); (*Napaka pri komunikaciji s SCADO*) FB_kom_serverA(cas_za_izpad_kom:=kom_nast_cas_izpada , sprem_iz_scade:=ComSCADA1 , sprem_v_scado=>ComSCADA , napaka_kom_scada_alarm=>napaka_kom_scada ); FB_kom_serverB(cas_za_izpad_kom:=kom_nast_cas_izpada , sprem_iz_scade:=ComSCADA3 , sprem_v_scado=>ComSCADA2 , napaka_kom_scada_alarm=>napaka_kom_scada2 ); (*Barvanje gumb za komunikacijo*) ComError:=napaka_kom_panel OR napaka_kom_scada; (*Previsoke temp.*) PrevisokaTemp:=TIA1_previs_temp OR TIA2_previs_temp OR TIA3_previs_temp OR TIA4_previs_temp OR TIA5_previs_temp OR TIA6_previs_temp OR TIA7_previs_temp OR TIA8_previs_temp; (*skupno razlitje*) Skupno_razlitje:=razlitjeLAH1; (*Barvanje alarmnega gumba ko je katerikoli alarm*) XVH_AlarmOn:=ComError OR NapakaSenzorSkupno OR PrevisokaTemp OR Skupno_razlitje ; ),„ЎБH/PLC_PRG@FB_ObdelavaAnalognihVhodov8`K 8`KЭЭЭЭЭЭЭЭUPROGRAM PLC_PRG VAR FB_ObdelavaAnalognihVhodov : ObdelavaAnalognihVhodov; END_VARqFB_ObdelavaAnalognihVhodov(); Panel; UserAndTime; (****Stanje baterije****) SlabaBaterijaPLC:=NOT SysRtcCheckBattery(TRUE); (* 1 = OK, 0 = Prazna *) ups_alarm; (*UPS NAPAJALNIK ALARM*) ups_baterijski_nac; (*UPS NAPAJALNIK BATERIJSKI NACIN*) ups_polnjenje; (*UPS NAPAJALNIK POLNJENJE*) razlitjeLAH1; (*DETEKTOR RAZLITJA VODE RAZLITJE VODE*)`,XtуPLC_PRG_modnet8`K 8`KЭЭЭЭЭЭЭЭ(*Modbus Slave Example*) PROGRAM PLC_PRG_modnet VAR Slave_Adresa:BYTE:=15; Slave_Port:INT:=508; SlaveSetup:MBS_Setup; SlavePoll:MBS_Poll; SlaveAnswer:MBS_Answer; step: USINT; end :BOOL; i: INT; cycle :BOOL := FALSE; (* First cycle *) OpenDefaultPort: BOOL; Write_16: BOOL; Write_15: BOOL; Write_5: BOOL; j: INT; slavepollwOffset_temp: INT; slaveanswerwCount_temp: INT; slaveanswerwoffset_temp: INT; (* Dodano 8.12.2009 *) prvi_zagon: BOOL; prvi_zagon_int: INT; END_VAR< (* Dodano 8.12.2009 *) IF prvi_zagon=FALSE THEN prvi_zagon_int:=prvi_zagon_int+1; IF prvi_zagon_int=10 THEN MBS_ClearSecureAddresses; MBS_CloseAllConnections; END_IF; IF prvi_zagon_int=20 THEN end:=TRUE; END_IF; IF prvi_zagon_int=25 THEN end:=FALSE; END_IF; IF prvi_zagon_int=30 THEN OpenDefaultPort:=TRUE; prvi_zagon:=TRUE; prvi_zagon_int:=0; END_IF; END_IF; (*Modbus Slave Example*) IF Write_16=TRUE THEN (**) FOR j := 0 TO (slaveanswerwCount_temp-1)/15 BY 1 DO (*vpiše se dword, real*) wStr_0:=mind[slaveanswerwoffset_temp+j]; wStr_1:=mind[slaveanswerwoffset_temp+j+1]; wStr_2 :=mind[slaveanswerwoffset_temp+j+2]; wStr_3:=mind[slaveanswerwoffset_temp+j+3]; wStr_4:=mind[slaveanswerwoffset_temp+j+4]; wStr_5 :=mind[slaveanswerwoffset_temp+j+5]; wStr_6:=mind[slaveanswerwoffset_temp+j+6]; wStr_7:=mind[slaveanswerwoffset_temp+j+7]; wStr_8:=mind[slaveanswerwoffset_temp+j+8]; wStr_9:=mind[slaveanswerwoffset_temp+j+9]; wStr_10:=mind[slaveanswerwoffset_temp+j+10]; wStr_11:=mind[slaveanswerwoffset_temp+j+11]; wStr_12:=mind[slaveanswerwoffset_temp+j+12]; wStr_13:=mind[slaveanswerwoffset_temp+j+13]; wStr_14:=mind[slaveanswerwoffset_temp+j+14]; bStr_29:=0; mod_Write_String(index:=slaveanswerwoffset_temp+j); (*vpis real in string*) END_FOR; FOR j := 1 TO slaveanswerwCount_temp-1 BY 2 DO (*vpiše se dword, real*) Word_01:=mind[slaveanswerwoffset_temp+j-1]; Word_23:=mind[slaveanswerwoffset_temp+j]; mod_Write_dWord(index:=slaveanswerwoffset_temp+j); (*vpis real in dword*) END_FOR; FOR j := 0 TO slaveanswerwCount_temp-1 BY 1 DO (*vpiše se word*) Word_01:=mind[slaveanswerwoffset_temp+j]; mod_Write_Word(index:=slaveanswerwoffset_temp+j); (*vpis word*) END_FOR; Write_16:=FALSE; END_IF; IF Write_5=TRUE OR Write_15=TRUE THEN (**) FOR j := 0 TO slaveanswerwCount_temp-1 BY 1 DO Bit_0:=mind_bool[slaveanswerwoffset_temp+j]; mod_Write_Bool(index:=slaveanswerwoffset_temp+j); (*vpis spremembe v spremenljivko*) END_FOR; Write_5:=FALSE; Write_15:=FALSE; END_IF; (*iz scade ni komande za branje*) IF Write_16=FALSE AND Write_5=FALSE AND Write_15=FALSE THEN mod_Read();(*branje spremenljivk za scado*) END_IF (*Close all sockets on corresponding event*) IF cycle = FALSE THEN SysCallbackRegister(INDEXOF(Callback_Stop),event_stop); SysCallbackRegister(INDEXOF(Callback_Reset),event_before_reset); SysCallbackRegister(INDEXOF(Callback_Reset),event_shutdown); cycle := TRUE; END_IF (*Close all connections via application *) IF end = TRUE THEN MBS_CloseAllConnections(); SlaveSetup (xstrobe:= TRUE,bUnitIdentifier:=Slave_Adresa,wDefaultPort:=Slave_Port,xDefaultPortActive:=FALSE); (*Close port*) step := 0; END_IF IF OpenDefaultPort=TRUE THEN SlaveSetup (xstrobe:= TRUE,bUnitIdentifier:=Slave_Adresa,wDefaultPort:=Slave_Port,xDefaultPortActive:=TRUE); (*Close port*) step := 0; OpenDefaultPort:=FALSE; END_IF (* State machine for setup, poll and answer *) CASE step OF 0:(**) SlaveSetup.bUnitIdentifier:=Slave_Adresa;(*Subunitnumber*) slavesetup.wDefaultPort:=Slave_Port;(*Standartport *) SlaveSetup.xAdditionalPortActive:=FALSE;(*Port opened or closed*) SlaveSetup.xSecureMode:=FALSE;(*If TRUE only preset IPs are accepted*) SlaveSetup.tTimeout:=T#3m;(*Timeout if no communication with slave established*) SlaveSetup(xStrobe:=TRUE);(*Strobe starts function*) IF slavesetup.xBusy = FALSE THEN slavesetup(xstrobe := FALSE); step := 1 ; END_IF; 1:(**) SlavePoll(xStrobe:=TRUE);(*Searching for master commands*) IF NOT SlavePoll.xBusy THEN step:=2; SlavePoll(xStrobe:=FALSE); END_IF; 2:(**) step:= 1; CASE SlavePoll.bFunctionCode OF (*Connect accepted pollparameters with answerparameters*) 8:(**)(*Poll answers*) ; 15: slaveanswer.bFunctionCode:=slavepoll.bFunctionCode; slaveanswer.wCount:=slavepoll.wCount; slaveanswer.wOffset:=slavepoll.wOffset; slaveanswerwoffset_temp:=slaveanswer.woffset; slaveanswerwCount_temp:=slaveanswer.wCount; FOR i := 0 TO slaveanswer.wCount-1 BY 1 DO mind_bool[slaveanswer.woffset+i] := slavepoll.xarData[i];(*Write to Data-array*) END_FOR; slaveanswer.xarData:=slavepoll.xarData; Write_15:=TRUE; 16: slaveanswer.bFunctionCode:=slavepoll.bFunctionCode; slaveanswer.wCount:=slavepoll.wCount; slaveanswer.wOffset:=slavepoll.wOffset; slaveanswerwoffset_temp:=slaveanswer.woffset; slaveanswerwCount_temp:=slaveanswer.wCount; FOR i := 0 TO slaveanswer.wCount-1 BY 1 DO mind[slaveanswer.woffset+i] := slavepoll.warData[i];(*Write to Data-array*) END_FOR; slaveanswer.wardata := slavepoll.warData; Write_16:=TRUE; 1,2: slaveanswer.bFunctionCode:=slavepoll.bFunctionCode; slaveanswer.wCount:=slavepoll.wCount; slaveanswer.wOffset:=slavepoll.wOffset; FOR i:= 0 TO slavepoll.wcount-1 BY 1 DO slaveanswer.xarData[i]:=mind_bool[slavepoll.woffset+i]; (*Read from Data-array*) END_FOR 3,4: slaveanswer.bFunctionCode:=slavepoll.bFunctionCode; slaveanswer.wCount:=slavepoll.wCount; slaveanswer.wOffset:=slavepoll.wOffset; FOR i:= 0 TO slaveanswer.wCount-1 BY 1 DO slaveanswer.warData[i]:=mind[slavepoll.woffset+i];(*Read from Data-array*) END_FOR 5: slaveanswer.bFunctionCode:=slavepoll.bFunctionCode; mind_bool[slavepoll.woffset]:=slavepoll.xarData[0];(*Write to Data-array*) slaveanswer.wOffset:=slavepoll.wOffset; slaveanswer.wCount:=slavepoll.wCount; slaveanswer.xarData := slavepoll.xardata; slaveanswerwoffset_temp:=slaveanswer.woffset; slaveanswerwCount_temp:=slaveanswer.wCount; Write_5:=TRUE; 6: slaveanswer.bFunctionCode:= slavepoll.bFunctionCode; mind[slavepoll.woffset]:= slavepoll.warData[0];(*Write to Data-array*) slaveanswer.wOffset:= slavepoll.wOffset; slaveanswer.wCount:=slavepoll.wCount; slaveanswer.wardata := slavepoll.wardata; 23: slaveanswer.bFunctionCode:=slavepoll.bFunctionCode; slaveanswer.wOffset:=slavepoll.wOffset; slaveanswer.wCount:=slavepoll.wCount; FOR i:= 0 TO slavepoll.wCountAdd-1 BY 1 DO mind[slavepoll.woffsetadd+i] := slavepoll.warData[i];(*Write to Data-array*) END_FOR; FOR i := 0 TO slavepoll.wCount BY 1 DO slaveanswer.warData[i] := mind[1+slavepoll.woffset+i];(*Read from Data-array*) END_FOR; END_CASE; IF slavepoll.xAvailable = TRUE THEN slaveanswer();(*When Data ready, send answer*) END_IF END_CASE;aЭЭЭЭЭЭЭЭ Read_dWord8`K 8`KЭЭЭЭЭЭЭЭbFUNCTION Read_dWord : BOOL VAR_INPUT dVAR: DWORD; lo:INT; hi:INT; END_VAR VAR END_VAR2DWord_0:=dVar;mind[lo]:=Word_01;mind[hi]:=Word_23;bЭЭЭЭЭЭЭЭ Read_Real8`K 8`KЭЭЭЭЭЭЭЭ`FUNCTION Read_Real : BOOL VAR_INPUT rVAR: REAL; lo:INT; hi:INT; END_VAR VAR END_VAR1Real_0:=rVar;mind[lo]:=Word_01;mind[hi]:=Word_23;cЭЭЭЭЭЭЭЭ Read_String8`K 8`KЭЭЭЭЭЭЭЭ\FUNCTION Read_String : BOOL VAR_INPUT sVar: STRING; start:INT; END_VAR VAR END_VAR–String_0:=LEFT (sVar,29); mind[start]:=wStr_0; mind[start+1]:=wStr_1; mind[start+2]:=wStr_2; mind[start+3]:=wStr_3; mind[start+4]:=wStr_4; mind[start+5]:=wStr_5; mind[start+6]:=wStr_6; mind[start+7]:=wStr_7; mind[start+8]:=wStr_8; mind[start+9]:=wStr_9; mind[start+10]:=wStr_10; mind[start+11]:=wStr_11; mind[start+12]:=wStr_12; mind[start+13]:=wStr_13; bStr_29:=0; mind[start+14]:=wStr_14;,,ЮЗSCADA_komunikacija8`K 8`KЭЭЭЭЭЭЭЭПFUNCTION_BLOCK SCADA_komunikacija VAR_INPUT cas_za_izpad_kom:UINT:=30; (*Nastavitev casa po katerem naj javi krmilnik izpad komunikacije s scado*) sprem_iz_scade:BOOL; (*Stanje, ki se vrne v scado*) END_VAR VAR_OUTPUT sprem_v_scado:BOOL; (*Stanje, ki se posilja na scado*) napaka_kom_scada_alarm : BOOL; (*Spremenljivka, ki javi napako v komunikaciji s scado*) END_VAR VAR ComIzpad: TON; ComIzpad1: TON; END_VARз(*Preverjanje izpada komunikacije s scado*) IF sprem_iz_scade THEN sprem_v_scado:=FALSE; ELSE sprem_v_scado:=TRUE; END_IF; IF (cas_za_izpad_kom > 60000) THEN cas_za_izpad_kom:=60000; END_IF; (*Omejitev casa za izpad komunikacije na 1000 minut*) ComIzpad(IN:=sprem_iz_scade , PT:=UINT_TO_TIME(cas_za_izpad_kom*1000)); ComIzpad1(IN:=NOT sprem_iz_scade , PT:=UINT_TO_TIME(cas_za_izpad_kom*1000)); napaka_kom_scada_alarm:= ComIzpad.Q OR ComIzpad1.Q;+,Иš Skaliranje8`K 8`KЭЭЭЭЭЭЭЭДFUNCTION_BLOCK Skaliranje VAR_INPUT Omogoci : BOOL; StVzorcenj : INT; TrenutnaVrednost : INT; ObmocjeVhodaLo : REAL; ObmocjeVhodaHi : REAL; ObmocjeIzhodaLo : REAL; ObmocjeIzhodaHi : REAL; END_VAR VAR_OUTPUT SkaliranaVrednost : INT; NapakaSenzor : BOOL; END_VAR VAR SmerniKoeficientPremice : REAL; VrednostVTockiNic : REAL; PomTrenutnaVrednost : UDINT; TrenVzorec : INT; TrenutnaVrednost1 : INT; END_VARb NapakaSenzor:=FALSE; (*Spremeni TrenutnaVrednost v programu v TrenutnaVrednost1, spremeniti je potrebno tudi konfiguracijo modula!!!! (* Razširitev obmoшja modula iz 4-20mA na 0-20mA*) TrenutnaVrednost1:=REAL_TO_INT(TrenutnaVrednost*1.25-1023.75); *) (**** Povpreшenje vhoda ****) IF Omogoci THEN IF TrenVzorecObmocjeVhodaHi-5 THEN NapakaSenzor:=TRUE; END_IF; ELSE; SkaliranaVrednost:=0; END_IF;/,Xt UserAndTime8`K 8`KЭЭЭЭЭЭЭЭСPROGRAM UserAndTime VAR {flag noread, nowrite on} SetTime:S40_SetRealTimeClock; TempError:BOOL; SetTimeNegFl:F_TRIG; SetTimePosFl:R_TRIG; TimeSinhroTimer:TON; {flag off} END_VAR(* Uporabnik *) UserLoggedIn:=(UserCurrentLevel=0) OR (UserCurrentLevel=1); IF UserLoggedIn THEN UserDisplay:=CONCAT('Uporabnik: ',UserCurrentName); ELSE UserDisplay:=''; END_IF (* Nastavljanje casa na panelu in krmilniku *) TimeSinhroTimer(IN:=SetDateTime , PT:=t#3s , Q=> , ET=> ); (* tri sekunde za izvrsitev ukaza *) SetTimePosFl(CLK:=SetDateTime OR SetDateTimeDemand , Q=> ); (* Cas se nastavi ob pozitivni fronti SetDateTime sprem. *) IF SetTimePosFl.Q THEN SetDateTimeFinished:=FALSE; SetDateTimeDemand:=FALSE; SetDateTimeError:=FALSE; (* Prepis podatkov o casu in datumu v podatkovno tabelo Date_Time XVH300 *) Date_Time[0]:=DateTime.Minuta*256+DateTime.Sekunda; Date_Time[1]:=DateTime.Ura; Date_Time[2]:=DateTime.Mesec*256+DateTime.Dan; Date_Time[3]:=2000+DateTime.Leto; Control[0].10:=TRUE; (* Ukaz panelu naj nastavi cas *) END_IF; SetTime(set:=SetDateTime, (* nastavi cas krmilniku *) Year:=DateTime.Leto , Month:=DateTime.Mesec , Day:=DateTime.Dan , Hour:=DateTime.Ura , Minute:=DateTime.Minuta , Second:=DateTime.Sekunda , Error=>TempError ); IF Status[0].10 THEN Control[0].10:=FALSE; END_IF; (* panel nastavlja cas - zahteve ne rabi vec *) (* preverjanje nastavljanja casa na panelu - kdo bo prej Timer ali negativna fronta signala Status[0].10 *) SetTimeNegFl(CLK:=Status[0].10 , Q=> ); (* negativna fronta pomeni konec nastavljanja casa *) IF SetTimeNegFl.Q OR TimeSinhroTimer.Q THEN SetDateTimeFinished:=TRUE; SetDateTimeError:=TempError OR TimeSinhroTimer.Q; SetDateTime:=FALSE; (* ne glede na zmagovalca je sinhronizacije konec *) END_IF;§џџџ,Xv (XS40_MollerFB.lib 19.1.05 12:23:52@85юA#SysLibRtc.lib 4.4.03 09:42:00@H7>-XS40_MollerFB_RTC.lib 29.11.04 17:14:24@а<ЋA"Standard.lib 7.6.02 10:26:00@n=(SYSLIBCALLBACK.LIB 9.7.02 17:14:54@ю§*=&xSysCom200.lib 11.12.03 15:40:40@иsи?'ModbusMaster.lib 17.5.05 16:55:00@ФŠB)SysLibSockets.lib 12.11.04 10:21:08@tr”A$ModbusTCP.lib 24.5.05 15:50:18@1“BUtil.lib 4.1.02 10:24:10@Њf5<*DataScale@ DAY_OF_WEEKDATconcatX@DateConcat@DateSplit@DATsplitX@ FifoBx@ FifoWx@IEEE_To_Real@ LifoBx@ LifoWx@MI4netDP16@MI4netDP32@MS_TimeFalling@MS_TimeRising@MV4netDP38@MV4netDP70@Real_To_IEEE@S_TimeFalling@S_TimeRising@S40_16BitCounter@S40_32BitCounter@ SR_x@ SRB_x@ SRW_x@TimeConcatX@TimeGenerator@TimePulse@TimeSplitX@TODconcat@TODsplit@Globale_Variablen@ SysRtcCheckBattery@SysRtcGetHourMode@SysRtcGetTime@SysRtcSetTime@Globale_Variablen@"S40_GetRealTimeClock@ S40_Rtc@S40_SetRealTimeClock@Globale_Variablen@CONCAT@ CTD@ CTU@ CTUD@ DELETE@ F_TRIG@ FIND@ INSERT@ LEFT@ LEN@ MID@ R_TRIG@ REPLACE@ RIGHT@RS@ RTC@ SEMA@SR@ TOF@ TON@TP@Global Variables 0@bSysCallbackRegister@ RTS_EVENTRTS_EVENT_FILTERRTS_EVENT_SOURCESysCallbackUnregister@Globale_Variablen@Version@rVersionb˜xSysComClose@ COMBAUDRATE COMCONTROL COMDATALEN COMPARITYCOMPORTS COMSETTINGS COMSTOPBITSxSysComGetVersion1000@xSysComOpen@xSysComRead@xSysComReadControl@xSysComSetSettings@xSysComWrite@xSysComWriteControl@ModbusMaster@ModbusMaster_CoilMax@ModbusMaster_CRC16@ModbusMaster_EventStop@Global_Variables@|SysSockAccept@INADDR SOCKADDRESS SOCKET_FD_SET SOCKET_LINGERSOCKET_TIMEVALSysSockBind@SysSockClose@SysSockConnect@SysSockCreate@SysSockGetHostByName@SysSockGetHostName@SysSockGetOption@SysSockHtonl@SysSockHtons@SysSockInetAddr@SysSockInetNtoa@SysSockIoctl@SysSockListen@SysSockNtohl@SysSockNtohs@SysSockRecv@SysSockRecvFrom@SysSockSelect@SysSockSend@SysSockSendTo@SysSockSetIPAddress@SysSockSetOption@SysSockShutdown@Globale_Variablen@ЉCallback_Reset@PModbusBufferType TConnectTypeTModbusBufferType TSlaveType TSockAddrTSockSet TSockTimevalCallback_Stop@MB_ExchangeWord@MB_MakeIP@MBM_CloseAllConnections@MBM_CloseConnection@MBM_Communicate@MBM_Loopback@MBM_ReadCoilStatus@MBM_ReadHoldingRegisters@MBM_ReadInputRegisters@MBM_ReadInputStatus@MBM_ReadWriteRegisters@MBM_Send@MBM_WriteMultipleCoils@ MBM_WriteMultipleRegisters@MBM_WriteSingleCoil@MBM_WriteSingleRegister@MBS_AddSecureAddress@MBS_Answer@MBS_ClearSecureAddresses@MBS_CloseAllConnections@MBS_DeleteSecureAddress@MBS_Poll@MBS_Setup@Globale_Variablen@5BCD_TO_INT@GEN_MODEPOINT BLINK@CHARCURVE@DERIVATIVE@ EXTRACT@ GEN@HYSTERESIS@INT_TO_BCD@INTEGRAL@LIMITALARM@ PACK@PD@ PID@ PUTBIT@RAMP_INT@RAMP_REAL@STATISTICS_INT@STATISTICS_REAL@ UNPACK@VARIANCE@ Version@Globale_Variablen@ЭЭЭЭЭЭЭЭ2ѓѓџџџџџџџџџџџџџџџџ њџџџ,BWў:јџџџЭЭЭЭЭЭЭЭPOUsModnet mod_ReadZmod_Write_Bool[mod_Write_dWord\mod_Write_String]mod_Write_Word^PLC_PRG_modnet` Read_dWorda Read_Realb Read_StringcџџџџObdelavaAnalognihVhodov.Panel-PLC_PRG)SCADA_komunikacija, Skaliranje+ UserAndTime/џџџџ Data types DateTimeS_џџџџVisualizationsџџџџGlobal VariablesGlobal_VariablesGlobal_Variables_Modnetd#Global_Variables_RETAIN_PERISISTENT1Variable_Configuration џџџџЭЭЭЭЭЭЭЭlИ:G@B@BAB localhostP localhostP localhostP?qБ