Advertisement
Guest User

Untitled

a guest
Feb 18th, 2018
596
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SCL 3.75 KB | None | 0 0
  1. ModbusMaster(
  2.     ENABLE                        :=TRUE, (*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                    :=START ,
  11.     ExtQuery                        :=Zapytanie ,
  12.     Response                        :=Odpowiedz ,
  13.     MB_Error                        =>ModbusMasterErr ,
  14.      );
  15.  
  16. TimerOpoznienia(IN:= NOT START, PT:= CzasOpoznienia);
  17.  
  18.  
  19. (*Opoznienie przejscia do kolejnego kroku*)
  20.  
  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.                     START := 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.                     START := 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.                     Zapytanie.FunctionCode := 3;
  51.                     Zapytanie.Read_Quantity := 52;
  52.                     Zapytanie.Read_StartAddress := 54;
  53.                     Zapytanie.SlaveAddress := 1;
  54.                     START := TRUE;
  55.                     Stan := 5;
  56.         5:
  57.                     NW1_ModbusErr := ModbusMasterErr;
  58.                     IF NW1_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 2, NrCentrali := 1); END_IF
  59.                     Stan := 6;
  60.  
  61.         6:
  62.                     Zapytanie.FunctionCode := 3;
  63.                     Zapytanie.Read_Quantity := 52;
  64.                     Zapytanie.Read_StartAddress := 54;
  65.                     Zapytanie.SlaveAddress := 2;
  66.                     START := TRUE;
  67.                     Stan := 7;
  68.         7:
  69.                     NW2_ModbusErr := ModbusMasterErr;
  70.                     IF NW2_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 2, NrCentrali := 2); END_IF
  71.                     Stan := 8;
  72.  
  73.  
  74.         8:
  75.                     Zapytanie.FunctionCode := 3;
  76.                     Zapytanie.Read_Quantity := 36;
  77.                     Zapytanie.Read_StartAddress := 148;
  78.                     Zapytanie.SlaveAddress := 1;
  79.                     START := TRUE;
  80.                     Stan := 9;
  81.         9:
  82.                     NW1_ModbusErr := ModbusMasterErr;
  83.                     IF NW1_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 3, NrCentrali := 1); END_IF
  84.                     Stan := 10;
  85.  
  86.         10:
  87.                     Zapytanie.FunctionCode := 3;
  88.                     Zapytanie.Read_Quantity := 36;
  89.                     Zapytanie.Read_StartAddress := 148;
  90.                     Zapytanie.SlaveAddress := 2;
  91.                     START := TRUE;
  92.                     Stan := 11;
  93.         11:
  94.                     NW2_ModbusErr := ModbusMasterErr;
  95.                     IF NW2_ModbusErr = 0 THEN Centrala2PLC(Odpowiedz := Odpowiedz, obszar := 3, NrCentrali := 2); END_IF
  96.                     Stan := 12;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement