CLX string to panelview using embedded variable

donnacha

Member
Join Date
Dec 2009
Location
Ireland
Posts
53
Hi All,
I currently have a setup using a CLX PLC and a standard Panelview communicating over devicenet. The Panelview displays the current family name (See attachment Family name display).

This is done using an embedded variable where an ASCII string is defined like /*A:9 family_name*/. I have read the help file and I understand that the defined format denotes the start of an Ascii tag of length 9 and tag family_name.


I can see in the panelview tag editor that this tag "family_name" is of type character array with a length of 10 and has address 0:2 over the DNET IO slave. However I don't fully understand how this technique works and how the family name is updated.

I have read the help file and it suggests that there will be a string in the processor that will hold a string array containing Ascii characters of SINT data type. However I cannot find any such string in the controller tags and hence I am a little bit stumped on figuring out how this is done.

I have attached some pictures showing panelview and controller tags that might help explain.

Thanks for any help in advance.

Regards,
Donnacha.

display family name.PNG panelview manual for embedded variable.PNG text object.PNG Ascii entry.PNG tag editor.PNG
 
The address "O:2" suggests that the PanelBuilder32 tag "family_name" is using the third word of the Consumed data connection. That offset value of 2 is the offset from the start of the I/O connection, and does not necessarily indicate where the data comes from in the 1756-DNB Output Data tag array.

You'll need to figure out exactly what Local:S:O.Data[x] element in the ControlLogix corresponds with that word in the I/O connection between the 1756-DNB and the PanelView.

The authoritative place to find this would be in the 1756-DNB Scanlist configuration, in RSNetworx for DeviceNet software.

You might be able to figure it out by inference, relative to other known parts of the 1756-DNB Data tags. Those handshake bits might be findable, for example.

The data doesn't have to be in a STRING datatype in the ControlLogix; it's just as likely to be part of an INT[x] or SINT[x] array.
 
Thanks Ken,
I was trying to take a look at the scan list yesterday but I just loaded my software onto a new laptop and I ended up with the RSNetworx issue of not recognising devices regardless of downloading the EDS files. Therefore I can't open the scanner IO table at the moment.

I will upgrade to V21 for device net tomorrow and figure out the IO mapping for O:2.

Just so I can understand the embedded variable principle fully, lets say for example they use an INT[X] array. Will each value in this array represent an Ascii character (i.e. 97 for 'a', etc,)?

I was expecting that I would have to find a string length and then an array of SINT[X] where each character would be stored for the character array conversion to the Panelview?

Thanks for the help Ken, much appreciated.

Regards,
Donnacha.
 
Hi Ken,
I finally managed to get some time to upgrade my version of RS Networx to V21 which sorted out the EDS problem I was having. Hence, I got to take a look at the scanlist in relation to O:2 which was the tag for the Family_Name.

It turns out that this value is moved from the CLX as an integer held in a DINT in the controller tags. Please see attached JPEGS. I was under the illusion that the technique to achieve this would have been an array of SINT that would hold a set of ASCII caharacter values that would be used to fill the character array in the panelview, but obviously I was wrong.

Can you please help me understand how this DINT is converted to character array based on integer number as I don't understand how it is accomplished. Thanks again for the help, much appreciated.

Regards,
Donnacha.

Scan table list for outputs.PNG family move to HMI outputs.PNG dint for runtime recipe.PNG runtime_recipe_controller_tags.PNG
 

Similar Topics

Hello, I am using CITECT V7.2 with the ABCLX driver to communicate to a compactlogix L30ER. I want to make a simple string tag that I can key...
Replies
5
Views
2,580
Hi folks I am trying to read out a couple of strings with this Code Sub weigher() rslinx = DDEInitiate("RSLINX", "Mermaid_04") For i = 0 To...
Replies
5
Views
7,669
Is it me or does String handling in the CLX leave something to be desired ;) In any case I have a routine that builds a date/time string and...
Replies
11
Views
4,464
Can I send an ASCII string over Ethernet in ControlLogix to a dummy device with IP address? I know I can sent it over CH0 port, but can this be...
Replies
2
Views
10,334
Controller: 1756-L84E v.35 Prosoft MVI56E-MNETC for ModbusTCP/IP I'm having an issue with some of my write commands. The write command that...
Replies
0
Views
197
Back
Top Bottom