工业上常用的总线协议RS232,RS485等,都是传输数字信号的方式。工业上普遍需要测量各类非电物理量,例如温度、压力、速度、角度等,这些都需要转换成模拟量电信号才能传输到几百米外的控制室或显示设备上。工业上最广泛采用的是用4~20mA电流来传输模拟量。
  采用电流信号的原因是不容易受干扰,因为工业现场的噪声电压的幅度可能达到数V,但是噪声的功率很弱,所以噪声电流通常小于nA级别,因此给4-20mA传输带来的误差非常小;电流源内阻趋于无穷大,导线电阻串联在回路中不影响精度,因此在普通双绞线上可以传输数百米;由于电流源的大内阻和恒流输出,在接收端我们只需放置一个250欧姆到地的电阻就可以获得0-5V的电压,低输入阻抗的接收器的好处是nA级的输入电流噪声只产生非常微弱的电压噪声。

  上限取20mA是因为国标3836中对于防爆的要求:20mA的电流通断引起的火花能量不足以引燃瓦斯。下限没有取0mA的原因是为了能检测断线:正常工作时不会低于4mA,当传输线因故障断路,环路电流降为0。常取2mA作为断线报警值。电流型变送器将物理量转换成4~20 mA电流输出,必然要有外电源为其供电。最典型的是变送器需要两根电源线,加上两根电流输出线,总共要接4根线,称之为四线制变送器。

  电流输出可以与电源共用一根线(公用VCC或者GND),可节省一根线,所以现在基本上将四线制变送器称之为三线制变送器。4-20mA电流本身就可以为变送器供电,变送器在电路中相当于一个特殊的负载,这种变送器只需外接2根线,因而被称为两线制变送器。

4~20mA信号传输的优点:

  现场仪表可实现两线制,所谓两线制即电源、负载串联在一起,有一公共点,而现场变送器与控制室仪表之前的信号联络及供电仅用两根电线。因为信号起点电流为4mA.DC,为变送器提供了静态工作电流,同时仪表电气零点为4mA.DC,不与机械零点重合,这种“活零点”有利于识别断电和断线等故障。而且两线制还便于使用安全栅,利于安全防爆。
  控制室仪表采用电压并联信号传输,同一个控制系统所属的仪表之间有公共端,便于检测仪表、调节仪表、计算机、报警装置配用,并方便接线。
  现场仪表与控制室仪表之间的联络信号采用4~20mA.DC的理由是:因为现场与控制室之间的距离较远,连接电线的电阻较大,如果用电压信号远传,优于电线电阻与接收仪表输入电阻的分压,将产生较大的误差,而用恒流源信号作为远传,只要传送回路不出现分支,回路中的电流就不会随电线长短而改变,从而保证了传送的精度。
  控制室仪表之间的联络信号采用1~5V.DC理由是:为了便于多台仪表共同接收同一个信号,并有利于接线和构成各种复杂的控制系统。如果用电流源作联络信号,当多台仪表共同接收同一个信号时,它们的输入电阻必须串联起来,这会使最大负载电阻超过变送仪表的负载能力,而且各接收仪表的信号负端电位各不相同,会引入干扰,而且不能做到单一集中供电。
  采用电压源信号联络,与现场仪表的联络用的电流信号必须转换为电压信号,最简单的办法就是:在电流传送回路中串联一个250Ω的标准电阻,把4~20mA.DC转换为1~5V.DC,通常由配电器来完成这一任务。

