Logix 5000 - CIP Generic - DataType: Date

TheWaterboy

Lifetime Supporting Member + Moderator
Join Date
May 2006
Location
-27.9679796,153.419016
Posts
1,924
What do I need to do to pull the Date Datatype from an E&H Ph instrument using CIP Eth I/P ?

I can pull strings and integers fine but there is no Date datatype in the Logix platform to assign the incoming data to.

What am I missing here, there must be a way to accomplish this.
 
I think you misunderstood my request.

Using Generic CIP msg, I am trying to read from an Endress and Hauser CM442 instrument and the datatype the instrument is providing one that they call "Date" in their ETH I/P docs.

That "Date" datatype is not one that Logix recognizes (i.e. Float, real, string etc.) so when I try to pull it using a CIP msg I get nothing back.
 
NO, I tried that hoping I would get something and its blank. I can pull other attributes of this object (string, int etc) as long as I have an tag of similar type as a destination. but with this DATE type I don't have a tag to populate and I cant even see what it looks like in a raw form.
I opened Wireshark and tried to see the raw info, but while the strings reveal themselves easily, its difficult to know where the payload starts on these other types.

I contacted E&H and I'm waiting for a callback. Shame there is no generic tag that you could dump an unknown format into to decipher it.
 
I'm going to go out on a limb and take a stab at this. I think you are going to have to create a UDT, then perform some calculations to go from the DATE value into your UDT. According to the CIP specification, this is how the DATE type is defined:

"The range of values for variables of type DATE is from D#1972-01-01, the start of the Coordinated Universal Time (UTC) era, to D#2151-06-06 (a total range of 65536 days)."

This leads me to believe your device would return a 16 bit unsigned integer. You would then need to take that integer value and add its value as a number of days to 01/01/1972

There is also the possibility that it is returning a DATE_AND_TIME type which would return a larger integer because I believe that represents the number of microseconds since the 1972 date.
 
I tried to get back to this today but ran out of time and I am out till Monday and I will try again then. Thanks for the ideas.
Archie, where did you find that specification?
 
Archie, where did you find that specification?
Years ago ODVA used to have an old version that you could download for free. That is no longer an available option. They now require you to purchase the Ethernet/IP specification for $1k which includes "Volume One: Common Industrial Protocol (CIP) Specification". That is the manual with the list of CIP data types.
 
Archie- I thought that might be the source... $1000 to get the doc that shows you how to use a standard that they are hoping to make universal.... Sounds like a cleverly crafted plan for control and guaranteed income. Much like a recent John Deere story.

Robert- Thanks for that link.
I will begin this again and report any interesting findings.
 
This might be more generic - not sure how tightly bound to a vendor these are.

I'm looking at the docs for the instrument, I need Class 311, instances 1-8, and then there are 43 attributes for each instance.

I made a UDT and I can only populate it one slot at a time... So do I HAVE to fill it one attribute at a time (i.e. one MSG per attribute) or is there a way to gather all attributes at once and fill the entire UDT?

I don't need them all, maybe 10 of them, but there are a lot of these instruments so a single MSG would be better for my fingers.
 
This confuses me a bit, Archie, maybe you have some insight?
I got the doc referenced by Robertkjonesjr (thank you for that) and the description of Service Code 3 is what I think I want, that is to grab an entire list of attributes. But when I try to use it the MSG wants a source tag and number of bytes? The source is the device and I want the number of attributes, not bytes.
Code 03h.jpg
 
Are you sure the object you are addressing supports that service? Have you tried get_attribute_all service? Might bring back too much, but it could be just one command and you probably have to make space for all the attributes, but you don't need to use them.

When I debug explicit EIP messages I use the free tool from Molex:

http://www.molex.com/mx_upload/superfamily/iccc/EtherNet_IPTool.html

With this and Wireshark we can then determine how to best configure the commands in an automation controller with some reverse engineering.

I looked for some documentation for this particular device but could only find very high level EtherNet/IP, nothing like the detail you provide with a particular class and specific attributes. Can you provide a link to this documentation?

I think one of the intents of Class 1 messaging is the use of assemblies, where we 'assemble' the various data bits we need and they are provided over the I/O connection mechanism (UDP, maybe multicast, with timeout, etc.). Some platforms allow the user the flexibility of what to put into an assembly; others just provide the assembly config information (input/output) and the data is fixed. Are there any options here for that?
 
Robert I edited the pdf file and removed webserver pages as it was just over the upload limit.

Pg 37 Class Code 311 is the set of attributes I want to retrieve

Using logix 5k I dont have the option Get_Attribute_all. I have get_single or set _single. If I try a custom CIP message, the MSG always requires a source tag or the MSG wont verify.

Using the tool, (thanks for that BTW) Get_attributes_all replies with CIP Status 8 "not supported". Maybe that why I dont see it in Logix?

as a tangent - Perhaps I understand assemblies wrong. Are assemblies a manf set object containing what they decided to put there or is it a placeholder that I have to populate, and then retrieve?

And how do I retrieve an assembly as shown on pg 24.
 

Similar Topics

hi , I need to sorry for my bad English first. I'm newbie at plc programming ,I had been asked about E/IP protocol information for some system...
Replies
3
Views
379
Hello, Wondering if the following setup would work. 1. Local PLC on the network has an array of 25 REALs 2. Supervisory PLC on the network needs...
Replies
14
Views
1,816
I have a question on a subject of etherent nodes in rslogix 5000 project tree for a project that I am working on. I am trying to read if read...
Replies
5
Views
4,678
I am trying to send an CIP MSG from a RSlogix 5000 to a 485/ethernetIp device. I have connected and got a response back giving me the vendor...
Replies
5
Views
2,972
AB Logix 5000 Controllers Compact Logix L24ER PLCs Can not use Produced / Consumed (due to network / bandwidth limitations) so this is not an...
Replies
2
Views
3,365
Back
Top Bottom