伺服压机控制系统软件架构怎么分?上位机与下位机的分工判据

# 伺服压机控制系统软件架构怎么分?上位机与下位机的分工判据

伺服压机控制系统的软件分两层:下位机管"这一轮必须做完的事",上位机管"给人看、给人改、给系统留痕的事"。判断一个任务该放哪一层,只有一条尺子——它晚一步执行,会不会出废品、会不会来不及。会,就放下位机;只影响记录和操作体验的,才放手给上位机。

## 一、上位机和下位机,各指什么

下位机指跑控制程序的那台控制器,它直接连着伺服驱动器、力与位移传感器、电磁阀,手里握着压装这一轮从头到尾的过程。

上位机指操作与数据层。单机设备上最常见的是工业触摸屏,设参数、看曲线、翻记录都在它上面;产线上有多台设备时,还会再配一台工业电脑当第二终端,做集中管控、批量编辑配方、远程看产线。

这两层不是上下级,是分工。下位机不该管报表长什么样,上位机也不该替压头决定下一步往哪走、走多快。

这套分法在伺服压机上比在普通设备上更要紧。普通设备的上位机改个参数,最坏结果是动作晚一点;伺服压机上参数就是过程本身,目标压力、目标位置、每段速度,改错一个数,压废的是工件。

## 二、一条判据,定一件事该归哪层

把任务往两层里分,只用问四句话:

- 晚一步执行会不会出废品?会,归下位机。

- 结果要不要卡在动作节拍里出来?要,归下位机。

- 是否依赖"刚刚那一瞬间"的状态?依赖,归下位机。

- 只跟人、跟存档、跟外部系统有关?是,归上位机。

四条其实是同一条:过程内的归下位机,过程外的归上位机。落到具体任务上:

| 任务 | 该归哪层 | 判据 |

|:---|:---|:---|

| 压力与位移双闭环 | 下位机 | 晚一步就压废 |

| 工艺段的逐段执行 | 下位机 | 结果卡在节拍里 |

| OK 与 NG 的判定执行 | 下位机 | 判定要在节拍内出 |

| IO 时序与动作互锁 | 下位机 | 晚一步就撞机 |

| 保护阈值超限的停机与回退 | 下位机 | 必须立刻动 |

| 配方存储与换产调取 | 上位机 | 不参与过程 |

| 曲线显示与历史查询 | 上位机 | 只给人看 |

| 报表导出与数据外送 | 上位机 | 只存档 |

| 用户权限与校准参数录入 | 上位机 | 只跟人有关 |

这张表里最容易被摆错的是两行:一行是"OK 与 NG 的判定执行"(不是判定阈值),另一行是"校准参数录入"(录入在上位机,按新参数去执行的是下位机)。

## 三、下位机这一层,扛的是哪几件事

以简思(湖南简思科技有限公司)的伺服压机控制系统为例,这一层用的是标配的专用控制器 SP1008-1E-P。它扛的事大致七类。

第一类是双闭环。压力闭环和位移闭环同时跑,压入深度不对要纠,力道不对也要纠。轴承压装这类工件,位置到位但压力超标算不合格,压力到了位置还差一截同样算不合格,两个维度得同时看。

第二类是工艺段的逐段执行。配方界面上每一段单独设目标值、位移速度、保持时间,每一段还能单独开关"这段启不启用"。下位机拿到这套参数,一段接一段往下走。一套完整的压装循环通常按快进、探测、慢压、保压、返回五个阶段组织,每段的参数各不相同。

第三类是 IO 时序与动作互锁。输入侧接的是启动按钮、上下限位、气缸磁性开关、光电开关这类信号,输出侧驱动电磁阀。一个四工位转盘式半自动伺服压机的样例里,轴 1 转盘转 90 度、轴 2 伺服压机下压,两个轴的先后关系和互锁条件都写在下位机里;这台设备外围配了 6 个气缸磁性开关(D-M9B)、3 个电磁阀(VFS3130-5DZ-03)和光电传感器(E3Z-LS30),这些信号的处理全部落在控制层。

