GE 90-30 with Maple HMI (%M bit Mysteriously activated)

Hamwi89

Member
Join Date
Mar 2019
Location
Syracuse NY
Posts
6
Hello PLC Gurus,

I am losing my mind over this problem, please help!

Essentially, an %M bit is somehow being changed from 0 to 1 erroneously and causing problems in the system.
This %M3900 bit is assigned to an "ok" button on all alarm pop-up windows of the HMI to clear alarms. Occasionally, the machine would stop without an alarm message because the state of the bit changes from 0 to 1 right after the alarm occurs which clears the alarm immediately before the message is humanly visible. This does not occur every alarm and ranges between 0-8% of the alarms per job on the machine.

The intended sequence of events is: When a fault condition occurs, the PLC sets an alarm bit for each alarm condition, stops the machine, changes the window on the HMI to the alarm window by writing an integer to the register that the HMI monitors. Then when the ok button is pressed, the HMI sets-on the %M3900 bit, then the PLC would clear the alarm bit, clear the ok bit %M3900 by writing 0 bool to it, and change the window to normal operation window.

I had sent Maple the HMI project to confirm that nothing in the project would set this bit to 1 besides pressing the "ok" button on the pop-up window, and they had checked the whole project and confirmed that for me (macros and windows and everything else in the project). (Kudos to Maple for their prompt support!(y))




I had looked everywhere in the ladder logic for the %M3900 bit and there is nowhere a set coil or any other type of coil besides a reset-coil. The way i looked for the coils was by clicking on one of the contacts of %M3900 in the logic and opened the "Reference" tab and checked every single instance the bit is used for a coil.
I also used the same method to look for functions that would change the bit to 1 like a move_bool or move_int, but there is nowhere in the logic where the PLC would set that bit to 1.

The problem only started to happen after i took the PLC and HMI codes from one of our production machines and modified it to add some new features like actuators and their alarms and controls, and loaded them on an old machine acquired from an auction. We have the unmodified code on one other machine that has been in production for a long time and we never had this problem before, and that machine uses the same bit addresses for the ok button and alarm windows, given that i added a few more alarm windows to the HMI code.

The PLC is GE 90-30 with a 374 + CPU and a maple systems HMI 5070LB, i attached a diagram of the PLC cards.

The HMI and PLC are communicating through a 4wire RS-485 and SNP-X protocol.
Here are the solutions i tried so far but with no success:

1- Changed the HMI screen.
2- Changed the Communication serial cable between the HMI and PLC.
3- Changed the PLC backplane.


The way i confirmed the OK button %M3900 was being set to 1 right after the alarm occurs was by adding 2 timers to monitor when the alarm occurs and when the ok button changes to 1, and both timers matched ( I used Tenth of a second timer).

I dont have more theories that i can take action on to explain this, i think maybe there is somewhere in the PLC program that i have not looked and i do not know how to access, or something about the communication structure that i do not understand is causing this to happen.

I am using proficy Machine edition 7.5 for PLC programming.

Is there any way that i can find the source of a command to change a bit from 0 to 1 in this PLC?

or are there any other troubleshooting actions i can take to reveal more information about this error?

if there are any other information i can provide to clarify anything, please let me know and i will post it. i uploaded the PLC program and the HMI project as well.
 
The bit %M3900 is included in the byte that starts at %M3897. Consequently anything that writes a number to %M3897 could overwrite. Also anything writing a 16-bit value to %M3889 or a 32-bit value to %M3873 could cause the problem.
Instead of using the "Reference" tab to find usage try performing a search with "Implicit addresses" checked. That will find instances where %M3900 is hidden within a WORD or DWORD.
 
I just tried the search with implicit addresses and nothing new appeared, all the results are either NO or NC contacts, a reset coil, and a bunch of Move_Bool 0, but no Move_INT, neither a MOVE_BOOL with any other value but 0.
 
I also searched for both %M3897 and %M3889 and had 0 results. Do you recommend i search for every bit between %M3889 to %M3900 individually, or is the implicit addresses search for %M3900 sufficient to rule out that possibility?
 
Did Maple's tech support only look for specific usage of %M3900 or did they consider the possibility of writing a numeric value to a %M address that includes %M3900?
In Proficy, sort your variables by address. If there are any REAL, WORD, DWORD, INT or DINT variables that include %M3900 within the scope of their address you can find them that way.
 
Given the way you turn off the %M3900 bit, is it possible that the HMI is writing a value to the status word %R3502 that isn't covered in your logic?

That is possible, and honestly seems promising! i will make a change to reset that bit at the end of the "faults" subroutine regardless of the value of the register and see if that fixes it.

That bit should not be set at the end of the subroutine anyway, so i will set a trap to capture if it ever does and that would confirm 100% if it was the cause.

Thank you for taking the time to look into it!
 
That bit should not be set at the end of the subroutine anyway, so i will set a trap to capture if it ever does and that would confirm 100% if it was the cause.
At the same time, try to capture the value in %R3502. It could be something as simple as two transposed digits in the fault code. Your ladder logic could be expecting a value of 123 but the HMI is sending 132. An easy mistake to both make and overlook.
 
Please take a look at the screenshot attached, it is of a rung that i have a question about:

is it possible that when PB_OK is activated AND the value of the register "StatusMessage" is == 352, the reset coil on the end of the rung would be energized, but the PB_OK variable does not switch to 0?

another way to phrase it: is it possible that the coil at the end of the rung would get activated but the MOVE BOOL function does not change the state of the variable at the Q output to 0?

rung.png
 
Something later in the logic could be turning it back on.
The variable name "PB_OK" suggests that it might be a hard-wired pushbutton. If that is the case, while the PB remains pressed you'll see it show up in PME as being on.

It's not a hard-wired pushbutton, but a "set bit" object in the HMI window which causes the HMI to send a command one time to the PLC through serial RS-485 in SNP-X to set the variable value to 1.

having said that, i finally figured out what was happening! it seems that rarely the button would be activated more than once, possibly if pressed in an usual way, which causes the HMI to send that command twice and it would be stuck in that state after the window is changed from the PLC. I verified that by quickly double taping the button and it re-created the problem.

Thanks for all the help, Steve! With 90-30 being obsolete and no GE support, this was a great platform to get expert help ruling out what i thought were potential causes!
 

Similar Topics

hello, I have a Maple Systems HMI5103L currently programed and running in conjunction with a AB 2080-LC50-24QWB. everything works fine data is...
Replies
2
Views
711
I've been tasked with modifying a current hmi program for the addition being added to the cell (auto/manual ,I/O ,Status). When I try to upload...
Replies
2
Views
390
Hello everyone, I have a machine I'm working on that has a Maple HMI5070NLv2 and a Micrologix processor. I have the PLC running on RS500 emulate...
Replies
5
Views
1,419
Hello friends, I’ve recently started learning about PLCs and HMIs after I acquired a Wago 750-871 with one digital input card and two digital...
Replies
20
Views
5,506
I need to try to get an upload from a Maple HMI 530C-004. Is anyone able to tell me what software I need and where I might be able to find it...
Replies
1
Views
1,557
Back
Top Bottom