LAR1 P#0.0
LAR2 P#0.0
L #Lenght
M001: T #Lenght_TempI
L PIB [AR1,P#500.0]
T IB [AR2,P#500.0]
+AR1 P#1.0
+AR2 P#1.0
L #Lenght_TempI
LOOP M001
这个循环在仿真器中可以实现想要的功能,但是在实际PLC中可能实现不了,哪里有问题,该如何做,如何修改,请大神指正,多谢了!
项目是AS-I 通讯 点位不少,也考虑过扩展过程映像,但是修改过程映像后,保存编译总是出错 ,也不知道哪里的问题, 附图
图片说明:
钻石用户推荐最佳答案
如你所给出的程序要在实际PLC中运行,必须注意:
1、注意地址范围:
L PIB [AR1,P#500.0]
T IB [AR2,P#500.0]
上述语句在你所给出的程序中,第一次循环相当于:
L PIB500
T IB500
PIB500与 IB500,这样的地址是在你的实际PLC中允许的范围之内吗?换言之,你的在实际PLC中和PIB500及IB500相对应的硬件吗?
如果在你的实际PLC中没有和PIB500及IB500相对应的硬件,则为非法地址,会引起系统报错或停机的。
2、 变量#Lenght必须有实际的值。因为 #Lenght是用于循环计数的,所以变量#Lenght的值。必须考虑指针变址后的地址范围。即,必须在你的实际PLC中允许的地址范围之内。
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc349813.html