工控人邪修INTOUCH系列(1):定时翻页、截屏、打印脚本
1 前言
INTOUCH是工控人目前应用很广泛的上位软件和各家PLC及下位程序通讯组态。
这一系列根据我的项目经验给大家提供一些,实用脚本的应用方法和各家通讯的组态方式。
篇幅不一定长,但是希望在实际组态和应用过程中能帮助到大家。
2 INTOUCH定时翻页截屏打印方法
2.1 项目背景
在国家管网某压气站,完成了国产化首台套燃机改造。业主需要进行72小时测试验收。
要求72小时内对INTOUCH上位画面进行翻页截图,每两小时一次,每次截取所有画面16张的当前数据,用于存档。
我们2个人,白天还好两小时来截图一次,工作轻松,夜里就要有人值班每两小时截图一次,每个时段16张。尤其夜里12:00 、2:00、4:00比较难熬,睡也不合适,不睡还难受。于是我做了个定时自动翻页截图脚本,分享给大家,希望在类似现场情况给大家提供帮助。
2.2 打印机的设置
设置默认打印机(设置打印机打印文件时自动保存到指定文件夹,并自动加数字区分文件)
1)在开始菜单打开“设备和打印机”
2)找到默认打印机,右击鼠标打开“打印机首选项”
3)设置默认文件位置和如果文件存在添加数字后缀
参考链接:
https://jingyan.baidu.com/article/ab69b270b5d2302ca7189fc4.html
2.3 INTOUCH脚本(定时切换指定窗口并调用打印)
1:第一秒翻页,第二秒截屏打印。
条件改变脚本($Minute==0,$Minute==2…)示例如下:
IF $Second==1 THEN
Show "sub_Auxlib " ; (公共画面)
Show "A_Gas Fuel SYS" ; (画面1)
haux = 1 ;
PrintData = 1;
ENDIF;
IF $Second==2 AND PrintData == 1 THEN
PrintScreen( 2, 3 );
PrintData = 0;
ENDIF;
IF $Second==8 THEN
Show "A_GG Lube_Hyd" ; (画面2)
Show "sub_Auxlib" ; (公共画面)
haux =2 ;
PrintData = 1;
ENDIF;
IF $Second==9 AND PrintData == 1 THEN
PrintScreen( 2, 3 );
PrintData = 0;
ENDIF;
(PrintData为内存整型,用于标志打印窗口,以免重复调用打印脚本)
2:根据实际需要更改条件改变脚本,实现相应的打印需要
例如:变量改变更改为$Hour ==0,$Hour ==2,$Hour ==4…相应的脚本应增加限制,防止不应该的调用。
IF $Minute == 0 THEN
IF $Second==1 THEN
Show "sub_Auxlib" ;
Show "A_Gas Fuel SYS" ;
haux = 1 ;
PrintData = 1;
ENDIF;
IF $Second==2 AND PrintData == 1 THEN
PrintScreen( 2, 3 );
PrintData = 0;
ENDIF;
ENDIF;
2.4 脚本编辑注意事项
(1) 注意翻页和打印的之间的秒数时间间隔不要太短。
间隔1S,可能会在某一次脚本执行过程中出现卡顿,漏截屏画面。
建议15S,保证翻页的完成和截屏的执行。
(2) 检查INTOUCH是否有时钟同步脚本,
建议截图期间可以先删除。
项目中00:00准时进行INTOUCH时钟同步,出现前半夜脚本有效,每个截图时段16张截屏,后半夜出现漏截屏现象,后半夜每个时段只保存了14个画面截屏。
2026年3月


