ARTICLE DETAIL

资讯详情

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

TwinCAT ScopeView录波必知:Ring buffer设置与故障抓取实战

TwinCAT ScopeView录波必知:Ring buffer设置与故障抓取实战 1. ScopeView录波为什么绕不开Ring buffer从一次丢失故障说起搞工控的人应该都有过这种经历设备偶发故障停机抓波TwinCAT ScopeView开着盯了半天波形没抓到一停一查buffer里全是故障前后的无关数据关键的几十毫秒刚好被覆盖掉了。又或者终于录到了导出去一看采样率不够故障时的电流毛刺根本没体现。真正用熟ScopeView的人都知道录波这件事七分靠Ring buffer设置三分才是操作问题。我也是在反复丢了三次关键波形之后才把Ring buffer当作一个正经参数来研究而不是默认值能用就行。这篇内容就把我实际配置ScopeView录波、处理录波数据丢失、以及排查环境问题的完整思路梳理一遍希望能帮少走点弯路。ScopeView这个工具免费版就能满足大多数调试需求但它的工作方式和示波器完全不一样。很多人第一次用会把它当示波器用——看着波形等故障然后手动按停止。这在设备动作慢、故障周期长的情况下还能凑合但遇到高速轴抖动、几十毫秒内发生的IO误动作肉眼根本来不及反应。Ring buffer的意义就在于它一直在循环记录故障发生后你再去翻案卷而不是等着当场逮住它。1.1 录波的本质是先记录、后分析不是边看边记我先用自己的话把ScopeView的工作逻辑捋一遍因为理解这个后面所有参数设置才有依据。TwinCAT 3的ScopeView本质上是一个数据采集和可视化工具它通过ADS服务从实时系统里周期性读取你指定的变量然后在PC端把这些数据点按时间轴画出来。关键点在于读取是周期性的而显示是滞后于采集的。你看到屏幕上波形在实时滚动实际上那是从缓冲区里取出来的一部分。Ring buffer环形缓冲区就处在这个链路的核心位置。它是一段固定大小的内存数据不断往里写写满了就把最早的覆盖掉形成一个循环仓库。ScopeView默认就是在这种模式下工作的。每次你按下停止或者触发条件满足工具把buffer里当前保留下来的那一段数据固化下来变成你可以缩放、测量、导出的波形。所以问题来了如果buffer设置得太小故障发生前500毫秒的数据已经被后来的数据覆盖掉了如果触发条件设置得不对你停止时buffer里留下的可能是故障发生前的平静段真正有价值的动作段一点没留下。这些都是我在现场踩过的坑。1.2 Ring buffer在ScopeView里的实际作用链路ScopeView的数据链路可以拆成四段来理解实时侧采集TwinCAT运行时XAR里的任务按固定周期执行把变量值写到ADS符号表里。这是数据的源头采样精度直接受任务周期影响。传输链路ScopeView工具通过ADS与实时系统通信按你设定的采样间隔读取数据。这里有个容易忽略的问题ScopeView采集的采样率和PLC任务周期不是一回事它只是每隔N个周期取一个值。Ring buffer存储读到的数据先写入内存环形缓冲区。这是临时仓库容量有限循环覆盖。显示与导出工具把buffer里的数据绘制成波形停止或触发后将数据保存为ScopeView项目文件或导出CSV。Ring buffer在这个链条里承担的是蓄水池角色。自来水厂的水池不能太小太小了用水高峰就断水也不能说水池越大越好因为内存和性能都有代价。ScopeView的Ring buffer设置本质就是在记录时长和记录精度之间做平衡而这个平衡点要根据你抓什么故障来定。1.3 谁需要认真看待Ring buffer设置说实话如果只是调试阶段手动看几个变量波形默认设置完全够用不必过分较真。但下面这几种场景Ring buffer设置直接决定你能不能抓到有效数据伺服/驱动器偶发报警比如报过流、过载故障只持续几十毫秒可能一天只出现一两次。IO信号毛刺排查输入信号被干扰产生微秒级到毫秒级的误动作需要看故障前后各信号的真实时序。整机性能分析机械节拍抖动、周期超时需要长时间连续录波对比。远程诊断设备在客户现场你不在跟前只能靠触发录波把故障前后数据传回来。如果你正面临以上任何一种情况这篇内容的参数配合思路和排查方法应该直接能用。我自己就是从丢波形到次次都能抓到这么过来的方法不复杂但每一条都是拿现场故障喂出来的。2. Ring buffer参数之间的联动关系容量、采样率、时长、触发一项都不能拍脑袋设置Ring buffer最忌讳的就是凭感觉填。因为这几个参数是联动的采样率决定了时间分辨率buffer容量决定了能记录多长的历史触发条件决定了停止时保留哪一段而这些全部受限于内存和实时性能。我下面把这几个参数的数学关系和实际约束拆开讲。2.1 容量与采样率的数学关系ScopeView里你看到的大部分设置选项最终都归到一个等式上Buffer总数据点数 采样率 × 记录时长举个例子你怀疑伺服在某段轨迹中电流突变需要看故障前2秒的波形。如果采样率设定为1000 Hz每毫秒采一个点那单个通道就需要约2000个点的buffer容量。这看起来不大但注意这只是单通道。再往深处想一层采样率不是越高越好。1000 Hz意味着每毫秒采一个点而TwinCAT的任务周期可能是1毫秒、500微秒、甚至250微秒。如果你的采样率比任务周期还快实际上取到的是同一个值纯属浪费内存。反过来如果你要抓的是电流环层面的异常周期是62.5微秒那1000 Hz的采样率根本不够看至少要2000到4000 Hz才能看到波形细节。我给的建议是先确认现象持续时间再反推采样率最后定buffer容量。例如故障类型现象持续时间推荐采样率所需记录时长单通道buffer点数伺服过流报警10-50 ms2000 Hz2 s前后各1 s4000IO信号毛刺1-5 ms5000 Hz0.5 s2500节拍抖动分析数秒100 Hz30 s3000温度漂移趋势数小时1 Hz2 h7200这里面单通道点数都不夸张但多数情况下你不会只录一个通道。一录就是十几个通道那就得算总账了。2.2 触发条件决定buffer里存的是有用的还是无用的Ring buffer本身只是一个循环仓库真正决定仓库里留下什么货的是触发Trigger。这个我花了不少时间才想明白Ring buffer负责存触发负责停。触发条件满足后ScopeView停止覆盖把当前buffer内容保留下来触发条件没满足它就一直在循环写你手动停止时留下的那一段是当前时刻往前推buffer时长的数据。所以设置触发时有几个关键点触发源选什么变量作为触发信号。最好是故障发生的直接标志比如驱动器报警字、故障代码变量、某个极限信号。不要选太间接的量否则触发时刻和真正的故障时刻对不上。触发电平与边沿电平是选上升沿还是下降沿要看你的信号是0变1还是1变0。比如报警标志通常是0变1就是上升沿急停信号是1变0就是下降沿。选反了你怎么等都触发不了。预触发比例Pre-trigger这个参数决定了停止后保留多少故障前的数据。我个人的习惯是预触发占70%到80%因为排查故障时故障前因往往比故障后结果更重要。你要分析是什么引起了报警而不是只看报警后的波形。触发后锁定时长有些版本支持触发后继续记录一段时间再锁定用于保留故障后的恢复过程。如果你要分析复位过程、跟随误差收敛过程这个时间要留够。还有一个小技巧给触发加滞回hysteresis。如果触发信号在临界值附近抖动会导致反复触发、反复停止最后buffer里全是边界抖动段。加一点滞回例如触发条件从大于100变成从小于90跳到大于100才触发能滤掉很多干扰。2.3 多通道、多采样组并存时的内存预算ScopeView里你可以建多个Chart图表每个Chart下挂多个Channel不同Chart还可以设置不同的采样率。这个灵活性带来一个麻烦总内存消耗不是线性叠加。每个数据点默认以8字节LREAL存储再加上时间戳开销实际占用会比理论值多。我们算一笔账16个通道每通道4000点按8字节算就是16 × 4000 × 8 512 KB再加上时间戳和索引大概600 KB左右。这个量对PC内存来说不算什么但要注意的是ScopeView在传输和绘制时都会产生CPU负载通道多、点数多卡顿和丢点的风险就上来了。我实践下来有一条经验把需要长期看的低速通道和需要精确抓取的高速通道分开放在不同Chart里。低速的用1到100 Hz采样高速的用2000 Hz以上互不拖累。不要所有通道一股脑塞进同一个Chart统一采样率否则为了迁就高速通道低速通道白白占一堆buffer还拖慢刷新。3. TwinCAT 3 ScopeView配置Ring buffer的完整实操流程下面这套流程是在TwinCAT 3 XAE环境下的实际操作路径我按自己平时操作的顺序写菜单名称在不同版本里可能会有一点点差异但逻辑是通用的。3.1 创建Scope Project与添加通道首先在TwinCAT XAE里打开你的PLC项目确保运行时在Config Mode或Run Mode下能正常访问变量。然后在菜单栏找到Scope View工具通常在TWINCAT菜单下或者直接是工具栏里的ScopeView图标新建一个Scope Project。添加通道这一步是最容易出问题的。ScopeView添加Channel时你可以通过Symbol Browser符号浏览器从PLC项目里选变量也可以通过ADS地址直接添加。我建议用Symbol Browser在Channel列表空白处右键选择Add New Channel或通过拖拽方式添加。在弹出的符号浏览器里导航到你的PLC程序命名空间找到要监视的变量。注意结构体变量展开后可以单独挂成员比如挂一个轴的ActualPosition、ActualVelocity、Torque比挂整个结构体更灵活。确认每个变量的数据类型。ScopeView对整数、浮点、布尔都能处理但布尔变量的显示和触发阈值需要特别注意建议转成数值型再录。添加完通道后每个Channel会有一个Linked状态如果链接失败一般是变量路径变了或者PLC处于Stop状态。这个在后续排查空buffer问题时会再提到。3.2 设置采样率、Ring buffer容量与触发通道加好之后进入Chart的设置界面右键Chart选择Properties或Settings。这里有几个参数是录波的核心我逐个说Sample Time采样时间单位通常是毫秒。1000 Hz就是1 ms2000 Hz就是0.5 ms。这个值不能小于你数据源任务周期的整数倍关系实际上ScopeView是按每隔多少个PLC周期取一个数来工作的你把Sample Time设得比任务周期还短并不会得到更密的点只会造成重复值。所以先看你监视变量所在的任务周期再决定采样时间。Ring Buffer Size / Data Points直接填buffer容量。如果你要录2秒、1 ms采样就填2000要留裕量就填4000。有的版本这里填的是记录时间长度而不是点数注意看单位。Trigger Settings使能触发后选择触发源变量、触发边沿、电平和预触发比例。预触发比例我习惯填75%也就是停止后保留前75%的历史数据。Display Buffer与Storage Buffer分离有些版本里屏幕显示用的buffer和存储用的buffer是分开设置的。显示buffer可以小一点保证界面刷新流畅存储buffer按实际分析需求设置。这个分离设计很实用但很多人不知道结果为了显示流畅把存储buffer也缩减了白白丢了记录能力。设置完这些保存Scope Project然后点运行按钮开始采集。此时ScopeView会进入等待触发状态屏幕上的波形在循环滚动但这只是预览真正的记录要等触发发生后才会固化。3.3 运行、导出与离线分析触发发生后或你手动停止ScopeView会把你设置的buffer内容展示出来这时可以缩放、测量、对比多个通道的时序。这里我特别想强调导出环节。ScopeView支持导出为CSV文件或保存为ScopeView项目文件。我的习惯是两个都做先保存ScopeView项目文件保留所有设置和完整波形方便下次打开继续分析再导出CSV给同事或客户做进一步处理。导出CSV时注意三个坑CSV的分隔符中文Excel默认用逗号分隔但有些版本导出时用的是分号打开后全挤在一列里。用文本编辑器先看一眼头部确认分隔符。小数格式德国工控软件的CSV有时用小数点有时受系统区域设置影响变成逗号Excel打开后可能不识别。建议用数据处理软件导入时指定格式。文件大小长时间录波导出的CSV可能几十MBExcel打开会非常卡。可以先在ScopeView里裁剪出故障段再导出减少后续处理负担。离线分析时把故障前后的关键通道放在同一个Chart里对比先看触发点前后各通道的先后顺序基本能定位是谁先动、谁后动。这个分析方法比单纯看报警码高效得多。4. 常见问题排查数据丢失、空buffer、录波导致扫描抖动这一节是正文内容里最值钱的部分全部来自现场问题处理记录。每个问题我都按现象 → 排查链路 → 根因 → 解决来写。4.1 波形中间缺一块触发后buffer被覆盖现象录到的波形中间明显缺一段或者故障点附近的数据是断开的前后有跳变。排查链路首先查看触发发生的时间点和你关心的故障点是否对齐。如果触发点偏早故障还没发生时buffer就开始锁存了后续数据可能被新到的数据覆盖。查看buffer容量是否足够。如果容量只够记录1秒触发后又继续运行了2秒那触发后的数据会把预触发数据覆盖掉最后留下的是故障末尾到停止前的一段。检查是否误设了持续记录直到手动停止的模式在这个模式下触发只是打个标记并不是锁存。根因绝大多数情况是存储buffer × 触发后持续时间的账没算清。触发只是停止覆盖但如果buffer写满后你让它继续写老数据会被新数据顶掉。解决把触发模式改成触发即停止覆盖一般是Stop after Trigger并把buffer容量按预触发 事后继续观察时长的总和来设置。例如预触发占75%、事后继续观察0.5秒buffer就要按总时长来算。提示有一种特殊情况信号本身有高频抖动触发点被反复触发导致每次都在抖动段停止。这时给触发加滞回或触发延时能解决绝大部分录出来的波形反复是同一段的问题。4.2 停止后buffer为空触发从未满足现象等了半天故障也发生了但ScopeView停止后buffer里没有数据或者全是0、全是同一个值。排查链路先确认ScopeView是否真的在采集。看屏幕上的预览波形有没有变化——如果预览波形是一条直线说明通道链接就有问题。确认变量链接。PLC软件更新后变量路径可能变化Scope Project里保存的符号路径失效采集不到数据。重新Browse变量并更新链接。确认PLC处于Run状态。这个看起来像废话但真有不少人接好项目后忘了激活运行时ScopeView只采到了默认值。检查触发条件本身。边沿方向是否反了触发变量是不是报警字里你以为是的那一位电平阈值是否永远无法达到比如你设了大于100实际变量最大只有50我遇到过把触发信号选错位的报警字是16位整数我想看bit 2结果选了bit 3怎么都触发不了。查看ScopeView是否处于Arm状态。如果触发已经发生过一次有些配置下需要手动重新Arm才能再次等待触发。根因触发条件、变量链接、运行状态三步中至少有一处不对。最隐蔽的是触发源变量选错位或者边沿选反。解决把触发临时去掉先手动停止确认数据能录到再逐个恢复触发源、边沿、电平。这样二分定位比闷头猜快得多。我自己的排查顺序是先确认能录再确认能触发。4.3 录波让PLC扫描抖动采样任务优先级与批量传输现象打开ScopeView开始录波后设备动作明显变慢或者PLC任务周期监控里的Max Cycle Time变大甚至报任务超时。排查链路观察任务监控窗口TwinCAT的Real-Time Settings或Task的Cycle Time监控看哪个任务的实际周期被拉大。查看ScopeView里配置的通道总数总采样率。如果所有通道都以2000 Hz采样且变量分散在多个任务里ScopeView会跨任务读取每次读取都占用ADS通信。检查是否开启了过大的显示刷新率。显示Buffer刷新和波形绘制占用CPU特别是使用笔记本节能模式下降频后更加明显。根因ScopeView的采集与显示本身要占用CPU和ADS带宽。实时任务的抖动往往不是采集那一下超时而是ScopeView在其他核上频繁读写内存和绘制UI干扰了系统整体的缓存一致性。特别是Windows的DPC延迟在某些主板上会因为USB、网卡驱动异常而剧增。解决降低采样率能看趋势就不必上高频。把不需要的Chart关闭显示或暂停显示只保留采集。把TwinCAT的实时核与Windows核分开在Real-Time Settings里设置CPU隔离让Windows UI线程在其它核上跑避免实时任务受影响。如果录波期间设备动作异常优先排查DPC延迟和驱动问题再考虑ScopeView本身的负载。4.4 导出的CSV打不开、数据错位现象CSV导出后在Excel里打开乱码、数据挤在一列、或者时间戳和数值错位。排查链路用文本编辑器比如Notepad直接打开CSV看原始内容是逗号分隔还是分号分隔时间戳格式是毫秒数还是日期时间字符串。检查系统区域设置。中文系统下如果导出时用了英文区域设置小数分隔符可能是点用中文区域设置时可能是逗号。Excel在打开时用系统默认分隔符解析导致错位。数据量过大时Excel一个sheet最多一百多万行超过部分被截断或提示文件损坏。解决导出的CSV先用脚本预处理统一转为UTF-8编码、逗号分隔、小数用点或者直接用数据分析工具比如Python pandas、Notepad插件读取避免Excel的格式猜测。时间长、点位多的录波建议分时间段导出每个文件控制在Excel能处理的范围内。5. 一个容易被忽略的环境坑虚拟化环境与Win11的0x1024报错录波工具本身设置好了也不代表万事大吉。TwinCAT对运行环境极其敏感尤其是实时性。最近一两年在Windows 11上装TwinCAT 3的朋友很大概率遇到过Hyper-V相关的问题。这个话题看起来和Ring buffer无关但实际上它们是一根绳上的没有稳定的实时任务周期录波数据的时间戳就是不可信的你分析了半天可能分析的是一堆时间不连续的假波形。5.1 虚拟机里跑TwinCAT对录波意味着什么先说结论不要指望在虚拟机里跑TwinCAT满足严格的实时录波。TwinCAT的实时扩展需要直接访问硬件定时器、中断控制等资源在Hyper-V、VMware这些虚拟化环境里虚拟机的时间片和中断投递都是经过宿主机调度的实时任务周期很容易被宿主机上其他进程打断。之前有人在Hyper-V虚拟机里装TwinCAT 3点击Activate Configuration进入Run Mode时系统直接弹出提示大意是Setting TwinCAT in run mode inside Hyper-V (virtual machine) is not possible。这个弹窗的意思是TwinCAT检测到当前运行环境是Hyper-V虚拟机拒绝进入实时运行模式。原因就是Hyper-V占用了硬件虚拟化特性TwinCAT的实时引擎无法获得所需的硬件支持。对录波的影响更直接即使你能在虚拟机里勉强跑起来ScopeView里显示的采样时刻并不对应真实的物理时间任务的最大周期和最小周期差异可能达到几百微秒甚至毫秒级。你抓到的波形时间轴是虚拟时间在分析高速信号时序时完全没有意义。5.2 Windows 11开启Hyper-V后TwinCAT报0x1024的解决思路0x1024这个错误码在TwinCAT 3里经常出现在Windows 11 Hyper-V/VBS/Device Guard的场景。Windows 11默认开启了基于虚拟化的安全VBSHyper-V的Hypervisor会在系统启动时加载导致TwinCAT无法获得实时运行所需的环境。我处理过几台这样的机器排查思路如下第一步确认是不是Hypervisor被加载了在管理员命令行里执行bcdedit /enum {current}看输出里有没有hypervisorlaunchtype这一项以及它的值是Auto还是Off。如果是Auto说明Hypervisor在开机时就启动了。第二步关闭Hyper-V相关Windows功能打开启用或关闭Windows功能取消勾选以下项目Hyper-V包括Hyper-V管理工具和Hyper-V平台Windows虚拟机监控程序平台Windows Hypervisor Platform虚拟机平台Virtual Machine PlatformWindows沙盒Windows Sandbox如果你平时用WSL2或Docker Desktop需要注意WSL2依赖虚拟机平台关闭后WSL2和Docker Desktop会无法运行。这是关闭Hypervisor的副作用设备调试和生产环境一般可以接受但开发人员要权衡一下。第三步命令行关闭Hypervisor启动如果不想在Windows功能里反复勾选可以直接在管理员命令行里执行bcdedit /set hypervisorlaunchtype off然后重启电脑。此时系统不会加载HypervisorTwinCAT就能正常进入Run Mode。第四步检查Device Guard和Credential Guard有些机器即使关了Hyper-V0x1024还是出现那多半是内核隔离内存完整性或Credential Guard仍在运行。这些安全功能同样基于虚拟化技术。在Windows安全中心 → 设备安全性 → 内核隔离里关闭内存完整性必要时还要通过组策略或注册表禁用Credential Guard。第五步配置TwinCAT与Windows的CPU隔离解决完运行模式问题后回到实时性在TwinCAT的Real-Time Settings里把实时任务固定到专用CPU核并把Windows进程限制在其它核上。录波时再打开任务监控确认Max Cycle Time有没有明显波动。如果仍有抖动检查BIOS里的C-State、SpeedStep、超线程等电源管理选项把这些对实时性有影响的特性关闭。提示0x1024报错在TwinCAT 3.1.4024之前的版本更常见新版本对Hyper-V的检测更明确报错信息也会直接告诉你原因。如果版本过旧升级TwinCAT版本本身就能解决一部分问题。另外如果真的需要在虚拟机里做演示或培训可以考虑使用TwinCAT的仿真模式Simulation但记住仿真模式下的录波只能验证逻辑不能作为故障分析依据。5.3 虚拟化环境下录波结果的可靠性判断如果你因为各种原因不得不在虚拟化环境下跑录波至少要学会判断数据是否可靠。我的方法是看三个指标任务周期监控在TwinCAT的Task监控里看目标任务的Max Cycle Time和Average Cycle Time。如果Max超过设定周期1.5倍以上这份录波数据的时序可信度就低。ScopeView时间戳连续性导出CSV后检查时间戳间隔是否均匀。间隔突然跳变的区域对应的波形细节不可信。与现场现象交叉验证把录波里的事件先后顺序和设备实际表现对比如果对不上优先怀疑时间轴失真而不是怀疑真实信号。一句话总结录波工具再好实时环境不稳数据就是废的。环境问题永远是第一位要解决的。6. 实战经验抓偶发故障的三种姿势和我的参数习惯最后这部分分享三种我实际用过的录波姿势以及在具体项目里形成的一套参数习惯。不同场景用不同姿势能少做很多无用功。6.1 姿势一预触发大buffer守株待兔适用场景一天只出现一两次的偶发报警触发信号明确。我的配置参考参数数值说明采样率1000-2000 Hz覆盖绝大多数机电故障频段Buffer时长10 s预触发75%事后2.5 s触发源驱动器报警字/PLC报警变量上升沿通道数8-16只保留与故障强相关的信号这个姿势的核心是宁可多存不能漏掉。故障什么时候来不知道就让它一直循环录触发后锁存。我见过有人为了省内存把buffer缩到2秒结果故障前的启动过程没录到前因分析不了白录。Buffer容量在PC内存允许范围内尽量给大反正触发前不影响CPU负载。6.2 姿势二条件触发短buffer抓特定事件适用场景已知故障触发条件要在高速信号里看细节。比如伺服轴上料时被卡了一下需要看电流波形、位置跟随误差在卡顿瞬间的细节。这时可以把采样率提到5000 Hz以上buffer只保留0.5秒到1秒触发条件设为位置偏差超限。因为采样率高、buffer短内存占用反而不大但时间分辨率足够看清楚卡顿瞬间的电流尖峰和恢复过程。这个姿势的关键是触发条件必须选准。我的经验是如果PLC里有现成的故障前标志比如一个提前100毫秒置位的信号用那个信号做触发比用故障本身做触发能多看到前因。6.3 姿势三周期性录波做趋势分析适用场景设备运行参数缓慢漂移节拍越来越慢、温度越来越高。这种问题故障点不明确用触发方式反而抓不到因为变慢不是某个瞬间的事。我一般把采样率降到10到100 Hz每30分钟自动保存一段5分钟的波形连续跑一天然后对比各时段的周期分布找出漂移开始的时间点再结合当时的外部事件定位原因。这里我会打开ScopeView的自动保存或计划任务把数据存成带时间戳的文件文件名格式用设备号_日期_时段方便后期归档对比。6.4 我常用的几组参数和文件归档习惯经过几个项目反复调整我现在默认用下面这套参数再根据实际情况微调高速抓故障采样率2000 Hzbuffer 10 s预触发75%看电流/力矩细节采样率5000 Hzbuffer 2 s预触发50%整机节拍统计采样率50 Hzbuffer 5 min无触发长时趋势采样率1 Hzbuffer 2 h无触发文件管理方面我的习惯是在Scope Project里给每个Chart命名时直接标注设备信号组采样率比如X轴伺服_电流位置_2k。导出的文件统一放在按日期命名的文件夹里故障分析完把结论写进文件名末尾比如20250607_上料卡滞_原因_气缸到位延迟。这样三个月后翻旧账看文件名就能找到当时的分析结论不用重新打开波形再猜一遍。另外一个容易忽略的事项ScopeView项目和CSV记得和PLC程序版本对应起来。PLC程序更新过之后旧录波文件的变量名可能已经变了不记录下来过几个月自己都分不清。我在项目文件夹里放一个简单的文本说明记录本次录波对应的PLC程序版本和变量表版本长期维护时能省很多事。最后再分享一个小技巧录波时顺手录一个系统时间戳变量如果PLC里维护了的话或者录一个任务运行次数计数器。这样在对比多个波形文件时能准确对齐不同文件的时间基准避免因为ScopeView启动时刻不同而错位。这几个文件之间的时序关系一旦对齐很多看起来毫无关联的故障其实都能从时间上找到因果链。
返回列表