威纶通官方论坛

xy曲线图

[复制链接]
发表于 2014-5-16 16:47:19 | 显示全部楼层 |阅读模式
各位大师帮帮忙吧!!!急急急!!
目的:有个工作台运动,两个方向x和y,想通过触摸屏直观的看到工作台的运动轨迹
想通过历史曲线实现,但是历史曲线是时间和数值(距离)的关系,想到xy曲线,x就表示工作台实际沿x走的距离,y就是实际y方向走的距离
我用的是麦克公司的PLC
发表于 2014-6-3 11:52:46 | 显示全部楼层
如果xy是两个固定的寄存器的话,可以先将这些数值先保存到触摸屏的地址,然后在XY曲线中的读取地址设置成触摸屏的地址。
发表于 2015-6-16 14:35:59 | 显示全部楼层
怎么把PLC中两个固定寄存器的值连续的存储到触摸屏中的地址呢??
发表于 2015-8-6 16:51:14 | 显示全部楼层
以台达的plc为例,读取寄存器M10(X轴)与M11(Y轴)的值,进行绘画轨迹。
首先是将两个寄存器的值读取出来,然后传递进入本机地址Lw0—Lw100(X轴)与Lw100—Lw199(Y轴)中。然后通过xy曲线控件的控制地址进行绘图。(每次循环读出一组数据)
宏指令如下:
macro_command main()
short x[100],y[100]
short i,j
for i=0 to 99 step 1  //每次循环即读取一次数值,放入两个数组中
GetData(x[i], "DELTA DVP", M, 10, 1)
GetData(y[i], "DELTA DVP", M, 11, 1)
DELAY(100)
next
SetData(x[0], "Local HMI", LW, 0, 100)
SetData(y[0], "Local HMI", LW, 200, 100)
end macro_command
发表于 2019-11-22 13:05:50 | 显示全部楼层
本帖最后由 pcsms_xUhbkrku 于 2019-11-22 13:06 编辑

Y曲线的属性设置如下:

https://www.gkbc8.com/forum.php? ... A0&noupdate=yes
问题是想实现X,Y坐标数据都从PLC读取,所以勾选XY数据来自不同地址。
并设置XY资料地址为LW0,Y资料地址为LW10.
由于我们仅想使用两点数据,所以X资料使用用到LW0,LW1, YU资料会用到LW10,LW11.
然后是XY数据的范围,可根据PLC的XY数值使用范围来设置,
我们设置为一个有符号字的正方向范围。
XY曲线其他属性可以自由设置。添加完元件后,就可以以此为依据编写宏代码。
我们编写了一个宏指令,如下:
macro_command main()
short a,b
GetData(a, "Local HMI", LW, 1, 1)
GetData(b, "Local HMI", LW, 11, 1)
SetData(a, "Local HMI", LW, 0, 1)
SetData(b, "Local HMI", LW, 10, 1)
//有连接PLC可直接用PLC的D0,D1寄存器对LW1,LW11赋值
short x,y
GetData(x, "Local HMI", LW, 100, 1)
x=x+1000
if x>32767 then
x=0
end if
SetData(x, "Local HMI", LW, 100, 1)
//
RAND(y)
y=y%16000+8000
SetData(x, "Local HMI", LW, 1, 1)
SetData(y, "Local HMI", LW, 11, 1)
//<>有连接PLC侧不需要下两行代码
SetData(x, "FATEK FB/FBs/B1/B1z Series", D, 0, 1)
SetData(y, "FATEK FB/FBs/B1/B1z Series", D, 1, 1)
short nCommand=1
SetData(nCommand, "Local HMI", RW, 0, 1)
end macro_command

宏指令为每隔一秒执行一次,生成XY数据显示在曲线上。
宏指令没有添加开关功能,可以自行设置<启用执行条件>。
这样可以根据PLC的运行状态,自由选择何时启动宏执行。
例程运行效果如下:

https://www.gkbc8.com/forum.php? ... A0&noupdate=yes
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

Archiver|小黑屋|威纶通官网 ( 粤ICP备06054553号 )

GMT+8, 2024-4-25 23:20

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

快速回复 返回顶部 返回列表