Controllogix - Events

albertabound

Member
Join Date
Feb 2011
Location
Calgary
Posts
30
Having problems creating an event in my program. The intent is to capture a short duration pulse on a digital AC input module residing on a remote backplane over DeviceNet.

I've created the task, program and routine, which at this time simply increments a dINT to confirm routine call. The task is set to event, COS, tagged to the module. The module itself has only the input of interest flagged as COS off to on.

Problem is when I monitor the event task, it executes every 20ms, regardless of the input status. This just so happens to be the RPI timing. I'm Ok with the fact that the event waits for the network packet, but what do I need to do to only execute on the intended COS.
 
Event Tasks don't do much for you over an I/O network; they are far better suited to acting on motion control events and local module interrupts.

I'm sure that your remote module isn't on DeviceNet; it doesn't provide profiles for remote modules, just an I/O block.

There will also be a watchdog execution period for an Event Task; is that also set to 20 ms ?

I'm not sure if the COS settings for a remote module generate an Event trigger.

Because the networks are cyclic and cannot generate a trigger at a different rate than the RPI, I think that the data arrival is the only thing that generates the Event trigger.

The processor overhead to run the Task, its Program, and its Routine isn't zero but if you condition the routine to exit if there's not a True->False transition of the selected output, you won't waste time on the logic inside it.
 
From the RA Document "Using Event Tasks with Logix 5000 Controllers"

http://literature.rockwellautomation.com/idc/groups/literature/documents/wp/logix-wp003_-en-p.pdf

You can also place ControlLogix input modules in a remote chassis connected via a ControlNet or EtherNet/IP network. Each network adds some additional delays but for many applications the benefit of reducing the CPU loading overrides the need for speed.
Because of the mapped memory nature of DeviceNet, I don't believe the "Event" can pass through the Scanner to the Controller. Nor can the Scanner itself generate the COS event.

OG
 
Your absolutely correct, it's over ControlNet.

The intent is a hardware interrupt for a short duration registration mark, that will surely be missed by normal scan. Timing in reacting to the mark is not as important as knowing it occured.

Watchdog is default at 500ms, no overlaps. The routine itself only inc's a dINT and if I remember is under an msec.

Because the networks are cyclic and cannot generate a trigger at a different rate than the RPI, I think that the data arrival is the only thing that generates the Event trigger.

The processor overhead to run the Task, its Program, and its Routine isn't zero but if you condition the routine to exit if there's not a True->False transition of the selected output, you won't waste time on the logic inside it.

My understanding is that the module excerts the notification under the rules of COS for that module, and will arrive with the packet on schedule. My observations are that the event is running on every packet reciept, without any change on the module input.

I will definately switch to local next time in however, to evaluate if it's network or other.

Appreciate your comments
 
Last edited:
I don't know about the COS settings but a "short duration" pulse on an AC input module? Any pulse which would be recognized would probably be many scan times long. Check the minimum response time of the module. Maybe there's something new about AC inputs I am unaware of.
 
I'm not at the project, but I think I've figured it out. I had tagged the the event to the input modules data input structure, but should have tagged it to the control structure. Looking at the control data structure shows all the COS pertinent bits.

Check the minimum response time of the module
If I'm reading the doc correctly, the hardware port is ~200us, plus a selectable software filter down to 0ms, plus the asic's firmware of about 10ms, to get the input from port to comm.
 
Last edited:
The key thing missing is what is the minimum duration of this pulse? Is there any way to "stretch" the pulse? Many sensors are available with built in off delay hardware timers which are often just the ticket to solve such a problem....just as long as the stretched pulse doesn't overlap the next one, so the frequency of the pulses may be important too.
 
.......... I think I've figured it out. I had tagged the the event to the input modules data input structure, but should have tagged it to the control structure. Looking at the control data structure shows all the COS pertinent bits.

You should tag the Event task to the location:slot:I tag, not the C tag.

Could it be that the module is configured for "Rack Optimisation" ? It needs to be a direct connection.
 
I currently have it tagged to the input structure, but after veiwing the control structure, it seemed to me only intuitive to tag it there. Yes, the connection is 'rack optimized'.
 
Bear with me, I'm still learning.

I'm reading Tasks and Programming doc and it appears that in a remote chassis, the COS is deferred to the next RPI, and that all RPIs will fire the event, whilst the local chassis differentiates between RPI and COS, and fires the event on the COS.

Thought I was running out of options, but moving the input to a local chassis input will be the first order.
 

Similar Topics

If I want to create a number of event based tasks triggered from a local d.c. input card, how can this be achieved? The event trigger only allows...
Replies
10
Views
3,195
Why does the controllogix redundancy modules use a single mode fiber vs multimode fiber?
Replies
1
Views
78
Hello, I have two 16 point input cards and 1 16 point output card showing module faulted on my IO tree in Logix Designer. The fault code is...
Replies
7
Views
213
Hello, My associate and I are trying to sync up two ControlLogix racks (7-slot chassis) with identical modules. We are able to see the secondary...
Replies
4
Views
190
Trying to setup a message read via Ethernet. I have the path setup as 1, 1, 2, 192.168.66.10 I get an error code 1, ext err 315. I am beating...
Replies
9
Views
229
Back
Top Bottom