登录
首页
更多往期体验论坛
西门子S7-200 SMART PLC体验
回帖
发帖
正文
主题:请教自由口通讯时,在字符间定时器超时后怎样再次消息接收
点击:652 回复:4
楼主
编辑
引用
管理
yyh1910
s7200CPU的自由口通讯中,若设定SMB87字符间定时器定时5ms,同时使能中断。是否就是在接收的字符间超过5ms时,关闭数据接收,进入消息接收完毕中断服务程序。那么怎么时候再次可以接收数据。
15-03-04 08:56
1楼
编辑
引用
管理
zwb625
s7200CPU的自由口通讯中,你首先要搞清楚smb87是控制字,不是设定空闲线的时间值。如果你要用检测空闲线的时间来判断消息的结束,你需要把这个时间值设定到smw90或smw190(对于prot1口是smw190)然后连接中断,连接相应的中断事件号,使能中断。你如果一直要接收的话,你可以在接收完成中断里再次启用接收RCV
15-03-04 11:13
2楼
编辑
引用
管理
yyh1910
我设SMB87=0x84,SMW92=5,同时使能中断。是否就是在接收的字符间超过5ms时,关闭数据接收,进入消息接收完毕中断服务程序。是否再次接通RCV指令就再次接收数据了。
15-03-04 12:38
3楼
编辑
引用
管理
zwb625
smw92是一整条消息的定时时间,或者说是信息帧的时间,你如果是用检测空闲线时间来判断结束,那么就应该用smw90,你用的是smw92,是消息定时时间,通过你整一条消息有多少字符是可以算出来的。一般我们判断空闲线检测时间,以9600波特率为例来算的话,是3.5个字符,也就是说4ms就行了。所以说你这里不对了。
15-03-04 13:34
4楼
编辑
引用
管理
yyh1910
我判断的是帧与帧之间的时间,大于设定值,说明数据接收结束进入中断进行处理,波特率9600,1帧有10位数据,表示0.96帧/ms,我在SMB92设字符间时间5ms,应该可以的
15-03-04 15:02
工控新闻
施耐德电气:技术引领,场景驱动,让AI“触手可及”
BIS-6690P-B10:适用于高效处理和泛在连接的桌面型工控机
西克 | Ranger3高速彩色3D相机——Ranger3-80
中国人形机器人市场规模超27亿,业内人士称明年迎“高考”
华北工控BIS-6390ARA-D10:应急管理系统的“智慧大脑”
逐梦新程,茵梦达传动技术沈阳分公司盛大开业!
Arm Tech Symposia 年度技术大会顺利收官,继续构建面向未来的 AI 计算平台
加入SICK视觉系统集成商团队,共创智能未来
更多新闻资讯