PV900 to SLC5/04

unless i am missing some thing.


you have a SLC5/04 already that will replace the SLC5/03,.


i would buy a Panelview 900 with DH+ comms on second hand market or even better if you can buy a PV1000+ and a DH+ comms module add on for the Logic module.


not want to go against Geosparks good info, just adding another solution.



im in Australia and have both these units (PV900 with DH+ and DH+ comms module add on) excess to my needs but the freight is a killer.
 
you have a SLC5/04 already that will replace the SLC5/03,.


Thank you for your help, however this is not the case. I was needing to only use our SLC5/05 to test programs for a SLC5/03. This has been resolved, but I am having trouble understanding why rungs in my program won't output when kept true from the input conditions.
 
but I am having trouble understanding why rungs in my program won't output when kept true from the input conditions.

Subroutine being called? With a "JSR" instruction.

Post the program and someone can take a look.
It's .RSS file ( zip it first)
 
(Mickey, original and modified programs were posted up on last page. I've looked them over and am currently composing a reply with what I believe is the cause...)
 
Ryan Rose said:
...The logic, when meeting conditions, outputs the cylinder to move in low speed for .35 sec, then kick on high speed until it reaches an approaching destination sensor. Once it has, it drops the high speed output, and remains in slow speed until you've released the pushbutton. What is happening instead, is that it does actuate in low speed, goes into high speed after .35 sec, then stops outputting the low speed output altogether upon reaching the approaching sensor, even though the PB or PanelView PB has remained high.

In the screenshot image, it is shown in the state after which is has stopped, but the PB had remained pressed. Rung 69 is true, B3:5/12 is high, yet O:15/5 is going low and staying there. Would anyone be able to tell me why this is? This functions normally with the original program, which only lacks the parallel input of B3:5/12...

OK, this appears to be a simple but important mistake that you have made...

In your original program you have RUNG 0069 which contains the OTE instruction addressed to output O:15/5. This is the only instance of this OTE/O:15/5 combination in the original program. Once the preconditional logic on RUNG 0069 is TRUE, the OTE instruction will turn ON output O:15/5 as intended and as you have stated is working. Also, as a by the way, output address O:15/5 is assigned to an XIC instruction at the beginning of RUNG 0070. These two are the only instructions in the original program that have the output address O:15/5 assigned to them - the OTE being the more important instruction to consider here.

In your modified program you also have RUNG 0069 which contains the OTE instruction addressed to output O:15/5. You also have the output address O:15/5 assigned to an XIC instruction at the beginning of RUNG 0070. But, the OTE/O:15/5 combination on RUNG 0069 is not the only instance of this combination in the modified program.

Both programs are written entirely in the Ladder 2 routine. The original program has RUNG 0109 as the last rung of logic whereas the modified program has RUNG 0136 as the last rung of logic.

In the modified program, if we look at RUNG 0113, we can see that, from here to the end of the program, you have added new Binary addresses to map directly to certain output addresses. These Binary addresses and rungs do not exist in the original program. Also, I notice these Binary addresses are not used anywhere else in the program at the moment. You may have added this mapping as a means to either manually toggle the Binary addresses to quickly test the outputs, or you may have added them as flags to be later used to trigger the outputs from your modified manual logic, such as RUNG 0069. Whatever the reason, and as a result of adding these rungs, you now have a second instance of an OTE instruction with the output address O:15/5 assigned to it.

This scenario is known as a duplicate output address and is not good practice. It can cause unexpected operations and here is why...

What you must first understand is that the Ladder 2 program logic is continuously and completely being scanned by the processor. With that in mind, it is also important to understand how the OTE instruction is executed...

Each rung that contains the OTE/O:15/5 combination is being scanned. If the preconditional logic before the instruction is TRUE, then the rung-condition-in to the OTE instruction is TRUE and, by design, the OTE instruction will set the output address O:15/5 = 1. This is what you are trying to do on RUNG 0069.

However, what you may not be aware of is the fact that on RUNG 0128 the XIC instruction assigned to address B3:8/15 is also having an effect on the second OTE instruction assigned to address O:15/5.

On RUNG 128 the XIC instruction assigned to B3:8/15 is FALSE, so the rung-condition-in to the OTE instruction assigned to O:15/5 is also FALSE. However, when the preconditional logic to an OTE instruction is FALSE, it does not "do nothing", as you may expect. Instead, and by design, it will set the output address O:15/5 = 0.

So, in a nutshell...

A TRUE precondition to an OTE instruction will set its address = 1
A FALSE precondition to an OTE instruction will set its address = 0

Further...

The output address is not updated until the end of each scan cycle.

Because RUNG 0069 is scanned before RUNG 0128, the output address is first being told to update to "1" at the end of the current scan. But then on RUNG 0128 it is told to update to "0" at the end of the scan cycle, all in the same scan cycle. So the later rung condition wins. At the end of the current scan cycle the output address will be updated to "0".

You should try remove this or all those extra output mapped rungs from the program (0113-0136), and test again. If that turns out to be all that is wrong here, and you do want those rungs back in for some reason, then please explain their purpose and we can help you achieve your goal without causing issues like the above.

Hopefully this is all that is amiss here?

Original - Single Output Instance...
Original%20-%20Single%20Output.jpg


Modified - Duplicate Output Instance...
Modified%20-%20Duplicate%20Output.png


Regards,
George
 
Because RUNG 0069 is scanned before RUNG 0128, the output address is first being told to update to "1" at the end of the current scan. But then on RUNG 0128 it is told to update to "0" at the end of the scan cycle, all in the same scan cycle. So the later rung condition wins. At the end of the current scan cycle the output address will be updated to "0".


You should try remove this or all those extra output mapped rungs from the program (0113-0136), and test again. If that turns out to be all that is wrong here, and you do want those rungs back in for some reason, then please explain their purpose and we can help you achieve your goal without causing issues like the above.


I believe you have found my problem. Originally, those outputs were put in place as placeholders for testing, with the intention of having them be OR conditions in the logic for controls that bypass machine conditions needing to be met. These are intended strictly for maintenance use only. I am going to edit my program to eliminate these additional outputs and add my OR conditions accordingly. I will be sure to let you know how the program behaves on the equipment after testing. Additionally, after running the program in an emulator, I did find these outputs to consistently blink when being made. With that being said, I am very confident that it will work as expected after this correction.

George, I cannot thank you enough for all of your help. I greatly appreciate your time and assistance with this.
 

Similar Topics

Iam having a problem tracking down a fault on a machine. The problem is with a separator controlled by a SLC500 (1747 L542B 5/04), this has a...
Replies
1
Views
2,514
Hi I'm new to RIO. I'm trying to setup a PV900 with SLC 5/04. I've got the steady green Comm Light. I've configured in RSLogix 500 the G file as...
Replies
6
Views
2,877
Hi All, I have two PV900 I would like to swap, ones screen is dead/dying. from Ser-F Rev C(dying screen) >to> Ser-D Rev S obviously the PVA cant...
Replies
9
Views
2,710
Hey All. I am having an issue with an old PV900 Standard. The part number is 2711-T9C9. The first issue is that on powerup the screen is sittting...
Replies
9
Views
2,605
The problem started with an error 208 in my PV900 after a program change and download to my slc 5/04. The logic had worked for over 2 years...
Replies
2
Views
2,766
Back
Top Bottom