然后在笔记本上记录。
模块名称:张力控制模块v1.0
功能描述:根据设定值与反馈值的偏差,自动调节电机转速,维持恒定张力
输入输出:设定值(模拟量)、反馈值(模拟量)、使能信号(开关量)、输出控制量(模拟量)
逻辑步骤:8步
特殊要求:支持pId参数在线调整
写完,他把图纸翻到下一页。
这是同一个产线的不同部分,张力控制回路的另一种实现方式。
用的是不同的传感器、不同的调节器结构,但核心逻辑是一样的。
偏差→计算→输出。
他在笔记本上又加了一行:对比方案A用模拟pId,方案b用开关式调节。建议通用模块同时支持两种模式,可配置。
然后换下一张图纸,同一个产线的不同部分,不同产线的同一功能,来回比对。
找共性,也找差异。
共性的东西做成通用模块,差异的东西做成可配置参数。
这个过程,枯燥、繁琐、费眼睛。
看久了,眼睛酸得直流泪。
吕辰从抽屉里摸出一瓶眼药水,仰头滴了两滴,闭了一会儿眼,再睁开,继续看。
旁边的老周也在滴眼药水,两个人对视一眼,苦笑了一下,谁都没说话。
每隔一段时间,会有人站起来,拿着笔记本走到旁边的黑板前。
“大家看一下,我发现一个东西。”
然后他在黑板上画一个简化的逻辑图。
几个人围过来,看着黑板,翻自己的笔记本,确认自己看到的和这个人看到的是不是一样。
如果一样,就在笔记本上打个勾。
如果不一样,就讨论,是图纸不同?还是理解不同?还是真的存在差异?有时候争论起来,声音越来越大,隔壁办公室的人都过来看。
赵老师带队去了架桥机项目,李师兄就是临时的“裁判长”。
他听两边说完,翻开自己的笔记本,找出相关的记录,给出判断。
争论完了,结论记下来,大家回去继续看。
吕辰今天发现了一个有意思的东西,首钢热处理线的升温控制回路,和鞍钢的完全不一样。
首钢用的是“三段式”升温,快速升温到设定值的80%,然后慢速逼近,最后进入保温阶段。
鞍钢用的是“恒定功率”升温,简单粗暴,但温度过冲大。
他在黑板上画了两条曲线,一条陡峭但有尖峰,一条平缓但时间长。
“两种思路,各有优劣。”他指着曲线说,“首钢的方案精度高,但逻辑复杂,需要三个比较器、一个定时器、一个状态机。鞍钢的方案简单,但温度过冲大,对某些钢材不合适。”
李师兄站起来,走到黑板前,拿起粉笔在两条曲线下面各写了一行字。
“首钢方案:精度优先。鞍钢方案:速度优先。”
他转过身,看着屋里的人:“通用模块能不能同时支持两种模式?让用户自己选。”
吕辰想了想,在笔记本上写下:“升温控制模块支持‘三段式’和‘恒定功率’两种模式,可配置。建议硬件支持多路比较器、可编程状态机。”
旁边有人举手:“如果两种模式都不够用呢?用户想自定义升温曲线怎么办?”
吕辰又加了一行:“预留‘自定义曲线’接口,用户可自行设定升温速率和保温点。”
讨论持续了十几分钟,最后定下来的方案写了满满一页纸。
李师兄把结论抄在黑板上,让大家各自记下来,然后散了,回去继续看图纸。
旁边的微程序编写室,是另一个战场。
分析大厅的人写的是“伪代码”,不是计算机能直接识别的指令,而是人类能读懂的逻辑步骤。
比如:
步骤1:读入温度传感器信号
步骤2:与设定值(1500度)比较
步骤3:如果高于设定值,跳转到步骤4;否则跳转到步骤5
步骤4:输出“切断加热”信号,启动定时器
步骤5:等待10秒
步骤6:再读一次
步骤7:如果仍然高于设定值,输出“报警”信号
这个“伪代码”,分析人员能看懂,但计算机不认识。
微程序编写室的人,负责把这个“伪代码”翻译成编程机能识别的“汇编语言”,然后编译成机器码,最后打在二维卡上。
四五个编程机一字排开,每台前面坐着一个人。
有的在翻分析人员送来的笔记本,有的在键盘上敲指令,有的在调试,有的在打孔。
编程机连着二维卡打孔机,嗡嗡地响。
操作员把一张空白卡片塞进去,机器“咔嗒咔嗒”地打孔,打完一张,弹出来,放进