作者 | 主题 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
不欲勿施 奇侠 经验值: 8501 发帖数: 875 精华帖: 15 |
楼主 2020-08-02 17:04:19
主题:S7-300 400 PN口在STEP7环境下开放式以太网通信 实现MODBUS TCP主站通信 一、 概述 本文描述的程序文件可以在西门子300 400通过CPU本体以太网口,以开放式通信方式实现MODBUS TCP 主站通信。 本程序特点: 1. 无需官方授权。 2. 实现MODBUS RTU 功能号1、2、3、4、5、6、15、16。 3. 支持单台CPU下多网口通信,一个连接使用一套程序,互不干扰。 4. 可单条或多条轮询指令 离线,即从站掉电,可手动让其离线,减少轮询时间。 5. 程序量再大也不必担心CPU扫描时间,因为未运行的指令会跳过。 6. 每条指令单独返回错误信息。 7. 不必担心程序块和数据块多,支持多重背景。 8. 程序组态直观,简单,方便,灵活。 二、硬件支持 所有支持关于通信网络施工,尽量选择西门子以太网绿皮电缆及,你胡弄网络,网络就胡弄你,所以质量可靠的硬件是保证通信正常的前提。通信网络的布线要保证EMA电磁兼容性,远离强电及强磁场。 三、硬件组态 现以CPU315-2 PN/DP为例进行硬件组态说明 1. 添加机架及CPU315-2 PN/DP到机架,双击PN-IO-1如图: 2. 常规属性页,点CPU以太网接口属性按钮。 3. 加入子网,没有的话新建。设置IP地址和子网掩码,如果需要路由则还需要设置网关。单击确定完成,保存并编译硬件组态。 四、 开放式以太网通信组态 1. 开放式以太网通信向导的安装 开放式以太网通信向导是STEP7安装光盘根目录的Optional ComponentsOC Wizardsetup.exe。正常安装就可以,此向导软件不需要授权。 2. 运行开放式以太网通信向导,块上右键,选OC Wizard 3. 这里点OK 3. 这里可以新建,改变,复制开放式通信连接,我们选择新建,点击Next。 5. 我们这里选择TCP native,点Next。 6. 我们是与第三方通信,所以我们选择B设备为不是S7-CPU。点击Next。 7. 1.Connection ID:连接ID可以任意,但不能重复,ID号记下来,在程序中会用到。2.Connection name:连接名称可以任意。3Active:主动,我们这里选择PLC主动建立连接。4.Used interface:这里选择使用的接口,我们选择CPU315/317,5.这里填写从站IP地址。6.点击Next。 8. 这里我们要填写从站的TCP通信端口号,通常从站的端口号为502。点击Next。 9. 这里是建立开放式通信的连接指针数据块,可以任意。点击Next。 10. 这里是建立好连接的列表,点击Next。 11. 这里问你是否还配置其它的连接,点Finish。 12. 点“是”关闭向导。 13. 这是向导建立的通信连接用的数据块,具体说明见其说明文档。 五、 程序说明及使用方法 1. 您得到的程序如图: 这是由STEP7归档后文件,应使用STEP7恢复命令,恢复后会看到项目已经打开。 2. 程序工作原理 3. 程序块功能说明: MbusPointerDB:用户数据块。可以是单个数据块,也可以是多个数据块。从站返回的数据保存在这个数据里,向从站写入的数据也在这个数据块里。 MbusBufferDB:缓冲区数据块。一个缓冲区数据块对应一个通信连接。将要发送的数据在这里进行校验操作,接收回的数据同样在这里校验操作。 MBTcpMaserMsg:主站轮询指令功能块。可以单个块运行,也可以多个块轮流运行。根据输入参数决定把哪些用户数据放入缓冲区数据块,再将从站返回数据放回用户数据块。注意:同一时刻只允许一个主站轮询指令工作,否同返回06错误。 MBTcpMasterCtrl:主站通信控制功能块。一个通信控制功能块对应一个通信连接。主要功能为发送和接收与从站的通信的报文。 4. 功能块参数说明 MBTcpMasterCtrl
MBTcpMasterMsg
MbusBufferDB 缓冲区数据块是一个400(不可小于400)个字节数据块,可以复制,可改符号,可改绝对地址。 MbusPointerDB 用户数据块用户可自行定义,无要求。 六、 程序注意 例程内有PLC上电初始化脉冲(FirstScanOn),见OB1最下方程序及OB100。指令使用此脉冲初始化。指令内使用符号寻址,所以绝对地址可更改。 其它指令的符号地址和绝对地址都可更改。 当功能号为5时,用户数据块的字节地址的第0位有效。 当功能号为1,2,15时,用户数据块的字节地址的从第0位开始有效。 程序无法在仿真器内工作。 七、 程序高级应用 1. 当有多台从站执行相同操作时,如读取相同数据寄存器。这时可将指令的完成位连接到读写请求位,将从站地址和用户数据块字节号做成变量,使用完成位改变这两个变量,就可以实现单指令轮询多主站。 2. 当用通信控制设备启停等操作时,或多从站时快速刷新单个从站数据时,要求响应时间快一些,而有些程序没有这方面考虑。本程序在应对此方面可以将单一轮询指令的激活位置真,其它指令置假(用上升沿,仅一个扫描即可),这时不管其它指令在什么状态都会将连接使用权让出,优先让激活的指令运行。 八、 不足之处 这里共享出所有已经编好的例程,由于硬件有限,只有在winAC和cpu315中经过通信验证,如果网友使用其它通信模块有问题,我们会根据问题完善程序。通信程序为全功能24天运行版,24天后可对PLC进行清除复位,程序继续可用。如项目需要无限时版,指令属性内有联系方式。
13478405725
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
黑猫警长W 至圣 经验值: 19057 发帖数: 2487 精华帖: 1 |
1楼 2020-08-02 19:15:39
主题:回复:S7-300 400 在STEP7环境下开放式以太网通信 实现MODBUS TCP主站通信 过程很详细,学习! |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
天芯 至圣 经验值: 20067 发帖数: 2182 精华帖: 0 |
2楼 2020-08-02 19:47:08
主题:回复:S7-300 400 在STEP7环境下开放式以太网通信 实现MODBUS TCP主站通信 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SonetSDH 侠士 经验值: 1511 发帖数: 215 精华帖: 0 |
3楼 2020-08-03 16:56:09
主题:回复:S7-300 400 在STEP7环境下开放式以太网通信 实现MODBUS TCP主站通信 不错不错,感谢分享!
靡不有初,鲜克有终。
|