PPI通信是S7-200 CPU默认的通信方式。两台PLC的PPI通信配置如图6-21所示,甲机为主站,地址为2,乙机为从站,地址为6,编程计算机的地址为0。两台PLC的PPI通信要实现的功能是,将甲机I0.0~I0.7端子的输入值传送到乙机的Q0.0~Q0.7端子输出,将乙机I0.0~I0.7端子的输入值传送到甲机的Q0.0~Q0.7端子输出。
图6-21 两台PLC的PPI通信配置
1.通信各方地址和波特率的设置
在PPI通信前,需要设置网络中通信各方的通信端口、地址和波特率(通信速率),通信各方的波特率要相同,但地址不能相同,否则通信时无法区分各站。
(1)编程计算机的通信端口、地址和波特率的设置
设置编程计算机的通信端口、地址和波特率如图6-22所示,具体过程如下:
打开STEP 7-Micro/WIN编程软件,在软件窗口的指令树区域单击“通信”项前的“+”,展开通信项,如图6-22a所示,双击“设置PG/PC接口”选项,弹出“设置PG/PC接口”对话框,如图6-22b所示,在对话框中选中“PC/PPI”项,再单击“属性”按钮,弹出属性对话框,如图6-22c所示,在该对话框的“本地连接”选项卡中选择计算机的通信端口为COM1,然后切换到“PPI”选项卡,如图6-22d所示,将计算机的地址设为0,通信波特率设为9.6kbps(即9.6kbit/s),设置好后单击“确定”按钮返回到图6-22b所示的“设置PG/PC接口”对话框,在该对话框单击“确定”按钮退出设置。
(2)S7-200 CPU的通信端口、地址和波特率的设置
本例中有两台S7-200 CPU,先设置其中一台,再用同样的方法设置另一台。甲机的通信端口、地址和波特率的设置如图6-23所示,具体过程如下:
1)用PC/PPI电缆将编程计算机与甲机连接好。
2)打开STEP 7-Micro/WIN编程软件,在软件窗口的指令树区域单击通信项下的“通信”,弹出“通信”对话框,如图6-23a所示,双击对话框右方的“双击刷新”,测试计算机与甲机能否通信,如果连接成功,在对话框右方会出现甲机CPU的型号、地址和通信波特率。
3)如果需要重新设置甲机的通信端口、地址和波特率,可单击指令树区域系统块项下的“通信端口”,弹出“系统块”对话框,如图6-23b所示,在该对话框中选择“通信端口”项,设置端口0的PLC地址为2、波特率为9.6kbps,再单击“确认”按钮退出设置。
4)单击工具栏上的(下载)工具,也可执行菜单命令“文件→下载”,设置好的系统块参数就下载到甲机中,系统块中包含有新设置的甲机通信使用的端口、地址和波特率。
甲机设置好后,再用同样的方法将乙机通信端口设为0、地址设为6、波特率设为9.6kbps。
图6-22 编程计算机的通信端口、地址和波特率的设置
2.硬件连接
编程计算机和两台PLC的通信端口、地址和波特率设置结束后,再将三者连接起来。编程计算机和两台PLC连接如图6-24所示,连接需要一条PC/PPI电缆、两台网络连接器(一台需带编程口)和两条9针D形双头电缆。在具体连接时,PC/PPI电缆的RS-232C端连接计算机,RS-485端连接网络连接器的编程口,两台连接器间的连接方法如图6-16所示,两条9针D形双头电缆分别将两台网络连接器与两台PLC连接起来。
编程计算机和两台PLC连接好后,打开STEP 7-Micro/WIN编程软件,在软件窗口的指令树区域单击“通信”项下的“通信”,弹出“通信”对话框,如图6-23a所示,双击对话框右方的“双击刷新”,会搜索出与计算机连接的两台PLC。
3.通信程序
实现PPI通信有两种方式:一是直接使用NETR、NETW指令编写程序;二是在STEP7-Micro/WIN编程软件中执行菜单命令“工具→指令向导”,选择向导中的NETR/NETW,利用向导实现网络读写通信。
图6-23 甲机的通信端口、地址和波特率的设置
图6-24 编程计算机和两台PLC的连接
(1)直接用NETR、NETW指令编写PPI通信程序
直接用NETR、NETW指令编写的PPI通信程序如图6-25所示,其中图a为主站程序,编译后下载到甲机中,图b为从站程序,编译后下载到乙机中。
图6-25 直接用NETR、NETW指令编写的PPI通信程序(www.xing528.com)
图6-25 直接用NETR、NETW指令编写的PPI通信程序(续)
图6-25 直接用NETR、NETW指令编写的PPI通信程序(续)
1)主程序说明。网络1的功能是在PLC上电首次扫描时初始化主站,包括设置本机为主站/PPI模式,设置端口0的通信波特率为9.6kbit/s,还清空用作网络读写TBL表的存储区。
网络2的功能是将IB0单元的数据(来自本机I0.0~I0.7端输入)送入VB207单元,VB207单元在后面会被NETW指令定义为网络写TBL表的数据存储单元。
网络3的功能是在秒脉冲(0.5s-ON,0.5s-OFF)的上升沿时对网络写TBL表进行设置,并执行NETW指令让系统按网络写TBL表的定义往从站指定存储单元发送数据。网络写TBL表的定义如图6-26a所示,从图中可以看出,NETW指令执行后会将本机VB207单元的1个字节数据写入远程站的VB300单元,VB207单元的数据来自IB0单元,IB0单元的值则来自I0.0~I0.7端子的输入,也即将本机IB0.0~IB0.7端子的输入值写入远程站的VB300单元。
网络4的功能是在非首次扫描、每个秒脉冲下降沿到来且网络写操作未出错时,对网络读TBL表进行设置,再执行NETR指令让系统按网络读TBL表的定义从从站指定的存储单元读取数据,并保存在TBL表定义的数据存储单元中。网络读TBL表的定义如图6-26b所示,从图中可以看出,NETR指令执行后会将远程站VB200单元的1个字节数据读入本机的VB307单元。
网络5的功能是将网络读TBL表中VB307单元中的数据(由从站读入)送入QB0单元,以便从本机的Q0.0~Q0.7端子输出,另外,如果执行网络写操作出现错误,网络写TBL表中首字节的第5位(V200.5)会置1,V200.5触点闭合,Q1.0线圈得电,Q1.0端子会输出网络写出错报警。
图6-26 网络读写TBL表
2)从站程序说明。网络1的功能是在PLC上电首次扫描时初始化从站,包括设置本机为从站/PPI模式,设置端口0的通信波特率为9.6kbit/s,还清空用作接收和发送数据的存储区。
网络2的功能是将IB0单元的数据(来自本机I0.0~I0.7端输入值)送入VB200单元,让主站读取,另外将VB300单元的数据(由主站VB207单元写来的数据)传送到QB0单元,即从本机的Q0.0~Q0.7端子输出。
3)主、从站数据传递说明。通过执行主、从站程序,可以将主站I0.0~I0.7端子的输入值传送到从站的Q0.0~Q0.7端子输出,也能将从站I0.0~I0.7端子的输入值传送到主站的Q0.0~Q0.7端子输出。
主站往从站传递数据的途径是,主站I0.0~I0.7端子→主站IB0单元→主站VB207单元→从站VB300单元→从站QB0单元→从站Q0.0~Q0.7端子。
从站往主站传递数据的途径是,从站I0.0~I0.7端子→从站IB0单元→从站VB200单元→主站VB307单元→主站QB0单元→主站Q0.0~Q0.7端子。
(2)利用指令向导编写PPI通信程序
PPI通信程序除了可以直接编写外,还可以利用编程软件的指令向导来生成。利用指令向导生成PPI通信程序过程见表6-8。
表6-8 利用指令向导生成PPI通信程序过程
(续)
(续)
(续)
利用指令向导只能生成PPI通信子程序,因此还需要用普通的方式编写主程序。子程序能完成网络读写操作,在编写主程序时,要用“NET_EXE(SBR1)”指令对子程序进行调用。主程序如图6-27所示,它较直接编写的主站程序要简单很多,主程序和子程序编译后下载到甲机(主机)中。指令向导也不能生成从站的程序,因此从站程序也需要直接编写,从站程序与图6-25b从站程序相同。
图6-27 主站主程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。