回复:伊默大侠在吗

adminstrator

  • 帖子

    266
  • 精华

    1
  • 被关注

    3

论坛等级:游士

注册时间:2004-07-24

普通 普通 如何晋级?

发布于 2006-07-17 10:02:15

0楼

300的我没有用过,编程软件也没有,所以程序也看不到!
只有一个建议!因为大多数仪表通讯都是以MODBUS RTU方式,而且只有在点对点的情况下仪表才会回送应答报文,实际上你16台仪表是采用轮询,仪表是不用回送应答报文的,它只要在你发送的数据帧中找到属于自己的地址,然后发送数据却可.
但是你说仪表要求是7位数据位,1位停止位,偶校验,波特率是9600,我想应该是ASCII方式,(你都知道PLC通读就是以ASCII方式)即然这样,那么你的发送帧报文是否正确呢:
16#05 16#49 16#44 16#30 16#31 16#D 16#A
这个就是ASCII码的发送帧,H05是ENQ通讯请求,H30 H31应该说是站号的地址才对,你放在后面,所以我就不明白了!
对吧!很显然报文是错误的,
ASCII方式的发送帧报方结构为:
: 地址 功能代码 数据数量 数据1 数据N LRC高字节,LRC低字节,回车换行

那你对应你要读一仪表的一寄存器内容正确的报文应该是
H05 H30 H31 HXX HXX HXX HXX HXX HXX H0D H0A
通讯请求 仪表地址 功能代码 数据 回车换行

另外还有一点,我想你应该清楚,通讯地址为01,那么ASCII码为H30 H31;那么通讯地址为16呢,ASCII码应该是31H 36H;
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。