PCB 围绕CAM自动化,打造PCB规则引擎
AutoCAM自动化平台,前端管理订单,而后端执行任务,前端UIl界面有板厚,铜厚,板材,表面处理,层数等信息,而这些信息并不是后端最终所需要的信息后.拿钻孔补偿来说,后端需要的是钻孔补偿值,但前端并没有这些信息,要拿到这个钻孔补偿值是通过多维决策表逻辑判断得出,通常作法是是写硬代码得获取到补偿值的,大家都知道写硬代码都多么的不灵活,用户也无法配置,修正规则及时性也得不到保障,并且规则版本也得不到控制,那么这里将围绕CAM自动化,打造PCB规则引擎,在前端与后端,架起一座数据信息传输的桥梁. 助力CAM自动化前行.
下图为钻孔多维决策表:
决策表树结构
Treeview控制件
思维导图控件
接来就是10月份要完成的的任务了.围绕CAM自动化,打造PCB规则引擎.所面临的挑战也是少的,这里例举一下
1.整体规则引擎架构搭建,策决树逻辑前端逻辑与底层表结构建立. 同时要满足后续可扩展的要求。
2.脚本语言如何选择并运用,需要满足与.net深入对接,灵活性,性能,交互性,用户易学等要求。
3.提供给脚本编辑器开发,检测,语法高亮,自动提示,调试等.
4.常用规则库的建立:脚本库,规则库,动作库,函数库.
5.为用户提供可配置的灵活的界面,同时支持二维表,树结构,思维导图3种模式编辑方式.
6.规则引擎中的规则模型是否能全部覆盖PCB 工程部所逻辑规则,规则引擎引能否都支持.
7.为了支持PCB更复杂的业务逻辑,决策树设计之初需需考虑,前节点计算的值的变量可以传送到后面节点去,支持任意节点跳转,支持决策树内嵌再次调用策树调用决策树或决策表,支持多种规则的权重优先选择调用,支持多种规则计算出多个结果再次进行规则计算。
8.规则变更后版本如何控制?
9.规则版本升级后,如何清楚的知道变更了哪些规则.
10.规则版本升级后,发现新版本规则存在BUG,如何快速响应恢复到上个版本.
11.规则引擎执行后的记录追溯,并可以还原当时所执行的参数与执行思维导图(哪个节点执行了,哪个节点没执行)
规则引擎我设想过里面的规则与功能,实现后强大到难以像想,可以应用到场景非常多,后面应用可以不断的推广,不仅应用到报价参数转为CAM参数上面,还可以做报价端快速生成标准流程,工厂订单规则分派,工程部规则库管理。做过工程的都知道,PCB 工程部规则够复杂吧,只要有逻辑关系规则PCB规则引擎后照样通吃, 没有它搞不定的, 这就恰恰是规则引擎所善长的。
PCB 围绕CAM自动化,打造PCB规则引擎的更多相关文章
- PCB CAM自动化后台配置说明
CAM自动化项目经历9个月时间里,在我们IT团队与工程部深入合作下,依据PCB各种场景定制特定功能,且这几个月里在不断的改进与迭代脚本功能,在此期间攻破了一个又一个难题,最终项目第一阶段已顺立上线运行 ...
- PCB 规则引擎之脚本语言JavaScript应用评测
世界上没有好做的软件,觉得好做,只是你的系统简单而已,而不是哪个行业简单,特别像我们PCB制造企业务逻辑的很复杂的,仅仅靠决策树中的每个节点布置决策逻辑是不能满足要求的,所以我们在制作PCB规则引擎必 ...
- PCB 规则引擎之JSON对象查看器
在PCB规则引擎开发中,JavaScript V8引擎是处理业务逻辑的, 当然业务逻辑需要数据支撑才行, 即需有将数据推进入到V8引擎.目前这边数据传输到JavaScript V8引擎以C# Mod ...
- PCB 规则引擎之编辑器(语法着色,错误提示,代码格式化)
对于一个规则引擎中的脚本代码编辑器是非常关键的,因为UI控件直接使用对象是规则维护者,关系到用户体验,在选用脚本编辑器的功能时除了满足代码的编辑的基本编辑要求外,功能还需要包含;语法着色,错误提示,代 ...
- PCB生产企业自动化立体仓库/智能仓库库系统WMS/WCS解决方案
PCB生产企业自动化立体仓库/智能仓库库系统WMS/WCS解决方案 自动化立体仓库智能仓储系统WMS/WCS重要性调查 调查1(物流成本占总生产成本比例数据)1979年英国的第一次调查表明,在从原材料 ...
- 基于NXBRE规则引擎实现的柔性折扣策略
规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策.接受数据输入,解释业务规则,并根据业务规则做出业务决策.应用背景 ...
- 规则引擎-BRMS在企业开发中的应用
1. 什么是规则复杂企业级项目的开发以及其中随外部条件不断变化的业务规则(business logic),迫切需要分离商业决策者的商业决策逻辑和应用开发者的技术决策,并把这些商业决策放在中心数据库或其 ...
- [z]规则引擎
https://www.ibm.com/developerworks/cn/java/j-drools/ 使用声明性编程方法编写程序的业务逻辑 使用规则引擎可以通过降低实现复杂业务逻辑的组件的复杂性, ...
- 规则引擎在IoT的重要性?
前言 物联网的强大功能主要来自于它使我们能够实时做出更准确的决策的能力,这些在通知.自动化和预测性维护上都有所体现.因此我们需要能对实时数据进行实时响应的工具,答案就是规则引擎.规则引擎可以通过摄取实 ...
随机推荐
- php部分基础
变量使用$,如$num = 1; 或 $name = 'hey'; 创建数组:$arr = array('a','b','c'); 或 $arr = array('a' => $name); 取 ...
- STL源码分析之空间配置器
前言 SGI STL将new的申请空间和调用构造函数的两个功能分开实现, 如果对new不太清楚的, 可以先去看看这一篇new实现再来看配置器也不迟. 本节是STL分析的第一篇, 主要分析STL各个部分 ...
- <SpringMvc>入门六 异常处理
如果不做异常处理,那么一直将错误向上抛出,则会最后在页面上显示错误代码 服务启动后,访问test1方法,页面会报500 为了提示友好的错误页面,所以需要做异常处理 1.编写自定义异常类(做提示信息的) ...
- ubuntu环境搭建DNS服务器
1 安装bind9 apt install bind9 2 修改 named.conf.local,添加要解析的域名及对应的域名配置文件 zone "test.cn"{ type ...
- db2 group by的疑惑。
按借据号分组,显示每组的条数:
- buf.readInt8()
buf.readInt8(offset[, noAssert]) offset {Number} 0 noAssert {Boolean} 默认:false 返回:{Number} 从该 Buffer ...
- 03 Python的那些事
目录: 1) 创始人以及重要发展历程 2) Python语言的特点 3) TIOBE排名 4) 解释器 5) Python后缀名 6) 变量规则和约定 7) 常量 8) 注释 9) 缩进 10) Py ...
- 2.Linux文件IO编程
2.1Linux文件IO概述 2.1.0POSIX规范 POSIX:(Portable Operating System Interface)可移植操作系统接口规范. 由IEEE制定,是为了提高UNI ...
- 洛谷 1339 [USACO09OCT]热浪Heat Wave
[题解] 最短路.那么直接写dijkstra就好了. #include<cstdio> #include<algorithm> #include<cstring> ...
- springcloud(十二):Ribbon客户端负载均衡介绍
springcloud(十二):Ribbon客户端负载均衡介绍 Ribbon简介 使用分布式微服务脚骨的应用系统,在部署的时候通常会为部分或者全部微服务搭建集群环境,通过提供多个实例来提高系统的稳定型 ...