Passing I/O in Logix

MavEric

Member
Join Date
Mar 2008
Location
Ohio
Posts
15
What is the most efficient way to link I/O in Control Logix?

The reason for this post is that on a system we recently built using Ethernet IP, the robot was set up as a slave to the controller and a master to an I/O block. Due to an error in the robot software, it is not able to be a master and a slave at the same time, without com errors happening on occasion.

To fix this, the controller is now the master of the I/O block and passing I/O on to the robot witch is now only set up as a slave. The pass on was done with a "MOV" statement, and is only done once each scan.

Is there a way to link an input word to an output word, in the background, so that there is not done during the scan and will have no "scan" delay.
 
I did look into aliasing, but that will not work as you can not alias an input word, to and output word.
 
To overcome a "Scan" delay, you can always put your data copy code into a Periodic Task, then the I/O copy response time can be set similar to the RPI of the I/O modules themselves. Outputs are updated to the modules at the programmed RPI rate, AND, by default, at the end of each task in the controller, including the periodic task(s).

Keep the volume of code in the periodic task to a minimum, and set the Priority of the periodic task high (highest priority = lowest priority number = 1). Check the instruction execution times in the documentation, it may be faster to use COP instructions than MOV instructions, and it may be faster to put multiple (or even all), COPs or MOVs on the same rung.

You can go as low as 0.1 mS for the periodic task interval, and the minimum RPI for digital I/O data transfer is 0.2 mS, but remember the Main Task scan time will be extended by the multiple executions of the periodic task.
 
I have considered using periodic logic in that way, however, I am not sure what that will do to scan time, and therefor would rather not do that
 
If your concerned about getting the I/O passed thru as quickly as possible, I would create an Event Task that would monitor Module Input Data State Change. Put your logic to move data within this task. Anytime inputs change on the module you define (hopefully all inputs are on one module), the processor will interrupt logic and execute logic within this Event Task.
 
Side note: It used to be that with ControlNet PLC-5 controllers you could overlap the mapping of an Input module with an Output module and thereby create an in-to-out connection that occurred inside the CNet daughterboard and occurred in one Network Update Interval. Usually inadvertent; I never found a use for it.

It would be ideal for this application to use an Event Task to have the controller interrupt and copy the Input data to the Output data, but suspect that the robot controller interface is an ordinary cyclic I/O assembly, which cannot trigger an Event Task.

Input modules that support Change-Of-State connections and Produced/Consumed Tags that carry the Event trigger with them can cause an Event Task, but I have not found an EtherNet/IP Generic Module that can do so.

I think you're going to have to use a Periodic Task, and run it at half the cyclic interval of your I/O connections.
 

Similar Topics

I have two Allen Bradley compactlogix PLC that come from different panel, One of the CompactLogix will output the data to other CompactLogix as...
Replies
1
Views
1,374
Though i was working with add-ons for a lot of times recently i am stuck in a simple proble. I have a TAG READ_DATA[502]-INT ARRAY R/W I am...
Replies
2
Views
1,864
I am trying to create a common "motor control" subroutine in RSLogix5. I would then "jsr" with parameters once for each motor. No problem so far...
Replies
14
Views
9,542
Does anyone know if it is possible to message directly between two Micrologix 1000 PLCs. (To share integer data)?? Each micrologix has a NET-ENI...
Replies
4
Views
6,074
I'm using FactoryTalk ME version 13. I'm aware how to pass a parameter file once, but I was wondering if it is possible to do it twice...
Replies
4
Views
157
Back
Top Bottom