Sign in to follow this  
Followers 0
Traders

Allen Bradley Explicit Messaging

8 posts in this topic

I am attempting to send a DeviceNet Explicit message to a GSE 560 Weight Indicator to zero the scale. But no success so far. Any help would be appreciated! I am using an Allen Bradley SLC505 processor, a 1747-SDN scanner, a 1770-KFD for communication, RSNetWorx for DeviceNet and RSLogix 500. I have created the DeviceNet network, have the GSE 560 in the scanner scan list with an I/O Assembly mapped to a processor input register. In the RSLogix 500 software, I can monitor that register to see the GSE 560 scale weight. I am using a DeviceNet network speed of 250, and see the weight change rapidly when weight is added or removed from the scale. I can upload the parameters from the GSE 560 with the RSNetWorx software, and can also, by manually editing parameter #68 in the GSE 560 parameter list, cause the scale to zero. I have logic in the RSLogix 500 software to send the Explicit Message using the M0 file. After a message is sent, there is a response message that indicates the transaction was "successful", but the scale does not zero.

Share this post


Link to post
Share on other sites
Hello Traders, I had something similar just recently. Allen Bradley documentation seems to have a few holes where Explicit Messaging is concerned. I would suggest using the Class Instance Editor within the RSNetworx program to determine the actual information required for your message. The Explicit Message requires a very exact format or it won't work -- as you have already found out. The transaction header will be the first 3 words of your message. The transaction body has to include 1) the Class (1 word), 2) the Instance (1-word), 3) the Atrribute (1-word) and 4) the Data. The size of the Data is determined by the data type. If you're sending a command to "zero", chances are the data type is Boolean which is either 0 or 1 -- 1 to activate. What documentation may not tell you is that a Boolean "1" is only one byte -- not one word. The transaction body has to be reported in bytes, so you add them up. Three words + 1 byte = 7 bytes. Again, the Class Instance Editor can help you with this to sort out the format your device is expecting. Good luck!

Share this post


Link to post
Share on other sites
I have not used DeviceNet for this command with a SLC but the command to tare with Profibus and a serial GSD module are the same .

Share this post


Link to post
Share on other sites
If you hvae the exact code and data that are in the SLC, that would help. I agree that testing with RSNetworx and the SCIA Editor is the best way to be sure the function works, before you try it in an SLC or PLC-5. Firmware Revision 10 of the SLC-5/05 has a new "DEM" DeviceNet Explicit Message instruction that makes these function a whole lot easier to use than the old "fill up the instruction block and copy it to the M0 file" method.

Share this post


Link to post
Share on other sites
From the GSE 650's EDS file: Param68= 0, 7, "20 a1 25 01 00 30 10", 0x0022, 193, 1, "Zero Scale 1", "", "00601 Zero Function (Scale 1)", 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0; That means that Parameter 68 is Class 0xA1, Instance 0x0001, Attribute 0x10. Class 0xA1 (=161 decimal) is Vendor Specific, but since many of the other parameters in this range are all Class 0xA1, Instance 0x0001, I think that GSE has is using it for Scale 1's parameter settings. I will have to check to be sure that the byte order is low-high on that Instance number.

Share this post


Link to post
Share on other sites
SUCCESS! Thanks people! The information you gave got me on the right track. The Class Instance Editor is the place to go along with the inside information on the EDS file. I put the transaction information into an Integer file for formatting. It ended up like this (all in hex): 101 7 1001 a1 1 10 1 1= transaction ID 01= command to execute transaction 7= size of transaction body in bytes 10= service code of Set_Single_Attribute 01= node address a1= class (161 decimal) 1= instance (Scale 1 in this case) 10= attribute (zero scale - 16 decimal) 1= data (Boolean to activate attribute) I would be interested in finding out more about Firmware revision 10. Is the "DEM" in a newer version of RSLogix 500? I am running version 6.20

Share this post


Link to post
Share on other sites
RsLogix 500 Version 7 has it. Processor version 10 Can't find any literature on it right now but if I remember right it is very similar in setup to a CIP MSG in RsLogix 5000. Very easy to use. TW TW Controls

Share this post


Link to post
Share on other sites
On 01/11/2006 at 4:11 PM, Ken Roach said:

From the GSE 650's EDS file: Param68= 0, 7, "20 a1 25 01 00 30 10", 0x0022, 193, 1, "Zero Scale 1", "", "00601 Zero Function (Scale 1)", 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0; That means that Parameter 68 is Class 0xA1, Instance 0x0001, Attribute 0x10. Class 0xA1 (=161 decimal) is Vendor Specific, but since many of the other parameters in this range are all Class 0xA1, Instance 0x0001, I think that GSE has is using it for Scale 1's parameter settings. I will have to check to be sure that the byte order is low-high on that Instance number.

Does anyone still have that EDS file ?   I'm looking for it for 3 weeks now!

Share this post


Link to post
Share on other sites

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
Sign in to follow this  
Followers 0