除了S7-200 SMART系列PLC之间可以进行自由口通信,S7-200 SMART系列PLC还可以与其他品牌的PLC、变频器、仪表和打印机等进行通信,要完成通信,这些设备应有RS-232C或者RS-485等形式的串口。西门子S7-200 SMART与三菱的FX系列通信时,采用自由口通信,但三菱公司称这种通信为“无协议通信”,实际上内涵是一样的。
以下以CPU ST40与三菱FX2N-32MR自由口通信为例,讲解S7-200 SMART系列PLC与其他品牌PLC或者之间的自由口通信。
【例6-4】有两台设备,设备1的控制器是CPU ST40,设备2的控制器是FX2N-32MR,两者之间为自由口通信,实现设备1的I0.0起动设备2的电动机,设备1的I0.1停止设备2的电动机的转动,请设计解决方案。
【解】
1.主要软硬件配置
1)1套STEP7-Micro/WIN SMART V1.0和GX Developer 8.6。
2)1台CPU ST40和1台FX2N-32MR。
3)1根屏蔽双绞电缆(含1个网络总线连接器)。
4)1台FX2N-485-BD。
5)1根网线电缆。
两台CPU的接线如图6-30所示。
【关键点】网络的正确接线至关重要,具体有以下几方面。
1)CPU ST40的X20口可以进行自由口通信,其9针的接头中,1号管脚接地,3号管脚为RXD+/TXD+(发送+/接收+)公用,8号管脚为RXD-/TXD-(发送-/接收-)公用;
2)FX2N-32MR的编程口不能进行自由口通信,因此本例配置了一块FX2N-485-BD模块,此模块可以进行双向RS-485通信(可以与两对双绞线相连),但由于CPU ST40只能与一对双绞线相连,因此FX2N-485-BD模块的RDA(接收+)和SDA(发送+)短接,SDB(接收-)和RDB(发送-)短接。
图6-30 接线图
3)由于本例采用的是RS-485通信,所以两端需要接终端电阻,均为110Ω,CPU ST40端未画出(由于和X20相连的网络连接器自带终端电阻),若传输距离较近时,终端电阻可不接入。
2.编写CPU ST40的程序
CPU ST40中的主程序如图6-31所示,子程序如图6-32所示,中断程序如图6-33所示。
图6-31 主程序
图6-31 主程序(续)(www.daowen.com)
图6-32 子程序
图6-33 中断程序
【关键点】自由口通信每次发送的信息最少是一个字节,本例中将起停信息存储在VB101的V101.0位发送出去。VB100存放的是发送有效数据的字节数。
3.编写FX2N-32MR的程序
(1)无协议通信简介
1)RS指令格式如图6-34所示。
图6-34 RS指令格式
2)无协议通信中用到的元件见表6-8。
表6-8 无协议通信中用到的软元件
3)D8120字的通信格式见表6-9。
表6-9 D8120的通信格式
2)编写程序
FX2N-32MR中的程序如图6-35所示。
图6-35 程序
实现不同品牌的PLC的通信,确实比较麻烦,要求读者对两种品牌的PLC的通信都比较熟悉。其中有两个关键点,一是读者一定要把通信线接对,二是与自由口(无协议)通信的相关指令必须要弄清楚,否则通信是很难成功的。
【关键点】以上的程序是单向传递数据,即数据只从CPU226CN传向FX2N-32MR,因此程序相对而言比较简单,若要数据双向传递,则必须注意RS-485通信是半双工的,编写程序时要保证在同一时刻同一个站点只能接收或者发送数据。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。