PLCS.net - Interactive Q & A

PLCS.net - Interactive Q & A (http://www.plctalk.net/qanda/index.php)
-   LIVE PLC Questions And Answers (http://www.plctalk.net/qanda/forumdisplay.php?f=2)
-   -   SLC To CLX Enet Messaging (http://www.plctalk.net/qanda/showthread.php?t=113653)

ian.smith7 January 8th, 2018 04:53 AM

SLC To CLX Enet Messaging
 
Hi all
I am replacing an SLC5/05 with a Compact Logix.
Having converted the program I am now looking at the Ethernet messaging.
I have Mapped the SLC files to the Tag arrays in the CLX program.

My question is does this mapping process mean that the existing MSG instructions in the other PLCs that read and write to the new CompactLogix can be left as they are and they will continue to work because the Mapping presents the data as another SLC?
Cheers
Ian

daba January 8th, 2018 05:05 AM

Quote:

Originally Posted by ian.smith7 (Post 764350)
Hi all
I am replacing an SLC5/05 with a Compact Logix.
Having converted the program I am now looking at the Ethernet messaging.
I have Mapped the SLC files to the Tag arrays in the CLX program.

My question is does this mapping process mean that the existing MSG instructions in the other PLCs that read and write to the new CompactLogix can be left as they are and they will continue to work because the Mapping presents the data as another SLC?
Cheers
Ian

Effectively yes....

The mapping traps all incoming messages, and any that show a "source" or "destination" address in the SLC/PLC5 data-file format (eg "N101:0") are mapped to the tags specified in the mapping.

Just be aware that this is done by data-file number only, which is not an issue since you can only have one "data-file" at each number, regardless of data-type.

Mapping is not required for outgoing messages (read or write), since the remote "target" is specified in the CLX message configuration.

ian.smith7 January 8th, 2018 05:39 AM

Thanks for the reply daba

So the Msg Commands in any SLC reading or writing to the new CompactLogix
do not need to be changed from SLC read or write TO PLC5 read or write?

Also in the future it could be possible that a second identical machine is run as a separate Task in the control logix but having identical file numbers arriving with different data set for a second mapped array would not be possible.

Ian

daba January 8th, 2018 06:23 AM

Quote:

Originally Posted by ian.smith7 (Post 764356)
Thanks for the reply daba

So the Msg Commands in any SLC reading or writing to the new CompactLogix
do not need to be changed from SLC read or write TO PLC5 read or write?

Also in the future it could be possible that a second identical machine is run as a separate Task in the control logix but having identical file numbers arriving with different data for a second mapped array would not be possible.

Ian

There is no need to change anything in the remote SLC's message configurations (except possibly the message path), they will just believe they are still communicating with another SLC.

I don't believe your second point could work... a message received by the CLX does not convey information as to where it has come from, so could not be directed to different program-scoped tags of the same name.

The only work-around I can think of is to relocate all the SLC messages into the CompactLogix, that way you can read/write any of the remote SLCs into program-scoped tags of the same tag-name. If you go this way, you can configure MSGs in each program to communicate with your respective remote SLCs. Just be aware that the MSG tags themselves must be controller-scoped, so adopt a good naming convention.

Also, just to clarify your usage of the word Task.... You would use separate programs within the continuous task to emulate multiple SLCs. The Program structure in Logix5000 is a close as dammit to a separate SLC/PLC5, having its own data-tables (program-scoped tags), its own fault handling, and one "main routine" (equivalent to the SLCs file 2). The programs can even be switched on and off programmatically if it is necessary to "isolate" a program.

Effectively you can emulate up to 100 SLCs (100 programs per task) in most of the CompactLogix range.

ian.smith7 January 8th, 2018 06:35 AM

so data served up in a mapped array by the CLX can be read by multiple SLCs.
And data can be written to the same mapped array from multiple slc sources.
Ian

ian.smith7 January 8th, 2018 06:41 AM

Thanks Daba
I think I have got my head round it.
I didn't need to spend my morning writing additional Msg Code at all.
Cheers
Ian

daba January 8th, 2018 07:34 AM

Quote:

Originally Posted by ian.smith7 (Post 764363)
so data served up in a mapped array by the CLX can be read by multiple SLCs.
Ian

Yes

Quote:

Originally Posted by ian.smith7 (Post 764363)
And data can be written to the same mapped array from multiple slc sources.
Ian

Yes, but how do you know where the data-set has come from, and surely it will be changing all the time.... One way round this is for the multiple SLCs data to have an element inside the data-set that identifies the source, then the CompactLogix can immediately copy the data to respective tag arrays dependent upon the value of that element. (HINT : use CPS, not COP, that way the data-set cannot be overwritten while it is being copied)

Ken Roach January 8th, 2018 12:42 PM

Quote:

[Message instruction commands] do not need to be changed from SLC Read or write to PLC5 Read or Write?
Posting to confirm; the ControlLogix and CompactLogix will respond to both SLC Typed Read/Write and PLC-5 Typed Read/Write command over Ethernet, as long as the originating controller is using CIP.

They will also respond to PLC-2 type messages and "485CIF" type messages, but not to anything that is specific to the PLC-5/250 or PLC-3 controllers.

Also, the originating controller must support CIP protocol. Most SLC-5/05 and PLC-5 controllers built in the past 10 or 15 years support both the older CSPv4 and the modern CIP protocols or can be upgraded to do so. The MicroLogix 1100 and 1400 support CIP from the start and never supported CSPv4.

Ken Roach January 8th, 2018 12:49 PM

And a bit of sorta-trivia: why are the commands called "Typed Data Table Read/Write" ? That always gave me a picture of somebody tapping on a mechanical typewriter.

The reason is that those commands specify the data type with a byte inside the command frame. There's a different value for Integer (N) files, or Real (F) files, or String (ST) files or Binary (B) files.

This was baked into the A-B protocols in part because the most common competitive protocol at the time was Modbus, which is notorious for having no explicit way to determine the data type or data element size once you exceeded the default (0,1,3,4) data types.

The other reason is that PLC-2 commands are flat-file memory access commands that have even less data organization information than Modbus does.


All times are GMT -5. The time now is 03:26 PM.

.