1、9.1 PID控制功能9.2步进电动机的脉冲控制9.3 变频器的控制本章讲述的主要内容:1 2022-7-26PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类。一是理论计算整定法,主要是依据系统的数学模型,经过理论计算确定控制器参数。在工程实际中可以对理论所得到的计算数据进行调整和修改;二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,方法简单、易于掌握,在工程实际中也经常采用。9.1.1 数字数字PID调节调节2 2022-7-26在PLC的PID调节中
2、,一般通过PLC系统提供的功能块(或子程序)和向导实现。通过PLC实现PID调节,是计算机闭环控制的概念。PLC中的PID是数字PID。本节介绍西门子S7-200/300/400 PLC中的PID调节技术。9.1.1 数字数字PID调节调节3 2022-7-26在S7-200 PLC中可以使用标准PID功能来实现PID调节,但其使用方法和过程比较复杂。而使用指令向导,生成PID子程序,然后在主程序中进行调用,这种方法简单易行,向导中不使用标准PID功能。本书主要介绍使用指令向导实现PID功能的方法。在STEP7-Micro/WIN中,在菜单“工具(Tools)”下,选择“指令向导”,然后选择P
3、ID,进入PID指令向导中。进入向导后,选择或确定环路号码。这里的“环路”就是指控制回路。S7-200 PLC可以支持最多8个PID环路(07号)。9.1.2 西门子西门子S7-200 PLC中中PID调节的实现调节的实现4 2022-7-26确定设置环路号后,定义环路参数,如图9-1所示。环路定点是指调节的目标值,在调用时设定。也就是说,在调用向导生成的子例行程序时由用户定义。此外,需要指定其可能的范围,而在主程序中调用时,需要给定确切的目标值。增益、抽样时间(采样周期)、积分时间和微分时间是需要确定的“环路参数”,参数的意义和作用与自动控制中的一致。9.1.2 西门子西门子S7-200 P
4、LC中中PID调节的实现调节的实现5 2022-7-269.1.2 西门子西门子S7-200 PLC中中PID调节的实现调节的实现图9-1 S7-200 PLC中PID调节的环路参数的确定6 2022-7-26确定环路参数后,再设置环路输入和输出选项,如图9-2所示。环路进程变量(PV)是用户为向导生成的子例行程序指定的一个参数。在向导中确定指定环路进程变量(PV)应当如何缩放。可以选择单极(可编辑默认范围032 000)、双极(可编辑默认范围-32 00032 000)和20%偏移量。还需要确定环路输出选项,指定环路输出应当如何缩放。可以选择输出类型(模拟或数字)、缩放(单极、双极或20%偏
5、移量)等设置 9.1.2 西门子西门子S7-200 PLC中中PID调节的实现调节的实现7 2022-7-269.1.2 西门子西门子S7-200 PLC中中PID调节的实现调节的实现图9-2 S7-200 PLC中PID调节的环路输入/输出选项8 2022-7-26按提示完成设置后,S7-200 PLC指令向导将按用户指定的配置生成程序代码和数据块代码。由向导建立的子例行程序和中断例行程序成为项目的一部分。欲在程序中启用该配置,每次扫描循环时,使用SM0.0为条件从主程序块调用该子例行程序,如图9-3所示。该代码配置PID 0。该子例行程序初始化PID控制逻辑使用的变量,并启动PID中断PI
6、D_EXE例行程序。根据PID样本(采样)时间循环调用PID中断例行程序。需要强调的是,采样时间也包含在子例行程序中,用户不能再在采样时刻调用子例行程序,而必须如图9-3所示由系统自动完成。9.1.2 西门子西门子S7-200 PLC中中PID调节的实现调节的实现9 2022-7-269.1.2 西门子西门子S7-200 PLC中中PID调节的实现调节的实现图9-3 S7-200 PLC中在主程序中调用PID调节子程序10 2022-7-261.S7-300/400 PLC中PID调节基础在S7-300/400 PLC中,通过调用功能块SFB41/FB41、SFB42/FB42或SFB43/F
7、B43实现PID的运算。功能块计算所需要的数据是保存在指定的DB(背景数据块)中的,允许多次调用该功能块。SFB41/FB41(CONT_C)用于连续控制方式,SFB42/FB42(CONT_S)用于步进控制方式,而SFB43/FB43(PULSEGEN)用于脉冲宽度调制控制方式。9.1.3 S7-300/400 PLC中中PID调节的实现调节的实现11 2022-7-26在程序中,对SFB41/42/43或FB41/42/43的调用,可以在主程序中定时调用,也可以在时间中断程序中调用。调用的时间间隔就是采样周期,应用时需要注意PLC扫描周期的影响,所以一般在时间中断(OB30OB38)中调用
8、的情况更为常见。SFB41/FB41、SFB42/FB42和SFB43/FB43的使用方法基本相同,本书介绍最常见的连续控制方式(SFB41/FB41)的PID调节的应用知识。9.1.3 S7-300/400 PLC中中PID调节的实现调节的实现12 2022-7-262.连续调节功能SFB41/FB41SFB41/FB41(CONT_C,连续控制器)用于使用连续I/O变量的S7控制系统。SFB41/FB41的输出为连续信号。可以用SFB41/FB41作为单独的PID恒值控制器,或在多闭环控制中实现级联控制器、混合控制器和比例控制器。在应用时,在工程里插入SFB41/FB41,并确定一个不存在
9、的背景数据块,STEP7会为用户创建一个DB块,然后用户设定DB块的数据,并通过周期性地调用SFB41/FB41,进行PID运算。在用户设定DB块的数据时,除了正常的PID参数设定外,SFB41/FB41(CONT_C)还可以使用手动等设定控制输出量。图9-4是SFB41/FB41的功能设定示意图。9.1.3 S7-300/400 PLC中中PID调节的实现调节的实现13 2022-7-269.1.3 S7-300/400 PLC中中PID调节的实现调节的实现图9-4 SFB41/FB41的功能设定示意图14 2022-7-269.1 PID控制功能9.2步进电动机的脉冲控制9.3 变频器的控
10、制本章讲述的主要内容:15 2022-7-26为了配合步进和伺服电动机的控制,西门子PLC内置了脉冲输出功能,并设置了相应的控制指令,可以很好地对步进和伺服电动机进行控制。本节将重点讲解西门子S7-200 PLC脉冲输出功能和步进电动机的控制,伺服电动机的控制与步进电动机的基本相同。S7-300/400 PLC中也可以通过FM模块实现步进和伺服控制,思路与S7-200 PLC一致,本节不再介绍。9.2.1概述概述16 2022-7-261.脉冲输出(PLS)指令脉冲输出(PLS)指令功能为:使能有效时,检查用于脉冲输出(Q0.0或Q0.1)的特殊存储器位(SM),然后执行特殊存储器位定义的脉冲
11、操作。指令格式如表9-3所示。9.2.2 PLC的脉冲输出的脉冲输出17 2022-7-262.用于脉冲输出(Q0.0或Q0.1)的特殊存储器每个PTO/PWM发生器都有一个控制字节(8位)、一个脉冲计数值(无符号的32位数值)、一个时间周期和脉宽值(无符号的16位数值)。这些值都放在特定的特殊存储区(SM),如表9-4所示。执行PLS指令时,S7-200读这些特殊存储器位(SM),然后执行特殊存储器位定义的脉冲操作,即对相应的PTO/PWM发生器进行编程。9.2.2 PLC的脉冲输出的脉冲输出18 2022-7-269.2.2 PLC的脉冲输出的脉冲输出19 2022-7-263.Q0.0和
12、Q0.1的共用PTO/PWM生成器和输出映像寄存器共用Q0.0和Q0.1。在Q0.0或Q0.1使用PTO或PWM功能时,PTO/PWM发生器控制输出,并禁止输出点的正常使用,输出波形不受输出映像寄存器状态、输出强制、执行立即输出指令的影响;在Q0.0或Q0.1位置没有使用PTO或PWM功能时,输出映像寄存器控制输出,所以输出映像寄存器决定输出波形的初始和结束状态,即决定脉冲输出波形从高电平或低电平开始和结束,使输出波形有短暂的不连续。9.2.2 PLC的脉冲输出的脉冲输出20 2022-7-264.线性脉冲串输出(PTO)PTO可以实现占空比为1:2的高速脉冲串的输出,脉冲数和周期可以由用户定
13、义。状态字节中的最高位(空闲位)用来指示脉冲串输出是否完成。可在脉冲串完成时启动中断程序,若使用多段操作,则在包络表完成时启动中断程序。5.脉宽可调脉冲(PWM)输出PWM是脉宽可调的高速脉冲输出,通过控制脉宽和脉冲的周期,实现控制任务。9.2.2 PLC的脉冲输出的脉冲输出21 2022-7-26步进电动机在起动和停止时有一个加速及减速过程,且加速度越小则冲击越小,动作越平稳。所以,步进电动机工作时一般要经历这样一个变化过程:加速恒速(高速)减速恒速(低速)停止。步进电动机转速与脉冲频率成正比,所以输入步进电动机的脉冲频率也要经过一个类似变化过程。步进电动机脉冲频率变化规律如图9-5所示。9
14、.2.3 步进电动机的控制步进电动机的控制22 2022-7-269.2.3 步进电动机的控制步进电动机的控制图9-5 步进电动机脉冲频率变化规律23 2022-7-261.通过指令向导组态PTOSTEP7-Micro/WIN提供了位置控制向导,可以帮助用户方便地完成PTO、PWM或位控模块的组态。该向导可以生成位控指令,可以用这些指令在应用程序中对速度和位置进行动态控制。本小节通过PLC控制一个步进电动机的应用,说明利用STEP7-Micro/WIN位置控制向导来实现PTO控制步进电动机的具体操作过程。9.2.4 通过指令向导组态通过指令向导组态PTO/PWM24 2022-7-269.2.
15、4 通过指令向导组态通过指令向导组态PTO/PWM图9-6PTO的输出点25 2022-7-269.2.4 通过指令向导组态通过指令向导组态PTO/PWM图9-7 选择PTO26 2022-7-269.2.4 通过指令向导组态通过指令向导组态PTO/PWM图9-8 最高电动机速度和电动机的起动/停止速度的数值27 2022-7-269.2.4 通过指令向导组态通过指令向导组态PTO/PWM图9-9 输入加速和减速时间28 2022-7-269.2.4 通过指令向导组态通过指令向导组态PTO/PWM图9-10 建新包络29 2022-7-269.2.4 通过指令向导组态通过指令向导组态PTO/P
16、WM图9-11 选择包络的操作模式30 2022-7-269.2.4 通过指令向导组态通过指令向导组态PTO/PWM图9-12 包络0中的第一步(步0)31 2022-7-269.2.4 通过指令向导组态通过指令向导组态PTO/PWM图9-13 包络0中的第二步(步1)32 2022-7-269.2.4 通过指令向导组态通过指令向导组态PTO/PWM图9-14 包络0中的第三步(步2)33 2022-7-269.2.4 通过指令向导组态通过指令向导组态PTO/PWM图9-15 配置分配存储区34 2022-7-269.2.4 通过指令向导组态通过指令向导组态PTO/PWM图9-16 PTO0_
17、CTRL和PTO0_RUN指令的应用35 2022-7-262.通过指令向导组态PWM在PTO的指令向导基础上,通过PLC控制一个步进电动机的应用,说明利用STEP 7-Micro/WIN位置控制向导来实现PWM控制步进电动机的具体操作过程。PWM的指令向导操作过程共有4个主要操作步骤。操作步骤:1)、2)两步同PTO向导。3)在位置控制向导对话框中选择“配置S7-200 PLC内置PTO/PWM操作”。从下拉列表中选择“脉冲宽度调制(PWM)”。选择时间基准为“毫秒”。单击“下一步”按钮,如图9-17所示。9.2.4 通过指令向导组态通过指令向导组态PTO/PWM36 2022-7-264)
18、选择完成结束向导,生成子程序PWM0_RUN。PWMx_RUN指令允许用户通过改变脉冲宽度从0到一个周期的宽度来控制输出占空比。周期输入是一个为PWM输出定义周期的字值。允许的变化范围是265 535个在向导中指定的时基单元(微秒或毫秒)。占空比输入是一个为PWM输出定义脉宽的字值。允许的变化范围值是0.065 535个在向导中指定的时间基准单元(微秒或毫秒)。Error是一个由PWMx_RUN返回的字节值,指示执行的结 果。调用PWM0_RUN编程是非常方便的,如图9-18所示。9.2.4 通过指令向导组态通过指令向导组态PTO/PWM37 2022-7-269.2.4 通过指令向导组态通过
19、指令向导组态PTO/PWM图9-17 选择PWM38 2022-7-269.2.4 通过指令向导组态通过指令向导组态PTO/PWM图9-18 调用PWM0_RUN39 2022-7-269.1 PID控制功能9.2步进电动机的脉冲控制9.3 变频器的控制本章讲述的主要内容:40 2022-7-26变频调速技术已广泛应用于工业自动化领域,工业上经常采用变频器对电动机实现控制。西门子标准传动变频器的型号为MicroMaster410/420/430/440,简称为M M 4 1 0/4 2 0/4 3 0/4 4 0,如表9-7 所示。MicroMaster4系列分为恒定转矩(CT)和可变转矩(V
20、T)两类变频器,根据外形尺寸、电源形式和功率不同又分为多种不同型号,用户应根据不同的应用场合,选择合适的变频器。9.3.1 西门子变频器参数设定西门子变频器参数设定41 2022-7-269.3.1 西门子变频器参数设定西门子变频器参数设定42 2022-7-26变频器的参数很多,如果没有特殊要求,绝大多数的参数可以默认为出厂时的设置值。需要设定的参数主要有控制方式参数和电动机参数等。变频器的控制方式主要有操作面板控制和外部信号控制两种。操作面板控制就是用变频器本身的操作面板进行启、停、正反转和改变转速等操作;外部信号控制指变频器按外部的输入信号来改变电动机的运行状态。变频器的外部信号主要有数
21、字信号、模拟信号(420mA或010V)和网络输入数据。用户应该根据实际需要选择控制方式,然后按照说明书设定参数。9.3.1 西门子变频器参数设定西门子变频器参数设定43 2022-7-269.3.1 西门子变频器参数设定西门子变频器参数设定44 2022-7-269.3.1 西门子变频器参数设定西门子变频器参数设定45 2022-7-26在设置中,经常要恢复为出厂默认值。通过表9-9的设置,恢复出厂默认值。下面将对一个三相交流电动机进行控制。变频器中需要设置电动机参数,如表9-10所示。在MM440上,除了主电路之外,控制端子的连接对于变频器控制很重要。MM440的控制端子如图9-19所示,
22、端子的定义如表9-11所示。9.3.1 西门子变频器参数设定西门子变频器参数设定46 2022-7-269.3.1 西门子变频器参数设定西门子变频器参数设定47 2022-7-269.3.1 西门子变频器参数设定西门子变频器参数设定48 2022-7-269.3.1 西门子变频器参数设定西门子变频器参数设定图9-19 MM440的控制端子49 2022-7-269.3.1 西门子变频器参数设定西门子变频器参数设定50 2022-7-26MM440有6个数字量输入端子,每一个端子的输入都可设为起动正转、起动反转、停止和固定频率运行等功能。本小节通过实例说明MM440的数字量控制。例例9.1用S7
23、-200/300/400 PLC控制MM440,再由MM440控制电动机。要求按起动按钮后,电动机按顺序完成正转起动至20Hz(约560r/min),10s后调至50Hz(约1 400r/min),再过20s停止,再过10s反转至20Hz(约560r/min),再过20s停止。9.3.2 西门子变频器数字量控制西门子变频器数字量控制51 2022-7-26按表9-12进行硬件连接后,通过BOP面板设置MM440的参数。先按表9-9将参数恢复为出厂默认值,然后按表9-10设置MM440的电动机参数,再按表9-13设置MM440的数字量控制的参数。PLC的输出形式需要继电器型的。设置完成后,编写P
24、LC程序,如图9-20所示,实现控制功能。该程序是用S7-200 PLC指令书写的,S7-300/400 PLC指令的程序与其几乎相同。9.3.2 西门子变频器数字量控制西门子变频器数字量控制52 2022-7-269.3.2 西门子变频器数字量控制西门子变频器数字量控制53 2022-7-269.3.2 西门子变频器数字量控制西门子变频器数字量控制54 2022-7-269.3.2 西门子变频器数字量控制西门子变频器数字量控制图9-20 MM440数字量控制的PLC程序(第1版第1次印刷的书中该图有误)55 2022-7-269.3.3 西门子变频器模拟量控制西门子变频器模拟量控制MM440
25、有两组模拟量输入端子,可以将变频器的控制方式设为根据模拟量输入决定频率输出。本部分同样以实例说明MM440的模拟量控制。例例9.2用S7-200/300/400 PLC控制MM440,再由MM440控制电动机。要求按起动按钮后,电动机按顺序完成正转起动至一定转速,转速与PLC的MW0中的数据(模拟量)相对应,按停止按钮后停止。56 2022-7-269.3.3 西门子变频器模拟量控制西门子变频器模拟量控制按表9-14进行硬件连接后,通过BOP面板设置MM440的参数。先按表9-9将参数恢复为出厂默认值,然后按表9-10设置MM440的电动机参数,再按表9-15设置MM440的控制参数。设置完成
26、后,编写PLC程序,如图9-21所示,实现控制作用。该程序是用S7-200指令书写的,S7-300/400指令的程序与其几乎相同。57 2022-7-269.3.3 西门子变频器模拟量控制西门子变频器模拟量控制58 2022-7-269.3.3 西门子变频器模拟量控制西门子变频器模拟量控制59 2022-7-269.3.3 西门子变频器模拟量控制西门子变频器模拟量控制图9-21 MM440模拟量控制的PLC程序60 2022-7-269.3.4 西门子变频器西门子变频器PROFIBUS-DP网络控制网络控制关于PROFIBUS的内容将在第10章介绍。本节先介绍变频器PROFIBUS控制的部分内
27、容。为了连接成PROFIBUS(简称PB)系统,必须选用附加的PB模板。这一模板安装在变频器的正面,通过RS485串行接口与变频器进行通信。PB模板是一个可选件,用户采用PB模板,经过组态和设置后,PB主站可以通过PB_DP总线对MICROMASTER4(从站)进行控制。61 2022-7-269.3.4 西门子变频器西门子变频器PROFIBUS-DP网络控制网络控制1.在STEP7中组态MICROMASTER 4在STEP7硬件组态中,从PB_DP库的SIMOVERT文件夹中调用MICROMASTER 4。若在硬件目录下找不到,必须使用硬件组态选项卡下的“安装新的GSD文件”命令来加载GSD
28、文件。GSD文件是放在随PB模块所提供的文档光盘上的,也可以从因特网上下载。在组态时,要定义通信的数据,应根据需要进行选择。可通过网络对变频器参数进行读写操作、选择PP01和PP03等。STEP7自动赋予逻辑I/O地址,用户也可以改变这些地址,如图9-22所示。62 2022-7-269.3.4 西门子变频器西门子变频器PROFIBUS-DP网络控制网络控制图9-22 MM440的PB组态63 2022-7-269.3.4 西门子变频器西门子变频器PROFIBUS-DP网络控制网络控制2.在MicroMaster上设置参数先按表9-9将参数恢复为出厂默认值,然后按表9-10设置MM440的电动
29、机参数,再按表9-16设置MM440的控制参数。PB总线地址可以由PB面板上的DIP开关设置,也可以通过参数P0918设置。64 2022-7-269.3.4 西门子变频器西门子变频器PROFIBUS-DP网络控制网络控制3.由PLC通过PROFIBUS网络来控制MicroMaster4PLC对MicroMaster4进行控制,是通过PROFIBUS网络读写数据来实现的。在STEP7网络组态中,如果选择了PP01或PP03等数据定义,则表示用户定义了PLC与MicroMaster4之间通信的数据。以PP03为例,其定义了PLC对MicroMaster4的读写均为两个字的数据。PLC写出的两个字
30、的数据PQW(x)和PQW(x+1)表示PLC设定MicroMaster的控制字STW和频率HSW;读入的两个字的数据PIW(y)和PIW(y+1)表示PLC读取的MicroMaster的状态字ZSW和实际频率HIW。PQW和PIW的意义如表9-17所示。65 2022-7-269.3.4 西门子变频器西门子变频器PROFIBUS-DP网络控制网络控制66 2022-7-269.3.4 西门子变频器西门子变频器PROFIBUS-DP网络控制网络控制按应用需要,根据表9-17确定PQW(x)和PQW(x+1)的值,就可以实现对变频器的控制。例如,DW#16#047E 0000表示准备好让变频器正向驱动;DW#16#047F 1000表示让变频器在12.5Hz正向转动,发送控制字047E后面紧跟047F是让变频器起动的关键;DW#16#047F 4000表示让变频器在50Hz正向转动,频率设定值为50Hz时,频率设定值字为4000H,即16384;DW#16#0C7F 1000表示让变频器在12.5Hz反向转动。S7-300 PLC的MM440控制程序如图9-23所示。67 2022-7-26