CML简介

CML(Copley Motion Library)是Copley为用户提供的C++类库,可用于上位控制软件的开发。它对于开发平台的要求和主要特点如下:

1)CML要求平台能够支持C++。

2)CML要求平台能够支持多任务。

3)对于CANopen的应用,CML要求平台必须具备相应的CAN接口设备;对于EtherCAT应用,仅要求具有标准的以太网口,不需要任何额外的硬件。

4)CML支持所有兼容POSIX标准的操作系统,包括UNIX的各种版本、Linux和Windows。

5)CML支持的CAN硬件接口包括Copley,Kvaser,Ixxat这三个厂家的CAN设备。

6)CML集成了对CANopen和EtherCAT网络的底层管理方法,同时提供了上层程序接口与方法,便于用户进行上位运动控制程序的开发。

CML的主要架构

CML类库由大量的类组成,仅有少量的类是基础性的并且在每个程序内都会用到。在这里,将这些主要的类列举出来并进行简要的介绍。

1)CanInterface类:代表CML所支持的CAN硬件。

2)EtherCatHardware类:代表不同操作系统下的以太网接口。

3)Network类:抽象类,代表CanOpen类和EtherCAT类。

4)CanOpen类:继承自Network类,主要用于CAN网络报文的监听。

5)EtherCAT 类:继承自Network类,主要用于管理以太网接口的底层通信。

6)Receiver 类:用于处理监听到的CAN报文。

7)Node类:代表网络上的一个节点。8)Amp类:继承自Node类,代表一个Copley驱动器。此类包含绝大部分与驱动器控制相关的方法,比如控制模式设定,使能与禁能,读取与设定运动参数,读取驱动器状态与报警,执行点到点运动,回零,执行PVT运动等等。

CML的安装与使用

CML支持多种编程环境,比如Visual Studio, QT等。这里我们以VS为例,介绍如何使用CML进行编程。

1. 新建一个工程。

2. 在工程目录(xxx.sln所在文件夹)下新建一个文件夹,重命名为CML。

3. 从Copley官网下载CML资料,在资料文件中找到名为c和inc的文件夹,将这两个文件夹拷贝到上一步新建的名为CML的文件夹中。

4. 进行工程属性设置

a) Project  Properties -> Configuration Properties -> General -> Character Set -> Use Multi-Byte Character Set.

b) Project  Properties -> Configuration Properties -> C/C++ -> General -> Additional Include Directories,填入../CML/inc;../CML/inc/can;

c) Project  Properties -> Configuration Properties -> C/C++ ->  Preprocessor -> Preprocessor Definitions,附加宏_CRT_SECURE_NO_WARNINGS;

d) Project  Properties -> Configuration Properties -> C/C++ -> Precompiled Headers -> Precompiled Header,选择Not Using Precompiled Headers.

e) Project -> Add Existing Item,添加如下文件:

