# 电机控制

## 1. 电机

### 1.1 电机的介绍和定义

​	在百度百科的释义中电机（英文：Electric machinery，俗称“马达”）是指依据电磁感应定律实现电能转换或传递的一种电磁装置。前半句解释了电机的工作原理：利用电磁感应原理工作。而后半句强调了两个东西，一个是**电能转换**，一个是**电能传递**。电能转换比较好理解，这就是我们大部分人通常理解的“电机”（更准确的说法是电动机），由电能转换为机械能。电能传递意味着是由电能到电能，而非其他形式的能。这样描述可能你会想起来，那就是我们的变压器。其实在第一点电能转换里面我们还遗漏了一点，我们只关注了电能到机械能，但是定义里面没有明确说必须是电能到其他形式的能，而是归纳为电能转换。机械能到电能也属于电能转换，所以第一点还包括机械能到电能，这就是我们的发电机。不管是电能转换还是电能传递，都离不开电，而电和磁往往又密不可分，所以电机是一种电磁装置或设备。

​	综上所述，电机其实是一个非常大的定义，包含了三大部分：电动机，发电机，变压器。这三者负责的领域或者说功能差异还是非常明显的，所以我们也可以说按照功能来划分，电机包含这三种类型。但电机的分类也非常多，还可以按照其他方式进行分类。而我们平时说所的“电机”实际上更多指电动机（狭义上的电机，后文出现的“电机”也指电动机，如出现另外两种会明确说明）。

### 1.2 电机的分类

​	电机在电路中是用字母M（旧标准用D）表示，它的主要作用是产生驱动转矩，作为用电器或各种机械的动力源；发电机在电路中用字母G表示，它的主要作用是利用机械能转化为电能；而变压器（Transformer）是利用电磁感应的原理来改变交流电压的装置，主要构件是初级线圈、次级线圈和铁芯（磁芯）。主要功能有：电压变换、电流变换、阻抗变换、隔离、稳压（磁饱和变压器）等。

​	根据不同分类方式（比如工作电源的不同，结构和工作原理的不同，启动运行方式的不同，用途的不同等）可分为很多类型。前文已经描述过一些，我们再看看根据工作电源的不同的分类，可分为直流电机和交流电机两大类；根据结构和工作原理的不同可分为异步电机和同步电机等。具体分类可以查看下图：

![](电机控制学习笔记.assets/1.png)

### 1.3 电机的其他知识点

·	然后有一个很重要的知识点就是我以前认为电机是通了电之后，就可以一些指令或者操作控制它转起来，但是现在发现这样理解并不是完全正确。电机首先确实需要在通电之后通过指令来转起来，但更准确地说是电机的转子跟着定子转，通电之后产生电流，有了电流就会产生磁场，通过磁场产生力来使转子转动起来，如下图所示：

![](电机控制学习笔记.assets/2.png)

## 2. 伺服

### 2.1 伺服系统的介绍

​	因为这次题目需要使用的器材是伺服电机，伺服电机算是伺服系统中的一部分，所在我在了解了电机的基本概念之后，着重去学习了一下伺服系统。首先我其实一直不理解伺服的含义，在查找了资料之后找到了伺服的定义：该词源于希腊语“奴隶”，意即“伺候”和“服从”。人们想把“伺服机构”当成一个得心应手的驯服工具，服从控制信号的要求而动作：在讯号来到之前，转子静止不动；讯号来到之后，转子立即转动；当讯号消失，转子能即时自行停转；即系统跟随外部指令进行人们所期望的运动。

​	伺服系统（servomechanism）又称随动系统，是用来精确地跟随或复现某个过程的反馈控制系统。伺服系统使物体的位置、方位、状态等输出被控量能够跟随输入目标（或给定值）的任意变化的自动控制系统。它的主要任务是按控制命令的要求、对功率进行放大、变换与调控等处理，使驱动装置输出的力矩、速度和位置控制非常灵活方便。在很多情况下，伺服系统专指被控制量（系统的输出量）是机械位移或位移速度、加速度的反馈控制系统，其作用是使输出的机械位移（或转角）准确地跟踪输入的位移（或转角），其结构组成和其他形式的反馈控制系统没有原则上的区别。

