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 | FUNCTION_BLOCK cameraconvertor VAR_INPUT sDataInput:STRING; bDataInput:BOOL; bTrigger:BOOL; bAutoTrigger: BOOL; END_VAR VAR_OUTPUT sResult1:STRING; sResult2:STRING; sResult3:STRING; sResult4:STRING; sResult5:STRING; sResult6:STRING; sResult7:STRING; sResult8:STRING; sResult9:STRING; bTriggerOut:BOOL; VAR arReceived: ARRAY[0..10] OF STRING; i:INT; iStep: INT :=10; sTemp: STRING; lastDataTcpEvent: INT; TCPIP_EVENT_DATA_RECEIVED: INT; CASE iStep OF 10: // convert input data IF bDataInput THEN bTrigger := FALSE; bTriggerOut := FALSE; sTemp := sDataInput; arReceived[i]:= LEFT(STR:= arReceived[10], SIZE:= (FIND(STR1:= arReceived[10], STR2:=';')-1)); arReceived[i]:=''; (* Nicht ben tigte Strings l schen / delete not used string *) END_IF END_FOR; sResult1:= arReceived[1]; sResult2:= arReceived[2]; sResult3:= arReceived[3]; sResult4:= arReceived[4]; sResult5:= arReceived[5]; sResult6:= arReceived[6]; sResult7:= arReceived[7]; sResult8:= arReceived[8]; sResult9:= arReceived[9]; arReceived[10]:= ''; iStep := iStep + 10; END_IF 20: // Send Trigger IF bTrigger OR bAutoTrigger THEN bTriggerOut := TRUE; iStep := 10; END_CASE |