- CML/c/*.cpp

- CML/c/can/can_copley.cpp

- CML/c/threads/Threads_w32.cpp

5. 至此,编程环境就配置好了,接下来就可以进行运动控制程序代码的编写了。

这里,我们制作一段视频,向大家演示一下如何进行上述的工程创建、属性设定、代码编写,以及展示了代码运行时电机运转的实际效果。请阅览视频,并与上面的文字介绍进行对照参考。

关于CML的更多说明及编程手册,请点击https://www.copleycontrols.com/wp-content/uploads/2019/02/CML-Reference-Manual.pdf

)类 新建javafx程序时_CML Copley提供的运动控制程序开发类库相关推荐

  1. )类 新建javafx程序时_关于JavaFX杂谈

    Sun公司已于2008年12月05日发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语言开发互联网应用程序(RIA).该产品于2007年5月在JavaOne大会上首次对外公布.Java ...

  2. )类 新建javafx程序时_第三章 第一个OpenCV的JavaFX应用程序.md

    # 第三章 第一个OpenCV的JavaFX应用程序 --- ***注意***:我们假设您现在已经阅读了之前的教程.如果没有,请在[http://opencv-java-tutorials.readt ...

  3. 解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序

    解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序 方法 1:使用 Java 8 方法 2:使用 Java 模块系统 方法 3:使用引导类   很多 JavaFX 初 ...

  4. C语言试题六十二之请编写函数fun除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串第一个字母,形参p已指向字符串中最后一个字母。在编写程序时,不得使用c语言提供的字符串函数。

    1. 题目 请编写函数fun除了字符串前导和尾部的*号之外,将串中其他*号全部删除.形参h已指向字符串第一个字母,形参p已指向字符串中最后一个字母.在编写程序时,不得使用c语言提供的字符串函数. 比如 ...

  5. 初始化 Microsoft Visual SourceSafe 源代码管理提供程序时失败问题处理

    在使用VS2008和Microsoft.Visual.SourceSafe进行团队软件开发时,用VS2008打开项目时出现了"初始化 Microsoft Visual SourceSafe ...

  6. 在JavaFX程序中嵌入Swing内容

    转载自  在JavaFX程序中嵌入Swing内容 本教程描述如何在JavaFX应用程序中嵌入Swing组件.本文将讨论线程限制并提供一个可运行的应用程序来说明在JavaFX应用程序中嵌入带HTML内容 ...

  7. JavaFX入门(一):我的第一个JavaFX程序

    JavaFX简介 JavaFX是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计.创建.测试.调试和部署富客户端程序,并且和Java一样跨平台. JavaFX发展历史 2008年12月05日 ...

  8. matlab输入指令错误怎么修改,在MATLAB中运行程序时,显示错误: 此上下文中不允许函数定义。 怎么修改?...

    点击查看在MATLAB中运行程序时,显示错误: 此上下文中不允许函数定义. 怎么修改?具体信息 答:MATLAB程序运行错误后,切换到MATLAB命令行中,观察命令行中的错误信息,确定错误原因. 1. ...

  9. 小狗钱钱_✅每次构建待办事项列表应用程序时,都会有一只小狗? 死了?

    小狗钱钱 by Hrishi Mittal 由Hrishi Mittal ✅每次构建待办事项列表应用程序时,都会有一只小狗 ? 死了? (✅ Every time you build a to-do ...

最新文章

  1. SSI —— 开源的人类行为分析解决方案
  2. JAVA Thread线程异常监控
  3. android studio 发布版本,Android Studio 4.1 Canary 版本发布
  4. centos php7.0 mysql_CentOS 7.3 下 安装LNMP(Nginx1.10+MySQL5.7+PHP7.0.20)
  5. WPF 绘制对齐像素的清晰显示的线条
  6. mac共享单个磁盘_如何与您的所有设备共享酒店的单个Wi-Fi连接
  7. sqlmap指定cookie_利用SQLMap进行cookie注入
  8. 数字类 default 0和 default 0_全方位的数字规划工具Visual Components 4.0 数字化工厂仿真软件...
  9. 【CentOS后遗症】刚毕业的运维小姐姐 Linux用不了!你的也用不了了~
  10. treeset 是有序吗_TreeSet如何实现有序?
  11. 面试必考题:基本95%的面试都会被问到的?
  12. ElasticSearch搜索引擎安装配置拼音插件pinyin
  13. 1.1 OC类的认识
  14. 二十七、K8s最小服务漏洞1-PSP
  15. 一个程序说明java中this关键字
  16. Master Reactor Manager Worker TaskWorker(Task)
  17. 图像处理中的高斯滤波器
  18. 张一鸣:我的大学四年收获及工作感悟
  19. 计算机房电磁辐射防护,机房防辐射处理解决方案
  20. 高并发下-Zuul参数调优

热门文章

  1. elasticsearch6.0单机配置+centos7.0J+dk1.8
  2. [图灵程序设计丛书].持续交付:发布可靠软件的系统方法.pdf
  3. 香港城门隧道翻车意外酿一死16伤
  4. arts-week12
  5. gatling系列教程(翻译)-第三节(快速开始)
  6. 开机提示对话框“位置不可用”
  7. VMvare虚拟机如何删除安装的ubuntu操作系统
  8. matplotlib 柱状图、饼图;直方图、盒图
  9. javascript/jquery给动态加载的元素添加click事件
  10. 模拟电子放大电路分析