首页 理论教育 S7-200PLC以太网通信实例详解

S7-200PLC以太网通信实例详解

时间:2023-06-27 理论教育 版权反馈
【摘要】:下面以两台S7-200 CPU之间的以太网通信为例,介绍S7-200系列PLC之间的以太网通信的编程方法。例8-4两台S7-200 PLC,CPU均为226 CN进行以太网通信。这样当两台PLC完成以太网配置之后,就可以将计算机接入以太网网络,实现通过以太网的编程和诊断以及两台PLC基于以太网的数据交换。图8-52 进入以太网配置向导图8-53 以太网向导②指定以太网模块位置。图8-61 生成项目组件图8-62 生成的以太网配置和子程序③指定以太网模块地址。

S7-200PLC以太网通信实例详解

下面以两台S7-200 CPU之间的以太网通信为例,介绍S7-200系列PLC之间的以太网通信的编程方法。

例8-4两台S7-200 PLC,CPU均为226 CN(一台作为服务器,一台作为客户机)进行以太网通信。要求实现如下功能:

①服务器PLC的IBO的数据写入VB0并传送至客户机PLC的VB0中,从而控制客户机PLC的QBO的输出。

②客户机PLC的IB0的数据写入VB1并传送至服务器PLC的VB1中,从而控制服务器PLC的QB0的输出。服务器与客户机之间的数据传送,如图8-50所示。

978-7-111-49003-6-Chapter08-79.jpg

图8-50 客户机与服务器的数据交换

(1)主要硬件配置

①装有编程软件V4.0 STEP 7-Micro/WIN SP9的计算机。

于2台CPU 226 CN+2块CP 243-1扩展模块。

③以太网交换机、3根RJ45接口电缆(普通网线)。

④一根PC/PPI电缆。

⑤必要的工具。

(2)硬件接线图

以太网网络连接如图8-51所示。连接说明:首先用编程电缆将计算机与一台PLC连接,通过软件编程并下载程序到CPU中,之后将计算机与另一台PLC连接,通过软件编程并下载程序到CPU中。这样当两台PLC完成以太网配置之后,就可以将计算机接入以太网网络,实现通过以太网的编程和诊断以及两台PLC基于以太网的数据交换。

978-7-111-49003-6-Chapter08-80.jpg

图8-51 以太网网络连接

(3)配置服务器与客户机

1)配置服务器。

①进入以太网配置向导。选择项目树下的“向导”并展开,找到“以太网”并双击;或者从“工具”下拉菜单中找到“以太网向导(N)”单击进入,如图8-52所示。弹出“以太网向导”对话框,单击“下一步”按钮,如图8-53所示。

978-7-111-49003-6-Chapter08-81.jpg

图8-52 进入以太网配置向导

978-7-111-49003-6-Chapter08-82.jpg

图8-53 以太网向导

②指定以太网模块位置。在模块位置中输入模块位置号,本例为“0”;在线情况下通过单击“读取模块”按钮可以搜寻在线的CP 243-1模块;如图8-54所示。单击“下一步”按钮。如果不在线,单击“下一步”按钮,会弹出“选择模块的版本”窗口,选择你所选用的模块,并单击“下一步”按钮,如图8-55所示。

978-7-111-49003-6-Chapter08-83.jpg

图8-54 指定模块号

978-7-111-49003-6-Chapter08-84.jpg

图8-55 选择模块版本

③指定以太网模块地址。设定模块的IP地址,自定义适用的IP地址。本例中设为“192.168.0.2”;填写适用的子网掩码,本例中设为“255.255.255.0”;选择模块的通信连接类型为“自动检测”,其他使用系统默认的设置;单击“下一步”按钮,如图8-56所示。

④指定命令字节和连接数目。确定Q内存地址,使用系统默认设置;配置模块的连接数目,在本例中只有两个模块通信,故选择“1”;单击“下一步”按钮;如图8-57所示。

⑤配置连接。选择此连接为服务器连接;设置远程TSAP(Transport Service Access Point)地址,本地TSAP地址自动生成无法修改,远程TSAP地址使用系统默认的设置即“10.00”;选择“接受所有连接请求”;使用系统默认的设置;单击“确认”按钮;如图8-58所示。

978-7-111-49003-6-Chapter08-85.jpg

图8-插图56 指定模块地址

978-7-111-49003-6-Chapter08-86.jpg

图8-57 指定命令字节和连接数目

978-7-111-49003-6-Chapter08-87.jpg

