37. 如何使用PLC变量控制TwinCAT HMI Scope控件开始/停止录制?

问题描述:

       TwinCAT HMI画面中嵌入Scope控件可以方便的对PLC中的变量信息进行图形化的展示,但TwinCAT HMI Scope画面开始的时机和时间长度需要手动触发或输入实现,这在实际使用时并不方便与实用。

解决方案:

通过在客户端执行JS命令的方式读取Scope控件的按钮对象,并调用按钮对象的Click方法来达到模拟点击开始录制按钮的功能。

如下图,通过绑定ScopeControl的自定义事件为PLC程序中的变量,当PLC变量状态变化时便会执行事件绑定的相关语句。


此处通过getElementsByClassName方法获取页面中所有的Scope控件的工具栏对象,并调用对应的子对象的Click方法执行相关动作。

document.getElementsByClassName("TcHmi_Controls_Beckhoff_TcHmiScopeControl_TcHmiScopeControl-template-menu-tool-bar")[x].children[y].click()

TwinCAT HMI Scope Control控件子对象的说明:

 

Index

说明                         

 

 

 

x

0

当前页面中仅有一个Scope控件时x=0,若有多个则根据实例生成顺序确定012…

y

0

StartRecordButtonScope开始录制

 

1

StopRecordButtonScope结束录制

 

2

optionsButton,隐藏选项展开

 

3

RunButton,开始显示

 

4

PauseButton,暂停显示

 

5

Splitter1,分隔符

 

6

DisplaywidthTextBox,显示时间宽度

 

7

Splitter2,分隔符

 

8

ScrollBackBigButton,快退

 

9

ScrollBackSmallButton,慢退

 

10

ScrollForwardSmallButton,慢进

 

11

ScrollForwardBigButton,快进

 

12

Splitter3,分隔符

 

13

GotoTextBox,定位到目标时间

 

14

Splitter4,分隔符

 

15

UndoButton,撤回

 

16

RedoButton,重做

 

17

Splitter5,分隔符

 

18

PanToggleButton,平移

 

19

PanXYToggleButton,四向移动

 

20

ZoomToggleButton,时间轴缩放

 

21

ZoomXYToggleButton,区域缩放

 

22

UnzoomButton,恢复缩放前显示

 

23

ZoomOutMaxButton,回到最大显示状态

 

24

OverviewButton,总体概览图

 

25

TriggerWindowButton,触发窗口

 

26

UploadButton,上载

 

27

DownloadButton,下载

 

 

 


2025.3.31 云龙 供稿