Allen Bradley CompactLogix OS Question

dfreerks

Member
Join Date
Feb 2013
Location
WI
Posts
9
These two statements from the Logix5000 Controllers Design Considerations manual seem to contradict each other. Does anyone have some clarification?

In Logix5000 controllers, I/O values update at a period, requested packet
interval (RPI), that you configure via Module Property dialog in the I/O
configuration folder of the project. The values update asynchronously to the
execution of logic.
The module sends input values to the controller at the specified RPI. Because this
transfer is asynchronous to the execution of logic, an I/O value in the controller
can change in the middle of a scan.

Higher-priority tasks take precedence over the I/O task and can impact processing.

If I run logic within a periodic task with a priority higher than the I/O processing task than my understanding is that the I/O processing task will not interrupt the periodic task and I/O tags will not change state during the periodic task execution.
 
The two statements are not quite contradicting each other.
If high priority, code intensive periodic tasks are being implemented, the CPU I/O processing "task" could be impacted.
Maybe they should've added:
the "I/O Task Impact" = variable,other than User Defined RPIs completions; I/O modules data scheduled to be exchanged every 20ms for example, could be transferred at 39ms for one period, then at 50ms, then at 20ms, etc; I don't believe you will be able to achieve a constant I/O RPI cmpletion, slower than the periodic task you intend to run without an I/O update.
 
So a task with a priority higher than the I/O processing task will not be interrupted by the I/O processing task and I/O values will not change during the execution of the higher priority task?
 
There isn't an user configurable I/O Task as per say hence there isn't any "I/O Task Priority" setting.
The user chooses an RPI (Requested Packet Interval) at the time of the module's configuration and the CPU is "trying" to service the data packets transfer at the configured intervals (RPI module settings).
None of the user configured tasks will be interrupted by any other CPU "activities" (including I/O update)except for the Continuous Task.
Periodic Tasks execution could be delayed by the CPU's "Load" however, this scenario is not restricted to I/O data servicing; it is up to the user to ensure that the chosen CPU and its application are capable to control the system as intended (I/O updated at the chosen RPI and Periodic Tasks executing at the configured period).
Within a Logix platform, I/O processing is separate from the user application functionality.
 
None of the user configured tasks will be interrupted by any other CPU "activities" (including I/O update)except for the Continuous Task.

I dont think this is correct. The I/O processing task on the CompactLogix has a priority of 6. I believe the I/O processing task will interrupt any user tasks with a priority lower than 6 and share 1ms time slices with a user task of priority 6.

These two statements from the reference manual seem contradictory.

Because this
transfer is asynchronous to the execution of logic, an I/O value in the controller
can change in the middle of a scan.

Higher-priority tasks take precedence over the I/O task

It seems like the first quote above only applies to tasks that have an equal or lower priority than the I/O processing task and does not apply to user tasks with a higher priority than the I/O processing task.
 
I see where you are standing now; I was under the (wrong) impression you are refering to a 5730 CompactLogix.
You are talking about 1768/1769 CompactLogix CPUs which, just as the SoftLogix controllers, are using a dedicated I/O processing task.
The I/O task will excecute at the fastest configured I/O module RPI and it carries a Priority of 6.
As you have stated, any User Periodic Task with a priority lower than 6 will interrupt the I/O task and consequently the I/O data will not be updated.
 
Just to add on the previous post information (and refresh my own memory...đź“š) FlexLogix and DriveLogix ("legacy") Logix Class controllers process I/O within an "internal" (non user accessible!)Periodic Task with a Priority of 6.
 

Similar Topics

Good afternoon, I'm building a test station for temperature mapping that will log 12 data points to SQL via Open Automation Software. This station...
Replies
4
Views
1,962
Hello everyone, It's been a while I haven't dive into PLC programming (more than 5 years) and I wasn't doing it alot as programmer. I am now...
Replies
1
Views
1,840
Hi, this is my very first thread. I am a PLC enthusiest and am setting up an AB compactlogix 1769-L35E controller with some relays at home to play...
Replies
14
Views
3,089
Hello. I am new to the world of PLC's. We just bought a Compactlogix L24ER QB1B and I am now trying to connect to RSLinx. However, the program...
Replies
5
Views
2,379
https://youtu.be/SYEd2VIFFo0 I'm making some tutorial videos to upload -- I have used YouTube and this website as my lifeline so many times...
Replies
4
Views
2,226
Back
Top Bottom