资讯中心

工业相机触发模式全解析:PLC信号触发与PTP同步的五种方案

📅 2026/9/28 14:42:20
工业相机触发模式全解析:PLC信号触发与PTP同步的五种方案
工业相机触发模式这个话题看起来只是接根线让相机拍照这么简单但真正在产线上跑过项目的人都知道触发方案选错了后面调试能把人逼疯。我做过几个视觉检测项目从最简单的光电开关硬触发到后来用PLC做时序控制再到多相机产线用PTP做同步每一种方案背后都有它适合的场景和一堆容易踩的坑。这篇内容就把工业相机触发这件事从头到尾讲清楚围绕PLC信号触发和PTP同步这两条主线展开五种实际可落地的接线与配置方案同时把触发模式的核心原理、参数计算、常见故障排查都揉进去。不管你是刚接触工业视觉的新手还是已经做过几个项目想补齐同步方案这块短板的老手应该都能从里面找到能直接用的东西。1. 触发模式到底在解决什么问题1.1 自由运行与触发的本质区别工业相机最基础的采集方式叫自由运行Free Run也就是相机自己按设定的帧率不停地拍拍到什么算什么。这种方式在监控场景里没问题但在工业检测里几乎不能用。原因很直接产线上的工件是运动的你需要在工件到达相机视野正中央的那一刻拍照早一点晚一点图像里的工件位置就偏了后续的测量、定位、缺陷检测全部会受影响。触发模式要解决的核心问题就是让相机在正确的时间点曝光。这个正确的时间点来自外部信号可能是光电传感器检测到工件到位可能是PLC发出的一个脉冲也可能是整个系统统一的时间基准。相机收到这个信号之后才执行一次曝光和读出。这里有个概念需要先厘清触发信号控制的是曝光起始时刻不是读出时刻。很多人调试时会混淆这两者以为发了触发信号相机就立刻出图实际上从触发到图像传输完成中间有曝光时间、读出时间、传输时间这几段延迟。理解这个链路后面算时序才不会出错。1.2 五种触发方案的全景对比在展开细节之前先把这五种方案摆在一起看方便你判断自己的项目该选哪条路。方案编号触发源接线方式典型延迟适用场景方案一光电传感器直接触发传感器信号线接相机IO微秒级单相机、工件到位检测方案二PLC晶体管输出触发PLC输出点接相机光耦输入毫秒级需要逻辑判断的产线方案三PLC通过工业以太网软触发网线传输触发命令数毫秒多工位、参数需动态调整方案四编码器同步触发编码器脉冲分频后接相机与运动同步连续运动、等间距拍摄方案五PTP同步触发网络时间同步统一触发亚微秒级同步多相机、多设备协同这张表里的延迟数据是量级参考实际值跟具体硬件型号关系很大。方案一到方案三属于信号触发范畴方案四属于运动同步范畴方案五属于时间同步范畴。三者解决的不是同一个层面的问题选型时先想清楚你的核心矛盾是什么。1.3 选型前必须问自己的三个问题我在项目启动阶段一定会确认这三件事任何一个没想清楚后面都可能返工。第一触发精度要求是多少。如果工件运动速度是0.5米每秒允许的位置误差是1毫米那时间精度要求就是2毫秒。这个精度用PLC输出触发完全够用。但如果允许误差是0.05毫米时间精度就要到100微秒这时候PLC的扫描周期就成了瓶颈得考虑硬件触发或者编码器方案。第二触发信号和相机之间的距离有多远。几米以内普通IO线就能搞定。几十米的话信号衰减和干扰问题就出来了这时候走网络触发反而更稳。第三系统里有没有多台设备需要协同。单相机单PLC方案二就够了。但如果产线两端各有一台相机要求它们在同一时刻曝光那就必须上PTP否则两台相机的时间基准不一致图像对不上。2. 方案一与方案二从传感器直连到PLC逻辑触发2.1 光电传感器直连相机的接线细节这是最朴素的方案光电传感器检测到工件输出一个开关信号直接接到相机的触发输入引脚。相机的IO接口通常是光耦隔离输入需要一定的驱动电流一般是5到15毫安。接线时要注意传感器的输出类型NPN和PNP接法完全不同。NPN传感器输出的是低电平有效信号接线时传感器输出接相机触发输入相机输入的公共端接电源正极。PNP传感器输出高电平有效公共端接电源负极。接反了相机收不到触发但也不会烧只是不工作这个错误我见过太多次。相机端的触发输入一般有三根线触发信号线、公共端、以及可选的电源线。具体引脚定义每家的相机都不一样Basler的相机通常用Hirose 6pin或12pin接口海康的用12pin航空插头居多。接线前一定翻手册确认引脚不要凭经验猜。提示传感器直连相机时建议在触发信号线上串联一个100欧姆左右的限流电阻尤其是传感器供电电压高于相机IO额定电压时。虽然多数相机IO有保护但长期过压会缩短光耦寿命。这个方案的优点是延迟极低传感器响应时间加上相机触发响应时间通常在几十微秒量级。缺点是没有任何逻辑处理能力传感器一响相机就拍如果产线上有干扰导致传感器误触发相机就会拍到空图。2.2 PLC晶体管输出触发的完整链路当产线需要工件到位且工位空闲才拍照这种逻辑判断时就得让PLC来当触发源。这里有个关键点必须用晶体管输出型PLC不能用继电器输出型。继电器输出的响应时间是毫秒到十几毫秒而且机械触点有寿命限制频繁触发很快就会坏。晶体管输出响应时间在微秒级适合做触发信号。西门子S7-1200的DC/DC/DC型号、三菱FX5U的晶体管输出型号、汇川的AM系列都是常见选择。接线逻辑是这样的PLC的晶体管输出点比如Q0.0接到相机的触发输入正极PLC的0V接到相机触发输入的公共负极。PLC程序里当到位传感器信号和工位空闲信号同时满足时置位Q0.0延时几个毫秒后复位形成一个脉冲。这个脉冲宽度很关键。太窄了相机可能来不及响应太宽了可能触发多次。一般设置5到20毫秒比较稳妥具体看相机手册里要求的最小触发脉宽。Basler相机通常要求触发脉冲至少几个微秒但实际工程中留足余量更安全。PLC程序里我习惯用一个定时器来做脉冲整形而不是直接置位复位。因为PLC扫描周期是毫秒级如果程序里同时有多个逻辑分支直接置位复位可能导致脉冲宽度不稳定。用TON定时器设定时间到才复位脉冲宽度就固定了。2.3 光耦隔离与电平匹配的实操要点PLC输出是24V电平相机触发输入通常是5V或12V电平直接接会烧相机IO。所以中间必须做电平转换或者隔离。最省事的办法是用光耦隔离模块输入端接PLC的24V输出输出端接相机IO。这种模块市面上很多选响应时间小于10微秒的型号就行。另一种办法是用相机的IO模块有些相机厂商提供专门的IO扩展盒内部已经做好了电平转换和隔离接线更简单但成本高一些。如果PLC输出和相机输入都是24V那可以直接接但要注意共地问题。PLC的0V和相机的0V必须连在一起否则信号没有参考电平相机收不到有效触发。这个共地线不能省我见过有人只接信号线不接共地调试半天找不到原因。还有一种情况是相机IO支持宽电压输入比如12到24V都能识别那就可以直接接PLC输出。但即便如此也建议加隔离因为产线上的感性负载电磁阀、接触器会产生反向电动势可能通过地线串扰到相机。2.4 触发延迟的实测与补偿PLC触发方案的延迟主要来自三部分PLC输出响应时间、光耦隔离模块延迟、相机触发响应时间。加起来通常在1到5毫秒之间。这个延迟在低速产线上可以忽略但在高速产线上必须补偿。补偿的方法有两种一种是在PLC程序里提前发触发信号比如工件还没到但根据编码器位置预判它会在延迟后到达就提前触发。另一种是在视觉算法里做位置补偿根据延迟时间和产线速度把检测结果沿运动方向偏移相应的距离。我一般优先用第一种方法因为它在图像层面就消除了偏差后续算法不用改。但提前触发的前提是产线速度稳定如果速度波动大预判就不准了。3. 方案三走网络的软触发与PLC通讯配置3.1 软触发的适用边界软触发是指触发命令通过通讯接口发送而不是通过硬件IO。工业相机常见的软触发接口有GigE Vision、USB3 Vision、Camera Link等其中GigE Vision因为布线方便、距离远在产线上用得最多。软触发的优势很明显不需要额外接线触发参数可以通过程序动态调整还能同时控制多台相机。但它的劣势同样明显延迟比硬件触发大而且延迟不稳定。延迟大的原因是命令要经过协议栈打包、网络传输、相机解析这几个环节。在千兆网环境下一次软触发的延迟通常在2到10毫秒而且受网络负载影响会波动。所以软触发适合对时间精度要求不高的场景比如静态检测、低速产线、或者触发频率很低的场合。3.2 PLC与相机建立通讯的两种路径PLC要发软触发命令给相机中间需要一条通讯链路。常见的有两种做法。第一种是PLC直接和相机通讯。如果PLC支持GigE Vision协议或者厂商提供了相机控制库可以直接在PLC程序里调用。但这种情况比较少因为大多数PLC不原生支持视觉协议。第二种是PLC和上位机通讯上位机再控制相机。这是更常见的架构。PLC通过Modbus TCP、Profinet或者EtherNet/IP把触发请求发给上位机软件上位机软件调用相机SDK发软触发命令。这种架构灵活上位机可以做复杂的逻辑判断和参数计算但多了一层通讯延迟又增加了。我做过的一个项目是西门子S7-1500通过Profinet和上位机通讯上位机用C#调用海康相机SDK。整个链路从PLC发出请求到相机曝光实测延迟在8到15毫秒。这个延迟对于当时的产线速度0.3米每秒来说位置偏差在2到4毫米通过算法补偿可以接受。3.3 网络配置中最容易翻车的几个点工业相机插上网线之后连不上这是新手最常遇到的问题。排查顺序我一般是这样的。先看网口指示灯亮不亮。不亮的话检查网线是不是好的交换机端口是不是通的。亮了但连不上就看IP地址。相机出厂默认IP通常是192.168.1.x或者169.254.x.x网段电脑的网卡IP必须和相机在同一网段而且子网掩码要一致。这里有个坑很多人电脑上装了多个网卡有线网卡和无线网卡同时开着路由表里默认走无线路由导致访问相机的数据包发到了错误的网卡。解决办法是在电脑上把无线网卡禁用或者手动添加一条静态路由把相机网段指向有线网卡。还有一个坑是巨帧Jumbo Frame设置。千兆网传输图像数据时开启巨帧能显著降低CPU占用和丢包率。但巨帧需要在相机、电脑网卡、交换机三处都开启任何一处没开大包就会被分片反而可能出问题。我一般建议在调试阶段先不开巨帧等通讯稳定了再开避免引入额外变量。注意如果相机和PLC在同一个交换机下而PLC的通讯周期又比较快可能会和相机的图像传输抢带宽。条件允许的话视觉系统单独用一个交换机或者用支持VLAN的交换机做隔离。3.4 软触发的时序稳定性优化软触发最大的问题是延迟不稳定优化方向就是减少延迟的波动。第一把相机的触发模式设为触发后立即传输不要用触发后缓存再传输后者会引入额外的缓冲延迟。第二在上位机软件里用高优先级线程处理触发命令避免被其他任务抢占。Windows系统不是实时系统线程调度有不确定性如果对稳定性要求极高可以考虑用实时Linux或者带RT内核的系统。第三减少网络中的其他流量。视觉系统的网络里不要跑其他大流量业务如果必须共用用QoS给相机数据流设高优先级。第四如果PLC和上位机之间的通讯也走网络考虑把触发请求和图像传输分到不同的网段或VLAN避免相互影响。4. 方案四编码器同步触发与运动匹配4.1 编码器触发的工作原理当工件在传送带上连续运动需要等间距拍照时编码器触发是最合适的方案。编码器安装在传送带的驱动轴上传送带每移动固定距离编码器输出固定数量的脉冲。把这个脉冲分频之后接到相机触发输入相机就会在工件每移动固定距离时拍一张。这个方案的核心参数是分频系数。假设编码器每转输出2500个脉冲驱动轴周长是200毫米那么每个脉冲对应0.08毫米的位移。如果我想每2毫米拍一张分频系数就是2除以0.08等于25。也就是每25个编码器脉冲输出一个相机触发信号。分频可以用硬件分频器实现也可以用PLC的高速计数器加程序分频。硬件分频器延迟低、稳定性好但参数固定改起来麻烦。PLC分频灵活但受扫描周期限制高速时可能丢脉冲。我一般建议脉冲频率超过50kHz时用硬件分频低于这个值可以用PLC。4.2 编码器信号接入PLC高速计数模块如果选择PLC分频方案编码器信号要接入PLC的高速计数模块不能用普通输入点。普通输入点的响应频率通常只有几十赫兹到几百赫兹编码器脉冲频率动辄几千上万赫兹接普通点根本计不到数。西门子S7-1200自带的高速计数器可以到100kHzS7-1500的工艺模块可以到1MHz。三菱FX5U的高速计数输入可以到200kHz。选型时要确认编码器脉冲频率在PLC高速计数能力范围内。接线方面编码器通常是差分输出A、A-、B、B-也有单端输出A、B。差分输出抗干扰能力强传输距离远推荐使用。接入PLC时差分信号要接到支持差分的输入点或者用差分转单端的模块转换。PLC程序里用高速计数器计编码器脉冲当计数值达到分频系数时输出一个触发脉冲并复位计数器。这里要注意高速计数器的复位不能影响计数连续性要用比较指令而不是中断复位否则高速时可能丢计数。4.3 运动方向变化时的处理编码器方案有个容易被忽略的问题当传送带反向运动或者抖动时编码器会输出反向脉冲如果PLC不判断方向就会误触发。解决办法是用编码器的A、B两相做方向判断。A相超前B相90度时是正转B相超前A相时是反转。PLC程序里根据相位关系决定是加计数还是减计数只有正转时才触发相机。另一个问题是传送带启停时的加减速。启动阶段速度不稳定如果这时候触发拍到的图像间距不均匀。我一般会在PLC程序里加一个速度判断只有速度稳定在设定值附近时才允许触发。或者用编码器的Z相每转一个脉冲做基准从Z相之后开始计数保证每次拍照的起始位置一致。4.4 编码器触发与频闪光源的配合编码器触发拍运动物体时如果曝光时间太长图像会拖影。假设产线速度是1米每秒曝光时间是1毫秒那图像上的运动模糊就是1毫米。对于精密检测来说这个模糊量太大了。解决办法是缩短曝光时间同时用频闪光源补光。频闪光源的触发信号和相机触发信号同步相机曝光时光源瞬间点亮曝光结束后光源熄灭。这样既保证了曝光量又缩短了有效曝光时间。频闪光源的触发延迟要和相机曝光起始对齐。有些光源有延迟调节功能可以根据实际效果微调。如果光源延迟不可调可以在PLC程序里给光源触发信号加一个偏移量让光源提前或延后点亮。5. 方案五PTP同步在多相机系统中的应用5.1 PTP授时的基本原理PTP是IEEE 1588标准的精确时间协议它的核心思想是让网络中的所有设备共享同一个时间基准。主时钟设备周期性地发送同步报文从时钟设备根据报文的收发时间戳计算自己与主时钟的时间偏差然后调整本地时钟。这个过程听起来简单但要做到亚微秒级同步需要硬件支持时间戳。普通网卡的时间戳是在软件层打的受操作系统调度影响精度只能到毫秒级。支持PTP的网卡在物理层打时间戳精度可以到纳秒级。工业相机里Basler的ace系列、海康的MV系列部分型号支持PTP。PLC方面西门子S7-1500、倍福的TwinCAT系统都支持PTP。选型时要确认设备是否支持硬件时间戳只支持软件时间戳的设备做PTP意义不大。5.2 多相机同步触发的实现方式多相机PTP同步的典型架构是这样的选一台设备作为主时钟通常是PLC或者专用的时钟服务器其他相机和PLC都作为从时钟。所有设备通过支持PTP的交换机连接交换机也要支持PTP透传否则报文在交换机里的驻留时间会引入误差。同步建立之后PLC在某个绝对时刻发送触发命令这个命令里包含一个预定触发时间。所有相机收到命令后不是立即触发而是等到本地时钟到达预定时间才触发。由于所有相机的时钟已经同步它们会在同一时刻曝光。这个方案的同步精度取决于PTP同步精度和触发命令的传输延迟。在理想情况下同步精度可以做到100纳秒以内。对于大多数工业视觉应用来说这个精度远远够用。5.3 PTP网络配置的实操步骤配置PTP网络时我一般按这个顺序来。第一步确认所有设备支持PTP并且固件版本兼容。不同厂商的PTP实现可能有差异混用时要特别小心。第二步规划网络拓扑。PTP对网络结构敏感建议用星型拓扑所有设备接到同一台支持PTP的交换机上。不要用级联太多层的交换机每多一层就多一份驻留时间误差。第三步配置主时钟。在PLC或者时钟服务器上启用PTP主时钟模式设置时钟等级和优先级。时钟等级数值越小优先级越高一般主时钟设为1或者2。第四步配置从时钟。在相机上启用PTP从时钟模式设置同步周期。同步周期越短同步精度越高但网络负载也越大。一般设为一秒一次或者两秒一次。第五步验证同步状态。大多数支持PTP的设备都有状态指示可以看到是否同步成功、时间偏差是多少。如果偏差持续大于1微秒就要检查网络配置。5.4 PTP同步失败的排查思路PTP同步不上原因通常在这几个地方。交换机不支持PTP透传。这是最常见的问题。普通交换机对PTP报文一视同仁排队转发驻留时间不确定导致同步精度极差甚至无法同步。解决办法是换支持PTP的交换机或者在交换机上启用PTP透传功能。网络中有其他大流量数据。PTP报文很小但如果网络拥塞报文排队延迟会增加影响同步精度。建议把PTP流量和图像数据流分到不同的VLAN或者用QoS给PTP报文设最高优先级。设备时钟等级配置冲突。如果网络中有多个设备都配置为主时钟或者时钟等级设置不合理会出现主时钟选举震荡同步无法稳定。确保只有一个主时钟其他都是从时钟。防火墙或者安全软件拦截了PTP报文。PTP使用UDP端口319和320如果电脑上有防火墙要确保这两个端口没有被拦截。6. 触发方案选型与现场调试经验6.1 按产线速度反推触发方案选型时最实用的方法是从产线速度反推。我整理了一个对照关系可以直接参考。产线速度允许位置误差时间精度要求推荐方案小于0.2米每秒1毫米5毫秒方案二或方案三0.2到1米每秒0.5毫米0.5毫秒方案二加补偿1到3米每秒0.2毫米70微秒方案四编码器大于3米每秒0.1毫米30微秒方案四或方案五多相机协同任意小于1微秒方案五PTP这个表是经验值实际选型还要考虑成本、开发难度、维护便利性。方案五的硬件成本最高但如果产线本身就需要多相机协同这个投入是值得的。6.2 触发信号质量的实际测量触发信号质量直接影响触发稳定性但很多人不测量凭感觉调。我建议用示波器看一下触发波形。测量点是相机触发输入引脚。正常的触发波形应该是干净的方波上升沿和下降沿陡峭没有振铃和毛刺。如果波形上有毛刺可能是信号线太长、没有屏蔽、或者附近有干扰源。解决办法是缩短线缆、用屏蔽线、加磁环、或者在信号线上并联小电容滤波。如果波形上升沿太缓可能是驱动能力不足。光耦隔离模块的输出驱动能力有限如果线缆电容大上升沿就会变缓。这时候要换驱动能力更强的模块或者缩短线缆。触发脉冲的宽度也要确认。用示波器测量脉冲宽度确保在相机要求的最小脉宽之上同时不要宽到影响下一次触发。我一般设置在最小脉宽的3到5倍留足余量。6.3 常见触发故障的排查链路相机不触发排查顺序我一般是这样的。先看相机状态。相机软件里能看到触发信号计数如果计数在增加但不出图说明触发收到了但曝光或传输有问题。如果计数不增加说明触发信号没到相机。再看信号源。用万用表或者示波器测量信号源输出确认信号源本身在工作。如果信号源正常问题就在线缆或相机IO。然后查线缆。用万用表测通断确认信号线和共地线都通。如果线缆中间有接头检查接头是否松动或氧化。最后查配置。相机的触发模式是否设为外部触发触发极性是否匹配上升沿还是下降沿触发延迟是否设得太大。这些参数在相机软件里都能看到逐项确认。我遇到过一次很奇怪的问题相机偶尔触发偶尔不触发换了线缆、换了传感器都没用。最后发现是PLC程序里触发脉冲的定时器被另一个逻辑分支复位了导致脉冲宽度时有时无。这种问题只能靠仔细审查程序逻辑来解决。6.4 长期运行稳定性的保障措施触发系统跑起来不难难的是长期稳定运行。我一般会做这几件事。第一所有接线端子定期检查紧固。产线上的振动会导致端子松动信号时断时续。尤其是PLC输出端和相机输入端这两个地方电流不大但接触电阻要求高。第二触发信号线远离动力线。动力线里的电流变化会产生电磁干扰如果触发线和动力线平行走线干扰会耦合进来。至少保持20厘米以上的距离交叉时尽量垂直交叉。第三在PLC程序里加触发计数和超时报警。如果连续一段时间没有触发信号或者触发频率异常就报警提示检查。这样能在故障初期就发现避免批量漏检。第四定期用示波器复查触发波形。产线上的设备会老化传感器响应时间会变长线缆屏蔽层会磨损这些都会影响触发质量。定期复查能提前发现隐患。触发方案这件事说到底是在精度、成本、开发难度之间找平衡。没有哪种方案是万能的关键是搞清楚自己的核心需求是什么。我个人的经验是能用硬件触发就不用软触发能用简单方案就不用复杂方案因为每多一个环节就多一个故障点。PTP同步虽然精度高但配置复杂如果单相机加PLC就能解决的问题没必要上PTP。反过来如果产线确实需要多相机协同那PTP就是绕不过去的选择早点把网络基础设施搭好后面会省很多事。

看完文章,想为自己的企业也做一次专业网站诊断?

尧图顾问免费为您评估现有网站,并给出建站/改版建议与报价方案。

免费获取方案