Install
openclaw skills install @paudyyin/ifa-codesys-recipeopenclaw skills install @paudyyin/ifa-codesys-recipename: ifa-codesys-recipe
description: "Manage CODESYS PLC recipes via iFA Evolution �� create, modify, deploy recipe configurations"
tags: [domain-specific, plc, cli, file-based, report-generation]
version: 1.0.0
将汇�?iFA 平台生成的二进制配方文件 (.txtrecipe) 转换�?CoDeSys 风格的纯文本赋值格式,或反向转换�?也支持从 *.ProdData.txtrecipe 文件提取凸轮数据,填充到 CoDeSys 文本配方后再转回 iFA 二进制�?
recipeName + schemaChecksum_hex(32字节) + varCount(uint32_LE)V0_ (0x56 0x30 0x5F) �?V00_ (0x56 0x30 0x30 0x5F) 标记开�?- 记录结构:标记 + 变量�?+ 值字节(紧密排列,无分隔符�?- 值类型由变量名局部段�?IEC 前缀决定V0_ vs V00_:不同版�?iFA 项目使用不同标记。
ifa_to_codesys.ps1自动检测并在输出行前缀中保留(V0_xxx:=val�?V00_xxx:=val);codesys_to_ifa.ps1读取该前缀并用正确的字节重建二进制�?
V0_变量�?=值 �?V00_变量�?=值20003、0481.4893、-1391.21;零值为 0.0TRUE / FALSE''(单引号�?powershell -ExecutionPolicy Bypass -File "<skill-dir>/scripts/ifa_to_codesys.ps1" -SrcDir "<输入目录>" -OutDir "<输出目录>"
脚本会:
V0_varName:=value �?V00_varName:=value 格式powershell -ExecutionPolicy Bypass -File "<skill-dir>/scripts/codesys_to_ifa.ps1" `
-SrcDir "<输入目录>" `
-OutDir "<输出目录>" `
[-ConfigJson "<iFA项目路径>/PLC/<GUID>/RecipeConfig.json"]
脚本会:
V0_varName:=value �?V00_varName:=value 赋值,自动保留对应的标记字�?4. 根据 IEC 前缀确定值类型;浮点值以十进制字符串解析recipeName + schemaChecksum + count + [标记 + 变量�?+ 值字节]... 的二进制文件当用户提�?填充*�?填凸�?�?把ProdData填入**等,执行以下流程�?
Step 1:在当前工作目录(及子目录)查找 *.ProdData.txtrecipe 文件�?```powershell
Get-ChildItem "<工作目录>" -Filter ".ProdData.txtrecipe" -Recurse | Select-Object -First 1
若找到多个,列出让用户选择;若找不到,告知用户指定路径�?
**Step 2**:确�?CoDeSys 文本目录(用户已有,或先执行方向 A 生成)�?
**Step 3**:运行填充脚本:
```powershell
powershell -ExecutionPolicy Bypass -File "<skill-dir>/scripts/fill_cam_data.ps1" `
-ProdDataFile "<*.ProdData.txtrecipe路径>" `
-CoDeSysDir "<CoDeSys文本目录>" `
-OutDir "<填充后输出目�?"
Step 4(可选,用户要求时):运行方�?B 将填充后�?CoDeSys 文本转回 iFA 二进制�?
0.0''astTabData[1, *](角度坐标轴,�?0~360)不做填充,只取 astTabData[2, *] 的位移数�?所有脚本位于本 skill �?scripts/ 目录�?- scripts/ifa_to_codesys.ps1 �?iFA 二进�?�?CoDeSys 文本(自动检�?V0_/V00_ 标记�?- scripts/codesys_to_ifa.ps1 �?CoDeSys 文本 �?iFA 二进制(保留原始标记类型�?- scripts/fill_cam_data.ps1 �?�?*.ProdData.txtrecipe 提取凸轮数据填充�?CoDeSys 文本