不用PLC和板卡,一台电脑就可以控制伺服
1、前言
大家好!我是付工。
EtherCAT是运动控制领域使用最广泛的总线通信协议之一。
如果我们只有一台电脑,能不能直接控制EtherCAT总线伺服呢?
这个是完全可以的。
我们可以在电脑上安装实时运行环境,从而实现对伺服电机的总线控制。如果大家手上也有一台EtherCAT总线伺服,就可以直接通过C#写几行代码,让伺服电机转动起来。
2、开发环境
当然,方法不止一种,比如倍福的Twincat。
我们主要使用C#编程,因此本文使用的是正运动的MotionRT7。
MotionRT7是正运动推出的跨平台运动控制实时内核,目前已经发展到第七个版本,也是国内首家完全自主自研,自主可控的Windows运动控制实时软核,可以让一台普通的电脑变成实时控制器,并且支持跨平台应用和多种语言的二次开发。

3、伺服接线
使用EtherCAT总线伺服,接线就非常简单了。只需要给伺服供电,然后伺服与电机之间接好编码器和动力线,再通过一根网线将PC电脑与伺服连接起来就可以了。

这里使用的是汇川SV660N总线伺服,其他品牌型号均支持,模组不是必须的。
4、驱动安装
首先,大家需要下载一个MotionRT7的资料包,公众号【上位机Guide】回复:MotionRT7下载之后,我们需要安装一下驱动,具体操作步骤如下:
1、点击我的电脑,右击选择【管理】,选择【设备管理器】,在右侧的设备列表中,任意选中一个。

2、选择菜单栏中的【操作】,在下拉菜单中选择【添加过时硬件】。

3、在弹出的窗体中,选择【下一页】。

4、在弹出的窗体中,选择【安装我手动从列表选择的硬件(高级)】,点击【下一页】。

5、选择显示所有设备,点击下一页。

6、选择从磁盘安装,点击下一页。

7、点击【浏览】,在前面下载的MotionRT7文件夹,找到rt1028_signed文件夹,再选择driver_signed文件夹,选择ZMotionRt64.inf,点击打开。

8、点击打开之后,回到从磁盘安装界面,点击确定,然后一直下一页即可,最终我们可以在设备管理器中,看到ZMotion_Device,下面有个ZMotionRT Controller,即说明控制器驱动安装完成。

5、网卡配置
安装驱动后,我们接下来对网卡进行相关配置。
1、通过控制面板找到网络连接,然后选择一个网卡,建议选择电脑自带的网卡,右击属性。

2、然后选择安装,在弹出窗体中,选择协议 => 添加。


3、选择从磁盘安装,点击确定。

4、浏览找到MotionRT7文件夹,找到rt1028_signed文件夹,再选择driver_signed文件夹,直到找到ZmotionRtPacket.inf文件,选择并点击打开。

5、安装成功后,以太网属性中多了ZMotionRT64 Packet Protocol Driver,并且确定前面的勾选已经选上。

6、运行RT7
1、打开MotionRT7文件夹,找到MotionRT710.exe,双击打开。


2、选择MotionRT1,NoXPci,选择AddEcat,选择我们刚刚配置的网卡,点击确定。

3、添加完成后,点击Start,有消息提示,说明Start成功。

4、这时候找到MotionRT7文件夹中的MotionRTDemo运行程序文件夹下的ZmotionECI2828Pro.exe,运行如下:

5、设置好IP地址,这个地方填写网卡的IP地址,然后点击建立连接,连接成功后再设置好相关的脉冲当量和速度,即可点动运行。

6、这个Demo的完整代码,在我的书籍第十章第10.3节有讲解。