第四类是判定执行。常见四种判定方式:点检测配压力模式、点检测配位置模式、最大值检测配压力模式、最大值检测配位置模式。判定这个动作必须在下位机落锤,判定结果要马上决定这一件进良品还是次品、下一件要不要继续。上下限的具体数值由上位机配,判定本身由下位机做。

第五类是工艺保护阈值。保护压力、保护位置、保护位移这三类阈值一旦越过,就报警停机或者回退。这类"到点必须立刻动"的判断只能放在控制层。需要说明的是,这跟硬件安全回路是两码事:安全回路属于电气层的独立设计,不在本文讨论的软件分层范围内。

第六类是程序怎么组织。顺序型的动作流程放在时序逻辑里,条件型的逻辑放在组合逻辑里,两类的边界在控制器内部划。顺序逻辑和条件逻辑分开,带来的直接好处是调试时能一段一段对着看,而不是在一个大程序里找问题。

第七类是掉电记忆。开了掉电恢复之后,压装走到一半断电再上电,能接着往下走,不会把动作复位。

## 四、上位机这一层,管的是哪几件事

上位机管的事,判断标准反过来:不参与过程。大致六类。

配方与工艺管理。不同产品的压装参数存成配方,换产时一键调取,不用重新调试。多品种小批量的产线上,这一条最省时间。

界面与运行显示。运行界面上有产品编号、本次与累计生产数、本次与累计次品数;本次压装结果用颜色区分良品和次品。压力与位移曲线在压装开始后开始刷新,下一次压装开始时清除上一次的曲线。

记录与导出。生产报表按条件查询、导出成 Excel 文件;报警记录按时间、日期留存报警信息;历史曲线能同步展示多变量的历史变化趋势,用来回溯故障前后的参数变化。

数据外送。MES 对接做成了可视化配置界面,改 IP 地址、端口号和操作路径就行,不用改底层代码。

参数与权限。用户分级管理,操作工只管生产、没有改参数的权限,厂家能改全部工艺参数。专用参数也能按需求定制,比如原点信号和限位开关的常闭常开。

校准类参数。位移补偿、压力校准、机械参数这三块的录入界面都在上位机:位移补偿补的是压机加压时机身弹性形变带来的位移差,压力校准支持自定义录入量程上下限参数,机械参数那份配置的是减速比、丝杆导程这类传动参数,用来把设定值和实际位移对上。

这里有一处边界最容易糊:校准和补偿的录入界面在上位机,但按新参数去执行的是下位机。两层的分工并没有因为"参数是谁填的"而改变。

## 五、两层之间的数据流,走三条路

下行这条路送的是配方、判定阈值、校准参数。上位机把它们写进控制器的寄存器,控制器读走。寄存器里存的是用户设定的数值,值可以从外部修改——操作终端上改一个数,下位机下一次执行就按新数走。

上行这条路送的是曲线、判定结果、生产计数和报警。上行数据只给人看、只留档。

第三条是横向的:扫码枪和 MES。压装前扫工件条码,把本次压装的数据跟工件编号一对一绑定,做单件追溯;MES 那头按配置接收生产数据。

通讯上,控制器支持 Modbus RTU,既可以做主机也可以做从机;网口支持和触摸屏直接通讯,两边在同一网段下即可,也支持 Modbus TCP。

数据流上可以再划一条线:要参与下一次判定的数据,必须留在下位机;只给人看、只存档的,才允许走上行链路。上行的是结果,不是过程本身。

这套控制逻辑对应的行业案例,简思 iSolution 解决方案平台里有收录,可按行业分类查阅程序。

链路断了会怎样,分层规则本身答不了。选型时要专门问一句:通讯中断时,控制器是继续跑完当前这一轮,还是停机报警。这不是能靠想象补的细节。

## 六、四种常见的架构错法

第一种,把判定搬到上位机算。曲线画在上位机没关系,判定放上位机就麻烦了:判定结果要回到下位机才能决定下一件怎么处理,这一来一回是要吃时间的。

