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的重要性?
前言 物联网的强大功能主要来自于它使我们能够实时做出更准确的决策的能力,这些在通知.自动化和预测性维护上都有所体现.因此我们需要能对实时数据进行实时响应的工具,答案就是规则引擎.规则引擎可以通过摄取实 ...
随机推荐
- TWaver MONO模板库新鲜出炉 精彩纷呈
MONO Design在线3D建模平台网站, www.mono-design.cn,开发组的成员们已经开始紧锣密鼓的对这个平台进行内测.在之前的文章里,我们提到用户可以获得多种多样的TWaver官方模 ...
- 在PL/SQL DEV里面有把锁一样的按钮,点击它会跳出“these query result are not updateable,include the ROWID to get updateab
在PL/SQL DEV里面有把锁一样的按钮,点击它会跳出“these query result are not updateable,include the ROWID to get updateab ...
- 洛谷——P3369 【模板】普通平衡树(splay)(基础splay,维护一些神奇的东东)
P3369 [模板]普通平衡树 平衡树大法好,蒟蒻(博主)最近正在收集高级数据结构的碎片,企图合成数据结构的元素之力来使自己的RP++... 您需要写一种数据结构(可参考题目标题),来维护一些数,其中 ...
- UVA - 820 Internet Bandwidth(最大流模板题)
题目: 思路: 直接套最大流的模板就OK了,注意一下输出的格式. 代码: #include <bits/stdc++.h> #define inf 0x3f3f3f3f #define M ...
- fread快读+fwrite快速输出
定义数组 char buf[1<<23],*p1=buf,*p2=buf,obuf[1<<23],*O=obuf; 读入 #define getchar() (p1==p2&a ...
- 在vmware中 centos7安装gooderp
环境为windows 10系统,vmware 12,centos 7.4.centos安装了gnome桌面,用里面的终端来安装,自带的firefox浏览器. 增加用户 首先要新建一个用户来管理good ...
- 爬虫实战(一) 用Python爬取百度百科
最近博主遇到这样一个需求:当用户输入一个词语时,返回这个词语的解释 我的第一个想法是做一个数据库,把常用的词语和词语的解释放到数据库里面,当用户查询时直接读取数据库结果 但是自己又没有心思做这样一个数 ...
- python基础学习 str,list,dict,set,range,enumerate
一.字符串 s = 'python' s1 = 'python' + 'learn' #相加其实就是简单拼接 s2 = 'python' * 5 #相乘其实就是复制自己多少次,再拼接在一起 字符串切片 ...
- String类的转换功能
/* * String类的转换功能 * char[] toCharArray():把字符串转换为字符数组 * String toLowerCase():把字符串转换为小写字符串 * String to ...
- HDU 4902 (牛叉的线段树)
Nice boat Problem Description There is an old country and the king fell in love with a devil. The de ...