采用4-20mA电流的模拟量传输的更多相关文章

  1. 为什么采用4~20mA的电流来传输模拟量?(转)

    源: 为什么采用4~20mA的电流来传输模拟量?

  2. PLC模拟量采集模块在工控领域的应用

    在工业现场中,往往需要对温度.电流.电压等模拟量进行控制采集,这可以使用PLC对这些数据进行采集,但是如今生产各种PLC模拟量采集模块的厂家非常多,不同类型的PLC都是有自己专属的模拟量采集模块的,不 ...

  3. RS485 VS 20mA 电流环

    RS485采用差分信号负逻辑,+2V-+6V表示“0”,- 6V-- 2V表示“1”.RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种 ...

  4. plc模拟量采集模块的作用

    在工业控制中,某些输入量(如压力.温度.流量.转速等)是连续变化的模拟量,某些执行机构(如伺服电动机.调节阀.记录仪等)要求PLC输出模拟信号,而PLC的CPU只能处理数字量.模拟量首先被传感器和变送 ...

  5. 模拟量采集模块433Mhz LoRa无线自组网络介绍

    模拟量采集模块433Mhz LoRa无线自组网络是LPWAN(低功耗广域网Low Power Wide Area Nerwork)通信技术中的一种,是美国Semtech公司采用和推广的一种基于扩频技术 ...

  6. 0-20ma 0-5V,0-10V ,0-15V ,0-20V,0-30V模拟量(范围可以定制)多功能采集模块,支持1路继电器输出,2路Di输入,8路Ai输入,可电脑控制,支持485 modbus rtu协议。端口参数可以配置保存,支持定制修改。

    多功能模拟量采集模块MRD-5017具有8 通道模拟量采集(支持0-20mA,0-5V,0-10V混合测量),2路DI,1路继电器输出,1路485接口(支持MODBUS RTU),能实现8路AI(12 ...

  7. STM32L476应用开发之二:模拟量数据采集

    采集模拟量数据在一台一起中是必不可少的功能.在本次实验中我们要采集的模拟量值主要包括氧气传感器的输出以及压力变送器的输出. 1硬件设计 我们需要采集数据对精度有一定的要求,而STM32L476自带AD ...

  8. 论EFMS模拟量部分采集电路的修改

    论1:电阻R11的作用 如图1是2014-3-11之前模拟量采集的部分硬件电路,图2是纠正后的正确电路. D5是SA20CA,TVS双向二极管,有效防止外接电源的浪涌冲击情况,保护电路.  D6是稳压 ...

  9. AD采样模块采集带模拟量真空表值的实验

    实验采用带模拟量,分辨率为1-5V,量程为0--101kpa的真空表 数据采集模块采用DAM-8021,  16位模块 算法描述如下: 真空表读数范围: 0到-101kpa 模拟量输出: 1-5V 一 ...

  10. 4-20mA模拟量采集

    4-20mA模拟量采集 4-20mA模拟量采集可选卓岚ZLAN6802(485)/ZLAN6842(以太网)/ZLAN6844(无线wifi)他们不仅可以可采集4~20mA还可以采集 /0~5V/0~ ...

随机推荐

  1. ICPC2020 沈阳

    F-Kobolds and Catacombs 牛客网 题意:对于\(n(n<=10^6)\)个数的序列,划分区间,每个区间内部从小到大排序,要求最后整个序列单调不下降,求最多可以划分为多少个区 ...

  2. shopt 内置命令启用shell选项 (extglob)

    使用shopt 内置命令启用shell选项 (extglob) 则会识别几个扩展模式匹配运算符 模式列表是由 | 分割 查看shell选项 extglob shopt |grep extglob 启动 ...

  3. openstack 私有云

    Openstack 私有云 官网:www.openstack.com 关于它的历史,网上都可以搜索到,这里不做细讲. 本章主要对openstack的基础部署做详细了解 说到openstack,就要知道 ...

  4. Hub

    public class StreamHub : Hub { public ChannelReader<string> ReadLogStream() { var channel = Ch ...

  5. C - Watchmen CodeForces - 651C (使用map例题)

    #include<iostream>#include<map> using namespace std;map<int,int> x;map<int,int& ...

  6. leetcode 27. 移除元素 【时间击败100.00%】【内存击败84.67%】

    1 public int removeElement(int[] nums, int val) { 2 int last = nums.length - 1; 3 for (int i = 0; i ...

  7. bootstrap-treeview手动修改源码添加与后台交互的id

    bootstrap-treeview中只有自增的参数data-nodeid,没有id的参数,不方便后台交互,修改源码添加id. 1.图一为添加的自定义的node.Id; 2. 下图为添加的id 3.后 ...

  8. jmeter的阶梯式加压性能测试 jp@gc - Stepping Thread Group (deprecated)

    当测试需求要求是阶梯型的压力测试场景时,使用该线程组. 比如测试场景是    从100并发开始,每60s加压50并发,直至达到目的并发数(中途发现问题随时停掉),之后保持每60s停止50并发的速率关闭 ...

  9. TypeScript 对象

    TypeScript 对象 对象是包含一组键值对的实例. 值可以是标量.函数.数组.对象等,如下实例: var object_name = { key1: "value1", // ...

  10. javaScript面向对象(继承篇)

    一.构造函数继承   function Parent() { this.money = '2亿' this.eat = function () { console.log('吃饭') } } func ...