工控编程吧
标题:
威纶通曲线图是如何制作的
[打印本页]
作者:
qq263946146
时间:
2019-8-23 18:52
标题:
威纶通曲线图是如何制作的
曲线元件的使用相对其他的元件很麻烦一些。
它提供控制地址,让我们来控制元件。
也提供读取地址,让我们选择从什么寄存器读取数据。
所以首先要理解这两个概念。
这里我们编写了一个曲线图制作的例程。
提前看下效果。
(, 下载次数: 4)
上传
点击文件名下载附件
例程运行在后台周期性的调用了一个宏指令,
通过控制地址,将数据显示在曲线元件上。
下面是对这两个概念的设置。
1.控制地址。
如下图,我们要添加曲线元件后,会弹出设置对话框。
有控制地址设置,
有读取地址设置。
(, 下载次数: 4)
上传
点击文件名下载附件
如上图,我们设置了控制地址为RW0,
这样我们就可以向RW0传递1显示图形,传递2清除图形,传递3重绘图形。
还可以向RW1传递任意数,设置图形数据显示的个数。
2.数据地址。
如上图,我们设置了X轴数据读取地址为RW100,
这样我们就可以通过下面的操作来设置元件的数据显示形式,
修改RW100的值来设置X轴的上限,
修改RW101的值来设置X轴的下限,
修改RW102..到...RW199的值来设置X轴的数据。
同样我们也设置了Y轴的数据读取地址为RW200,
修改RW200的值来设置Y轴的上限,
修改RW201的值来设置Y轴的下限,
修改RW202..到...RW299的值来设置X轴的数据。
3.实现效果。
所以说这个曲线元件使用起来很麻烦。
如果要添加其他元件来控制的话,
就更麻烦了。
本着助人为乐精神,
根据上图的设置,我编写了一个宏来控制。
效果如下:
再附上宏指令代码,
欢迎复制使用,查看运行效果。
macro_command main()
short num=20
short value=0
bool bInit=false
//初始化设置XY曲线元件
GetData(bInit, "Local HMI", LB, 1, 1)
if(bInit == false) then
bInit = true
SetData(bInit, "Local HMI", LB, 1, 1)
//设置通道显示数据个数
SetData(num, "Local HMI", RW, 1, 1)
//设置X上下限
value = 0
SetData(value, "Local HMI", RW, 100, 1)
value = 255
SetData(value, "Local HMI", RW, 101, 1)
//设置Y上下限
value = 0
SetData(value, "Local HMI", RW, 200, 1)
value = 255
SetData(value, "Local HMI", RW, 201, 1)
end if
int i=0
for i=0 to num step 1
//X轴数据变化
value = i*10
SetData(value, "Local HMI", RW, 102+i, 1)
//Y轴数据变化
RAND(value)
value=value%255
SetData(value, "Local HMI", RW,202+i, 1)
next
//界面绘制
value = 3
SetData(value, "Local HMI", RW, 0,1)
end macro_command
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4