前言:代理商,变频器,PLC,伺服电机,一级代理
S7 协议是 SIEMENS S7系列产品之间通讯使用的标准协议,其优点是通信双方无论是在同一 MPI 总线上、同一 PROFIBUS 总线上或同一工业以太网中,都可通过 S7 协议建立通信连接,使用相同的编程方式进行数据交换而与使用何种总线或网络无关。S7 通信按组态方式可分为单边通信和双边通信,单边通信通常应用于以下情况:通信伙伴无法组态 S7 连接通信伙伴不允许停机不希望在通讯伙伴侧增加通信组态和程序本文档简要介绍在STEP7 V5.5环境下,S7-300 集成PN口的CPU基于工业以太网的S7单边通信的组态步骤,用于实现与S7-300/400/1200/1500 CPU之间的S7 通信。1、硬件与软件条件设备数量订货号注释CPU 315-2 PN/DP26ES7317-2EH14-0AB0V3.2表 1主要硬件列表设备数量订货号注释STEP 7 Professional V5.516ES7511-1AK00-0AB0V1.8CPU 1212C16ES7212-1AE40-0XB0V4.2表 2软件环境2、组态配置2.1 通过如下的步骤配置编程电脑的IP地址:选择电脑的“ 控制面板 > 网络和共享 > 本地连接>属性”打开 Internet Protocol Version 4(TCP/IPv4),设置PC的 IP 地址,本例中为192.168.0.131。图1.设置PC地址 2.2 在STEP7 中组态315-2PN/DP CPU,双击X2卡槽,再点击属性按钮以设置IP地址。(具体步骤请参见文档:CPU硬件组态入门)图2.S7-300硬件组态图3.PN-IO属性 2.3 设置好IP地址后(本例中为192.168.0.1),点击New按钮添加一条子网Ethernet(1),如果已经存在子网,也可选中该子网直接点OK按钮即可。图4.添加IP地址和子网 2.4 点击快捷菜单中的Configure Network按钮进入Netpro视图。图5.点击Configure Network按钮 2.5 在Netpro视图的CPU上点右键选择Insert New Connection添加新连接。图6.添加新连接 2.6 通讯伙伴选择非指定(Unspecified),通讯类型选择S7 connection。图7.选择通信伙伴和通信类型 2.7 点击OK后在弹出的属性窗口中勾选单端组态(Establish an active connection),并填写通信伙伴的IP地址,注意Local ID编号,本例保持默认值1。点击详细按钮。图8.S7连接属性 2.8 在地址详细信息对话框中填写通信伙伴CPU的机架号和槽号,如通信伙伴是S7-300/400 CPU则槽号为2,如通信伙伴是S7-1200/1500 CPU则槽号为1。点击OK。图9.S7地址详细2.9 选中CPU,先编译再下载图10.编译下载注:如不熟悉下载方法,可参考如下链接:http://www.ad.siemens.com.cn/productportal/Prods/published\Soft\Soft_3.5\Soft_3.5.html 2.10 下载完成后,可点击“激活连接状态”按钮,查看连接状态,如下图所示,则表示组态的连接已经成功建立。图11.连接已建立2.11 如果出现如下图所示的情况,则说明连接没有建立,请检查网线的连接、IP地址等。图12.连接未建立3、编写PLC程序,调用通讯块3.1 组态连接建立成功后,需要调用通讯功能块PUT和GET进行数据交换。S7-300用于通讯连接的功能块位于标准库中,如下图所示:图13.PUT GET指令位置 3.2调用PUT指令,本例中本地S7-300 CPU将DB10.DBB0开始的10个字节写入通信伙伴CPU 的DB11.DBB0开始的10个字节中。图14.PUT指令参数说明REQ上升沿触发,一次上升沿发送一次数据ID连接ID(参看图8)ADDR_1指向伙伴CPU接收地址区域SD_1指向本地CPU发送地址区域DONE发送完成(上升沿)ERROR有故障发生(上升沿)STATUS故障代码表 3 PUT管脚说明3.3调用GET指令,本例中将通信伙伴CPU的DB20.DBB0开始的10个字节读入到本地S7-300 CPU的DB21.DBB0开始的10个字节中。图15.GET指令参数说明REQ上升沿触发,一次上升沿读取一次数据ID连接ID(参看图8ADDR_1指向伙伴CPU发送地址区域RD_1指向本地CPU接收地址区域DONE接收完成(上升沿)ERROR有故障发生(上升沿)STATUS故障代码表 4 GET管脚说明3.4 S7-300 CPU做S7通讯的客户端时,伙伴CPU无需组态编程,准备好相应的数据区即可,如本例中的DB10和DB20。如果伙伴方是S7-1200(固件版本V4.0以上)或是S7-1500 CPU,需要在CPU属性的连接机制中勾选"允许来自远程对象的PUT/GET通信访问",如下图所示:图16.连接机制企业新闻