bailiguo0321
助理工程师
助理工程师
  • 最后登录2020-10-11
  • 发帖数134
  • 金币1962枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
阅读:10422回复:421

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

楼主#
更多 发布于:2020-02-15 19:06
感谢刘工一直来的指导,交流和其团队的无私奉献!

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

一 运控框架思路
 1:启动-暂停-继续-急停-复位-启动。。。
      以上思路就得多线程考虑周全,当然就这思路网上一搜一大把,主要是AutoResetEvent和ManualResetEvent
     我使用的是ManualResetEvent,无非就是Set,Rest,WaitOne,其中逻辑自己根据所需嵌套判断即可,最重要的就是这里,这里逻辑嵌套做好封装即可;假如有:复位线程,报警线程,运行线程
本部分内容设定了隐藏,需要回复后才能看到



 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"赋值为字符串“可复位”
      

图片:企业微信截图_15817628923540.png

 
     当然也可以做成如下图所示的运控流程:
      

图片:2.png


最新增加C#脚本,可增加断点调试,多线程,引用后可随意调用各函数功能,逐步完善中!

图片:微信图片_20200913235211.png




暂且这样,个人水平有限,表达不够清楚的欢迎大家点评,我会抽空逐一答复,大家如果有什么需要或是其他帮助都可以在此相互交流!
QQ群:758026657 欢迎探讨相互学习!
关于线程,个人推荐:http://www.ihalcon.com/read-7952.html
下期分享:C#运动控制框架思路分享-框架功能“文件配置”

关于运控框架,推荐非常不错的帖子,此帖子内容在某公司身经百战!花点时间好好看看,比你自己敲的代码要好很多,或者你可以凌驾于此贴内容之上:
http://www.ihalcon.com/read-13463-1.html
[bailiguo0321于2020-09-20 21:09编辑了帖子]
喜欢24

最新打赏:0人

要获得事业的成功,必须奋斗,而不是乞求。 --------〔英国〕菲·马辛杰:《羞涩的情人》
xff1988
开源先驱
开源先驱
  • 最后登录2020-10-19
  • 发帖数220
  • 金币12390枚
  • 贡献勋章0枚
  • 忠实会员
  • 社区明星
  • 社区居民
  • 喜欢达人
沙发#
发布于:2020-02-15 19:14
白力国
[xff1988于2020-02-18 15:08编辑了帖子]
xff1988
开源先驱
开源先驱
  • 最后登录2020-10-19
  • 发帖数220
  • 金币12390枚
  • 贡献勋章0枚
  • 忠实会员
  • 社区明星
  • 社区居民
  • 喜欢达人
板凳#
发布于:2020-02-15 19:15
本部分设定了隐藏,您已回复过了,以下是隐藏的内容是:
  private static ManualResetEvent _Rst = new ManualResetEvent(false);
   private static ManualResetEvent _Err = new ManualResetEvent(false);
   private static ManualResetEvent _Run = new ManualResetEvent(false);
bailiguo0321
助理工程师
助理工程师
  • 最后登录2020-10-11
  • 发帖数134
  • 金币1962枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
地板#
发布于:2020-02-15 19:15
xff1988:白力国 白力国白力国 白力国回到原帖
你真活跃
要获得事业的成功,必须奋斗,而不是乞求。 --------〔英国〕菲·马辛杰:《羞涩的情人》
张阳阳zhang
技术员
技术员
  • 最后登录2020-05-07
  • 发帖数6
  • 金币412枚
  • 贡献勋章0枚
  • 社区居民
4楼#
发布于:2020-02-15 19:17
向老白学习,,
hujian343704
技术员
技术员
  • 最后登录2020-10-19
  • 发帖数5
  • 金币374枚
  • 贡献勋章0枚
5楼#
发布于:2020-02-15 19:18
厉害!厉害!
vc1110
技术员
技术员
  • 最后登录2020-06-03
  • 发帖数64
  • 金币120枚
  • 贡献勋章0枚
  • 社区居民
6楼#
发布于:2020-02-15 19:18
白工总结的不错,赞一个
monkey斌
论坛版主
论坛版主
  • 最后登录2020-10-18
  • 发帖数146
  • 金币2740枚
  • 贡献勋章0枚
  • 社区居民
7楼#
发布于:2020-02-15 19:21
厉害了。。。。。。。。。。。。
goudou
技术员
技术员
  • 最后登录2020-10-13
  • 发帖数199
  • 金币226枚
  • 贡献勋章0枚
8楼#
发布于:2020-02-15 19:23
白工总结的不错,赞一个
429259400
初学者
初学者
  • 最后登录2020-10-17
  • 发帖数120
  • 金币40枚
  • 贡献勋章0枚
  • 社区居民
9楼#
发布于:2020-02-15 19:25
学习一下,总计的比较好,思路清晰
y1096213112
初学者
初学者
  • 最后登录2020-10-12
  • 发帖数10
  • 金币27枚
  • 贡献勋章0枚
10楼#
发布于:2020-02-15 19:27
谢谢分享,不错,点赞
谢谢分享,不错,点赞
tuyan
技术员
技术员
  • 最后登录2020-09-20
  • 发帖数135
  • 金币148枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
11楼#
发布于:2020-02-15 19:28
本部分设定了隐藏,您已回复过了,以下是隐藏的内容是:
  private static ManualResetEvent _Rst = new ManualResetEvent(false);
   private static ManualResetEvent _Err = new ManualResetEvent(false);
   private static ManualResetEvent _Run = new ManualResetEvent(false);
图像处理案例通关秘籍。
dengluyu
技术员
技术员
  • 最后登录2020-10-14
  • 发帖数168
  • 金币857枚
  • 贡献勋章0枚
  • 社区居民
12楼#
发布于:2020-02-15 19:36
111111111111111111111111111111111111111
lykfoxconn2040
技术员
技术员
  • 最后登录2020-10-20
  • 发帖数285
  • 金币327枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
  • 追星一族
13楼#
发布于:2020-02-15 19:43
技术大咖,厉害人物,佩服你
shujun0515
技术员
技术员
  • 最后登录2020-08-22
  • 发帖数17
  • 金币290枚
  • 贡献勋章0枚
  • 社区居民
14楼#
发布于:2020-02-15 19:45
确实是好东西,有较大启发
上一页
游客

返回顶部
支付

欢迎打赏,请选择打赏金额

  • 1元
  • 6元
  • 10元
  • 66元
  • 100元

支付即代表同意《本站支付协议》 有疑问请联系客服