FactoryTalk text box cycling

bgtorque

Member
Join Date
Oct 2013
Location
Northampton
Posts
127
I have a HMI display that gives the channel name (It's simply a text box) and then reports back the value, such as the oil temp as a tag from the PLC.

What i'd like to do is have the channel name displayed as default, and then be able to press it and have further text display (the wiring diagram page, location) over the top of the channel name for maybe 5-10 secs and then go back to the channel name. How would be the most efficient way to achieve this? Two GoTo buttons? How would I achieve the timeout and back to the channel name?
o_O

Thanks for any thoughts.
 
You need to handle the timeout function in the PLC. You have to setup Global Connections (this shows up in the navigation tree) to the particular display you want to pup-up and pass the display name as a tag to the PLC.

I will try to help more if you need it.
 
Thanks for the response. I don't know if I made it very clear as I don't think this is something that I should need to go to the PLC for, unless the software is limited in this way? I mentioned tags/ parameters before and this may have been a little misleading, so apologies. To clarify, this is what I want to do:

I what to create a box that has a label (not a PLC tag) that reads, "Sensor 1". I then what to press that box and have another box superimposes over the top of "Sensor 1" that reads "Wiring Diagram 1234, sheet 2" and then goes away after 5 seconds until "Sensor 1" is pressed again. So I am not using any tags in this and isn't dependent on any information from the PLC.

The box with "Sensor 1" could be filled solid or transparent, it doesn't matter. The box with "Wiring Diagram 1234, sheet 2" would need to be filled solid to block out the text of "Sensor 1" and would need to sit in front, but only be visible when activated by pressing "Sensor 1" and then time out to be invisible again.
 
Thanks for the response. I don't know if I made it very clear as I don't think this is something that I should need to go to the PLC for, unless the software is limited in this way? I mentioned tags/ parameters before and this may have been a little misleading, so apologies. To clarify, this is what I want to do:

I what to create a box that has a label (not a PLC tag) that reads, "Sensor 1". I then what to press that box and have another box superimposes over the top of "Sensor 1" that reads "Wiring Diagram 1234, sheet 2" and then goes away after 5 seconds until "Sensor 1" is pressed again. So I am not using any tags in this and isn't dependent on any information from the PLC.

The box with "Sensor 1" could be filled solid or transparent, it doesn't matter. The box with "Wiring Diagram 1234, sheet 2" would need to be filled solid to block out the text of "Sensor 1" and would need to sit in front, but only be visible when activated by pressing "Sensor 1" and then time out to be invisible again.

I would not use a go to display button for this.

I would use a multistate indicator, an invisable latched pushbutton and either the PLC or macros (the PLC is much easier in this case).

Create a multistate indicator which has the following States:
State 0: Sensor 1
State 1: Wiring Diagram 1234, Sheet 2
Error: Error
Its connection should be with either a HMI tag (if your using macros) or a PLC tag (if using the PLC)

Then create an invisable latched pushbutton and position it directly above the multistate indicator. Its connection should be the same HMI/PLC tag as the Multistate indicator above.

Now when you press the button the multistate indicator will move from Sensor 1 to Wiring Diagram 1234, Sheet 2.

Now to do the automatic return after 5 seconds you either need to use macros in the HMI (presonally I dont like to do this) or else put a single line of code in the PLC like this:


XIC Sensor1ScreenToggle Ton Sensor1_5Sec 5000 0 XIC Sensor1_5Sec.DN OTU Sensor1ScreenToggle

where Sensor1ScreenToggle is the bit used in the latched pushbutton, and Sensor1_5sec is a timer.

If you want to do it by Macro its a lot more complicated and not something that I personally would do (I did it once and in the end changed it to the PLC as I found it easier to understand)
 
I would not use a go to display button for this.

I would use a multistate indicator, an invisable latched pushbutton and either the PLC or macros (the PLC is much easier in this case).

Create a multistate indicator which has the following States:
State 0: Sensor 1
State 1: Wiring Diagram 1234, Sheet 2
Error: Error
Its connection should be with either a HMI tag (if your using macros) or a PLC tag (if using the PLC)

Then create an invisable latched pushbutton and position it directly above the multistate indicator. Its connection should be the same HMI/PLC tag as the Multistate indicator above.

Now when you press the button the multistate indicator will move from Sensor 1 to Wiring Diagram 1234, Sheet 2.

Now to do the automatic return after 5 seconds you either need to use macros in the HMI (presonally I dont like to do this) or else put a single line of code in the PLC like this:


XIC Sensor1ScreenToggle Ton Sensor1_5Sec 5000 0 XIC Sensor1_5Sec.DN OTU Sensor1ScreenToggle

where Sensor1ScreenToggle is the bit used in the latched pushbutton, and Sensor1_5sec is a timer.

If you want to do it by Macro its a lot more complicated and not something that I personally would do (I did it once and in the end changed it to the PLC as I found it easier to understand)

Thanks for the detailed response. As i'm a bit of a PLC newbie, can you just clarify a couple of things for me. FYI, i'm using RSLogix 5000 with a CompactLogix PLC.

1. What tag data type should I create in the PLC. I presume that I don't need to add it to any ladder logic?
2. Whereabouts in the RSLogix / the PLC can I enter the code?
 
Thanks for the detailed response. As i'm a bit of a PLC newbie, can you just clarify a couple of things for me. FYI, i'm using RSLogix 5000 with a CompactLogix PLC.

1. What tag data type should I create in the PLC. I presume that I don't need to add it to any ladder logic?
2. Whereabouts in the RSLogix / the PLC can I enter the code?

Create a Bool which the name of your choosing.

The code can be in any routine, normally I create a specific program and various routines for interaction with the Panelview. Then just copy and paste my code there and change the names to the ones you have used. Note my code is ladder logic, so it needs to be pasted into a ladder logic routine.
 
Ok i've created a BOOL tag in RSLogix5000 called "DUMMY TAG1". In FactoryTalk on a display i've added a multistage indicator with
State 0: Sensor 1
State 1: Wiring Diagram 1234, Sheet 2
Error: Error

Finally i've added a latched pushbutton. Now, does this require the same two states or simply just a single state? Do I then change its visibility to visible or invisible and based on what expression?

Also, I am confused with how to add the code? I've created a new program and a new routine (as ladder logic). Is it just a Output Latch bit and then a timer?
 
Ok i've created a BOOL tag in RSLogix5000 called "DUMMY TAG1". In FactoryTalk on a display i've added a multistage indicator with
State 0: Sensor 1
State 1: Wiring Diagram 1234, Sheet 2
Error: Error

Good

Finally i've added a latched pushbutton. Now, does this require the same two states or simply just a single state? Do I then change its visibility to visible or invisible and based on what expression?

The states of the latched push button should be left blank. Set the Back Style to Transparent, this will make the button clear so you can put it above the Multistate Indicator and still see whats written on the multistate. It does not need visibility.

Also, I am confused with how to add the code? I've created a new program and a new routine (as ladder logic). Is it just a Output Latch bit and then a timer?

Its two XIC instructions a TON and an OTU instruction. If you simply copy the code I wrote above, and then click twice on a blank rung and press Ctrl + V to paste the code it will paste the code. Then you simply replace my names with your variable names.

It should look something like this

---||-----|TON 5Sec| -----|| --------------------(U)

The First XIC and the OTU command are your tag name "Dummy Tag1" and the Ton and the second XIC are the Timer and the Timer Done bit (TimerName.DN)
 
Try a PopUp Screen

Have you considered using a single pop up screen? When you press the button labeled "Sensor 1". (A Goto button) It would open a screen configured as an OnTop screen. Pass the screen a parameter file with the data that needs to be displayed "Schematic 123, page 2, Line 235".
One screen could display all the data for every button. Use the global connections and the PopUp screen number to close the screen after 5 seconds using ladder logic.

Or just let the operator close the popup screen when finished.
 
Usireland - Thank you for your help and clear instructions on this. I've managed to get everything in the PLC and I believe it is correct. Sorry for the delay in responding, but i've been pulled away with work and have only just managed to get back to looking at the code. For some reason the actual HMI is just displaying the Multistate caption in State 0 and I get nothing else. TO clarify. Uner the General tab the Trigger type is set to Value.

I have a multistate indicator with States 0,1 and 2 as described previously. Transparent background. Under Connections the Indicator tag is Sensor1ScreenToggle.

I then have a latching pushbutton in front of this with everything transparent, states 0,1 and 2, but with no captions. Under connections I only have the indicator tag as Sensor1ScreenToggle as with the multistate. The Value and Handshake tags are clear. Under the Common tab should I have the visible box ticked or not? Under the General tab I have the Latch Reset Type as the default Non-zero Value.

The two tags I have created are:

. Sensor1_5Se (Data Type is TIMER
. Sensor1ScreenToggle (Data Type is BOOL, Style is Decimal)

PLC code is copied as per your instructions above.

Thanks again.
 
Usireland - Thank you for your help and clear instructions on this. I've managed to get everything in the PLC and I believe it is correct. Sorry for the delay in responding, but i've been pulled away with work and have only just managed to get back to looking at the code. For some reason the actual HMI is just displaying the Multistate caption in State 0 and I get nothing else. TO clarify. Uner the General tab the Trigger type is set to Value.

I have a multistate indicator with States 0,1 and 2 as described previously. Transparent background. Under Connections the Indicator tag is Sensor1ScreenToggle.

I then have a latching pushbutton in front of this with everything transparent, states 0,1 and 2, but with no captions. Under connections I only have the indicator tag as Sensor1ScreenToggle as with the multistate. The Value and Handshake tags are clear. Under the Common tab should I have the visible box ticked or not? Under the General tab I have the Latch Reset Type as the default Non-zero Value.

The two tags I have created are:

. Sensor1_5Se (Data Type is TIMER
. Sensor1ScreenToggle (Data Type is BOOL, Style is Decimal)

PLC code is copied as per your instructions above.

Thanks again.

I just sent you a PM
 
Usireland, thanks again for the help, I seem to have it working now (I hadn't fully mapped my connections from the latched push-button. My only real issue now is with the timer. Regardless as to whether the Preset is 5000 or even 10000 msec, the accumulator only counts to 1721msec and then the latch drops back out? Thus the second-state text only displays for about 1.7secs???
 

Similar Topics

I am creating a text box for a screen that has the following layout: /*N:2 {::[MACHINE]Program:UN_Machine.EventSlot1} NOFILL DP:0*/ #1 #2...
Replies
5
Views
3,551
Hi, I just found that, when working with Text objects with inserted variables, the size of the actual text on the screen depends not only on the...
Replies
5
Views
936
Hello all, I seen some post here from 2013 regarding sending text messages for alarm using FactoryTalk ME. I wanted to see if anyone implemented...
Replies
2
Views
2,010
Hello, I ran into an issue while editing a FactoryTalk View ME application. I have added two buttons to one of the displays and have used the...
Replies
8
Views
3,122
I'm just trying to load from a text file into a string. I don't get why this doesn't work. Function LoadFile(FileName As String) As String()...
Replies
0
Views
1,548
Back
Top Bottom