### 2.2 伺服系统的主要作用

​	伺服系统的主要作用是以小功率指令信号去控制大功率负载；在没有机械连接的情况下，由输入轴控制位于远处的输出轴，实现远距同步传动；使输出机械位移精确地跟踪电信号，如记录和指示仪表等。

### 2.3 伺服系统的优势

​	伺服系统的主要优势在于稳定性、精度和快速响应性。

​	稳定性好：作用在系统上的扰动消失后，系统能够恢复到原来的稳定状态下运行或者在输入指令信号作用下，系统能够达到新的稳定运行状态的能力，在给定输入或外界干扰作用下，能在短暂的调节过程后到达新的或者回复到原有平衡状态；

​	精度高：伺服系统的精度是指输出量能跟随输入量的精确程度。作为精密加工的数控机床，要求的定位精度或轮廓加工精度通常都比较高，允许的偏差一般都在 0.01～0.00lmm之间；

​	快速响应性好：有两方面含义，一是指动态响应过程中，输出量随输入指令信号变化的迅速程度，二是指动态响应过程结束的迅速程度。快速响应性是伺服系统动态品质的标志之一，即要求跟踪指令信号的响应要快，一方面要求过渡过程时间短，一般在200ms以内，甚至小于几十毫秒；另一方面，为满足超调要求，要求过渡过程的前沿陡，即上升率要大。

​	节能高：由于伺服系统的快速响应，注塑机能够根据自身的需要对供给进行快速的调整，能够有效提高注塑机的电能的利用率，从而达到高效节能。

### 2.4 伺服系统的组成

​	伺服系统主要由三部分组成：控制器，功率驱动装置，反馈装置和电动机。控制器按照数控系统的给定值和通过反馈装置检测的实际运行值的差，调节控制量；功率驱动装置作为系统的主回路，一方面按控制量的大小将电网中的电能作用到电动机之上，调节电动机转矩的大小，另一方面按电动机的要求把恒压恒频的电网供电转换为电动机所需的交流电或直流电；电动机则按供电大小拖动机械运转。

​	更详尽的组成介绍如下：控制器（plc，变频器，运动控制卡等其他控制设备，也称为上位机）；伺服驱动器：沟通上位机和伺服电机；伺服电机：执行设备，接受来自驱动器的控制信号；机械设备：将伺服电机的圆周运动（或直线电机的直线运动）转换成所需要的运动形式；各类传感器和继电器：检测工业控制环境下的各种信号送给上位机或驱动器做为某些动作的判断标准。

​	下面有一张图介绍伺服系统的构成：

![](电机控制学习笔记.assets/3.png)

​	红色为伺服驱动器组成部分，黄色为伺服电机组成部分。其实，在我的理解中伺服系统可以理解为一个工业控制系统，人们可以通过这个系统对位置、速度和方向角度等变量进行精确的控制。

### 2.5 伺服电机

​	在简单了解了伺服系统之后，我学习了伺服电机（servo motor ），伺服电机是指在伺服系统中控制机械元件运转的发动机，是一种补助马达间接变速装置。伺服电机可使控制速度，位置精度非常准确，可以将电压信号转化为转矩和转速以驱动控制对象。伺服电机转子转速受输入信号控制，并能快速反应，在自动控制系统中，用作执行元件，且具有机电时间常数小、线性度高等特性，可把所收到的电信号转换成电动机轴上的角位移或角速度输出。分为直流和交流伺服电动机两大类，其主要特点是，当信号电压为零时无自转现象，转速随着转矩的增加而匀速下降。

