AB CompactLogix DeviceNet Adressing

rvalente

Member
Join Date
Jan 2015
Location
Sao Paulo
Posts
3
Hello Mates,

first time developing with deviceNet, Im more used with S7 CPUs.

My system is a L23E CPU + PanelView 550 on devicenet.

I can't understand how to properly set the data mapping.
The HMI is getting reading shifted twice the address value.

Local:5:O.Data[2] on CPU is read on HMI as tag O:4
Local:5:O.Data[10] on CPU is read on HMI as tag O:20 the same for inputs.

I've set the deviceNet for 50 Words. So, a bunch of doubts:

#1 - devicenet is can based, which is has a payload of 8 bytes per message, should not everything being set in bytes?

#2 - I can't finde the EDS file for PV550 2711-K5A10 FW4.1 and newer

#3 - On logix5000 general tab of 1796-SDN input and output sizer are given in 32Bits words. For the panelBuilder in words (dont know if a 16 or 32 bit word). At rsnetworx for device I had to map as size 100, otherwise the scanned would give error 77 (Slave data Mismatch). Chaging the data alignment between pack/byte/word etc seems to have no changes in data packaging.

#4 - Adding the networx file (.dnt) in logix has any usefulness? All my changes have to be made in rsnetworx anyway.

greetings, Renan

rsNetworx.jpg Captura de tela 2023-07-10 095147.png
 
Welcome (back) to the PLCTalk forum community !

You've chosen a fairly tricky set of devices for this post. The DeviceNet-equipped PanelView Standards have a special place in my heart for their flexibility and some neat features, but they weren't particularly easy to use because you had to use up so much graph paper to line up the data !

Even though DeviceNet is CAN-based, the CompactLogix backplane is 32-bit, so the I/O tags used by a ControlLogix or CompactLogix will be composed of 32-bit elements.

The 1769-SDN could also be used with MicroLogix 1500 controllers, which were 16-bit based, so there's an option to represent the I/O tables as 16 bits wide when you set up the connection mapping in RSNetworx. That is actually the "Memory: " setting that's behind the pop-up "Data Alignment" window you showed in your first screenshot.

That "Data Alignment" setting can be even *more* confusing ! What it really does is affect the "Automap" feature. If you have a device whose I/O map is not an even multiple of 32 bits, you can make the Automap feature skip enough bytes so that each next I/O connection begins on an 8-bit, 16-bit, or 32-bit border.

In this case, you probably don't want to use Automap at all, so leave it set for 32 bits to match the 32-bit CompactLogix.

[...] to be continued
 
Even though the PanelView 550 can be used with many different kinds of networks and controllers, it is fundamentally a 16-bit device from the 1990's. It is normal to use 16-bit Integers, and bits packed into 16-bit registers, and Floating Point values that are packed into 2 x 16-bit registers.

So when you see data block sizes in PanelBuilder32, they're going to be denominated in 16-bit Words.

(oh... PanelBuilder32 ? They were just really proud that it would run under 32-bit Windows 95/98/NT. The firmware was still 16-bit.)

In my opinion the best way to handle this data is to use 16-bit INT arrays for your PanelView data in the CompactLogix. Use the CPS (Copy Synchronous) instruction to move them into the 32-bit array tags for Input and Output for the slot of the 1769-SDN.
 
Last edited:
One good thing about using the 1769-SDN with a CompactLogix is that RSLogix 5000 automatically parses out the Command and Status areas of the I/O image into separate Module-type tags. You don't have to remember that Output Byte 0 Bit 0 is the RUN bit, and you don't have to remember where the Status ends and the Input data begins.

Instead, that default 90 x 32-bit Input and 90 x 32-bit Output data array is where you can map all of your I/O from the field devices.

Example in next post.
 
I like to use 16-bit INT[x] array tags for both my Input and Output data when I'm connecting a Logix 5000 controller to a legacy PanelView Standard, just so all the data eventually is easy to line up in the PanelView.

This is especially true when the PanelView doesn't know anything about my addresses or tag names in the Logix program; all it knows is "I am getting a block of Input data via my Polled I/O connection", so it treats it as functionally "Input block 1".

SDN69Example.PNG
 

Similar Topics

We refurbish tube end formers and benders. I'm currently working on an Addison TEF. It has a 1769-L32E with a 1769-SDN DeviceNet scanner (see...
Replies
15
Views
1,648
All Found myself in a situation where I need to flash the 1769_sdn Devicenet module from 2.002 to 4.004. I uploaded from the module but it has...
Replies
11
Views
2,395
Hi everyone, Im changing an old 1769L35E PLC and 1769-SDN/B DNET module with a newer 1769L33ER and a new 1769-SDN module. My question is.. I...
Replies
3
Views
1,384
Dear All, I was getting serious issue with Compactlogix L43 Chassis Backplane mounted DeviCeNet 1769 Scanner Card loosing the DeviceNet files...
Replies
3
Views
2,244
Hello Allen Bradley Experts. I have questions about updating the firmware for a CompactLogix 1769-L23E-QB1 Controller with Firmware version 18 to...
Replies
2
Views
5,150
Back
Top Bottom