)类 新建javafx程序时_CML Copley提供的运动控制程序开发类库
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提供的运动控制程序开发类库相关推荐
- )类 新建javafx程序时_关于JavaFX杂谈
Sun公司已于2008年12月05日发布了JavaFX技术的正式版,它使您能利用 JavaFX 编程语言开发互联网应用程序(RIA).该产品于2007年5月在JavaOne大会上首次对外公布.Java ...
- )类 新建javafx程序时_第三章 第一个OpenCV的JavaFX应用程序.md
# 第三章 第一个OpenCV的JavaFX应用程序 --- ***注意***:我们假设您现在已经阅读了之前的教程.如果没有,请在[http://opencv-java-tutorials.readt ...
- 解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
解决JavaFX报错缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序 方法 1:使用 Java 8 方法 2:使用 Java 模块系统 方法 3:使用引导类 很多 JavaFX 初 ...
- C语言试题六十二之请编写函数fun除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串第一个字母,形参p已指向字符串中最后一个字母。在编写程序时,不得使用c语言提供的字符串函数。
1. 题目 请编写函数fun除了字符串前导和尾部的*号之外,将串中其他*号全部删除.形参h已指向字符串第一个字母,形参p已指向字符串中最后一个字母.在编写程序时,不得使用c语言提供的字符串函数. 比如 ...
- 初始化 Microsoft Visual SourceSafe 源代码管理提供程序时失败问题处理
在使用VS2008和Microsoft.Visual.SourceSafe进行团队软件开发时,用VS2008打开项目时出现了"初始化 Microsoft Visual SourceSafe ...
- 在JavaFX程序中嵌入Swing内容
转载自 在JavaFX程序中嵌入Swing内容 本教程描述如何在JavaFX应用程序中嵌入Swing组件.本文将讨论线程限制并提供一个可运行的应用程序来说明在JavaFX应用程序中嵌入带HTML内容 ...
- JavaFX入门(一):我的第一个JavaFX程序
JavaFX简介 JavaFX是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计.创建.测试.调试和部署富客户端程序,并且和Java一样跨平台. JavaFX发展历史 2008年12月05日 ...
- matlab输入指令错误怎么修改,在MATLAB中运行程序时,显示错误: 此上下文中不允许函数定义。 怎么修改?...
点击查看在MATLAB中运行程序时,显示错误: 此上下文中不允许函数定义. 怎么修改?具体信息 答:MATLAB程序运行错误后,切换到MATLAB命令行中,观察命令行中的错误信息,确定错误原因. 1. ...
- 小狗钱钱_✅每次构建待办事项列表应用程序时,都会有一只小狗? 死了?
小狗钱钱 by Hrishi Mittal 由Hrishi Mittal ✅每次构建待办事项列表应用程序时,都会有一只小狗 ? 死了? (✅ Every time you build a to-do ...
最新文章
- SSI —— 开源的人类行为分析解决方案
- JAVA Thread线程异常监控
- android studio 发布版本,Android Studio 4.1 Canary 版本发布
- centos php7.0 mysql_CentOS 7.3 下 安装LNMP(Nginx1.10+MySQL5.7+PHP7.0.20)
- WPF 绘制对齐像素的清晰显示的线条
- mac共享单个磁盘_如何与您的所有设备共享酒店的单个Wi-Fi连接
- sqlmap指定cookie_利用SQLMap进行cookie注入
- 数字类 default 0和 default 0_全方位的数字规划工具Visual Components 4.0 数字化工厂仿真软件...
- 【CentOS后遗症】刚毕业的运维小姐姐 Linux用不了!你的也用不了了~
- treeset 是有序吗_TreeSet如何实现有序?
- 面试必考题:基本95%的面试都会被问到的?
- ElasticSearch搜索引擎安装配置拼音插件pinyin
- 1.1 OC类的认识
- 二十七、K8s最小服务漏洞1-PSP
- 一个程序说明java中this关键字
- Master Reactor Manager Worker TaskWorker(Task)
- 图像处理中的高斯滤波器
- 张一鸣:我的大学四年收获及工作感悟
- 计算机房电磁辐射防护,机房防辐射处理解决方案
- 高并发下-Zuul参数调优
热门文章
- elasticsearch6.0单机配置+centos7.0J+dk1.8
- [图灵程序设计丛书].持续交付:发布可靠软件的系统方法.pdf
- 香港城门隧道翻车意外酿一死16伤
- arts-week12
- gatling系列教程(翻译)-第三节(快速开始)
- 开机提示对话框“位置不可用”
- VMvare虚拟机如何删除安装的ubuntu操作系统
- matplotlib 柱状图、饼图;直方图、盒图
- javascript/jquery给动态加载的元素添加click事件
- 模拟电子放大电路分析