作者 | 主题 |
---|---|
菁 至圣 经验值: 11116 发帖数: 1023 精华帖: 21 |
楼主 2016-10-27 11:11:36
主题:SIMATIC S7-1500与TIA博途软件的使用---连载69 以下内容节选自机械工业出版社出版的西门子自动化技术丛书----《SIMATIC S7- 1500 与 TIA博途软件使用指南》, 作者崔坚。更多更详细的内容请您参考《SIMATIC S7- 1500 与 TIA博途软件使用指南》一书。
工业以太网与PROFINET--- S7-1500 S7通信示例 (使用BSEND/BRCV在相同项目下配置S7-1500 PLC间的通信)
S7-1500 CPU集成接口、CP1543-1和CM1542-1以太网接口都支持S7通信连接。由于S7通信方式非常灵活,并且S7-1500 CPU的连接资源非常丰富,S7通信已逐渐成为PLC间主要的通信方式。与S7-300/400相比,无论使用哪一种接口,建立连接的过程和调用的通信函数都相同,使用起来很方便。由于在实际应用中BSEND/BRCV、PUT/GET方式比较常见,以下示例将基于这两种方式,分别介绍在相同项目下和在不同项目下通信配置的过程。 使用BSEND/BRCV在相同项目下配置S7-1500 PLC间的通信 1) 创建新项目,例如“S7通信_BSEND_RECV”。在项目树下点击“添加新设备”,分别选择CPU1513-1和CPU1516-3,创建两个S7-1500 PLC站点。 2) 在设备视图中,点击其中一个CPU的以太网接口,在“属性”标签栏中设定以太网接口的IP地址。例如CPU1513-1的以太网IP地址为192.168.0.10,子网掩码为255.255.255.0,如图9- 14所示。 3) 以相同的方式设置CPU1516-3的IP地址和子网掩码。示例中设定的IP地址为192.168.0.20,子网掩码为255.255.255.0 。 4) 进入网络视图,点击“连接”按钮,选择“S7连接”类型。使用鼠标点击CPU1513的以太网接口并保持,然后拖拽到CPU1516的任意一个以太网接口,示例中为接口XI,待出现连接符号后释放鼠标。这时就建立了一个S7连接并呈高亮显示,同时在右边的连接表中出现两个连接(每个CPU有一个连接),如图9- 29所示。 图9- 29 建立S7连接 5) 点击连接表中的S7连接,可以查看连接的属性。在同一项目下,只需注意本地的连接ID,因为编写通信程序时需要用连接ID作为标识符以区别不同的连接,如图9- 30所示。 图9- 30 S7连接的属性界面 6) 连接建立后需要编写通信程序。打开主程序块,调用通信函数(“指令”->“ 通信”->“S7通信”->“其它”),例如将通信函数BSEND和BRCV拖放到CPU1513-1 CPU的OB1中,如图9- 31所示。 图9- 31 在CPU1513编写通信程序 通信函数BSEND的参数含义: REQ :用于触发数据的发送,每一个上升沿发送一次。示例选择了CPU的时 钟存储器位(在CPU的属性中定义),发送频率为1Hz。 R :为1时停止通信任务。 ID :通信连接ID,指定一个通信连接,包括通信双方的通信参数,参考图9- 30。 R_ID :通信函数的标识符,发送与接收函数必须一致,示例中CPU1513发送,CPU1516接收使用标识符为1;CPU1516发送,CPU1513接收使用标识符为2。 SD_I : 发送区。 LEN :发送数据(字节)的长度。如果为0,表示发送整个发送区的数据,示例中为0。 DONE :每次发送成功并且对方已经接收,产生一个上升沿。 ERROR :错误状态位。 STATUS:通信状态字,如果错误状态位为1,可以查看通信状态信息。
通信函数BRCV的参数含义: EN_R :为1时激活接收功能。 ID :通信连接ID,与BSEND相同。 R_ID :标识符,发送与接收函数块标识必须一致。 RD_I :接收区。 LEN :接收数据(字节)的长度。 NDR : 每次接收到新数据,产生一个上升沿。 ERROR :错误状态位。 STATUS:通信状态字。
示例程序中S7-1513 PLC发送CPU1513.Send的数据到CPU1516,使用CPU1513.Recv接收CPU1516发送的数据。 7) 以相同的方法编写CPU1516的通信程序。编程完成后分别对应地下载到两个CPU中。进入网络视图,打开连接表,点击“在线”按钮,选择“S7_连接_1”,可以查看S7的连接状态,如图9- 32所示。 图9- 32诊断S7连接状态 8) 连接建立后,可打开变量监控表监控通信数据,这样S7连接通信任务就轻松完成了。示例程序可以参考光盘目录:示例程序->以太网通信文件夹下的《S7 通信_BSEND_RECV》项目。
|