S7-200 PLC间1200bps自由口通信详解及实例
5星 · 超过95%的资源 需积分: 48 53 浏览量
更新于2024-09-13
1
收藏 221KB PDF 举报
西门子S7-200 PLC自由口通信教程详解
本篇文章主要探讨了如何实现两台S7-200 PLC之间的自由口通信实例,以智能电表为应用背景,其中电表通信参数设定为1200 bps的波特率、偶校验和8位数据位。以下是关键步骤和技术要点:
1. **PLC自由口协议初始化**:
在开始通信之前,需要根据智能电表的通信参数配置PLC的自由口,这包括通过MOVB指令将波特率、校验方式和起始位等参数写入SMB30寄存器,该寄存器结构对通信配置至关重要。
2. **声明中断**:
发送和接收数据过程中,中断程序扮演重要角色。发送数据后的中断(中断号9)和接收数据后的中断(中断号23)分别在初始化子程序中声明,确保通信过程中的正确响应。
3. **编写报文子程序**:
报文子程序应严格按照智能设备报文格式设计,将指令内容(如读取电表标识9010)移动到内存单元(如VB10),然后使用MOV_B或MOV_W指令传输到后续字节中。
4. **发送报文**:
使用XMT指令进行报文发送,XMT指令的第一个参数是报文起始地址(VB10),第二个参数是通信口(0口)。可以通过定时器控制发送周期,确保XMT指令的触发为上升沿,避免并发执行错误。
5. **接收数据**:
当发送完报文后,会触发9号中断。在预先声明的“发送完中断”中断子程序中,利用RCV指令接收返回的数据,并将其存储到VB100中。编程时遵循的原则包括:
- SM0.1端口初始化并连接发送和接收中断
- RCV指令在SM0.0触发下执行
- XMT指令在上升沿触发,并确保发送前端口0停止接收
- 根据接收需求调整SMB87至SMB94的设置
- 确保满足发送结束条件,如字节数或特定标志,才产生9号中断
通过以上步骤,本文提供了一个详细的S7-200 PLC自由口通信实战指南,帮助用户理解和实现PLC与智能设备之间的有效数据交换。了解这些要点对于进行工业自动化控制系统的编程和调试具有重要意义。
2021-03-16 上传
2019-09-15 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
雨中的老街
- 粉丝: 1
- 资源: 9
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码