Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ModbusMaster(
- ENABLE :=Zabezpieczenie.Pozwolenie, (*JESLI DOSTANIEMY ZAPLATE USTAWIC TRUE!!!*)
- bCOM_PORT := 2,
- cbCOM_BAUDRATE := 960,
- cpCOM_PARITY := 0,
- csCOM_STOPBITS :=2,
- cbsCOM_BYTESIZE := 8,
- cfCOM_FLOW_CONTROL := 4 ,
- TimeOut := t#500ms,
- StartFunction :=xStart ,
- ExtQuery :=Zapytanie ,
- Response :=Odpowiedz ,
- MB_Error =>ModbusMasterErr ,
- );
- TimerOpoznienia(IN:= NOT START, PT:= CzasOpoznienia);
- (*Opoznienie przejscia do kolejnego kroku*)
- (*Opoznienie(xInput:= NOT (Start OR Opoznienie.xOutput), dwTon_10tel_s:= CzasOpoznienia, dwToff_10tel_s:= CzasOpoznienia);*)
- (*IF Opoznienie.xOutput THEN*)
- IF TimerOpoznienia.Q THEN
- CASE Stan OF
- 0:
- Zapytanie.FunctionCode := 3;
- Zapytanie.Read_Quantity := 46;
- Zapytanie.Read_StartAddress := 2;
- Zapytanie.SlaveAddress := 1;
- xStart := TRUE;
- Stan := 1;
- 1:
- NW1_ModbusErr := ModbusMasterErr;
- IF NW1_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 1, NrCentrali := 1); END_IF
- Stan := 2;
- 2:
- Zapytanie.FunctionCode := 3;
- Zapytanie.Read_Quantity := 46;
- Zapytanie.Read_StartAddress := 2;
- Zapytanie.SlaveAddress := 2;
- xStart := TRUE;
- Stan := 3;
- 3:
- NW2_ModbusErr := ModbusMasterErr;
- IF NW2_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 1, NrCentrali := 2); END_IF
- Stan := 4;
- (*******************************************************************************************************************************************************************)
- 4:
- Zapytanie.FunctionCode := 3;
- Zapytanie.Read_Quantity := 52;
- Zapytanie.Read_StartAddress := 54;
- Zapytanie.SlaveAddress := 1;
- xStart := TRUE;
- Stan := 5;
- 5:
- NW1_ModbusErr := ModbusMasterErr;
- IF NW1_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 2, NrCentrali := 1); END_IF
- Stan := 6;
- 6:
- Zapytanie.FunctionCode := 3;
- Zapytanie.Read_Quantity := 52;
- Zapytanie.Read_StartAddress := 54;
- Zapytanie.SlaveAddress := 2;
- xStart := TRUE;
- Stan := 7;
- 7:
- NW2_ModbusErr := ModbusMasterErr;
- IF NW2_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 2, NrCentrali := 2); END_IF
- Stan := 8;
- (*******************************************************************************************************************************************************************)
- 8:
- Zapytanie.FunctionCode := 3;
- Zapytanie.Read_Quantity := 36;
- Zapytanie.Read_StartAddress := 148;
- Zapytanie.SlaveAddress := 1;
- xStart := TRUE;
- Stan := 9;
- 9:
- NW1_ModbusErr := ModbusMasterErr;
- IF NW1_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 3, NrCentrali := 1); END_IF
- Stan := 10;
- 10:
- Zapytanie.FunctionCode := 3;
- Zapytanie.Read_Quantity := 36;
- Zapytanie.Read_StartAddress := 148;
- Zapytanie.SlaveAddress := 2;
- xStart := TRUE;
- Stan := 11;
- 11:
- NW2_ModbusErr := ModbusMasterErr;
- IF NW2_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 3, NrCentrali := 2); END_IF
- Stan := 12;
- (*******************************************************************************************************************************************************************)
- 12:
- Zapytanie.FunctionCode := 3;
- Zapytanie.Read_Quantity := 42;
- Zapytanie.Read_StartAddress := 184;
- Zapytanie.SlaveAddress := 1;
- xStart := TRUE;
- Stan := 13;
- 13:
- NW1_ModbusErr := ModbusMasterErr;
- IF NW1_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 4, NrCentrali := 1); END_IF
- Stan := 14;
- 14:
- Zapytanie.FunctionCode := 3;
- Zapytanie.Read_Quantity := 42;
- Zapytanie.Read_StartAddress := 184;
- Zapytanie.SlaveAddress := 2;
- xStart := TRUE;
- Stan := 15;
- 15:
- NW2_ModbusErr := ModbusMasterErr;
- IF NW2_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 4, NrCentrali := 2); END_IF
- Stan := 16;
- (*******************************************************************************************************************************************************************)
- 16:
- Zapytanie.FunctionCode := 16;
- Zapytanie.Write_Quantity := 1;
- Zapytanie.SlaveAddress := 1;
- Zapytanie.Write_StartAddress := 10;
- Zapytanie.Write_Data[0] := NW1_SpResAl;
- xStart := TRUE;
- Stan := 17;
- 17:
- NW1_ModbusErr := ModbusMasterErr;
- Stan := 18;
- 18:
- Zapytanie.FunctionCode := 16;
- Zapytanie.Write_Quantity := 1;
- Zapytanie.SlaveAddress := 2;
- Zapytanie.Write_StartAddress := 10;
- Zapytanie.Write_Data[0] := NW2_SpResAl;
- xStart := TRUE;
- Stan := 19;
- 19:
- NW2_ModbusErr := ModbusMasterErr;
- Stan := 20;
- (*******************************************************************************************************************************************************************)
- 20:
- Zapytanie.FunctionCode := 16;
- Zapytanie.Write_Quantity := 4;
- Zapytanie.SlaveAddress := 1;
- Zapytanie.Write_StartAddress := 2;
- Zapytanie.Write_Data[0] := NW1_SpMode;
- Zapytanie.Write_Data[2] := NW1_SpTset;
- xStart := TRUE;
- Stan := 21;
- 21:
- NW1_ModbusErr := ModbusMasterErr;
- Stan := 22;
- 22:
- Zapytanie.FunctionCode := 16;
- Zapytanie.Write_Quantity := 4;
- Zapytanie.SlaveAddress := 2;
- Zapytanie.Write_StartAddress := 2;
- Zapytanie.Write_Data[0] := NW2_SpMode;
- Zapytanie.Write_Data[2] := NW2_SpTset;
- xStart := TRUE;
- Stan := 23;
- 23:
- NW2_ModbusErr := ModbusMasterErr;
- Stan := 0;
- END_CASE
- END_IF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement