Autocam Automation platform, front-end management orders, the back end of the task, the front-end UIL interface has board thickness, copper thickness, plate, surface treatment, layers and other information, And this information is not after the end of the end of the information needed. Take the bore hole compensation, the back end needs is the borehole compensation value, but the front end does not have this information, wants to get this drill hole compensation value is through the Multidimensional decision table logic judgment obtains, usually the method is writes the hard code to obtain the compensation value, everybody knows how inflexible writes the hard code, the user also cannot configure, repairs Regular timeliness is not guaranteed, and the rule version is not controlled, then this will be around the cam automation, build a PCB rules engine, in the front and back end, a bridge of data information transmission. Help Cam to automate ahead.
Multidimensional decision table for drilling:
Decision Table tree Structure
TreeView Control
Mind Map Control
This is the task to be completed in October. Build a PCB rules engine around CAM automation. There are also few challenges to be faced with, here are some examples
1. The overall rule engine architecture is set up, the logical front-end logic of the decision tree and the underlying table structure are established. At the same time to meet the subsequent scalability requirements.
2. How the scripting language is selected and used requires a deep docking with. NET, flexibility, performance, interactivity, and user-learning requirements.
3. Provided to the Script Editor development, detection, syntax highlighting, automatic prompting, debugging and so on.
4. The establishment of common rules Library: script Library, rule base, Action Library, function library.
5. To provide users with a flexible interface configurable, while supporting the two-dimensional table, tree structure, mind Mapping 3 modes of editing mode.
6. Does the rule model in the Rule engine cover all the logical rules of the PCB Engineering department, and can all the rules engine guidelines be supported?
7. In order to support the more complex business logic of the PCB, the decision tree design needs to be considered at the beginning, the value variables of the former node can be transferred to the back node, support any node jump, support the decision tree embedded call decision tree or decision table, support a number of rules of the weight of the priority selection call, Support multiple rules to calculate multiple results again for rule calculation.
8. How is the version controlled after the rule change?
9. After the rule version is upgraded, how to clearly know which rules have changed.
10. After the rule version has been upgraded, a bug has been found for the new version rule and how to respond quickly to the previous version.
11. Record traceability after execution of the rule engine, and can restore the parameters executed at that time and the execution mind map (which node executed, which node was not executed)
Rule engine I imagined the rules and functions inside, after the implementation of strong to difficult to think, can be applied to a lot of scenes, the application can be continuously promoted, not only to the quotation parameters into the cam parameters above, but also to do the quotation to quickly generate standard process, factory order rule allocation, Engineering Department rule base management. Have done engineering know, PCB engineering rules enough complex bar, as long as there is a logical relationship rules PCB rules engine so take all, no it is uncertain, this is precisely the rule engine is good long.
PCB Automation to create PCB rule engine