​	而又因为伺服电机本身具备发出脉冲的功能，所以伺服电机每旋转一个角度，都会发出对应数量的脉冲，这样，和伺服电机接受的脉冲形成了呼应，或者叫闭环，如此一来，系统就会知道发了多少脉冲给伺服电机，同时又收了多少脉冲回来，这样，就能够很精确的控制电机的转动，从而实现精确的定位，可以达到0.001mm。因此伺服系统基本都是闭环控制的，闭环控制是指控制论的一个基本概念。指作为被控的输出量以一定方式返回到作为控制的输入端，并对输入端施加控制影响的一种控制关系。带有反馈信息的系统控制方式。当操作者启动系统后，通过系统运行将控制信息输向受控对象，并将受控对象的状态信息反馈到输入中，以修正操作过程，使系统的输出符合预期要求。闭环控制是一种比较灵活、工作绩效较高的控制方式，工业生产中的多数控制方式采用闭环控制的设计。

#### 2.5.1 直流伺服电机

​	直流伺服电机分为有刷和无刷电机。有刷电机成本低，结构简单，启动转矩大，调速范围宽，控制容易，需要维护，但维护不方便换碳刷，产生电磁干扰，对环境有要求。因此它可以用于对成本敏感的普通工业和民用场合。

​	无刷电机体积小，重量轻，出力大，响应快，速度高，惯量小，转动平滑，力矩稳定。控制复杂，容易实现智能化，其电子换相方式灵活，可以方波换相或正弦波换相。电机免维护，效率很高，运行温度低，电磁辐射很小，长寿命，可用于各种环境。

#### 2.5.2 交流伺服电机

​	交流伺服电机也是无刷电机，分为同步和异步电机，运动控制中一般都用同步电机，它的功率范围大，可以做到很大的功率。大惯量，最高转动速度低，且随着功率增大而快速降低。因而适合做低速平稳运行的应用。

#### 2.5.3 交流和直流的区别

​	交流伺服电机和无刷直流伺服电机在功能上的区别：交流伺服要好一些，因为是正弦波控制，转矩脉动小。直流伺服是梯形波。但直流伺服比较简单，便宜。

#### 2.5.4 伺服电机的精度

​	伺服电机内部的转子是永磁铁，驱动器控制的U/V/W三相电形成电磁场，转子在此磁场的作用下转动，同时电机自带的编码器反馈信号给驱动器，驱动器根据反馈值与目标值进行比较，调整转子转动的角度。伺服电机的精度决定于编码器的精度线数。

## 3.电机运动

​	电机运动是通过一些运动控制的指令来实现的，本项目涉及到的指令有两种，一种是H运动模式下的指令；一种是C运动模式下的指令。C运动是简单型运动控制功能，H运动是入门实用型运动控制功能；要求熟悉并能运用的是C运动模式下的指令，H运动模式的指令了解即可。C运动相比H运动来说，首先C运动相当于是初级水平的功能，H运动相对来说要进阶一些；其次一个比较明显的不同是C运动是在NC模块下进行轴调试和轴配置等功能的，而H运动是直接可进行。NC 控制功能是基于 PC 的纯软件的运动控制，它的功能与传统的运动控制模块、运动控制卡类似。由于 NC 与 PLC 运行在同一个 CPU 上，运动控制和逻辑控制之间的数据交换更直接、快速，因此 NC 比传统的运动控制器更加灵活和强大。

### 3.1 H运动控制

#### 3.1.1 轴使能

&emsp;&emsp;指令 A_PWR，16位指令，常开/常闭线圈触发。

1. 指令语法

```
A_PWR S0 S1 S2
```

2. 操作数

| 操作数 |          作用          |    类型     |           适用元件            |
| :----: | :--------------------: | :---------: | :---------------------------: |
|   S0   | 指定输出状态字起始地址 | 32 位，双字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S1   | 指定输出状态位起始地址 |     位      |               M               |
|   S2   |   指定轴输出端口编号   |     位      |              K/H              |

#### 3.1.2 错误重置

&emsp;&emsp;指令 A_RST，16位指令，上升/下将沿线圈触发。

