发表于:2020/6/1 11:08:48
#0楼
分享程序:西门子S7-200 Smart自由口通信超时处理方法二
一、主程序:
1、网络1:
SMB30 = 2#00001001:自由口通信模式,波特率9600,8位数据位,无校验;
SMB87 = 2#10010100:空闲线检测为信息接收的起始条件,SMW90 = 5 ms;
字符间定时器超时为信息接收的结束条件, SMW92 = 5 ms;
设置允许最大接收字符个数 SMB94 = 10 。
中断程序 INT_0 连接到通信端口 0 发送完成事件,启用中断 。
2、网络2:
M0.0 上升沿时执行 XMT 指令,将字符串"guanyumou"发送出去;
通信状态 =1 :发送进行中
3、网络3:
通信状态 = 3:接收完成 或者 通信超时定时器大于 100 ms 。
4、网络4:
通信状态 = 3 时,人为取消 RCV 指令的接收。
二、通信端口 0 发送完成中断程序:
1、网络1:
设置通信状态 =2 :
发送完成,开始接收中。
重新开始通信超时定时器计时。
三、程序提供下载:
一、主程序:
1、网络1:
SMB30 = 2#00001001:自由口通信模式,波特率9600,8位数据位,无校验;
SMB87 = 2#10010100:空闲线检测为信息接收的起始条件,SMW90 = 5 ms;
字符间定时器超时为信息接收的结束条件, SMW92 = 5 ms;
设置允许最大接收字符个数 SMB94 = 10 。
中断程序 INT_0 连接到通信端口 0 发送完成事件,启用中断 。
2、网络2:
M0.0 上升沿时执行 XMT 指令,将字符串"guanyumou"发送出去;
通信状态 =1 :发送进行中
3、网络3:
通信状态 = 3:接收完成 或者 通信超时定时器大于 100 ms 。
4、网络4:
通信状态 = 3 时,人为取消 RCV 指令的接收。
二、通信端口 0 发送完成中断程序:
1、网络1:
设置通信状态 =2 :
发送完成,开始接收中。
重新开始通信超时定时器计时。
三、程序提供下载:
附件:
[本地下载][此贴子已经被作者于2020/6/1 11:09:27编辑过]
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
联系!腾讯扣扣149034219