图8-58 配置连接

⑥CRC保护与保持现用间隔。选择CRC保护;设置“保持活动”的时间间隔,使用系统默认的设置;单击“下一步”按钮;如图8-59所示。

978-7-111-49003-6-Chapter08-88.jpg

图8-59 CRC保护与保持现用间隔

⑦分配配置内存。选择一个未使用的V存储区来存放模块的配置信息,可以单击“建议地址”按钮,让系统来选定一个合适的存储区;单击“下一步”按钮;如图8-60所示。

978-7-111-49003-6-Chapter08-89.jpg

图8-60 分配配置内存

⑧生成项目组件。编辑此配置的名称,本例中使用系统默认的名称;单击“完成”按钮,完成配置;如图8-61所示。

⑨生成以太网配置。完成配置后,在“项目树”下的“以太网”配置中会生成所配置的以太网,且在“指令树”下的“调用子程序”中生成以太网通信子程序;如图8-62所示。

2)配置客户机。

①进入以太网配置向导。

②指定以太网模块位置。

第一步与第二步的配置与配置服务器的步骤相同,这里不再重复。

978-7-111-49003-6-Chapter08-90.jpg

图8-61 生成项目组件

978-7-111-49003-6-Chapter08-91.jpg

图8-62 生成的以太网配置和子程序

③指定以太网模块地址。设定模块的IP地址,自定义适用的IP地址。客户机的IP地址与服务器的IP地址,必须在同一网段,且不能相同,故本例中客户机IP地址设为“192.168.0.3”;填写适用的子网掩码,本例中设为“255.255.255.0”;选择模块的通信连接类型为“自动检测”,其他使用系统默认的设置;单击“下一步”按钮,如图8-63所示。(www.xing528.com)

978-7-111-49003-6-Chapter08-92.jpg

图8-63 指定模块地址

④指定命令字节和连接数目。确定Q内存地址,使用系统默认设置;配置模块的连接数目,在本例中只有两个模块通信,故选择“1”;单击“下一步”按钮;如图8-64所示。

978-7-111-49003-6-Chapter08-93.jpg

图8-64 指定命令字节和连接数目

⑤配置连接。选择此连接为客户机连接;设置远程TSAP(Transport Service Access Point)地址,本地TSAP地址自动生成无法修改,远程TSAP地址使用系统默认的设置即“10.00”;指定服务器的IP地址必须是服务器配置中的IP地址,故设置为“192.168.0.2”,否则不能通信;选择“接受所有连接请求”;使用系统默认的设置;单击“数据传输”按钮;如图8-65所示。

978-7-111-49003-6-Chapter08-94.jpg

图8-65 配置连接(1)

弹出“配置CPU至CPU数据传输”对话框,单击“新传输”按钮,弹出“添加一个新数据传输吗”窗口,单击“是”按钮,如图8-66所示。

978-7-111-49003-6-Chapter08-95.jpg

图8-66 配置连接(2)

⑥配置CPU至CPU数据传输。配置数据传输0,选择“从远程服务器连接读取数据”,从服务器读取的字节数据设为“1”,因为本例中只需要读取1个字节的数据;从服务器的“VB0”读取数据,并存储在本地PLC的“VB0”中;其余保持默认,单击“新传输”按钮,弹出“添加一个新数据传输吗”窗口,单击“是”按钮,如图8-67所示。

978-7-111-49003-6-Chapter08-96.jpg

图8-67 配置CPU至CPU数据传输(1)

配置数据传输1,选择“将数据写入远程服务器连接”,向服务器写入的字节数设为“1”,因为本例中只需要写入1个字节的数据;从本地PLC“VB1”的数据,写入到服务器PLC的“VB1”中;其余保持默认,单击“确认”按钮,返回到“配置连接”窗口,单击“确认”按钮,如图8-68所示。

978-7-111-49003-6-Chapter08-97.jpg

图8-68 配置CPU至CPU数据传输(2)

⑦CRC保护及保持活动时间间隔。选择“是,为数据块中的此配置生成CRC保护”,“保持活动时间间隔”保持默认为“30”秒,单击“下一步”按钮,如图8-69所示。

978-7-111-49003-6-Chapter08-98.jpg

图8-69 CRC保护及保持活动时间间隔

⑧为配置分配存储区。选择一个未使用的V存储区来存放模块的配置信息,可以单击“建议地址”按钮,让系统来选定一个合适的存储区;单击“下一步”按钮;如图8-70所示。

