Need to indirect address timers' presets

Hakutsuru said:
...what kinda fun things could we do with Control logix?

Jeff, in a control logix PLC I would probably define a UDT of type CONVEYOR_ZONE which would contain all of the elements needed for a converyor zone. Then I would create an array of conveyor zones and take an object oriented programming approach with a single routine that handles a conveyor zone. Then I would call the routine (probably in a loop) and pass each of the CONVEYOR_ZONE tags from the array to it.

Thats just a guess made not knowing how the OPs system is set up, but its most likely the approach I would take. For a PLc, The CLX excells at object oriented programming but its rarely taken advantage of.
 
All slick solutions (pun intended) aside however, there is always the Bubba factor. We must be ever mindful of him and unless we like getting 3:00 am phone calls then a simpler but longer approach might be called for. It really depends on who is going to be maintaining the program. If its Kirk, always Kirk, and only Kirk, and he understands the approach then that is one thing. But if Bubba from maintenance has to maintain it, then a different approach might be called for.

In this example each rung has a MOV on it that just moves the value from N7:2 into the PRE, no quesitons asked. I recommend that logic should be somewhere in the program that makes sure N7:2 is a valid value (take note that PV writes are asynchronous with the scan), but this this is simple and easy to understand code for Bubba.

AL051007B.JPG



In practice I would suggest N7:2 be range checked and then moved to an intermediate location if valid, lets say N7:3. Then N7:3 is written to the timer PRE words, this helps us avoid faulting the processor and solves the asynchronous PV write issue.
 
Last edited:
That is exactly what I ended up with (so far). I appreciate your attention in this matter. And yes, this is a commercial application of DeviceNet controlled I/O. The reason for the many timers is that they must run sequentially, but independently. In other words, a worker could pull product off the middle of the conveyor and it should not affect the timing of the other zones.
 
Now I understand, all the conveyors I have programmed have been fixed (never taking off a part until the end)still indexing but just pausing, thanks for explaining

and thanks for the other option Alaric
 

Similar Topics

I was wondering if anyone could help i am trying to use a SLC 500 with a 5/05 processor to set up an incremental encoder to a HSCE2 card? The card...
Replies
2
Views
168
Decided to come to you all to see if any of you have any ideas on how to approach this issue. I have a 'pack' of product that drops. When that...
Replies
7
Views
324
I have an old Sentry Palletizer (S/O Number 3007 / Serial Number 1172) that has lost its program as the backup battery died years ago. I can...
Replies
0
Views
166
So i've been at this for a long while, i have Citect Scada 2018, i have full access to everything but i can't seem to find any option or...
Replies
0
Views
123
I've got this 3-phase 575V motor that we're controlling with a VFD (Variable Frequency Drive), which has been quite the learning curve in itself...
Replies
10
Views
353
Back
Top Bottom