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

西门子S7-300和S7-200PLC(带EM277)通讯,S7-300PLC里读从站数据是通过PIW读出来的,程序里每个扫描周期都要读数据。PIW没有映像区,每次读数据都要通讯,如果数据量很大,会不会增加扫描周期?

答:1、程序里每个扫描周期都要读数据。PIW没有映像区,每次读数据都要通讯,如果数据量很大,会不会增加扫描周期?

不会有影响。

2、读从站数据是通过PIW读出来的,可以将其存入数据块中,这样应用起来较为方便,例如:

典型的循环语句编程:

a. 将PIW128- PIW147,共20个字送入DB10中

在OB1:

OPN   DB     10      //打开DB 10

      L     P#128.0          //初始读指针

      LAR1  

      L     P#0.0            //初始写指针

      LAR2  

      CALL  FC   100

b. 将PIW256- PIW275,共20个字送入DB20中

  OPN   DB     20      //打开DB 20

      L     P#256.0          //初始读指针(标红色处可按实际应用的地址替代,例如10.0)

      LAR1  

      L     P#0.0            //初始写指针(标红色处可按实际应用的地址替代,例如10.0)

      LAR2  

      CALL  FC   100

c、建立一FC块:

在FC100:

      L     20               // 20个字的循环计数为初值

M001: T     MB    10        //计数值 送入MB 10

      L     PIW [AR1,P#0.0]   //按读指针指示的地址读数据

      T     DBW [AR2,P#0.0]  //按写指针指示的地址写数据

      +AR1  P#2.0            //读指针指向下一数据地址

      +AR2  P#2.0            //写指针指向下一数据地址

      L     MB    10        //取循环计数值

      LOOP  M001           //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。,西门子S7-300和S7-200PLC(带EM277)通讯,S7-300PLC里读从站数据是通过PIW读出来的,程序里每个扫描周期都要读数据。PIW没有映像区,每次读数据都要通讯,如果数据量很大,会不会增加扫描周期?

答:1、程序里每个扫描周期都要读数据。PIW没有映像区,每次读数据都要通讯,如果数据量很大,会不会增加扫描周期?

不会有影响。

2、读从站数据是通过PIW读出来的,可以将其存入数据块中,这样应用起来较为方便,例如:

典型的循环语句编程:

a. 将PIW128- PIW147,共20个字送入DB10中

在OB1:

OPN   DB     10      //打开DB 10

      L     P#128.0          //初始读指针

      LAR1  

      L     P#0.0            //初始写指针

      LAR2  

      CALL  FC   100

b. 将PIW256- PIW275,共20个字送入DB20中

  OPN   DB     20      //打开DB 20

      L     P#256.0          //初始读指针(标红色处可按实际应用的地址替代,例如10.0)

      LAR1  

      L     P#0.0            //初始写指针(标红色处可按实际应用的地址替代,例如10.0)

      LAR2  

      CALL  FC   100

c、建立一FC块:

在FC100:

      L     20               // 20个字的循环计数为初值

M001: T     MB    10        //计数值 送入MB 10

      L     PIW [AR1,P#0.0]   //按读指针指示的地址读数据

      T     DBW [AR2,P#0.0]  //按写指针指示的地址写数据

      +AR1  P#2.0            //读指针指向下一数据地址

      +AR2  P#2.0            //写指针指向下一数据地址

      L     MB    10        //取循环计数值

      LOOP  M001           //循环计数值如为0则结束循环;如不为0减1后则转向标号为M001的语句,继续循环。

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

相关文章:

你感兴趣的文章:

标签云: