引言
工业过程控制系统应用多种多样,范围覆盖从简单的流量控制到复杂的电网,从环境控制系统到炼油厂过程控制。这些自动化系统的智能性依赖于它们的测量和控制单元。可编程逻辑控制器(PLC)1和分布式控制系统(DCS)2是用于控制机器和过程、处理各种各样模拟和数字输入及输出的两个常见计算机系统,这些系统包含电源、中央处理单元(CPU),以及多种模拟输入、模拟输出、数字输入和数字输出模块。
标准通信协议已经存在很多年了;模拟变量的范围主要为4mA至20mA、0V至5V、0V至10V、±5V和±10V。关于下一代系统无线解决方案的讨论已有很多,但是设计人员仍然认为4mA至20mA通信和控制环路可继续使用多年。下一代系统的标准涵盖更高的性能、更小的尺寸、更好的系统诊断、更别的保护,以及更低的成本——所有要素都将帮助制造商实现区别于其竞争对手的差异化设备产品。
我们将讨论过程控制系统的关键性能要求,以及所包含的模拟输入/输出模块,还将介绍一个过程控制评估系统,该系统采用新集成电路技术将这些构件整合在一起。我们还着眼于应对鲁棒系统的设计挑战,这类系统将能经受工业环境下的电快速瞬变脉冲群(EFT)、静电放电(ESD)和浪涌电压干扰,并提供检验设计鲁棒性的测试数据。
PLC概览和应用实例
一个过程变量,例如流率或气体浓度,是通过输入模块进行监控的。这些信息由中央控制单元处理;输出模块则采取一些行动,如驱动一个执行器。
这种类型的一个典型工业子系统。CO2气体传感器测定一个受保护区域的气体积累浓度,并将此信息传送给一个中央控制点。该控制单元包含一个模拟输入模块——用来调理来自传感器的4mA至20mA信号,一个中央处理单元,以及一个模拟输出模块——用来控制必需的系统变量。电流环路能够处理大的电流负载——这些负载经常存在于一些工业系统中常见的数百米长的通信路径上。表述气体浓度级别的传感器单元输出被转换为标准的4mA至20mA信号,通过电流环路传送。这个简化的例子所示的是一个单独的4mA至20mA传感器输出连接到一个单通道输入模块,以及一个单一的0V至10V输出。在实际情况下,大多数模块都具有多个通道和可配置范围。
输入/输出模块的分辨率范围一般是12至16位,在工业温度范围上具有0.1%的精度。对于桥式传感器,输入范围可小至±10mV ;对于执行器控制,可扩大至±10V;过程控制系统的输入范围为4mA至20mA电流。模拟输出电压和电流范围一般包括±5V、±10V、0V至5V、0V至10V、4mA至20mA和0mA至20mA。数模转换器(DAC)的稳定时间要求从10μs到10ms不等,取决于具体应用和电路负载。
PLC评估系统
这里描述的PLC评估系统3集成了生成一个完整输入/输出设计所需的所有级,它包含4个完全隔离的ADC通道,1个带RS-232接口的ARM7微处理器,以及4个完全隔离的DAC输出通道。该评估板由一个直流电源供电。硬件可配置的输入量程包括0V至5V、0V至10V、±5V、±10V、4mA至20mA、0mA至20mA、±20mA和热电偶及RTD。软件可编程的输出量程包括0V至5V、0V至10V、±5V、±10V、4mA至20mA、0mA至20mA以及0mA至24mA。
输出模块:表2列出了PLC输出模块的一些关键技术规格。因为真实系统的精度有赖于测量通道(ADC),所以控制机制(DAC)仅需要足够的分辨率去调节输出。对于高端系统而言,需要16位的分辨率,采用标准数模转换架构很容易满足这个要求。精度并非至关重要;一般来说,12位积分非线性误差(INL)对于高端系统已经足够。
通过超输出量程并调整达到期望值,可以很容易实现25℃时0.05%的校准精度。如今的16位DAC,例如AD5066,4 可提供25°C时0.05mV典型偏移误差,以及0.01%典型增益误差,在很多情况下无需校准。0.15%的总精度误差看起来很容易实现,但实际上在超温情况下这个指标是比较严苛的。在工业温度范围上,30ppm/°C的输出漂移会增加0.18%的误差。
这种分立设计方案有很多缺陷:器件数量多,造成系统复杂、大的电路板尺寸以及成本;总误差难以计算,多个器件导致误差度随着不同极性系数而变化;这种设计不能提供短路检测/保护或者任何故障诊断;不包括许多工业控制模块中必需的电压输出。添加任何这类特性都将会导致设计复杂性和器件数量的增加,更好的解决方案是集成上述所有特性的单芯片IC,例如, AD5412/AD5422 这些低成本、高精度的12位/16位数模转换器。基于这些器件的方案能够提供完全集成的可编程电流源和可编程电压输出,专为满足工业过程控制应用需求而设计。
输出电流范围可编程为:4mA至20 mA、0mA至20mA或者扩展的0mA至24mA。电压输出由独立的引脚提供,输出范围可以设置为:0V至5V、0V至10V、±5V或±10V,并且所有范围都允许扩展10%。模拟输出具有短路保护,在发生错误接线输出时,这是一个关键特性——例如,用户将输出连接到地而非负载。AD5422也具有断路检测特性,能够监控电流输出通道,以确保在输出和负载之间没有故障发生。在断路情况下,FAULT管脚将激活,向系统控制器报警。可编程电流/电压输出驱动器 AD5750 则兼具短路检测和保护特性。
早期的系统一般需要隔离500V至1kV的电压,而现今通常需要隔离高于2KV的电压。 ADuM1401 数字隔离器采用 iCoupler5 技术,为MCU和远端负载之间,或者输入/输出模块和背板之间提供必要的隔离。ADuM1401的3个通道在一个方向上进行通信,第4个通道在相反方向进行通信,提供来自转换器的隔离数据回读。对于更新的工业设计,ADuM3401 及该系列数字隔离器的其它产品能够提供增强的系统级ESD保护。
AD5422产生自己的逻辑电源(DVCC),它能被直接连接到ADuM1401的现场侧,而无需携带逻辑电源通过隔离势垒。AD5422包括一个内部感应电阻,但是当要求更低的漂移时,也可采用一个外部感应电阻(R1)。因为感应电阻控制输出电流,其电阻的任何漂移都将影响输出。内部感应电阻的典型温度系数是15ppm/°C至20ppm/°C,在60°C温度范围上会增加0.12%的误差。在高性能系统应用中,一个外部感应电阻(2ppm/°C)能被用于保持漂移小于0.016%。
AD5422内置基准电压源(大漂移10ppm/°C),这个基准电压源在PLC评估系统中的所有4个通道上均可被激活。另一个选择方案是超低噪声XFET基准电压源 ADR445 它具有0.04%的内部精度,温漂3ppm/°C,可用于两个输出通道,选择内置或是外部基准电压取决于总的系统性能需求。
输入模块: 输入模块的技术规格与输出模块相似。通常,高分辨率和低噪声是很重要的。在工业应用中,当测量来自热电偶、应变计以及桥式压力传感器的低水平信号时,通常需要差分输入信号,以抑制来自电机、交流电力线,或其它的噪声源(这些噪声源将噪声引入模数转换器(ADC)模拟输入端)的共模干扰信号。
对于输入模块而言,Σ-Δ型ADC是受欢迎的选择,因为它们能够提供高精度及高分辨率。此外,其内置可编程增益放大器(PGA)可以jingque测量小的输入信号。图7所示为用于评估系统的输入模块设计。3通道、24位Σ-Δ模数转换器AD7793 被配置为可提供较大范围的输入信号,例如4mA至20mA、±10V以及直接来自传感器的小信号输入。
这种普遍的输入设计很容易适应RTD/热电偶模块。,每个输入通道提供两个输入接线端子。一个输入端子直接连到AD7793。用户可以对内置PGA进行编程,以提供高达128的模拟增益。第二个输入端子使信号能够通过JFET输入仪表放大器 AD8220 被调理。这样,输入信号就被削弱、放大,并经过电平转换,以提供单端输入信号给ADC。除了提供电平转换功能,AD8220还具有非常好的共模抑制特性,这在宽动态范围的应用中很重要。
低功耗、高性能的AD7793功耗小于500μA,而AD8220功耗小于750μA。这个通道被设计为可接受4mA至20mA、0V至5V以及0V至10V的模拟输入信号。输入模块的其它通道针对双极性工作方式设计,可接受±5V 和±10V的输入信号。
为测量一个4mA至20mA输入信号,一个低漂移精密电阻通过开关(S4)连入电路。在这个设计中,该电阻的阻值为250Ω,但是,只要产生的电压在AD8220的输入范围内,就可以用任意电阻值。在测量电压时,S4保持断开状态。
大多数输入模块设计都需要隔离。4通道数字隔离器ADuM5401 采用isoPower®6 技术,可提供2.5kV的有效值(RMS)信号和功率隔离。除了提供4个隔离的信号通道,ADuM5401还包含1个隔离的DC-DC转换器,能够提供一个稳定的5V、500mW输出信号,以驱动输入模块的模拟电路
完整的系统:ADuC7027 精密模拟微控制器7是主要的系统控制器。其内嵌ARM7TDMI内核,32位架构可轻松实现该器件与24位ADC的连接。它还支持16位thumb模式,如果需要,可实现更高的代码密度。ADuC7027带有16kB片上闪存,并可外接512kB存储器。高精度、低压降稳压器(LDO)ADP3339 可为微控制器提供稳压电源。
在工业控制领域中,PLC作为一种稳定可靠的控制器得到广泛的应用。但它也有自身的一些缺点,即数据的计算处理和管理能力较弱,不能给用户提供良好的界面等。而计算机恰好能弥补PLC的不足,它不但有很强的数据处理和管理能力,而且能给用户提供非常美观而又易于操作的界面。将PLC与计算机结合,可使系统达到既能及时地采集、存储数据,又可处理和使用好数据,两者结合的关键是PLC与计算机之间的通信。本文以OMRON公司的CPMI小型PLC为例,详细的讨论了PLC与计算机通信的原理和用VB如何实现PLC与计算机的通信。
一、通行原理与方法
上位机要能够通过PLC监控下层设备的状态,就要实现上位机与PLC间的通信,一般工业控制中都是采用RS232C实现。上位机首先向PLC 发送查询数据的指令(实际上是查询PLC中端子的状态和dm区的值等),PLC接收了上位的指令后,进行校验(fcs校验码),看其是否正确,如果正确,则向上位机传送数据(包含首尾校验字节)。否则,PLC拒绝向上位机传送数据。上位接收到PLC传送的数据,也要判断正确与否,如果正确,则接收,否则,拒绝接收。
由于cpm1a没有提供串行通信口,我们利用其提供的外设端口实现通信。PLC与计算机之间的连接是通过omron提供的专用电缆c来实现的,
二、 PLC与计算机间的通信规约
计算机与PLC间的通信是以“帧”为单位进行的,并且在通信的过程中,计算机具有更高的优先级。首先,计算机向PLC发出命令帧,然后,PLC作出响应,向计算机发送回响应帧。其中命令帧和响应帧的格式如下:
(1) 命令帧格式。为了方便计算机和PLC的通讯,cpm1a对在计算机连接通信中交换的命令和响应规定了相应的格式。当计算机发送一个命令时,
其中@放在首位,表示以@开始,设备号为上位机识别所连接的PLC的设备号。识别码为命令代码,用来设置用户希望上位机完成的操作,fcs为帧检验代码,一旦通信出错,通过计算fcs可以及时发现。结束符为“*”和cr回车符,表示命令结束。
其中,异常码可以确定计算机发送的命令是否正确执行。其它的与正文中的含义相同。正文仅在有读出数据时有返回。
三、 通信程序的设计
为了充分利用计算机数据处理的强大功能,我们可以采用计算机有优先权的方式,在计算机上编写程序来实现计算机与PLC的通信, 计算机向 PLC发出命令发起通信,PLC自动返回响应。本文中采用vb来编写计算机与PLC间的通讯程序。在vb中提供了通信控件—应用通信控件(mscomm),实现通过串行端口传送和接受的功能。
下面介绍mscomm控件的属性:
*commport:设定通信连接端口代号,程序必须指定所要使用的串行端口号,bbbbbbs系统使用所设定的端口与外界通信。
*portopen:设定通信口状态,若为真,通信端口打开,否则关闭。
*settings:设定通信口参数,其格式是"BBbb,p,d,s",其中bbbb为通信速率(波特率),p为通信检查方式(奇偶校验), d 为数据位数,s为停止位数,其设定应与PLC的设定一致。
*bbbbb:将对方传送至输入缓冲区的字符读入到程序。
*output:将字符写入输出缓冲区。
*inbuffercount:传回接收缓冲区中的字符数。
*outbuffercount:传回输出缓冲区中的字符数。
*bbbbblen:设定串行端口读入字符串的长度。
*bbbbbmode:设定接收数据的方式。
*rthreshold:设定引发接收事件的字符数。
*commevent:传回ONcomm事件发生时的数值码
*oncomm事件:无论是错误或事件发生,都会触发此事件。
(1) 控件参数的初始化
初始化程序如下:
mscomm.comport=2 `使用串口com2
mscomm.settings="9600, e, 7, 2" `波特率9600,偶校验,7位数据位,2位停止位
mscomm.portopen=true `打开通信端口,准备通信
(2) 计算校验码fcs,计算fcs的vb自定义函数如下:
function fcs(byval bbbbbSTr as bbbbbb) as bbbbbb
dim slen, i, xorresult as integer
dim tempfes as bbbbbb
slen=len(bbbbbstr) `求输入字符串长度
xorresult = 0
for i = 1 to slen
xorresult = xorresult xor asc(mid$(bbbbbstr, i, 1)) `按位异或
next i
tempfes=hex$(xorresult) `转化为16进制
if len(tempfes)=1then tempfes =“0”+tempfes
fcs = tempfes
end function
(3) 计算机与PLC通信程序
主要是一个自定义函数。
西门子代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理,西门子中国代理商
西门子PLC模块,变频器,触摸屏,交换机
从事智能科技、自动化科技、机电领域内的技术开发、技术转让、技术咨询、技术服务,工业自动化设备安装,工业自动化控制设备、电气设备、机申设备、电子产品、五金产品、金属材料、仪器仪表、橡塑制品销售,商务信息咨询,软件开发,建筑装修装饰建设工程专业施工,建筑安装工程(除特种设备),机械设备租赁(不得从事金融租赁),物业管理。工业自动化设备加工、销售。
本公司销售的一律为原装正品,假一罚十,可签正规的产品购销合同,可开增值税发票,税点另外算,24小时销售热线:15221406036 本公司销售的一律为原装正品假一罚十可签正规的产品购销合同可开增值税发票税点另外算24小时销售热线15221406036 西门子触摸屏代理商,西门子一级代理商,西门子中国授权总代理 ----浔之漫智控技术(上海)有限公司 本公司专业经销合信/CO-TRUST科思创西门子PLC;S7-200S7-300 S...