1. 指令语法

```
A_RST S0 S1 S2
```

2. 操作数

| 操作数 |          作用          |    类型     |           适用元件            |
| :----: | :--------------------: | :---------: | :---------------------------: |
|   S0   | 指定输出状态字起始地址 | 32 位，双字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S1   | 指定输出状态位起始地址 |     位      |               M               |
|   S2   |   指定轴输出端口编号   |     位      |              K/H              |

#### 3.1.3 相对运动

&emsp;&emsp;指令 A_MOVER，32位指令，上升/下将沿线圈触发。

1. 指令语法

```
A_MOVER S0 S1 S2 S3
```

2. 操作数

| 操作数 |          作用          |    类型     |           适用元件            |
| :----: | :--------------------: | :---------: | :---------------------------: |
|   S0   |  指定输入参数起始地址  | 64 位，四字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S1   | 指定输出状态字起始地址 | 32 位，双字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S2   | 指定输出状态位起始地址 |     位      |               M               |
|   S3   |   指定轴输出端口编号   |     位      |              K/H              |

#### 3.1.4 绝对运动

&emsp;&emsp;指令 A_MOVEA，32位指令，上升/下将沿线圈触发。

1. 指令语法

```
A_MOVEA S0 S1 S2 S3
```

2. 操作数

| 操作数 |          作用          |    类型     |           适用元件            |
| :----: | :--------------------: | :---------: | :---------------------------: |
|   S0   |  指定输入参数起始地址  | 64 位，四字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S1   | 指定输出状态字起始地址 | 32 位，双字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S2   | 指定输出状态位起始地址 |     位      |               M               |
|   S3   |   指定轴输出端口编号   |     位      |              K/H              |

#### 3.1.5 绝对持续运动

&emsp;&emsp;指令 A_CMOVEA，32位指令，上升/下将沿线圈触发。

1. 指令语法

```
A_CMOVEA S0 S1 S2 S3
```

2. 操作数

| 操作数 |          作用          |    类型     |           适用元件            |
| :----: | :--------------------: | :---------: | :---------------------------: |
|   S0   |  指定输入参数起始地址  | 64 位，四字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S1   | 指定输出状态字起始地址 | 32 位，双字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S2   | 指定输出状态位起始地址 |     位      |               M               |
|   S3   |   指定轴输出端口编号   |     位      |              K/H              |

#### 3.1.6 相对持续运动

&emsp;&emsp;指令 A_CMOVER，32位指令，上升/下将沿线圈触发。

1. 指令语法

```
A_CMOVER S0 S1 S2 S3
```

2. 操作数

| 操作数 |          作用          |    类型     |           适用元件            |
| :----: | :--------------------: | :---------: | :---------------------------: |
|   S0   |  指定输入参数起始地址  | 64 位，四字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S1   | 指定输出状态字起始地址 | 32 位，双字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S2   | 指定输出状态位起始地址 |     位      |               M               |
|   S3   |   指定轴输出端口编号   |     位      |              K/H              |

#### 3.1.7 停止运动

&emsp;&emsp;指令 A_STOP，32位指令，上升/下将沿线圈触发。

1. 指令语法

```
A_STOP S0 S1 S2 S3
```

2. 操作数

| 操作数 |          作用          |    类型     |           适用元件            |
| :----: | :--------------------: | :---------: | :---------------------------: |
|   S0   |  指定输入参数起始地址  | 64 位，四字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S1   | 指定输出状态字起始地址 | 32 位，双字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S2   | 指定输出状态位起始地址 |     位      |               M               |
|   S3   |   指定轴输出端口编号   |     位      |              K/H              |

#### 3.1.8 修改电气原点

&emsp;&emsp;指令 A_WRITE，32位指令，上升/下将沿线圈触发。

1. 指令语法

```
A_WRITE S0 S1 S2 S3
```

2. 操作数

