您好,欢迎访问一九零五行业门户网

西门子S7-300PLC通过PIW读从站数据

西门子s7-300plc和s7-200plc(带em277)通讯,s7-300plc里读从站数据是通过piw读出来的,程序里每个扫描周期都要读数据。piw没有映像区,每次读数据都要通讯,如果数据量很大,会不会增加扫描周期?
答:1、程序里每个扫描周期都要读数据。piw没有映像区,每次读数据都要通讯,如果数据量很大,会不会增加扫描周期?
不会有影响。
2、读从站数据是通过piw读出来的,可以将其存入数据块中,这样应用起来较为方便,例如:
典型的循环语句编程:
a.将piw128-piw147,共20个字送入db10中
在ob1:
opndb10//打开db10
lp#128.0//初始读指针
lar1
lp#0.0//初始写指针
lar2
callfc100
b.将piw256-piw275,共20个字送入db20中
opndb20//打开db20
lp#256.0//初始读指针(标红色处可按实际应用的地址替代,例如10.0)
lar1
lp#0.0//初始写指针(标红色处可按实际应用的地址替代,例如10.0)
lar2
callfc100
c、建立一fc块:
在fc100:
l20//20个字的循环计数为初值
m001:tmb10//计数值送入mb10
lpiw[ar1,p#0.0]//按读指针指示的地址读数据
tdbw[ar2,p#0.0]//按写指针指示的地址写数据
+ar1p#2.0//读指针指向下一数据地址
+ar2p#2.0//写指针指向下一数据地址
lmb10//取循环计数值
loopm001//循环计数值如为0则结束循环;如不为0减1后则转向标号为m001的语句,继续循环。
其它类似信息

推荐信息