Micrologix 1500 and DNet scanner

Alan Case

Lifetime Supporting Member
Join Date
Apr 2002
Location
Wagga Wagga
Posts
1,268
Hi all. I am having a bit of trouble with the above setup. I will eventually connect several drives to the DNet but as I do not have these I am practicising with what I have. I have a block of compact IO and a rightsight photoeye on the network, correctly mapped and working. What is giving me problems is a CIP generic message to the nodes. I can write and read back parameters from the compact block IO using CIP but every time I try with the photoeye the message block errors. The scanner manual refers to word 15 and word 22 as error codes but there is no way to view the message block in any format other than the default which gives no indication of word numbers. Is there any reference out there detailing the MSG file structure for an ML1500 or can anyone shed any ideas on this problem.

Also I wish to read in about 10 parameters (more than I can assign to an assembly) so I run a 25/100 sec timer and on the done bit read parameter 1 with a CIP generic message, then allow the done bit or error bit to call the next message block for parameter 12, and its done bit or error bit calls the next block etc. The last parameter done bit or error bit resets the timer so that it can all happen again in 25/100 of a second. Is this the usual or an accepted way of retrieving parameters (slow changing, ie run hrs) from a device. Regards Alan Case
 
Last edited:
What precise Class/Instance/Attribute codes are you sending to the photoeye ? Can you send the same codes in a message from the SCIA Editor in RSNetworx ?

Depending on what sort of drives you're using, they might support a Scattered Parameter Read. You send a single message with a list of parameter numbers, and get back a list of parameter values. The A-B SCANport and DPI-equipped drives support this, but I don't know about the smaller PowerFlex 40 or Bulletin 160 drives, and I haven't seen it in other brands.

The .DN bit trigger for the next message is a pretty common way of chaining together messages. The trick is to be able to stop and restart in the case of a message error.
 
Hi, Ken. I was hoping you would answer this query. In the ML1500 when you set the service to read parameter, the program forces default values into class and attribute. In Hex these are Class F, attribute 1. The instance is the only thing I can alter. I have tried several but am now using Hex 13 (Dec 19) which is the count of operations. The real project will be using Fuji drives with the Anybus devicenet modules connected but as it is a bit hard to set these up on my desk (170kw drives) I am trying to use a photo eye to get the CIP messaging happening. I have no trouble with a block of compact IO but the parameters were limited in it. With a right sight I was hoping to message a bunch of parameters like the count so I could see the values change in the ML1500 data table so that I know I am doing things right.
I am not sure what the SCIA editor is but I will investigate that now.
Thanks for your time. Alan
 
Right-click on a device icon in RSNetworx for DeviceNet and select "Class Instance Editor". This establishes a DeviceNet Explicit Message connection to the node and brings up an explicit message generator window. There will be an "be careful" message before this pops up; accept and ignore it.

The component name for this is the Service, Class, Instance, Attribute editor, thus the nickname "SCIA Editor." Sorry about the jargon.

It's the tool I use to test out the Class/Instance/Attribute object addressing and data format before I program one into a controller. It lets me verify the data length and format on a low-level basis with an easy-to-use tool before I code it into Logix or PLC/SLC.

The RightSight doesn't have a very powerful explicit message engine; it might not be the ideal testbed for a bunch of explicit messages. What else came in the starter kit ?
 
I found the SCIA editor and was able to read from the compact block but not the right sight. The error message is "object not found". I don't have the starter kit, just bits left over from other jobs and the ML1500 with DNet scanner for this job. The right sight had a couple of words that I was hoping to retrieve just to prove to myself the messaging was working before I have to go into the field and plug into the real thing. Regards Alan Case
 
That depends on what you mean by "Parameter". Really.

Oh, I think I know why the messages didn't work as you expected to the RightSight.

In RSLogix 500, you were using the CIP Generic MSG type, then selecting the CIP Service to be "Read Parameter". This pre-sets the Service code to 0x0F, and the Attribute to 0x01, leaving you only the Instance to configure.

Here's the deal. Although the DeviceNet Parameter Editor that you're familiar with in RSNetworx lists Parameters by ID number, those Parameters don't necessarily correspond to a DeviceNet Parameter Object (which is Class 0x0F). Often they do; A-B AC drives especially implement the Parameter Object where all the Parameter ID's in the Parameter Editor are equivalent to Parameter Objects with the same number.

But sometimes the Parameter ID in the RSNetworx Parameter Editor is pointed to a different DeviceNet Object. The EDS file has an encoded entry that describes the DeviceNet Object address for each Parameter ID shown in the Parameter Editor.

In your RSLogix 500 MSG instruction (and in the SCIA Editor) you'll need to use a Get Attribute Single generic service, for which you will specify the Class, Instance, and Attribute values.

I won't explain all the details, but here's a quick and dirty way to extract the C/I/A codes for an object from the EDS file. You can view the EDS file from a launcher tab in the Parameter Editor in RSNetworx for DeviceNet.

On the RightSight, for example, Parameter 11 is defined as follows:

Param11 = $ On-Delay Timer preset
0, $ Data Placeholder
6, "20 ed 24 01 30 04",
$ Path size and Path to Attribute
0x00, $ Descriptor
2, 2, $ Data Type and Size - (UINT)
"On-Delay Timer Preset", $ Name
" ", $ Units (Not Used)
"Select value of On-Delay Timer. (see Parameter 9) " $ Help
0,65535,0, $ min, max, default values
1,1,1,0, $ mult, div, base, offset scaling (Not Used)
1,1,1,0, $ mult, div, base, offset links (Not Used)
0;


 
Last edited:
Interpreting the Object Path

Here's how that Object Path works out:

"20 ed 24 01 30 04"

Class = 0xED
Instance = 0x01
Attribute = 0x04

You can do that with virtually all six-byte object paths from an EDS file. Give it a try !
 
Thanks Ken. In the next few days I will give that a try. Some of this devicenet stuff is quite complicated. If I am ever in the States I will buy you a beer.
PS. are there any good reference books, tutorials etc on devicenet at this level?
Regards Alan Case
 
Last edited:
I learned a whole lot about explicit messaging from a tutorial that is now included in Knowbase document G16551.

I have the full DNet Specification but most of that is over my head. I just use it for reference usually when decoding traffic captures or EDS files.
 

Similar Topics

I have been working on this for a while now and I can't seem to get it. I was finally able to view the 1500 on the PanelView under the serial...
Replies
1
Views
82
Hello, I have a 1764 1500 LSP Series A that keeps failing with DTL_E_FAIL I/O error. Searching around it seems there's a weird issue specifically...
Replies
2
Views
106
Good Day i Have Micrologix 1500 LSP, and I want to get data from plc and send it through Modbus RTU slave; I have only ch0 on that plc I Order...
Replies
6
Views
917
Hello folks, Hope everyone is doing fine. I got an OMRON NS10-TVOOB-V2 hmi screen last day and planning to use it with Micrologix 1500. 1. Is...
Replies
4
Views
1,208
Good morning to all, I need to modify an existing PLC MIcrologix 1500 configured with a Modem on Channel 1 (DF1 Full Duplex) and an...
Replies
7
Views
1,427
Back
Top Bottom