RSLogix5000 & HMI Override Problem

ammarmansoor

Member
Join Date
Oct 2008
Location
Houston
Posts
14
Guys I am new to here and having some difficulty with RSLogix5000. Basically I am using Redlion G310 HMI with AB CompactLogix PLC. HMI is perfectly working fine when reading Tag Bits from PLC. I can also set the output high or low from HMI without any problems. My problem is that when I have an Output that is part of the Main Routine (Program) , I am not able to over ride it. The only way to change its status is by using FORCE On or Force off from RSlogix5000 but how can I force it ON or OFF using my HMI. How can I access the Force Mask table from HMI ? IS there any other way to do it. The program is written in Ladder Logic. I couldn't find any instruction that would allow me to manually over ride.

AND /OR logic will not work in this case because if the HMI tells it to 1 and by default it is 0 we want 1 as a result whereas in opposite case if HMI tells it to be 0 and program tell it to be 1 we want 0. In other words we want
PLC HMI
1,,,, 0 = 0
0 ,,,,1 = 1
which is not possible ?

Any help would be appreciated.
 
You don't access the force mask. You should also not be writing directly to logic controlled outputs.

If the sense of your control element (input) from the HMI is wrong, use the opposite sense input type... Example, if by default, XIC is the wrong state as an input, then use an XIO instruction.

It seems you need to get some basics down before you go exploring :)
 
ammarmansoor said:
AND /OR logic will not work in this case because if the HMI tells it to 1 and by default it is 0 we want 1 as a result whereas in opposite case if HMI tells it to be 0 and program tell it to be 1 we want 0. In other words we want
PLC HMI
1,,,, 0 = 0
0 ,,,,1 = 1
which is not possible ?

Any help would be appreciated.

The way you have your logic above the HMI will ALWAYS override the PLC so that the Logic will have NO EFFECT at all on the output in question. If that is the case then delete your original logic and use your HMI to set a bit in the PLC and use this bit to control the output. Maybe you need to rethink youre requirements for the HMI to override the PLC.
 
???

Not sure what you mean.

If we are not to address output bits directly (I am assuming by directly you are referring to an alias) how do you change output bits via the HMI.
 
My Main routine (Program) is Setting a Output BIT high and keeps it high for certain amount of time because it is attached to the timer. What I want is to manually over ride it low or vice versa using the HMI. In other words , the OUTPUT should Ignore whatever the Program is telling it and just enter into the manual mode and take instructions from HMI.
 
Post a copy of your file here so we can see exactly what you are doing. You should be coming from the HMI to a tag then from the tag to the local output tag logic.
 
ammarmansoor said:
My Main routine (Program) is Setting a Output BIT high and keeps it high for certain amount of time because it is attached to the timer. What I want is to manually over ride it low or vice versa using the HMI. In other words , the OUTPUT should Ignore whatever the Program is telling it and just enter into the manual mode and take instructions from HMI.

Do you mean ...
When it is selected to MANUAL mode the OUTPUT should Ignore whatever the Program is telling it and just enter into the manual mode and take instructions from HMI, you're original statement suggests that " the OUTPUT should Ignore whatever the Program is telling it". If this is the case then you will need to set your logic something like this..

IF [not in manual mode] THEN
[timer logic controls output]
ELSE
[hmi controls output]
ENDIF.

You cannot setup your PLC to evaluate a timer to control the output AND then ignore the timer and do what the hmi tells it to. Sometimes the output will need to follow the timer and other times the output will need to follow the hmi. YOU need to specify how the PLC "knows" when to follow the timer and when to follow the hmi.
 
We know that is what we have to do. But how do you program your PLC to go into manual mode i.e Disable that part of the Main Program temporarily while tags are being changed from HMI.
I have attached some screenshots. What instruction in Ladder Logic do you use (we know how to do it as an IF..THEN ..ELSE )?

OverridePt1.JPG



OverridePt2.JPG
 
First off, your logic isn't correct for what you described earlier:

"My Main routine (Program) is Setting a Output BIT high and keeps it high for certain amount of time because it is attached to the timer."

Your logic is going to write a '1' to the two outputs you have in parallel as soon as the timer starts timing. When the timer stops, those two outputs are going to remain on, unless you have additional logic somewhere else that is writing a '0' to those outputs. Perhaps you meant to use OTE insructions instead of the OTLs you have, or you have other logic not shown that resets these outputs.

I don't mean to be insensitive but you are really lacking some fundamental understanding of PLCs. It is very dangerous depending on the equipment you are working on to try and learn on the job, especially using a forum to do so, where we don't really see all the other bits and pieces of your program. With that said, what you are missing in series with your logic is a auto/manual indication, and in parallel, the inverse of that indictation in series with your HMI bit for override. Those SHOULD NOT BE aliased directly to the Output as you have shown your HMI-Tag descriptor. You should use logic instead to drive an OTE or OTL/OTU instruction based on the HMI bit in conjunction with your existing logic.

Something like this:

man-auto.JPG
 
Last edited:
You should contact the ladder logic programmer and work with them to implement the functions you are looking for. As a beginner, this is a little over your ability right now and you need some experienced assistance. Once you see how its done, I'm sure you'll understand quickly how to implement other functions.
 
ammarmansoor said:
Manual mode we want it to do whatever we tell it to do via HMI .

And for that, you still need the logic in the PLC.

The HMI does not 'OVERRIDE' logic. Nor should it. Even in a 'Manual' mode, there are safeties, and interlocks that need to be considered. The HMI should work with the logic in the PLC.

As shown above, your actual PLC Logic should be written to handle whatever different modes you want, and the HMI can then select between them.

Once more, directly writing to output's from an HMI is generally considered an extremely bad practice. The HMI should only be issuing commands to the logic, and reading status back.
 
Thank You very much Guys. The logic you suggested me worked excellent. I'll keep in mind not to address the output from HMI directly since it can be dangerous.
 

Similar Topics

Is it possible to partially restrict the types of communications allowed through a ControlLogix communications module? Ideally I'd like something...
Replies
7
Views
3,247
Hello everyone, I have an RSLogix5000 project which is running live in the factory but I need to make some changes to the logic. I want to test...
Replies
0
Views
1,097
Good Morning Everyone, I'm looking to use the GSV instruction to get I/O fault codes for my project so I know if there's a comms issue in my E/IP...
Replies
5
Views
810
The machine is running production. When trying to go online with the laptop the whole machine looses communication and faults out. Drives, HMI...
Replies
13
Views
1,867
Hello, is it possible to create a data block, something like shared datablock in Siemens STEP 7, in the RS Logix5000 PLC project? I would like...
Replies
3
Views
1,049
Back
Top Bottom