ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

工业自动化信号类型详解:从开关量到总线通信,一次讲透

工业自动化信号类型详解:从开关量到总线通信,一次讲透 搞工业自动化这行你迟早会被问到这样一个基础问题一套控制系统里到底有哪些信号我刚入行那会儿被老师傅问住过也在项目验收时被甲方用这个问题考过。实际上搞懂了这个问题你就能看懂一张IO清单也能在查故障时快速缩小范围——它像一张地图把传感器、变送器、执行机构、控制器之间的联系全画出来了。很多人觉得“信号”这个概念太抽象一提信号就想到示波器上那些波浪线。但在工业现场信号是实实在在的它可能是某个接近开关内部触点的吸合可能是压力变送器输出的4-20毫安电流也可能是伺服驱动器编码器返回的一串差分脉冲。你要做的不是去背诵分类而是从“设备怎么把信息传给控制器”的角度去理解它们。这篇文章我会从一个现场工程师的视角把工业自动化控制系统中最常见的信号类型、它们为什么这么设计、以及接线上那些容易被忽视的坑一次讲透。内容不算高深但对刚入行的朋友、以及想系统梳理信号体系的从业者应该能省下不少自己翻手册的时间。1. 从接线端子的用途看起先给常见信号分个类每次拿到一个新项目的IO清单我习惯先不看点位数量而是看这些点位分别属于什么类型。因为不同类型的信号从传感器选型、电缆选择、接线方式到PLC模块选型整套做法都是不一样的。1.1 一张表分清四类信号的本质工业自动化系统里的信号往大了说无非四类开关量、模拟量、脉冲量和通信信号。下面这张表我整理了很多年每次给别人讲也都从它开始信号类型本质典型例子PLC对应模块传输距离/抗干扰特点开关量信号 DI/DO只有“通/断”两种状态按钮、限位开关、继电器触点、电磁阀DI/DO模块距离短则直接接长距离用继电器隔离模拟量信号 AI/AO连续变化的数值压力变送器、温度、液位、变频器频率给定AI/AO模块常用4-20mA电流环可传几百米脉冲量信号用脉冲个数或频率表达信息编码器、涡轮流量计、伺服电机反馈高速计数模块/运动控制模块高速差分信号抗干扰强但线缆有要求通信信号按协议打包的“报文”RS485、Modbus、PROFINET、EtherCAT通信处理器模块一条总线可带多台设备信息量最大有人会问通信信号也算信号当然算。而且在今天你的系统里可能超过一半的信息交换都靠它。只不过它和你理解的“信号”长得不太一样——它不是一路电压对应的一个物理量而是按某种语言规则打包后的数据流。1.2 为什么开关量叫“点”模拟量叫“回路”现场老师傅嘴里经常蹦出两个词“这个项目XX个点”“那条回路有问题”。这两个词背后其实就是信号分类的工程表达。一个开关量比如一个限位开关的接通或断开在PLC看来就是输入映像区里的一个bit所以大家习惯叫它“一个点”。一套系统有多少个DI/DO就是有多少个点位。统计点位是电气设计和预算的基础也是前期最容易被反复改动的数字。而模拟量信号不太一样。一个4-20mA的电流信号从传感器正极出来经过信号线进入PLC模块再从模块内部回到传感器负极形成一个闭合的电流环路。因为必须构成通路才能工作所以工程师叫它“回路”。日常查故障时听到“某条回路没有电流”说的就是模拟量信号链路断了。分清这两个词还有个实际用处点位的故障排查通常用万用表通断档就行而回路的故障排查往往需要测量毫安级电流或者电压工具和方法完全不同。一上来就问“信号有没有”其实不够准确你得先问“是点位还是回路”。2. 开关量信号比你想的更讲究常开常闭、干接点与安全回路开关量看着简单其实是最容易出争议的一类。尤其是常开还是常闭这个问题每个项目都能问出五六个不同答案来。2.1 常开和常闭不是接线的喜好问题是安全逻辑问题之前有热搜词问“PLC故障软件用什么常开还是常闭信号”这个问法其实暴露了一个常见的混淆点PLC程序里的指令逻辑和物理信号的安全逻辑是两码事但很多人把它们混在一起想。先说物理层面的常开和常闭。限位开关、急停按钮、继电器这类器件都有常开触点和常闭触点两种接法。常开NO意思是没动作时电路断开动作后闭合常闭NC正好相反没动作时是导通的动作后才断开。从安全的角看涉及人身安全和设备安全的信号比如急停按钮、安全门开关、超温保护我推荐尽量用常闭触点。道理很简单断线故障和急停动作在常闭接法下都表现为“信号断开”控制系统能区分出“这个停车的条件满足了”。如果你用常开触点一旦中间的线断了系统会认为“一切正常”设备该转还转这就埋下隐患了。你可能马上会问那PLC程序里不是可以用常开指令或者常闭指令去读吗程序逻辑当然可以反转可是程序反转不了物理世界里的断线故障。所以我的习惯是物理层面把安全信号接到常闭触点程序里根据具体回路设计再决定怎么判断不要为了程序方便去改变物理接法。2.2 干接点与湿接点以及NPN/PNP传感器怎么对PLC开关量信号还有一对概念叫干接点和湿接点。干接点就是纯粹的触点本身不带电就像墙上的开关一样湿接点则是信号源自身提供电压的一种接点输出。这对概念在实际接线中经常碰到。比如有些传感器输出的是干接点你把它的两根线分别接到PLC的公共端和输入点就行相当于给PLC一个纯触点的通断。另一些传感器输出的是湿接点本身已经带了24V或者别的电压接线时要特别注意别把外部电压直接灌进PLC模块。什么时候加中间继电器什么时候可以直接进PLC判断的标准其实就是模块允许的输入电压范围和现场的防干扰要求。还有更常见的NPN和PNP之争。NPN传感器导通时把信号线拉到0VPNP传感器导通时把信号线拉到24V。如果你的PLC模块是漏型输入共阳极电流从公共端流进模块再从输入点经传感器流回0V那得配NPN如果是源型输入电流从模块内部流向信号线那得配PNP。这块我踩过的坑是买传感器到一个批量项目时只看了品牌型号没注意同一系列有NPN和PNP两种版本结果装到一半发现全部接反。后来我把传感器选型的默认规则定为“凡是接近开关一律按PLC输入端类型下单”并且在IO清单独列一列“传感器输出类型”再也没出过这种批量返工的事故。2.3 从“FX5U回零设置零点信号数设成0”看开关量的应用陷阱热搜词里有一条“FX5U回零设置中零点信号数设成0”这看起来是PLC回零参数问题但本质上也属于开关量应用的一个特殊场景。回零操作里有一个参数叫“零点信号数”它影响的是伺服或步进系统回零时找到原点信号后是否还要再多数几个脉冲。很多初学朋友直接把“零点信号数”设为0以为这样最干脆。但在某些机械结构里原点开关的机械位置和真正需要定位的原点之间可能有偏差如果把零点信号数设成0设备每次回零后停的位置会受机械重复精度限制后道工序对位就容易出偏差。正确的思路是先把机械挡块或原点开关装到一个稳定的物理位置再根据需要在PLC参数里设置“零点信号数”让系统在遇到原点信号后继续走若干个脉冲最终停在真正想要的机械零点上。这里不需要纠结用常开还是常闭因为回零时系统要找的是信号沿从断开变接通或从接通变断开关键是选对“零点信号类型”参数也就是让PLC知道你用的是常开还是常闭开关、在哪个边沿认定到达原点。3. 模拟量信号4-20mA电流环为什么能统治工业现场现场的温度、压力、液位、流量大部分都是以模拟量信号的形式进入控制系统的。在所有模拟量信号标准里4-20mA电流环是最常见的但也最容易被新手误解。3.1 从传感器到PLC为什么大家都选4-20mA先回答最朴素的问题为什么不用0-20mA而要留出4mA这个底两句话说清楚一是“零位偏移”4mA表示量程零点。这样做的好处是如果信号线断了或者传感器供电没了回路电流会掉到0而不是停在某个正常量程的低端。系统一眼就能识别出故障不会把断线当成“当前压力是0”来继续运行。二是“给仪表自己留工作余量”。很多两线制变送器本身就是靠这个4mA底部的电流供电的它内部的转换电路、运放都需要一点静态工作电流。如果把零点设计成0mA仪表在测量接近零点的量程时自己就没电可吃了。所以4mA既是一个信号零点也是传感器的“口粮”。电流信号抗干扰的另一个原因是它压得住电压降。电压信号比如0-10V在长线传输中只要线阻稍微大一点或者现场有变频器干扰到PLC那边电压可能就飘了。而电流信号在闭合回路中尽管线路上有压降电流大小不会因为线路长短而变化只要接收端的取样电阻精度够传输几百米也能保持准确。这也是为什么大多数模拟量传感器都做成了4-20mA输出的原因。我在现场测过一条有代表性的回路变送器在管道端PLC控制柜在配电室中间布线大概有120米。用0-10V输出的压力表到PLC端一量已经掉了接近0.3V换算成压力误差不小换成同一量程的4-20mA变送器把万用表串联进去测电流值和中控室显示值完全对得上。从那之后凡是有超过50米模拟量传输的场合我都优先推荐电流环。3.2 电压信号、热电阻和热电偶各回路的差异和选型当然也不是所有场合都适合用4-20mA。像柜内短距离的信号传输、伺服驱动器的模拟量给定很多还是用0-10V或±10V。因为距离短电压型信号直接用起来更方便而且很多驱动器内部本身就是电压控制接口。温度测量模拟量里还有两个特殊品类热电阻PT100和热电偶。它们在PLC侧通常不接普通的AI模块而是接专用温度模块。PT100是阻值随温度变化典型三线制接法是为了抵消导线电阻的影响热电偶则输出毫伏级电压必须用带冷端补偿的温度模块来读。新手要注意PT100和热电偶信号都非常微弱属于“低压低能量”回路最怕和动力电缆一起走线。我见过有人把热电偶补偿导线和变频器输出电缆捆在同一个线槽里结果温度显示白天跳、晚上好最后把两类电缆分开走才稳定下来。3.3 模拟量干扰的常见现场表现和排查经验模拟量信号最让人头疼的就是干扰。常见表现有几种中控室显示的数值在小数点后不停跳动多个通道同时漂移设备一启动模拟量就跟着乱跳。排查的时候按顺序来。先看接线信号线屏蔽层是否接好、是不是单端接地再看布线信号电缆是否和动力电缆离得太近特别是变频器输出电缆然后看供电模拟量模块供电、传感器供电是否纯净24V开关电源上有没有挂着大功率负载。关于屏蔽层接地刚入行经常会纠结单端接地还是双端接地。对模拟量信号我习惯在PLC柜端单端接地现场传感器端悬空。原因是对低频干扰单端接地能避免形成地环路防止柜内杂散地电流通过屏蔽层倒灌进信号回路。对RS485这类通信线屏蔽层的处理要求又不同这个后面讲。还有一个排查小技巧当你怀疑是某一路模拟量信号问题但又不确定时把现场那根信号线从端子上拆下来换上一个标准信号发生器直接给PLC送一个固定电流比如12mA。如果此时显示值稳定说明模块和程序没问题问题在传感器或线缆如果显示还是乱跳那就要查模块和柜内接线了。这一招能快速把问题切成两半。4. 脉冲量信号编码器、变频器和PWM都在怎么通信脉冲信号在自动化系统里一直存在凡是需要知道位置、速度、流量的场合都离不开它。只是它长得不像模拟量那么“连续”也不太像开关量那么只有“有/无”两种状态。4.1 编码器信号A/B/Z相与差分输出的抗干扰逻辑伺服电机、步进电机上那些编码器反馈本质上就是在输出脉冲。最常用的是增量式编码器它有A、B、Z三路信号。A相和B相之间相差90度相位PLC利用这个相位关系能判断出电机是正转还是反转Z相每转一圈出一个脉冲用来找机械原点。你可能注意到编码器有各种输出形式开路集电极、推挽、差分输出等。很多高速高干扰场合会选择差分输出也叫长线驱动它对应A/A-、B/B-、Z/Z-六路信号。差分传输的思路是同时发出两个相反的信号接收端通过比较两路信号的差值来判断状态。这样就算外部干扰同时叠加到两根线上差值仍然不变。这和热搜里“差分信号原理”“差分线上升沿回勾”这些词本质上是同一件事。高速编码器信号在布线距离较长时特别容易出问题。有人问“为什么高速脉冲线用双绞线”原理就是双绞线能让两根线上的外界干扰尽量相等从而被差分接收端抵消。但要注意这类电缆不能和动力电缆一起绑扎也要避免直角折弯。碰到“PLC计数偶尔少记或多记”的问题多半不是程序写错而是编码器信号的抗干扰没做好。4.2 PWM与频率信号从电调信号到变频器调速PWM信号也是脉冲信号里很常见的一种它的核心是用脉冲宽度占空比来传达信息。热搜词里提到的“好盈30A电调信号是什么”这种航模无刷电调接收的其实就是脉宽在1-2毫秒之间、周期20毫秒左右的PWM信号不同脉宽对应不同的油门输出。工业自动化里的变频器、伺服驱动器也有类似用法。有些变频器支持频率给定模式给定0-10V或者4-20mA但也有支持脉冲频率输入的比如每赫兹对应多少个脉冲之类的。伺服驱动器很多也接受脉冲串指令用脉冲个数控制位置、用脉冲频率控制速度。理解了这一点你看到“300个脉冲/转”之类的参数时就不会觉得陌生。PWM信号用来控制直流电机或者比例阀时输出端通常不能直接拿PLC的晶体管输出点去带大功率负载得加驱动级。有些朋友直接从PLC输出端引一根PWM线去控制比例阀结果负载一拉电流模块就烧这就是功率匹配没做好。正确做法是PLC只输出控制信号功率放大部分由阀的驱动板或驱动器完成。4.3 高速脉冲背后为什么“看见信号”比“读懂信号”更关键调试高速脉冲或者通信信号时有个场景特别折磨人明明程序写好了可计数器就是不走或者逻辑分析仪采不到信号。热搜里有“ILA抓信号没有反应”很多人在芯片调试时遇到过现场排查其实也类似。第一件事永远是确认信号真的“到”了。用示波器去看不要只拿万用表。因为脉冲是瞬间变化万用表只能看到平均值上电瞬间的短暂脉冲可能根本读不出来。示波器探头夹在PLC输入端子上看是否有方波、波形边沿是否干净。如果这里没有信号问题在传感器或接线如果有信号但PLC就是不计数多半是模块配置、计数模式或者公共端接错了。看得见信号之后还要看懂信号的“电气特性”。比如开路集电极输出的编码器逻辑0是低电平但需要外部上拉电阻才能得到可靠的逻辑1有的编码器输出高电平是24V有的只有5V直接接进只支持5V的模块会出问题。说白了给PLC喂脉冲之前电平标准、输出类型、线缆长度、终端电阻这些都要先想清楚。5. RS485、工业以太网与数字总线现代化自动化系统的“大信号”前面说的三类信号本质都是以单路电气特征来传达信息。到了通信信号这里规则的维度变了——一个报文里可以同时携带几十个设备的状态和数值。我甚至觉得现在做自动化不懂通信信号差不多就等于不会做系统了。5.1 RS485的差分信号原理以及为什么它能传得远RS485可能是工业现场除了开关量和模拟量之外最普及的信号了。很多电表、变频器、温控表、传感器仪表上都有RS485接口。它的物理层传输方式和编码器差分信号类似也是差分信号。RS485用A、B两根线之间的电压差来表示逻辑0和逻辑1。当A比B高时是一种状态B比A高时是另一种状态。外部共模干扰会同时叠加在两根线上却不会改变差值所以它比单端信号抗干扰。同时RS485是平衡传输能支持到1200米左右的通信距离这是普通RS232做不到的。不过RS485布线有几个细节容易被忽略。一是必须采用手拉手的菊花链拓扑不能接成星形否则阻抗不连续信号会反射终端设备收包就乱。二是在总线两端各加一个120欧终端电阻用于匹配传输线阻抗减少信号反射。三是不管用两线还是四线要注意A/B千万别接反虽然很多设备有防反接能力但也有一些会直接烧掉通讯芯片。关于屏蔽层的接地RS485电缆的屏蔽层我通常建议做单端接地接到控制柜的接地排上。尤其当总线上挂接的设备分布在好几个现场位置时多点接地很容易因为点位间地电位差形成地环路电流反而把干扰引进通信线里那种“偶发通信超时”的故障很多就是这么来的。5.2 从Modbus到PROFINET总线信号如何改变传统“信号”定义如果说RS485是物理层的信号那么Modbus、PROFINET这些就是建立在物理层之上的“语言”。Modbus RTU是跑在RS485上的用一组寄存器地址来读写数据。而PROFINET则跑在工业以太网上把设备描述成一个个对象。从“信号”这个角度来看总线技术带来的最重要的改变是信息量大增。过去一个压力变送器输出4-20mA一个AI点只对应一个压力值。现在用一只带RS485的压力变送器一条总线上可能挂着几十只变送器还能同时读回压力值、温度值、传感器故障状态、量程范围等一大堆信息。这种改变对系统设计的影响很大。你在做IO点位统计时不能只算DI/AI点数了还得算总线负载能力、通信周期、从站地址分配。刚开始接触Profinet或者EtherCAT的朋友最容易忽略的是总线周期的概念。传统模拟量扫描可能一个PLC循环刷一次而运动控制用的总线动了辄要求亚毫秒级同步通信时延大一点插补就可能出问题。信号定义方式的变化还直接影响布线。模拟量时代一套系统有几十条专用信号线每条线对应一路信号。总线时代可能一根工业网线加几个分布式IO站就把一片区域的信号全收上来了。别觉得这是“缩水”信息承载能力完全不在一个量级。5.3 靠近高速信号接口时的PCB级问题其实也会延伸到工业现场热搜里有一部分词像“PCBA电路信号完整性分析的必要性”“高速信号接口”“差分信号完整性”看起来都在讲电子设计层面的问题。但在工业自动化里这些概念正在渗透到现场。当工厂里大量使用Profinet、EtherCAT这类百兆甚至千兆的以太网链路时现场布线和接口设计就已经有“信号完整性”这个层面了。举个实际例子有人在不同机柜之间用普通超五类双绞线跑Profinet结果通信要么连不上、要么时有超时换屏蔽工业网线后一切正常。原因很简单普通网线的线对绞合节距、屏蔽结构和工业标准网线不同在强干扰环境下的抗干扰能力和信号质量都差一截。通信信号同样是信号质量差也会出现丢包、误码。还有的工程师在改造老设备时把EtherCAT的网线沿原来模拟量信号线的线槽走线槽里全是接触器和继电器控制线结果从站偶发掉线。后来他把网络拓扑整理成从主站到从站的线性连接尽量不交叉动力线又给电缆两端做了固定和接地问题就不再出现了。日常调试中如果碰到“抓不到信号”“信号偶发丢失”这类问题你先别急着怀疑协议栈或者软件先把物理层当成嫌疑最大的环节查一遍网线是不是工业级、水晶头是不是压接牢固、屏蔽层有没有良好接地、有没有和动力电缆平行长距离布线。这些物理层细节和高速PCB设计里的阻抗匹配、走线参考层、端接电阻本质上是在解决同一件事——保证信号在到达接收端时还足够干净能被正确识别。6. 现场抢修视角信号异常时应该按什么顺序查信号类型的知识在排故障时最派得上用场。一台设备停了、一个数值不对了快速判断该往哪个方向查是老师傅和新手拉开差距的地方。6.1 先分清是信号真没了还是接线和配置导致“看不见”遇到“中控没有数值”“偶尔没有信号”很多人的第一反应是怀疑传感器坏了。我的第一反应永远是先做信号分层排查。信号从现场到控制器一般要经过这么几段传感器或变送器本身现场接线和端子电缆柜内端子隔离器或者安全栅PLC/仪表模块然后才是程序或者组态画面。故障可能发生在任何一段别一上来就掏手机给厂家打电话。排查的顺序是程序画面里先看原始通道值。现在很多系统都能在线监视AI模块的原始工程量如果原始值也是坏的再往下找硬件问题如果原始值正常只是画面显示不对那问题在组态里——很可能是量程设置、报警死区或者工程单位换算出了问题。热搜里“PLC故障软件用什么常开还是常闭信号”其实也是类似思路程序里的逻辑和你读回来的输入信号不一定一一对应得先看清原始状态再谈逻辑。硬件层面的排查也有固定顺序先看模块状态指示灯再看接线端子有没有松动腐蚀然后用万用表或信号发生器去测。判断一个开关量通道是否好的老办法是把现场线拆了拿一小段导线直接短接信号端和公共端看模块通道灯亮不亮。短接灯能亮模块和程序基本就没问题问题在线缆或者传感器那端。6.2 屏蔽、接地、滤波与隔离保护信号的四道防线在信号链路稳定这件事上真正起作用的是四道防线屏蔽、接地、滤波、隔离。每道防线各有分工不要混着用。屏蔽层的作用是挡住空间电磁干扰。模拟量线、通信线的屏蔽层我都习惯在控制柜侧单端接地这样能把感应到的干扰泄放到大地又不会形成地环路。动力电缆单独走金属线槽不让它们和信号电缆平行长距离靠近比事后加滤波器更有效。滤波是针对已经混进信号里的干扰。PLC模拟量模块一般自带数字滤波功能比如设置一个50Hz的工频陷波或者一段时间的移动平均值。不过滤波是个双刃剑滤波太强、时间常数太大实时性会变差你在画面上看到的压力值半天不变可能不是现场压力真的稳而是被程序“滤”平了。隔离器的作用是断路电气联系。当现场设备和PLC不在同一个接地点、电位差较大时容易形成地环路电流干扰。信号隔离器或安全栅能切断前后的电气直连只传递信号很多疑难杂症加装一个隔离器就好了。别把所有希望都寄托在隔离器上隔离器本身也要供电、也算一个故障点但现场条件不具备重新布线时它确实是性价比最高的补救了。6.3 几个能救命的小习惯文章最后聊几个我在项目里吃过大亏后总结下来的小习惯效果是实打实的。第一做IO清单时把信号类型和传感器输出类型写进同一个表格。每个信号对应哪根线、接模块哪个通道、传感器是NPN还是PNP、是4-20mA还是PT100全部列成表格。不要嫌麻烦调试期你会感谢这张表。第二任何一次摘线前先拍照。尤其是多芯电缆、现场端子箱里的接线拆之前拍两张高清图装回去时对照照片故障时也能看着照片推测是哪一段的问题。别问为什么有一次我因为一个端子标号脱落查了三小时才发现只是线接错了位置。第三在新项目的调试阶段把上传到PLC之前的所有安全相关的硬件信号设成“故障安全”的思维模式去对待。安全回路的传感器和触点宁可物理上用常闭加上断线检测也不要为了省一根线让系统对断线视而不见。哪怕麻烦一点生命安全没有侥幸可讲。第四凡是铺在现场的通信线、模拟量线每一根电缆都做永久编号。套管打印可以用热缩管或者标签机线上编号和图纸编号必须一致。别以为现在记性好半年以后你自己看着一堆没有编号的电缆也会头大。我记得有一次被叫去处理一台故障压机现场操作工描述说“偶尔自动停有时候又好好的”。到现场我先不动设备翻出图纸看急停回路和安全门开关用的是常开还是常闭再拿万用表去量安全门开关两端电压结果发现安全门限位开关已经松动得只剩下一点点接触运行时一震动就断开系统就停。整个排查过程只花了不到半小时靠的其实就是信号分类和排查顺序这些基本功。很多时候复杂的故障并不需要高深的理论你只要把信号从源头到终点一步一步想清楚、查清楚问题自然就浮出来了。
返回列表