您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > S7-300-与-S7-200-SMART-以太网通讯
S7-300与S7-200SMART以太网通讯S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7-300/400PLC之间的通信。S7-200SMARTPLCV2.0版本支持SMARTPLC之间的PUT/GET通讯,经过测试发现S7-300/400集成的PN口与S7-200SMARTPLC之间的PUT/GET通讯也是可以成功的,但是需要S7-300/400侧编程调用PUT/GET指令。S7-300/400集成PN口调用的功能块的调用如图1、图2所示。块S7-400块S7-300描述简要描述SFB14FB14读数据单边编程读访问。SFB15FB15写数据单边编程读访问。表1图1调用通信项目功能块图2调用通信系统功能块要通过S7-300/400CPU的集成PROFINET接口实现S7通信,需要在硬件组态中建立连接。1、硬件及网络组态CPU采用1个314-2PN/DP,1个S7-200SMARTPLC使用以太网进行通信。在STEP7中创建一个新项目,项目名称为S7-300-SMART。插入1个S7-300站,在硬件组态中插入CPU314-2PN/DP。如图3-10所示。1.1硬件组态1.1.1新建项目首先单击新建项目,名称和存储位置可以自己选择和更改,然后点击确认。如图3所示。图3新建项目1.1.2建立SMATC300站点。首先在导航窗口空白处(或者选择项目)右键选择插入对象,再选择SMATC300站点。如图4所示图4创建SMATC300站点1.1.3硬件配置双击右窗口硬件进入硬件配置窗口。具体配置如图5-19所示。注意:硬件组态的硬件参数必须要和实际的硬件参数相同,否则PLC不能正常工作。出现异常报警。图5进入硬件配置窗口图6硬件配置窗口图7选择机架注:(可以右击选择添加或者直接双击进行添加)以下的硬件配置将不予说明。图8选择电源图9选择CPU注:由于314C-2PN\DP比较特殊,自带两个以太网PN接口,所以组态时会弹出以太网接口属性设置窗口。在IP地址栏,键入IP地址,如果使用路由器,选择使用路由器,键入路由器地址,如果是所以普通交换机选择不使用路由器(普通的交换机没有IP地址),设置完后点击新建,进入子网属性设置。如图10所示。图10以太网接口属性设置直接选择确定。如图11所示。图11子网属性设置以太网接口属性设置完后,可以在子网栏看到Ethernet(1)的子网。如图12所示。图12双击CPU硬件属性,设置时间脉冲存储器。选择周期/时间存储器,勾选时间存储器,在存储字节区键入自定义存储区(这个存储区是自定义的,由用户自定义进行设置),如图13-14所示。图13CPU硬件属性窗口图14设置时间脉冲存储器设置DI\DO输入输出模块I\O地址。双击DI\DO,在地址属性窗口把系统默认勾选去除,在开始栏键入自定义地址。如图15-16所示。图15进入设置DI\DO输入输出模块属性窗口图16设置DI\DO输入输出模块I\O地址硬件配置完毕后,点击保存并编译,然后会提示是否变更保存到SMATIC300(1)站点,选择是,创建系统数据。然后关闭硬件配置主窗口。如图17-19所示。图17图18保存并编译图19创建系统数据1.1.4网络配置打开“NetPro”设置网络参数,选中CPU314-2PN/DP,在连接列表中建立新的连接。步骤如图20-27所示。图20双击CPU314-2PN/DP图21双击连接选择CPU314-2PN/DP,右键选择插入新连接。如图22所示.图22插入新连接连接伙伴选择(未指定),站点(未指定),连接类型选择S7连接。然后点击应用进入S7连接属性设置窗口。如图23所示。(英文版选择(选择Unspecified站点,选择通讯协议S7connection,点击Apply))图23插入新连接本地连接端点选择,勾选建立主动连接,块参数设置,自定义本地ID,默认是1,连接路径栏不用修改,伙伴栏在[IndustrialEtherent(工业以太网)]栏键入SMARTS7-200SMART的IP地址。然后点击地址详细信息,(英文版选择在弹出的S7connection属性对话框中,勾选Establishanactiveconnection,设置Partneraddress:192.168.0.2(S7-200SMARTPLCIP地址))图24S7连接属性设置本地栏信息和S7子网ID信息不需要修改,只需要在伙伴栏机架/插槽栏,把插槽号改为1。然后点击确认。如图25所示。(英文版选择点击AddressDetails,再弹出来的对话框设置Partner的Slot为1,如图8所示。点击OK即可关闭该对话框)图25修改伙伴插槽号设置完成后能在信息栏看到设置的信息。如图26所示。图26配置完成后信息网络组态创建完成后,需要编译,如图27所示。图27编译和保存网络组态网络组态编译无错,鼠标先点击CPU314-2PN/DP,然后点击下载按钮下载网络组态,步骤如图28所示。图28下载网络组态2软件编程可以通过系统功能块SFB14GET\FB项目功能块14GET,从远程CPU中读取数据。S7-300:在REQ的上升沿处读取数据。在REQ的每个上升沿处传送参数ID、ADDR_1和RD_1。在每个作业结束之后,可以分配新数值给ID、ADDR_1和RD_1参数。S7-400:在控制输入REQ的上升沿处启动系统数据块SFB。在此过程中,将要读取的区域的相关指针(ADDR_i)发送到伙伴CPU。远程伙伴返回此数据。在下一个SFB/FB调用处,已接收的数据被复制到组态的接收区(RD_i)中。必须要确保通过参数ADDR_i和RD_i定义的区域在长度和数据类型方面要相互匹配。通过状态参数NDR数值为1来指示此作业已完成。只有在前一个作业已经完成之后,才能重新激活读作业。远程CPU可以处于RUN或STOP工作状态。如果正在读取数据时发生访问故障,或如果数据类型检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。通过使用SFB/FB1515项目功能块PUT,可以将数据写入到远程CPU。S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数ID、ADDR_1和SD_1。在每个作业结束之后,可以给ID、ADDR_1和SD_1参数分配新数值。S7-400:在控制输入REQ的上升沿处启动SFB。在此过程中,将指向要写入数据的区域(ADDR_i)的指针和数据(SD_i)发送到伙伴CPU。远程伙伴将所需要的数据保存在随数据一起提供的地址下面,并返回一个执行确认。必须要确保通过参数ADDR_i和SD_i定义的区域在编号、长度和数据类型方面相互匹配。如果没有产生任何错误,则在下一个SFB/FB调用时,通过状态参数DONE来指示,其数值为1。只有在最后一个作业完成之后,才能再次激活写作业。远程CPU可以处于RUN或STOP模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。打开SIMATIC314C2-PN/DP的OB1,在OB1中依次调用项目功能块FB14,项目功能块FB15如图29、图30所示。通过SFB/FB14\15块GET从远程CPU中读取数据描述:可以通过SFB/FB15GET,从远程CPU中读取数据。S7-300:在REQ的上升沿处读取数据。在REQ的每个上升沿处传送参数ID、ADDR_1和RD_1。在每个作业结束之后,可以分配新数值给ID、ADDR_1和RD_1参数。S7-400:在控制输入REQ的上升沿处启动SFB。指向要读取区域的相关指针(ADDR_i)将被发送到伙伴CPU。远程伙伴返回此数据。在下一个SFB/FB项目功能块调用处,已接收的数据被复制到组态的接收区(RD_i)中。必须要确保通过参数ADDR_i和RD_i定义的区域在长度和数据类型方面要相互匹配。通过状态参数NDR数值为1来指示此作业已完成。只有在前一个作业已经完成之后,才能重新激活读作业。远程CPU可以处于RUN或STOP工作状态。如果正在读取数据时发生访问故障,或如果数据类型检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。图29系统功能块SFB14参数声明数据类型存储区描述REQINPUTBOOLI、Q、M、D、L控制参数请求,在上升沿激活数据交换。IDINPUTWORDM、D、常数寻址参数ID(自定义本地ID格式W#16#?,具体ID看S7连接属性中的块参数信息)NDROUTPUTBOOLI、Q、M、D、LNDR状态参数:0:作业还未启动或仍然处于激活状态。1:作业已成功完成。ERROROUTPUTBOOLI、Q、M、D、LERROR和STATUS状态参数,出错显示:ERROR=0STATUS的数值:0000H:既不是警告也不是出错不等于0000H:警告,STATUS提供详细信息。ERROR=1产生一个错误。STATUS给出了关于错误类型的详细信息。关于错误类型的详细信息。STATUSOUTPUTWORDI、Q、M、D、L故障代码S7-300:ADDR_1IN_OUTANYS7-300:M、D从S7-200SMART的数据地址中读取数据;V区数据对应存储区。(指针,指向伙伴CPU中要被读取的区域)。S7-400:ADDR_i(1≤i≤4)IN_OUTANYS7-400:I、Q、M、D、T、C从S7-200SMART的数据地址中读取数据;V区数据对应数据存储区。(指针,指向伙伴CPU中要被读取的区域)。S7-300:RD_1IN_OUTANYS7-300:M、D本站接收数据存储地址(指针,指向本地CPU中用于输入读取数据的区域)。S7-400:RD_i(1≤i≤4)IN_OUTANYS7-400I、Q、M、D、T、C本站接收数据存储地址(指针,指向本地CPU中用于输入读取数据的区域)。注意:如果使用ANY指针访问一个数据块,则必须要指定该数据块(例如:P#DB10.DBX5.0Byte10)只允许使用下列数据类型:BOOL(不允许:位域)、BYTE、CHAR、WORD、INT、DWORD、DINT、REAL、COUNTER、TIMER。注意:如果使用ANY指针访问一个数据块,则必须要指定该数据块(例如:P#DB10.DBX5.0Byte10)。表2系统功能块SFB14参数说明通过SFB/FB15PUT向远程CPU写入数据描述:通过使用SFB/FB15PUT,可以将数据写入到远程CPU。S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数ID、ADDR_1和SD_1。在每个作业结束之后,可以给ID、ADDR_1和SD_1参数分配新数值。S7-400:在控制输入REQ的上升沿处启动SFB。指向即将写入的区域和数据(SD_i)的指针(ADDR_i)将被发送到伙伴CPU。远程伙伴将所发送的数据保存在随数据一起提供的地址下面,并返回一个执行确认。必须要确保通过参数ADDR_i和SD_i定义的区域在数量、长度和数据类型方面要相互匹配。如果没有发生错误,则在下一次SFB/FB调用时通过状态参数DONE设为值1来指示。只有在最后一个作业完成之后,才能再次激活写作业。远程CPU可以处于RUN或STOP模式。如果正在写入数据时发生访问故障,或如果执行检查过程中出错,则出错和警告信息将通过ERROR和STATUS输出表示。图30系统功能块SFB15参数声明数据类型存储区描述REQINPUTBOOLI、Q、M、D、L控制参数请求,在上升沿激活数据交换。IDINPUTWORDM、D、常数寻址参数ID(自定义本地ID格式W#16#?,具体ID看S7连接属性中的块参数信息)。DONEOUTPUTBOOLI、Q、M、D、LDONE状态参数:0:作业还未启动或仍然在运行。1:作业已经无错地执行完毕。ERROROUTPUTBOOLI、Q、M、D、LERROR和STATUS状态参数,出错显示:ERROR=0STATUS
本文标题:S7-300-与-S7-200-SMART-以太网通讯
链接地址:https://www.777doc.com/doc-5317316 .html