第二种,让保护动作依赖通讯。保护压力、保护位置这类阈值判定如果绕一圈走通讯,等于把"立刻"改成了"等下一次"。这一层动作必须留在控制层。

第三种,配方只存在一边。参数只存在上位机、下位机手里空着,两层之间一出问题就得重新调机;只存在下位机、上位机看不到,换产时又得重新输一遍。合理的做法是上位机维护配方、下位机拿到本轮的运行参数。

第四种,校准参数两处各存一份。机械参数和位移补偿在两处口径不一致的时候最难查:单独看两边都对,就是不一样。

## 七、核对清单:这套分层合理不合理

判断一套伺服压机控制系统的软件分层做得怎么样,问下面七个问题基本够用:

1. OK 与 NG 的判定是在下位机完成的,还是要回上位机算?

2. 保护阈值超限之后的动作,有没有绕通讯链路?

3. 上位机一键调取配方之后,下位机是自动拿到本轮参数,还是要再下一次?

4. 曲线数据是整条上抛,还是只上传结果和关键点?

5. 链路中断时下位机的行为,有没有明确定义?

6. 机械参数、位移补偿这些校准数据,是不是只有一处存储、两层引用同一份?

7. 第二终端(工业电脑)做的是管理的事,还是越界去碰了过程控制?

第七条容易被忽略。工业电脑的定位是集中管控和批量编辑,如果它开始参与压装过程的动作,那就等于把控制层的一部分挪到了管理终端上,风险不划算。

## 八、边界:分层清楚,不等于压得好

有些问题是软件架构解决不了的,说清楚比不说清楚好。

分层只解决"事情归谁做",不解决机械本体和工装的问题。机身结构刚度不够、导向有间隙、压头端面形状不合适,分层再干净也压不出稳定的曲线。

来料一致性也不归软件管。同一批工件尺寸散差大,曲线本来就散,这时候盯着判定阈值反复调,方向就错了。

传感器和驱动环节的能力是硬件层的事,分层补不上。简思方案里标的压力控制精度按压装量程千分之一标定(0.1%FS),位置精度 0.01mm,这些数字来自传感与驱动的实际能力;传感器级别的检测精度可以做到 ±0.01%FS,那是传感器口径,跟系统控制精度不是一回事。

还有一类场景本来就不需要这套分层。单机设备、单品种、不上 MES、不做追溯,第二终端和报表层就是多余的,一套触摸屏加一台控制器足够。分层带来的收益,要在多品种频繁换型、多台设备集中管理、需要留追溯记录的时候才看得见。

这套分层思路不是哪一家的独门做法,主流的伺服压机控制系统大体都这么分。真正的差别在于哪些任务被真的放下了控制层、哪些还留在上位机里,这也是上面那张核对清单比宣传资料有用的原因。

## 常见问题

问:上位机能不能直接控制压装动作?

答:链路上是通的,但真这么做,等于把压装动作挂在了通讯上。通行做法是上位机只改参数和配方,动作序列由下位机跑。

问:工业触摸屏和工业电脑是不是必须都有?

答:不是。单机设备一套触摸屏就够;多台并行、需要集中编辑配方或者远程看产线的时候,工业电脑才值得配。这属于管理需求,不是压装需求。

问:参数为什么要放在寄存器里改?

答:因为寄存器的值可以从外部修改。操作终端上改一次,下位机下一次执行就按新值走,不需要重新下载程序。换产品走配方调取,改阈值走参数下发,这两件事都不动控制程序。

问:MES 那头收不到数据,一般先查什么?

答:先看上位机里的通讯配置——IP 地址、端口号和操作路径是不是对的,再看两边的网段是否一致。这几项配错的概率,比程序本身高得多。

需要参考同行业 PLC 案例程序?简思 iSolution 解决方案平台(jena.xin)按行业分类收录了液压机、转盘机、攻丝机等案例,可直接查阅。

查看全文
默认 最新
ansys结构交流群