| 操作数 |          作用          |    类型     |           适用元件            |
| :----: | :--------------------: | :---------: | :---------------------------: |
|   S0   |  指定输入参数起始地址  | 64 位，四字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S1   | 指定输出状态字起始地址 | 32 位，双字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S2   | 指定输出状态位起始地址 |     位      |               M               |
|   S3   |   指定轴输出端口编号   |     位      |              K/H              |

#### 3.1.9 速度控制运动

&emsp;&emsp;指令 A_VELMOVE，32位指令，上升/下将沿线圈触发。

1. 指令语法

```
A_VELMOVE S0 S1 S2 S3
```

2. 操作数

| 操作数 |          作用          |    类型     |           适用元件            |
| :----: | :--------------------: | :---------: | :---------------------------: |
|   S0   |  指定输入参数起始地址  | 64 位，四字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S1   | 指定输出状态字起始地址 | 32 位，双字 | D、FD、TD、CD、DX、DY、DM、DS |
|   S2   | 指定输出状态位起始地址 |     位      |               M               |
|   S3   |   指定轴输出端口编号   |     位      |              K/H              |

### 3.2 C运动控制

#### 3.2.1 相对运动

&emsp;&emsp;指令MOTO、32位指令、上升/下降沿线圈触发。相对运动是相对当前的位置继续运动。设置目标位置为300脉冲，则会继续运动300脉冲的距离。

1. 指令语法

   ```
   MOTO S0 S1  S2 S3
   ```

2. 操作数

| 操作数 |      作用      |       类型        | 适用软元件 |
| :----: | :------------: | :---------------: | :--------: |
|   S0   |  指定相对位置  | 32 位整数或寄存器 |   D、K/H   |
|   S1   |  指定运动速度  | 32 位整数或寄存器 |   D、K/H   |
|   S2   | 指定加减速时间 | 32 位整数或寄存器 |   D、K/H   |
|   S3   |   指定轴编号   | 16 位常数或寄存器 |   D、K/H   |

#### 3.2.2 绝对运动

&emsp;&emsp;指令MOTOA、32位指令、上升/下降沿线圈触发。绝对运动是相对0点位置继续运动。设置目标位置为300脉冲，当前位置为400，则会继续运动100脉冲的距离回到300脉冲距离的位置。

1. 指令语法

```
MOTOA S0 S1  S2 S3
```

2. 操作数

| 操作数 |           作用            |       类型        | 适用软元件 |
| :----: | :-----------------------: | :---------------: | :--------: |
|   S0   |       指定相对位置        | 32 位整数或寄存器 |   D、K/H   |
|   S1   |       指定运动速度        | 32 位整数或寄存器 |   D、K/H   |
|   S2   | 指定由 0 加速到 S1 的时间 | 32 位整数或寄存器 |   D、K/H   |
|   S3   |        指定轴编号         | 16 位常数或寄存器 |   D、K/H   |

#### 3.2.3 多段运动

&emsp;&emsp;指令MOTOS、32位指令、上升/下降沿线圈触发。该指令在运动过程中不可以修改目标位置，但可以修改当前段的运动速度。

1. 指令语法

```
MOTOS S0 S1  S2
```

2. 操作数

| 操作数 |       作用       |       类型        | 适用软元件 |
| :----: | :--------------: | :---------------: | :--------: |
|   S0   | 指定数据起始地址 | 32 位整数或寄存器 |     D      |
|   S1   | 指定参数起始地址 | 32 位整数或寄存器 |     D      |
|   S2   |    指定轴编号    | 16 位常数或寄存器 |   D、K/H   |

#### 3.2.4 停止运动

&emsp;&emsp;指令MOSTOP、32位指令、上升/下降沿线圈触发。

1. 指令语法

```
MOSTOP S0 S1
```

2. 操作数

| 操作数 |        作用        |       类型        | 适用软元件 |
| :----: | :----------------: | :---------------: | :--------: |
|   S0   | 停止方式或减速距离 | 32 位整数或寄存器 |   D、K/H   |
|   S1   |     指定轴编号     | 16 位常数或寄存器 |   D、K/H   |

