0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

YKCAT2如何搭建NoTime基本程序框架

伺服与运动控制 来源:机器之心ProU 作者:机器之心ProU 2022-11-01 14:29 次阅读

大家好,通过前面的几次实验,相信大家已经看到了YKCAT2在NoTime模式下,相较于运动控制卡方案带来的设备效率和稳定提升。

那么在这一集,我们来解答几个大家经常问到的问题:

1、如何搭建NoTime基本程序框架,同一套程序框架能否兼容YKCAT2 NoTime和Windows模式,甚至是其他的运动控制卡。

2、实时系统上的机器控制程序如何与Windows上的程序交互,以及如何调试他们。

首先,我们来看运控部分的封装结构。

如图所示,我们抽象出运控基类,不同运控品牌基于运控基类做不同的实现,这样在运控品牌切换的时候,调用代码不用做任何更改,做到多运控品牌的兼容。

我们继续看这张图,我们将设备的自动运行逻辑单独封装出来,分别在Windows和console控制台应用程序当中引用,console控制台应用程序是运行在实时系统下面的,Windows这边就和常规的运控的调用是一样的,分别在这两边对我们的自动运行逻辑做引用,即可实现实时系统与Windows系统的兼容。

接下来我们看一下用户程序的运行与调试,在Windows下的运行与调试,与常规的运控开发没有差别,那我们重点讲一下实时系统下的程序的运行与调试。

首先我们来看一下这张图,我们需要在Windows端,调用LoadNoTimeAPP接口,传入编译生成的运行在实时系统下的控制台应用程序,生成的可执行文件的全路径名,传到这个接口里面作为参数,然后我们的控制台应用程序就可以在实时系统下运行起来。Windows程序与实时程序的(数据)交互是基于共享内存实现。

共享内存是需要在实时程序这边创建,然后为我们创建的共享内存命名,然后在Windows这边打开,传入的名字就是我们创建的名字,这样我们的实时程序和Windows程序就会访问同一段内存,这样我们的交互通道就已经打通了,另外,共享内存,我们可以利用结构体,做一下结构化的封装,这样就省去了我们用户需要自己去做地址偏移之类的繁琐的事情。

运行在实时系统下的console控制台的应用程序的调试呢,我们可以在Windows下调试,调试正常之后,再load到实时系统下就行。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3541

    浏览量

    88635
  • 应用程序
    +关注

    关注

    37

    文章

    3267

    浏览量

    57684

原文标题:YKCAT2全实时程序框架与兼容解决方案讲解

