请教如何用拨码开关设置RS485地址电路

[复制链接]
9367|13
 楼主| loard 发表于 2007-3-18 12:29 | 显示全部楼层 |阅读模式
现在是一个带有RS485接口的视频编码器作为采集下面烟雾传感器报警信号的主机,烟雾传感器有多个,并且通过各自的485接口经485共享总线和视频编码器上的485接口相连。<br />烟雾传感器的报警信号为一个开关量。<br />由于一个RS485总线上同时带了多个负载,为识别总线上的某个负载,所以负载上的RS485接口应该具有地址编码功能<br /><br />所以现在的要求是,能否通过拨码开关设置烟雾传感器上的485接口的地址,并且用烟雾传感器的报警信号这个开关量作为该485接口传输接口地址码的触发信号?即一旦,烟雾传感器探测到烟雾,则通过这个报警信号的开关量触发485接口传输地址码给视频编码器的485接口,而视频编码器的485接口一旦获取某个总线上的地址码即知道是哪个传感器发出了报警信号。也就是传感器采用向视频编码器的485接口主动报警的方式进行报警。<br />请问,我这样485总线上挂多个负载,并且是负载主动报警的方式可以实现吗?<br />如果不能实现,又该采取何种方式使得视频编码器可以检测到485总线上的各个传感器有无报警信号?<br />但是不论何种方式,485总线上的传感器都应该具有地址,是否最好是用拨码开关实现呢?<br /><br />这里大牛比较多,所以特来请教,谢谢!<br />
chunyang 发表于 2007-3-18 13:06 | 显示全部楼层

你的方法不可用于报警系统

一旦多点同时报警,你这样的设计就会导致信号交互崩溃,这在报警系统中是绝不准许的。<br />正确的办法是引入通讯协议,建议参考Modbus,领会其思想即可,未必需照搬。<br />需要报警节点主动发起通讯时也必须在协议的框架内采用“突发”模式实现,具体过程:节点要上传数据时,先检测总线是否被占用,若总线空闲,用最短的帧结构向主机发出请求,然后释放总线,接到回应后再独占发送。若一次请求不成功,可延时再求,最好这个延时是个一定范围内的随机数。
highend 发表于 2007-3-18 16:20 | 显示全部楼层

最好是不用拨码开关

<br />呵呵,楼上说的,是另一回事。<br /><br />先来说说&nbsp;拨码开关。<br /><br /><br /><br />用拨码开关,现场安装时,编码,记录,有个好处。例如5号楼7房间可以编码507<br /><br /><br /><br /><br />但是,要知道,需要现场编码、记录!!<br /><br /><br /><br /><br /><br /><br />那么,可否省去一步呢?<br />可以。现场编码可以省去!<br />MCU烧写时,烧入序列号,保证每一片出厂号码不同!<br />现场记录,即可。<br /><br /><br /><br /><br /><br />无论如何,现场记录,不可少。<br /><br />
 楼主| loard 发表于 2007-3-18 21:58 | 显示全部楼层

答2楼

谢谢你的答复,我后来也查看了有关485总线的**,凡是涉及报警系统的485总线的,都是用上位机对下位机(传感器)轮询的方式实现的,即传感器不主动上报报警信号,是上位机主动轮询下位机有否报警信号<br />谢谢!
 楼主| loard 发表于 2007-3-18 22:02 | 显示全部楼层

答3楼

多谢你的烧入序列号的建议,给我提了另一种思路<br />但是如果我想用地址拨码开关的话,那么具体应该怎么用呢?<br />该看哪些呢?谢谢!
zsmbj 发表于 2007-3-18 22:35 | 显示全部楼层

拨码开关就是:

接在单片机的io上,上电后读取这个拨码开关的编码,做为485的地址。比如一个8位的拨码开关能区分的地址从00-255。一共256个。<br />
xzl 发表于 2007-3-19 08:14 | 显示全部楼层

上位机查询下位机的方式

在烟雾报警器内加一个MCU就可以搞定
 楼主| loard 发表于 2007-3-19 16:30 | 显示全部楼层

答复6楼

多谢!
 楼主| loard 发表于 2007-3-20 15:01 | 显示全部楼层

答复7楼,MCU是什么?怎么回事?

请问MCU是什么,怎么回事?<br />好像按你们的说法在MCU里烧地址后,是不是就烧死了?不能再改了?<br />如果要改那么怎么改?谢谢!
xwj 发表于 2007-3-20 15:20 | 显示全部楼层

晕,MCU就是微控制器,也就是单片机啦

这都不知道?
xwj 发表于 2007-3-20 15:22 | 显示全部楼层

用拨码开关是可以的,但要考虑系统容量

而且要考虑485的节点数目限制、数据冲突问题
老黄头 发表于 2007-3-22 09:36 | 显示全部楼层

把拨码开关接到单片机的I/O口上

把拨码开关接到单片机多余的I/O口上,&nbsp;用不了几个.&nbsp;485&nbsp;每个也就带几十个从器件,&nbsp;你的系统只能用查询方式.
fiann 发表于 2007-3-22 13:13 | 显示全部楼层

地址可以用拨码,也可以在程序中用软件实现

  
fiann 发表于 2007-3-22 13:18 | 显示全部楼层

在程序中肯定是要求可以更改地址的,要不现场就没有办法

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

17

帖子

0

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