#### 3.2.5 继续运动

&emsp;&emsp;指令MOGOON、32位指令、上升/下降沿线圈触发。

1. 指令语法

```
MOGOON S0 
```

2. 操作数

| 操作数 |    作用    |       类型        | 适用软元件 |
| :----: | :--------: | :---------------: | :--------: |
|   S0   | 指定轴编号 | 16 位常数或寄存器 |   D、K/H   |

#### 3.2.6 设置当前位置

&emsp;&emsp;指令MOWRITE、32位指令、上升/下降沿线圈触发。该指令可修改运动轴当前绝对位置值，用于修正位置

1. 指令语法

```
MOWRITE S0 S1
```

2. 操作数

| 操作数 |      作用      |       类型        | 适用软元件 |
| :----: | :------------: | :---------------: | :--------: |
|   S0   | 指定当前位置值 | 32 位整数或寄存器 |     D      |
|   S1   |   指定轴编号   | 16 位常数或寄存器 |   D、K/H   |

## 4. 实验器材选型

&emsp;根据实验要求需要PLC一台，伺服一台，伺服电机一个，网线两根，编码线一根，电源线一根，电机供电线一根，其余供电线若干。如表1.1是实验需要借的器材清单。

<center>表1.1 实验器材清单</center>

|    名字    |             型号             | 数量 |
| :--------: | :--------------------------: | :--: |
|    PLC     |          XDH-60T4-E          | 1台  |
|    伺服    |        DS5C-20P4-PTA         | 1台  |
|  伺服电机  | MS5S-60STE-CS01330B-20P4-S01 | 1台  |
| 电机编码线 |          CP-SP-M-03          | 1根  |
| 电机供电线 |         CM-P07-M-03          | 1根  |
|    网线    |           JC-CA-1            | 2根  |
|   电源线   |                              | 1根  |

## 5. 实验器材连线

![](电机控制学习笔记.assets/4.png)

#### 5.1 伺服电机

&emsp;&emsp;伺服电机需要接上供电线和编码线，供电线需要接入到伺服，供电线接头比编码线接头要小，通过电机供电线，一头按标识接入到伺服UWV和接地接线柱上，一端插入电机供电的接头中。编码线一头插入到电机的编码接头上，一段插入伺服的CN2口。伺服电机接线完毕。

#### 5.2 PLC

&emsp;&emsp;PLC两边都有接线柱，一边的接线柱+串口接口，为方便描述命名为A侧，另一边只有接线柱，命名为B侧，A侧的串口接口与B侧之间有两个网线接口，靠近A侧的网线接口需要通过连接到到伺服的IN网线接口，靠经B侧的网线接口需要通过网线连接到电脑。同时在B侧靠经网线接口的部分有L和N接线柱，两个接线柱需要接入电源和给伺服供电，L和N要与伺服上一一对应，对于外部引入的电源部分不需要区分是N还是L。

#### 5.3 伺服

&emsp;&emsp;伺服部分除在上述两个部分接线提到的接线，其余都不用接线。

## 6. 前期准备和接线测试

### 6.1 常用的伺服参数

&emsp;&emsp;参数设定是P参数，监视状态为U参数，辅助功能是F参数，报警状态时E参数。伺服面板基础操作图2.1，详细看对应伺服相关手册。

![image-20211008145138212](电机控制学习笔记.assets/16.png)

<center>图2.1 信捷伺服面板基础操作</center>

#### 6.1.1 P参数

##### 6.1.1.1 使能模式

&emsp;&emsp;功能码`P0-03`,设定既时生效，0不使能；1(默认)I/o使能/S-0N；2软件使能(F1-05或者通讯)；3总线使能(支持运动总线的型号)

##### 6.1.1.2 更改电机代码

&emsp;&emsp;功能码`P0-33`,设定即时生效，通过查看伺服电机上代码，如果与伺服中的电机代码不匹配，通过该参数设置伺服中的电机代码。

