S7-200自由口通讯时通讯帧中的字符间隔时间怎么计算 点击:2592 | 回复:7



大海无边

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 8回
  • 年度积分:0
  • 历史总积分:251
  • 注册:2004年9月28日
发表于:2009-02-18 16:01:11
楼主
       使用S700自由口进行Modbus Rtu通讯,设定通讯控制字格式SMB30为16#09 ,即1位起始位、8位数据位、两位停止位、无校验,波特率9600。由于Modbus Rtu通讯帧格式里没有起始位和停止位符号,所以设定接收信息控制字SMB87为16#94,即允许端口0接收信息、无起始符、无结束符、采用检测SMW90设定的3.5T字符的静止时间来判断消息帧状态,开始接收信息。设定字符间定时器为SMW92中的时间来判断PLC接收消息帧信息结束。不使用中断条件检测起始信息。
       这里的Modbus Rtu通讯帧里的1个字符(异步10位,8位数据位+2位停止位)时间计算采用1/9600*10=1.04ms,设定字符间定时器SMW92为1ms,设定通讯口空闲检测时间为SMW90为5ms。上面的字符间隔时间SMW92和通讯口空闲时间SMW90计算的对不对?由于使用了字符中断ATCH时间8,检测端口0接收到SMB2中的数据,请问字符间隔定时器SMW92和端口空闲检测时间SMW90的时间值需要延长么?
请大家帮助我一下,谢谢。



junkang70

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 24回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2009年2月18日
发表于:2009-03-11 10:07:08
1楼

请哪位高手回答一下啊,我也是困扰这个。

 

1234456

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 275回
  • 年度积分:0
  • 历史总积分:256
  • 注册:2004年12月12日
发表于:2009-03-11 10:11:15
2楼

高手啊!和什么通讯的,我只做过和变频通讯,不过用的是协议库!

changyuzl

  • 精华:0帖
  • 求助:1帖
  • 帖子:11帖 | 48回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2009年3月05日
发表于:2009-03-12 09:16:54
3楼

楼主   你用西门子和什么通讯啊    还是和西门子别的设备通讯么?

hub_

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 157回
  • 年度积分:0
  • 历史总积分:563
  • 注册:2006年12月26日
发表于:2009-03-12 09:28:33
4楼

LZ是在研究通信协议吧,如果只是做S700自由口进行Modbus Rtu通讯的话不妨下一个协议库,这样可以节省你开发和调试的时间,也免去了你上面所提的这些困扰

zhouaigui

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2009年5月21日
发表于:2009-07-18 09:45:15
5楼
呵呵  sdf

zhouaigui

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2009年5月21日
发表于:2009-07-18 09:45:44
6楼

modbus  不错的啊   大家好好学以致用啊

 

[明月夜]

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2009-07-20 13:27:53
7楼

用什么自由口协议呀,s7-200可以直接支持 MODBUS 主/从协议,省好多少事呀。

 


热门招聘
相关主题

官方公众号

智造工程师