HELP! JMP function differences between RSLogix and TI505

saltykarp

Member
Join Date
Nov 2011
Location
Oregon
Posts
11
Hey all -

I have a question regarding translation between TI505 and RSLogix in regards to the JMP function.

In Allen Bradley RSLogix, when the Rung is true, and JMP is energized, it will skip to the LBL and the outputs in between will stay what it was previously.

In TI505, it is the opposite, correct? When the JMP function is energized, the rungs between JMP and JMPE will run normally. But, when JMP isn't energized, it acts as a JMP in RSLogix, and the outputs in the control area will freeze.

Can someone validate this? And if this is true, how can I implement this in my RSLogix. Is there a simpler way then inversing all the inputs to the JMP?
 
Not clear whether you are translating from TI505 to Logix, or vice versa.

In A-B Logix, a JMP is exactly what it says, code execution JUMPS to the designated label, and as a consequence, any code skipped cannot influence the state of the outputs programmed on the rungs. The jump occurs when the JMP instruction is TRUE.

In TI505, the JMP tells the processor to retain the outputs of the following rungs, regardless of rung true/false evaluation, until JMPE is encountered. This occurs when the JMP instruction is FALSE. The rungs between JMP and JMPE are still executed.

to make the inversion you need, move the JMP onto a new rung immediately below where it was, place an -( )- of a new bit where the JMP was, and put an -|/|- as a conditional to the JMP


.................-------JMP---

becomes
bit
.................-------( )---
bit
--|/|-------------------JMP---

 
Also, it may be wise to eliminate the JMPs and LBLs. They are often abused and never easy to deal with as a troubleshooter. In almost every case I have seen, they can be traded for a few dozen bytes of extra logic with the benefit of much more user friendly and more efficient results.
 
Also, it may be wise to eliminate the JMPs and LBLs. They are often abused and never easy to deal with as a troubleshooter. In almost every case I have seen, they can be traded for a few dozen bytes of extra logic with the benefit of much more user friendly and more efficient results.

Wise Words - my experience also !

I would also like to elevate Master Control Reset (MCR) to the top of the list of hated instructions.

1. (nit-picking) It is wrongly named - when the starting MCR rung is true, it does the opposite of it's name, i.e. it enables, not resets, the outputs in the MCR zone.

2. The RSLogix display does not (and probably cannot) tell you when you are in an "active" MCR zone. There is nothing "visible" to say you are viewing code inside an MCR zone.

So you sit and look at a true rung with the output bit false, and wonder if.....
(a) is the subroutine being scanned
(b) is the rung being JMP'd
(c) is there a duplicate output bit that is being written to 0 elsewhere
(d) are the conditionals on the rung actually true at the instant this rung is scanned

3. Your code becomes "position dependant", you cannot just add code without determining if where you are adding it is MCR controlled

Personally I want to see why my outputs are turned off, so would include a bit on every rung (i.e. whatever makes the MCR true). At least I can then see, on every rung, why my outputs are not on.
 
1. (nit-picking) It is wrongly named - when the starting MCR rung is true, it does the opposite of it's name, i.e. it enables, not resets, the outputs in the MCR zone.

2. The RSLogix display does not (and probably cannot) tell you when you are in an "active" MCR zone. There is nothing "visible" to say you are viewing code inside an MCR zone.

I once made the suggestion that RSLogix color code the vertical bars inside MCR zones or make them go gray when false or something.

But if that was done, it would only encourage people to continue to use a method that was mainly aimed to extend the capabilities of 1980 and older machines with extremely limited memory.

Yes, do away with all MCRs too.
 
1. (nit-picking) It is wrongly named - when the starting MCR rung is true, it does the opposite of it's name, i.e. it enables, not resets, the outputs in the MCR zone.

2. The RSLogix display does not (and probably cannot) tell you when you are in an "active" MCR zone. There is nothing "visible" to say you are viewing code inside an MCR zone.

I once made the suggestion that RSLogix color code the vertical bars inside MCR zones or make them go gray when false or something.

But if that was done, it would only encourage people to continue to use a method that was mainly aimed to extend the capabilities of 1980 and older machines with extremely limited memory. i haven't been 'bitten' by an MCR zone, since my earliest days as an automation tech were spent studying and modifying the program of an ISSC IPC90 PLC with 4 k of ram and both SKP and SKPD instructions (Skip and leave the logic as-is, like a JMP, and Skip and De-energize like the MCR), but still they are a P.I.T.A. unless your are down to your last few bytes of memory.

Yes, do away with all MCR zones too.
 
Last edited:
The Jump instruction is used to freeze the values of the
discrete image register points of the controlled outputs in the JMP’s zone of
control. This instruction is often used when duplication of outputs is
required and the outputs are controlled by different logic.


The JMP operates as an output update-enable instruction. The JMP must
have power flow, and not be nested within the zone of control of a JMP not
having power flow, for ladder logic in the JMP zone of control to change the
status of outputs.
• Discrete outputs between a JMP and its corresponding JMPE do not
change when the JMP loses power flow.
• JMPE marks the end of the zone of control for the JMP having the
same reference number. If you do not use the JMPE, the remainder of
the program is placed under the control of the JMP. You can make the
JMPE conditional by placing a contact on the same rung as the JMPE.
• When an MCR loses power flow, JMP instructions within the MCR’s
zone of control are overridden. That is, all outputs in the MCR’s zone of
control turn off when the MCR loses power flow, even when the outputs
are frozen in an ON state by a JMP. This includes rung outputs within
the rung, such as those specified within a drum.
Refer to Section 6.54 for information about the action of the JMP in
 

Similar Topics

I am having a problem getting the jmp and lbl logic to work in my program. I have attatched a copy of the program and would appreciate it if...
Replies
22
Views
10,057
Guest
G
Hello, I need to write the following program in Ladder language, but I could not integrate the Fibonacci sequence into the ladder. Can you help...
Replies
13
Views
169
this a program to send data to barcode printer I want to integrate a new printer in a new machine and i wanted to adapt the old prgram on it but I...
Replies
4
Views
154
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
53
Hi all, hope you are having a great day, I am in need of your help to create a AOI or program that does this kind of job: I have a IO Link...
Replies
26
Views
477
Back
Top Bottom