(* @PATH := '\/Modnet' *) (* @SYMFILEFLAGS := '2048' *) PROGRAM mod_Read VAR END_VAR (* @END_DECLARATION := '0' *) (*Branje BOOL*) (**) mind_bool[0]:=AlarmKlimat1_Napaka; mind_bool[1]:=AlarmKlimat2_Napaka; mind_bool[2]:=AlarmKlimat3_Napaka; mind_bool[3]:=AlarmLAH1_RazlitjeVode; mind_bool[4]:=AlarmLAH2_RazlitjeVode; mind_bool[5]:=AlarmSinhronizacijaNOK; mind_bool[6]:=AlarmSP1_Napaka; mind_bool[7]:=AlarmSP2_Napaka; mind_bool[8]:=AlarmSP3_Napaka; mind_bool[9]:=AlarmSP4_Napaka; mind_bool[10]:=AlarmSP5_Napaka; mind_bool[11]:=AlarmTempTIA123Previsoka; mind_bool[12]:=AlarmTempTIA4Previsoka; mind_bool[13]:=AlarmTempTIA5Previsoka; mind_bool[14]:=AlarmTSTempPrevisoka; mind_bool[15]:=AlarmUPSKrmOmara_Alarm; mind_bool[16]:=ComSCADA; mind_bool[17]:=ComSCADA1; mind_bool[18]:=ErrComKlima[1]; mind_bool[19]:=ErrComKlima[2]; mind_bool[20]:=ErrComKlima[3]; mind_bool[21]:=ErrCommScada; mind_bool[22]:=ErrComPanelPLC; mind_bool[23]:=ErrComPMM; mind_bool[24]:=ErrComPort2; mind_bool[25]:=Klima1_Onemogocena; mind_bool[26]:=Klima2_Onemogocena; mind_bool[27]:=Klima3_Onemogocena; mind_bool[28]:=Klima[1].IzhodniVentilator; mind_bool[29]:=Klima[1].Kompresor1; mind_bool[30]:=Klima[1].Kompresor2; mind_bool[31]:=Klima[1].Razvlazevanje; mind_bool[32]:=Klima[1].VentilGretjeOdpiranje; mind_bool[33]:=Klima[1].VentilGretjeZapiranje; mind_bool[34]:=Klima[1].Vlazenje; mind_bool[35]:=Klima[2].IzhodniVentilator; mind_bool[36]:=Klima[2].Kompresor1; mind_bool[37]:=Klima[2].Kompresor2; mind_bool[38]:=Klima[2].Razvlazevanje; mind_bool[39]:=Klima[2].VentilGretjeOdpiranje; mind_bool[40]:=Klima[2].VentilGretjeZapiranje; mind_bool[41]:=Klima[2].Vlazenje; mind_bool[42]:=Klima[3].IzhodniVentilator; mind_bool[43]:=Klima[3].Kompresor1; mind_bool[44]:=Klima[3].Kompresor2; mind_bool[45]:=Klima[3].Razvlazevanje; mind_bool[46]:=Klima[3].VentilGretjeOdpiranje; mind_bool[47]:=Klima[3].VentilGretjeZapiranje; mind_bool[48]:=Klima[3].Vlazenje; mind_bool[49]:=KlimaError[1].AlarmKompresor1; mind_bool[50]:=KlimaError[1].AlarmKompresor2; mind_bool[51]:=KlimaError[1].FenThermalCutout; mind_bool[52]:=KlimaError[1].IzlivVode; mind_bool[53]:=KlimaError[1].Kompresor1naMejiStevilaObrUr; mind_bool[54]:=KlimaError[1].Kompresor2naMejiStevilaObrUr; mind_bool[55]:=KlimaError[1].Kond1FenThermalCutout; mind_bool[56]:=KlimaError[1].Kond2FenThermalCutout; mind_bool[57]:=KlimaError[1].NapakaPriPretokuVode; mind_bool[58]:=KlimaError[1].NapakaPriPretokuZraka; mind_bool[59]:=KlimaError[1].NapakaSenzorPritiska; mind_bool[60]:=KlimaError[1].NapakaSenzorVlaznosti; mind_bool[61]:=KlimaError[1].NapakaTSTemperaturaProstora; mind_bool[62]:=KlimaError[1].NiTokaVVlazilcu; mind_bool[63]:=KlimaError[1].NiVodeVVlazilcu; mind_bool[64]:=KlimaError[1].NizekPritiskKompresor1; mind_bool[65]:=KlimaError[1].NizekPritiskKompresor2; mind_bool[66]:=KlimaError[1].NizkaTempVProstoru; mind_bool[67]:=KlimaError[1].NizkaVlaznost; mind_bool[68]:=KlimaError[1].PozarniAlarm; mind_bool[69]:=KlimaError[1].TermZascInVisokPritiskKompr1; mind_bool[70]:=KlimaError[1].TermZascInVisokPritiskKompr2; mind_bool[71]:=KlimaError[1].ThermalCutoutHeater1; mind_bool[72]:=KlimaError[1].ThermalCutoutHeater2; mind_bool[73]:=KlimaError[1].VentilatorNaMejiStevilaObrUr; mind_bool[74]:=KlimaError[1].VisokaTempVProstoru; mind_bool[75]:=KlimaError[1].VisokaVlaznost; mind_bool[76]:=KlimaError[1].VisokPritiskVKrogu1; mind_bool[77]:=KlimaError[1].VisokPritiskVKrogu2; mind_bool[78]:=KlimaError[1].VisokTokVVlazilcu; mind_bool[79]:=KlimaError[1].VlazilecnaMejiStevilaObrUr; mind_bool[80]:=KlimaError[1].ZamasenFilter; mind_bool[81]:=KlimaError[1].ZunanjiAlarm; mind_bool[82]:=KlimaError[2].AlarmKompresor1; mind_bool[83]:=KlimaError[2].AlarmKompresor2; mind_bool[84]:=KlimaError[2].FenThermalCutout; mind_bool[85]:=KlimaError[2].IzlivVode; mind_bool[86]:=KlimaError[2].Kompresor1naMejiStevilaObrUr; mind_bool[87]:=KlimaError[2].Kompresor2naMejiStevilaObrUr; mind_bool[88]:=KlimaError[2].Kond1FenThermalCutout; mind_bool[89]:=KlimaError[2].Kond2FenThermalCutout; mind_bool[90]:=KlimaError[2].NapakaPriPretokuVode; mind_bool[91]:=KlimaError[2].NapakaPriPretokuZraka; mind_bool[92]:=KlimaError[2].NapakaSenzorPritiska; mind_bool[93]:=KlimaError[2].NapakaSenzorVlaznosti; mind_bool[94]:=KlimaError[2].NapakaTSTemperaturaProstora; mind_bool[95]:=KlimaError[2].NiTokaVVlazilcu; mind_bool[96]:=KlimaError[2].NiVodeVVlazilcu; mind_bool[97]:=KlimaError[2].NizekPritiskKompresor1; mind_bool[98]:=KlimaError[2].NizekPritiskKompresor2; mind_bool[99]:=KlimaError[2].NizkaTempVProstoru; mind_bool[100]:=KlimaError[2].NizkaVlaznost; mind_bool[101]:=KlimaError[2].PozarniAlarm; mind_bool[102]:=KlimaError[2].TermZascInVisokPritiskKompr1; mind_bool[103]:=KlimaError[2].TermZascInVisokPritiskKompr2; mind_bool[104]:=KlimaError[2].ThermalCutoutHeater1; mind_bool[105]:=KlimaError[2].ThermalCutoutHeater2; mind_bool[106]:=KlimaError[2].VentilatorNaMejiStevilaObrUr; mind_bool[107]:=KlimaError[2].VisokaTempVProstoru; mind_bool[108]:=KlimaError[2].VisokaVlaznost; mind_bool[109]:=KlimaError[2].VisokPritiskVKrogu1; mind_bool[110]:=KlimaError[2].VisokPritiskVKrogu2; mind_bool[111]:=KlimaError[2].VisokTokVVlazilcu; mind_bool[112]:=KlimaError[2].VlazilecnaMejiStevilaObrUr; mind_bool[113]:=KlimaError[2].ZamasenFilter; mind_bool[114]:=KlimaError[2].ZunanjiAlarm; mind_bool[115]:=KlimaError[3].AlarmKompresor1; mind_bool[116]:=KlimaError[3].AlarmKompresor2; mind_bool[117]:=KlimaError[3].FenThermalCutout; mind_bool[118]:=KlimaError[3].IzlivVode; mind_bool[119]:=KlimaError[3].Kompresor1naMejiStevilaObrUr; mind_bool[120]:=KlimaError[3].Kompresor2naMejiStevilaObrUr; mind_bool[121]:=KlimaError[3].Kond1FenThermalCutout; mind_bool[122]:=KlimaError[3].Kond2FenThermalCutout; mind_bool[123]:=KlimaError[3].NapakaPriPretokuVode; mind_bool[124]:=KlimaError[3].NapakaPriPretokuZraka; mind_bool[125]:=KlimaError[3].NapakaSenzorPritiska; mind_bool[126]:=KlimaError[3].NapakaSenzorVlaznosti; mind_bool[127]:=KlimaError[3].NapakaTSTemperaturaProstora; mind_bool[128]:=KlimaError[3].NiTokaVVlazilcu; mind_bool[129]:=KlimaError[3].NiVodeVVlazilcu; mind_bool[130]:=KlimaError[3].NizekPritiskKompresor1; mind_bool[131]:=KlimaError[3].NizekPritiskKompresor2; mind_bool[132]:=KlimaError[3].NizkaTempVProstoru; mind_bool[133]:=KlimaError[3].NizkaVlaznost; mind_bool[134]:=KlimaError[3].PozarniAlarm; mind_bool[135]:=KlimaError[3].TermZascInVisokPritiskKompr1; mind_bool[136]:=KlimaError[3].TermZascInVisokPritiskKompr2; mind_bool[137]:=KlimaError[3].ThermalCutoutHeater1; mind_bool[138]:=KlimaError[3].ThermalCutoutHeater2; mind_bool[139]:=KlimaError[3].VentilatorNaMejiStevilaObrUr; mind_bool[140]:=KlimaError[3].VisokaTempVProstoru; mind_bool[141]:=KlimaError[3].VisokaVlaznost; mind_bool[142]:=KlimaError[3].VisokPritiskVKrogu1; mind_bool[143]:=KlimaError[3].VisokPritiskVKrogu2; mind_bool[144]:=KlimaError[3].VisokTokVVlazilcu; mind_bool[145]:=KlimaError[3].VlazilecnaMejiStevilaObrUr; mind_bool[146]:=KlimaError[3].ZamasenFilter; mind_bool[147]:=KlimaError[3].ZunanjiAlarm; mind_bool[148]:=NacDelovanjaKlime1_Avtomatsko; mind_bool[149]:=NacDelovanjaKlime2_3Avtomatsko; mind_bool[150]:=NapakaSenzorTemp1; mind_bool[151]:=NapakaSenzorTemp2; mind_bool[152]:=NapakaSenzorTemp3; mind_bool[153]:=NapakaSenzorTempKontrSoba; mind_bool[154]:=NapakaSenzorTempLinkProstor; mind_bool[155]:=NapakaSenzorVlaga1; mind_bool[156]:=NapakaSenzorVlaga2; mind_bool[157]:=NapakaSenzorVlaga3; mind_bool[158]:=NapakaSenzorVlagaKontrSoba; mind_bool[159]:=NapakaSenzorVlagaLinkProstor; mind_bool[160]:=NastaviCasNaKrmilniku; mind_bool[161]:=NastavitevUreKrUspesna; mind_bool[162]:=OpozoriloBaterijaPLC; mind_bool[163]:=PMM1OverCurrentBetw[1]; mind_bool[164]:=PMM1OverCurrentBetw[2]; mind_bool[165]:=PMM1OverCurrentBetw[3]; mind_bool[166]:=PMM1OverCurrentOver[1]; mind_bool[167]:=PMM1OverCurrentOver[2]; mind_bool[168]:=PMM1OverCurrentOver[3]; mind_bool[169]:=PMM1OverVoltage; mind_bool[170]:=RocniVklopKlima1; mind_bool[171]:=RocniVklopKlima2; mind_bool[172]:=RocniVklopKlima3; mind_bool[173]:=SinhronizacijaPanelOK; mind_bool[174]:=SinhronizirajCas_Panel; mind_bool[175]:=SkupneNapakeNaprav_Klima1; mind_bool[176]:=SkupneNapakeNaprav_Klima2; mind_bool[177]:=SkupneNapakeNaprav_Klima3; mind_bool[178]:=SkupneNapakeNaprav_Komunikacija; mind_bool[179]:=SkupneNapakeNaprav_PMMVirA; mind_bool[180]:=SkupneNapakeNaprav_PMMVirB; mind_bool[181]:=SkupneNapakeNaprav_PMMVirBVirA; mind_bool[182]:=SkupneNapakeNaprav_TempVlaga; mind_bool[183]:=StanjeKlimat1_Delovanje; mind_bool[184]:=StanjeKlimat2_Delovanje; mind_bool[185]:=StanjeKlimat3_Delovanje; mind_bool[186]:=StanjeSP1_Delovanje; mind_bool[187]:=StanjeSP2_Delovanje; mind_bool[188]:=StanjeSP3_Delovanje; mind_bool[189]:=StanjeSP4_Delovanje; mind_bool[190]:=StanjeSP5_Delovanje; mind_bool[191]:=StanjeUPSKrmOmara_BaterijskiNacin; mind_bool[192]:=StanjeUPSKrmOmara_Polnenje; mind_bool[193]:=UserLoggedIn; mind_bool[194]:=XVH_AlarmOn; mind_bool[195]:=Klimat1_Vklop; mind_bool[196]:=Klimat2_Vklop; mind_bool[197]:=Klimat3_Vklop; mind_bool[198]:=ErrCommScada2; mind_bool[199]:=ComSCADA2; mind_bool[200]:=ComSCADA3; (*Branje INT*) (**) mind[0]:=DatumCas.Dan; mind[1]:=DatumCas.Leto; mind[2]:=DatumCas.Leto2; mind[3]:=DatumCas.Mesec; mind[4]:=DatumCas.Minuta; mind[5]:=DatumCas.Sekunda; mind[6]:=DatumCas.Ura; mind[7]:=Klima[1].Vlazilec_Stanja; mind[8]:=Klima[2].Vlazilec_Stanja; mind[9]:=Klima[3].Vlazilec_Stanja; mind[10]:=StUrZaPreklopKlim; mind[11]:=UPSstatus_Prikaz_PanelSCADA; mind[12]:=UserCurrentLevel; (*Branje UINT*) (**) mind[6000]:=PMM.AlarmPhase[1].C01_16_60to80; mind[6001]:=PMM.AlarmPhase[1].C01_16_over80; mind[6002]:=PMM.AlarmPhase[1].C17_32_60to80; mind[6003]:=PMM.AlarmPhase[1].C17_32_over80; mind[6004]:=PMM.AlarmPhase[1].C33_42_60to80; mind[6005]:=PMM.AlarmPhase[1].C33_42_over80; mind[6006]:=PMM.AlarmPhase[2].C01_16_60to80; mind[6007]:=PMM.AlarmPhase[2].C01_16_over80; mind[6008]:=PMM.AlarmPhase[2].C17_32_60to80; mind[6009]:=PMM.AlarmPhase[2].C17_32_over80; mind[6010]:=PMM.AlarmPhase[2].C33_42_60to80; mind[6011]:=PMM.AlarmPhase[2].C33_42_over80; mind[6012]:=PMM.AlarmPhase[3].C01_16_60to80; mind[6013]:=PMM.AlarmPhase[3].C01_16_over80; mind[6014]:=PMM.AlarmPhase[3].C17_32_60to80; mind[6015]:=PMM.AlarmPhase[3].C17_32_over80; mind[6016]:=PMM.AlarmPhase[3].C33_42_60to80; mind[6017]:=PMM.AlarmPhase[3].C33_42_over80; mind[6018]:=kom_nast_cas_izpada; (*Branje LONG*) (**) (*Branje REAL*) (**) Read_Real(rVar:=AktualniSetPointTemp,lo:=4000,hi:=4001); Read_Real(rVar:=AktualniSetPointVlaga,lo:=4002,hi:=4003); Read_Real(rVar:=Klima[1].NastMaxTemp,lo:=4004,hi:=4005); Read_Real(rVar:=Klima[1].NastMaxVlaznost,lo:=4006,hi:=4007); Read_Real(rVar:=Klima[1].NastMinTemp,lo:=4008,hi:=4009); Read_Real(rVar:=Klima[1].NastMinVlaznost,lo:=4010,hi:=4011); Read_Real(rVar:=Klima[1].NastTempProstora,lo:=4012,hi:=4013); Read_Real(rVar:=Klima[1].NastVlaznost,lo:=4014,hi:=4015); Read_Real(rVar:=Klima[1].Pritisk,lo:=4016,hi:=4017); Read_Real(rVar:=Klima[1].TemperaturaProstora,lo:=4018,hi:=4019); Read_Real(rVar:=Klima[1].VlaznostProstora,lo:=4020,hi:=4021); Read_Real(rVar:=Klima[2].NastMaxTemp,lo:=4022,hi:=4023); Read_Real(rVar:=Klima[2].NastMaxVlaznost,lo:=4024,hi:=4025); Read_Real(rVar:=Klima[2].NastMinTemp,lo:=4026,hi:=4027); Read_Real(rVar:=Klima[2].NastMinVlaznost,lo:=4028,hi:=4029); Read_Real(rVar:=Klima[2].NastTempProstora,lo:=4030,hi:=4031); Read_Real(rVar:=Klima[2].NastVlaznost,lo:=4032,hi:=4033); Read_Real(rVar:=Klima[2].Pritisk,lo:=4034,hi:=4035); Read_Real(rVar:=Klima[2].TemperaturaProstora,lo:=4036,hi:=4037); Read_Real(rVar:=Klima[2].VlaznostProstora,lo:=4038,hi:=4039); Read_Real(rVar:=Klima[3].NastMaxTemp,lo:=4040,hi:=4041); Read_Real(rVar:=Klima[3].NastMaxVlaznost,lo:=4042,hi:=4043); Read_Real(rVar:=Klima[3].NastMinTemp,lo:=4044,hi:=4045); Read_Real(rVar:=Klima[3].NastMinVlaznost,lo:=4046,hi:=4047); Read_Real(rVar:=Klima[3].NastTempProstora,lo:=4048,hi:=4049); Read_Real(rVar:=Klima[3].NastVlaznost,lo:=4050,hi:=4051); Read_Real(rVar:=Klima[3].Pritisk,lo:=4052,hi:=4053); Read_Real(rVar:=Klima[3].TemperaturaProstora,lo:=4054,hi:=4055); Read_Real(rVar:=Klima[3].VlaznostProstora,lo:=4056,hi:=4057); Read_Real(rVar:=ObratUreKlim[1],lo:=4058,hi:=4059); Read_Real(rVar:=ObratUreKlim[2],lo:=4060,hi:=4061); Read_Real(rVar:=ObratUreKlim[3],lo:=4062,hi:=4063); Read_Real(rVar:=PMM.ActiveEnergyConsumed_kWh,lo:=4064,hi:=4065); Read_Real(rVar:=PMM.ActivePowerPhaseA_kW,lo:=4066,hi:=4067); Read_Real(rVar:=PMM.ActivePowerPhaseB_kW,lo:=4068,hi:=4069); Read_Real(rVar:=PMM.ActivePowerPhaseC_kW,lo:=4070,hi:=4071); Read_Real(rVar:=PMM.AparentPowerPhaseA,lo:=4072,hi:=4073); Read_Real(rVar:=PMM.AparentPowerPhaseB,lo:=4074,hi:=4075); Read_Real(rVar:=PMM.AparentPowerPhaseC,lo:=4076,hi:=4077); Read_Real(rVar:=PMM.AverageCurrent_A,lo:=4078,hi:=4079); Read_Real(rVar:=PMM.AveragePhaseToNeutral_V,lo:=4080,hi:=4081); Read_Real(rVar:=PMM.AveragePhaseToPhase_V,lo:=4082,hi:=4083); Read_Real(rVar:=PMM.CurrentInPhaseA_A,lo:=4084,hi:=4085); Read_Real(rVar:=PMM.CurrentInPhaseB_A,lo:=4086,hi:=4087); Read_Real(rVar:=PMM.CurrentInPhaseC_A,lo:=4088,hi:=4089); Read_Real(rVar:=PMM.Frequency_Hz,lo:=4090,hi:=4091); Read_Real(rVar:=PMM.Phase[1].Current[10],lo:=4092,hi:=4093); Read_Real(rVar:=PMM.Phase[1].Current[11],lo:=4094,hi:=4095); Read_Real(rVar:=PMM.Phase[1].Current[12],lo:=4096,hi:=4097); Read_Real(rVar:=PMM.Phase[1].Current[13],lo:=4098,hi:=4099); Read_Real(rVar:=PMM.Phase[1].Current[14],lo:=4100,hi:=4101); Read_Real(rVar:=PMM.Phase[1].Current[15],lo:=4102,hi:=4103); Read_Real(rVar:=PMM.Phase[1].Current[16],lo:=4104,hi:=4105); Read_Real(rVar:=PMM.Phase[1].Current[17],lo:=4106,hi:=4107); Read_Real(rVar:=PMM.Phase[1].Current[18],lo:=4108,hi:=4109); Read_Real(rVar:=PMM.Phase[1].Current[19],lo:=4110,hi:=4111); Read_Real(rVar:=PMM.Phase[1].Current[1],lo:=4112,hi:=4113); Read_Real(rVar:=PMM.Phase[1].Current[20],lo:=4114,hi:=4115); Read_Real(rVar:=PMM.Phase[1].Current[21],lo:=4116,hi:=4117); Read_Real(rVar:=PMM.Phase[1].Current[22],lo:=4118,hi:=4119); Read_Real(rVar:=PMM.Phase[1].Current[23],lo:=4120,hi:=4121); Read_Real(rVar:=PMM.Phase[1].Current[24],lo:=4122,hi:=4123); Read_Real(rVar:=PMM.Phase[1].Current[25],lo:=4124,hi:=4125); Read_Real(rVar:=PMM.Phase[1].Current[26],lo:=4126,hi:=4127); Read_Real(rVar:=PMM.Phase[1].Current[27],lo:=4128,hi:=4129); Read_Real(rVar:=PMM.Phase[1].Current[28],lo:=4130,hi:=4131); Read_Real(rVar:=PMM.Phase[1].Current[29],lo:=4132,hi:=4133); Read_Real(rVar:=PMM.Phase[1].Current[2],lo:=4134,hi:=4135); Read_Real(rVar:=PMM.Phase[1].Current[30],lo:=4136,hi:=4137); Read_Real(rVar:=PMM.Phase[1].Current[31],lo:=4138,hi:=4139); Read_Real(rVar:=PMM.Phase[1].Current[32],lo:=4140,hi:=4141); Read_Real(rVar:=PMM.Phase[1].Current[33],lo:=4142,hi:=4143); Read_Real(rVar:=PMM.Phase[1].Current[34],lo:=4144,hi:=4145); Read_Real(rVar:=PMM.Phase[1].Current[35],lo:=4146,hi:=4147); Read_Real(rVar:=PMM.Phase[1].Current[36],lo:=4148,hi:=4149); Read_Real(rVar:=PMM.Phase[1].Current[37],lo:=4150,hi:=4151); Read_Real(rVar:=PMM.Phase[1].Current[38],lo:=4152,hi:=4153); Read_Real(rVar:=PMM.Phase[1].Current[39],lo:=4154,hi:=4155); Read_Real(rVar:=PMM.Phase[1].Current[3],lo:=4156,hi:=4157); Read_Real(rVar:=PMM.Phase[1].Current[40],lo:=4158,hi:=4159); Read_Real(rVar:=PMM.Phase[1].Current[41],lo:=4160,hi:=4161); Read_Real(rVar:=PMM.Phase[1].Current[42],lo:=4162,hi:=4163); Read_Real(rVar:=PMM.Phase[1].Current[4],lo:=4164,hi:=4165); Read_Real(rVar:=PMM.Phase[1].Current[5],lo:=4166,hi:=4167); Read_Real(rVar:=PMM.Phase[1].Current[6],lo:=4168,hi:=4169); Read_Real(rVar:=PMM.Phase[1].Current[7],lo:=4170,hi:=4171); Read_Real(rVar:=PMM.Phase[1].Current[8],lo:=4172,hi:=4173); Read_Real(rVar:=PMM.Phase[1].Current[9],lo:=4174,hi:=4175); Read_Real(rVar:=PMM.Phase[2].Current[10],lo:=4176,hi:=4177); Read_Real(rVar:=PMM.Phase[2].Current[11],lo:=4178,hi:=4179); Read_Real(rVar:=PMM.Phase[2].Current[12],lo:=4180,hi:=4181); Read_Real(rVar:=PMM.Phase[2].Current[13],lo:=4182,hi:=4183); Read_Real(rVar:=PMM.Phase[2].Current[14],lo:=4184,hi:=4185); Read_Real(rVar:=PMM.Phase[2].Current[15],lo:=4186,hi:=4187); Read_Real(rVar:=PMM.Phase[2].Current[16],lo:=4188,hi:=4189); Read_Real(rVar:=PMM.Phase[2].Current[17],lo:=4190,hi:=4191); Read_Real(rVar:=PMM.Phase[2].Current[18],lo:=4192,hi:=4193); Read_Real(rVar:=PMM.Phase[2].Current[19],lo:=4194,hi:=4195); Read_Real(rVar:=PMM.Phase[2].Current[1],lo:=4196,hi:=4197); Read_Real(rVar:=PMM.Phase[2].Current[20],lo:=4198,hi:=4199); Read_Real(rVar:=PMM.Phase[2].Current[21],lo:=4200,hi:=4201); Read_Real(rVar:=PMM.Phase[2].Current[22],lo:=4202,hi:=4203); Read_Real(rVar:=PMM.Phase[2].Current[23],lo:=4204,hi:=4205); Read_Real(rVar:=PMM.Phase[2].Current[24],lo:=4206,hi:=4207); Read_Real(rVar:=PMM.Phase[2].Current[25],lo:=4208,hi:=4209); Read_Real(rVar:=PMM.Phase[2].Current[26],lo:=4210,hi:=4211); Read_Real(rVar:=PMM.Phase[2].Current[27],lo:=4212,hi:=4213); Read_Real(rVar:=PMM.Phase[2].Current[28],lo:=4214,hi:=4215); Read_Real(rVar:=PMM.Phase[2].Current[29],lo:=4216,hi:=4217); Read_Real(rVar:=PMM.Phase[2].Current[2],lo:=4218,hi:=4219); Read_Real(rVar:=PMM.Phase[2].Current[30],lo:=4220,hi:=4221); Read_Real(rVar:=PMM.Phase[2].Current[31],lo:=4222,hi:=4223); Read_Real(rVar:=PMM.Phase[2].Current[32],lo:=4224,hi:=4225); Read_Real(rVar:=PMM.Phase[2].Current[33],lo:=4226,hi:=4227); Read_Real(rVar:=PMM.Phase[2].Current[34],lo:=4228,hi:=4229); Read_Real(rVar:=PMM.Phase[2].Current[35],lo:=4230,hi:=4231); Read_Real(rVar:=PMM.Phase[2].Current[36],lo:=4232,hi:=4233); Read_Real(rVar:=PMM.Phase[2].Current[37],lo:=4234,hi:=4235); Read_Real(rVar:=PMM.Phase[2].Current[38],lo:=4236,hi:=4237); Read_Real(rVar:=PMM.Phase[2].Current[39],lo:=4238,hi:=4239); Read_Real(rVar:=PMM.Phase[2].Current[3],lo:=4240,hi:=4241); Read_Real(rVar:=PMM.Phase[2].Current[40],lo:=4242,hi:=4243); Read_Real(rVar:=PMM.Phase[2].Current[41],lo:=4244,hi:=4245); Read_Real(rVar:=PMM.Phase[2].Current[42],lo:=4246,hi:=4247); Read_Real(rVar:=PMM.Phase[2].Current[4],lo:=4248,hi:=4249); Read_Real(rVar:=PMM.Phase[2].Current[5],lo:=4250,hi:=4251); Read_Real(rVar:=PMM.Phase[2].Current[6],lo:=4252,hi:=4253); Read_Real(rVar:=PMM.Phase[2].Current[7],lo:=4254,hi:=4255); Read_Real(rVar:=PMM.Phase[2].Current[8],lo:=4256,hi:=4257); Read_Real(rVar:=PMM.Phase[2].Current[9],lo:=4258,hi:=4259); Read_Real(rVar:=PMM.Phase[3].Current[10],lo:=4260,hi:=4261); Read_Real(rVar:=PMM.Phase[3].Current[11],lo:=4262,hi:=4263); Read_Real(rVar:=PMM.Phase[3].Current[12],lo:=4264,hi:=4265); Read_Real(rVar:=PMM.Phase[3].Current[13],lo:=4266,hi:=4267); Read_Real(rVar:=PMM.Phase[3].Current[14],lo:=4268,hi:=4269); Read_Real(rVar:=PMM.Phase[3].Current[15],lo:=4270,hi:=4271); Read_Real(rVar:=PMM.Phase[3].Current[16],lo:=4272,hi:=4273); Read_Real(rVar:=PMM.Phase[3].Current[17],lo:=4274,hi:=4275); Read_Real(rVar:=PMM.Phase[3].Current[18],lo:=4276,hi:=4277); Read_Real(rVar:=PMM.Phase[3].Current[19],lo:=4278,hi:=4279); Read_Real(rVar:=PMM.Phase[3].Current[1],lo:=4280,hi:=4281); Read_Real(rVar:=PMM.Phase[3].Current[20],lo:=4282,hi:=4283); Read_Real(rVar:=PMM.Phase[3].Current[21],lo:=4284,hi:=4285); Read_Real(rVar:=PMM.Phase[3].Current[22],lo:=4286,hi:=4287); Read_Real(rVar:=PMM.Phase[3].Current[23],lo:=4288,hi:=4289); Read_Real(rVar:=PMM.Phase[3].Current[24],lo:=4290,hi:=4291); Read_Real(rVar:=PMM.Phase[3].Current[25],lo:=4292,hi:=4293); Read_Real(rVar:=PMM.Phase[3].Current[26],lo:=4294,hi:=4295); Read_Real(rVar:=PMM.Phase[3].Current[27],lo:=4296,hi:=4297); Read_Real(rVar:=PMM.Phase[3].Current[28],lo:=4298,hi:=4299); Read_Real(rVar:=PMM.Phase[3].Current[29],lo:=4300,hi:=4301); Read_Real(rVar:=PMM.Phase[3].Current[2],lo:=4302,hi:=4303); Read_Real(rVar:=PMM.Phase[3].Current[30],lo:=4304,hi:=4305); Read_Real(rVar:=PMM.Phase[3].Current[31],lo:=4306,hi:=4307); Read_Real(rVar:=PMM.Phase[3].Current[32],lo:=4308,hi:=4309); Read_Real(rVar:=PMM.Phase[3].Current[33],lo:=4310,hi:=4311); Read_Real(rVar:=PMM.Phase[3].Current[34],lo:=4312,hi:=4313); Read_Real(rVar:=PMM.Phase[3].Current[35],lo:=4314,hi:=4315); Read_Real(rVar:=PMM.Phase[3].Current[36],lo:=4316,hi:=4317); Read_Real(rVar:=PMM.Phase[3].Current[37],lo:=4318,hi:=4319); Read_Real(rVar:=PMM.Phase[3].Current[38],lo:=4320,hi:=4321); Read_Real(rVar:=PMM.Phase[3].Current[39],lo:=4322,hi:=4323); Read_Real(rVar:=PMM.Phase[3].Current[3],lo:=4324,hi:=4325); Read_Real(rVar:=PMM.Phase[3].Current[40],lo:=4326,hi:=4327); Read_Real(rVar:=PMM.Phase[3].Current[41],lo:=4328,hi:=4329); Read_Real(rVar:=PMM.Phase[3].Current[42],lo:=4330,hi:=4331); Read_Real(rVar:=PMM.Phase[3].Current[4],lo:=4332,hi:=4333); Read_Real(rVar:=PMM.Phase[3].Current[5],lo:=4334,hi:=4335); Read_Real(rVar:=PMM.Phase[3].Current[6],lo:=4336,hi:=4337); Read_Real(rVar:=PMM.Phase[3].Current[7],lo:=4338,hi:=4339); Read_Real(rVar:=PMM.Phase[3].Current[8],lo:=4340,hi:=4341); Read_Real(rVar:=PMM.Phase[3].Current[9],lo:=4342,hi:=4343); Read_Real(rVar:=PMM.PowerFactorSys,lo:=4344,hi:=4345); Read_Real(rVar:=PMM.ReactiveEnergyConsumed_kVARh,lo:=4346,hi:=4347); Read_Real(rVar:=PMM.ReactivePowerPhaseA,lo:=4348,hi:=4349); Read_Real(rVar:=PMM.ReactivePowerPhaseB,lo:=4350,hi:=4351); Read_Real(rVar:=PMM.ReactivePowerPhaseC,lo:=4352,hi:=4353); Read_Real(rVar:=PMM.TotalActivePower_kW,lo:=4354,hi:=4355); Read_Real(rVar:=PMM.TotalAparentPower_kVA,lo:=4356,hi:=4357); Read_Real(rVar:=PMM.TotalPowerFactor,lo:=4358,hi:=4359); Read_Real(rVar:=PMM.TotalReactivePower_kVAR,lo:=4360,hi:=4361); Read_Real(rVar:=PMM.VirA_fsys,lo:=4362,hi:=4363); Read_Real(rVar:=PMM.VirA_Isys,lo:=4364,hi:=4365); Read_Real(rVar:=PMM.VirA_PFsys,lo:=4366,hi:=4367); Read_Real(rVar:=PMM.VirA_Psys,lo:=4368,hi:=4369); Read_Real(rVar:=PMM.VirA_Qsys,lo:=4370,hi:=4371); Read_Real(rVar:=PMM.VirA_Ssys,lo:=4372,hi:=4373); Read_Real(rVar:=PMM.VirA_Usys,lo:=4374,hi:=4375); Read_Real(rVar:=PMM.VirB_fsys,lo:=4376,hi:=4377); Read_Real(rVar:=PMM.VirB_Isys,lo:=4378,hi:=4379); Read_Real(rVar:=PMM.VirB_PFsys,lo:=4380,hi:=4381); Read_Real(rVar:=PMM.VirB_Psys,lo:=4382,hi:=4383); Read_Real(rVar:=PMM.VirB_Qsys,lo:=4384,hi:=4385); Read_Real(rVar:=PMM.VirB_Ssys,lo:=4386,hi:=4387); Read_Real(rVar:=PMM.VirB_Usys,lo:=4388,hi:=4389); Read_Real(rVar:=PMM.VirBActiveEnergyConsumed_kWh,lo:=4390,hi:=4391); Read_Real(rVar:=PMM.VirBActivePowerPhaseA_kW,lo:=4392,hi:=4393); Read_Real(rVar:=PMM.VirBActivePowerPhaseB_kW,lo:=4394,hi:=4395); Read_Real(rVar:=PMM.VirBActivePowerPhaseC_kW,lo:=4396,hi:=4397); Read_Real(rVar:=PMM.VirBAparentPowerPhaseA,lo:=4398,hi:=4399); Read_Real(rVar:=PMM.VirBAparentPowerPhaseB,lo:=4400,hi:=4401); Read_Real(rVar:=PMM.VirBAparentPowerPhaseC,lo:=4402,hi:=4403); Read_Real(rVar:=PMM.VirBAverageCurrent_A,lo:=4404,hi:=4405); Read_Real(rVar:=PMM.VirBAveragePhaseToNeutral_V,lo:=4406,hi:=4407); Read_Real(rVar:=PMM.VirBAveragePhaseToPhase_V,lo:=4408,hi:=4409); Read_Real(rVar:=PMM.VirBCurrentInPhaseA_A,lo:=4410,hi:=4411); Read_Real(rVar:=PMM.VirBCurrentInPhaseB_A,lo:=4412,hi:=4413); Read_Real(rVar:=PMM.VirBCurrentInPhaseC_A,lo:=4414,hi:=4415); Read_Real(rVar:=PMM.VirBFrequency_Hz,lo:=4416,hi:=4417); Read_Real(rVar:=PMM.VirBPowerFactorSys,lo:=4418,hi:=4419); Read_Real(rVar:=PMM.VirBReactiveEnergyConsumed_kWh,lo:=4420,hi:=4421); Read_Real(rVar:=PMM.VirBReactivePowerPhaseA,lo:=4422,hi:=4423); Read_Real(rVar:=PMM.VirBReactivePowerPhaseB,lo:=4424,hi:=4425); Read_Real(rVar:=PMM.VirBReactivePowerPhaseC,lo:=4426,hi:=4427); Read_Real(rVar:=PMM.VirBTotalActivePower_kW,lo:=4428,hi:=4429); Read_Real(rVar:=PMM.VirBTotalAparentPower_kVA,lo:=4430,hi:=4431); Read_Real(rVar:=PMM.VirBTotalPowerFactor,lo:=4432,hi:=4433); Read_Real(rVar:=PMM.VirBTotalReactivePower_kVAR,lo:=4434,hi:=4435); Read_Real(rVar:=PMM.VirBVoltageBetweenPhaseAB_V,lo:=4436,hi:=4437); Read_Real(rVar:=PMM.VirBVoltageBetweenPhaseAN_V,lo:=4438,hi:=4439); Read_Real(rVar:=PMM.VirBVoltageBetweenPhaseBC_V,lo:=4440,hi:=4441); Read_Real(rVar:=PMM.VirBVoltageBetweenPhaseBN_V,lo:=4442,hi:=4443); Read_Real(rVar:=PMM.VirBVoltageBetweenPhaseCA_V,lo:=4444,hi:=4445); Read_Real(rVar:=PMM.VirBVoltageBetweenPhaseCN_V,lo:=4446,hi:=4447); Read_Real(rVar:=PMM.VoltageBetweenPhaseAB_V,lo:=4448,hi:=4449); Read_Real(rVar:=PMM.VoltageBetweenPhaseAN_V,lo:=4450,hi:=4451); Read_Real(rVar:=PMM.VoltageBetweenPhaseBC_V,lo:=4452,hi:=4453); Read_Real(rVar:=PMM.VoltageBetweenPhaseBN_V,lo:=4454,hi:=4455); Read_Real(rVar:=PMM.VoltageBetweenPhaseCA_V,lo:=4456,hi:=4457); Read_Real(rVar:=PMM.VoltageBetweenPhaseCN_V,lo:=4458,hi:=4459); Read_Real(rVar:=SKTemp1,lo:=4460,hi:=4461); Read_Real(rVar:=SKTemp2,lo:=4462,hi:=4463); Read_Real(rVar:=SKTemp3,lo:=4464,hi:=4465); Read_Real(rVar:=SKTempKontrSoba,lo:=4466,hi:=4467); Read_Real(rVar:=SKTempLinkProstor,lo:=4468,hi:=4469); Read_Real(rVar:=SKTempServSoba1Povpr,lo:=4470,hi:=4471); Read_Real(rVar:=SKVlaga1,lo:=4472,hi:=4473); Read_Real(rVar:=SKVlaga2,lo:=4474,hi:=4475); Read_Real(rVar:=SKVlaga3,lo:=4476,hi:=4477); Read_Real(rVar:=SKVlagaKontrSoba,lo:=4478,hi:=4479); Read_Real(rVar:=SKVlagaLinkProstor,lo:=4480,hi:=4481); Read_Real(rVar:=TempZaAlarmTIA123,lo:=4482,hi:=4483); Read_Real(rVar:=TempZaAlarmTIA4,lo:=4484,hi:=4485); Read_Real(rVar:=TempZaAlarmTIA5,lo:=4486,hi:=4487); Read_Real(rVar:=TempZaVklopObehKlim,lo:=4488,hi:=4489); (*Branje STRING*) (**) Read_String(sVar:=UserName,start:=5000); END_PROGRAM (* @PATH := '\/Modnet' *) (* @SYMFILEFLAGS := '2048' *) FUNCTION mod_Write_Bool : BOOL VAR_INPUT index: INT; END_VAR VAR END_VAR (* @END_DECLARATION := '0' *) (*vpis iz scade*) CASE index OF (*Pisanje BOOL*) (**) 0:AlarmKlimat1_Napaka:=Bit_0; 1:AlarmKlimat2_Napaka:=Bit_0; 2:AlarmKlimat3_Napaka:=Bit_0; 3:AlarmLAH1_RazlitjeVode:=Bit_0; 4:AlarmLAH2_RazlitjeVode:=Bit_0; 5:AlarmSinhronizacijaNOK:=Bit_0; 6:AlarmSP1_Napaka:=Bit_0; 7:AlarmSP2_Napaka:=Bit_0; 8:AlarmSP3_Napaka:=Bit_0; 9:AlarmSP4_Napaka:=Bit_0; 10:AlarmSP5_Napaka:=Bit_0; 11:AlarmTempTIA123Previsoka:=Bit_0; 12:AlarmTempTIA4Previsoka:=Bit_0; 13:AlarmTempTIA5Previsoka:=Bit_0; 14:AlarmTSTempPrevisoka:=Bit_0; 15:AlarmUPSKrmOmara_Alarm:=Bit_0; 16:ComSCADA:=Bit_0; 17:ComSCADA1:=Bit_0; 18:ErrComKlima[1]:=Bit_0; 19:ErrComKlima[2]:=Bit_0; 20:ErrComKlima[3]:=Bit_0; 21:ErrCommScada:=Bit_0; 22:ErrComPanelPLC:=Bit_0; 23:ErrComPMM:=Bit_0; 24:ErrComPort2:=Bit_0; 25:Klima1_Onemogocena:=Bit_0; 26:Klima2_Onemogocena:=Bit_0; 27:Klima3_Onemogocena:=Bit_0; 28:Klima[1].IzhodniVentilator:=Bit_0; 29:Klima[1].Kompresor1:=Bit_0; 30:Klima[1].Kompresor2:=Bit_0; 31:Klima[1].Razvlazevanje:=Bit_0; 32:Klima[1].VentilGretjeOdpiranje:=Bit_0; 33:Klima[1].VentilGretjeZapiranje:=Bit_0; 34:Klima[1].Vlazenje:=Bit_0; 35:Klima[2].IzhodniVentilator:=Bit_0; 36:Klima[2].Kompresor1:=Bit_0; 37:Klima[2].Kompresor2:=Bit_0; 38:Klima[2].Razvlazevanje:=Bit_0; 39:Klima[2].VentilGretjeOdpiranje:=Bit_0; 40:Klima[2].VentilGretjeZapiranje:=Bit_0; 41:Klima[2].Vlazenje:=Bit_0; 42:Klima[3].IzhodniVentilator:=Bit_0; 43:Klima[3].Kompresor1:=Bit_0; 44:Klima[3].Kompresor2:=Bit_0; 45:Klima[3].Razvlazevanje:=Bit_0; 46:Klima[3].VentilGretjeOdpiranje:=Bit_0; 47:Klima[3].VentilGretjeZapiranje:=Bit_0; 48:Klima[3].Vlazenje:=Bit_0; 49:KlimaError[1].AlarmKompresor1:=Bit_0; 50:KlimaError[1].AlarmKompresor2:=Bit_0; 51:KlimaError[1].FenThermalCutout:=Bit_0; 52:KlimaError[1].IzlivVode:=Bit_0; 53:KlimaError[1].Kompresor1naMejiStevilaObrUr:=Bit_0; 54:KlimaError[1].Kompresor2naMejiStevilaObrUr:=Bit_0; 55:KlimaError[1].Kond1FenThermalCutout:=Bit_0; 56:KlimaError[1].Kond2FenThermalCutout:=Bit_0; 57:KlimaError[1].NapakaPriPretokuVode:=Bit_0; 58:KlimaError[1].NapakaPriPretokuZraka:=Bit_0; 59:KlimaError[1].NapakaSenzorPritiska:=Bit_0; 60:KlimaError[1].NapakaSenzorVlaznosti:=Bit_0; 61:KlimaError[1].NapakaTSTemperaturaProstora:=Bit_0; 62:KlimaError[1].NiTokaVVlazilcu:=Bit_0; 63:KlimaError[1].NiVodeVVlazilcu:=Bit_0; 64:KlimaError[1].NizekPritiskKompresor1:=Bit_0; 65:KlimaError[1].NizekPritiskKompresor2:=Bit_0; 66:KlimaError[1].NizkaTempVProstoru:=Bit_0; 67:KlimaError[1].NizkaVlaznost:=Bit_0; 68:KlimaError[1].PozarniAlarm:=Bit_0; 69:KlimaError[1].TermZascInVisokPritiskKompr1:=Bit_0; 70:KlimaError[1].TermZascInVisokPritiskKompr2:=Bit_0; 71:KlimaError[1].ThermalCutoutHeater1:=Bit_0; 72:KlimaError[1].ThermalCutoutHeater2:=Bit_0; 73:KlimaError[1].VentilatorNaMejiStevilaObrUr:=Bit_0; 74:KlimaError[1].VisokaTempVProstoru:=Bit_0; 75:KlimaError[1].VisokaVlaznost:=Bit_0; 76:KlimaError[1].VisokPritiskVKrogu1:=Bit_0; 77:KlimaError[1].VisokPritiskVKrogu2:=Bit_0; 78:KlimaError[1].VisokTokVVlazilcu:=Bit_0; 79:KlimaError[1].VlazilecnaMejiStevilaObrUr:=Bit_0; 80:KlimaError[1].ZamasenFilter:=Bit_0; 81:KlimaError[1].ZunanjiAlarm:=Bit_0; 82:KlimaError[2].AlarmKompresor1:=Bit_0; 83:KlimaError[2].AlarmKompresor2:=Bit_0; 84:KlimaError[2].FenThermalCutout:=Bit_0; 85:KlimaError[2].IzlivVode:=Bit_0; 86:KlimaError[2].Kompresor1naMejiStevilaObrUr:=Bit_0; 87:KlimaError[2].Kompresor2naMejiStevilaObrUr:=Bit_0; 88:KlimaError[2].Kond1FenThermalCutout:=Bit_0; 89:KlimaError[2].Kond2FenThermalCutout:=Bit_0; 90:KlimaError[2].NapakaPriPretokuVode:=Bit_0; 91:KlimaError[2].NapakaPriPretokuZraka:=Bit_0; 92:KlimaError[2].NapakaSenzorPritiska:=Bit_0; 93:KlimaError[2].NapakaSenzorVlaznosti:=Bit_0; 94:KlimaError[2].NapakaTSTemperaturaProstora:=Bit_0; 95:KlimaError[2].NiTokaVVlazilcu:=Bit_0; 96:KlimaError[2].NiVodeVVlazilcu:=Bit_0; 97:KlimaError[2].NizekPritiskKompresor1:=Bit_0; 98:KlimaError[2].NizekPritiskKompresor2:=Bit_0; 99:KlimaError[2].NizkaTempVProstoru:=Bit_0; 100:KlimaError[2].NizkaVlaznost:=Bit_0; 101:KlimaError[2].PozarniAlarm:=Bit_0; 102:KlimaError[2].TermZascInVisokPritiskKompr1:=Bit_0; 103:KlimaError[2].TermZascInVisokPritiskKompr2:=Bit_0; 104:KlimaError[2].ThermalCutoutHeater1:=Bit_0; 105:KlimaError[2].ThermalCutoutHeater2:=Bit_0; 106:KlimaError[2].VentilatorNaMejiStevilaObrUr:=Bit_0; 107:KlimaError[2].VisokaTempVProstoru:=Bit_0; 108:KlimaError[2].VisokaVlaznost:=Bit_0; 109:KlimaError[2].VisokPritiskVKrogu1:=Bit_0; 110:KlimaError[2].VisokPritiskVKrogu2:=Bit_0; 111:KlimaError[2].VisokTokVVlazilcu:=Bit_0; 112:KlimaError[2].VlazilecnaMejiStevilaObrUr:=Bit_0; 113:KlimaError[2].ZamasenFilter:=Bit_0; 114:KlimaError[2].ZunanjiAlarm:=Bit_0; 115:KlimaError[3].AlarmKompresor1:=Bit_0; 116:KlimaError[3].AlarmKompresor2:=Bit_0; 117:KlimaError[3].FenThermalCutout:=Bit_0; 118:KlimaError[3].IzlivVode:=Bit_0; 119:KlimaError[3].Kompresor1naMejiStevilaObrUr:=Bit_0; 120:KlimaError[3].Kompresor2naMejiStevilaObrUr:=Bit_0; 121:KlimaError[3].Kond1FenThermalCutout:=Bit_0; 122:KlimaError[3].Kond2FenThermalCutout:=Bit_0; 123:KlimaError[3].NapakaPriPretokuVode:=Bit_0; 124:KlimaError[3].NapakaPriPretokuZraka:=Bit_0; 125:KlimaError[3].NapakaSenzorPritiska:=Bit_0; 126:KlimaError[3].NapakaSenzorVlaznosti:=Bit_0; 127:KlimaError[3].NapakaTSTemperaturaProstora:=Bit_0; 128:KlimaError[3].NiTokaVVlazilcu:=Bit_0; 129:KlimaError[3].NiVodeVVlazilcu:=Bit_0; 130:KlimaError[3].NizekPritiskKompresor1:=Bit_0; 131:KlimaError[3].NizekPritiskKompresor2:=Bit_0; 132:KlimaError[3].NizkaTempVProstoru:=Bit_0; 133:KlimaError[3].NizkaVlaznost:=Bit_0; 134:KlimaError[3].PozarniAlarm:=Bit_0; 135:KlimaError[3].TermZascInVisokPritiskKompr1:=Bit_0; 136:KlimaError[3].TermZascInVisokPritiskKompr2:=Bit_0; 137:KlimaError[3].ThermalCutoutHeater1:=Bit_0; 138:KlimaError[3].ThermalCutoutHeater2:=Bit_0; 139:KlimaError[3].VentilatorNaMejiStevilaObrUr:=Bit_0; 140:KlimaError[3].VisokaTempVProstoru:=Bit_0; 141:KlimaError[3].VisokaVlaznost:=Bit_0; 142:KlimaError[3].VisokPritiskVKrogu1:=Bit_0; 143:KlimaError[3].VisokPritiskVKrogu2:=Bit_0; 144:KlimaError[3].VisokTokVVlazilcu:=Bit_0; 145:KlimaError[3].VlazilecnaMejiStevilaObrUr:=Bit_0; 146:KlimaError[3].ZamasenFilter:=Bit_0; 147:KlimaError[3].ZunanjiAlarm:=Bit_0; 148:NacDelovanjaKlime1_Avtomatsko:=Bit_0; 149:NacDelovanjaKlime2_3Avtomatsko:=Bit_0; 150:NapakaSenzorTemp1:=Bit_0; 151:NapakaSenzorTemp2:=Bit_0; 152:NapakaSenzorTemp3:=Bit_0; 153:NapakaSenzorTempKontrSoba:=Bit_0; 154:NapakaSenzorTempLinkProstor:=Bit_0; 155:NapakaSenzorVlaga1:=Bit_0; 156:NapakaSenzorVlaga2:=Bit_0; 157:NapakaSenzorVlaga3:=Bit_0; 158:NapakaSenzorVlagaKontrSoba:=Bit_0; 159:NapakaSenzorVlagaLinkProstor:=Bit_0; 160:NastaviCasNaKrmilniku:=Bit_0; 161:NastavitevUreKrUspesna:=Bit_0; 162:OpozoriloBaterijaPLC:=Bit_0; 163:PMM1OverCurrentBetw[1]:=Bit_0; 164:PMM1OverCurrentBetw[2]:=Bit_0; 165:PMM1OverCurrentBetw[3]:=Bit_0; 166:PMM1OverCurrentOver[1]:=Bit_0; 167:PMM1OverCurrentOver[2]:=Bit_0; 168:PMM1OverCurrentOver[3]:=Bit_0; 169:PMM1OverVoltage:=Bit_0; 170:RocniVklopKlima1:=Bit_0; 171:RocniVklopKlima2:=Bit_0; 172:RocniVklopKlima3:=Bit_0; 173:SinhronizacijaPanelOK:=Bit_0; 174:SinhronizirajCas_Panel:=Bit_0; 175:SkupneNapakeNaprav_Klima1:=Bit_0; 176:SkupneNapakeNaprav_Klima2:=Bit_0; 177:SkupneNapakeNaprav_Klima3:=Bit_0; 178:SkupneNapakeNaprav_Komunikacija:=Bit_0; 179:SkupneNapakeNaprav_PMMVirA:=Bit_0; 180:SkupneNapakeNaprav_PMMVirB:=Bit_0; 181:SkupneNapakeNaprav_PMMVirBVirA:=Bit_0; 182:SkupneNapakeNaprav_TempVlaga:=Bit_0; 183:StanjeKlimat1_Delovanje:=Bit_0; 184:StanjeKlimat2_Delovanje:=Bit_0; 185:StanjeKlimat3_Delovanje:=Bit_0; 186:StanjeSP1_Delovanje:=Bit_0; 187:StanjeSP2_Delovanje:=Bit_0; 188:StanjeSP3_Delovanje:=Bit_0; 189:StanjeSP4_Delovanje:=Bit_0; 190:StanjeSP5_Delovanje:=Bit_0; 191:StanjeUPSKrmOmara_BaterijskiNacin:=Bit_0; 192:StanjeUPSKrmOmara_Polnenje:=Bit_0; 193:UserLoggedIn:=Bit_0; 194:XVH_AlarmOn:=Bit_0; 195:Klimat1_Vklop:=Bit_0; 196:Klimat2_Vklop:=Bit_0; 197:Klimat3_Vklop:=Bit_0; 198:ErrCommScada2:=Bit_0; 199:ComSCADA2:=Bit_0; 200:ComSCADA3:=Bit_0; (*BOOL*) END_CASE END_FUNCTION (* @SYMFILEFLAGS := '2048' *) FUNCTION mod_Write_dWord : BOOL VAR_INPUT Index:INT; END_VAR VAR END_VAR (* @END_DECLARATION := '0' *) (*vpis iz scade*) CASE index OF (*Pisanje LONG*) (**) (*Pisanje REAL*) (**) 4001:AktualniSetPointTemp:=Real_0; 4003:AktualniSetPointVlaga:=Real_0; 4005:Klima[1].NastMaxTemp:=Real_0; 4007:Klima[1].NastMaxVlaznost:=Real_0; 4009:Klima[1].NastMinTemp:=Real_0; 4011:Klima[1].NastMinVlaznost:=Real_0; 4013:Klima[1].NastTempProstora:=Real_0; 4015:Klima[1].NastVlaznost:=Real_0; 4017:Klima[1].Pritisk:=Real_0; 4019:Klima[1].TemperaturaProstora:=Real_0; 4021:Klima[1].VlaznostProstora:=Real_0; 4023:Klima[2].NastMaxTemp:=Real_0; 4025:Klima[2].NastMaxVlaznost:=Real_0; 4027:Klima[2].NastMinTemp:=Real_0; 4029:Klima[2].NastMinVlaznost:=Real_0; 4031:Klima[2].NastTempProstora:=Real_0; 4033:Klima[2].NastVlaznost:=Real_0; 4035:Klima[2].Pritisk:=Real_0; 4037:Klima[2].TemperaturaProstora:=Real_0; 4039:Klima[2].VlaznostProstora:=Real_0; 4041:Klima[3].NastMaxTemp:=Real_0; 4043:Klima[3].NastMaxVlaznost:=Real_0; 4045:Klima[3].NastMinTemp:=Real_0; 4047:Klima[3].NastMinVlaznost:=Real_0; 4049:Klima[3].NastTempProstora:=Real_0; 4051:Klima[3].NastVlaznost:=Real_0; 4053:Klima[3].Pritisk:=Real_0; 4055:Klima[3].TemperaturaProstora:=Real_0; 4057:Klima[3].VlaznostProstora:=Real_0; 4059:ObratUreKlim[1]:=Real_0; 4061:ObratUreKlim[2]:=Real_0; 4063:ObratUreKlim[3]:=Real_0; 4065:PMM.ActiveEnergyConsumed_kWh:=Real_0; 4067:PMM.ActivePowerPhaseA_kW:=Real_0; 4069:PMM.ActivePowerPhaseB_kW:=Real_0; 4071:PMM.ActivePowerPhaseC_kW:=Real_0; 4073:PMM.AparentPowerPhaseA:=Real_0; 4075:PMM.AparentPowerPhaseB:=Real_0; 4077:PMM.AparentPowerPhaseC:=Real_0; 4079:PMM.AverageCurrent_A:=Real_0; 4081:PMM.AveragePhaseToNeutral_V:=Real_0; 4083:PMM.AveragePhaseToPhase_V:=Real_0; 4085:PMM.CurrentInPhaseA_A:=Real_0; 4087:PMM.CurrentInPhaseB_A:=Real_0; 4089:PMM.CurrentInPhaseC_A:=Real_0; 4091:PMM.Frequency_Hz:=Real_0; 4093:PMM.Phase[1].Current[10]:=Real_0; 4095:PMM.Phase[1].Current[11]:=Real_0; 4097:PMM.Phase[1].Current[12]:=Real_0; 4099:PMM.Phase[1].Current[13]:=Real_0; 4101:PMM.Phase[1].Current[14]:=Real_0; 4103:PMM.Phase[1].Current[15]:=Real_0; 4105:PMM.Phase[1].Current[16]:=Real_0; 4107:PMM.Phase[1].Current[17]:=Real_0; 4109:PMM.Phase[1].Current[18]:=Real_0; 4111:PMM.Phase[1].Current[19]:=Real_0; 4113:PMM.Phase[1].Current[1]:=Real_0; 4115:PMM.Phase[1].Current[20]:=Real_0; 4117:PMM.Phase[1].Current[21]:=Real_0; 4119:PMM.Phase[1].Current[22]:=Real_0; 4121:PMM.Phase[1].Current[23]:=Real_0; 4123:PMM.Phase[1].Current[24]:=Real_0; 4125:PMM.Phase[1].Current[25]:=Real_0; 4127:PMM.Phase[1].Current[26]:=Real_0; 4129:PMM.Phase[1].Current[27]:=Real_0; 4131:PMM.Phase[1].Current[28]:=Real_0; 4133:PMM.Phase[1].Current[29]:=Real_0; 4135:PMM.Phase[1].Current[2]:=Real_0; 4137:PMM.Phase[1].Current[30]:=Real_0; 4139:PMM.Phase[1].Current[31]:=Real_0; 4141:PMM.Phase[1].Current[32]:=Real_0; 4143:PMM.Phase[1].Current[33]:=Real_0; 4145:PMM.Phase[1].Current[34]:=Real_0; 4147:PMM.Phase[1].Current[35]:=Real_0; 4149:PMM.Phase[1].Current[36]:=Real_0; 4151:PMM.Phase[1].Current[37]:=Real_0; 4153:PMM.Phase[1].Current[38]:=Real_0; 4155:PMM.Phase[1].Current[39]:=Real_0; 4157:PMM.Phase[1].Current[3]:=Real_0; 4159:PMM.Phase[1].Current[40]:=Real_0; 4161:PMM.Phase[1].Current[41]:=Real_0; 4163:PMM.Phase[1].Current[42]:=Real_0; 4165:PMM.Phase[1].Current[4]:=Real_0; 4167:PMM.Phase[1].Current[5]:=Real_0; 4169:PMM.Phase[1].Current[6]:=Real_0; 4171:PMM.Phase[1].Current[7]:=Real_0; 4173:PMM.Phase[1].Current[8]:=Real_0; 4175:PMM.Phase[1].Current[9]:=Real_0; 4177:PMM.Phase[2].Current[10]:=Real_0; 4179:PMM.Phase[2].Current[11]:=Real_0; 4181:PMM.Phase[2].Current[12]:=Real_0; 4183:PMM.Phase[2].Current[13]:=Real_0; 4185:PMM.Phase[2].Current[14]:=Real_0; 4187:PMM.Phase[2].Current[15]:=Real_0; 4189:PMM.Phase[2].Current[16]:=Real_0; 4191:PMM.Phase[2].Current[17]:=Real_0; 4193:PMM.Phase[2].Current[18]:=Real_0; 4195:PMM.Phase[2].Current[19]:=Real_0; 4197:PMM.Phase[2].Current[1]:=Real_0; 4199:PMM.Phase[2].Current[20]:=Real_0; 4201:PMM.Phase[2].Current[21]:=Real_0; 4203:PMM.Phase[2].Current[22]:=Real_0; 4205:PMM.Phase[2].Current[23]:=Real_0; 4207:PMM.Phase[2].Current[24]:=Real_0; 4209:PMM.Phase[2].Current[25]:=Real_0; 4211:PMM.Phase[2].Current[26]:=Real_0; 4213:PMM.Phase[2].Current[27]:=Real_0; 4215:PMM.Phase[2].Current[28]:=Real_0; 4217:PMM.Phase[2].Current[29]:=Real_0; 4219:PMM.Phase[2].Current[2]:=Real_0; 4221:PMM.Phase[2].Current[30]:=Real_0; 4223:PMM.Phase[2].Current[31]:=Real_0; 4225:PMM.Phase[2].Current[32]:=Real_0; 4227:PMM.Phase[2].Current[33]:=Real_0; 4229:PMM.Phase[2].Current[34]:=Real_0; 4231:PMM.Phase[2].Current[35]:=Real_0; 4233:PMM.Phase[2].Current[36]:=Real_0; 4235:PMM.Phase[2].Current[37]:=Real_0; 4237:PMM.Phase[2].Current[38]:=Real_0; 4239:PMM.Phase[2].Current[39]:=Real_0; 4241:PMM.Phase[2].Current[3]:=Real_0; 4243:PMM.Phase[2].Current[40]:=Real_0; 4245:PMM.Phase[2].Current[41]:=Real_0; 4247:PMM.Phase[2].Current[42]:=Real_0; 4249:PMM.Phase[2].Current[4]:=Real_0; 4251:PMM.Phase[2].Current[5]:=Real_0; 4253:PMM.Phase[2].Current[6]:=Real_0; 4255:PMM.Phase[2].Current[7]:=Real_0; 4257:PMM.Phase[2].Current[8]:=Real_0; 4259:PMM.Phase[2].Current[9]:=Real_0; 4261:PMM.Phase[3].Current[10]:=Real_0; 4263:PMM.Phase[3].Current[11]:=Real_0; 4265:PMM.Phase[3].Current[12]:=Real_0; 4267:PMM.Phase[3].Current[13]:=Real_0; 4269:PMM.Phase[3].Current[14]:=Real_0; 4271:PMM.Phase[3].Current[15]:=Real_0; 4273:PMM.Phase[3].Current[16]:=Real_0; 4275:PMM.Phase[3].Current[17]:=Real_0; 4277:PMM.Phase[3].Current[18]:=Real_0; 4279:PMM.Phase[3].Current[19]:=Real_0; 4281:PMM.Phase[3].Current[1]:=Real_0; 4283:PMM.Phase[3].Current[20]:=Real_0; 4285:PMM.Phase[3].Current[21]:=Real_0; 4287:PMM.Phase[3].Current[22]:=Real_0; 4289:PMM.Phase[3].Current[23]:=Real_0; 4291:PMM.Phase[3].Current[24]:=Real_0; 4293:PMM.Phase[3].Current[25]:=Real_0; 4295:PMM.Phase[3].Current[26]:=Real_0; 4297:PMM.Phase[3].Current[27]:=Real_0; 4299:PMM.Phase[3].Current[28]:=Real_0; 4301:PMM.Phase[3].Current[29]:=Real_0; 4303:PMM.Phase[3].Current[2]:=Real_0; 4305:PMM.Phase[3].Current[30]:=Real_0; 4307:PMM.Phase[3].Current[31]:=Real_0; 4309:PMM.Phase[3].Current[32]:=Real_0; 4311:PMM.Phase[3].Current[33]:=Real_0; 4313:PMM.Phase[3].Current[34]:=Real_0; 4315:PMM.Phase[3].Current[35]:=Real_0; 4317:PMM.Phase[3].Current[36]:=Real_0; 4319:PMM.Phase[3].Current[37]:=Real_0; 4321:PMM.Phase[3].Current[38]:=Real_0; 4323:PMM.Phase[3].Current[39]:=Real_0; 4325:PMM.Phase[3].Current[3]:=Real_0; 4327:PMM.Phase[3].Current[40]:=Real_0; 4329:PMM.Phase[3].Current[41]:=Real_0; 4331:PMM.Phase[3].Current[42]:=Real_0; 4333:PMM.Phase[3].Current[4]:=Real_0; 4335:PMM.Phase[3].Current[5]:=Real_0; 4337:PMM.Phase[3].Current[6]:=Real_0; 4339:PMM.Phase[3].Current[7]:=Real_0; 4341:PMM.Phase[3].Current[8]:=Real_0; 4343:PMM.Phase[3].Current[9]:=Real_0; 4345:PMM.PowerFactorSys:=Real_0; 4347:PMM.ReactiveEnergyConsumed_kVARh:=Real_0; 4349:PMM.ReactivePowerPhaseA:=Real_0; 4351:PMM.ReactivePowerPhaseB:=Real_0; 4353:PMM.ReactivePowerPhaseC:=Real_0; 4355:PMM.TotalActivePower_kW:=Real_0; 4357:PMM.TotalAparentPower_kVA:=Real_0; 4359:PMM.TotalPowerFactor:=Real_0; 4361:PMM.TotalReactivePower_kVAR:=Real_0; 4363:PMM.VirA_fsys:=Real_0; 4365:PMM.VirA_Isys:=Real_0; 4367:PMM.VirA_PFsys:=Real_0; 4369:PMM.VirA_Psys:=Real_0; 4371:PMM.VirA_Qsys:=Real_0; 4373:PMM.VirA_Ssys:=Real_0; 4375:PMM.VirA_Usys:=Real_0; 4377:PMM.VirB_fsys:=Real_0; 4379:PMM.VirB_Isys:=Real_0; 4381:PMM.VirB_PFsys:=Real_0; 4383:PMM.VirB_Psys:=Real_0; 4385:PMM.VirB_Qsys:=Real_0; 4387:PMM.VirB_Ssys:=Real_0; 4389:PMM.VirB_Usys:=Real_0; 4391:PMM.VirBActiveEnergyConsumed_kWh:=Real_0; 4393:PMM.VirBActivePowerPhaseA_kW:=Real_0; 4395:PMM.VirBActivePowerPhaseB_kW:=Real_0; 4397:PMM.VirBActivePowerPhaseC_kW:=Real_0; 4399:PMM.VirBAparentPowerPhaseA:=Real_0; 4401:PMM.VirBAparentPowerPhaseB:=Real_0; 4403:PMM.VirBAparentPowerPhaseC:=Real_0; 4405:PMM.VirBAverageCurrent_A:=Real_0; 4407:PMM.VirBAveragePhaseToNeutral_V:=Real_0; 4409:PMM.VirBAveragePhaseToPhase_V:=Real_0; 4411:PMM.VirBCurrentInPhaseA_A:=Real_0; 4413:PMM.VirBCurrentInPhaseB_A:=Real_0; 4415:PMM.VirBCurrentInPhaseC_A:=Real_0; 4417:PMM.VirBFrequency_Hz:=Real_0; 4419:PMM.VirBPowerFactorSys:=Real_0; 4421:PMM.VirBReactiveEnergyConsumed_kWh:=Real_0; 4423:PMM.VirBReactivePowerPhaseA:=Real_0; 4425:PMM.VirBReactivePowerPhaseB:=Real_0; 4427:PMM.VirBReactivePowerPhaseC:=Real_0; 4429:PMM.VirBTotalActivePower_kW:=Real_0; 4431:PMM.VirBTotalAparentPower_kVA:=Real_0; 4433:PMM.VirBTotalPowerFactor:=Real_0; 4435:PMM.VirBTotalReactivePower_kVAR:=Real_0; 4437:PMM.VirBVoltageBetweenPhaseAB_V:=Real_0; 4439:PMM.VirBVoltageBetweenPhaseAN_V:=Real_0; 4441:PMM.VirBVoltageBetweenPhaseBC_V:=Real_0; 4443:PMM.VirBVoltageBetweenPhaseBN_V:=Real_0; 4445:PMM.VirBVoltageBetweenPhaseCA_V:=Real_0; 4447:PMM.VirBVoltageBetweenPhaseCN_V:=Real_0; 4449:PMM.VoltageBetweenPhaseAB_V:=Real_0; 4451:PMM.VoltageBetweenPhaseAN_V:=Real_0; 4453:PMM.VoltageBetweenPhaseBC_V:=Real_0; 4455:PMM.VoltageBetweenPhaseBN_V:=Real_0; 4457:PMM.VoltageBetweenPhaseCA_V:=Real_0; 4459:PMM.VoltageBetweenPhaseCN_V:=Real_0; 4461:SKTemp1:=Real_0; 4463:SKTemp2:=Real_0; 4465:SKTemp3:=Real_0; 4467:SKTempKontrSoba:=Real_0; 4469:SKTempLinkProstor:=Real_0; 4471:SKTempServSoba1Povpr:=Real_0; 4473:SKVlaga1:=Real_0; 4475:SKVlaga2:=Real_0; 4477:SKVlaga3:=Real_0; 4479:SKVlagaKontrSoba:=Real_0; 4481:SKVlagaLinkProstor:=Real_0; 4483:TempZaAlarmTIA123:=Real_0; 4485:TempZaAlarmTIA4:=Real_0; 4487:TempZaAlarmTIA5:=Real_0; 4489:TempZaVklopObehKlim:=Real_0; END_CASE END_FUNCTION (* @PATH := '\/Modnet' *) (* @SYMFILEFLAGS := '2048' *) FUNCTION mod_Write_String : BOOL VAR_INPUT Index:INT; END_VAR VAR END_VAR (* @END_DECLARATION := '0' *) (*vpis iz scade*) CASE index OF (*Pisanje STRING*) (**) 5000:UserName:=String_0; END_CASE END_FUNCTION (* @PATH := '\/Modnet' *) (* @SYMFILEFLAGS := '2048' *) FUNCTION mod_Write_Word : BOOL VAR_INPUT Index:INT; END_VAR VAR END_VAR (* @END_DECLARATION := '0' *) (*vpis iz scade*) CASE index OF (*Pisanje INT*) (**) 0:DatumCas.Dan:=Byte_0; 1:DatumCas.Leto:=Byte_0; 2:DatumCas.Leto2:=Word_01; 3:DatumCas.Mesec:=Byte_0; 4:DatumCas.Minuta:=Byte_0; 5:DatumCas.Sekunda:=Byte_0; 6:DatumCas.Ura:=Byte_0; 7:Klima[1].Vlazilec_Stanja:=Byte_0; 8:Klima[2].Vlazilec_Stanja:=Byte_0; 9:Klima[3].Vlazilec_Stanja:=Byte_0; 10:StUrZaPreklopKlim:=Word_01; 11:UPSstatus_Prikaz_PanelSCADA:=Byte_0; 12:UserCurrentLevel:=Byte_0; (*Pisanje UINT*) (**) 6000:PMM.AlarmPhase[1].C01_16_60to80:=Word_01; 6001:PMM.AlarmPhase[1].C01_16_over80:=Word_01; 6002:PMM.AlarmPhase[1].C17_32_60to80:=Word_01; 6003:PMM.AlarmPhase[1].C17_32_over80:=Word_01; 6004:PMM.AlarmPhase[1].C33_42_60to80:=Word_01; 6005:PMM.AlarmPhase[1].C33_42_over80:=Word_01; 6006:PMM.AlarmPhase[2].C01_16_60to80:=Word_01; 6007:PMM.AlarmPhase[2].C01_16_over80:=Word_01; 6008:PMM.AlarmPhase[2].C17_32_60to80:=Word_01; 6009:PMM.AlarmPhase[2].C17_32_over80:=Word_01; 6010:PMM.AlarmPhase[2].C33_42_60to80:=Word_01; 6011:PMM.AlarmPhase[2].C33_42_over80:=Word_01; 6012:PMM.AlarmPhase[3].C01_16_60to80:=Word_01; 6013:PMM.AlarmPhase[3].C01_16_over80:=Word_01; 6014:PMM.AlarmPhase[3].C17_32_60to80:=Word_01; 6015:PMM.AlarmPhase[3].C17_32_over80:=Word_01; 6016:PMM.AlarmPhase[3].C33_42_60to80:=Word_01; 6017:PMM.AlarmPhase[3].C33_42_over80:=Word_01; 6018:kom_nast_cas_izpada:=Word_01; ; END_CASE END_FUNCTION (* @PATH := '\/Modnet' *) (* @SYMFILEFLAGS := '2048' *) (*Modbus Slave Example*) PROGRAM PLC_PRG_modnet VAR Slave_Adresa:BYTE:=2; Slave_Port:INT:=502; 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; END_VAR (* @END_DECLARATION := '0' *) (*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; END_PROGRAM (* @PATH := '\/Modnet' *) (* @SYMFILEFLAGS := '2048' *) FUNCTION Read_dWord : BOOL VAR_INPUT dVAR: DWORD; lo:INT; hi:INT; END_VAR VAR END_VAR (* @END_DECLARATION := '0' *) DWord_0:=dVar;mind[lo]:=Word_01;mind[hi]:=Word_23; END_FUNCTION (* @PATH := '\/Modnet' *) (* @SYMFILEFLAGS := '2048' *) FUNCTION Read_Real : BOOL VAR_INPUT rVAR: REAL; lo:INT; hi:INT; END_VAR VAR END_VAR (* @END_DECLARATION := '0' *) Real_0:=rVar;mind[lo]:=Word_01;mind[hi]:=Word_23; END_FUNCTION (* @PATH := '\/Modnet' *) (* @SYMFILEFLAGS := '2048' *) FUNCTION Read_String : BOOL VAR_INPUT sVar: STRING; start:INT; END_VAR VAR END_VAR (* @END_DECLARATION := '0' *) 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; END_FUNCTION (* @GLOBAL_VARIABLE_LIST := 'Global_Variables_Modnet' *) (* @PATH := '' *) (* @SYMFILEFLAGS := '2048' *) VAR_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 (* @OBJECT_END := 'Global_Variables_Modnet' *) (* @CONNECTIONS := Global_Variables_Modnet FILENAME : '' FILETIME : 0 EXPORT : 0 NUMOFCONNECTIONS : 0 *)