Internal addresses

Join Date
Nov 2002
Location
Southern Ohio.
Posts
385
I have a question and can't find any info. I know you guys have the answer and maybe could direct me to a data source.

When using a SLC5/04 to communicate with a PanelView 900 via DH+ if you create a button in the Panelview and address it as n7:xx/xx. What takes place with the bit when you press the button? I am working with a program where I see the XIC N7:xx/xx but no OTE, how is it working. Does the XIC toggle with each press or does it place a 1 and need to be cleared. DUHH! :unsure:
I have programmed a lot of Panelviews but have never used the internal bits for the buttons unless I used a OTE also.
Thanks
Roger
 
It would depend upon which type of switch you have selected on the panelview (maintained, momentary, etc.). If you don't provide logic for the switch then nothing is accomplished except that the datatable for that bit is changing state. It's the same as using a hardwired input from a physical switch. The indicator on the front of the module will indicate if the contact is open or closed and the datatable will report the state of the bit. But without logic nothing else will occur. The panelview will hold the state of the button without regard to the SLC just as the physical switch will retain it's position. However you choose to use the bit (XIC, XIO, OTE, etc.) it will reflect the state of the datatable.

BTW, I've always used "XIO or XIC" with panelview bit value pushbuttons. I routinely use Panelbuilder Software User Manual (2711-ND3) as a resource.
 
When you use a button-function you are simply controlling the state of a bit in memory, or, at least, trying to control that bit.

The bit does not even need to exist in your Ladder Code. You could have a page on your display controlling nothing but "virtual" bits. That is, bits that exist in memory, and your panel code, but not in your process code.

MOMENTARY
When the button is pressed, this bit is "driven" ON. When you release the button, if there is nothing else keeping the bit ON (such as a latch circuit) then the bit goes OFF.

If there is a latch circuit, in the code, holding this bit ON, then, after latching the bit, there is nothing that this button can do to change the state of the bit.

SET
When the button is pressed, this button-function produces a "SET" on the subject bit. The bit is SET to "1". This is your basic "ON Button".

RESET
When the button is pressed, this button-function produces a "RESET" on the subject bit. The bit is RESET to "0". This is your basic "OFF Button".

TOGGLE
When the button is pressed, the "internals" of the button-function look to see the current state of the bit. If the bit is ON, then the button-function turns the bit OFF. If it is OFF, then the button-function turns the bit ON.

This is your basic "FLIP or Yanov Button".

