技术论坛

博图HMI脚本程序请教

作者 主题
奇侠

经验值: 5400
发帖数: 1205
精华帖: 10
主题:【求助】博图HMI脚本程序请教


只看楼主 楼主 2019-10-15 20:57:08

 

Sub MenuSelect()
Dim ScreenNo


If (SmartTags("FAST\MainMenu\ScreenNo") = 100) Or  (SmartTags("FAST\MainMenu\ScreenNo") = 200) Or  (SmartTags("FAST\MainMenu\ScreenNo") = 300) Then
 If (SmartTags("FAST\MainMenu\ScreenNo_Last_user_1") <> 0) And  (SmartTags("FAST\MainMenu\ScreenNo_Last_user_1") <> 1) Then
  SetTag ScreenNo, SmartTags("FAST\MainMenu\ScreenNo_Last_user_1")
    SetTag "FAST\MainMenu\ScreenNo_Last_user_1", SmartTags("FAST\MainMenu\ScreenNo_Last_user_0")
    SetTag "FAST\MainMenu\ScreenNo_Last_user_0", ScreenNo
   Else
       SetTag ScreenNo, SmartTags("FAST\MainMenu\ScreenNo_Last_user_0")
 End If
Else  'FROM ANY SCREEN
 If SmartTags("FAST\MainMenu\ScreenNo") <> SmartTags("FAST\MainMenu\ScreenNo_Last_user_0") Then
    SetTag "FAST\MainMenu\ScreenNo_Last_user_1", SmartTags("FAST\MainMenu\ScreenNo_Last_user_0")
    SetTag "FAST\MainMenu\ScreenNo_Last_user_0", SmartTags("FAST\MainMenu\ScreenNo")
   End If
 If (SmartTags("FAST\MainMenu\Menue_Last") = 100) Or  (SmartTags("FAST\MainMenu\Menue_Last") = 200) Or  (SmartTags("FAST\MainMenu\Menue_Last") = 300) Then
     SetTag ScreenNo, SmartTags("FAST\MainMenu\Menue_Last")
 Else
  SetTag ScreenNo, 100
 End If

  
End If
  
ChangeScreen ScreenNo, 0
End Sub

请问各位大侠,标红的语句是什么意思呢?


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1589174&b_id=5&s_id=0&num=6

版主

经验值: 69041
发帖数: 12260
精华帖: 59
回复:博图HMI脚本程序请教


只看楼主 1楼 2019-10-15 21:51:10

下面的程序代码使用 SetTag 函数将 gs_tag_bit 变量的值设置为 TRUE,并将返回值保存到 ok 变量中。

ok = SetTag("gs_tag_bit", TRUE);


以下示例显示了单击用户自定义菜单项时执行的脚本“ChangeScreen”。使用“数据”(Data) 字段将画面名称传送到脚本。 

Sub ChangeScreen (ByVal Item)

    Dim objScreen, strScreenName

    ' "UserData" contains the screen name specified

    ' in editor menus and toolbars. 

    strScreenName = Item.Userdata

    HMIRuntime.BaseScreenName = strScreenName

End Sub


不知道功能一样不

ChangeScreen这个函数没找到,你看看VB函数里面是不是自己编写的


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
版主

经验值: 43585
发帖数: 15780
精华帖: 61
回复:博图HMI脚本程序请教
推荐帖


只看楼主 2楼 2019-10-16 09:12:24

你用的是vbs,这个不支持set,get指令,变量赋值直接用

hmiruntime.tags("ScreenNo").write 0



活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
奇侠

经验值: 5400
发帖数: 1205
精华帖: 10
回复:博图HMI脚本程序请教


只看楼主 楼主 3楼 2019-10-17 19:34:29
以下是引用zhangli0在2019-10-16 09:12:24的发言 >

你用的是vbs,这个不支持set,get指令,变量赋值直接用

hmiruntime.tags("ScreenNo").write 0


 

zhangli0 版请问一下,VBS不支持SET这个指令吗?我这个HMI的程序是从WinCC flexible 版本移植过来的,在博徒中编译也没错误,难道转成C脚本了?


 
以下网友喜欢您的帖子:

  
版主

经验值: 69041
发帖数: 12260
精华帖: 59
回复:博图HMI脚本程序请教


只看楼主 4楼 2019-10-17 22:20:03

博图和WINCC V7脚本还是差很多

详细的脚本含义可以参考:

SIMATIC WinCC WinCC Professional V14 SP1 - 编程参考

https://support.industry.siemens.com/cs/cn/zh/view/109747179
这个手册里面有详细的解释



Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
奇侠

经验值: 5400
发帖数: 1205
精华帖: 10
回复:博图HMI脚本程序请教


只看楼主 楼主 5楼 2019-10-21 10:54:26
以下是引用RENHQ在2019-10-17 22:20:03的发言 >4楼

博图和WINCC V7脚本还是差很多

详细的脚本含义可以参考:

SIMATIC WinCC WinCC Professional V14 SP1 - 编程参考

https://support.industry.siemens.com/cs/cn/zh/view/109747179
这个手册里面有详细的解释


感谢您的回复,这个资料确实很好,谢谢!


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 6647
发帖数: 786
精华帖: 9
回复:博图HMI脚本程序请教


只看楼主 6楼 2019-10-21 11:00:21

字面理解就是改变屏幕编号,根据条件调用不同的画面吧


一切皆有可能
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
博图HMI脚本程序请教
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。