下面以两台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所示。
图8-50 客户机与服务器的数据交换
(1)主要硬件配置
①装有编程软件V4.0 STEP 7-Micro/WIN SP9的计算机。
于2台CPU 226 CN+2块CP 243-1扩展模块。
④一根PC/PPI电缆。
⑤必要的工具。
(2)硬件接线图
以太网网络连接如图8-51所示。连接说明:首先用编程电缆将计算机与一台PLC连接,通过软件编程并下载程序到CPU中,之后将计算机与另一台PLC连接,通过软件编程并下载程序到CPU中。这样当两台PLC完成以太网配置之后,就可以将计算机接入以太网网络,实现通过以太网的编程和诊断以及两台PLC基于以太网的数据交换。
图8-51 以太网网络连接
(3)配置服务器与客户机
1)配置服务器。
①进入以太网配置向导。选择项目树下的“向导”并展开,找到“以太网”并双击;或者从“工具”下拉菜单中找到“以太网向导(N)”单击进入,如图8-52所示。弹出“以太网向导”对话框,单击“下一步”按钮,如图8-53所示。
图8-52 进入以太网配置向导
图8-53 以太网向导
②指定以太网模块位置。在模块位置中输入模块位置号,本例为“0”;在线情况下通过单击“读取模块”按钮可以搜寻在线的CP 243-1模块;如图8-54所示。单击“下一步”按钮。如果不在线,单击“下一步”按钮,会弹出“选择模块的版本”窗口,选择你所选用的模块,并单击“下一步”按钮,如图8-55所示。
图8-54 指定模块号
图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所示。
图8-插图56 指定模块地址
图8-57 指定命令字节和连接数目
图8-58 配置连接
⑥CRC保护与保持现用间隔。选择CRC保护;设置“保持活动”的时间间隔,使用系统默认的设置;单击“下一步”按钮;如图8-59所示。
图8-59 CRC保护与保持现用间隔
⑦分配配置内存。选择一个未使用的V存储区来存放模块的配置信息,可以单击“建议地址”按钮,让系统来选定一个合适的存储区;单击“下一步”按钮;如图8-60所示。
图8-60 分配配置内存
⑧生成项目组件。编辑此配置的名称,本例中使用系统默认的名称;单击“完成”按钮,完成配置;如图8-61所示。
⑨生成以太网配置。完成配置后,在“项目树”下的“以太网”配置中会生成所配置的以太网,且在“指令树”下的“调用子程序”中生成以太网通信子程序;如图8-62所示。
2)配置客户机。
①进入以太网配置向导。
②指定以太网模块位置。
第一步与第二步的配置与配置服务器的步骤相同,这里不再重复。
图8-61 生成项目组件
图8-62 生成的以太网配置和子程序
③指定以太网模块地址。设定模块的IP地址,自定义适用的IP地址。客户机的IP地址与服务器的IP地址,必须在同一网段,且不能相同,故本例中客户机IP地址设为“192.168.0.3”;填写适用的子网掩码,本例中设为“255.255.255.0”;选择模块的通信连接类型为“自动检测”,其他使用系统默认的设置;单击“下一步”按钮,如图8-63所示。(www.xing528.com)
图8-63 指定模块地址
④指定命令字节和连接数目。确定Q内存地址,使用系统默认设置;配置模块的连接数目,在本例中只有两个模块通信,故选择“1”;单击“下一步”按钮;如图8-64所示。
图8-64 指定命令字节和连接数目
⑤配置连接。选择此连接为客户机连接;设置远程TSAP(Transport Service Access Point)地址,本地TSAP地址自动生成无法修改,远程TSAP地址使用系统默认的设置即“10.00”;指定服务器的IP地址必须是服务器配置中的IP地址,故设置为“192.168.0.2”,否则不能通信;选择“接受所有连接请求”;使用系统默认的设置;单击“数据传输”按钮;如图8-65所示。
图8-65 配置连接(1)
弹出“配置CPU至CPU数据传输”对话框,单击“新传输”按钮,弹出“添加一个新数据传输吗”窗口,单击“是”按钮,如图8-66所示。
图8-66 配置连接(2)
⑥配置CPU至CPU数据传输。配置数据传输0,选择“从远程服务器连接读取数据”,从服务器读取的字节数据设为“1”,因为本例中只需要读取1个字节的数据;从服务器的“VB0”读取数据,并存储在本地PLC的“VB0”中;其余保持默认,单击“新传输”按钮,弹出“添加一个新数据传输吗”窗口,单击“是”按钮,如图8-67所示。
图8-67 配置CPU至CPU数据传输(1)
配置数据传输1,选择“将数据写入远程服务器连接”,向服务器写入的字节数设为“1”,因为本例中只需要写入1个字节的数据;从本地PLC“VB1”的数据,写入到服务器PLC的“VB1”中;其余保持默认,单击“确认”按钮,返回到“配置连接”窗口,单击“确认”按钮,如图8-68所示。
图8-68 配置CPU至CPU数据传输(2)
⑦CRC保护及保持活动时间间隔。选择“是,为数据块中的此配置生成CRC保护”,“保持活动时间间隔”保持默认为“30”秒,单击“下一步”按钮,如图8-69所示。
图8-69 CRC保护及保持活动时间间隔
⑧为配置分配存储区。选择一个未使用的V存储区来存放模块的配置信息,可以单击“建议地址”按钮,让系统来选定一个合适的存储区;单击“下一步”按钮;如图8-70所示。
图8-70 分配存储区
⑨生成项目组件。编辑此配置的名称,本例中使用系统默认的名称;单击“完成”按钮,弹出提示“完成向导配置吗?”,单击“是”按钮,完成配置;如图8-71所示。
图8-71 生成项目组件
⑩生成以太网配置。完成配置后,在“项目树”下的“以太网”配置中会生成所配置的以太网,且在“指令树”下的“调用子程序”中生成以太网通信子程序;如图8-72所示。
图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指令格式及说明
使用ETHx_CTRL指令时,在程序监控中可以看到返回参数,ETHx_CTRL指令返回参数见表8-19。返回值可以提供CP 243-1的一般状态信息以及最多8个通信通道的状态信息。如果在CP 243-1中出现错误,可以从“Error(出错)”返回参数中读取相关的错误代码。如表中所示“Ch_Ready”返回参数的一个位的数值为“1”,表示相关通道已准备就绪。这就意味着,在组态中所定义的通信伙伴的通信连接可以根据通信参数建立。
表8-19 ETHx_CTRL指令返回参数
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指令格式及说明
②编写服务器程序,如图8-73所示,并下载至服务器端PLC。
图8-73 服务器PLC程序
③编写客户机程序,如图8-74所示,并下载至客户机端PLC。
图8-74 客户机端PLC程序
图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。
图8-75 符号表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。