PPI通信的实现比较简单,通常有两种方法:方法一是用STEP 7-Micro/WIN中的“指令向导”生成通信子程序,这种方法比较简单,适合初学者使用;方法二是用网络读/写指令编写通信程序,相对而言,要麻烦一些。以下用这两种方法,介绍两台PLC的PPI通信。
方法一——用指令向导
【例6-1】某设备的第一站和第二站上的控制器是CPU 226CN,两个站组成一个PPI网络,其中,第一站的PLC为主站,第二站的PLC为从站。其工作任务是:当按下主站上的按钮SB1时,从站上的灯亮;当按下从站上的按钮SB1时,主站上的灯亮。请编写程序。
【解】
1.主要软硬件配置
①1套STEP 7-Micro/WIN V4.0 SP9。
②2台CPU 226CN。
③1根PROFIBUS网络电缆(含两个网络总线连接器)。
④1根PC/PPI电缆。
PROFIBUS网络电缆、PPI通信硬件配置、主站和从站接线分别如图6-6、图6-7、图6-8所示。
图6-6 PROFIBUS网络电缆
图6-7 PPI通信硬件配置图
图6-8 主站和从站接线图
2.硬件配置过程
1)选择“NETR/NETW”。首先单击工具条中的“指令向导”按钮,弹出“指令向导”对话框,如图6-9所示,选中“NETR/NETW”选项,单击“下一步”按钮。
2)指定需要的网络操作数目。在图6-10所示的界面中设置需要进行多少网络读/写操作,由于本例有一个网络读取和一个网络写,故设为“2”即可,单击“下一步”按钮。
3)指定端口号和子程序名称。由于CPU226有PORT0和PORT1两个通信口,网络连接器插在哪个端口,配置时就选择哪个端口,子程序的名称可以不作更改,因此在图6-11所示的界面中,直接单击“下一步”按钮。
图6-9 选择“NETR/NETW”
图6-10 指定需要的网络读/写操作数目
4)指定网络操作。图6-12所示的界面相对比较复杂,需要设置5项参数。在图中的位置“1”,选择“NETR”(网络读),主站读取从站的信息;在位置“2”输入“1”,因为只有1个开关量信息;在位置“3”输入“3”,因为第三站的地址为“3”;位置“4”和位置“5”输入“VB1”,然后单击“下一项操作”按钮。
如图6-13所示,在图中的位置“1”,选择“NETW”(网络写),主站向从站发送信息;在位置“2”输入“1”,因为只有1个开关量信息;在位置“3”输入“3”,因为第三站的地址为“3”;位置“4”和位置“5”输入“VB0”,然后单击“下一步”按钮。
5)分配V存储区。接下来在图6-14所示的界面中分配系统要使用的存储区,通常使用默认值,然后单击“下一步”按钮。
图6-11 指定端口号和子程序名称
图6-12 指定网络读操作
6)生成程序代码。最后单击“完成”按钮,如图6-15所示。至此通信子程序“NET_EXE”已经生成,在后面的程序中可以方便地进行调用。
3.编写程序
通信子程序只在主站中调用,从站不调用通信子程序,从站只需要在指定的V存储单元中读/写相关的信息即可。主站和从站的程序如图6-16所示。
【关键点】本例的主站站地址为“2”,在运行程序前,必须将从站的站地址设置成“3”(与图6-12中设置一致),此外,本例实际是将主站的VB0中数据传送到从站的VB0中。此外,要注意站地址和站内地址的区别。主站和从站的波特率必须一致。一般而言,其他的通信方式也遵循这个原则,这点初学者很容易忽略。
图6-13 指定网络写操作
图6-14 分配V存储区(www.xing528.com)
方法二——用网络读/写指令
1.网络读/写指令的格式
网络读取(NETR)指令,通过指定的端口(PORT)根据表格(TBL)定义从远程设备读取数据。NETR指令可从远程站最多读取16字节信息。网络写入(NETW)指令通过指定的端口(PORT)根据表格(TBL)定义向远程设备写入数据。NETW指令可向远程站最多写入16字节信息。可在程序中保持任意数目的NETR/NETW指令,但在任何时间最多只能有8条NETR和NETW指令被激活。例如,在特定S7-200 PLC中的同一时间可以有4条NETR和4条NETW指令(或者2条NETR和6条NETW指令)处于现用状态。网络读/写指令格式见表6-3所示。
图6-15 生成程序代码
图6-16 主站和从站程序
a)主站程序b)从站程序
表6-3 网络读/写指令格式
(续)
2.网络读/写指令的数据缓冲区
网络读/写指令具有相似的数据缓冲区,缓冲区以一个状态字起始。主站的数据缓冲区如图6-17所示。远程站的数据缓冲区如图6-18所示。
图6-17 主站的数据缓冲区
图6-18 远程站的数据缓冲区
首先列出主站发送数据缓冲区和从站接收数据缓冲区,见表6-4和表6-5。
表6-4 主站发送数据缓冲区
表6-5 从站接收数据缓冲区
然后再列出主站接收数据缓冲区和从站发送数据缓冲区,见表6-6和表6-7。
表6-6 主站接收数据缓冲区
表6-7 从站发送数据缓冲区
3.编写程序
编写程序,如图6-19~图6-21所示。
图6-19 主站主程序
图6-20 主站子程序
由此可见,用指令向导生成子程序进行PPI通信比使用网络读/写指令(NETR/NETW)要容易得多。
图6-21 从站程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。