博客
关于我
C#运动控制框架思路分享-框架搭建
阅读量:599 次
发布时间:2019-03-12

本文共 1226 字,大约阅读时间需要 4 分钟。

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

关于自定义指令特做编辑软件的开发,我认为可以采用简单而高效的方式来实现。无论是通过自定义指令或是其他逻辑结构进行实现,都可以通过字典加上Switch来完成,这样既简洁又高效,避免使用过于复杂的代码结构(除非涉及序列化)。在具体实现中,可以将文本或流程图等方式加载到字典中,然后通过线程Switch执行对应的键值来调用函数方法。这种方式既支持多种流程控制,又不会显得过于复杂。

在项目开发过程中,我们需要平衡代码的通用性和团队易用性。对于简单的项目来说,尽量避免过于复杂的框架设计。相反,可以选择一种简单易懂的语言(如C#或VB)来实现项目流程,结合TXT、Excel、脚本或拖拽控件等方式进行流程编辑。这样既能够快速上手,又能满足团队和新人的使用习惯。

在运动控制框架的具体实现中,我主要采用了以下思路:

  • 启动、暂停、继续、急停、复位等功能。这些功能需要通过多线程来实现,主要使用AutoResetEvent和ManualResetEvent来控制各个线程的运行状态。我选择了ManualResetEvent作为主要信号量,因为它的Set方法可以灵活嵌套使用。例如,可定义复位线程、报警线程和运行线程,通过相应的信号量来控制它们的启动和等待状态。

  • 异常报警响应处理。这种处理可以通过单独的线程来实现,线程内部可以根据方法判断等逻辑进行判断,最终通过事件委托或全局变量的方式将处理结果反馈给运行线程。

  • 数据处理、存储和发送。数据处理可以采用全局变量或局部变量来实现,处理逻辑可以通过简单的条件判断来完成。数据存储则可以选择常见的文件格式,如TXT、Excel或CSV等。

  • 串口和网络通信。这些通讯方式可以通过封装的方法来实现,运行线程可以随意调用相应的方法来完成通信任务。

  • 第三方硬件的开发。对于如运动控制卡、激光或打印机等第三方硬件,可以通过提供的动态链接库(DLL)进行调用。开发过程中可以选择继承等方式来实现,确保硬件的兼容性和灵活性。

  • 配置文件的使用。常见的配置文件格式包括INI、XML和TXT等。这些文件可以通过读取和解析的方式来获取相应的参数,方便对项目的功能进行灵活配置。

  • 项目流程的开发与编辑。流程编辑的核心在于逻辑的设计。根据个人喜好,可以选择C#或VB等语言来实现流程逻辑。流程的输入可以通过TXT、Excel、脚本或拖拽控件等方式来定义,支持对存储区变量的赋值和条件判断等操作。

  • 在实际开发过程中,我选择了Scintilla开源脚本编辑器来实现流程的编辑和监控。通过自定义指令,可以在编辑器中添加多种流程控制结构,如IF-ENDIF的嵌套逻辑。例如,可以实现对存储区变量的赋值操作,如“如果存储区'var1023'等于1,则将存储区'var1034'赋值为'可复位'”。

    通过上述思路和实现方式,我们可以快速搭建一个功能完善的运动控制框架。框架在后续开发中将进一步完善,源码将在完成后进行发布。

    转载地址:http://turtz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现异或加密(附完整源码)
    查看>>
    Objective-C实现异或加密(附完整源码)
    查看>>
    Objective-C实现异或密码算法(附完整源码)
    查看>>
    Objective-C实现异步编程(附完整源码)
    查看>>
    Objective-C实现弧度到度算法 (附完整源码)
    查看>>
    Objective-C实现循环移位(附完整源码)
    查看>>
    Objective-C实现循环链表(附完整源码)
    查看>>
    Objective-C实现循环队列算法(附完整源码)
    查看>>
    Objective-C实现循环队列链表算法(附完整源码)
    查看>>
    Objective-C实现快速傅立叶变换FFT算法(附完整源码)
    查看>>
    Objective-C实现快速傅里叶变换FFT(附完整源码)
    查看>>
    Objective-C实现快速傅里叶变换FFT(附完整源码)
    查看>>
    Objective-C实现快速排序(附完整源码)
    查看>>
    Objective-C实现快速排序(附完整源码)
    查看>>
    Objective-C实现快速排序算法(附完整源码)
    查看>>
    Objective-C实现恩尼格玛密码机算法(附完整源码)
    查看>>
    Objective-C实现感知哈希算法(附完整源码)
    查看>>
    Objective-C实现感知哈希算法(附完整源码)
    查看>>
    Objective-C实现截留雨水问题的动态编程方法算法(附完整源码)
    查看>>
    Objective-C实现截留雨水问题的蛮力方法的算法(附完整源码)
    查看>>