### AM600系列可编程逻辑控制器编程手册(运动控制篇)
#### 1. PLCopen规范简介
PLCopen是一个国际性的组织,旨在通过标准化来提高可编程逻辑控制器(PLC)及其相关软件的互操作性和灵活性。AM600系列可编程逻辑控制器遵循PLCopen规范,这意味着它支持一系列标准的运动控制功能块,如MC_Home、MC_MoveAbsolute等,这些功能块在不同的制造商之间具有高度的一致性。通过使用这些标准功能块,工程师可以在不同的PLC平台上实现相似的功能,从而简化了编程过程并提高了项目的可移植性。
#### 2. AM600运动控制应用系统组成
AM600系列PLC的运动控制系统主要包括以下几个组成部分:
- **控制器**:AM600系列PLC作为核心控制单元,负责执行运动控制算法。
- **伺服驱动器**:通过EtherCAT总线与PLC连接,接收PLC发送的位置、速度和扭矩指令,并控制电机按照指定方式动作。
- **电机**:执行实际的机械动作,通常是通过伺服电机或步进电机来实现。
- **传感器**:用于检测位置、速度等信息,反馈给PLC进行闭环控制。
- **编程软件**:InoProShop是专门用于AM600系列PLC编程的软件,支持创建、编辑和调试运动控制程序。
#### 3. AM600运动控制程序的组成
##### 3.1 AM600的用户程序结构
AM600系列PLC的用户程序由多个程序组织单元(POU)组成,包括函数(Function)、功能块(Function Block)和程序(Program)。这种结构允许程序员将复杂的任务分解成更小、更容易管理的部分。
- **函数(Function)**:用于执行特定计算并返回结果。
- **功能块(Function Block)**:包含一组指令,可以被多次调用,并且每次调用时可以有不同的输入和输出。
- **程序(Program)**:通常包含一系列调用函数和功能块的指令,用于实现特定的任务。
##### 3.2 用户程序如何同时做到逻辑控制与运动控制
AM600系列PLC支持多种任务类型,包括循环任务、事件触发任务等。通过合理安排这些任务,可以实现逻辑控制和运动控制的同时进行。
- **循环任务**:定期执行,用于实时处理数据和控制逻辑。
- **事件触发任务**:响应特定事件触发,如外部中断或特定条件满足时执行。
通过这种方式,可以确保运动控制任务与其他逻辑控制任务相互独立,避免相互干扰。
##### 3.3 一个简单的用户程序的编写调试过程
1. **新建工程**:使用InoProShop创建一个新的项目。
2. **编写功能处理的POU**:定义所需的函数、功能块和程序。
3. **电机参数的设置**:配置伺服驱动器的参数,如最大速度、加减速时间等。
4. **编写控制逻辑**:根据需求编写控制逻辑,例如利用MC_Home进行回零操作。
5. **变量与硬件输出端口关联**:将程序中的变量与实际的I/O端口建立联系。
6. **用户程序编译排错**:检查语法错误并确保程序能够正常编译。
7. **监控用户程序的运行**:通过监控工具观察程序的实际运行情况,调整参数直至满足需求。
8. **典型步骤总结**:完成以上步骤后,即可形成一套完整的运动控制程序开发流程。
#### 4. AM600运动控制程序执行机制
##### 4.1 AM600用户工程中的任务与配置
AM600系列PLC支持多种任务类型,每个任务都有自己的周期时间和优先级。通过合理配置这些任务,可以确保运动控制任务得到及时准确的执行。
- **任务类型**:包括循环任务、事件触发任务等。
- **周期时间**:每个任务的执行间隔。
- **优先级**:决定任务执行的顺序。
##### 4.2 EtherCAT总线网络的数据流分析
EtherCAT是一种高速现场总线技术,广泛应用于工业自动化领域。AM600系列PLC通过EtherCAT与伺服驱动器等设备进行通信。
- **数据流**:数据从PLC到伺服驱动器的传输过程。
- **通信协议**:采用CiA402标准,这是一种针对伺服和变频器的通用接口规范。
##### 4.3 AM600与伺服用站的通信数据流程
- **控制信息流程**:从PLC到伺服驱动器的指令传输路径。
- **数据对象字典**:CiA402规范定义了一套标准的数据对象字典,用于描述伺服驱动器的各种状态和配置参数。
- **电机参数配置**:包括最大速度、加速度、减速度等关键参数。
- **网络状态管理**:确保EtherCAT网络处于稳定状态,包括初始化和故障恢复。
##### 4.4 MC运动控制数据的传送时序
- **周期同步位置控制模式**:AM600系列PLC采用周期同步位置控制模式来确保运动控制任务的实时性。
- **伺服轴的数据结构**:描述伺服轴的物理属性和状态信息。
- **状态及转移规则**:定义伺服轴从一个状态转移到另一个状态的具体条件。
##### 4.5 MC功能块的执行逻辑
- **运动命令处理机制**:AM600系列PLC对伺服的运动命令采取周期同步位置控制模式。
- **伺服轴的状态机**:通过状态机模型来描述伺服轴的不同工作状态及其转换。
- **不同优先级任务POU之间的数据交互**:确保高优先级任务能够及时获得所需数据,从而保证系统的实时性能。
#### 5. AM600用户程序的应用编程
##### 5.1 单轴MC定位的运动控制编程
- **编程要点**:了解AM600系列PLC在单轴运动控制编程时应注意的关键点。
- **常用功能块**:MC_Home、MC_MoveAbsolute等功能块的使用方法。
- **PDO/SDO配置**:配置过程数据对象(PDO)和服务数据对象(SDO),实现数据的高效传输。
##### 5.2 多轴CAM凸轮同步的运动控制编程
- **主要功能块说明**:解释MC_CAM、MC_CamOut等凸轮同步控制功能块的作用。
- **不同模式下的运行特点**:当主轴和从轴分别处于绝对位置模式、相对位置模式时,凸轮同步控制的差异。
- **相位调整**:利用MC_Phasing功能块进行凸轮主轴相位的精确调整。
##### 5.3 凸轮表的周期模式特点
- **Offset功能**:CamIn功能块中的偏移量设置。
- **MasterScaling和SlaveScaling计算**:凸轮运行过程中主轴和从轴的比例计算。
- **Offset、Scale使用特性与注意事项**:理解Offset和Scale在凸轮运行中的作用及注意事项。
- **退出MC_CamOut功能块**:退出凸轮同步控制的方法。
##### 5.4 CAM凸轮表设计与其数据结构
- **凸轮表的特点**:介绍凸轮表的设计理念及其在运动控制中的应用。
- **输入方法**:通过表格或图形界面输入凸轮曲线。
- **内部数据结构**:凸轮表的存储格式及其数组表示。
- **动态切换**:根据运行需求动态切换不同的凸轮表。
#### 6. 常用MC指令详解
##### 6.1 单轴指令
- **MC_AccelerationProfile**:设置加速度和减速时间。
- **MC_Halt**:停止当前的运动。
- **MC_Home**:执行回零操作。
- **MC_MoveAbsolute**:移动到绝对位置。
这些指令是AM600系列PLC进行运动控制的基础,通过组合这些指令可以实现复杂而精确的运动轨迹控制。通过深入学习这些指令的功能和使用方法,工程师可以更好地掌握AM600系列PLC的运动控制技术,从而提高系统的性能和稳定性。