9. PROFIDRIVE AC1/AC4参考代码
PROFIdrive是西门子 Profibus 与 Profinet 两种通讯方式针对驱动的生产与自动化控制应用的一种协议框架,也可以称作“行规”, PROFIdrive使得用户更快捷方便实现对驱动的控制。PROFIdrive的最大特点是互操作性 – 不同厂家的的驱动器可以由同一个控制器通过总线进行控制。PROFIdrive是一个比较复杂的行规,由于该文档主要面向初学者,因此本文不会针对PROFIdrive协议本身进行深入的分析和介绍,而是通过AC4示例程序结合TIA中的运动控制工艺对象,演示一个完整的应用流程。通过实验,可以了解到PROFIdrive的一些基本概念,这样为将来进一步开发支持PROFIdrive的驱动器,打下一定的基础。
如果需要开发支持Profidrive的产品,需要按部就班对PN RT/IRT, Profidrive, 测试环境,PLC运动控制功能有较为深入的了解。切忌在基础没有打牢的情况下直接进行行规的开发,否则会耽误更多的时间走弯路。
9.1 PROFIdrive 基础
为了实现运动控制应用,PROFIdrive定义驱动器需要实现4大类功能
- 非周期参数读写 – 例如:PID参数,加减速时间,通过数据记录的方式进行通讯
- 基于标准报文的周期数据读写 – 例如:速度、位置设定值,速度、位置实际值,通过PNIO周期数据进行通讯
- 诊断与报警 – 例如:诊断缓冲区,通道报警
- 时钟同步 – IRT时钟同步 (Ti、To、Tdc)
为了支持典型的运动控制场景,PROFIdrive定义了6个应用类AC1-AC6,其中PN支持的有
AC1:开环速度控制,常用于风机、水泵、传送带等实时性要求不高的速度控制场景
AC3:位置控制,常用于点到点定位控制的机电设备,轴与轴之间没有同步关系,路径规划、插补均有驱动器完成
AC4 :位置闭环速度控制,常用于多轴同步应用,PLC实现路径规划和插补以及各个轴的位置闭环控制,驱动器工作在速度模式
AC4-DSC:由于在AC4应用中,位置环路包含PN通讯时延,因此AC4难以实现高动态、大带宽、高位置环增益的应用。因此PROFIdrive定义AC4-DSC,通过驱动器内部的位置环实现高动态的伺服控制更能。
为了方便开发PROFIdrive设备,西门子免费提供AC1/AC4的参考代码,功能如下图所示:
其中包含了
- PROFIdrive通用状态机
- PROFIdrive设定值通道
- PROFIdrive参数访问
- PROFIdrive编码器接口
- PROFIdrive诊断
- PROFIdrive同步机制
- 驱动装置的仿真(在没有实际装置的情况下模拟运动控制行为,例如加减速和位置反馈)
参考代码全部运行于ERTEC200P-2,可以通过绝大部分的测试项目。如果需要基于参考代码开发驱动器设备,可以参考如下的结构进行移植。
接下来的部分,通过AC4示例程序结合TIA中的运动控制工艺对象,演示一个完整的应用流程。