RSLogix 5000, Change tag values but not its state?

iadapt

Lifetime Supporting Member
Join Date
May 2012
Location
Indiana
Posts
177
I'm working with a program and have a program where I can change a tags value with an HMI and I can monitor the tags value and watch it change from 0 to 1,but its not changing the state on the ladder logic program, therefore not giving me my output.

I'm using a 1769-L18er and and c-more HMI. I can see the tags value change from 0 to 1 but the state never changes.

I am in run more at the time.

Theories?
 
Hello, I am calling the routine for sure. I have cross referenced the tag, its a very small program.

Bool data type, and this is a basic input. The value changes but not the rung state, therefore no output.

Interesting to me, never had this without a reason, and I have checked all that I know. But, again the value changes instantly from the HMI, but not a state change at the rung.

It's got me curious..
 
[T]he value changes instantly from the HMI, but not a state change at the rung.

It's difficult to understand what you mean by this statement.

Are you setting the bit (value := 1) by some means on the HMI, the HMI shows that the value is '1', but the PLC still reads '0'?

If so, it's likely that you're link from the HMI tag database to the PLC is not correct, so that the value in the HMI tag database changes, but with no accurate link, the PLC never gets the message. I don't know C-More, so can't give you troubleshooting tips. On most HMI's this error is usually in how the 'Access' name (or 'Topic' or whatever reference is given to the link connection is called.)

Another possibility is that you are writing to a PLC address that is being overwritten by PLC logic -- OTE, OTL MOV, etc. Do a cross-reference in the PLC on the tag to see if there are any destructive bits. It's possible that the HMI is getting out-of-sync with the PLC, writing the value, and therefore assuming that the value is '1', and the PLC is even receiving the '1', but then logic is setting it back to '0' before anything interesting happens.


If my assumption about what you mean by "on the HMI" is not right, please try to use many more words to describe what you are seeing. You aren't charged by the letter for posting.
 
Hello Aardwizz, by the value changing I am referring to the value in the PLC tags, I see them change when monitoring the tags.

The HMI is a C-more HMI, its changing the value in the PLC, I can see the value change from a 0 to a 1, in the PLC. Its not a comms. issue. The HMI is working, the PLC is just not changing the state (to green) to make the rung true to energize an output on the same rung.

This is as simple a circuit as it gets,

Its a side project at home so, tonight I will recreate the instructions and start over. But, I really cannot understand why the circuit isn't working. Truly a mind bender for me. It should be simple, therefore I must have made a simple mistake somewhere just haven't found it.

I will update..
 
So what you're saying is that, when you monitor the value of the bit in the PLC, the value is '1'. Yet the following logic:

     TAG     OUTPUT
-----| |-------( )

does not show the TAG contact as being green?

And you are sure that:
  • there is no other instruction changing the value of TAG;
  • that the routine that rung is in has a JSR to it;
  • that the rung is in a program that is scheduled and is inhibited;
  • that there is not an AFI TND, MCR, JMP or other "don't scan" instructions that are preventing the rung or JSR from being scanned;
  • that the PLC is in Run or Remote Run mode?
 
PLC is in 'run mode' the logic is tag and output, Aardwizz. There is no other instruction changing the value, I put the instruction on the Main Program routine just to eliminate the JSR issue to test the input.

No there is no other AFI, AFB, MCR, JMP or don't scan instructions either. And, that's why I'm curious, I've never seen this issue. I will update you when I try a few things tonight.

The PLC logic seems to work, the tag value changes but not the tag state (doesn't turn green). No forces are applied, the program works in all other respects, I will try another input, and some other things tonight.

But curious to me.

Thanks for the input.
 
Is your tag under program tags or "controller tags"? Try moving your tags into "controller tags" and then send it to the HMI and replace the button with the fresh tag from "controller tags".

If you are using tags from "program tags", you have to include like "Mainroutine.tagname" when using it in c-more. So normally, I just use them in controller tags.
 
Dravik - I am trying to use the HMI to change the input instruction to energize an output instruction on the same rung. So simple, but.... Curious.

alive15 - good observation, I dont ever usually create program tags, but... maybe in this case I did, I will have to check tonight. That would explain the curiousness of this issue.

Thanks for the input, everyone. I will check out all your suggestions.
 
You casually mentioned changing an 'input instruction' but it is still unclear. If you attempt to change a bit corresponding to a physical input in your system the point will quickly be overwritten by the I/o scan. It is futile to attempt to test in this way.
 

Similar Topics

for some reason when i try to change the value for the preset on a rto timer after i change it accept changes it goes back to the old value, any...
Replies
4
Views
2,167
I am using RSLogix 5000 with a Kinetix 6000 servo system and I sometime see the value of the Master Encoder change after a very simple program...
Replies
9
Views
9,465
Hi, my name is Ivan, I need to change the sign in a register INT data type. The register show me -32767 value. So I need quit the sign in the...
Replies
3
Views
3,718
Hello all, I have a question in regards to RSlogix 5000. I am having issues with the program force closing when I try to make online edits. We...
Replies
0
Views
95
Greetings ... someone sent me a request for some student handsouts that I developed ... turns out that I had this hosted on my business website...
Replies
0
Views
111
Back
Top Bottom