FactroryTalk View SE使用VBA的小技巧

一、用户登陆

在SE中使用VBA时,调用SE内部命令的方法

Application.Login name,password
If Application.CurrentUserName = name then
Application.ExecuteCommand("Display xxxx")
End If

二、根据PLC变量弹出窗体

如果想实现PLC控制器里某个标签发生变化,则弹出某个提示界面,同样可以使用这个功能。比如控制器里面有个标签Tag1,当Tag1=1时显示名为 xxx 的画面,当Tag1=0时自动关闭该画面,则可以用以下方法实现:

1.添加数字显示控件

在画面上添加一个数字显示的控件NumericDisplay1,关联到PLC控制器里面的标签Tag1

2.添加VBA代码

在NumericDisplay1控件上点右键,选择VBA Code…,在弹出的VBA编辑器内增加以下代码。

Private Sub NumericDisplay1_Change()
    If NumericDisplay1.Value = 1 Then
        Application.ExecuteCommand ("Display xxxx")
    ElseIf NumericDisplay1.Value = 0 Then
        Application.ExecuteCommand ("Abort xxxx")
    End If
End Sub

三、获取计算机名和用户名

1.最简单的方法

获取计算机名:

Text1.text = VBA.Environ("computername")

获取用户名:

text1.text = VBA.Environ("username")

2.API的方法

获取计算机名:

Private Declare Function GetComputerName Lib "kernel32" _
Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Private Sub Form_Click()
Dim StrT As String * 255
GetComputerName StrT, 255
Text1.text = StrT
End Sub

获取用户名:

Private Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Private Sub Form_Click()
Dim StrT As String * 255
GetUserName StrT, 255
Text1.text = StrT
End Sub

版权声明:本文内容来源于网络搜集无法获知原创作者,仅供个人学习用途,若侵犯到您的权益请联系我们及时删除。邮箱:1370723259@qq.com

发表评论