978-7-111-49003-6-Chapter08-99.jpg

图8-70 分配存储区

⑨生成项目组件。编辑此配置的名称,本例中使用系统默认的名称;单击“完成”按钮,弹出提示“完成向导配置吗?”,单击“是”按钮,完成配置;如图8-71所示。

978-7-111-49003-6-Chapter08-100.jpg

图8-71 生成项目组件

⑩生成以太网配置。完成配置后,在“项目树”下的“以太网”配置中会生成所配置的以太网,且在“指令树”下的“调用子程序”中生成以太网通信子程序;如图8-72所示。

978-7-111-49003-6-Chapter08-101.jpg

图8-72 生成的以太网配置和子程序

(4)编写程序

①模块控制指令使用说明。ETHx_CTRL指令是以太网向导自动生成的,用于初始化和监控CP 243-1。必须在每次循环开始时,在S7-200用户程序中调用该子程序。如果CRC校验打开,CP 243-1识别到一个组态数据变化,调用子程序会造成CP 243-1重新启动。相反,如果CRC校验关闭,在用户程序或新的组态从STEP 7-Micro/WIN中下载到S7-200 CPU后,CP 243-1总会重新启动,并且S7-200 CPU接着启动。ETHx_CTRL指令格式及说明见表8-18。

表8-18 ETHx_CTRL指令格式及说明

978-7-111-49003-6-Chapter08-102.jpg

使用ETHx_CTRL指令时,在程序监控中可以看到返回参数,ETHx_CTRL指令返回参数见表8-19。返回值可以提供CP 243-1的一般状态信息以及最多8个通信通道的状态信息。如果在CP 243-1中出现错误,可以从“Error(出错)”返回参数中读取相关的错误代码。如表中所示“Ch_Ready”返回参数的一个位的数值为“1”,表示相关通道已准备就绪。这就意味着,在组态中所定义的通信伙伴的通信连接可以根据通信参数建立。

表8-19 ETHx_CTRL指令返回参数

978-7-111-49003-6-Chapter08-103.jpg

ETHx_XFR指令也是以太网向导自动生成的,通过指定客户机连接和信息号码,命令在S7-200和远程连接之间进行数据传送。只有在至少配置了一个客户机连接时,才会生成该子程序。

通过调用ETHx_XFR子程序,可以引导CP 243-1将数据传送到另一个S7系统,或从这样一个系统中对数据进行排队。CP 243-1所进行的数据访问类型,在组态时规定。因此,可以在组态时定义以下参数:访问哪些数据;是读这些数据还是写这些数据;从哪一个通信伙伴检索这些数据,或将这些数据传送到哪一个通信伙伴。

如果至少将CP 243-1中的一个通道组态为客户机使用,ETHx_XFR子程序只能由Ethernet Wizard在STEP 7-Micro/WIN中生成。然后,只能从一个S7-200用户程序中通过CP 243-1进行数据访问。

每个通道一次只能有一个ETHx_XFR子程序激活。在一个通道不能并行进行几个数据访问。因此,可以将“START”输入与ETHx_XFR子程序的“Done”返回值和ETHx_CTRL子程序的“CH_Ready”返回值的相应位进行关联。ETHx_XFR指令格式及说明见表8-20。

表8-20 ETHx_XFR指令格式及说明

978-7-111-49003-6-Chapter08-104.jpg

②编写服务器程序,如图8-73所示,并下载至服务器端PLC。

978-7-111-49003-6-Chapter08-105.jpg

图8-73 服务器PLC程序

③编写客户机程序,如图8-74所示,并下载至客户机端PLC。

978-7-111-49003-6-Chapter08-106.jpg

图8-74 客户机端PLC程序

978-7-111-49003-6-Chapter08-107.jpg

图8-74 客户机端PLC程序(续)

客户机端通道号码(Chan_ID)的符号分别是PeerMessage00_1和PeerMessage00_2,数据(Data)的符号是Connection0_0,这些符号是以太网向导自动生成的,当打开如图8-75的符号表可知:Connection0_0的地址是VB2043,PeerMessage00_1的地址是VB2044,PeerMessage00_2的地址是VB2045,编写程序时,只要将VB2043写入客户机通道号码(Chan_ID)中,自动弹出Connection0_0;将VB2044和VB2045写入数据(Data),自动弹出PeerMessage00_1和PeerMessage00_2。

978-7-111-49003-6-Chapter08-108.jpg

图8-75 符号表

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

我要反馈