登录
首页
更多往期体验论坛
西门子S7-200 SMART PLC体验
回帖
发帖
正文
主题:请教自由口通讯时,在字符间定时器超时后怎样再次消息接收
点击:649 回复: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
工控新闻
西门子推出 Tessent In-System Test,在硅片全生命周期内实现先进的确定性测试
2024国家工业软件大会在上海盛大开幕
垃圾焚烧电厂“少人值守”解决方案——让城市更有“颜面”!
罗克韦尔自动化中国区总裁石安:“坚持做别人做不了的事”
人形机器人为何一定要做成“人形”
TE Connectivity携全系列解决方案亮相2024中国航展
高通推出工规级IQ系列产品和物联网解决方案框架,开启工业智能新时代
预见2024:《2024年中国智能制造行业全景图谱》
更多新闻资讯