vb中多个串口通讯_源测自控-串口通讯

大家好,今天是周一,我们聊个轻松的话题,也是仪表人在调试期经常遇到的问题。即通过串口通讯的方式把仪表数据上传到上位机(PC端),今天主要谈串口的基本知识。

1.概述

a.计算机通讯方式

并行通信与串行通信是计算机常用的两种通信方式。并行通信是指数据的各位同时进行传送(发送或接收)的通信方式。其优点是通信速度快,缺点是设备之间的数据线多,通信距离短。如打印机与计算机之间的通信一般都采用并行通信方式。串行通信指数据是一位一位按顺序传送的通信方式。虽然通信速率低,但实现的方法及连线简单。

串行通信有同步和异步之分,在同步方式下,相互通信的设备之间需要时钟同步,必须有同步信号,实现复杂。异步通信时相互通信的设备之间不需要同步,只要求通信的接口方式及速率相同,以起始位和停止位为标志表示数据发送的开始和结束。监控系统中常采用串行异步通讯方式实现智能设备或采集器与监控主机(前置机)之间的通信。

b.通讯协议

异步通信时数据一帧(frame)一帧地传送,帧的格式和通信速率一起称为通信协议。

帧的格式由起始位、数据位、奇偶校验位和停止位组成,见下表。

起始位 数据位 校验位 停止位

1b 4~8b 0~1b 1~2b

起始位都只有一位;数据位常为4~8位;校验位只有一位或没有,常用的校验方式为三种:偶校验记为“e”(even),奇校验记为“o”(odd),无校验位记为“n”(none);停止位1~2位。一个数据帧的长度称为字长,字长=起始位+数据位+校验位+停止位。下图为一个数据帧。

波特率用于描述串行通信的速率,一般单位为“位/秒”,记为“bps”(bits per second)。常用的异步串行通信波特率有1200、2400、4800、9600、19200bps等。

在监控系统中,为了指明两台设备之间的通信协议,需要对通信端口进行设置,端口设置的格式为“波特率,校验位,数据位位数,停止位位数”。例如,某一个串口的端口设置为“9600,n,8,1”,表示该串口的通信速率为9600bps,没有校验位,数据位的长度为8,停止位为1位,字长为10。又如“2400,e,7,1”,含义由通信协议的定义易知,字长也为10。

在设置具体的通信协议时,常遇到“流控制”这一概念,设置了流控制时,设备串口的通信速率可以自动调整,不致发生数据的溢出或丢失。流控制一般有两种可选的方式,“硬件流控制”是指用串口的两个管脚之间的电压差来做流控信号,需要硬件设备的支持,在监控系统中遇到的采集器和智能设备一般不支持硬件流控制;“软件流控制”指用两个特殊的ASCII字符Xon和Xoff来做流控信号,由于监控系统中所涉及的设备之间传输数据时大多为二进制数据,里面很有可能刚好含有字符Xon和Xoff,因此为了不至于引起设备的误解而导致传输错误,不能使用软件流控制。因此在设置通信串口时,一般不设置流控制,即选择“无流控制信号”。

2. 应用串行通讯的数据采集结构

控系统中监控主机与采集器或智能设备一般都通过串行接口通信。当一个被监控端局的设备较多时,可采用总线方式或多串口方式进行数据采集。

a.总线方式

3de0ee7a17a01731fa3a86e1e4108cb8.png

一条RS422/485总线上可挂接多台设备,连接到上位机的某一个串口,实现上位机与各设备的通信,见图1。总线上的设备要求接口方式和通信协议相同,地址不同。接口方式不相同的设备如果与总线具有相同的通信协议,可通过接口转换器(如艾默生网络能源有限公司生产的OCI-6接口转换器)接入总线;如果某设备与总线上的其它设备通信协议不相同,仍可以通过协议转换器(如艾默生网络能源有限公司生产的OCE智能协议处理器)将其协议转换成总线的通信协议后接入总线。

主机对同一条总线上并联的采集器或智能设备采用轮询方式采集数据,因此当连接在同一总线上的设备数量很多时,监控主机对总线上每一台设备采集一遍数据的时间将变长

b.多串口方式

62fa3ecd9df60a5f12b2a630399811c9.png

设备分别与监控主机的各串口连接,监控主机为每个串口分配一个采集线程,各个串口可以同时采集数据,提高了采集速度。当监控主机的串口数不能满足设备的要求时,一般在监控主机上安装多串口卡增加监控主机的串口数量,参见图2。

监控主机通过多个串口分别与各采集器和智能设备通信,此时没有通信协议要相同的要求,同样地,也不要求设备的地址各不相同

c.多层次主从采集结构

在多串口方式中,如果某些串口通过总线方式连接了多台设备,某些设备本身和监控主机一样具有一个或多个串行接口,可以连接多台设备,这种采集结构称为多层次主从采集结构。在实际的监控系统数据采集方案中采用了这种复杂的多层次主从采集结构,一台监控主机最多可以连接多达数百台采集器和智能设备。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值