![]() ![]() ![]() ![]() ![]() ![]() |
||
![]() |
||
![]() ![]() ![]() ![]() This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc. |
||
![]()
|
New Here? Please read this important info!!!
![]() |
#1 |
Lifetime Supporting Member
![]() ![]() Join Date: Jun 2014
Location: Arkansas
Posts: 226
|
RSLogix 500 one shot vs RSLogix 5000 one shot
I am converting an RSLogix 500 program to RSLogix 5000 and i have come across an OSR instruction in the 500 which I understand as one-shot rising. But in the 5000 program if I choose the OSR instruction in the 5000 program it asks for an output bit location as well as show my current location chosen as the storage bit. I dont remember this happening in the 500 program... Could someone explain how to use the OSR instruction in the 5000 program like the 500 program?
|
![]() |
![]() |
#2 |
Lifetime Supporting Member + Moderator
|
In the SLC and Micrologix 1000 CPUs the OSR was an inline instruction taking the location of the memory bit as an argument and providing a one scan TRUE state for the rest of the rung as its input conditions become true. The later Micrologix CPUs renamed this as ONS. This is equivalent to the ONS instruction in RSLogix 5000.
The later Micrologix CPUs also have the OSR as an output box containing the memory bit and an output bit as arguments. The OSR in RSLogix 5000 has this form.
__________________
Controlling outputs is the PLC's way of getting its inputs to change. www.thePLCguy.com Last edited by bernie_carlton; December 29th, 2014 at 10:48 AM. |
![]() |
![]() |
#3 |
Lifetime Supporting Member
![]() ![]() Join Date: Jun 2014
Location: Arkansas
Posts: 226
|
ok.... so where i find an OSR in the micrologix..... I would use a ONS in the ControlLogix?
Is that what you are basically saying? |
![]() |
![]() |
#4 | |
Lifetime Supporting Member
|
Quote:
You appear to be converting from an SLC 500 or MicroLogix 1000/1100 controller, which only uses a single "Storage Bit" for OSR instructions. For these older OSR instructions, the "Output Bit" does not exist, and the only "Output" it provides is its "rung-condition-out" to the next instruction on the rung. These OSR instructions are not output instructions, they are input instructions, and so must be placed before output instructions on a rung. As Bernie pointed out, how the OSR instruction operates for the Logix controllers, and the MicroLogix 1200/1400/1500 controllers, is somewhat different. For these newer OSR instructions, both the "Storage Bit" and an "Output Bit" are included in the OSR instruction. The "Storage Bit" is similar to the older OSR "Storage Bit". Any unique tag you create to store the current "rung-condition-in" for the OSR instruction can be assigned as the "Storage Bit". On the output side, these OSR instructions provide both a "rung-condition-out", and an "Output Bit". These instructions are output instruction, and so can reside at the end of the rung. What you now have to do is assign another unique tag for the "Output Bit". This bit, or tag, is set true when the OSR is executed, and the "Storage Bit" is false. The "rung-condition-out" from the OSR is then set to true. If you do not use the "Output Bit", outside of the OSR instruction, the "rung-condition-out" will still enable the "rung-condition-in" for the next instruction on the rung, if there are any. So, you do not have to use the "Output Bit" anywhere else in the program if all you want the OSR instruction to do is enable the rest of the rung it resides on. In that case, you just have to assign a tag to the "Output Bit" for the program to verify. However, the advantage of now having an "Output Bit" for an OSR instruction, is that anywhere apart from the OSR's rung that you also want the OSR to control, you can use the "Output Bit". So one OSR instruction can simultaneously "rung-condition-out" on its own rung, and control other rungs using its "Output Bit". If you don't use the "Output Bit" outside of the OSR instruction, then it is effectively doing nothing. So, when you convert to Logix controllers, using RSLogix 5000, or Logix Designer... If you had a OneShotRising, and you still require a OneShotRising, then you should continue to use a OneShotRising. You just have to assign an extra "Output Bit" tag per instruction to verify, but do not have to use that tag elsewhere. Attached is a screenshot of two examples - one just using the OSR to enable the rest of the rung, and the other using the "Output Bit" outside of the OSR instruction, on the next rung, to enable the same logic... Regards, George
__________________
"A little nonsense now and then is relished by the wisest men". Last edited by Geospark; December 29th, 2014 at 02:46 PM. |
|
![]() |
![]() |
#5 |
Lifetime Supporting Member + Moderator
|
Another way -
If your OSR has only one argument then use ONS in ControlLogix If your OSR has two arguments then use OSR in ControlLogix
__________________
Controlling outputs is the PLC's way of getting its inputs to change. www.thePLCguy.com |
![]() |
![]() |
#6 | |
Lifetime Supporting Member
|
Well put Bernie!
And thank you. It has also made me realise, in retrospect, that I wasn't entirely correct in my thinking. Something I'd like to set straight now. I just hadn't thought it through fully before starting to type. While explaining how the newer OSR instructions operate may be useful, and that it should be carried through from old to new, the latter part is not entirely true. It actually depends on the conditions that Bernie has set out. I was working off an incorrect recollection of the triggering functionality of the older OSR instructions being the same as the newer version, and somehow different to the newer ONS instruction. Their functionality is, of course, the same. They both provide a rising edge trigger for one scan. As there was no ONS instruction for SLC 500 and ML1000/1100 controllers, the only option for rising edge triggering was the OSR instruction. The newer ONS instruction, also only using a "Storage Bit", provides identical functionality to the older OSR instruction. So a like for like swap is actually to use the newer ONS instruction in place of the older OSR instruction. So there should be no need to unnecessarily complicate the migration of an older OSR instruction to the Logix Platform by using an identically named OSR instruction, which now uses two bits instead of one. The newer ONS should fit the bill perfectly. And as Bernie pointed out so well, only use the newer OSR instruction when you want to condition other rungs with the OSR instructions state. Quote:
Sorry for the confusion, and thanks again Bernie! Regards George
__________________
"A little nonsense now and then is relished by the wisest men". Last edited by Geospark; December 29th, 2014 at 05:52 PM. |
|
![]() |
![]() |
Bookmarks |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
RSLogix 5000 Installation of Firmware | Joel201 | LIVE PLC Questions And Answers | 8 | January 26th, 2014 07:02 PM |
RsLogix Emulate 5000 Controler Not listed in RsLogix 5k | ahenry2005 | LIVE PLC Questions And Answers | 2 | December 4th, 2013 11:59 AM |
RSLogix 500 emulator communications question | robpaige | LIVE PLC Questions And Answers | 5 | June 13th, 2013 09:31 PM |
OPC tag format from Rslogix 500 through OPC | bhdybc | LIVE PLC Questions And Answers | 0 | June 3rd, 2007 10:57 AM |
Convert RSLogix 500 to RSLogix 5000 | bissotoe | LIVE PLC Questions And Answers | 3 | March 27th, 2007 10:22 AM |