理论教育 6.5S7-200SMARTPLC与三菱FX系列PLC自由口通信优化方案

6.5S7-200SMARTPLC与三菱FX系列PLC自由口通信优化方案

时间:2023-06-27 理论教育 版权反馈
【摘要】:西门子S7-200 SMART与三菱的FX系列通信时,采用自由口通信,但三菱公司称这种通信为“无协议通信”,实际上内涵是一样的。以下以CPU ST40与三菱FX2N-32MR自由口通信为例,讲解S7-200 SMART系列PLC与其他品牌PLC或者之间的自由口通信。

6.5S7-200SMARTPLC与三菱FX系列PLC自由口通信优化方案

除了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(发送-)短接。

978-7-111-43442-9-Chapter06-42.jpg

图6-30 接线图

3)由于本例采用的是RS-485通信,所以两端需要接终端电阻,均为110Ω,CPU ST40端未画出(由于和X20相连的网络连接器自带终端电阻),若传输距离较近时,终端电阻可不接入。

2.编写CPU ST40的程序

CPU ST40中的主程序如图6-31所示,子程序如图6-32所示,中断程序如图6-33所示。

978-7-111-43442-9-Chapter06-43.jpg

图6-31 主程序

978-7-111-43442-9-Chapter06-44.jpg

图6-31 主程序(续)(www.daowen.com)

978-7-111-43442-9-Chapter06-45.jpg

图6-32 子程序

978-7-111-43442-9-Chapter06-46.jpg

图6-33 中断程序

【关键点】自由口通信每次发送的信息最少是一个字节,本例中将起停信息存储在VB101的V101.0位发送出去。VB100存放的是发送有效数据的字节数。

3.编写FX2N-32MR的程序

(1)无协议通信简介

1)RS指令格式如图6-34所示。

978-7-111-43442-9-Chapter06-47.jpg

图6-34 RS指令格式

2)无协议通信中用到的元件见表6-8。

表6-8 无协议通信中用到的软元件

978-7-111-43442-9-Chapter06-48.jpg

3)D8120字的通信格式见表6-9。

表6-9 D8120的通信格式

978-7-111-43442-9-Chapter06-49.jpg

2)编写程序

FX2N-32MR中的程序如图6-35所示。

978-7-111-43442-9-Chapter06-50.jpg

图6-35 程序

实现不同品牌的PLC的通信,确实比较麻烦,要求读者对两种品牌的PLC的通信都比较熟悉。其中有两个关键点,一是读者一定要把通信线接对,二是与自由口(无协议)通信的相关指令必须要弄清楚,否则通信是很难成功的。

【关键点】以上的程序是单向传递数据,即数据只从CPU226CN传向FX2N-32MR,因此程序相对而言比较简单,若要数据双向传递,则必须注意RS-485通信是半双工的,编写程序时要保证在同一时刻同一个站点只能接收或者发送数据。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