首页 上一页 1 2 下一页 尾页

请高手帮我看看程序 点击:1258 | 回复:27



郭zongkui

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 153回
  • 年度积分:0
  • 历史总积分:297
  • 注册:2006年3月24日
发表于:2007-01-10 15:49:00
楼主
小弟最近编一通讯程序:内容为读一数字式温度采集模块的数据并且计算温度和存储。模块有8个通道。每个通道可以挂8个ds18b20数字式温度传感器。下面是通讯协议。我用的200为226,串口0被定义为自由口。小弟刚开始学习通讯编程,碰到了好多问题,老是连不上。哪位大虾能指点一二阿!比如系统的说一下需要注意哪些参数的设置,时序上面的东西等等,小弟感激不尽!


通讯波特率9600
发命令(5个字节):
第1字节:“#”
第2字节:“0”
第3字节:“0”
第4字节:“0”+CH-1       CH为测试通道号,1、2、……、8
第5字节:0x0D
系统返回数据:
该通道有传感器数:Tn
Tn=(N-5)/4         其中:N是返回总字节数
返回字节定义:
0 1 2 3 4 5 6 7 8    9 10 11 12 13 14 15 16.........            

字节0、1、2、3、4空
字节5、6、7、8(对应A、B、C、D)为第1个温度传感器温度值
字节9、10、11、12(对应A、B、C、D)为第2个温度传感器温度值
… …

温度算法:
正温度(当B and 0xF8 =0xF8):T=[(B and 7)*256+A]*0.0625
负温度(当B and 0xF8 =0x00):T=-[(256-B)*256-A]*0.0625



lesing

  • 精华:1帖
  • 求助:0帖
  • 帖子:76帖 | 3076回
  • 年度积分:0
  • 历史总积分:5728
  • 注册:2005年4月13日
发表于:2007-01-17 11:14:00
21楼
可是你的VB99的内容好像不是"5"呀!

郭zongkui

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 153回
  • 年度积分:0
  • 历史总积分:297
  • 注册:2006年3月24日
发表于:2007-01-17 11:41:00
22楼
ascii码阿,5的ascii码是53,写成十六进制不就是16#35么?

lesing

  • 精华:1帖
  • 求助:0帖
  • 帖子:76帖 | 3076回
  • 年度积分:0
  • 历史总积分:5728
  • 注册:2005年4月13日
发表于:2007-01-17 11:45:00
23楼
不会吧!你将数据长度5的ASCII码写到VB99,ASCII码只是数据的传输格式,那样的话,XMT将会传送83笔数据!

郭zongkui

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 153回
  • 年度积分:0
  • 历史总积分:297
  • 注册:2006年3月24日
发表于:2007-01-17 12:48:00
24楼
那你认为应该是多少啊,我试试看。第一次做通讯,都有点想放弃了。郁闷!!!!

xiao a

  • 精华:1帖
  • 求助:0帖
  • 帖子:102帖 | 555回
  • 年度积分:0
  • 历史总积分:958
  • 注册:2005年12月10日
发表于:2007-01-17 20:55:00
25楼
应该就是5就可以了,
你说的“收到数据了,但是没有收到预期的数据。乱七八糟的”。你将收到的数据与什么比较的说不是预期的数据?就是将收到数据与#,0,0,0,0D做比较的?

郭zongkui

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 153回
  • 年度积分:0
  • 历史总积分:297
  • 注册:2006年3月24日
发表于:2007-01-18 09:14:00
26楼
谢谢yiyi
不是了,我用串口调试助手先和模块进行通讯,用助手法送#,0,0,0,0D就会受到通讯协议里面预期的数据,如楼顶说的:

返回字节定义:
0 1 2 3 4 5 6 7 8    9 10 11 12 13 14 15 16.........            

字节0、1、2、3、4空
字节5、6、7、8(对应A、B、C、D)为第1个温度传感器温度值
字节9、10、11、12(对应A、B、C、D)为第2个温度传感器温度值
… …


但是用plc的话,接收不到这些,我用监控只看到了零星的几个数据,没有价值,但实际证明了我的线焊的没错,主要是程序上的事
请指教

郭zongkui

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 153回
  • 年度积分:0
  • 历史总积分:297
  • 注册:2006年3月24日
发表于:2007-01-18 14:54:00
27楼
各位高手,小弟的程序好长时间了没有调好。很是着急,比老板都急。希望大家帮帮忙。 我在监控里面发现发送完毕了,但是接受区域里面也就是vb200开始的区域里面没有数值。我想很可能是我的接收数据的起始和结束字符弄错了。有关参数设置的不对。大家帮忙看看阿!应该怎么设置阿?

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页