我想在触摸屏当中显示我从台达PLC D寄存器中采集的数据,并通过实时曲线显示出来。另外我还要将这些数据记录可以显示历史曲线!我想问一下如何去实现!
注:实时曲线的X轴坐标是系统时间。
通过趋势图元件来实现;但是X轴不能显示出当前的时间值。
回答:
这些功能是可以通过资料取样相关的元件来实现的。
在新版本的编程软件界面,菜单,资料/历史,资料取样,
可以看到有趋势图,这个元件可以显示实时数据,也可以显示历史数据,
但在使用前得添加资料取样。
点击资料取样,弹出添加取样窗口,在窗口中点击新增,就可以添加一个新的取样任务了。
设置窗口如下:
在窗口中资料是通过LB0来触发取样。
数据来源来台达的D0寄存器,通道里使用的是浮点数,所以这里会使用到D0,D1.
历史数据勾选保存到HMI,这样就可以使用趋势图的历史功能。
添加好后,我们就可以使用趋势图来显示实时采集的数据或历史数据了。
如果想显示前几天的历史文件数据,还可以使用历史数据显示元件,选择数据文件来显示。
此元件使用上会有些规则要注意,在我录制的两套教程里都有详细介绍,
可以下载观看:
这里我们来添加趋势图使用,添加里趋势图的设置属性对话框如下:
显示方式有实时,历史两选项,我们编写一个例程,这两选项都使用。
其他属性如上图,另外数据范围0-250.元件的详细介绍也可以参考我录制的两套教程。
我们在界面上添加了两趋势图及一些元件如下:
上边趋势图为实时,下边为历史。X,Y对应趋势图的X,Y数据,0为0到360角度数据。
Y为X对应正弦值数据。数据是通过宏指令生成保存到X,Y里。
实际使用中是从PLC读取数据的话,宏可以省略。
另外指示灯用于显示数据触发采集的状态。
滚动条可以缩放趋势图内容。
宏会每隔几百毫秒更新数据,用到的宏指令如下:
macro_command main()
//采集触发先复位
bool on =false
SetData(on, "Local HMI", LB, 0, 1)
//X角度数据递增
short x=0
GetData(x, "Local HMI", RW, 0, 1)
x=x+1
if x>360 then
x=0
end if
SetData(x, "Local HMI", RW, 0, 1)
//角度对应正弦数据移动与放大,以直观显示
float y=0
SIN(x, y)
y=125+125*y
SetData(y, "DELTA AH500", D, 0, 1)
//触发置位
on =true
SetData(on, "Local HMI", LB, 0, 1)
end macro_command
问题涉及的知识是仅是趋势图如何使用,视频教程对每个元件选项都实操作了介绍。
另外就是必须事先添加资料取样任务,趋势图元件才能使用。
具体可以参考实例,下载地址:
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|