FTView SE Login

Nevy

Lifetime Supporting Member
Join Date
Apr 2013
Location
Calgary
Posts
11
I've got a 4 head (4 monitors) factorytalk view se system running on 1 computer running 4 client files with a client on each monitor.

We are using FactoryTalk security and are having troubles making logins happen globally. Right now, when you login in one screen all other screens user account remains unchanged.

Does anyone know a way to make this happen globally using VBA or macros? If so, any tips or tricks?

I'm not very fluent in VBA but I think I could stumble through it if given an idea how to tackle this.

Running 1 client and stretching it over 4 screens is not an option at this point.
 
We just have so many Operators at site and they aren't interested in going that route.

I've actually figured out how to get a popup to show on every screen when you login that runs a login macro on load of the popup.

The issue I am having now is to get the login function to use variables...

Does anyone know of a way to call the login function (Login [username] [password]) using variables for the username and password? Everything I try seems to just look at the literal tag name I use instead of its value.

Any help is appreciated.
 
Does everyone NEED a unique login?
I generally have catchall accounts set up on the domain, "Operator", "Supervisor", etc. Windows linked logins really simplify things with FTView.
 
We just have so many Operators at site and they aren't interested in going that route.

I've actually figured out how to get a popup to show on every screen when you login that runs a login macro on load of the popup.

The issue I am having now is to get the login function to use variables...

Does anyone know of a way to call the login function (Login [username] [password]) using variables for the username and password? Everything I try seems to just look at the literal tag name I use instead of its value.

Any help is appreciated.

Add $ before and after tag.

Login $folder\tag$ $folder\tag$

Also note that the username can not have spaces.
 
Add $ before and after tag.

Login $folder\tag$ $folder\tag$

Also note that the username can not have spaces.

Thanks.

I've got everything working now but We have ran into another issue.

We've got two engineering work stations in two different buildings, when I login on one computer, the login works across both computers. So when you login on one and then another guy logs in on the other, the first guy is logged out.

I know how I can stop this from happening, just add a string display to the login script I wrote with the computer name and it will only log in the clients running with that computer name.

Is there a way in visual basic to get the computer name.

I tried My.Computer.Name but that doesn't seem to work.

Any VB Wizards out there that could teach me the syntax for getting the computer name and sending it to a string display?
 
Thanks.

I've got everything working now but We have ran into another issue.

We've got two engineering work stations in two different buildings, when I login on one computer, the login works across both computers. So when you login on one and then another guy logs in on the other, the first guy is logged out.

I know how I can stop this from happening, just add a string display to the login script I wrote with the computer name and it will only log in the clients running with that computer name.

Is there a way in visual basic to get the computer name.

I tried My.Computer.Name but that doesn't seem to work.

Any VB Wizards out there that could teach me the syntax for getting the computer name and sending it to a string display?

You have just been bitten by the same lack of client side tags that I have been B1tching about for years.

Someday they will catch up to the other 90% of HMI vendors.
 
For getting the computer name:
At the beginning of your VBA, you need to declare a library function and alias it to make life easy...

Code:
Option Explicit


'*******************************************************************
' Function Declarations:
' GetComputerName is imported from kernel32, and used to determine
'                 exactly what computer this routine is running on.
'                 Logging should only be done by ONE PC.
'*******************************************************************
Private Declare Function GetComputerName Lib "kernel32" _
Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long


I declare the alias there just so I remember what the library call returns, I don't actually use it.

Then, to get the actual name:

Code:
'*******************************************************************
'  Function: ComputerName()
'   Returns the network name of this computer as a string.
'*******************************************************************
Public Function ComputerName() As String
  Dim sBuffer As String
  Dim CName As String
  Dim UpperCase As String
  
  Dim lAns As Long
 
  sBuffer = Space$(255)
  lAns = GetComputerName(sBuffer, 255)
  If lAns <> 0 Then
        'read from beginning of string to null-terminator
        CName = Left$(sBuffer, InStr(sBuffer, Chr(0)) - 1)
        UpperCase = UCase(CName)
        ComputerName = UpperCase
   Else
        Err.Raise Err.LastDllError, , _
          "A system call returned an error code of " _
           & Err.LastDllError
   End If

End Function

The entire code/engineering and sales teams for FTView should be sent off to a deserted island with no electricity for the rest of their natural lives to be allowed to ponder just what a steaming pile of &*(^ they foisted on the automation world.
 
The entire code/engineering and sales teams for FTView should be sent off to a deserted island with no electricity for the rest of their natural lives to be allowed to ponder just what a steaming pile of &*(^ they foisted on the automation world.

Thank you very much for your help. This has worked for me.

I'm glad I'm not the only one who feels this way about Rockwell's HMI software. I always thought, if they put in just half as much work to their HMI software engineering as they do making sure no one is pirating it, they would be one of the best in the business. It seems all they are worried about is licensing, rather than fixing issues with their software.
 

Similar Topics

I am working at a remote site that has a FTView SE system that has been running for years...V9. About an hour ago the operators called me over...
Replies
2
Views
679
Hello All, I created credentials for someone to logon to a FTView ME program but it isn't working in the runtime program. I established...
Replies
2
Views
1,358
Dear Friends, Does anyone know how to create a login function using VB Script or macro. I am trying to keep one particular user logged in all...
Replies
0
Views
2,979
I am creating a global object in FTView SE 13. I want to have a string read from the PLC and display (in this case the tagname). So lets say...
Replies
4
Views
171
I want to set user security level based on the value of a tag in my PLC called "ActiveUser". That tag will contain the A-P code which we use for...
Replies
6
Views
214
Back
Top Bottom