RSView SE. How to call up screen?

smcmanus

Member
Join Date
Jan 2006
Location
Vancouver
Posts
109
I am running RSView SE stand-alone v5.0. I need to call up a screen based on a tag value. I am thinking the only way to do it is using VBA. Any suggestions?

Thanks for your help.
 
Yes, that requires evaluating a value on an always running display, and using the OnChange VBA event to show a popup display.

Note that this also checks to see what client computer it's running on, and only pops up an exception display on that machine.

--------------
Here is typical VBA code:
--------------
Code:
  Private Sub Scale_Exception_Change()
  'Scale Exception Popup.
  On Error GoTo ErrHandler
  txtClientComputer.Caption = ComputerName
  If txtClientComputer.Caption = "SCALEBOX" Then
      If ThisDisplay.Whiting_Exception.Value = 1 Then
      Application.LoadDisplay ("Scale_Exception")
      Application.ShowDisplay ("Scale_Exception")
      End If
  End If
  Exit Sub
  ErrHandler:
      LogDiagnosticsMessage Err.Number & " " & Err.Description, ftDiagSeverityInfo
  
  End Sub
 
Last edited:
Always running display - A display that is open all the time

Typically a graphic docked at the top or bottom which provides links to other graphics such as Alarm Summary.
 
FKelly said:
Always running display - A display that is open all the time

Typically a graphic docked at the top or bottom which provides links to other graphics such as Alarm Summary.

Exactly. SE, unlike View32 has absolutely know knowledge of a 'Project', or an enviornment. In order to execute predictable VBA code, it is common to put all of the "Application Level" VBA code into a display window that is Always Visable, cannot be closed, and is also checked as 'Always Updating'.

For convenience, I generally do provide a restricted account the ability to close, flush, and reopen my "Always There" display, so updates can be applied without restarting a client.
 
Here is my code. I cannot get it to call up another screen.

Private Sub NumericDisplay1_Change()

If NumericDisplay1.Value = 700 Then
Application.LoadDisplay ("Screen_1")
Application.ShowDisplay ("Screen_1")
End If

If NumericDisplay1.Value = 900 Then

Application.LoadDisplay ("Screen_2")
Application.ShowDisplay ("Screen_2")

End If

End Sub
 
Why can't you use an event, I always do in RS View 32 and SE for pop-ups and display.

Setup the event and use the tag in order to display a screen, much easier.
 
i thought that is what i am doing. when the value changes in my numeric display(reads from plc tag) it calls the "NumericDisplay1_Change()". not really sure. is that an event? thanks
 
eluder said:
Why can't you use an event, I always do in RS View 32 and SE for pop-ups and display.

Setup the event and use the tag in order to display a screen, much easier.

SE doesn't support events that manage graphic displays.
 
smcmanus said:
Here is my code. I cannot get it to call up another screen.
Code:
  Private Sub NumericDisplay1_Change()
   
  If [color=Blue][b]ThisDisplay.[/b][/color]NumericDisplay1.Value = 700 Then
          Application.LoadDisplay ("Screen_1")
          Application.ShowDisplay ("Screen_1")
  End If
  
  If [color=Blue][b]ThisDisplay.[/b][/color]NumericDisplay1.Value = 900 Then
  
          Application.LoadDisplay ("Screen_2")
          Application.ShowDisplay ("Screen_2")
            
  End If
 
  End Sub

Try adding the "ThisDisplay." object in blue, and of course, make sure that your "NumericDisplay1" on the window is actually exposed to VBA (Right-click, Property Panel, Expose to VBA = VBA Control)
 
Well, first, are you evaluating true in either of your IF blocks? Put in a LogDiagnosticsMessage in each, and make sure you are actually hitting inside the conditional.

Put one right in the change event itself...
Hrm... cant think of anything else right now. It may not work, if just testing in Studio, you might have to actually run the client
 
You can do this in the Global Connections in the project tree. If you tie an analog tag to the "Remote Display Number", whatever the tag value is will determine what display is loaded. This is tied to the "Display Number" on each of the displays in your project. So if you want to load display #3 then your tag value should be 3.

Kevin
 
Point 1 - Thread Necromancy

Point 2 - You really want to try to layer multiple screens on one, and control the actual display with VISIBILITY ANIMATION? No thanks.

Point 3 - RSView SE does not HAVE any Global Connections; you are thinking of PanelBuilder or RSView (FTView) ME.
 

Similar Topics

Hello fellow wirenuts, I am looking to find the P.B. touch indicator option on version 13.00 and failing. It has been a year or so since I last...
Replies
9
Views
281
Hello, I have converted RSView 32 to FTView SE 14 (I have tested FTView 12 before as well and there were some difficulties so I moved on to...
Replies
4
Views
243
Okay, something I have not seen before.. RSView SE. I am working on an existing project. There is a value the customer wants trended and it is...
Replies
4
Views
800
I have a request to integrate a pause button in RSlogix to be able to start/stop a video. Video format is not defined at the moment, so it could...
Replies
2
Views
790
Hello everyone, I am having a problem with conversion from RSView32 to FT View SE Local project on version 12.00 (CPR 9 SR 12). Firstly, I have...
Replies
6
Views
1,403
Back
Top Bottom