基于PCC伺服系统的PID控制研究论文

上传人:红** 文档编号:171390753 上传时间:2022-11-26 格式:DOC 页数:58 大小:3.55MB
返回 下载 相关 举报
基于PCC伺服系统的PID控制研究论文_第1页
第1页 / 共58页
基于PCC伺服系统的PID控制研究论文_第2页
第2页 / 共58页
基于PCC伺服系统的PID控制研究论文_第3页
第3页 / 共58页
点击查看更多>>
资源描述
54摘 要交流伺服控制技术在当今科技领域已日臻成熟,被广泛用于工业、农业生产和日常生活等方面。其中对伺服电机的研究已成为现代伺服控制系统发展的新方向。另外,计算机和伺服控制系统相结合也是近代交流伺服控制的一个重要研究方向。本文主要是对伺服电机速度控制进行研究和设计,并针对伺服电机速度控制,利用可编程控制器(PCC)来完成伺服电机的PID控制,主要从系统组成、软件配置、软件编程等几方面对伺服电机速度控制器的开发进行研究。关键词:伺服驱动,PID控制,可编程控制器(PCC),伺服控制器(ACOPOS)ABSTRACTAC servo control technology in todays scientific filed has matured. It has been widely used in industry, agriculture and other aspects of production and daily life. Among this, the research on servo motor has become a modern servo control system of the new direction of development. In addition, the combination of computer and servo control system is an important research direction of modern AC servo control system. This paper is a research on angle control of servo motor and to use a programmable computer controller (PCC) to complete the research on angle control according to controlling motor angle. This paper mainly consists of system structure, software configuration, software programming and other aspects of the servo motor control to have a research on designing a system of angle control of motor. Key words: servo drive, PID control, programmable computer controller (PCC), servo controller (ACOPOS)目 录1 绪论12.PCC与ACOPOS简介42.1 可编程计算机控制器(PCC)3, 4, 642.2 伺服控制器(ACOPOS)52.3理论上确定控制器参数73.主要硬件103.1 系统组成103.2 系统连接114.软件配置134.1 硬件分配134.2 软件配置165.程序设计235.1 PLCopen与ACP10_MC235.2 ACP10_MC功能函数介绍235.3 程序设计246.NC Test316.1 NC 基本运动336.2 速度控制346.3 PID自整定387.结论41参考文献42附录43致 谢551 绪论近年来,随着现代科学技术的飞速发展,造成人们对工农业生产的性能要求不断提升,传统的生产控制系统已无法满足现代工业生产的需要,开始尝试开发其他新型的伺服控制系统。目前现有的伺服电机控制系统主要是由PLC控制, PLC伺服电机控制系统主要是由硬件构成,硬件接线多而复杂,容易出错,所以有了很大的限制。虽然PCC从诞生至今,只有30多年的历史,但已成为当今增长速度最快的工业自动控制设备,它由PLC发展而来,但在硬件和软件上与PLC相比都有很大优势,所以基于PCC的伺服电机速度控制器的开发是对伺服控制系统的一次新颖的尝试与改良1。1.1 伺服系统及其发展概况1, 5,19伺服驱动系统(Servo System)简称伺服系统,是一种以机械位置或速度作为控制对象的自动控制系统。它有交流系统和直流系统,在旋转运动中应用较广,通常是通过电机上的旋转编码器输出速度和位置信号,将该信号送到计算机控制系统进行一系列处理后实现自动调节,使其速度和位置快速跟踪设定值,为了达到快速和高精度,因而出现了一系列的控制方法和策略(包括PID),为了验证策略的正确性,又出现了许多仿真,这就是所谓的软件处理。硬件上也作了大量的改进。从70年代后期到80年代初期,随着微处理器技术、大功率高性能半导体功率器件技术和电机永磁材料制造工艺的发展及其性能价格比的日益提高,交流伺服技术交流伺服电机和交流伺服控制系统逐渐成为主导产品。交流伺服驱动技术已经成为工业领域实现自动化的基础技术之一,并将逐渐取代直流伺服系统。而其中永磁同步电动机交流伺服系统在技术上已趋于完全成熟,具备了十分优良的低速性能,并可实现弱磁高速控制,拓宽了系统的调速范围,适应了高性能伺服驱动的要求。并且随着永磁材料性能的大幅度提高和价格的降低,其在工业生产自动化领域中的应用将越来越广泛,目前已成为交流伺服系统的主流。我国从1970年代开始跟踪开发交流伺服技术,80年代之后开始进入工业领域,直到2000年,国产伺服停留在小批量、高价格、应用面狭窄的状态,技术水平和可靠性难以满足工业需要。2000年之后,随着中国变成世界工厂、制造业的快速发展为交流伺服提供了越来越大的市场空间,国内几家单位开始推出自己品牌的交流伺服产品,比如贝加莱(B&R)工业自动化公司推出的AcoposMulti驱动系统、艾默生控制技术(Emerson Control Techniques)公司展出了Unidrive及其他交、直流驱动器产品、Rockwell Automation公司的PowerFlex驱动技术、施奈德电气(Schneider Electric) 的Lexium 05型伺服控制器、包米勒(Baumuller)公司的带集成行星齿轮传动系的高性能伺服电机、安川电机欧洲公司(Yaskawa Electric Europe,YEE) 的通用Sigma II型伺服电机等。而国际厂商伺服产品每5年就会换代,新的功率器件或模块每22.5年就会更新一次,新的软件算法则日新月异,总之产品生命周期越来越短。总结国内外伺服厂家的技术路线和产品路线,结合市场需求的变化,可以看到以下一些最新发展趋势。(1) 交流化伺服技术将继续迅速地由直流伺服系统转向交流伺服系统。从目前国际市场的情况看,几乎所有的新产品都是交流伺服系统。在工业发达国家,交流伺服电机的市场占有率已经超过80%。在国内生产交流伺服电机的厂家也越来越多,正在逐步地超过生产直流伺服电机的厂家。可以预见,在不远的将来,除了在某些微型电机领域之外,交流伺服电机将完全取代直流伺服电机。(2) 全数字化采用新型可编程控制器可以代替以模拟电子器件为主的伺服控制单元,从而实现完全数字化的伺服系统。全数字化的实现,将原有的硬件伺服控制变成了软件伺服控制,从而使在伺服系统中应用现代控制理论的先进算法(如:最优控制、人工智能、模糊控制、神经元网络等)成为可能。(3) 智能化现代交流伺服驱动器都具备参数记忆、故障自诊断和分析功能,绝大多数进口驱动器都具备负载惯量测定和自动增益调整功能,有的可以自动辨识电机的参数,自动测定编码器零位,有些则能自动进行振动抑止。将电子齿轮、电子凸轮、同步跟踪、插补运动等控制功能和驱动结合在一起,对于伺服用户来说,则提供了更好的体验。(4) 网络化和模块化随着机器安全标准的不断发展,传统的故障诊断和保护技术(问题发生的时候判断原因并采取措施避免故障扩大化)已经落伍,最新的产品嵌入了预测性维护技术,使得人们可以通过Internet及时了解重要技术参数的动态趋势,并采取预防性措施。比如:关注电流的升高,负载变化时评估尖峰电流,外壳或铁芯温度升高时监视温度传感器,以及对电流波形发生的任何畸变保持警惕。(5) 小型化和大型化无论是永磁无刷伺服电机还是步进电机都积极向更小的尺寸发展,比如20,28,35mm外径;同时也在发展更大功率和尺寸的机种,已经看到500kW永磁伺服电机的出现,体现了向两极化发展的倾向。1.2 选题背景及意义可编程计算机控制器(Programmable Computer Controller,简称PCC)是集计算机技术、通讯技术、自动控制技术为一体的新型工业控制装置,它是通过模拟量来完成控制要求的,这样就省去了接线的繁琐,硬件上首先取得了很大的优势。随着3C技术(计算机、通讯、控制)的发展,新一代的PCC已能胜任集散控制和复杂的过程控制,其良好的兼容性、丰富的功能函数、品种多样的硬件模块、高级编程语言的使用,使PCC能适应各种工业控制的需要1。于是在此背景下,进行了实验室的三期改造,改造后的实验室添加了控制对象,过去的研究仅仅是在软件平台上完成,所得结果是模拟的,有时并不准确,增加了控制对象后,现象和结果就能清楚的显示在控制对象上,便于调试和测量,这给此次课题的研究打下了基础。本文采用贝加莱公司设计的可编程计算机控制器(PCC)和伺服控制器(ACOPOS)作为系统主要构件,通过对它们的研究与应用对电机偏转速度进行控制。2.PCC与ACOPOS简介2.1 可编程计算机控制器(PCC)3, 4, 6可编程计算机控制器PCC是专为在工业环境下应用而设计的。它采用可编程序的存储器,用于其内部存储执行逻辑运算、顺序控制、定时、计数和算数运算等操作指令,并通过数字式、模拟式的输入/输出控制各种类型的机械或生产过程。可编程计算机控制器及其有关外部设备,都易于与工业控制系统联成一个正题,易于扩充其功能的原则设计,是特别适合于工业环境的。与现有的PLC控制的伺服系统相比,在硬件结构方面,PCC的特点是很显著的。在其核心的运算模块内部,PCC为其CPU配备了数倍于常规PLC的大容量存储单元(100K-16M),这无疑为强大的系统和应用软件提供了监视的硬件基础。而在硬件外部,它有着全模块式的插装结构,在工业现场,不仅可以方便地带电插拔,而且在接线端子,模块供电及工作状态显示等诸多方面均有着精巧的设计。PCC在硬件上的特点,还体现在它为工业现场的各种信号设计了许多专用的接口模块,如温度,高频脉冲,增量脉冲编码器,称重信号及超声波信号接口模块等。它们将各种形式的现场信号十分方便的连入以PCC为核心的数字控制系统中,用户可按需要对应用系统的硬件I/O通道以单路,十余路或数十路为单位模块,进行数十点至数百点、上千点的扩展与联网。与常规PLC相比较,PCC最大的特点在于分时多任务操作系统和多样化的应用软件的设计,常规的PLC大多采用单任务的时钟扫描或监控程序,来处理程序本身的逻辑运算指令和外部的I/O通道的状态采集与刷新,这样PLC的执行速度取决于应用程序的大小,这一结果,无疑是同I/O通道中高实时性的控制要求相违背的。PCC的系统软件解决了这一问题,它采用分时多任务机制构筑其应用软件的运行平台,这样应用程序的运行周期则与程序长短无关,而是由操作系统的循环周期决定,由此,它将应用程序的扫描周期同真正外部的控制周期区别开来,满足了真正实时控制的要求,当然,这种控制周期可以在CPU运算能力允许的前提下,按照用户的实际要求,任意调整。基于这样的操作系统,PCC的应用程序由多任务模块构成,这样给项目应用软件的开发带来了了很大的便利,因为这样可以方便地按控制项目中各部分不同的功能要求,如数据采集,报警,PID调节运算,通信控制等,分别编制出控制程序模块(任务),这些模块既相互独立运行,而数据间又保持一定的相互关联,这些模块经过分步骤的独立编制和调试完成之后,可一同下载至PCC的CPU中,在多任务操作系统的调度管理下,并行运行,共同实现项目的控制要求。基于上述功能强大的特殊的操作系统,PCC在应用程序的设计上,有着常规PLC无法比拟的灵活性。由于PCC是基于多任务环境下设计程序,采用大型应用软件的模块化设计思想,各个任务模块的功能描述更趋清晰简洁,用户在开发自己的任务时,由于对其功能的提取具有通用性,因而作为一个独立的功能模块,用户可十分方便地将其封装起来,以便于日后在其他应用项目重新使用。PCC的编程硬件采用普通PC机配以一套功能强劲的开发软件作为在线开发工具,这种方式,不仅节省了用户的硬件投资,更重要的是,它发挥了PC机作为在线编程开发工具的强大的软硬件优势,它为用户提供了源程序级的单步、断点、单周期及PCC在线错误自诊断等多种形式的调试手段,使应用程序的开发十分灵活便捷。另外,通过PC机上编程软件包所提供的为数众多的函数,用户可短时间内编制出高效而复杂的控制程序来。PCC在编制不同的单个任务模块时,具有灵活选用不同编程语言的特点,这就意味着不仅在常规PLC上指令表语言可在PCC上继续沿用,而且用户还可采用更为高效直观的高级语言(PL2000)。它是一套完全面向控制的文本语言,熟悉BASIC的技术人员会对它的语法有种似曾相识的感觉,它对于控制要求的描述非常简便、直观。除此之外,PCC的应用软件开发还具有集成“C”语言程序的能力。尤为与众不同的是,所有这些编程语言,PCC都采用“符合变量”来标识外部I/O通道及内部寄存器单元,软件开发人员毋需熟知PCC内部的硬件资源的分布,而只须集中精力于项目本身的要求,即可迅速编制出自己的控制程序来。PCC在远程通信方面的灵活性,是区别于常规PLC的一大显著标志,作为未来构成分布式现场I/O控制的主要角色之一,PCC为此提供了十分灵活多样的解决方案。除上述开放式现场总线的网络方案之外,PCC还提供了RS485总线上多种局部主从网络协议,用户不仅可以采用PCC自身的网络协议,也可以方便的与其他厂家的PLC等工控设备联网通信(如西门子,AB等),在一些特殊情况下,PCC还为用户提供了创建自定义协议的工具(帧驱动器),由于具备这样的技术优势,PCC常常能解决许多常规PLC所望尘莫及的通信难题,轻松实现与各种不同产品,不同通信协议的互联。总之,PCC虽然从PLC发展而来,但拥有其不可比拟的优势。更加强大的内存空间、更灵活的编制手段、更优越的控制方式,使PCC有许多普通PLC难以完成功能,如精确到1温度调节;准确的伺服控制;远程通信功能等。并且PCC还能随着当前的计算机和网络技术的发展,不断更新换代,有着更好的升级能力,所以PCC正广泛地在工业控制中使用。2.2 伺服控制器(ACOPOS)伺服驱动的目的是使用电机和各种机械机构尽量精确与快速的到达某一位置。首先它需要一个控制器,通过控制器设定电机的位值,而在之前控制器需要获得电机当前的位值,这个信息可用编码器来实现.编码器是一种测量元件,它可以通过反馈将电机的精确位置传给控制器。当设定位置与实际位置不相符时,将会产生一个滞后偏差或位置偏移,此时由伺服驱动输出一个可控变量来补偿偏差。2.2.1 ACOPOS的特点9,15ACOPOS伺服控制器是B&R公司完美自动化解决方案中的一个重要组成部分,属于高性能的伺服驱动控制器,它主要是用于点到点的运动控制、电子齿轮、电子补偿等。ACOPOS伺服驱动时会用到电机嵌入式参数芯片上的信息,这些信息包括相关的机电一体化数据,从而实现自动设置芯片,避免大量人工设置会产生的错误。它的特点在于:(1) 模块化,精确性和超强的通信能力必要的I/O点数是ACOPOS伺服驱动标准设备中的一部分,用于操作一个伺服轴。在执行高精度测量的任务时,提供2个触发式输入进一步配置。ACOPOS的插入式模块用于连接网络中其他的驱动器,控制器和显示设备,也可以连接编码器,传感器和执行机构。(2) 配置取代编程ACOPOS伺服驱动通过配置能够完成高要求的定位任务,具有紧凑型功能模块,适用于广泛的应用,针对具体行业的功能可以在项目程序中快速简便地实现。(3) PLCopen运动控制功能模块ACOPOS伺服驱动器中有一个PLC open运动控制模块,它缩短了开发周期,提供用户丰富的编程语言:如梯形图(LD),高级程序语言“C”等。功能模块按不同的功能可划分为单轴运动和多轴运动区域。两种区域除了包括相对和决定运动之外,还包括重叠运动。在多轴运动区域,有凸轮,电子凸轮,上/下同步和差分凸轮(变化的相角)等功能。(4) 控制触发器控制器中的示波器能实时监测所有的运动,很多可能的触发条件都能提供所要分析的数据,能够实现精细调节以及运动优化,相当简便。速度、加速、振动的结果和影响也都能够很快通过图形分析出来。(5) 简单快速的调试ACOPOS伺服控制器是由一个工具Automation Studio统一编程的,可通过对话框添加硬件组件、应用程序并且完成配置,从而缩短了项目的开发周期。内置NC测试不用写一行程序代码就可以检测一个轴,而所有类型的运动,从点对点到齿轮都可以交互实现。监视器窗口显示轴反作用力,跟踪功能记录相关的驱动器数据有助于评估。2.2.2 ACOPOS控制原理级联控制器概念是ACOPOS伺服驱动的核心,位置控制器,速度控制器,电流控制器是级联的,按照设定值启动,因此,高标准控制器的操作变量变成了低层次控制器的设置量,通过设定值发生器,可将设置量提供给位置控制器。在给出执行一个基本运动的命令后,这个设定值发生器将会创建一个运动轨迹,这个运动轨迹的路径主要取决于基本运动参数(目标位置,加速度等)。(1) 前馈位置控制器设定位置产生器将会产生位置控制器的设置量,ACOPOS伺服驱动将通过电机的编码器系统和一个相应的编码器接口卡接收控制变量(当前的电机位置)。从这些变量中,可以决定控制的偏移量。它将会为下一层的速度控制器产生一个新的操作变量。位置控制器是作为比例积分控制器执行的,它带有抗饱和(操作变量限制)和预测前馈(输入控制),当设定值与实际值有偏差时,带有的比例部分将会立即产生变化,设定值的变化或是扰动的影响都将产生这些形式的偏移,带有积分时间常数的积分部分将会补偿静差。(2) 速度控制器速度控制器的功能是决定高层次位置控制器的操作变量与测量转速的差别,低层次电流控制器的操作变量是通过抗饱和的PI控制器产生的。带有系数的比例部分将会对控制器的任何偏差立即产生作用,这就决定了这个元素对速度控制器的动态能力起着决定性的作用。带有积分动作时间的积分元素用来补偿静态的扰动变量。速度控制器中还包含一个速度滤波器,是一个低通滤波器,用这个低通滤波器,可以将速度信号的高频干扰去掉,保证获得更高的控制器质量。(3) 电流控制器电流控制器是由PI控制器组成的(像位置和速度控制器一样)。通过使用电机参数与具体的ACOPOS参数,伺服驱动将会自动决定相应的参数。电流控制器使用它的操作变量来控制IGBT。然后,这些管子将会发送调制的PWM脉冲给电机。电流控制器将会在不同的循环周期内工作,这取决于PWM的开关频率。2.3理论上确定控制器参数通过对ACOPOS伺服控制器的结构了解后,可以从理论上来计算控制参数2.3.1速度控制器 用下式来代替电流控制环的时间常数: (3-1)将所有时间常数的综合来代替: (3-2) (编码器接口死区时间,速度的确定与扫描)(参数)=速度滤波器的滤波时间常数速度控制器的比例增益: (3-3)=总的转动惯量(Jmotor+Jbrake+Jload)=正在使用的电机的转距常数Nm/A速度控制器的积分动作常数: (3-4)2.3.2 位置控制器用单个时间常数的总和来代替时间常数: (3-5)=插补器产生的死区时间(0.0001s)=来代替速度控制环的时间常数=由扫描产生的死区时间(0.0002s)位置控制器的比例增益: (3-6)位置控制器的积分动作常数: (3-7)2.3.3 理论上确定参数本文采用的是ACOPOS 8V1045的8MS电机,不带负载。其中,开关频率那么速度控制器:位置控制器:为了确定级联控制器的参数,需要从低层启动,然后逐步上升,以ACOPOS伺服控制器来说,就是先启动底层速度控制器,然后是位置控制器,电流控制器是ACOPOS伺服驱动自动配置的,但在实际操作中,ACOPOS具有自整定功能,在本文中将6.3节会描述ACOPOS自整定的过程。3.主要硬件3.1 系统组成本文中的伺服系统主要由计算机(PC)、可编程计算机控制器(PCC)、伺服控制器(ACOPOS)和伺服电机构成,整个系统如图3-1所示。图3-1 伺服系统控制原理图(1) PCC2003系列本次设计采用的是PCC2003系列。2003系列是贝加莱(B&R)出品的高性能可编程计算机控制器(PCC),它支持嵌入式PC-Based技术,同时具有很强的分析计算能力,其外围信号输入输出的巨大带宽可满足机械制造、工厂自动化及过程自动化的所有要求,配合贝加莱(B&R)的其它产品,如I/O系统,工业PC及控制器等,可创建满足高要求的自动化方案,依靠先进的接口、现场总线系统、网络及外围设备,可完成最佳的数据传输任务。PCC的硬件结构都为模块,此次毕设需要用到以下两个模块:l CPU模块CPU模块最新的2003系列基于Intel兼容处理器,具备最先进的构架,创造性的PC技术如Compact Flash存贮,以太网连接以及aPCI扩展插槽等的使用使得高性能产品在自动化领域也得以应用,历经考验的Mo-rola处理器CPU起了优化性能的作用,编程采用全兼容、格式统一的B&R Automation Studio。本课题中采用的CPU模块为CP360.60.1,对于短循环时间、必须处理大量数据以及带负电操作的项目来说,CP360是最好的选择,它附带I/O处理器的高性能Pentium CPU,最短循环时间为400s,带有一个RS232接口、集成Ethernet 10/1000Mbps以及USB接口,可更换应该用内存,它拥有32MB的DRAM和496KB的SRAM,并带有一个插槽供插入aPCI接口模块。l aPCI 接口模块aPCI接口模块属于通信模块,带1个Ethernet POWERLINK接口和一个CANbus接口,带电隔离,本次毕设中的通信模块为IF787。(2) ACOPOS 8V1045ACOPOS控制器运行时扫描时间非常短且通信循环周期仅400s,控制循环50s,因而在各种功能的转换时速度就很快。另外,根据IEC 60204-1标准,为了在断电时按1类规定提供停机功能,伺服驱动的24 VDC电源、编码器、传感器及安全电路必须在整个停机过程中都处于运行状态中。ACOPOS伺服驱动自动识别断电,并马上制动电机,制动时制动能量返回至DC总线,DC总线电源可以以此产生24 VDC电源电压。此次毕设选用的为ACOPOS 8V1045.00-2伺服控制器,选用附件为8AC112.60-1和8AC122.60-2,它们都属于ACOPOS的插入模块,8AC112.60-1模块带有Ethernet POWERLINK接口,8AC122.60-2模块带有一个旋变器,可以扩展连接电机等。此次采用的ACOPOS V1045已经集成一个DC总线电源,已集成DC总线电源的ACOPOS伺服驱动系统为伺服驱动提供24 VDC电源,并输出24 VDC为编码器、传感器和安全电路供电。如果没有集成DC总线电源,就要使用不间断电源,而现在,在通常情况下就不需要不间断电源。(3) 三相同步电机8MS贝加莱的8MS三相同步电机能够满足于高性能应用需求的场合,无需复位过程或者另外测量系统便可运作,本文配置旋变器以适用于低速度的情况。8MS三相同步电机具有嵌入式参数芯片,所有相关的机械和电子数据以及信息都存储于编码器中,因此在伺服驱动上无需做任何配置,当编码器和伺服电机相连时,电子装置上电,电机自动被识别。电机将额定参数和极限参数传送至伺服驱动,驱动自动选择能够实现最佳控制电机所要用到的当前极限值和当前控制参数。8MS还具有统一的连接技术,预接线电缆和嵌入式参数芯片实现功率传输系统的即插即用,接头处可以旋转,为接线提供了最大的灵活性。本次毕设采用的为8MSA4M.R0.30,A为冷却型,M表示中号额定扭矩。 3.2 系统连接计算机(PC)和可编程计算机控制器(PCC)的连接通过RS232。ACOPOS 8V1045伺服控制器接头X1的引脚分配如表3-1所示,为18引脚结构,9引脚为Enable,外接+24V电源;10引脚为Enable0V,外接地0V;14,15引脚都外接+24V电源;16,17,18引脚外接地0V;实际连接中,9引脚连接15引脚再外接+24V电源;10引脚连接16引脚再外接地,如图3-2所示。图3-2 伺服系统接线图可编程计算机控制器(PCC)和伺服驱动器(ACOPOS)的连接通过CAN。伺服驱动器(ACOPOS)与伺服电机的连接则是通过一般硬线。4.软件配置在ACOPOS上有许多参数可以控制驱动,这些参数由ACOPOS内部的NC操作系统管理的,NC管理器用来建立用户和伺服驱动上NC操作系统的连接,每个NC数据结构用来配置和操作每个驱动项目,运用NC管理器时,使用简单的函数就可对伺服传送命令,而要实现这一功能,需要对驱动进行配置,包括硬件分配、初始化参数配置、ACOPOS参数配置、NC配置以及添加错误文本表。4.1 硬件分配用PCC驱动伺服控制器之前需要在与PCC相连的Automation Studio软件中配置硬件,首先新建一个项目,如图4-1所示。图4-1 新建项目窗口输入项目名称,选择保存路径,最后选择upload hardware from target,这样就可以直接将实际硬件上传上来,上传成功后,出现项目概要窗口。图4-2 项目概要窗口点击finish,项目添加成功,出现project界面,如图4-3所示。图4-3 项目新建成功界面在IF787.9窗口下,选择POWERLINK属性,将其循环时间改为400微妙,这样设置是由于POWERLINK默认的循环时间为2000微妙,但在实际运用中并不需要这么长的扫描时间,将其值修改的小一点,避免浪费时间。修改完成后,开始添加硬件,首先添加ACOPOS控制器,如图4-4所示。图4-4 添加ACOPOS界面选择insert后,出现一个ACOPOS选型窗口,在此表内选择相应的ACOPOS型号8V1045.00-2,如图4-5所示。图4-5 ACOPOS选型窗口点击Next,出现选择附件模块8AC112.60-1和8AC122.60-2,选择好附件,出现选择drive usage窗口,如图4-6所示。图4-6 drive usage 选择窗口选择Motion Control和use PLCopen,选择Motion Control 即为单轴运行,若是多轴运行,则应选择CNC,选择use PLCopne是为了之后对电机速度控制做准备。添加完ACOPOS控制器,继续添加所连电机,为8MSA4M.R0.30,如图4-7所示。图4-7 硬件电机选择窗口由于在软件配置中需要配置NC,同样需要添加ACOPOS和motor,所以必须将硬件树中的ACOPOS模块屏蔽掉,以免发生冲突,如图4-8所示。图4-8 ACOPOS屏蔽图4.2 软件配置 4.2.1 初始化参数模块为了定义基本参数的固定设定(初始化设定或默认值),每个NC对象类型(指定实轴,虚轴等)的初始参数模块需要添加到项目中,添加advanced object,选择类型“NC INIT Parameter: Axis”,添加一个实轴的初始参数模块,如图4-9所示。初始化参数模块包括NC对象的单独分组,这些分组对应ACOPOS上特定的部分,包括“controller”,“digital inputs”等。图4-9 添加初始化模块窗口在ACOPOS模块前有一个连接端子排X1,用来连接数字量输入,在初始参数配置时,需要分别设置每个输入的“有效等级”,本文中将其设置为高电平有效,如图4-10所示。图4-10 dig_in有效级设置另外,ACOPOS伺服控制器在驱动电机运行时,是以units作为单位的,默认电机转一圈为1000units,本文中将其修改为3600units,如图4-11所示,这是为了方便速度控制时的输入与查看。图4-11 运动单位设置4.2.2 ACOPOS参数表 添加ACOPOS参数表,如图4-12所示。ACOPOS上的参数可以直接寻址,ACOPOS伺服电机有大量的参数,通过提供参数来定义配置指定数据(电机特性,编码器等),同样定义命令操作(位置等)图4-12 添加ACOPOS参数表添加成功后,出现一个空白的参数表,点击鼠标右键,选择append group,如图4-13所示。图4-13 ACOPOS参数表在新的参数表中添加参数组,这样可以结构化大量的参数列表,预先定义的参数组也包括在此,包括:(1) 定义ACOPOS的编码器接口卡组,如图4-14所示。图4-14 编码器接口卡选择窗口(2) 定义ACOPOS的电机参数(特性)组,如图4-15所示。图4-15 电机参数表选择窗口完成这些配置后,电机所需要用的所有参数和插入卡需要的参数都输入到参数表中了。4.2.3 NC配置使用NC配置必须要在项目中做三个更改:(1) 屏蔽强制NC初始参数对象硬件定义的设定(2) 在NC deployment table 中重新定义NC对象和指定硬件 首先添加NC Deployment Table,如图4-16所示。图4-16 添加NC deployment 之后做具体NC配置:(1) NC Object NameNC Object Name 中定义一个在项目中唯一的对象名称,该名称用来通过NC函数ncaccess访问项目程序中的NC软件对象,如图4-17所示,需要注意object name在此项目中名称若不唯一,则系统运行时会发生冲突。 。图4-17 定义NC Object name(2) Network Interface Network Interface中选择ACOPOS连接的网络接口,为POWERLINK,如图4-18所示。图4-18 选择网络接口(3) Node Number输入选择网络中的ACOPOS节点号,如图4-19所示,节点号在ACOPOS控制器的硬件上由人工拨。图4-19 选择节点号(4) NC Object Type定义NC对象的类型,选择实轴操作,如图4-20所示。图4-20 选择实轴型通过这些配置即可将硬件部分(网络中ACOPOS模块)指定到相应的软件部分。4.2.4 NC 错误文本表在项目中添加NC Error Text Table,如图4-21所示。图4-21 添加error tableError table中包括了ACOPOS出错时传送的错误号文本,这个错误文本表提供信息处理方法输出问题信息,如图4-22所示。图4-22 错误文本表最后,需要在初始化参数模块中,将error table 附加上,方便查询,如图4-23所示。图4-23 附加错误文本表5.程序设计5.1 PLCopen与ACP10_MC本文对伺服电机的速度控制采用的是PLCOPEN运动控制模块(PLCOPEN_MC),随着功能性和接口的标准化及在多个平台上执行,PLCOPEN建立了编程标准,并在工业领域被广泛支持,由于封装隐藏了数据,此标准可用于不同结构,适用的控制从集中型到分散型或从集成型到网络型。它不是为某个应用程序特别设计的,而是可以作为在不同领域中正进行定义的基础层。正因为如此,它对现有和将来的技术都是开放的。B&R驱动方案提供PLCOPEN标准位置应用,同时提供特别的B&R特殊功能块,并与标准相一致,这样能够充分的使用整个ACOPOS的功能,而ACP10_MC功能库就包含了控制ACOPOS的功能库,包括标准函数。ACP10_MC库中包括相关的大量功能库,这些功能块用于:(1) 驱动准备(2) 基本运动,包括绝对位移或者相对来回运动等(3) 测定驱动状态,读取位置值,速度值等(4) 测定和确认驱动错误(5) 用于数字输入和输出信号的查询和控制功能(6) 位置测量(7) 管理PLCOPEN轴参数(8) 管理ACOPOS Par ID参数5.2 ACP10_MC功能函数介绍(1) MC_Move Absolute 在一个指定的绝对位置命令被控运动。 (2) MC_Move Additive 除了在离散运动状态下原始命令的位置,命令一个指定相关距离的被控运动。如果FB在持续模式下启动,在执行时指定的相关距离被加入到实际位置。 (3) MC_Move Velocity 命令在特殊速率下的不停止的被控运动。 (4) MC_Home 命令轴执行寻参,获得电机当前位置。当检测到参照信号时,位置输入用于设置绝对位置。在静止时完成此操作。 (5) MC_Stop 命令被控运动停止,将轴转换为“停止”状态。它会中止任何进行中的功能块的执行。使用“Done”输出,可转换为静止状态。当轴处于“停止”状态时,其他的功能模块不可以在这个轴上执行任何运动。 (6) MC_Power 控制电源(开或关)。 (7) MC_Read Status 返回到相应于当前正在进行运动的轴的详细状况。 (8) MC_Read Axis Error 显示与功能块无关的故障。 (9) MC_Reset 通过复位所有内部与轴有关的故障和清除悬挂的命令,实现从故障停止状态到静止状态的转换。 (10) MC_Read Actual Position 读实际位置。5.3 程序设计 此次毕设需要实现的控制要求为电机的速度控制,即可认为是电机走了多少位移,位移又可分为绝对位移和相对位移,则需要建立一个自动顺序应用程序来控制ACOPOS,采用步进顺序更为适合,设计过程如下: (1) 启动系统后,系统等待信号来激活驱动控制器,当获得相应的信号,就以MC_POWER函数来启动控制器,(2) 程序进入一个准备状态(3) 在这个准备状态中,系统等待信号来执行下一步骤,包括绝对位移和相对位移,考虑到在走绝对位移之前可能执行一个寻参的过程,所以在程序中添加了MC_HOME函数。程序中设计为一旦执行寻参命令,自动将电机当前位置设为0。任务顺序图如图5-1所示: 图5-1 任务顺序图程序如下:switch(AxisStep)case STATE_WAIT: /*等待上电*/if (gAxisBasic.Power = =1) /* 得到上电指令*/AxisStep = STATE_POWER_ON; /*执行上电*/elseMC_Power_0.Enable = 0; /*将电源使能复位*/MC_Home_0.Execute = 0; /* 复位所有函数信号 */MC_Stop_0.Execute = 0;MC_MoveAbsolute_0.Execute = 0;MC_MoveAdditive_0.Execute = 0;MC_Reset_0.Execute = 0;gAxisBasic.Stop = 0; /* 用户指令复位*/gAxisBasic.Home = 0;gAxisBasic.MoveAbsolute = 0;gAxisBasic.MoveAdditive = 0;break;case STATE_POWER_ON: /* 上电状态*/MC_Power_0.Enable = 1; /* 得到上电指令*/if (MC_Power_0.Status = =1) /* 上电反馈*/AxisStep = STATE_READY; /* 跳转到准备状态*/break;case STATE_READY: /* 等待状态*/if (gAxisBasic.Home = =1) /* 得到寻参指令*/gAxisBasic.Home = 0; /* 将寻参指令复位,方便下次执行寻参*/AxisStep = STATE_HOME; /* 执行寻参*/else if (gAxisBasic.MoveAbsolute = =1) /* 绝对位移指令*/gAxisBasic.MoveAbsolute = 0; /* 将位移指令复位,方便下次获得指令*/ AxisStep = STATE_MOVE_ABSOLUTE; /* 执行绝对位移*/else if (gAxisBasic.MoveAdditive = =1) /* 相对位移指令*/gAxisBasic.MoveAdditive = 0; /* 将位移指令复位,方便下次获得指令*/AxisStep = STATE_MOVE_ADDITIVE; /* 执行相对位移*/case STATE_HOME: /* 寻参状态 */MC_Home_0.Position = gAxisBasic.ParaHomePosition;MC_Home_0.HomingMode = gAxisBasic.ParaHomeMode; /* 寻参模式 */MC_Home_0.Execute = 1; /* 执行寻参设为只有上升沿有效 */if(MC_Home_0.Done = 1)MC_Home_0.Execute = 0; /* 将寻参函数复位,方便下次获得指令*/AxisStep = STATE_READY;break;此外,在执行以上机械的进程中需要考虑到潜在的错误事件,需要区分出两种错误类型:(1) 功能块调用时的错误,可能是由于设置上的错误(2) 驱动错误在PCC中,PLCopen功能块提供这些函数状态的直接反馈,在“错误”状态输出中显示执行中产生的错误,响应的错误代码在函数ERRORID输出,用户可以更好的定位错误。设计思想如下:(1) 利用循环的MC_ReadAxisError函数监控ACOPOS驱动上的出错信息,此功能块必须一直在激活状态(Enable=1),AxisError在PCC中ID默认设定为29226。(2) 当出现驱动错误后,停止常规的程序执行,进入处理错误步骤;当出现功能块调用时的错误,出现这一错误同样停止程序执行。在两种进程都运行通过后,需要检测驱动状态,是否在错误状态,直到执行了状态复位,才能继续运行应用程序。流程图如图5-2所示: 图5-2 检错流程图 程序如下: _CYCLIC void basic_cyclic(void) /*循环检测程序*/if(MC_ReadAxisError_0.AxisErrorID!=0)&(MC_ReadAxisError_0.Valid=1) /*检测轴错误 */AxisStep = STATE_ERROR_AXIS; /*运行轴错误处理状态 */else if (gAxisBasic.Power = =0) /*是否断电*/if (MC_ReadStatus_0.Errorstop = =1) & (MC_ReadStatus_0.Valid = =1) /*检测驱动状态*/AxisStep = STATE_ERROR_RESET; /*运行状态复位*/elseAxisStep = STATE_WAIT;case STATE_ERROR: /* 错误状态*/if (gAxisBasic.ErrorID= =29226) /*检测功能函数是否发生错误*/AxisStep = STATE_ERROR_AXIS; /*如果是轴错误,到轴错误处理状态*/elseif (gAxisBasic.ErrorAcknowledge = =1)gAxisBasic.ErrorAcknowledge = 0; /*确认错误直到没有错误态*/gAxisBasic.ErrorID = 0; /*将ErrorID复位,方便下次检错*/ if (MC_ReadStatus_0.Errorstop=1) & (MC_ReadStatus_0.Valid = 1) /*检测是否在驱动状态*/AxisStep = STATE_ERROR_RESET; /*运行错误复位*/elseAxisStep = STATE_WAIT; /*运行等待状态*/break;case STATE_ERROR_AXIS: /*轴错误状态*/if (MC_ReadAxisError_0.Valid = =1)if (MC_ReadAxisError_0.AxisErrorID != 0) /*出现错误*/gAxisBasic.ErrorID = MC_ReadAxisError_0.AxisErrorID; /*读轴错误号*/MC_ReadAxisError_0.Acknowledge = 0;if (gAxisBasic.ErrorAcknowledge = =1) /*确认错误*/gAxisBasic.ErrorAcknowledge = 0; /*将确认复位*/ if (MC_ReadAxisError_0.AxisErrorID!=0) /*出现错误*/MC_ReadAxisError_0.Acknowledge = 1; /*确认错误*/if (MC_ReadAxisError_0.AxisErrorCount = =0) /*剩余错误为0*/gAxisBasic.ErrorID = 0; /*错误命令复位*/if(MC_ReadStatus_0.Errorstop=1)&(MC_ReadStatus_0.Valid = 1) /*检测是否在驱动状态*/AxisStep = STATE_ERROR_RESET; /*运行错误复位*/elseAxisStep = STATE_WAIT; /*等待状态*/break;case STATE_ERROR_RESET: /*错误复位状态*/MC_Reset_0.Execute = 1; /*复位上升沿有效*/if(MC_Power_0.Error = =1
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 其他分类 > 经济论文


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!