倍福plc全局变量怎么在线监视(倍福TwinCAT3PLCHMI-如何巧妙实现数据庞大工作量的IO监控)
倍福plc全局变量怎么在线监视(倍福TwinCAT3PLCHMI-如何巧妙实现数据庞大工作量的IO监控)1.新建TextList,用来存储和定义注释的变量这里将输入输出的地址注释掉,是为了方便测试。EL1889 (*AT%I* *): ARRAY[1..MaxDIs 1..16] OF BOOL;EL2889 (*AT%Q* *): ARRAY[1..MaxDOs 1..16] OF BOOL;IO全局变量的定义
先看下最终的效果:
IO监控的最终效果
想要提升效率,就要找到其中的规律,以有规律的方法,实现通用的事件,这样,才能体现事半功倍!
废话少说,直接开始。
第一步:IO变量先定义EL1889 (*AT%I* *): ARRAY[1..MaxDIs 1..16] OF BOOL;
EL2889 (*AT%Q* *): ARRAY[1..MaxDOs 1..16] OF BOOL;
IO全局变量的定义
这里将输入输出的地址注释掉,是为了方便测试。
第二步:建立IO注释的变量表1.新建TextList,用来存储和定义注释的变量
新建Text List
2.建立完成后,可以在其中编辑IO接口的名称
给Text List中的数据赋值
这里有几个关键的地方:TextList的文件名,列表里的ID。
当然,我们需要借助Excel来实现,字符列表的导入导出,这样可以在Excel中实现批量处理,从而实现效率。
在列表的任意位置右击,选择【导入/导出文本列表】
导入/导出文本列表
点击后,出现下图所示对话框,这里可以实现文本文件的导入导出,类型是CSV的文件。
导入导出文本文件
导出文件的格式:
导出文件的格式
在导出的文件里可以编辑,删减增加新的记录。
第三步:模块的设计模块的设计
要实现的状态:
1.首先要有模块的名称
2.当前是第几个模块
3.这个模块每个输入输出点对应的PLC地址
4.这个模块每个输入输出点对应的说明
根据上述的需求,总结如下:
- 模块的名称作为变量
- 第几个模块以Int类型的ID来区分
- 对于每个点绑定的地址是一个二维数组,对于单个模块来说,这个数组的二维值就是ID值
- 对于每个点的注释,是一个文本的列表,可以理解为数组,那每个点对应的规律就能够确定了:16*(ID-1) 当前的点位编号(1-16)
接口变量
ID:Int类型的,用来指定当前的模块是第几个模块
sPort:string类型的,用来指定当前模块的名称,如EL1889或EL2889或其他的名称
第五步,抬头设计指定模块的名称
指定当前是第几个模块
第六步、变量地址指定直接指定变量名,将数组的第一个索引指定为ID的变量就可以了!
变量的地址指定
第七步、注释的引用指定的类型是%s,即以字符串的方式显示,动态表示选择指定的TextList,索引的指定是根据ID来实现的,因为模块是以16个点为一个点位,所以索引的计算公式是:
16*(ID-1) 1
注释显示
第八步,调用选择Frame来实现:
Frame实现子窗体的调用
添加框架
引用