当前位置:
工控论坛
> >
产品
>
工业互联
>
RS485/232/442
我要发帖
求助各位高手!485总线1路改2路后软件应如何改动?
点击:
1522
| 回复:
19
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-26 09:20:00
楼主
各位高手,请问:485总线原来有一条,现在增加了一条后,原来的通信程序应该如何改动?谢谢!
分享到:
收藏
邀请回答
回复楼主
举报
GaryLin
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 1186回
年度积分:0
历史总积分:1263
注册:2003年4月15日
发表于:2003-05-22 15:47:00
1楼
就我所知 RS-485 分为 2 线式(半双工)与 4 线式(全双工). 有 1 线式的吗?
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-22 16:49:00
2楼
我是说一条485总线,而不是485线。
回复
引用
举报
上海工控
关注
私信
精华:0帖
求助:0帖
帖子:10帖 | 468回
年度积分:0
历史总积分:931
注册:2004年2月04日
发表于:2003-05-23 13:02:00
3楼
采用多串口通讯方式!
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-23 13:50:00
4楼
可否保持用原来的单片机Rx,Tx口,然后外接两个485收发器呢?
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-23 13:51:00
5楼
可否保持用原来的单片机Rx,Tx口,然后外接两个485收发器呢?
回复
引用
举报
GaryLin
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 1186回
年度积分:0
历史总积分:1263
注册:2003年4月15日
发表于:2003-05-23 14:18:00
6楼
您单片机上的串口是 485 interface 的吗? 若依您上述的接法, 则理论上它还是同一条 485 bus. 且 485 是用 broadcast 的方法通信, 所以由单片机送出的信息, 在这两条 (1 条) 485 bus 上, 都会收到信息才是. (但不知这样是否会有电路杂讯干扰!) 在此情形下, 您的程式应该是不用更改的. 只不过, 这或不是您所想要的系统运行方式. 若要让两条 485 bus 独立且同时运行, 则应该要有另一个 485 接口才行.
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-23 14:31:00
7楼
Dear GaryLin, thanks! you are right! 我用的是AT89c51。那么说,我应该进行串口扩展了吗? 那么请问:在软件方面,我具体应作哪些方面的改动呢?
回复
引用
举报
GaryLin
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 1186回
年度积分:0
历史总积分:1263
注册:2003年4月15日
发表于:2003-05-23 14:45:00
8楼
对于多串口的通讯, 得看您的系统为何? 甚至开发工具也会有影响. 以 Windows 为例, 它支持 Multi-Task/Multi-Thread. 所以可以考虑用 Multi-Thread 的方式来处理不同的串口. 也可以考虑用 Event 的方式来处理. 在 DOS 下的话, 或许得用 TSR 的方式来处理了. 至于, 其它的 SCADA/HMI ... 各家用法都不太一样了.
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-23 14:58:00
9楼
Thanks,Mr.GaryLin. 我现在在做一个小区管理系统。485总线上只走数据,没有视频、音频等信号。现在我之所以需要增加一条总线,是因为我需要单独一个通道进行安防报警。我现在的通信是从楼口机到室内机的两个单片机之间的通信。您觉得这样的情况下,软件方面我应该怎样改动以实现现在的两路485通信?
回复
引用
举报
GaryLin
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 1186回
年度积分:0
历史总积分:1263
注册:2003年4月15日
发表于:2003-05-23 15:26:00
10楼
这样的系统, 传送的资料量可能不大, 而且就算有个几秒的 delay, 应该都还是可以接受的. 所以, 您可以考虑用最简单的 polling 方式 (或抽空)去处理第二条 485 bus 的信息即可. (让两条 485 bus 输流运行)
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-23 15:44:00
11楼
是这样的:第二条485专门用来进行按防报警的,也就是有紧急意外时向公安部门报警。这条线应该具有最高的优先通信级别。所以,您刚才说的polling方式可能不适合。
回复
引用
举报
GaryLin
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 1186回
年度积分:0
历史总积分:1263
注册:2003年4月15日
发表于:2003-05-23 16:57:00
12楼
上网查了您所说的 AT89C51, 其为 8051 micro-processer. 8051 能用的方法, 除了 polling 之外, 就剩下 Interrupt 了. 您的选择应该不多吧!
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-23 17:09:00
13楼
Thanks,Garylin! 如您所说,我想用中断方式比较合适。比如,发生火灾时,室内传感器会给室内机一个中断,然后室内机会产生报警信号,通过第2根总线经过楼口机向上报警。您说呢? 问题是:我的楼口机怎样区分信号的来源?是来自第1跟总线还是第2根呢?这是不是和串口扩展卡的驱动有关系呢?
回复
引用
举报
GaryLin
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 1186回
年度积分:0
历史总积分:1263
注册:2003年4月15日
发表于:2003-05-23 17:39:00
14楼
架构大致上应该 OK 吧! 您所说的 "串口扩展卡", 它应该有提供特定的方法让您指定送给哪一个串口, 也应该有方法可以知道 data 从哪一个串口进来才是. 若 data 全混在一起的话, 那不仅失去它的功能, 而且还破坏了 data. 查一查扩展卡的手册, 里面应该找得到您要的资讯.
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-23 17:44:00
15楼
这就是问题所在了。我现在使用的单片机并不支持PCI/ISA,而现在可见的扩展卡大多是PCI/ISA -> 485。我总不能自己做PCI/ISA 卡,然后给它写驱动吧?
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-26 08:58:00
16楼
可以用串口扩展芯片的!
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-26 08:59:00
17楼
我也想过的 你知道芯片的型号吗?
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-26 09:19:00
18楼
Maxim公司有的 你可以去查一下
回复
引用
举报
可爱fanny
关注
私信
精华:0帖
求助:0帖
帖子:4帖 | 16回
年度积分:0
历史总积分:28
注册:2003年5月20日
发表于:2003-05-26 09:20:00
19楼
谢谢你!LILLY
回复
引用
举报
热门招聘
相关主题
RS232,RS485区别?
[2936]
BACtalk系统
[1499]
现场总线学习入门
[1555]
评日益浮现的非PC设备
[1757]
请教:用DELPHI或vb或vc如何实...
[2349]
thanks a lot :吴志扬
[1377]
几种现场总线在国内的发展展...
[7701]
质疑 Z893
[1626]
高效逻辑环
[1599]
关于PROFIBUS诊断的疑问
[3712]
官方公众号
智造工程师
客服
小程序
公众号