Remembering my Navy days ( Ya know, I never once wrote FTN on a wall, anywhere! Navy guys know what I'm talking about. )

So, remembering my Navy days, we had this Lt Cmdr named Yanov. He was pretty much on the ball. We figured that he had to be the one responsible for inventing the "Yan/ov Switch". He was Russian (duh)... they invented everything! Didn't they? At least, according to them and Lt Cmdr Chekov (Star-Trek). Anyway, at least, we had fun saying so.

WHAT'S GOING ON IN MEMORY?
Now, because these button-functions are working directly on bits on the PLC Memory, those bits can just as easily be affected by Ladder Code.

For example, let's say you have four buttons programmed as "SET" and each is used to start a process function and each process function (except the first) is dependent upon the previous process function.

PB-1 => SET Bit-1 => Process Module-1

If Module-1 is ON then PB-2 => SET Bit-2 => Process Module-2

If Module-2 is ON then PB-3 => SET Bit-3 => Process Module-3

If Module-3 is ON then PB-4 => SET Bit-4 => Process Module-4

In this case, for start-up, 4 is dependent upon 3, and 3 is dependent upon 2, and 2 is dependent upon 1. Module-4 is the entry part of the process. Module-1 is the exit part. So, you must enable all down-line stuff, in order, before youcan begin feeding product.

Once the four modules are running, you can then "watch-dog" for faults in the various modules and handle module shut-downs as required.

If a fault occurs in Module-2, you need to shut down Modules-2, and -1.

You can do so by simply executing the following code:



Fault
Mod-2 Bit-2
-----| |------------+-----( RESET )
|
| Bit-1
+-----( RESET )




.
If, in addition to controlling those bits, your panel is watching those particular bits for "color status" then the colors for PB-2 and PB-1 will go to the "OFF COLOR".

The point is, the panel only "tickles" a bit into one state or another - FOR A SINGLE PANEL SCAN, unless MOMENTARY, then it is repeated Single-Scans as long as the button is held.

If there is no cause to revert to the previous state, then the bit holds the state to which it was "tickled" to.

When the "MOMENTARY" bit is released, it will revert unless there is a latch, or some such, to hold the state that the bit was "tickled" to (ON).

The "SET" bit will remain as "1" unless there is something in Ladder driving it to "0".

The "RESET" bit will remain as "0" unless there is something in Ladder driving it to "1".

If you are familiar with my "BE THE COMPUTER" stories, then you might be able to see that this is "BE THE PANEL COMPUTER". This is the same but it differs in only a "relative" way.

With respect to the Panel and Process Control, when the Panel tries to control Outputs, he is really messing with the INTERNAL MEMORY LOCATIONS that belong to the MAIN CPU. Whenever he is required to do so the panel passes a REQUEST for handling to the Main CPU.

Now, understand this...
The Main CPU may or may not honor any request from the panel. It depends on what the Main CPU sees to be legitimate.

The bit WILL be set to the state that the panel requested BUT as soon as Ladder Processing begins, Ladder has control!

LADDER CAN AND WILL OVER-RIDE PANEL REQUESTS!

jeez... 'nuff!
 
I can't speak with authority about how the Panelview does it, but I once had the same question as Roger.

I had a PanelMate that I could set up to use Modbus communications and I also had a Modbus driver program that I could run on my laptop. So I set up the PanelMate to communicate via Modbus and created a screen with some pushbuttons and indicators, hooked it up to the laptop and watched the traffic on the serial port.

The PanelMate continuously asks for whatever data it needs to refresh the screen that is currently displayed. If it has four indicators that display the states of outputs O1, O2, O3, O4, then it issues a Modbus 'Read Outputs' command for those points. The driver program running in the laptop needs to provide the data that the PanelMate is requesting, or you get a timeout error.

Let's say you also have four buttons addressed to inputs I1, I2, I3, and I4. When you press one of the buttons, the PanelMate issues a Modbus 'Write Input' command to the appropriate address. If the button is configured as 'momentary', then when you press the button, it writes a value of 1 to the bit address. When you take your finger off the button, it writes a value of 0 to the bit address.

If you configured the button as a latch, it would write a 1 when you press it, and never write a zero. If you configure it as a toggle, it would first issue a Modbus "Read Input' command to get the current state of the bit, and then write the opposite state to the laptop.

The PanelView probably handles things pretty much the same way. It writes directly to the N7 memory table. I have a question for Roger. Why are you writing discrete information to an integer file? Why not write to the B3 file?
 
Thanks edlu, Terry and Steve, I understand.

You have given more than enough info, thanks, I have since located some information in the help files of panelbuilder 32(go figure) but it wasn't as informative as you guys. I did not write the program in question, I am just trying to get up to speed on what was written, it all seems to work but a couple things are a little strange or maybe a better word would be confusing.

Why are you writing discrete information to an integer file? Why not write to the B3 file?
Why would the Binary files be prefered to the Integer files ?

Roger
 

Similar Topics

When machine has only 1 IP, we hook up a wireless client and set a static IP. Works Fine Alot of our newer machines have multiple IPs for PLC...
Replies
12
Views
6,116
Hi, friendly people ! I´m a guy from Brazil, really not so expert as many of you I have seen here. I´m indirectly involved in the...
Replies
2
Views
4,314
The client has an application that when communication between the PLC and the Factory Talk VIEW supervisory fails, the object in the supervisory...
Replies
5
Views
223
Hello everyone; I have Mitsubishi PLC FX3U 32M in hydropower plant governor, an error message popped up when a technician was working on an...
Replies
2
Views
323
Kindly, we are having a problem on a machine during night shifts, while no engineering tool is online. So, we were thinking of programming some...
Replies
9
Views
734
Back
Top Bottom