Re: [foxboro] Converting Integers to strings?
- From: "Loupe, Rory (RJ)" <RJLoupe@xxxxxxx>
- To: "'foxboro@xxxxxxxxxxxxx'" <foxboro@xxxxxxxxxxxxx>
- Date: Fri, 4 Apr 2003 17:02:58 -0500
Here is what I created, like Alex said it is LONG and UGLY.
Note: Alpha characters were converted to upper case to make the code less
"LONG". Case sensitivity was not important.
Regards,
Rory Loupe
{Subroutine IntToChar has three arguments: Integer which}
{represents two ASCII characters, high byte indicator}
{and a string output }
{which is a single ASCII character. The first step is}
{to parse the two characters and then convert any}
{lower case letters to upper case. Then}
{a large if statement is used to set the string output}
{variable to the ASCII character that the integer }
{represents. For unknown characters a space is used.}
SUBROUTINE IntToChar (
IN CHARIN : I
IN HIBYTE : I
INOUT CHAR_OUT : S6)
STATEMENTS
IF HIBYTE = 1 THEN
CHAR := TRUNC(CHARIN / 256);
ELSE
CHAR := CHARIN MOD 256;
ENDIF;
{If the character is lower case "a" through "z"}
{then convert to upper case "A" through "Z"}
IF ((CHAR >= 97) AND (CHAR <= 122)) THEN
CHAR := CHAR - 32;
ENDIF;
IF (CHAR = 32) THEN
CHAR_OUT := " ";
ELSEIF (CHAR = 33) THEN
CHAR_OUT := "!";
ELSEIF (CHAR = 34) THEN
CHAR_OUT := """";
ELSEIF (CHAR = 35) THEN
CHAR_OUT := "#";
ELSEIF (CHAR = 36) THEN
CHAR_OUT := "$";
ELSEIF (CHAR = 37) THEN
CHAR_OUT := "%";
ELSEIF (CHAR = 38) THEN
CHAR_OUT := "&";
ELSEIF (CHAR = 39) THEN
CHAR_OUT := "'";
ELSEIF (CHAR = 40) THEN
CHAR_OUT := "(";
ELSEIF (CHAR = 41) THEN
CHAR_OUT := ")";
ELSEIF (CHAR = 42) THEN
CHAR_OUT := "*";
ELSEIF (CHAR = 43) THEN
CHAR_OUT := "+";
ELSEIF (CHAR = 44) THEN
CHAR_OUT := ",";
ELSEIF (CHAR = 45) THEN
CHAR_OUT := "-";
ELSEIF (CHAR = 46) THEN
CHAR_OUT := ".";
ELSEIF (CHAR = 47) THEN
CHAR_OUT := "/";
ELSEIF (CHAR = 48) THEN
CHAR_OUT := "0";
ELSEIF (CHAR = 49) THEN
CHAR_OUT := "1";
ELSEIF (CHAR = 50) THEN
CHAR_OUT := "2";
ELSEIF (CHAR = 51) THEN
CHAR_OUT := "3";
ELSEIF (CHAR = 52) THEN
CHAR_OUT := "4";
ELSEIF (CHAR = 53) THEN
CHAR_OUT := "5";
ELSEIF (CHAR = 54) THEN
CHAR_OUT := "6";
ELSEIF (CHAR = 55) THEN
CHAR_OUT := "7";
ELSEIF (CHAR = 56) THEN
CHAR_OUT := "8";
ELSEIF (CHAR = 57) THEN
CHAR_OUT := "9";
ELSEIF (CHAR = 58) THEN
CHAR_OUT := ":";
ELSEIF (CHAR = 59) THEN
CHAR_OUT := ";";
ELSEIF (CHAR = 60) THEN
CHAR_OUT := "<";
ELSEIF (CHAR = 61) THEN
CHAR_OUT := "=";
ELSEIF (CHAR = 62) THEN
CHAR_OUT := ">";
ELSEIF (CHAR = 63) THEN
CHAR_OUT := "?";
ELSEIF (CHAR = 64) THEN
CHAR_OUT := "@";
ELSEIF (CHAR = 65) THEN
CHAR_OUT := "A";
ELSEIF (CHAR = 66) THEN
CHAR_OUT := "B";
ELSEIF (CHAR = 67) THEN
CHAR_OUT := "C";
ELSEIF (CHAR = 68) THEN
CHAR_OUT := "D";
ELSEIF (CHAR = 69) THEN
CHAR_OUT := "E";
ELSEIF (CHAR = 70) THEN
CHAR_OUT := "F";
ELSEIF (CHAR = 71) THEN
CHAR_OUT := "G";
ELSEIF (CHAR = 72) THEN
CHAR_OUT := "H";
ELSEIF (CHAR = 73) THEN
CHAR_OUT := "I";
ELSEIF (CHAR = 74) THEN
CHAR_OUT := "J";
ELSEIF (CHAR = 75) THEN
CHAR_OUT := "K";
ELSEIF (CHAR = 76) THEN
CHAR_OUT := "L";
ELSEIF (CHAR = 77) THEN
CHAR_OUT := "M";
ELSEIF (CHAR = 78) THEN
CHAR_OUT := "N";
ELSEIF (CHAR = 79) THEN
CHAR_OUT := "O";
ELSEIF (CHAR = 80) THEN
CHAR_OUT := "P";
ELSEIF (CHAR = 81) THEN
CHAR_OUT := "Q";
ELSEIF (CHAR = 82) THEN
CHAR_OUT := "R";
ELSEIF (CHAR = 83) THEN
CHAR_OUT := "S";
ELSEIF (CHAR = 84) THEN
CHAR_OUT := "T";
ELSEIF (CHAR = 85) THEN
CHAR_OUT := "U";
ELSEIF (CHAR = 86) THEN
CHAR_OUT := "V";
ELSEIF (CHAR = 87) THEN
CHAR_OUT := "W";
ELSEIF (CHAR = 88) THEN
CHAR_OUT := "X";
ELSEIF (CHAR = 89) THEN
CHAR_OUT := "Y";
ELSEIF (CHAR = 90) THEN
CHAR_OUT := "Z";
ELSEIF (CHAR = 91) THEN
CHAR_OUT := "[";
ELSEIF (CHAR = 92) THEN
CHAR_OUT := "\";
ELSEIF (CHAR = 93) THEN
CHAR_OUT := "]";
ELSEIF (CHAR = 94) THEN
CHAR_OUT := "^";
ELSEIF (CHAR = 95) THEN
CHAR_OUT := "_";
ELSEIF (CHAR = 96) THEN
CHAR_OUT := "'";
ELSEIF (CHAR = 123) THEN
CHAR_OUT := "{";
ELSEIF (CHAR = 124) THEN
CHAR_OUT := "|";
ELSEIF (CHAR = 125) THEN
CHAR_OUT := "}";
ELSEIF (CHAR = 126) THEN
CHAR_OUT := "~";
ELSE
CHAR_OUT := " ";
ENDIF;
ENDSUBROUTINE
-----Original Message-----
From: Johnson, Alex (Foxboro) [mailto:ajohnson@xxxxxxxxxxx]
Sent: Friday, April 04, 2003 3:14 PM
To: foxboro@xxxxxxxxxxxxx
Subject: Re: [foxboro] Converting Integers to strings?
I've used a sequence block in the past. I don't have the code anymore, but
it was long and ugly.
Alex Johnson
Invensys Systems, Inc.
10707 Haddington
Houston, TX 77043
713.722.2859 (office)
713.722.2700 (switchboard)
713.932.0222 (fax)
ajohnson@xxxxxxxxxxx
For the latest information on ArchestrA, go to
www.invensys.com/Archestra.html.
-----Original Message-----
From: Joe Sanguinetti [mailto:Joe.Sanguinetti@xxxxxxxxxxxx]
Sent: Friday, April 04, 2003 11:31 AM
To: foxboro@xxxxxxxxxxxxx
Subject: [foxboro] Converting Integers to strings?
I am messaging a group of integers that represent ASCII chars that I
want to display in Foxboro. Allen Bradley interchange does not support
the messaging of string or ASCII type data. Has anyone have any
experience in converting integers to ASCII characters? DO I need to use
a sequence block???
Any help or comments would be appreciated.
Joe
_______________________________________________________________________
This mailing list is neither sponsored nor endorsed by Invensys Process
Systems (formerly The Foxboro Company). Use the info you obtain here at
your own risks. Read http://www.thecassandraproject.org/disclaimer.html
foxboro mailing list: http://www.freelists.org/list/foxboro
to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join
to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave
_______________________________________________________________________
This mailing list is neither sponsored nor endorsed by Invensys Process
Systems (formerly The Foxboro Company). Use the info you obtain here at
your own risks. Read http://www.thecassandraproject.org/disclaimer.html
foxboro mailing list: http://www.freelists.org/list/foxboro
to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join
to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave
_______________________________________________________________________
This mailing list is neither sponsored nor endorsed by Invensys Process
Systems (formerly The Foxboro Company). Use the info you obtain here at
your own risks. Read http://www.thecassandraproject.org/disclaimer.html
foxboro mailing list: http://www.freelists.org/list/foxboro
to subscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=join
to unsubscribe: mailto:foxboro-request@xxxxxxxxxxxxx?subject=leave
Other related posts: