左边的屏幕显示的是理论指令曲线,右边屏幕显示的是根据解压数据还原出来的实际扭矩响应曲线。
在臂架空载和起步阶段,两条曲线完美重合,没有任何问题。
但随着播放进度条推进到录像第四十分钟,也就是臂架处于满载状态并且执行连续紧急制动动作的工况时,右边的实际扭矩响应曲线突然向下偏移。
上位机下达的指令是输出百分之九十的额定扭矩。
但还原出来的底层反馈数据显示,驱动器实际只输出了百分之七十五的扭矩,中间差了百分之十五。
“是不是通信丢包?”倪光楠走到工程师身后。
“查过了,CRC循环冗余校验全部通过,没有错码,没有丢包。”工程师摇头。
“这就好像上位机发过去一条指令,驱动器接收到了,但它自己把数值打了个折扣再执行。”
陈锋凑过来,看着那段产生偏差的时间轴,他调出当时长沙现场的物理环境变量记录表。
“第四十分钟,三号线车间处于全封闭状态,六十米泵车连续做了三次极限偏载伸缩测试。
当时设备运转的噪声极大,伺服电机的外壳温度极高。”
陈锋指着记录表上自己当时手写的备注。
“我当时碰了一下配电柜的外壳,非常烫手,配电柜散热风扇全负荷运转。”
倪光楠紧紧盯着那条向下偏移的曲线,他在大脑中快速构建三菱MR-J4驱动器的硬件拓扑结构。
从电流环、速度环、位置环,一直推导到最底层的绝缘栅双极型晶体管(IGBT)逆变模块。
他突然转身走向自己的办公桌,抽出一张白纸,拿起铅笔在上面画出一个简易的电路原理图。
“这不是通信丢包,也不是解码错误。”
倪光楠手中的铅笔重重戳在电路图上的IGBT模块位置。
他在模块旁边画了一个小小的方块,标上字母NTC。
“这是硬件层面的热保护切断机制,这是一种极其隐蔽的第三级指令嵌套。”
陈锋和几名核心工程师围拢过来。
倪光楠指着那个标有NTC的小方块解释。
“驱动器的核心功率器件是IGBT,在大电流连续满载急停制动的情况下,IGBT结温会急剧上升。
一旦超过摄氏一百二十度,管子就会当场烧穿击穿。”
“为了防止烧管子,三菱在IGBT模块紧挨着的散热器上,贴装了一个负温度系数热敏电阻,也就是NTC。
这个电阻将实时温度数据直接转化为电压信号,发送给驱动器内部的主控微处理器MCU。
注意,这个温度数据根本没有经过外部的SSCNET通信总线,上位机对此一无所知。”
倪光楠在白纸上画出一个箭头,从NTC指向MCU,并在MCU内部画了一个表格符号。
“驱动器的ROM芯片深处,固化着一张只读查找表,表里面写死了一套温度与扭矩上限的对应折损系数。
当温度达到八十五度,允许扭矩百分之百。
当温度达到九十五度,最大允许扭矩强制削减为百分之七十五。
当温度达到一百一十度,强制切断脉冲输出,直接抱闸报警。”
陈锋听完,后背瞬间渗出一层冷汗。
他完全明白了事情的严重性。
“我们的盘古控制器如果要替代西门子,通过转译层向三菱伺服发送指令,这中间存在一个致命的逻辑盲区。”陈锋有些严肃的说道。
“是的。”倪光楠面色铁青。
“盘古作为上位大脑,不知道驱动器的实时温度,因为它抓不到温度包。
如果出现满载急停的极端工况,盘古按照力学模型计算,要求输出百分之九十的扭矩来撑住六十米的臂架。”
倪光楠停顿了一下,铅笔在纸上画了一个断裂的叉号。
“盘古把指令发过去,驱动器收到指令,但它自己测到温度是九十五度,触发了硬件固化的查找表,擅自把输出扭矩砍到了百分之七十五。
结果就是,指令给的是够的,实际出的力不够。
支撑不住重力,液压阀口开度异常,整条六十米的重型钢铁臂架会瞬间失速下坠,直接当场折断。
几吨重的钢铁砸下来,后果不敢想象。”
整个主控台区域死一般寂静。
这是跨国巨头设置的最恶毒的壁垒。
他们不仅封锁通信协议,还把最核心的安全保护机制,固化在最底层的物理硬件和ROM芯片里。
你就算破解了他们所有的通信密码,只要不掌握他藏在黑盒里的这张温度查找表,控制系统就永远是一颗随时会引爆的不定时炸弹。
何俊最担心的风险,就在这里。
他当初强调,必须确保泵车臂架的绝对安全,中联重科承受不起折断的物理代价。
转译层方案走到了死胡同边缘。
要想保证万无一失,盘古控制器内部的FPGA逻辑中,必须预先内置这张一模一样的三菱温度扭矩查找表。
在下发指令前,盘古就能提前预判到驱动器的折损动作,从而通过调整其他液压缸的协同联动,来弥补这部分扭矩损失,或者提前发出预警停止动作。
“倪老,咱们必须拿到这张表。”陈锋看着白纸上的结构图。
“有两种方式。”倪光楠在纸上写下A和B。
“方案B,用现有的全量数据去硬算反推。
建立一个温度变化随时间推移的数学模型。
但这需要海量的数据支撑,需要中联重科那台泵车在各种极端温度下,反复执行几十次满载伸缩和急停动作。
让启航去抓不同状态下的指令偏差,然后把整张表一点点试出来。”
陈锋摇头。
“这不可能,中联的何俊上次只给了我们两个小时,现场环境不允许我们长时间独占产线去烤机试极限。
而且温度这个变量很难精准控制,试出来的表一定会有误差。
工业控制容不下万分之一的误差。”
“那就只剩方案A了。”倪光楠把铅笔放在桌面上。
“拿到一台MR-J4驱动器的实物硬件,直接用物理探针接入它的主板底座,读取内部ROM芯片里的十六进制固件全码。
把固件码进行逆向反汇编,把那张藏在机器码深处的查找表原封不动地提出来。”
必须要拆解实物,没有任何取巧的余地。