Jump to content

Recommended Posts

Posted
Hi, im trying to make an FC to look thru an inputed string and compare it and see if it contains alphabetic characters, ive tried this, but it will only get T_BOL as true, no matter what i hit it with. The string i need to check if its non-numeric is 7 char long. FUNCTION IS_NUMERIC: BOOL // Block Parameters VAR_INPUT // Input Parameters IN_DATA: STRING[7]; END_VAR VAR_IN_OUT // I/O Parameters END_VAR VAR_OUTPUT // Output Parameters //IS_NUMERIC: BOOL; CHR1: STRING[1]; CHR2: STRING[1]; END_VAR VAR_TEMP // Temporary Variables T_DATA: STRING[7]; T_DATA_FIND: STRING[52]; I_LOOP: INT; I_LOOP2: INT; T_IS_NUMERIC: BOOL; T_STR: STRING; T_BOL: BOOL; TT_CHR1: STRING[1]; TT_CHR2: STRING[1]; END_VAR VAR // Static Variables END_VAR // Instruction Section ; T_BOL := FALSE; T_DATA_FIND := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; FOR I_LOOP:= 1 TO 7 BY 1 DO // Statement Section ; FOR I_LOOP2:= 1 TO 52 BY 1 DO // Statement Section TT_CHR1 := MID (IN := T_DATA// IN: STRING ,L :=1 // IN: INT ,P :=I_LOOP // IN: INT ); // STRING TT_CHR2 := MID (IN := T_DATA_FIND// IN: STRING ,L :=1 // IN: INT ,P :=I_LOOP2 // IN: INT ); // STRING T_BOL := EQ_STRNG ( S1 := TT_CHR1, S2 :=TT_CHR2); IF t_bol = true THEN EXIT; END_IF; END_FOR; IF t_bol = true THEN EXIT; END_IF; END_FOR; IS_NUMERIC := T_BOL; END_FUNCTION

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...