不用PLC和板卡,一台电脑就可以控制伺服的更多相关文章
- 一台电脑上同启动两个Tomcat的方式,windows/Linux配置。
安装两个jdk,一个JDK路径在:C:\ProgramFiles (x86)\Java\jdk1.7.0_25,另外一个JDK的路径在E:\UCMSServer\j2sdk 在环境变量里并设置J ...
- MVC5中Model层开发数据注解 EF Code First Migrations数据库迁移 C# 常用对象的的修饰符 C# 静态构造函数 MSSQL2005数据库自动备份问题(到同一个局域网上的另一台电脑上) MVC 的HTTP请求
MVC5中Model层开发数据注解 ASP.NET MVC5中Model层开发,使用的数据注解有三个作用: 数据映射(把Model层的类用EntityFramework映射成对应的表) 数据验证( ...
- 怎样在同一台电脑使用不同的账号提交到同一个github仓库
近期这段时间使用github.有时在公司办公,想要用git提交代码到自己的github仓库,提交是显示的作者是自己在公司的账户.而不是自己的github账户.这就相当于提交到github的代码不是自己 ...
- Python虚拟环境导出包安装到另一台电脑的方法
环境:Windows 版 Python Python 3.6.8可以用自带的命令建立虚拟环境,不用安装另外的如 virtualenv.virtualenvwrapper等工具. python -m v ...
- win10系统ping另一台电脑上虚拟机的IP
刚刚因为虚拟机与主机没法互相ping通的事情,奋战到将近凌晨一点.现在把这个过程总结一下,以方便后加入该行业的广大IT精英. VMWare提供了三种工作模式:bridged(桥接模式).NAT(网络地 ...
- 一台电脑安装两个不同版本的MySQL
背景: 本人电脑上已有mysql-8.0.12-winx64,并且可以使用.但由于工作需要,得使用mysql-5.5.59-winx64,已有mysql-5.5.59-winx64的解压好的安装包 参 ...
- 如何在一台电脑上开启多个tomcat
大家基本上都只在一台电脑上面启动一个Tomcat,而启动多个Tomcat会提示报错等相关故障.而假如调试负载均衡及集群的时候,需要在一台电脑上面开启多个Tomcat,那么怎么开启呢? 首先需要知道的是 ...
- (转)如何在一台电脑上开启多个tomcat 和配置让系统识别哪个具体的tomcat
大家基本上都只在一台电脑上面启动一个Tomcat,而启动多个Tomcat会提示报错等相关故障.而假如调试负载均衡及集群的时候,需要在一台电脑上面开启多个Tomcat,那么怎么开启呢? 方法/步骤 首先 ...
- BitTorrent Sync - 神奇的文件同步软件,无需服务器让多台电脑互相同步!
176,487 微博 腾讯 空间 微信 141 49 如今人们对文件备份和同步的需求已经越来越强烈了.像 Dropbox 一样的云存储网盘有很多,但它们都有一个局限性,就是所有的文件都得经过它们的服务 ...
- 微调Win8.1这台电脑
从前有个笑话:一位朋友在办公室受到领导教育:“我说小王同志啊,虽然这电脑是你打了报告组织上买给你用的,可是你也不好这么狂妄嘛...”可怜的他只好把图标的名字改为“大家的电脑”. 想必大家已经知道这个笑 ...
随机推荐
- Java常用类——包装类 小白版个人推荐
包装类及自动装箱/拆箱 包装类是将Java中的八种基本数据类型封装成的类,所有数据类型都能很方便地与对应的包装类相互转换,以解决应用中要求使用数据类型,而不能使用基本数据类型的情况. int a = ...
- kube-flannel.yml
--- apiVersion: policy/v1beta1 kind: PodSecurityPolicy metadata: name: psp.flannel.unprivileged anno ...
- Transformer模型:Position Embedding实现
在自然语言处理(NLP)中,Transformer 模型是一个非常重要的里程碑,它通过自注意力(self-attention)机制极大地提高了处理序列数据的能力.在 Transformer 模型中,词 ...
- redux开发中的一个小坑
redux的actiontypes,不可以重名,重名将会报错 When called with an action of type "inserttoken", the slice ...
- LuCI Themes
Bootstrap Bootstrap Light Bootstrap Light 就是 Bootstrap Bootstrap Dark Material OpenWrt OpenWrt 2020
- 记 某List.sort()后排序结果异常
背景:某次查看日志,发现数据不符合预期,希望获取的是降序排序,但是部分数据是乱序的 已知List.sort()方法应该不会出异常,所以应该是判断先后方法出问题了 果然,因为一开始写代码时,没有考虑到差 ...
- mvn install 设定下载的依赖保存的地址
mvn clean install -P jdk-1.8 -Dmaven.repo.local=/xxxx/repository
- 10 Python面向对象编程:类和对象以及和Java的对比
本篇是 Python 系列教程第 10 篇,更多内容敬请访问我的 Python 合集 这里只介绍类和对象,self.属性.方法.访问控制.类继承.方法重写在后面的文章里介绍 在Python中,类和对象 ...
- 旺旺发消息代码,hook旺旺发消息,旺旺发消息call
工作需要写的,不是反汇编旺旺,是千牛的,基于千牛前端架构开发利用千牛发消息的一个组件,可以拿来做千牛客服机器人,可以拿来做千牛自动发货.非协议破解需要挂机,非模拟发送消息,非模拟发送消息,非模拟发送消 ...
- k8s 知识
命令 Pod 管理 kubectl get pods 查看pod在哪个node上 kubectl get pods -o wide kubectl describe pod pod_name 创建新的 ...