RSLogix500 lower case string data

ASF

Lifetime Supporting Member
Join Date
Jun 2012
Location
Australia
Posts
3,921
Hi all,

Following on from a previous post, I wonder if anyone has seen this before and knows a way around it?

I'm sending a display panel a string of ASCII characters from a Micrologix 1400, most of which are background commands for how to display the message I send at the end of the string. My message always needs to be displayed the same way, so the display-type-related characters do not change, only the message on the end. The simple way to do this (I thought) would be to make ST9:0 contain the fixed code, ST9:1 contain the message, and then to send the message I concatenate the two strings and send it off.

However, the problem is that one of my characters must be lower case for the code to work correctly. When I type my static characters into ST9:0 and press enter, it automatically makes everything upper case. I can't find a way to stop it doing this, and my display doesn't work as the commands are case sensitive.

In the meantime I've gotten around it because I had to copy the ASCII data into N registers to send it via Modbus TCP anyway, so I just used brute force to enter the lower case ASCII values into my N register as hex. But it looks ugly, and I hate not knowing why something doesn't work ;)

Has anyone seen this sort of thing before? Is it just a limitation of RSLogix500, or the Micrologix 1400, or is there a way around it?
 
I'm going out on a limb here but, are you putting the text into the 'SYMBOL' area of the string? Symbols can only be upper case. I just tested this on Micro Starter Lite and lower case works as expected when entered under the 'string text' header for ST9:x.
 
I'm typing it the same place as Bernie. Interesting though, I can type abcdABCD and it stays as is too. But I put my string of ASCII "code" in the same place and it makes it all upper case.

Drop this in and see if that d doesn't go to upper case for you!

^A000000^E1^L1^C1^K1^dC1MESSAGETEXT

It's only that one damn letter, but of course it's absolutely critical that it's lower case!
 
I'm also using ST12:0 as file 9 is being used for something else, but that should make no difference at all...
 
Drop this in and see if that d doesn't go to upper case for you!

^A000000^E1^L1^C1^K1^dC1MESSAGETEXT

Yep, I get the same thing. I changed the 'M' in MESSAGE to lower case and it stays. Then I changed the 'E' in E1 to lower. It goes to upper. I entered 'a^aa' and it got converted to a^Aa.
Looks like the caret is acting as a shift command.

Don't know if it helps but, after more tinkering I discovered this: insert a backslash before the caret and the letter following the caret will stay lower case. D
 
Last edited:
Looks like the caret is acting as a shift command.

Absolutely right. When you enter text into a string in RSLogix 500, the caret is always an escape character.

That string contains six different escape codes, so it's really only 29 characters long.

If you literally need to transmit a caret.... I'm not sure if you use a backslash or a double caret. Time to experiment.
 
Isn't the caret the 'control' symbol? Does your device literally want the caret symbol (^) followed by a particular case of letter or does it want the control code? If it wants the control code then it doesn't matter how RSLogix shows it to you in its data table.
 
Last edited:
Isn't the caret the 'control' symbol?

That's a memory jog! ^d is equivalent to <control> d on your keyboard.

It appears ASF has checked out - maybe he's at lunch.


Entering \5E (hex code for caret) appears as \^ with a string length of 1.
............ \64 appears as lower case 'd', although it doesn't stay that way in the string with the caret in there fiddling around!
 
Last edited:
Hi all - yes, just had my head buried in a set of drawings for a few hours. I don't like to break my concentration while I'm doing error checking :)

For some reason yes, my device does want the carets (*frantically fights back puns about carrot and sticks*)

I've sent the devices to site now to be installed, so when I get there I'll try using the ASCII with the backslashes in place. I suspect that'll be the way to transmit a caret, because looking at the N register where I've manually entered all the ASCII characters, if I change the view Radix to ASCII, it shows backslashes everywhere.

I'll report back in a few weeks! Thanks for your input everyone, it's appreciated as always :)
 
The answer is "literally a backslash \"...

Yes, you are correct guys. The difference here is whether you want characters to be part of a control sequence or you want characters to be literal.

For control sequence characters type: ^d

For literal characters type: \^\d (<<<what you need ASF)

The former, as we know, displays as "^D", but with a length (LEN) of "1", as one character is entered after a command.

The latter displays as "\^d" with a length (LEN) of "2" as both characters are taken literally.

The backslash character "\" is just displayed by the software to indicate literal characters rather than a control sequence. "^d" is what will be literally transmitted.

Regards,
George
 
Last edited:
Thanks George, clear and comprehensive as always!

If you ever do make it down here to the convict colonies, do let me know - I owe you a beer or three for all the help I've gotten from your posts!
 

Similar Topics

So basically i have 2 queries : 1. I have a program file of S7-300 PLC which i want to migrate in RSLogix500.In short i want to convert my simatic...
Replies
15
Views
269
So here's my situation, I have been tasked with modifying the logic to mimic a button press in the PLC. I have two identical machines however one...
Replies
6
Views
552
Hello, I'm new to programming. I'm using RSLogix500 to modify an existing program for a SLC500. My plan was to use one of the existing inputs...
Replies
26
Views
2,021
So i have an allen bradley rack (2080-LC50-24QWB), i have it connected through ethernet. I dont have an offline program so im trying to upload...
Replies
6
Views
699
Hi Everyone, I am supporting a system which runs on a SLC 500 (1747-L532). A fault has developed whereby the output state of some digital outputs...
Replies
10
Views
1,018
Back
Top Bottom