摘要:做了十几年机械控制,见过太多设备因为控制器选型不对,性能上不去还天天出问题。不少中级工程师对控制器的理解还停留在参数表上,本文整理了几个实际项目里踩过的坑,都是拿真金白银换回来的经验。
别光盯着算力:控制器的核心是实时性匹配
很多人选控制器,上来第一句就问“主频多少?几个核心?存储多大?”仿佛参数越高,控制器就越好。
前年给一款锂电池极片高速分切机改控制方案,我手下的工程师一开始选了一款主频1GHz的四核控制器,参数比原来的旧款高了一倍,价格还便宜了15%,大家都觉得捡着便宜了。结果上机测试,分切速度跑到80m/min的时候,走刀偏差直接超出0.1mm的允许公差,换了伺服、调了增益,折腾了快两周,一点好转都没有。
最后拆了程序抓日志才发现问题。

这款控制器号称支持运动控制,实际上把运动线程挂在了通用Linux的非实时内核上,指令周期1ms的情况下,周期抖动最大能到2ms。按照GB/T 18775-2009 数控设备可靠性试验规范的要求,运动控制器的周期抖动必须控制在指令周期的10%以内,我们1ms的指令周期,要求抖动小于0.1ms,差了快20倍,怎么可能不出问题。
现在很多以太网总线控制器都标称支持EtherCAT,别听销售嘴炮。一定要拿实测的抖动数据。总线从站的同步误差,就是核心硬指标,算力再高,同步差了,高速运动肯定乱套。
不少国产小厂的控制器,拿普通工控板改一改就卖,实时性根本不做标定。坑死人。
IO接口的隐形坑:别忽略干扰和延迟的影响
控制器不是只管发脉冲给伺服就完事儿。外围IO的触发逻辑,才是现场故障的重灾区。
早几年做注塑机改造,客户要求换更先进的控制器,改完之后,总是莫名其妙出现提前射胶,每次都报废十几模料,一周下来废了快两吨ABS,老板脸都绿了。我们蹲在车间查了三天,一开始怀疑是接近开关坏了,换了好几个品牌都没用,最后查控制器输入的滤波参数,才发现原来默认的滤波参数是10ms,我们把接近开关和锁模的动力线走在了同一根线槽里,高压锁模的时候电磁干扰串进了信号线,干扰脉冲刚好超过了低滤波阈值,控制器就误收到了锁模完成信号。

说出来你可能不信,大部分人选IO只数数量够不够,从来不看每一路IO的隔离电压、滤波范围和固有延迟。
高速飞拍场景下,触发IO延迟超过10us,拍出来的图像就偏了,你后续算法再牛也救不回来。普通控制器用的是普通低速光电耦合做隔离,本身就有5-50us的固有延迟,高端控制器用高速磁隔离,延迟能压到1us以内,成本差一倍,性能差十倍。
说实话,我现在选型,不管项目大小,所有输入IO必须要求全隔离,隔离电压不低于2500VAC。这是血的教训。
还有PNP和NPN兼容的问题,刚工作那年我犯过一次错,选了全NPN输入的控制器,结果客户采购的电磁阀全是PNP输出,最后整排飞线改板,蹲在配电柜里焊了三个小时,焊完腰都直不起来,现在想想都懊恼。
二次开发的自由度:适配比全功能更重要

很多人选控制器,喜欢堆功能,要支持G代码,要支持机器人,要支持视觉,什么都要。结果真做定制开发的时候,发现根本接不进去。
去年帮客户做一款定制给袋式包装机,需要把视觉检测的袋位偏差实时补偿给走袋伺服,原来选的那款知名品牌控制器,什么功能都有,就是不开放实时修改运动轨迹的API,只开放了G代码调用,补偿延迟要等一个运动周期结束,出来的袋位偏差还是超差。最后没办法,只能换了一款开放底层运动接口的控制器,多花了两万多不说,整整耽误了三个月交付,违约金都赔了不少。
不过话说回来,也不是越开放越好。完全开源的控制器,让你自己做实时内核调度,一般中小厂家的开发团队根本hold不住,调稳定要半年,根本耗不起。找那种开放了上层运动控制API,底层实时性原厂已经帮你调好了的,就够大部分非标项目用了。
选控制器,先想清楚你的设备是什么定位。做标准设备,比如普通数控钻床,选封闭成熟的现成控制器就行,省心,备件好找,稳定性也有保证。做非标定制设备,比如新型的光伏串焊机、定制检测机器人,那一定要提前留够二次开发的余量,别省那几千块控制器的钱,后续改方案的成本,十倍都不止。
最后说句实在话。控制器就是机械的大脑,不是脑袋越聪明越好,能刚好匹配你需求的,就是最好的。做工程,从来都是选最合适的,不是选参数最好的,对吧。