C#运动控制框架思路分享-框架搭建

C#运动控制框架思路分享-框架搭建

关于自定义指令特做编辑软下:
1.不论是特定义指令或是某种结构做逻辑等等,无非都是字典加上Switch,简单明了,根本用不着啥高级代码(撇开序列化)
2.将文本或是某种流程图等方式加载到字典里,通过线程Switch执行字典KEY去调用对应函数方法即可,啥流程都简单,不要复杂化!
3.如果只是简单的做项目,通用化,就不要搞的太复杂,如何让团队及新人最快接受熟悉使用的才是最好的,一人会不如人人会!
第一次发帖,先简单分享下个人运动控制框架思路,逐渐会上干货,先分享框架内部分功能实现,框架源码待后续更改后在上!

一 运控框架思路
1:启动-暂停-继续-急停-复位-启动。。。
以上思路就得多线程考虑周全,当然就这思路网上一搜一大把,主要是AutoResetEvent和ManualResetEvent
我使用的是ManualResetEvent,无非就是Set,Rest,WaitOne,其中逻辑自己根据所需嵌套判断即可,最重要的就是这里,这里逻辑嵌套做好封装即可;假如有:复位线程,报警线程,运行线程
private static ManualResetEvent _Rst = new ManualResetEvent(false);
private static ManualResetEvent _Err = new ManualResetEvent(false);
private static ManualResetEvent _Run = new ManualResetEvent(false);
2:异常报警响应处理。。。
单独使用线程实时判断,使用方法判断等响应给运行(事件委托,全局变量。。。)

3:数据处理存储发送。。。
数据单独线程处理
⑴.数据处理:首先是变量定义(int,double,string等)多采用全局变量常量及局部变量常量等
⑵.数据存储:常见就是TXT,EXcel,CSV等格式

4:串口,网口等通讯。。。
这个网上多如牛毛,封装方法,运行线程可随意调用即可

5:第三方硬件的开发
运动控制卡,激光,打印机等等,这些都是第三方提供的动态链接库,都有相关的使用Demo,根据所需功能,按照自己的方式添加即可,当然有很多种方法,比如适合多种类的开发使用有继承之类的

6:配置文件
常见的有ini,xml,txt格式

7:项目流程的开发与编辑
至于流程编辑就是逻辑思路了,至于语言因个人喜好C#或VB,实现用:TXT,Excel,脚本,拖拽控件,加自定义指令等

 我使用的是:Scintilla开源脚本编辑器+自定义指令,可添加编辑多流程,不限制,支持监控,暂停,多种模式(逐行,断点,循环)等

 如图:第1行到第3行为一个判断嵌套【IF-ENDIF】解释为---如果存储区(类似PLC寄存器D)“数字变量var1023”等于1的话,把存储区(类似PLC寄存器D)“字符串变量str0"赋值为字符串“可复位”  

C#运动控制框架思路分享-框架搭建_第1张图片
C#运动控制框架思路分享-框架搭建_第2张图片
最新增加C#脚本,可增加断点调试,多线程,引用后可随意调用各函数功能,逐步完善中!
C#运动控制框架思路分享-框架搭建_第3张图片
暂且这样,个人水平有限,表达不够清楚的欢迎大家点评,我会抽空逐一答复,大家如果有什么需要或是其他帮助都可以在此相互交流!

你可能感兴趣的:(C#,c#)