用spcom可解决rs485通讯吗?一台计算机,八台控制仪表,如何编写程序?(100分)

  • 主题发起人 主题发起人 zhaohai9
  • 开始时间 开始时间
Z

zhaohai9

Unregistered / Unconfirmed
GUEST, unregistred user!
用spcom可解决rs485通讯吗?一台计算机,八台控制仪表,如在程序中加入控制仪表的地址?
使计算机能分辨每一台控制仪表?rs485通讯与rs232通讯编程一样吗?我发现这两种接线
是不同的。
 
RS485和RS232通信编程是一样的。
232适于近距离通信10~25m,485可达1Km。两者主要在于电气的硬件协议的不同,需要转化一下。
控制仪表发数据时带上自己的地址号,主机收到时检测即可。
主机向下位仪表发命令时也带上目标仪表的地址号,仪表程序收到命令后检测是否自己地址,
如是,处理命令;如不是,则退出接收状态。
 
I don't 485 too. really it can use the same function to 232.
I heard the 485 can link more than two port on one line.
so It must have a address port. How can you set the port number.
 
skyrabbit大侠:
有源码参考吗?或者网址也可,马上送分。
 
串口通信的原理和编程请在已答问题中用 串口通信 查询。前边已经有各位富翁高见了。
每台仪器/仪表的地址应该是固定的或者是可以硬件设置的,仪器/仪表的程序编程可能会用到
汇编语言,请查阅相应的参考书,一般要牵涉到单片机。
主机和下位机之间的通信协议是你自己定的。
比如给下位机01#发命令。其他类似。
0x55 0xAA 0x01 0xxx 0xxx 0xxx ... 0xDD 0x44
开始标志 下位地址 数据或命令 终止标志 (开始标志和终止标志都是自己定的)
下位机收到命令时先判断是否开始标志,如是再判断下位地址是否与本机相同,如是再判断是否终止标志,
直至收完全部内容,再根据相应的协议进行操作。
给上两篇有关下位机的文章请参考,
http://www.liftnet.com.cn/myweb/plc2pc/pc_89c51.htm
http://yychen007.363.net/4.htm

注意一点:仪器/仪表的串口通信数据应该是 二进制 通信方式。不能用字符方式。
 
485是半双工的,所以一般要设计主从问答式的协议。
从硬件上讲,有些简单的485接口没有数据流侦测,所以需要一个控制端来
使能发送/接受。一般可以用RTS或者DTR来实现。
485是有第三态的,不允许两台终端都处于发送状态,否则时间长了可能损坏器件。
 
有没有用Delphi的spcomm控件编的例子?
 
有没有一种东东可以直接接到电脑的COM口上而实现485通讯?我以前好象
看过。价钱大约多少?在哪儿可买到?
 
用一个转接器即可,如ATEN的IC-485系列,或MOXA的产品,都是台湾产品,300多元一个,电子市场里都有。
 
MOXA 102 板,附带软件送了一个PCOMM。DLL,内有各种串口通信函数
我做的IC 卡通信程序,就用了485通讯,一台上位机,下挂10台销售机。
 
多人接受答案了。
 
后退
顶部