传统排程2小时起步?我用WPS 灵犀Claw创建Skill技能30秒搞定3000+工单排程

Lv.4 核心创作者
#靠谱AI办公WPS #AI办公夏日分享
🔥传统排程2小时起步?我用AI 30秒搞定3000+工单排程
在完成模具与机台RCCP粗能力评估后,接下来就是需要进行最复杂的排程了,此时如果用传统的方案排程就会面临以下几个问题:
机台数量:105台
工单数量:3243单
模具数量:972套
需求日期:每个订单对应不一致
……
以上只是生产计划看得见的数据约束,看不见的约束有,模具相同的尽量排程在一起,机台不能有冲突,切换次数尽量减少,每个吨位对应的设备尽可能的平衡等;
传统的方案是通过PMC计划员手动排程,这个排程一般情况下就算资深计划员至少2小时以上,新手可能根本无从下手。今天古老师分享如何用WPS 灵犀Claw创建Skill技能来30秒完成3000+订单,100+设备,1000+套模具的快速排程。
一、🛠️创建SKILL技能:把业务逻辑写成约束条件
打开WPS 灵犀Claw(小龙虾),先创建一个注塑排程技能,提前录入好约束条件,这里古老师分享8大约束,分别为:
排程约束(按优先级排序)
第1约束:模具优先(含复制模具)
相同模具的任务优先集中到同一台设备上连续生产。
如有复制模具(如 M-1772,M-1773,M-1774,M-1775),视为一个模具族
模具族容量 = 去重后的模具编号数量
拆分子组分配到不同设备时,各用不同的模具编号
同一天同一模具编号只能在一台设备上使用
第2约束:工时上限(RCCP+1天)
每台设备的排程工时不能超过该吨位组 RCCP 需要天数 + 1天。
RCCP数据自动从"机台产能负荷"表读取。模具组工时超过上限时,按需求日期拆分到多台设备,子组数不超过模具族容量。
第3约束:按吨位分组
任务只分配到同吨位组的设备上,不跨组分配。
第4约束:设备编号
直接用设备明细表中的编号作为排程线体号。
支持字段名映射(如"设备编号"、"机台号"、"设备号"、"注塑1#"等),通过脚本参数指定。
第5约束:负载均衡
模具组(或子组)按总工时降序排列,依次分配到当前累计负载最小的设备。
第6约束:按天接续
每台设备上的任务按分配顺序连续排产,每天20工时,上一任务完工后下一任务接续。
第7约束:计划开工
统一从 TODAY 开始排程。
第8约束:状态标记
需求日期 < TODAY → "逾期",其余 → "按期"。
约束完成后,再进行打包,这里打包用的是MD格式,也就是Markdown格式,保存好后,点WPS 灵犀Claw左侧技能→创建技能→上传技能→上传这个技能包。
:当我的技能列表中出现上传的技能,如:injection-scheduler 技能,则代表成功了
二、🧪调试Skill技能:像AI编程一样迭代优化
一般情况下,一个复杂的排程技能很难一次排程成功,我们需要不断的训练AI,针对此排程技能进行BUG修正,最终达到排程满足PMC针对订单交付准时的需求。点技能→使用技能开始进行测试
经过多轮测试,终于成功了,(整个过程就是类似AI编程,用这个技能写了一个脚本代码,让AI自动排程),此时可以叫AI总结此次所有出现的BUG进行复盘,自我修改升级迭代。
部分总结报告:
💡经验教训
AirScript v1.0 API 与标准 JavaScript 差异大:不支持 async/await,属性名全小写,字段类型用字符串名,视图类型首字母大写——这些都需要提前确认 API 文档,而非凭经验猜测
字段名必须自动适配:直接写死字段名在多维表场景下风险极高,用户可能重命名或调整字段,自动读取 Schema 做模糊匹配是更稳健的做法
列宽控制暂不宜用代码:AirScript 的列宽 API 单位不明确(像素 vs 字符),且 UpdateFields 的 width 参数可能未正式支持,让用户在 UI 上手动拖拽是更可靠的方式
数字格式用 numberFormat 而非 digit:digit 参数不被 API 识别,需要使用 Excel 自定义数字格式代码(如 "0_ " 表示整数)
排程算法从简单开始迭代:从纯轮询 → 模具优先 → RCCP 约束 → 复制模具修复,逐步增加约束条件,每次只解决一个 BUG,比一次性设计完美算法更高效
三、🚀使用Skill技能:30秒完成3000+工单排程
切换回到多维表格,在5.生产计划明细表中,创建一个按钮字段,执行点击按钮就执行排程脚本代码(需要把WPS 灵犀Claw写的脚本代码复制到此)这样就创建了一个自动排程的开关。
部分脚本代码(以下代码全部由WPS 灵犀Claw自动编写):
var CONFIG = {
deviceSheetName: "1.设备明细表",
planSheetName: "5.生产计划明细表",
rccpSheetName: "7.机台产能负荷",
outputBaseName: "排程结果",
deviceField: "设备编号",
tonnageField: "吨位",
taskField: "生产任务",
productField: "产品编码",
qtyField: "数量",
machineField: "默认机台",
moldField: "对应模具",
uphField: "UPH",
hoursField: "默认用时",
dateField: "需求日期",
dailyHours: 20,
};
// ==================== 工具函数 ====================
function pad2(n) {
return n < 10 ? "0" + n : String(n);
}
function formatDateSlash(d) {
return d.getFullYear() + "/" + pad2(d.getMonth() + 1) + "/" + pad2(d.getDate());
}
function formatDateCompact(d) {
return String(d.getFullYear()) + pad2(d.getMonth() + 1) + pad2(d.getDate());
}
function parseDate(str) {
if (!str) return new Date();
var parts = String(str).split("/");
if (parts.length === 3) {
return new Date(parseInt(parts[0]), parseInt(parts[1]) - 1, parseInt(parts[2]));
}
return new Date();
}
function cloneDate(d) {
return new Date(d.getFullYear(), d.getMonth(), d.getDate());
}
function parseMolds(str) {
if (!str) return [];
var arr = String(str).split(",");
var result = [];
for (var i = 0; i < arr.length; i++) {
var m = arr[i].trim();
if (m) result.push(m);
}
return result;
}
function findSheet(sheets, name) {
for (var i = 0; i < sheets.length; i++) {
if (sheets[i].name === name) return sheets[i];
}
return null;
………………
………………排程Skill结果
当PMC专业点击排程时,触发排程脚本代码执行,经过不到30秒,完成100台设备、3000+工单,8大复杂约束的排程。完全实现了甚至超过了一般PMC专员排程的效果,不仅仅速度上实现碾压,准确性上也是,没有出现模具超排,模具不连续等初级错误。并且排程结构支持切换视图,如甘特图效果显示。
四、💡总结:AI排程碾压传统排程
经过此次注塑排程的设计,对于AI排程,总结如下,一般情况下的基本的约束,如纯线性排程,AI排程对人的效率是碾压级别的,并且在规则内(约束范围内),可以做的0错误率。
:2小时+,错误率高
AI
:30秒,错误率(约束范围内):0
未来的PMC计划员应该思考的是不是如何练习表格技术,函数技术,应该思考如何训练AI,将业务逻辑转化成Skill技能,让AI执行。
**古老师(古哥计划)**|中小制造数字化专家|金山 KVP(金山办公最有价值专家)|金山多维表格应用场景专家|金山 WPS 社区优秀创作者
深耕中小制造业数字化落地,擅长用 WPS 多维表格 + AI 低代码方案,帮工厂快速搭建进销存、生产计划、质量追溯等轻量化系统。不用复杂 IT,低成本落地,已服务数百家制造企业,实战经验丰富。
#多维表格 #注塑排程 #AI排程 #PMC #工厂管理 #AI应用