Fanuc 90/30 HMI programming

I just took a quick look at the file you sent. It looks to me like the F keys on the KEP unit are expected to be mapped into %M0001 - %M0064 range. Not all of those addresses are actually used, but the MOVE instruction with a length of 4 that writes zero to %M0001 clears all bits from %M0001 - %M0064. Furthermore, there are no coil instructions for any of the bits in that range so they must be getting set from something external.

Up to now I've been operating under the assumption that the addresses assigned to the LEDs and F keys on the KEP need to be contiguous but perhaps that's not the case??? Given that, it's possible that %M0800 is coming from the KEP as well.

I'm not sure if the 90-30 ethernet module will work in a CPU311. Even if it does, you'll proably need to make sure your CPU is a new enough firmware version. The serial communications module (IC693CMM311) will not, but there was a serial communications module from Horner (http://www.heapg.com) that will.
 
Last edited:
I've mapped the MMI 200 keys to %M0001-%M0024, with the unused keys connecting the contact and coil for the same LED. The MMI programming software needs a reference for each key.
%M0007 %M0097
-] [---------------------------------------------------------------------------------------------------------( )-------
 
I just took a quick look at the file you sent. It looks to me like the F keys on the KEP unit are expected to be mapped into %M0001 - %M0064 range. Not all of those addresses are actually used, but the MOVE instruction with a length of 4 that writes zero to %M0001 clears all bits from %M0001 - %M0064. Furthermore, there are no coil instructions for any of the bits in that range so they must be getting set from something external.

Up to now I've been operating under the assumption that the addresses assigned to the LEDs and F keys on the KEP need to be contiguous but perhaps that's not the case??? Given that, it's possible that %M0800 is coming from the KEP as well.

I'm not sure if the 90-30 ethernet module will work in a CPU311. Even if it does, you'll proably need to make sure your CPU is a new enough firmware version. The serial communications module (IC693CMM311) will not, but there was a serial communications module from Horner (http://www.heapg.com) that will.

Steve

You may notice, that the %Mnnn references used jump from M0024 to M0101. That would accommodate the 64 bits cleared in the first scan.

Regarding coils, there are some that are energized by default if another coil is not. If that description makes sense.

Regarding the M0800, I was wondering if it would be controlled by some undocumented (or disconnected) interlock. But a view of the reference bits in the LM90 window shows an -0- for that bit with the PLC powered up and the software in "online" mode. In that the M0800 is an ]/[ contact, and -0- should be good! I don't quite get how the start block can call up several subroutines at once and not trip over it's self.

I hope all this exchange is not a burden to you. Let me know if I need to "give it a break"

Regards

Cal
 
To add to Steve's excellent information.
The IC693CMM311 Serial module will not work in the CPU311, The Horner HE693SNP900 unit will, you can find one at used/surplus equipment dealers online.
The Ethernet module will work if your CPU311 is -U version 5.03 or later. IC693CMM321 Ethernet module is no longer available at GEIP but you can usually find one at www.qualitrol.com or on e-bay. It is recommended that both the CPU and Ethernet module are at the latest revision.

It may be best to get a new HMI like a Red Lion G304K2 or similar.
 
Progress of a different kind

Though the MMI-200 is still being a thorn under the skin, today was filled with progress.

Using the LM90 software to display the reference table for the M (internal memories) it was a simple matter to toggle bits that replicate switching functions wanted from the MMI-200. (thanks much for that suggestion of using the F12 key, now I see that toggling any key is possible, as long as it is not being held by some logic)

The coating plant works just fine! And is pumping away in the lab even now! (breaking into the 10^-6 torr region at the moment.) I'm happy about that!

Though it is a relief to know that the PLC is working fine, The man machine interface is still to be fulfilled. I could see throwing up a Labview interface, but I would prefer to have a self contained tool without "needing" a PC tethered.

I have one more series of tests to perform on this MMI 200 unit before condemning the device. A loop back cable to confirm that the keys are all sending output.

If the unit fails, (it did pass the quick tests OK) it may be due to some intermittent open or the like.

I will look into some options for replacement.

Hmm red lion?

A detail I observed while "toggling around", that if I understood would be a boon to me.

let me describe what I observed:

Registers M1 through M24 are assigned to the MMI keys.
When any of these bits are toggled 0-1-0 a PAIR of registers further up the numerical sequence are flopped 0-1. These are register bits with "LACH#-#" nicknames, so I assume they are just that Latching contacts, and the logic appears to support this assumption). Along with the energization of these pairs of latches, the MMI panel LED annunciator is also turned on. So one toggled bit activates thee bits. Clear as mud, right? ;-)

Well, if the original M1-M24 bit is again toggled OFF, the LOWER valued bit of the activated pair is turned off, leaving both the higher value bit and the LED bit ON.
Now, if the original bit toggled ON again, the high value bit is turned off along with the LED bit, and the LOW VALUE bit is turned ON again.
A toggle of the original bit to the off state a second time turns off all the effected bits and returns the operation to the original state. A bit confusing for me.

In example:

When M0001 (assigned to Key 1) is toggled on in the reference table, M505 LED1, and M0110 and M0111 are also turned on.
If M0001 is again toggled off, M0111 and M0505 remain ON, with M0110 turning OFF.

A second toggle to ON of the M0001 bit turns OFF bits M0505 and M0111, and turns ON bit M0110. Again turning OFF bit M0001 turns OFF all bits.

Back to the beginning.

This pattern is similar for "most" of the function keys, but not all .
There are two "POWER" switches, that only turn on and off power supplies, these look like straight switches.

