Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SCL 5.76 KB | None | 0 0
  1. ModbusMaster(
  2.     ENABLE                      :=Zabezpieczenie.Pozwolenie, (*JESLI DOSTANIEMY ZAPLATE USTAWIC TRUE!!!*)
  3.     bCOM_PORT                   := 2,
  4.     cbCOM_BAUDRATE          := 960,
  5.     cpCOM_PARITY                := 0,
  6.     csCOM_STOPBITS          :=2,
  7.     cbsCOM_BYTESIZE         := 8,
  8.     cfCOM_FLOW_CONTROL  := 4 ,
  9.     TimeOut                     := t#500ms,
  10.     StartFunction                   :=xStart ,
  11.     ExtQuery                        :=Zapytanie ,
  12.     Response                        :=Odpowiedz ,
  13.     MB_Error                        =>ModbusMasterErr ,
  14.      );
  15.  
  16. TimerOpoznienia(IN:= NOT xStart, PT:= CzasOpoznienia);
  17.  
  18.  
  19. (*Opoznienie przejscia do kolejnego kroku*)
  20. (*Opoznienie(xInput:= NOT (Start OR Opoznienie.xOutput), dwTon_10tel_s:= CzasOpoznienia, dwToff_10tel_s:= CzasOpoznienia);*)
  21.  
  22. (*IF Opoznienie.xOutput THEN*)
  23. IF TimerOpoznienia.Q THEN
  24.         CASE Stan OF
  25.        
  26.         0:
  27.                     Zapytanie.FunctionCode := 3;
  28.                     Zapytanie.Read_Quantity := 46;
  29.                     Zapytanie.Read_StartAddress := 2;
  30.                     Zapytanie.SlaveAddress := 1;
  31.                     xStart := TRUE;
  32.                     Stan := 1;
  33.         1:
  34.                     NW1_ModbusErr := ModbusMasterErr;
  35.                     IF NW1_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 1, NrCentrali := 1); END_IF
  36.                     Stan := 2;
  37.  
  38.         2:
  39.                     Zapytanie.FunctionCode := 3;
  40.                     Zapytanie.Read_Quantity := 46;
  41.                     Zapytanie.Read_StartAddress := 2;
  42.                     Zapytanie.SlaveAddress := 2;
  43.                     xStart := TRUE;
  44.                     Stan := 3;
  45.         3:
  46.                     NW2_ModbusErr := ModbusMasterErr;
  47.                     IF NW2_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 1, NrCentrali := 2); END_IF
  48.                     Stan := 4;
  49.  
  50. (*******************************************************************************************************************************************************************)
  51.  
  52.         4:
  53.                     Zapytanie.FunctionCode := 3;
  54.                     Zapytanie.Read_Quantity := 52;
  55.                     Zapytanie.Read_StartAddress := 54;
  56.                     Zapytanie.SlaveAddress := 1;
  57.                     xStart := TRUE;
  58.                     Stan := 5;
  59.         5:
  60.                     NW1_ModbusErr := ModbusMasterErr;
  61.                     IF NW1_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 2, NrCentrali := 1); END_IF
  62.                     Stan := 6;
  63.  
  64.         6:
  65.                     Zapytanie.FunctionCode := 3;
  66.                     Zapytanie.Read_Quantity := 52;
  67.                     Zapytanie.Read_StartAddress := 54;
  68.                     Zapytanie.SlaveAddress := 2;
  69.                     xStart := TRUE;
  70.                     Stan := 7;
  71.         7:
  72.                     NW2_ModbusErr := ModbusMasterErr;
  73.                     IF NW2_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 2, NrCentrali := 2); END_IF
  74.                     Stan := 8;
  75.  
  76. (*******************************************************************************************************************************************************************)
  77.  
  78.         8:
  79.                     Zapytanie.FunctionCode := 3;
  80.                     Zapytanie.Read_Quantity := 36;
  81.                     Zapytanie.Read_StartAddress := 148;
  82.                     Zapytanie.SlaveAddress := 1;
  83.                     xStart := TRUE;
  84.                     Stan := 9;
  85.         9:
  86.                     NW1_ModbusErr := ModbusMasterErr;
  87.                     IF NW1_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 3, NrCentrali := 1); END_IF
  88.                     Stan := 10;
  89.  
  90.         10:
  91.                     Zapytanie.FunctionCode := 3;
  92.                     Zapytanie.Read_Quantity := 36;
  93.                     Zapytanie.Read_StartAddress := 148;
  94.                     Zapytanie.SlaveAddress := 2;
  95.                     xStart := TRUE;
  96.                     Stan := 11;
  97.         11:
  98.                     NW2_ModbusErr := ModbusMasterErr;
  99.                     IF NW2_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 3, NrCentrali := 2); END_IF
  100.                     Stan := 12;
  101.  
  102. (*******************************************************************************************************************************************************************)
  103.  
  104.         12:
  105.                     Zapytanie.FunctionCode := 3;
  106.                     Zapytanie.Read_Quantity := 42;
  107.                     Zapytanie.Read_StartAddress := 184;
  108.                     Zapytanie.SlaveAddress := 1;
  109.                     xStart := TRUE;
  110.                     Stan := 13;
  111.         13:
  112.                     NW1_ModbusErr := ModbusMasterErr;
  113.                     IF NW1_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 4, NrCentrali := 1); END_IF
  114.                     Stan := 14;
  115.  
  116.         14:
  117.                     Zapytanie.FunctionCode := 3;
  118.                     Zapytanie.Read_Quantity := 42;
  119.                     Zapytanie.Read_StartAddress := 184;
  120.                     Zapytanie.SlaveAddress := 2;
  121.                     xStart := TRUE;
  122.                     Stan := 15;
  123.         15:
  124.                     NW2_ModbusErr := ModbusMasterErr;
  125.                     IF NW2_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 4, NrCentrali := 2); END_IF
  126.                     Stan := 16;
  127.  
  128.  
  129. (*******************************************************************************************************************************************************************)
  130.  
  131.         16:
  132.                     Zapytanie.FunctionCode          := 16;
  133.                     Zapytanie.Write_Quantity            := 1;
  134.                     Zapytanie.SlaveAddress          := 1;
  135.                     Zapytanie.Write_StartAddress    := 10;
  136.                     Zapytanie.Write_Data[0] := NW1_SpResAl;
  137.                     xStart := TRUE;
  138.                     Stan := 17;
  139.         17:
  140.                     NW1_ModbusErr := ModbusMasterErr;
  141.                     Stan := 18;
  142.  
  143.  
  144.         18:
  145.                     Zapytanie.FunctionCode          := 16;
  146.                     Zapytanie.Write_Quantity            := 1;
  147.                     Zapytanie.SlaveAddress          := 2;
  148.                     Zapytanie.Write_StartAddress    := 10;
  149.                     Zapytanie.Write_Data[0] := NW2_SpResAl;
  150.                     xStart := TRUE;
  151.                     Stan := 19;
  152.         19:
  153.                     NW2_ModbusErr := ModbusMasterErr;
  154.                     Stan := 20;
  155.  
  156. (*******************************************************************************************************************************************************************)
  157.  
  158.         20:
  159.                     Zapytanie.FunctionCode          := 16;
  160.                     Zapytanie.Write_Quantity            := 4;
  161.                     Zapytanie.SlaveAddress          := 1;
  162.                     Zapytanie.Write_StartAddress    := 2;
  163.                     Zapytanie.Write_Data[0] := NW1_SpMode;
  164.                     Zapytanie.Write_Data[2] := NW1_SpTset;
  165.                     xStart := TRUE;
  166.                     Stan := 21;
  167.         21:
  168.                     NW1_ModbusErr := ModbusMasterErr;
  169.                     Stan := 22;
  170.  
  171.  
  172.         22:
  173.                     Zapytanie.FunctionCode          := 16;
  174.                     Zapytanie.Write_Quantity            := 4;
  175.                     Zapytanie.SlaveAddress          := 2;
  176.                     Zapytanie.Write_StartAddress    := 2;
  177.                     Zapytanie.Write_Data[0] := NW2_SpMode;
  178.                     Zapytanie.Write_Data[2] := NW2_SpTset;
  179.                     xStart := TRUE;
  180.                     Stan := 23;
  181.         23:
  182.                     NW2_ModbusErr := ModbusMasterErr;
  183.                     Stan := 0;
  184.  
  185.  
  186.         END_CASE
  187.  
  188. END_IF;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement