系列视频:S7-200跟我学/跟我做

S7-200CN: PPI 使用通信向导-跟我学 - 158/185 https://www.ad.siemens.com.cn/service/elearning/cn/CourseV2.aspx?CourseID=407
S7-200CN: PPI 使用通信向导-跟我做 - 159/185 https://www.ad.siemens.com.cn/service/elearning/cn/CourseV2.aspx?CourseID=408

 

NETR/NETW Wizard - 网络读写指令向导

只有在PPI通信中做主站的CPU才需要用NETR/NETW向导编程。

在Micro/WIN中的命令菜单中选择Tools > Instruction Wizard,然后在指令向导窗口中选择NETR/ NETW指令:


图1. 选择NETR/NETW指令向导

在使用向导时必须先对项目进行编译,在随后弹出的对话框中选择“Yes” ,确认编译。如果已有的程序中存在错误,或者有尚未编完的指令,编译不能通过。

如果你的项目中已经存在一个NETR/ NETW的配置,你必须选择是编辑已经存在的NETR/ NETW的配置还是创建一个新的。

第一步 定义用户所需网络操作的数目


图2. 选择网络读写指令条数

向导允许用户最多配置24个网络操作,程序会自动调配这些通信操作。

第二步 定义通信口和子程序名。


图3. 选择通信端口,指定子程序名称

  1. 选择应用哪个通信口进行PPI通信:port0或port1

    注意:一旦定义选择了通信口,则向导中所有网络操作都将通过该口通信,即通过向导定义的网络操作,只能一直使用一个口与其它CPU进行通信。

  2. 向导为子程序定义了一个缺省名,你也可以修改这个缺省名。

第三步 定义网络操作


图4. 设定网络读写操作细节

每一个网络操作,你都要定义以下信息:

  1. 定义该网络操作是一个NETR 还是一个 NETW。
  2. 定义应该从远程PLC读取多少个数据字节(NETR)或者应该写到远程PLC多少个数据字节(NETW)

    每条网络读写指令最多可以发送或接收 16 个字节的数据

  3. 定义想要通信的远程PLC地址。
  4. 如果定义的是NETR(网络读)操作:
    定义读取的数据应该存在本地PLC的哪个地址区,有效的操作数为VB,IB,QB, MB,LB
    如果定义的是NETW(网络写)操作:
    定义要写入远程PLC的本地PLC数据地址区,有效的操作数为VB,IB,QB, MB, LB。
  5. 如果定义的是NETR(网络读)操作:
    定义应该从远程PLC的哪个地址区读取数据,有效的操作数为VB,IB,QB, MB, LB
    如果定义的是NETW(网络写)操作:
    定义在远程PLC中应该写入哪个地址区,有效的操作数为VB,IB,QB, MB, LB
  6. 操作此按钮可以删除当前定义的操作
  7. 操作此按钮可以进入下一步网络操作的定义

第四步 分配V存储区地址


图5. 分配数据区地址

配置的每一个网络操作需要12字节的V 区地址空间,上例中配置了两个网络操作,因此占用了24个字节的V 区地址空间。向导自动为用户提供了建议地址,用户也可以自己定义V 区地址空间的起始地址。

注意:要保证用户程序中已经占用的地址、及网络操作中读写区所占用的地址以及此处向导所占用的V 区地址空间不能重复使用,否则将导致程序不能正常工作。

第五步 生成子程序及符号表


图6. 生成子程序和符号表

上图显示了NETR/ NETW向导生成的子程序、符号表,一旦点击完成按钮,上述显示的内容将在你的项目中生成。

第六步 配置完NETR/ NETW向导,需要在程序中调用向导生成的NETR/ NETW参数化子程序


图7. 网络读写子程序

调用子程序:


图8. 调用子程序后生成下面的程序

  1. 必须用SM0.0来使能NETR/ NETW,以保证它的正常运行
  2. 超时:0=不启动延时检测;1-36767=以秒为单位的超时延时时间。如果通信有问题的时间超出此延时时间,则报错误
  3. 周期参数,此参数在每次所有网络操作完成时切换其开关量状态
  4. 此处是错误参数,0=无错误;1=错误

NetR/NetW指令向导生成的子程序管理所有的网络读写通信。用户不必再编其他程序进行诸如设置通信口的操作。