文章出处:【微信号:伺服与运动控制,微信公众号:伺服与运动控制】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SSM框架的源码解析与理解

    MVC模式,使得开发Web应用程序变得更加高效和简单。 1. Spring框架 基本功能: Spring是一个开源的Java平台,它提供了全面的基础设施支持,以便开发Java应用程序。Spring
    的头像 发表于 12-17 09:20 209次阅读

    SSM框架在Java开发中的应用 如何使用SSM进行web开发

    (full-stack)的应用程序框架,它提供了全面的基础设施建设支持,能够帮助开发者构建出企业级的应用程序。Spring的核心是控制反转(I
    的头像 发表于 12-16 17:28 443次阅读

    JavaWeb框架比较

    JavaWeb框架为开发人员提供了构建Web应用程序所需的基础设施和组件,每种框架都有其独特的特点和适用场景。以下是对几种主流JavaWeb框架的比较: Spring MVC 优点
    的头像 发表于 11-25 09:14 207次阅读

    【RA-Eco-RA0E1-32PIN-V1.0开发板试用】开箱+环境搭建 终于会用HAL框架了,环境搭建玩成了!

    【RA-Eco-RA0E1-32PIN-V1.0开发板试用】开箱+环境搭建终于会用HAL框架了,环境搭建玩成了! 粗心的我把RASC中设置成32脚芯片, 在KEIL中设置成了同名64脚芯片, 所以烧不进代码, 终于解决了问题,
    发表于 11-01 13:18

    SemiDrive X9 AI 开发环境搭建

    SemiDrivex9AI开发环境搭建分开发机端,开发板端。主要的工具是SDNN,它是一个基于开源编译器框架TVM的端到端的AI编译器框架,Semidrive对TVM编译器框架做了适配
    的头像 发表于 08-03 08:27 386次阅读
    SemiDrive X9 AI 开发环境<b class='flag-5'>搭建</b>

    pytorch环境搭建详细步骤

    PyTorch作为一个广泛使用的深度学习框架,其环境搭建对于从事机器学习和深度学习研究及开发的人员来说至关重要。以下将介绍PyTorch环境搭建的详细步骤,包括安装Anaconda、配置清华镜像源
    的头像 发表于 08-01 15:38 800次阅读

    日志框架简介-Slf4j+Logback入门实践

    前言 随着互联网和大数据的迅猛发展,分布式日志系统和日志分析系统已广泛应用,几乎所有应用程序都使用各种日志框架记录程序运行信息。因此,作为工程师,了解主流的日志记录框架非常重要。虽然应
    的头像 发表于 07-30 10:00 1129次阅读
    日志<b class='flag-5'>框架</b>简介-Slf4j+Logback入门实践

    PyTorch深度学习开发环境搭建指南

    PyTorch作为一种流行的深度学习框架,其开发环境的搭建对于深度学习研究者和开发者来说至关重要。在Windows操作系统上搭建PyTorch环境,需要综合考虑多个方面,包括软件安装、环境配置以及版本兼容性等。以下是一个详细的P
    的头像 发表于 07-16 18:29 1003次阅读

    bootstrap框架用什么软件开发

    Bootstrap是一个流行的前端框架,用于快速开发响应式和移动优先的Web应用程序。它提供了一套预定义的CSS和JavaScript组件,使得开发者可以快速构建出漂亮的用户界面
    的头像 发表于 07-11 09:50 493次阅读

    使用PyTorch搭建Transformer模型

    Transformer模型自其问世以来,在自然语言处理(NLP)领域取得了巨大的成功,并成为了许多先进模型(如BERT、GPT等)的基础。本文将深入解读如何使用PyTorch框架搭建Transformer模型,包括模型的结构、训练过程、关键组件以及实现细节。
    的头像 发表于 07-02 11:41 1603次阅读

    鸿蒙Ability Kit(程序框架服务)【应用启动框架AppStartup】

    `AppStartup`提供了一种更加简单高效的初始化组件的方式,支持异步初始化组件加速应用的启动时间。使用启动框架应用开发者只需要分别为待初始化的组件实现`AppStartup`提供
    的头像 发表于 06-10 18:38 701次阅读

    鸿蒙ArkUI-X框架开发:【开发准备】

    本文档适用于ArkUI-X框架开发的初学者。通过环境搭建、代码下载、代码编译、API扩展和使用,快速了解跨平台项目开发流程。
    的头像 发表于 05-23 21:02 471次阅读
    鸿蒙ArkUI-X<b class='flag-5'>框架</b>开发:【开发准备】

    Framebuffer 驱动程序框架

    1. 怎么编写字符设备驱动程序 主设备号 构造 file_operations 结构体,填充 open/read/write 等成员函数 注册驱动:register_chrdev(major
    的头像 发表于 05-11 08:49 820次阅读
    Framebuffer 驱动<b class='flag-5'>程序</b><b class='flag-5'>框架</b>

    【从0开始创建AWTK应用程序】编译应用到RTOS平台

    AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何从0开始创建AWTK应用程序,包括搭建开发调试环境、使用AWTK创建Hello工程并在模拟器上运行、将AWTK应用程序移植
    的头像 发表于 03-21 08:23 608次阅读
    【从0开始创建AWTK应用<b class='flag-5'>程序</b>】编译应用到RTOS平台

    什么是LlamaIndex?LlamaIndex数据框架的特点和功能

    LlamaIndex是一个数据框架,用于让基于LLM的应用程序摄取、结构化和访问私有或领域特定的数据。它提供Python和Typescript版本。
    的头像 发表于 01-05 11:08 9357次阅读
    什么是LlamaIndex?LlamaIndex数据<b class='flag-5'>框架</b>的特点和功能