S7-200系列PLC自身不带以太网接口,因此要组成以太网必须配备以太网模块CP243-1或者CP243-1 IT。
S7-200 PLC间的以太网通信只能用S7方式进行,其中一台作为客户端(Client),其余的为服务器端(Server)。以下用一个例子介绍两台S7-200间的以太网通信。
【例6-8】一台S7-200作为服务器端,另一台S7-200作为客户端,当服务器端发出一个起停信号时,客户端收到信号并起停一台电动机。
【解】
1.软硬件配置
①2台CPU 226CN。
②2台CP 243-1 IT以太网模块。
③1台8口交换机。
④1根PC/PPI电缆(USB口)。
⑥1台个人电脑(含网卡)。
⑦1套STEP 7-Micro/WIN V4.0 SP9。
S7-200间的以太网通信硬件配置图如图6-78所示,接线图如图6-79所示。
图6-78 S7-200间的以太网通信硬件配置图
a)方案1 b)方案2
图6-79 接线图
方案1中的网线可以是正连接和反连接,原因在于交换机具有自动交叉线功能,而方案2的网线只能是正连接。
【关键点】方案1使用的双绞线是反线连接,由于交换机具有自动交叉网线(auto-cross-over)功能,所以采用正线连接也是可行的,当然交换机换成集线器(HUB)也可以,但最佳的选择就是使用工业交换机。方案2(不经过交换机或者HUB),那么只能采用正线连接,而不能采用反线连接。
2.将一台S7-200设置成服务器端
要实现S7-200 PLC间的以太网通信,首先要对S7-200进行设置,并利用STEP 7-Micro/WIN的“以太网向导”生成通信,以下为具体的步骤:
1)首先建立STEP 7-Micro/WIN与S7-200之间的通信。启动STEP 7-Micro/WIN编程软件,新建项目并命名为“EtanServer”,读取或者设置PLC的类型,再单击“确定”按钮,如图6-80所示。
图6-80 读取PLC的类型
在“查看”中,单击“通信”按钮,弹出“通信”界面,再单击“设置PG/PC接口”按钮,如图6-81所示。
图6-81 设置PG/PC接口
如图6-82所示,先选中“PC/PPI(PPI)”选项,再单击“属性”按钮,弹出如图6-83属性界面,选中“USB”接口(若使用的是RS-232C接口的PC/PPI,则此处应选择COM1),单击“确定”按钮,回到图6-82界面,再单击“确定”按钮。
图6-82 设置通信参数
图6-83 设置计算机的接口
此时回到如图6-81的界面,双击“双击刷新”,找到“CPU 226 CN”,其地址为2,如图6-84所示,单击“确定”按钮。
图6-84 设置计算机的接口
2)打开“以太网向导”。单击“工具”→“以太网向导”,弹出“以太网向导”初始界面,如图6-85和图6-86所示,单击“下一步”按钮。
图6-85 打开以太网向导
3)指定模块位置。在模块位置中输入位置号,本例为“0”,再单击“读取模块”按钮,若读取成功,则模块的信息显示在如图6-87所示的序号“3”处,单击“下一步”按钮。
图6-86 以太网向导初始界面
图6-87 指定模块位置
4)指定模块地址。在IP地址中输入“192.168.0.2”(也可以是其他有效IP地址),在“子网掩码”中输入“255.255.255.0”,网关可以空置,“为此模块指定通信连接类型”中选择“自动检测通信”选项,最后单击“下一步”按钮,如图6-88所示。
5)指定命令字节和连接数目。因为只有两个模块,所以“为此模块配置的连接数”选定为“1”,再单击“下一步”按钮,如图6-89所示。
图6-88 指定模块地址
图6-89 指定命令字节和连接数目
6)配置连接。将客户端的“远程属性”设置为“10.00”,再将客户端的IP地址设定“192.168.0.3”,注意,客户端IP地址必须与服务器端的IP地址在一个网段,否则不能通信。再勾选序号“3”处,单击“确定”按钮,如图6-90所示。
7)CRC保护与保持现用间隔。选中序号“1”处的选项,单击“下一步”按钮,如图6-91所示。
8)分配配置内存。单击“建议地址”按钮,再单击“下一步”按钮,如图6-92所示。注意生成的建议地址VB159~VB317供通信使用,读者编程不可使用。
图6-90 配置连接
图6-91 CRC保护与保持现用间隔(www.xing528.com)
图6-92 分配配置内存
9)生成项目部件。单击“完成”按钮,以太网向导完成,如图6-93所示,STEP 7-Micro/WIN自动生成通信指令。
图6-93 生成项目部件
3.将另一台S7-200设置成客户端
将S7-200设置成客户端的步骤1)~3)与将S7-200设置成服务器端的步骤相同,在此不再赘述,只是在步骤1)中将工程命名为“EtanClient”,以下将从步骤4)开始。
4)指定模块地址。在IP地址中输入“192.168.0.3”,在“子网掩码”中输入“255.255.255.0”,网关可以空置,“为此模块指定通信连接类型”中选择“自动检测通信”选项,最后单击“下一步”按钮,如图6-94所示。IP地址的末位可以为小于等于255,但应为除2外的所有整数。
图6-94 指定模块地址
5)指定命令字节和连接数目。因为只有两个模块,所以“为此模块配置的连接数”选定为“1”,再单击“下一步”按钮,如图6-95所示。
图6-95 指定命令字节和连接数目
6)配置连接。将“远程属性”设置为“10.00”,再将“为此连接服务器端的IP地址”设定“192.168.0.3”,注意,服务器端的IP地址必须是前面设置服务器端的IP地址,否则不能通信。单击“确定”按钮,如图6-96所示。
图6-96 配置连接(1)
有关远程对象的TSAP的含义如下:
1)如果连接的远程对象是S7-200 PLC,使用以下算法确定远程TSAP。
①TSAP的第一个字节是0x10+连接数目。
②TSAP的第二个字节是模块位置。
2)如果连接远程对象是S7-300或S7-400,使用以下算法确定远程TSAP。
①TSAP的第一个字节是0x3+连接数目。
②TSAP的第二个字节代表模块架和槽位的编码数值。字节的第三个位是模块架,最后5个位是编码槽号。
单击“新传输”按钮,再单击“确定”按钮,如图6-97所示。
图6-97 配置连接(2)
如图6-98所示,在“1”处,选定“从远程服务器端读取数据”,“2”处选定1,因为一个字节可以包含8个开关量信息,而本例只有一个开关量。“3”和“4”处的含义是将服务器端的VB0中的数据传送到客户端的VB0中去。再单击“确定”按钮。
图6-98 配置连接(3)
7)CRC保护与保持现用间隔。如图6-99所示,先选定“是,为数据块中的此配置生成CRC保护”,再单击“下一步”按钮。
图6-99 CRC保护与保持现用间隔
8)分配配置内存。如图6-100所示,先单击“建议地址”按钮,再单击“下一步”按钮。
图6-100 分配配置内存
9)生成项目部件。如图6-101所示,单击“完成”按钮,完成客户端的配置。
4.编写程序
1)模块控制指令使用说明。ETHx_CTRL指令是以太网向导自动生成的,它开始和执行以太网模块错误检查。应当在每次扫描开始调用该指令,且每个模块仅限使用一次。每次CPU更改为RUN(运行)模式时,该指令命令CP 243-1以太网模块检查V内存区是否存在新配置。如果配置不同或CRC保护被禁止,则用新配置重设模块。当以太网模块准备从其他指令接收命令时,CP_Ready变为现用。Ch_Ready有一个指定给每个通道的位,显示该特定通道的连接状态。例如,当通道0建立连接后,位0打开。ETHx_CTRL的指令格式见表6-19。
图6-101 生成项目部件
表6-19 ETHx_CTRL的指令格式
ETHx_XFR指令也是以太网向导自动生成的,通过指定客户端连接和信息号码,命令在S7-200和远程连接之间进行数据传送。只有在选择至少配置一个客户端连接时,才会生成。数据传送所需的时间取决于使用的传输线路类型。如果希望提高传输速度,则应使用配备扫描时间低于1 s的程序。EN位必须打开,才能启用模块命令,EN位应当保持打开,直至设置表示执行完成的Done(完成)位置位。当START(开始)输入打开且模块目前不繁忙时,XFR命令在每次扫描时均被发送至以太网模块。START(开始)输入可通过仅允许发送一条命令的边缘检测元素用脉冲方式打开。Chan_ID是在向导中配置的一条客户端通道的号码。使用向导中指定的符号名。Data(数据)是为在向导中配置的指定信号定义的一个数据传送。使用向导中指定的符号名。Abort(异常中止)命令以太网模块停止在指定通道上的数据传送。该命令不会影响其他通道上的数据传送。如果指定通道的“保持现用”功能被禁用,当超出预期的超时限制时,则使用“异常中止”参数取消数据传送请求。当以太网模块完成数据传送时,Done(完成)打开。Error(错误)包含数据传送结果。ETHx_XFR(数据传输)的指令格式见表6-20。
表6-20 ETHx_XFR(数据传输)
2)编写程序。先编写服务器端的程序如图6-102所示,将程序下载到服务器端中。
图6-102 服务器端程序
再编写客户端的程序如图6-103所示,将程序下载到客户端中。
图6-103 客户端程序
客户端通道号码(Chan_ID)的符号是PeerMessage00_1,数据(Data)的符号是Con- nectin0_0,这两个符号是以太网向导自动生成的,当打开如图6-104的符号表可知:PeerMessage00_1的地址是VB152,Connectin0_0的地址是VB151,编写程序时,只要将VB151写入客户端通道号码(Chan_ID)中,将自动弹出Connectin0_0,将VB152写入数据(Data)中,将自动弹出PeerMessage00_1。
图6-104 符号表
3)程序运行结果。当服务器端和客户端运行时,若服务器端上的I0.0闭合,客户端上Q0.0控制的电动机起动;若服务器端上的I0.1闭合,客户端上Q0.0控制的电动机停止转动。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。