MCGS 存盘应用(定时存盘与触发存盘)

在开发中,有时要求将重要数据记录下来(比如电压,电流值等),并能查询显示。现在通过用mcgs屏,将要需要的数据定时保存下来。再用存盘数据浏览构件来显示。

1.在实时数据库中新建一个对象,属性设为组对象,这里叫{保存数据组},存盘属性选择定时存储到磁盘或者定时存储到内存.(区别是存到磁盘后,重启屏后存盘的数据还在),并设定存盘周期为0s,将需要存盘的变量加入此组对象的组对象成员。

2.在运行策略界面,使用循环策略或者事件策调用函数!savedata(组对象名称)定时存储数据。

常见有两种

一种是通过一个plc的m继电器触发,例如上升沿一次存盘一次

这里使用事件策略,触发对象这里例如选择m1,执行条件根据实际需求选择,如果是类似上升沿就选择正跳变,从0变化到1时,执行1次

一种是通过一个bool量作为使能标志,标志置位时候1秒或1分钟存一次

这里使用循环策略,这里设置循环时间,这里为1000ms,1秒

脚本里加个简单的if判断即可

3.在用户窗口,在工具箱选中存盘数据浏览构件,在数据来源项关联对应组对象

4.在显示属性点“复位“按钮,将显示列自动添加上,再修改标题和宽度,也可在这添加单位,修改显示的小数点

这里注意一件事:

存盘成功后,只有使用Refresh( )刷新一下显示构件,才会有数据在表格中显示

可以在在窗口循环或者按钮脚本中添加Refresh( )

模拟效果

5.如果要清除所有存盘数据,用函数!DelAllSaveDat(),!DelAllSaveDat(DatName)是删除数据对象DatName的所有记录

如果不清除,存到设定大小对应的条数,就会自动将老数据清除给新数据腾出空间

6导出csv通过!ExportHisDataToCSV()导出

具体参数在下图

Dim Data AS integer


Data = !ExportHisDataToCSV(文件名,"保存数据组","",开始时间,当前时间,20000,1,"",导出进度,状态控制)



IF Data = 0 THEN 
用户窗口.提示弹窗.Open( )

提示信息 = 0

else
用户窗口.提示弹窗.Open( )

提示信息 = 1
	
ENDIF

导出效果,这里要设置下单元的格式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值