Controllogix Questions

Jieve

Member
Join Date
Feb 2012
Location
USA
Posts
274
Hi all,


somewhat new to AB from Siemens, ABB, etc. I tried to search the site for answers to these generic questions, but after entering 8-9 incorrect letter/number combinations (may be a browser issue), I gave up.


I'm using Studio 5000 v33 and 1756-L71 processor.



1) I've noticed that entering a value in the preset field of timers in AOIs doesn't actually take when downloaded. I have to actually change the value online. Any explanation, workaround, reason for this?


2) As far as I can tell, there are no ways to set initial values/constants in parameter tables or UDT's, correct? I've taken to using the first scan bit in AOI's to set initial values. Is there a better, or best practice way of doing this?


3) On remote download, I assume this is a warm restart where the new code starts executing again from the next scan cycle, and first scan bit isn't triggered, is this correct? Or how does this work in Controllogix exactly? How do I cold restart (not able to find this in the software)?



4) I know that I/O updates are asynchronous to scan cycle, is this done on an interrupt routine of some kind? Is there a way to change frequency of I/O updates (not that I really need/want to do this, just curious).


Thanks
 
For question 4 Any I/O module that you create in the project you can just go to properties of the module and change the RPI (Requested Pack Interval) for that module. The unit is in ms and that will be how often you want the plc to update the I/O data.
 
1) A feature that is new to v33 is to "protect" online values when downloading. This is likely the reason you have to change the value once you are online. While I have installed v33, I have not really kicked the tires so I don't know exactly how you turn this feature off.

2) I think a common practice here is to create an instance of your UDT and populate it with your initialize values. Then copy it over your other instances when you want to initialize them. Which I think is more or less what you are saying, so I guess I took the scenic route on this one.

3) On a download, a whole new image of the program is written to the controller and the program starts scanning from the beginning once the controller transitions to RUN mode. The first scan bit triggers every time the controller transitions to RUN mode. If you toggle the key switch to PGM, then RUN, the S:FS bit will trigger.

4) as Valeri95 said, each module in the tree has its own RPI, or update rate, in milliseconds.
 
Hi all,
1) I've noticed that entering a value in the preset field of timers in AOIs doesn't actually take when downloaded. I have to actually change the value online. Any explanation, workaround, reason for this?

For AOIs, in the parameters/tags list there is a column named "default". You can set default values there. The AOI will set its I/O and local tags to these values on instantiation (but not power up if it was changed and the CPU is power cycled or downloaded into - for that you can use the AOI prescan routine, which is ran on transition to run mode but not on instantiation of AOIs, which is a bit troll but ok).

2) As far as I can tell, there are no ways to set initial values/constants in parameter tables or UDT's, correct? I've taken to using the first scan bit in AOI's to set initial values. Is there a better, or best practice way of doing this?

See above, just for AOIs though. You can make a pseudo program/controller-wide prescan subroutine called with the S:FS bit and a JSR if you need default values on transition to run outside of AOIs.

3) On remote download, I assume this is a warm restart where the new code starts executing again from the next scan cycle, and first scan bit isn't triggered, is this correct? Or how does this work in Controllogix exactly? How do I cold restart (not able to find this in the software)?

Download will trigger the first scan bit, online changes will not. Downloading will also overwrite the data in the processor with the data in your offline copy.

I actually don't think there's a real "cold restart". If you want retentive values to be reset on power up then you have to handle that manually. By default, every restart is warm.

4) I know that I/O updates are asynchronous to scan cycle, is this done on an interrupt routine of some kind? Is there a way to change frequency of I/O updates (not that I really need/want to do this, just curious).

You can change the RPI setting on the card, I believe. Usually what we do is map them to internal registers in order to resynchronize them with the scan cycle.
 
Last edited:
[FONT=&quot]Thank you for the helpful responses.[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]DMROEDER: regarding your comment to my question about UDT parameter initialization, I actually hadn't done it exactly as you described ... you mention creating a second UDT, populating it with values, and copying those to all instances, can you explain how you do this in a little more detail? I was thinking more along the lines or what nyanpasu describes, running a first scan subroutine where I copy individual values to each instance, but that is a lot of work. But maybe we're talking about basically the same thing.[/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]An additional Controllogix question: upon download, are the inputs read before the first scan? I'm getting a number of breaker faults tripped that shouldn't be, as the breakers are all switched on. The PLC seems to not register this though until some time after initial change to run.[/FONT]
 
Hmmm, looks like I initially forgot to include input debounce times. But also seems like the ProgEnable bit in the ALMD instruction doesn't function as I expected. When 0, the alarm is still enabled.
 
Mixed in with this thread is the mention of the "First-Scan" bit S:FS

Many people do not realise that each scheduled Program within a Task technically has its own S:FS status.

Consider a multi-line or multi-lane, or multi-anything facility, where each line or lane has its own Program. This is a common technique, because it means you can commission line/lane 1, then when all is done and tested simply copy "Line_1" program to a new one (eg. Line_2) and adjust the I/O points.

So you go to site with the code in place for (eg) 12 lines, each in their own Programs. But they are only building 4 this year, possibly 4 next year, and the final 4 may never happen. So you move the unused line/lane programs to the "Unscheduled Programs" folder, meaning they don't get scanned, there's no point running code that does sfa.

Come the time when you have to re-schedule a program, which you can do while the processor is controlling the existing lines/lanes, the S:FS bit will be set for the first scan of ANY PROGRAM - even though the controller may have been running for months.

That bit will be asserted true at the start of a "new" program in the schedule, and set false at the end of every Program. This means that only a Program that has just become scheduled will see the S:FS bit true.

So it is quite possible, and safe, and logical, to write "initialisation" code in a subroutine, and call it with a JSR conditioned on the S:FS bit. It is not just a global "first-scan" status.

It is possible, and I have seen it done, once, to generate your own "Program_First_Scan" bit, in the first rung of the Main Routine, but you don't need to, the S:FS bit does it for you
 
I still have three applications using the 1756- L55 Processors on some new clients and in the need copy of Firmware ControlLogix 5555 1756-L55, 1756-L55Mxx 16.023.
Rockwell has retired this firmware. Just wondering if anyone has it and could give me a copy of it. Thank you Gentlemen...
 
I still have three applications using the 1756- L55 Processors on some new clients and in the need copy of Firmware ControlLogix 5555 1756-L55, 1756-L55Mxx 16.023.
Rockwell has retired this firmware. Just wondering if anyone has it and could give me a copy of it. Thank you Gentlemen...

This is probably an item worthy of a new thread, and welcome to the forum!
 

Similar Topics

I am designing a replacement for a SLC system. The existing SLC has two 12 slot chassis next to each other in the main panel connected by an...
Replies
4
Views
1,943
I am a PLC novice. here are my questions about controllogix, RSlogix and firmware. 1) Do Controllogixs come with RSLogix, or does AB sell...
Replies
3
Views
3,191
Hello All!! :bow: this is my first post on the fourm so if there is any info you need or you think i left out just let me know...i am going to do...
Replies
15
Views
6,818
Version 16 Comment/Question: OK, the first item is the new Unicast connection that is available for EtherNET/IP connections. I really thought...
Replies
4
Views
2,723
Why does the controllogix redundancy modules use a single mode fiber vs multimode fiber?
Replies
1
Views
55
Back
Top Bottom