diff --git a/电机控制方案书.assets/1.png b/电机控制方案书.assets/1.png new file mode 100644 index 0000000..c334a4c Binary files /dev/null and b/电机控制方案书.assets/1.png differ diff --git a/电机控制方案书.assets/10.png b/电机控制方案书.assets/10.png new file mode 100644 index 0000000..f1b4cfe Binary files /dev/null and b/电机控制方案书.assets/10.png differ diff --git a/电机控制方案书.assets/11.png b/电机控制方案书.assets/11.png new file mode 100644 index 0000000..8edbd99 Binary files /dev/null and b/电机控制方案书.assets/11.png differ diff --git a/电机控制方案书.assets/12.png b/电机控制方案书.assets/12.png new file mode 100644 index 0000000..e8a777a Binary files /dev/null and b/电机控制方案书.assets/12.png differ diff --git a/电机控制方案书.assets/13.png b/电机控制方案书.assets/13.png new file mode 100644 index 0000000..0dbca99 Binary files /dev/null and b/电机控制方案书.assets/13.png differ diff --git a/电机控制方案书.assets/14.png b/电机控制方案书.assets/14.png new file mode 100644 index 0000000..79f595f Binary files /dev/null and b/电机控制方案书.assets/14.png differ diff --git a/电机控制方案书.assets/15.png b/电机控制方案书.assets/15.png new file mode 100644 index 0000000..7b7625c Binary files /dev/null and b/电机控制方案书.assets/15.png differ diff --git a/电机控制方案书.assets/2.png b/电机控制方案书.assets/2.png new file mode 100644 index 0000000..5417404 Binary files /dev/null and b/电机控制方案书.assets/2.png differ diff --git a/电机控制方案书.assets/3.png b/电机控制方案书.assets/3.png new file mode 100644 index 0000000..00b71d6 Binary files /dev/null and b/电机控制方案书.assets/3.png differ diff --git a/电机控制方案书.assets/4.png b/电机控制方案书.assets/4.png new file mode 100644 index 0000000..b94ed1d Binary files /dev/null and b/电机控制方案书.assets/4.png differ diff --git a/电机控制方案书.assets/5.png b/电机控制方案书.assets/5.png new file mode 100644 index 0000000..924c3c7 Binary files /dev/null and b/电机控制方案书.assets/5.png differ diff --git a/电机控制方案书.assets/6.png b/电机控制方案书.assets/6.png new file mode 100644 index 0000000..50b775d Binary files /dev/null and b/电机控制方案书.assets/6.png differ diff --git a/电机控制方案书.assets/7.png b/电机控制方案书.assets/7.png new file mode 100644 index 0000000..8cd600c Binary files /dev/null and b/电机控制方案书.assets/7.png differ diff --git a/电机控制方案书.assets/8.png b/电机控制方案书.assets/8.png new file mode 100644 index 0000000..176a81c Binary files /dev/null and b/电机控制方案书.assets/8.png differ diff --git a/电机控制方案书.assets/9.png b/电机控制方案书.assets/9.png new file mode 100644 index 0000000..0efbb8d Binary files /dev/null and b/电机控制方案书.assets/9.png differ diff --git a/电机控制方案书.assets/image-20211215100141207.png b/电机控制方案书.assets/image-20211215100141207.png new file mode 100644 index 0000000..00b71d6 Binary files /dev/null and b/电机控制方案书.assets/image-20211215100141207.png differ diff --git a/电机控制方案书.assets/image-20211215101027411.png b/电机控制方案书.assets/image-20211215101027411.png new file mode 100644 index 0000000..b94ed1d Binary files /dev/null and b/电机控制方案书.assets/image-20211215101027411.png differ diff --git a/电机控制方案书.assets/image-20211215102000438.png b/电机控制方案书.assets/image-20211215102000438.png new file mode 100644 index 0000000..d328ab1 Binary files /dev/null and b/电机控制方案书.assets/image-20211215102000438.png differ diff --git a/电机控制方案书.assets/image-20211215102634853.png b/电机控制方案书.assets/image-20211215102634853.png new file mode 100644 index 0000000..924c3c7 Binary files /dev/null and b/电机控制方案书.assets/image-20211215102634853.png differ diff --git a/电机控制方案书.assets/image-20211215103252529.png b/电机控制方案书.assets/image-20211215103252529.png new file mode 100644 index 0000000..50b775d Binary files /dev/null and b/电机控制方案书.assets/image-20211215103252529.png differ diff --git a/电机控制方案书.assets/image-20211215104649710.png b/电机控制方案书.assets/image-20211215104649710.png new file mode 100644 index 0000000..a03202e Binary files /dev/null and b/电机控制方案书.assets/image-20211215104649710.png differ diff --git a/电机控制方案书.assets/image-20211215110139891.png b/电机控制方案书.assets/image-20211215110139891.png new file mode 100644 index 0000000..8cd600c Binary files /dev/null and b/电机控制方案书.assets/image-20211215110139891.png differ diff --git a/电机控制方案书.assets/image-20211215110628319.png b/电机控制方案书.assets/image-20211215110628319.png new file mode 100644 index 0000000..176a81c Binary files /dev/null and b/电机控制方案书.assets/image-20211215110628319.png differ diff --git a/电机控制方案书.assets/image-20211215111549779.png b/电机控制方案书.assets/image-20211215111549779.png new file mode 100644 index 0000000..0efbb8d Binary files /dev/null and b/电机控制方案书.assets/image-20211215111549779.png differ diff --git a/电机控制方案书.assets/image-20211215113251481.png b/电机控制方案书.assets/image-20211215113251481.png new file mode 100644 index 0000000..f1b4cfe Binary files /dev/null and b/电机控制方案书.assets/image-20211215113251481.png differ diff --git a/电机控制方案书.assets/image-20211215124247226.png b/电机控制方案书.assets/image-20211215124247226.png new file mode 100644 index 0000000..8edbd99 Binary files /dev/null and b/电机控制方案书.assets/image-20211215124247226.png differ diff --git a/电机控制方案书.assets/image-20211215124848217.png b/电机控制方案书.assets/image-20211215124848217.png new file mode 100644 index 0000000..e8a777a Binary files /dev/null and b/电机控制方案书.assets/image-20211215124848217.png differ diff --git a/电机控制方案书.assets/image-20211215125249512.png b/电机控制方案书.assets/image-20211215125249512.png new file mode 100644 index 0000000..0dbca99 Binary files /dev/null and b/电机控制方案书.assets/image-20211215125249512.png differ diff --git a/电机控制方案书.assets/image-20211215125444639.png b/电机控制方案书.assets/image-20211215125444639.png new file mode 100644 index 0000000..79f595f Binary files /dev/null and b/电机控制方案书.assets/image-20211215125444639.png differ diff --git a/电机控制方案书.assets/image-20211215125558999.png b/电机控制方案书.assets/image-20211215125558999.png new file mode 100644 index 0000000..7b7625c Binary files /dev/null and b/电机控制方案书.assets/image-20211215125558999.png differ diff --git a/电机控制方案书.md b/电机控制方案书.md new file mode 100644 index 0000000..16e45f8 --- /dev/null +++ b/电机控制方案书.md @@ -0,0 +1,178 @@ +# 电机控制方案书 + +## 一、项目背景 + +  电机控制是运动控制的基础,本项目需要熟悉运动控制相关的指令和自制一个控制软件,控制电机的运行。首先需要熟悉电机控制的相关指令,能够通过XDPPro来调试电机,并且能够绘制梯形图来制作PLC程序控制电机运行。然后需要自制一个控制软件,通过设置相关的参数来控制电机运行。 + +## 二、项目需求 + +### 2.1 需要学习的运动控制指令 + +1. 学习了解项目相关的H运动的运动控制指令 +2. 学习了解项目相关的C运动的运动控制指令 + +### 2.2 需要实现的电机运动控制 + +1. 控制电机的启动 +2. 控制电机的停止 +3. 控制电机的暂停 +4. 控制电机的继续 + +### 2.3 需要了解的其他知识点 + +#### 2.3.1 电机参数 + +1. 设置电机的运行的相关参数 + +#### 2.3.2 电机运动 + +​ 电机运动包括电机使能;电机的点动、相对运动、绝对运动、多段运动;电机的停止运动;电机的继续运动。 + +### 2.3 项目开发环境 + +  QT、Window10、c++、XDPPro + +## 三、项目具体设计 + +​ 我实现的是电机在C运动模式下的相关运动控制,因此PLC程序中使用的都是C运动相关的控制指令,在自制程序中需要去设置的参数都是我通过对XDPPro中C运动模式下的轴调试的学习后了解到的。 + +### 3.1 PLC程序设计 + +### 3.2 自制软件设计 + +#### 3.2.1 整体流程图 + +首先是整体的流程图,如下: + +![image-20211214200830059](电机控制方案书.assets/1.png) + +``` +首先进行通信的连接,然后就可以进行参数的配置;配置完参数之后就可以给电机使能信号;给了使能信号之后就可以对相关的数据和连接状态进行监控;之后就能对电机进行相关的运动控制操作;最后是判断程序是否结束。 +``` + +##### 3.2.1.1 通信连接 + +本项目的通信连接主要通过Xnet的通信方式,流程图如下: + +![image-20211214200646467](电机控制方案书.assets/2.png) + +``` +首先设置Xnet服务的IP地址,然后就可以通过函数读取连接状态标识,读取成功之后就可以判断标识是否正常;正常的话就提示连接成功;不正常的话就提示连接失败。 +``` + +##### 3.2.1.2 参数配置 + +参数配置模块包括两部分,首先是参数下载,在上位机程序中输入相应的参数,然后下载到PLC中。然后是参数上传,通过Xnet通信协议的函数将PLC中对应的参数读取写入到上位机程序界面上对应的表格中。 + +###### 1.参数下载 + +首先是整体的流程图,如下: + +![image-20211215100141207](电机控制方案书.assets/3.png) + +``` +首先先判断连接状态,如果状态不正常则提示连接出错;如果正常则用户可以在界面上输入参数的离线值,然后写入参数。 +``` + +输入参数的离线值模块的流程图: + +![image-20211215101027411](电机控制方案书.assets/4.png) + +``` +输入对应的参数 +``` + +写入参数模块的流程图: + +![image-20211215102634853](电机控制方案书.assets/5.png) + +``` +首先判断参数是否被选中,如果成功则获取它的离线值并转换成整型;然后判断转换成整型是否成功;如果没有选中或者转换成整型失败都返回失败信息;成功的话就用Xnet函数写入数据,返回成功信息。 +``` + +###### 2.参数上传 + +参数上传模块的流程图如下: + +![image-20211215103252529](电机控制方案书.assets/6.png) + +``` +首先用Xnet函数读取所需要的参数,然后将对应参数写到界面中对应的位置。 +``` + +##### 3.2.1.3 数据和状态监控 + +###### 1.连接状态监控 + +![image-20211215110139891](电机控制方案书.assets/7.png) + +``` +首先要设定读值的时间间隔,因为XDH的同步单元周期我们基本默认是1000ms,因此我这里的时间间隔也设置为1000ms。到时间触发任务,读取SD8020的值,然后判断是否为1,如果为1的话就说明连接成功,不为1则连接失败。 +``` + +###### 2.从站状态监控 + +![image-20211215110628319](电机控制方案书.assets/8.png) + +``` +这是依据EtherCAT通信协议设置的从站状态监控,因为本项目PLC和伺服已经电机之间采用的是EtherCAT通信。时间间隔同样是1000ms,读取SD8021的值,根据SD8021的值去判断从站的状态。 +``` + +###### 3.数据监控 + +![image-20211215111549779](电机控制方案书.assets/9.png) + +``` +数据监控和之前的连接和从站状态监控差不多,区别是时间间隔缩短到500ms,这样可以提高数据的精确度和准确性。 +``` + +##### 3.2.1.4 运动控制 + +###### 1.点动 + +![image-20211215113251481](电机控制方案书.assets/10.png) + +``` +在电机使能之后,写入你需要的参数,然后选择正向点动还是反向点动 +``` + +###### 2.相对运动 + +![image-20211215124247226](电机控制方案书.assets/11.png) + +``` +首先开启电机使能,然后写入对应参数开启运动即可 +``` + +###### 3.绝对运动 + +![image-20211215124848217](电机控制方案书.assets/12.png) + +``` +首先开启电机使能,然后写入对应参数开启运动即可 +``` + +###### 4.多段运动 + +![image-20211215125249512](电机控制方案书.assets/13.png) + +``` +首先开启电机使能,然后写入对应参数开启运动即可 +``` + +###### 5.停止运动 + +![image-20211215125444639](电机控制方案书.assets/14.png) + +``` +停止运动只需开启M15线圈即可 +``` + +###### 6.继续运动 + +![image-20211215125558999](电机控制方案书.assets/15.png) + +``` +继续运动需要关闭M15线圈,然后开启M20线圈即可 +``` +