扫一扫,访问微社区

QQ登录

只需一步,快速开始

威纶通触摸屏趋势图的数据转换

[ 复制链接 ]
威纶通触摸通过MODBUS指令读取两个short型(16位)的数据,又如何让这两个数据通过趋势图以两个通道显示出来,用宏指令如何实现啊?


回答:
会用趋势图控件,这都不是问题。
我录制的视屏教程已经很详细介绍每个控件的使用了。
并且已回答很多相似问题。
如果是新手朋友,可以参考下载教程学习:


这里我再编写一个例程,看下两个short类型数据如何通过两个通道显示出来。
假设读取的数据保存到了触摸屏LW0,LW1内,并想通过趋势图两通道显示出来。
在实际连接了硬件后,数据是通过硬件产生并读取到触摸屏内使用。
标准MODBUS设备可以通过添加硬件形式添加,并不需要要用到宏指令。
如果是非标准协议的modubus测压,也可以参考我录制的宏指令教程,
有自由通讯实例,参考上边的两教程。

例程没有连接硬件,所以数据由宏指令生成。
在使用趋势图前,事先要添加资料取样。
例程使用新版本编程软件编写,在界面菜单,资料/历史,资料取样,可以添加资料取样。
下图是添加时关键三小点。
2019-12-25_132043.jpg

如图,添加了资料取样,数据由LW0,LW1两通道读取,LW0,LW1为short类型单字长度。
指定数据来源如LW0后,每个通道对应地址由此地址开始偏移。
添加完资料取样后,可以发现趋势图图标可以点击了。
元件关键属性设置如下:
2019-12-25_134155.jpg
界面元件都准备好后,就可以显示出数据趋势图了。
例程没有连接硬件,数据由宏指令产生:

  1. macro_command main()
  2. //复位触发条件
  3. bool b=false
  4. GetData(b, "Local HMI", LB, 0, 1)
  5. if b then
  6. b=false
  7. SetData(b,"Local HMI",LB,0,1)
  8. return
  9. end if
  10. //赋值通道0
  11. short deg=0
  12. GetData(deg, "Local HMI", LW, 2, 1)
  13. deg = deg+1
  14. if(deg>360)then
  15. deg=0
  16. end if
  17. SetData(deg, "Local HMI", LW, 2, 1)
  18. float f=0.0
  19. SIN(deg, f)
  20. short n=0
  21. n=f*125+125
  22. SetData(n, "Local HMI", LW, 0, 1)
  23. //赋值通道1
  24. RAND(n)
  25. n=n%250
  26. SetData(n, "Local HMI", LW, 1, 1)
  27. //触发采集
  28. b=true
  29. SetData(b,"Local HMI",LB,0,1)
  30. end macro_command
复制代码
运行效果如下图:
4.gif
运行后宏指令周期执行,使用LW0,LW1数据不断变化,趋势图采集数据并显示。
当然例程也提供下载:
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:EBProject1.rar 
文件大小:332.63 KB  售价:3金币
下载权限: 不限 以上或 VIP会员   [购买VIP]   [充值积分]   有问题联系我


  

如果您认可,可联系功能定制!

  

如果您着急,可红包后,发您资料!

  

QQ联系我

微信扫扫联系我

  

回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索