MCGS改变存储个数 点击:504 | 回复:10



技术宅男

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 110回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2015年3月14日
发表于:2022-08-02 17:11:46
楼主

要通过MODBUS采集一个模块的数据,比如温度, 根据项目的不同,这个模块会传过来10个数据或者20个数据或者更多,按最多100个。 

如果随着数据量的不同,每次都在实时数据库里增加或者删除数据对象,那就太麻烦了(比如原先做了个10个的变量,后来又来了个20个变量的项目那就得再加10个,然后再配置他的告警值之类的)。

现在想的是,我直接建立100个数据对象,都勾选上报警属性,然后把这100个对象编成组,勾选存盘属性,然后再做一个输入框,输入这个项目有多少个数据,然后再用脚本将其余的数据对象的告警取消掉(EnableAlm(DataName,AlarmIndex,n))。

但是发现没有函数可以将数据对象从组里剔除出去。这样存盘的时候还是会存100条。  有什么解决办法吗。或者各位有什么其他方法能实现我的需求吗?



楼主最近还看过



技术宅男

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 110回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2015年3月14日
发表于:2022-08-03 08:45:36
1楼

大佬们请支持一下

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:3
  • 历史总积分:38
  • 注册:2022年7月26日
发表于:2022-08-03 09:20:18
2楼

我之前用MCGS做画面的时候,想要在运行过程中根据事件的不同实时修改画面内容,但是总会报错,我就打电话去问了MCGS的技术人员,对方表示暂时不支持这个功能。我想说的有两个

第一,直接给厂家打电话,寻求技术支持,求解疑难问题

第二,这个工控设备可能没有那么强大

(当然也可能是在下还没有学习到位)

天自

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 54回
  • 年度积分:51
  • 历史总积分:964
  • 注册:2022年5月09日
发表于:2022-08-03 09:39:23
3楼

换个思路,PLC过来一直都是100个,你要传10个,就放10个真实数据,其它都是假数据,你要传20 就放20个真实的。其它假数据,数值设置成不会报警的数值。

技术宅男

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 110回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2015年3月14日
发表于:2022-08-03 10:36:24
4楼

"天自" 的回复,发表在3楼
        对内容: 【换个思路,PLC过来一直都是100个,你要传10个,就放10个真实数据,其它都是假数据,你要传20 就放20个真实的。其它假数据,数值设置成不会报警的数值。...】进行回复:

        -----------------------------------------------------------------


感谢回答,是的。我目前是这么做的,但存盘时,一存就是100个(这个没关系),浏览历史时也是100个而不能10个,这个不行。不然客户肯定问,我就10个温度。你给我显示100个干嘛,虽然其余的90个都是0

技术宅男

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 110回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2015年3月14日
发表于:2022-08-03 10:37:14
5楼

"攀" 的回复,发表在2楼
        对内容: 【我之前用MCGS做画面的时候,想要在运行过程中根据事件的不同实时修改画面内容,但是总会报错,我就打电话去问了MCGS的技术人员,对方表示暂时不支持这个功能。我想说的有两个第一,直接给厂家打电话,寻求技...】进行回复:

        -----------------------------------------------------------------


给厂家联系一下吧。MCGS的技术支持这一块还是比较差一些。只能打电话。

天自

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 54回
  • 年度积分:51
  • 历史总积分:964
  • 注册:2022年5月09日
发表于:2022-08-03 11:57:26
6楼

"技术宅男" 的回复,发表在4楼
        对内容: 【"天自" 的回复,发表在3楼        对内容: 【换个思路,PLC过来一直都是100个,你要传10个,就放10个真实数据,其它都是假数据,你要传20 就放20个真实的。其它假数据,数值设置成不会...】进行回复

        -----------------------------------------------------------------

在画面循环脚本里用这个指令。窗口0.控件0.SetTrendVisible(1,0)意思就是把历史窗口,对应得曲线1隐藏,搞个循环,不用的都隐藏。窗口0.控件0.SetTrendVisible(1,1)需要的都打开。第一个1是曲线号设置成变量

xiangge253

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 48回
  • 年度积分:0
  • 历史总积分:48
  • 注册:2011年7月19日
发表于:2022-08-04 09:36:18
7楼

好东西,谢谢分享,辛苦楼主了

技术宅男

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 110回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2015年3月14日
发表于:2022-08-04 17:09:40
8楼

和厂家联系了一下,说实现不了将数据从组对象剔除的功能,可以存储100个温度,显示历史数据时只显示10个,但是也只能在历史构件上提前设置好, 不能通过脚本改变。 还是实现不了我的需求。

李白

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 36回
  • 年度积分:108
  • 历史总积分:226
  • 注册:2021年11月11日
发表于:2022-08-09 22:08:46
9楼

"攀" 的回复,发表在2楼
        对内容: 【我之前用MCGS做画面的时候,想要在运行过程中根据事件的不同实时修改画面内容,但是总会报错,我就打电话去问了MCGS的技术人员,对方表示暂时不支持这个功能。我想说的有两个第一,直接给厂家打电话,寻求技...】进行回复:

        -----------------------------------------------------------------

设备是不支持这种功能,或者是不能直接做这种效果,但是我们可以走“捷径”来实现类似的功能。就像以前的FC游戏机,机能很弱,但是程序员用各种手段榨干机能,实现各种炸天的效果。


faintla

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:0
  • 历史总积分:66
  • 注册:2022年9月03日
发表于:2022-09-04 08:01:32
10楼

虽然是好贴,积分不够,收藏了,下次来


热门招聘
相关主题

官方公众号

智造工程师