威纶通官方论坛

宏指令的工作速度

[复制链接]
发表于 2011-8-1 15:25:11 | 显示全部楼层 |阅读模式
写了个程序通过宏指令的for循环来采集PLC的数据,并且绘制XY曲线。
感觉宏指令的执行速度很慢,监测了下for循环的变量,差不多1秒才往上增1
用的8100的触摸屏,数据采集好像最快是100ms采集一次数据,400mhz的cpu执行指令也不应该这么慢啊
发表于 2011-8-2 09:36:45 | 显示全部楼层
宏指令执行速度其实是很快的。
采集数据的话,主要与设置的“资料取样”有关。若是周期式采样,设置的条件中最快是0.1S(100ms)。
若是触发式采样,采样速度确定于达到触发条件的快慢。
发表于 2011-8-2 09:52:35 | 显示全部楼层
宏指令执行速度其实是很快的。
采集数据的话,主要与设置的“资料取样”有关。若是周期式采样,设置的条件中最快是0.1S(100ms)。
若是触发式采样,采样速度确定于达到触发条件的快慢。
 楼主| 发表于 2011-8-11 08:17:51 | 显示全部楼层
如果我在宏指令里使用getdata取样,这个需要在资料取样里先设置取样么。
程序如下,我在触摸屏界面上设置了一个数值显示空间来查看data_count的数据。感觉就是1S往上+1



macro_command main()

short i=0,j=1000,data_count=1,update=3,clean=2
float xy[2],z=0

SetData(clean, "Local HMI", LW, 0, 1)

for data_count=1 to 100

GetData(xy[0], "SIEMENS S7/200", VD, 54, 1)      
GetData(xy[1], "SIEMENS S7/200", VD, 30, 1)
                       
SetData(xy[0], "Local HMI", RW, i, 1)
SetData(xy[1], "Local HMI", RW, j, 1)

if xy[1]>z then
z=xy[1]
end if

i=i+2
j=j+2        

SetData(data_count, "Local HMI", LW, 1, 1)
SetData(update, "Local HMI", LW, 0, 1)

next data_count

SetData(z, "Local HMI", LW, 10, 1)

end macro_command
发表于 2011-8-11 11:24:25 | 显示全部楼层
在一次循环里面要处理四个数据包,再处理递加值。因为读数据要排队,在宏指令必须要读到数据才能操作,所以如果外部还有大量读的命令,会导致宏指令处理时间长。
发表于 2011-8-11 16:13:11 | 显示全部楼层
我这边测试你的程序差不多0.2秒加一次,不像你说的那么慢。你的那个程序是显示不了曲线的。那个UPDATA要放在循环里面。
 楼主| 发表于 2011-8-12 08:03:53 | 显示全部楼层
可以的啊
SetData(clean, "Local HMI", LW, 0, 1) 清楚图形

循环里
SetData(data_count, "Local HMI", LW, 1, 1) 设置数据个数
SetData(update, "Local HMI", LW, 0, 1)  绘制新图形

LS的你也是西门子200的么,程序的时间怎么测呢
发表于 2011-8-13 12:09:04 | 显示全部楼层
开始的时候用置位一个位,用这个位触发一个定时器,结束的时候再把这个位复位。
发表于 2011-8-18 10:13:09 | 显示全部楼层
这个程序有两个问题:1。PLC的数据采集步调不一定和你宏指令的循环运行步调一致,这样,就会出现要么你的数据会重复,要么你的数据会丢失的情况。2。如果用置一个位触发后,复位结束。那么,这期间它一直在运行,其通信量无法控制,这样会造成其他需要和PLC联络的操作,被延迟,尽管在小型项目中这个问题不太明显。
 楼主| 发表于 2011-8-19 08:40:20 | 显示全部楼层
这个程序用来画XY曲线图,所以数据的少量丢失对图形的绘制影响不大。
而且是单一运行。

不过针对楼上提出的2个问题,请教一下,有何建议?
您需要登录后才可以发帖 登录 | 注册

本版积分规则

回复帖子

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

GMT+8, 2024-5-19 22:58

Powered by Discuz! X3.4

© 2001-2023 Comsenz Inc.

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