##### 6.1.1.3 实际转一圈脉冲

&emsp;&emsp;功能码`P0-11`,设置既时生效。

##### 6.1.1.4 驱动类型

&emsp;&emsp;功能码`P0-00`，0是普通类型，1是EtherCAT类型。

#### 6.1.2 U参数

##### 6.1.2.1 转速监控

&emsp;&emsp;功能码`U0-00`,按确认，即刻开始监控转速。

##### 6.1.2.2 报警代码

&emsp;&emsp;功能码`U1-00`,确认，即可看到报警代码。

#### 6.1.3 F参数

##### 6.1.3.1 清除报警

&emsp;&emsp;功能代码为`F0-00`，按下确认，输入1，确认清除报警。

##### 6.1.3.2  清除位置偏差

&emsp;&emsp;功能代码为`F0-02`，按下确认，输入1，确认消除位置偏差。

##### 6.1.3.3 点动

&emsp;&emsp;功能码为`F1-00`,按下确认进入点动模式，再次按确认电机使能，按INC正传，按DEC反转。

##### 6.1.3.4 试运行

&emsp;&emsp;功能码为`F1-01`,按下确认进入运行模式，再次按确认电机使能，按INC正传，按DEC反转。

##### 6.1.3.5 强制使能

&emsp;&emsp;功能码`F1-05`,当`P0-3`设置为2时可用，该参数设置为0，取消使能电机恢复等待状态，设置为1强制使能，电机处于运行状态。

### 6.2 通过伺服调试运行电机

&emsp;伺服调试电机运行，主要是检查伺服与伺服电机之间的线连接是否正确，可能出现异常码，需要查阅异常码表，查看对应问题解决。如果出现电机抖动等，必须关闭电源。伺服调试电机运行不可带设备调试。对伺服的详细操作请查阅对应的伺服用户 手册。

+ 点动模式

&emsp;&emsp;通过伺服面板设置功能码为`F1-00`,具体操作如图1.2。可以通过功能码`F1-18`设置点动速度，出厂速度为100，可设定范围为0~1000，既时生效。

![image-20211008130431458](电机控制学习笔记.assets/14.png)

<center>图1.2 点动试运行面板调参流程</center>

+ 电动模式的试运行模式

&emsp;&emsp;通过伺服面板设置功能码`F1-01`,按图1.3的流程操作。

![image-20211008131337687](电机控制学习笔记.assets/15.png)

<center>图1.3 试运行的伺服面板操作流程</center>

### 6.3 通过PLC调试运行电机

​	通过信捷XDPPro采用Xnet通信协议连接到PLC，因为项目整体的实物接线是以总线拓扑结构连接的，以EtherCAT通讯协议来传输数据；所以在通讯连接之后要对EtherCAT进行配置，确保从站是在OP状态下进行调试。通过PLC对电机进行调试，主要是以轴调试的方式进行，在调试状态下我们并没有下载程序到PLC中，只是在调试面板上修改对应的数值来查看电机是否正常运行。如果出现给出使能信号，但是电机不转同时伺服没有报错的情况，重启XDPPro可以解决部分问题。

#### 6.3.1 H运动模式

​	我首先进行的是H运动模式下的轴调试，首先进行通讯连接。这里选择Ethernet通信接口，通信协议选择Xnet。

![](电机控制学习笔记.assets/6.png)

​	点击连接后，会显示已连接，当然你也可以先在上图的通信配置界面进行通信测试，防止有连线或者是Xnet服务错误等问题。

![](电机控制学习笔记.assets/7.png)

​	连接成功之后，会提示成功连接PLC。

![](电机控制学习笔记.assets/8.png)

​	随后配置EtherCAT的一些参数。配置好之后写入配置，激活，确认即可。

![image-20211213201311903](电机控制学习笔记.assets/9.png)

​	随后在左边的项目树下选择运动控制下的轴配置，进行轴的相关参数配置。

