XY曲线和趋势图类似,也可以用于数据的实时显示。 在使用上相对会复杂些,因为XY曲线元件有很多可设置选项。 选项的设置在遵循一些规则。 XY曲线元件可以在新版编程软件界面, 菜单->元件->曲线图->XY曲线图,进行添加。 弹出的属性设置对应框如下。 一般属性标签页下, 有方向的设置,控制地址,读取地址的设置。 XY轴上下限的设置。
XY曲线如何显示数据,这里实现正弦波显示
下面为每个属性含义介绍。 1.通道数据: 可以理解为曲线条数,每个通道都可以设置对应的读取地址。 2.曲线方向: 可以理解为X轴的朝向,有四个选项,一般默认使用朝右。 3.控制地址: 用于控制曲线的寄存器地址,例如设置LW0, 则 传递1到LW0可显示目前图形 (保留已绘制的图 ) 。 传递2到LW0可清除图。 传递3到LW0可清除所有图形,并重新绘制图形 。 数据传递后,系统会自动清零,也就是将LW0重置与显示0. 另外显示多少个XY数据点,可以通过LW1设置。 每个通道最多支持1023个数据点。 要注意的是一个点的坐标数据分为X,Y数值, 对应都要存放在寄存器中。
4.读取地址: 也就是设置从哪些寄存器读取X,Y数据。 使用多少个寄存器,是通过上面设置的LW1来指定。 寄存器使用的规则会比较难理解, 因为规则根据X,Y轴是否取自不同地址, 上下限是否取自不同地址会有所不同。 假设不勾选 [X 轴数据和 Y轴数据来自不同地址],且设置 [读取地址] 为某一地址LW-n 时:
XY曲线如何显示数据,这里实现正弦波显示
假设勾选 [X 轴数据和 Y轴数据来自不同地址],内设置 [X 数据] 为LW-m,[Y资料] 为LW-n:
XY曲线如何显示数据,这里实现正弦波显示
以上假设仅有四点XY数据点。
在显示区域标签选项卡下, 还可以对元件的外观与显示样式进行设置。 外观的设置就比较直观的,可以每设置一个属性模拟运行查看效果。 一般我们会将外观设置为透明而不使用其外框与背景,美化元件。 也可以对每条曲线,也就是通道,进行样式与曲线属性的设置。 另外也可以添加4条参考线。
文字介绍会比较抽象, 我们编写了一个实例, 添加了360个XY数据点,显示出正弦曲线图。 如例程下图
XY曲线如何显示数据,这里实现正弦波显示
例程控制地址设置为配方寄存器RW0。读取地址设置为配方寄存器RW2.
X上下限设置为0,360.因为要显示0到360度Y轴数据。
Y上下限设置为0,250。
曲线数据一变更是通过一个宏指令,
每隔100ms执行数据更新。
下面为宏代码
- macro_command main()
- short x=0,y=0
- float f=0.0
- bool bInit=false
- GetData(bInit, "Local HMI", LB, 0, 1)
- if(bInit==false) then
- for x=0 to 360 step 1
- SIN(x, f)
- y = 125+f*125
- SetData(x, "Local HMI", RW,x*2+2, 1)
- SetData(y, "Local HMI", RW,x*2+3, 1)
- next
- bInit = true
- SetData(bInit, "Local HMI", LB, 0, 1)
- end if
- for x=0 to 360 step 1
- GetData(y, "Local HMI", RW,x*2+5, 1)
- SetData(y, "Local HMI", RW,x*2+3, 1)
- GetData(y, "Local HMI", RW,3, 1)
- SetData(y, "Local HMI", RW,725, 1)
- next
- y=3
- SetData(y, "Local HMI", RW,0, 1)
- end macro_command
复制代码 例程程序下载地址:
上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例 经历1年的编程与录制点击进入查看
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|