I need to look more closely at the logic to see just how and why these "Double presses" are needed. Perhaps you know?

Rather windy,,,, sorry if it's a bore to anyone.

Thanks all, Cal
 
Last edited:
Remember that if the HMI were functional pressing one of the F keys would write a 1 to the corresponding %M bit and releasing the same key would write a zero to it. Your description of four changes of state represent two presses/releases of an F key.
 
Steve

I thought about that after posting.

With the KEYS set to "Turn Bit ON" mode, and NOT the "toggle bit" that comes from setting the bit status with the F12 function.

Alternate action from the Panel,

It should work right when it works at all ;-)

ps

It's hard for me to "remember" this stuff, as it's really my first pass at a hands on effort. But I welcome your message!
 
Last edited:
Another significant item of note.

I set the M0800 (READY) bit ON (which opens this NC contact and disables the logic call for subroutines)
A subsequent ALT-R to disable the PLC and then a Restart Failed to reset the M0800 bit.

I wonder if the MMI-200 is being caught up on something like this.

It sure would be nice to know were that M0800 bit get's it's marching orders.
 
You might try searching for 800M, but make sure you have selected "Implicit" in the search block. "Implicit" will search embedded uses of the instruction.
Ie.... if you have a Move Word instruction that has a Len of 45 and input of %M0756, the search will find that block because 800M is part of the LEN from 756M (756+45=801).

I thought you said "Ready" was in the MMI? If so, that may be where 800M gets its command.

Note:
The reason I talk in 800M instead of %M0800 is when you search, edit, or build rungs, you can simplify by using 800M instead of typing %M0800.
 
NetNathan,

Cal sent me the Logicmaster file. The only referemce to %M800 in the program is to contact instructions so it has to be coming from an external source. I've performed a global implicit search. Furthermore the use table for %M memory shows only explicit usage for that bit.

I've only looked at the KEP manual in the link provided. I haven't downloaded the KEP software to see the details of setting up how functions in the HMI are mapped to PLC bits, so I don't know what the original system might have had configured for %M800.
 
Searching with a document viewer is so easy

Since the logic pulled from the GE90/30 was printed to file, It's an easy task to open the text in any simple text viewer . I use both windows and Linux applications.

I had done a complete search looking for instances of the M0800 reference without finding any "coils", only contacts.

Just now I was thinking that I could add a rung to the Start block that would write the constant -0- to that bit at first scan, but then what function or protection could that contact provide? I'll need to think on that. (All the suggestions have helped my thinking.)

I've been running the machine this morning from the "display" screen in LM90. The activation of any function remains challenging with the double state situation. But, it seems that the LED status follows the function keys. Now just to get the operator panel to work.

Back where I started, only much better informed! 'couldn't do it with the help, that's for sure!

I have an air valve to service (leaky) this afternoon, back to testing the MMI-200 a bit later.

To clarify, The "READY" nickname is attached to the %M0800 reference in the plc logic. IT does NOT appear on any key pad assignment.

Regards

Cal
 
Last edited:
NetNathan,

Cal sent me the Logicmaster file. The only referemce to %M800 in the program is to contact instructions so it has to be coming from an external source. I've performed a global implicit search. Furthermore the use table for %M memory shows only explicit usage for that bit.

I've only looked at the KEP manual in the link provided. I haven't downloaded the KEP software to see the details of setting up how functions in the HMI are mapped to PLC bits, so I don't know what the original system might have had configured for %M800.

Probably the config for the MMI contains the control of the 800M bit.
That is why you do not find in the logic.
 
That would be a first guess,

BUT

There are no KEYS on the MMI labled "push me first!" or "Suspend ALL Controller functions" though there are several unassigned keys.
How could I make use of this NC contact that is the gateway to all subroutines, including the START and MANUAL blocks.

The process automation subroutines are called through NO contacts referenced elsewhere.

What useful function does suspending the plc have. Or another way, If you are in a functional Block such as START or MANUAL etc. and the current flow connection is opened, what happens? Does that block continue? From the logic it is plain that the plc could not process to another block.

Perhaps it is insignificant, But it may well be the cause for confusion past, present and future.

Your comments remain appreciated.

(There were hardened deposits on the sealing surface of the valve that was serviced this afternoon, "It took much longer to refurb than was expected. ) Working with the MMI now.)

Regards

Cal
 
Last edited:
If I understand correctly, the %M0800 bit needs to be OFF for the program to function normally. If that's correct, then it might very well have simply been added by the original programmer during the debugging stage, and never got removed... :confused:

Although I question why it would have been named "READY"... o_O

🍻

-Eric
 
Since the old LM90 Logic is not capable of short circuit rungs. Maybe it was created as an Always Off bit instead of using the %S0007 Always On Bit or the %S0008 Always Off Bit. Plus, As Eric pointed out That bit is Capable of being toggled for testing.
 

Similar Topics

Hello All, A coworker and myself are currently trying to figure out how we would read a register on our fanuc robot though our crimson G306 HMI...
Replies
2
Views
471
I have read every post I can find on how to interface an Automation Direct C-More EA9 series HMI to a FANUC robot with no luck. Some say it is...
Replies
8
Views
3,089
i got one and it has nothing inside, application software. i feel there should be some kind of application to run the HMI logic. i want to...
Replies
1
Views
947
any one worked on this QP ge fanuc?i got one and it has nothing inside, application software. i feel there should be some kind of application to...
Replies
2
Views
1,234
any one worked on this QP ge fanuc?i got one and it has nothing inside, application software. i feel there should be some kind of application to...
Replies
9
Views
2,509
Back
Top Bottom