![](电机控制学习笔记.assets/10.png)

​	&emsp;如图需要注意配置图中红色部分的参数，轴类型，实际电机为实轴，指令通道是EtherCAT,从站号与EtherCAT中配置需要一致，每圈脉冲数和每圈移动量是影响转动的位置，每圈脉冲数是固定的由系统决定，实验使用的电机编码是17位编码，则每圈脉冲数是2的17次方131072，一般不需要更改该参数。需要更改的是每圈移动量。根据该参数设置电机转动目标位置。

![](电机控制学习笔记.assets/11.png)

​	在正式之前我们要先运行PLC，随后在如图所示的调试界面的右边将调试模式改为启用，然后你可以在下面选择是相对运动还是绝对运动。**相对运动就是相对当前位置进行运动**，比如说目标位置300脉冲，则会继续运动300脉冲的距离。**绝对运动是相对0点位置继续运动**。设置目标位置为300脉冲，当前位置为400脉冲，则会继续运动100脉冲的距离回到300脉冲距离的位置，即每个位置是绝对的，300脉冲就是300脉冲。

![](电机控制学习笔记.assets/5.png)

#### 	6.3.2 C运动模式

​	首先要创建一个空的PLC程序，然后切换成C运动模式，再下载到PLC中。接下来和H运动模式下一样进行通信连接和EtherCAT相关参数的配置；配置完成之后运行PLC，然后在左边的项目树中的运动控制模块下找到NC模块，如下图：

![](电机控制学习笔记.assets/18.png)

​	然后就会进入通信配置界面，如下图所示：

![](电机控制学习笔记.assets/17.png)

​	在这个界面，你可以对指令刷新周期、从站个数和错误重试次数。指令刷新周期即同步单元周期；即主站向从站发送数据的时间间隔，可通过 SFD2990 监控；一般我们默认是1000ms，如果是像XDH这样32轴的PLC，我们可以适当放大，给到2000ms也可以。从站个数范围是1-32；错误重试次数一般默认是3次。该功能界面的数值会实时刷新。

​	然后会进入多轴配置界面，如下图：

![image-20211215141051073](电机控制学习笔记.assets/19.png)

​	你在这个界面上可以选择添加/删除轴；可以对选中的轴进行单轴调试；对选中的轴进行使能操作和清报警操作。要注意当开启使能时，不能够对轴的复选框进行操作；对轴进行删除时，不能够删除复选框处于选中状态的轴；通过双击鼠标选中的轴也可以进行单轴调试；运动操作只对复选框选中的轴进行操作。 

​	在本项目中，因为只有一个轴，所以更多得还是会在下图所示得单轴调试界面进行相关得操作。选中需要调试的轴，被选中的轴背景色为蓝色，点击单轴调试后出现单轴调控界面即可对该轴进行参数配置。通过双击鼠标选中的轴也可以进入单轴调控界面。

​	在该界面需要注意的就是刷新固定参数就是刷新在线数值；下载离线参数就是将复选框选中的“离线数值”下载到 PLC 中。

![](电机控制学习笔记.assets/20.png)

​	在C运动模式下，参数的配置和H运动下一样，但主要要注意图中标红的参数两个参数，其它参数根据需要配。

![](电机控制学习笔记.assets/12.png)

​	C运动的调试界面：

![](电机控制学习笔记.assets/13.png)

### 6.4 常用的软元件

#### 6.4.1 辅助继电器

1. 标识:M

2. 系列:XD

3. 一般适用:M

4. 停电保持适用:HM

5. 特殊适用:SM

#### 6.4.2 数据寄存器

1. 标识:D

2. 系列:XD

3. 一般适用：D

4. 停电保持适用：HD

5. 特殊适用：SD

6. 特殊停电保持适用:HSD

#### 6.4.3 常数适用

1. 标识：K/H/B
2. 系列：XD
3. 十进制常数：K
4. 十六进制常数：H
5. 二进制尝试：B

