[CAN-bus/DeviceNet] 多节点问题

[复制链接]
 楼主| fatRonaldo 发表于 2007-7-4 16:34 | 显示全部楼层 |阅读模式
我现在要做个中位机通过RS232与PC机通讯,通过CAN总线与3个一样的下位机通讯,中位机发送给下位机的信息,可以通过验收码可以选择将信息发送给下位机1、2、3,但是如果1、2、3回答的话,上位机如何区分是那个下位机发送的呢?<br />是不是一定要通过通信协议来加一帧编号才能处理?<br />谢谢!
jdwang 发表于 2007-7-5 09:28 | 显示全部楼层

通讯协议

在下位机的8个字节的数据码中,要安排源地址,这样上位机就能知道是那个节点发来的数据,具体如何安排,你自己要设计一个简单的通讯协议,在你自己的CAN系统中,个节点都要尊守此协议.
mobile3000 发表于 2007-7-26 22:58 | 显示全部楼层

CAN的每个报文本身就带ID的,不需要在数据域中加地址

  
jdwang 发表于 2007-7-27 06:17 | 显示全部楼层

CAN报文的ID

CAN报文的ID是接收方的标识符,发送方的源地址还是应该在数据码中反映出来。
太阳之母 发表于 2007-7-29 03:51 | 显示全部楼层

嘿嘿

4楼说的不对吧?<br />报文ID是由发送方发送的,接收方可以“有选择地”接收部分节点或所有节点发送的报文。对于LZ的这个问题,中位机就是选择接受所有下位机的报文,这可以通过适当设置屏蔽码来实现。受到报文以后,通过报文的ID就可以知道是哪个下位机发的了(当然各个下位机的报文ID应该设置成不一样的)。<br />
cocorocky 发表于 2010-10-10 16:58 | 显示全部楼层
不知楼主这个东西搞出来了吗?
能否学习下???xuxiaoqiang0807@163.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

25

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部