在我的博客里面讲解了一些关于mcgs自动生成io监控见面的方法,实验过后发现实际读取设备地址状态延迟太高,导入导出IO注释本文方法操作有些复杂,所以我就又在我的模板里更新了一些代码,已经可以解决以上问题。
为了解决读取延迟问题,我们可以直接把变量连接到西门子驱动上,但是不能够用布尔变量,布尔变量太多,连接时有些麻烦,我们可以直接用32位数据直接连接,这样我们只要根据连接变量的每一个位状态就可以识别当前IO点状态。如下图
在导入文本注释问题,我想到了可以直接把文本内容进行复制粘贴到标签中,我们读取标签内容进行解析即可,这样不需要过多操作就可以将注释文本导入到触摸屏。
Dim strArr(2) AS string
Dim ret AS integer
Dim Data AS string
Dim Data1 AS integer
Dim Data2 AS integer
Dim Data3 AS string
Dim Data4 AS string
Dim I状态 AS integer
Dim 表格行数 AS integer
表格行数=13'显示行数,不是总行数
'IF plc通信<0 or plc通信>0 THEN '防止通信错误死循环
' EXIT
'ENDIF
''''''''输入监控显示’''''''''''
I缓存=io监控.控件6.Text'将输入注释缓存
ret = !SplitString(I缓存,strArr,"\n")'将缓存字符串用换行分割
Data1=3'报表第三行开始
IF io页数>ret/表格行数+1 THEN '输入页码识别
io页数=ret/表格行数+1
ENDIF
io监控.控件8.Text=!StrFormat("%d",io页数)+"/"+!StrFormat("%d",ret/表格行数+1)+"页"'显示输入页码
''''''''''''''''''''更改设备号''''''''''''''''''''''