1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | (*IF VisuElems.CURRENTVISU = 'Station_1' THEN u := 1; VisuElems.CURRENTVISU := DEF_VIZU; ELSIF VisuElems.CURRENTVISU = 'Station_2' THEN u := 2; END_IF IF pClient^.GlobalData.CurrentUserName = "St_1" THEN ELSIF pClient^.GlobalData.CurrentUserName = "St_2" THEN END_IF*) // Iterate over all currently active visualization clients VisuElems.g_ClientManager.BeginIteration(); // Switch the visu of a webclient only if it is a specific client where the admin user is logged out. (*IF pClient^.GlobalData.ClientType = VisuElems.Visu_ClientType.WebVisualization THEN _VisuFbClientTagDataHelper(pClientData := pClient); IF _VisuFbClientTagDataHelper.xIPv4Valid THEN _asPreviousUserName[pClient^.GlobalData.GlobalClientID] = "Admin" AND VisuElems.g_VisuManager.SetMainVisu(pClient, 'MainVisu'); END_IF END_IF IF pClient^.GlobalData.ClientType = VisuElems.Visu_ClientType.WebVisualization THEN IF _VisuFbClientTagDataHelper.stName = 'St_1' THEN u := 1; VisuElems.CURRENTVISU := DEF_VIZU; ELSIF _VisuFbClientTagDataHelper.stName = 'St_2' THEN u := 2; ELSIF _VisuFbClientTagDataHelper.stName = 'St_3' THEN u := 3; ELSIF _VisuFbClientTagDataHelper.stName = 'St_4' THEN u := 4; ELSIF _VisuFbClientTagDataHelper.stName = 'St_5' THEN u := 5; ELSIF _VisuFbClientTagDataHelper.stName = 'St_6' THEN u := 6; ELSIF _VisuFbClientTagDataHelper.stName = 'St_7' THEN u := 7; ELSIF _VisuFbClientTagDataHelper.stName = 'St_8' THEN u := 8; ELSIF _VisuFbClientTagDataHelper.stName = 'St_9' THEN u := 9; ELSIF _VisuFbClientTagDataHelper.stName = 'St_10' THEN u := 10; END_IF END_WHILE FOR i := 1 TO Freq_Control.FR_NUM DO // check connection to server cTCP_RTU[i].xEnable := FALSE; // reconnect need in next cycle bMBFault[i] := TRUE; tonClientTCP(IN := TON_recon, PT := T_CL_RST); FOR i := 1 TO Freq_Control.FR_NUM DO cTCP_RTU[i](); bFreqFault[i] := FALSE; pI^.ReadFreqAct(); eReqState[i] := INPUTS_REQ; wFreqAct[i] := pI^.GetFreqAct(); pI^.ReadInputs(); IF pI^.StopRotation(NOT bStartKey[i]) THEN ELSIF pI^.StartRotation(bStartKey[i]) THEN IF Ifdrv[i].IsConnected() THEN {a9ed5b7e-75c5-4651-af16-d2c27e98cb94} VAR _asIP: ARRAY[0..5] OF STRING; ClientName=< >.*) TON_recon: BOOL := FALSE; u: UINT := 1; wErr: WORD; cTCP_RTU: ARRAY [1...Freq_Control.FR_NUM] OF OCL.TCP_Client; fD_1: Freq_ONI_M680; fD_2: Freq_ONI_M680; fD_3: Freq_EMD_MINI; fD_4: Freq_TTPT_x_400; fD_5: Freq_EMD_ELHART; fD_6: Freq_EMD_ELHART; fD_7: Freq_ONI_M680; fD_8: Freq_EMD_ELHART; fD_9: Freq_ONI_M680; fD_10: Freq_ESQ_A500; fD_1,fD_2,fD_3,fD_4,fD_5,fD_6,fD_7,fD_8,fD_9,fD_10]; wFreqErr: ARRAY [1...Freq_Control.FR_NUM] OF WORD; bMBFault: ARRAY [1...Freq_Control.FR_NUM] OF BOOL; bRemote: ARRAY [1...Freq_Control.FR_NUM] OF BOOL; END_VAR FR_NUM: UINT := 10; TCP_PORT: UINT := 502; T_CL_CNC: TIME := T#1000MS; // client connect time DEF_VIZU: STRING := 'Control'; Modbus TCP 192.168.10.70 - ! , . ! ----------------------------------------------------------------------------------------------- | | .| | | | | | |