










做上位机、做电检(EOL)、做自动化的兄弟们,这些场景是否让你感到窒息?
if(type=="Keysight") 的硬编码?btnStart_Click 里?几千行的 if-else 嵌套看得让人绝望?Thread.Sleep(500)?界面一点开始就无响应,想加个“取消”按钮都做不到?如果中了两条以上,Gear.NET (General Engine for Automation & Research) 就是为你准备的解药。
Gear.NET 是一个基于 .NET Standard 2.0 的工业级微编排框架。
它拒绝大而全的臃肿,专注于解决“流程编排”与“软硬解耦”两大核心矛盾。通过先进的洋葱架构(Onion Architecture),它让工业代码像 Web 后端一样优雅、健壮、可测试。
告别嵌套地狱。使用链式 API 优雅地编排测试步骤,原生支持异步、重试、并发、超时。
// 像写诗一样写代码
var flow = new MicroWorkflow("EOL_Test")
.Then("初始化仪器", async ctx => await device.InitAsync())
.Parallel("多通道并发测试", // 并行执行,缩短节拍
b => b.Then("读电流", async ctx => await dmm.ReadAsync()),
b => b.Then("读CAN", async ctx => await can.ReadFrameAsync())
)
.Retry("易失败的步骤", async ctx => await network.ConnectAsync(), count: 3) // 自动重试
.If(ctx => ctx.IsNg, // 逻辑分支
thenFlow: new MicroWorkflow().Then("报警停机", async ctx => await plc.AlarmAsync())
)
.Build();
换硬件不改代码。对于 90% 的标准 SCPI 仪器(电源、负载、万用表),JSON 即驱动。
// device_config.json
"Commands": {
"SetVoltage": { "Template": "VOLT {val}" },
"ReadCurrent": { "Template": "MEAS:CURR?", "Parser": { "Type": "Regex", "Pattern": "([\\d.]+)" } }
}
代码调用:await device.SetVoltageAsync(12.0); —— 就算底层把安捷伦换成泰克,业务代码一行不用动。
基于 SqlSugar 的深度封装,专为工业大数据设计:
Gear.NET 不仅仅是类库,更是工业自动化的基础设施:
工业软件不应是“低端”、“脏乱差”的代名词。
Gear.NET 致力于将现代软件工程的优秀实践引入工业领域。如果你受够了那一堆难以维护的“屎山”代码,欢迎尝试 Gear.NET。让我们一起,把机器控制得优雅、精准、可靠。


此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。