7
6ES7216-2AD23-0XB8技术支持
基于PLC研制的直流伺服系统,利用PLC扩展能力强的特点,添装手动输放装置,实现工业机器人关节直流伺服系统的可视操作。其优点是:(1)改变电路结构,即可通过程序实现电机正反转的控制;(2)能够使电机不等待停止转动即可立刻反方向转动;(3)可令电机急停,避免电机惯性转动;(4)编程、维护方便。
1 引言
随着现代科学技术的发展,PLC己广泛地应用于工业控制微型计算机中。
目前,工业机器人关节主要是采用交流伺服系统进行控制,本研究将技术成熟、编程方便、性高、体积小的SIEMENS S-200可编程控制器,应用于可控环流可逆调系统,研制出机器人关节直流伺服系统,用以对工业机器人关节进行伺服控制。
2 工业机器人关节直流伺服系统
工业机器人关节是由直流伺服电机驱动,通过环流可逆调速系统控制电机的正反转来达到对工业机器人关节的伺服控制的目的。
2.1 控制系统结构
系统采用SIEMEN S7-200型PLC,外加D/A数模转换模块,将PLC数字信号变成模拟信号,通过BT—I变流调速系统(主要由转速调节器ASR、电流调节器ACR、环流调节器ARR,正组触发器GTD、反组触发器GTS、电流反馈器TCV组成)驱动直流电机运转,驱动机器人关节按控制要求进行动作。系统结构如图1所示。
图1 机器人关节直流伺服系统结构示意图
2.2 系统工作原理
系统原理如图2所示,可控环流可逆调速系统的主电路采用交叉联接方式,整流变压器的一个副边绕组接成Y型,另一个接成△型,2个交流电源的相位错开30°,其环流电压的频率为l2倍工频。为了抑交流环流,在2组可控整流桥之间接放了2只均衡电抗器,电枢回路中仍保留一只平波电抗器。
控制电路主要由转速调节器ASR、电流调节器ACR、环流调节器ARR,正组触发器GTD、反组触发器GTS、电流反馈器TCV组成(见图2),其中2组触发器的同步信号分别取自与整流变压器相对应的同步变压器。
图2 工业机器人关节直流伺服系统原理图
系统给定为零时,转速调节器ASR、电流调节器ACR被零速信号锁零。此时,系统主要由环流调节器ARR组成交叉反馈的恒流系统。由于环流给定的影响,2组可控硅均处于整流状态,输出的电压大小相等、性相反,直流电机电枢电压为零,电机停转,输出的电流流经2组可控硅形成环流。环流不宜过大,一般限制在电机额定电流的5%左右。正向启动时,随着转速信号Ugn的增大,封锁信号解除,转速调节器ASR输正,电机正向运行。此时,正组电流反馈电压+Ufi2反映电机电枢电流与环流电流之和;反组电流反馈电压-Uril反映了电枢电流,因此可以对主电流进行调节。而正组环流调节器输入端所加的环流给定信号-Ugih和交叉电流反馈信号-Ufil对这个调节过程影响小。反组环流调节器的输入电压为(+Uk)+(-Ugih)+(Ufi2),随着电枢电流的不断增大,当达到一定程度时,环流自动消失,反组可控硅进入待逆变状态。反向启动时情况相反。另外,可控环流可逆调速系统制动时仍然具有本桥逆变,反接制动和反馈制动等过程。由于启动过程也是环流逐渐减小的过程,因此,电机停转时,系统的环流达大值。环流有助于系统越过切换死区,改善过渡特性。
3 系统程序设计
程序设计方案为手动输入一个角度值,让电机转动,通过与电动机相联的光电码盘来电动机转的角度,将转动角度变成脉冲信号。由于电动机的转速非常快,所以只能把脉冲信号送往PLC的高速计数器。然后将计数器的脉冲记录与手输入的进行比较,如果两者相等说明电动机已经到达角度位置,否则继续进行修正。值得注意的是,由于电动机从转动突变到停止会有一定的惯性,因此在进行信号比较时应允许有一定的误差,不然电动机就会始终处在修正位置状态。系统程序框图如图3所示。
图3 系统程序框图
4 结论
基于PLC研制的直流伺服系统,利用PLC扩展能力强的特点,添装手动输放装置,实现工业机器人关节直流伺服系统的可视操作。其优点是:(1)改变电路结构,即可通过程序实现电机正反转的控制;(2)能够使电机不等待停止转动即可立刻反方向转动;(3)可令电机急停,避免电机惯性转动;(4)编程、维护方便。
PLC 系统是应用其广泛的工业自动化装置,但由于没有配套的数显仪表而无法显示其数据或参数。本文给出了只用两根I/O线连接PLC系统的数显仪表实现方案,详细介绍了基于STC89C51的硬件组成、时序设计、软件实现和应用方法。该数显仪表可以直接和晶体管输出或电压输出形式的各类PLC连接,实现PLC 系统的数据或参数显示功能。
0 引言
可编程逻辑控制器简称PLC(Programmable Logic Controller),具有编程简单、性高、通用性强和使用方便等特点,广泛应用于工业控制中的各类生产过程[1]。目前的PLC系统多用指示灯来显示生产过程或设备的状态信号,或借助于的人机界面(HMI)、工业PC来显示过程变量或设置系统参数。HMI和IPC不仅增加了PLC系统的成本,而且无法适应高温、高湿热、多粉尘的工作环境。基于LED的数显仪表具有环境适应性强、显示直观、醒目等优点,可以满足某些工业现场的特殊显示需求。然而,如果使用PLC系统的I/O直接驱动数码管进行显示,则需要占用大量的PLC 系统I/O资源。本文采用单片机和程序控制技术,通过特定的传输时序,只需使用PLC系统的2个I/O点即可实现其参数显示。
1 硬件设计
以STC89C51为实现的PLC系统两线连接型数显仪表的硬件组成如图1所示。整个硬件系统主要由STC89C51单片机、输入接口、程序下载接口、数码管显示驱动电路、按键输入(可选)和报警输出(可选)等部分组成。STC89C51和标准80C51保持硬件结构和指令系统兼容,提高了时钟速率,扩充了在系统编程(ISP)、在应用编程(IAP)、电源欠压检测与复位、复位等功能,其I/O口经过了特殊的设计,使其在工业控制环境中具有高的性[2]。
图1 PLC系统两线连接型数显仪表的硬件组成
1.1 PLC系统输入接口
PLC系统通过两个输出点将显示数据按照一定的时序传给数显仪表。PLC系统一般有继电器出、可控硅输出、晶体管输出和24V直流电压输出等多种形式可供选择,一般使用其晶体管输出或24V输出形式经过相应的转换电路连接数显仪表。为了适应两种输出形式,采用光电耦合器统一将PLC系统的输出信号转换为TTL电平信号。如果PLC系统的输出形式为24VDC,例如西门子的S7系列PLC,则PLC输出与光电耦合器输入侧的连接如图2所示。如果PLC系统的输出为晶体管集电开路或漏开路输出,如三菱的FX系列PLC,则PLC输出与光电耦合器输入侧的连接如图3所示。无论采用何种连接方式,转换后进入STC89C51单片机的信号逻辑都与PLC系统的输出逻辑保持一致。使用光电耦合器实现信号转换,有利于提高系统的抗干扰能力,因为干扰信号即使具有较高的电压幅值,但其能量相对较小,形成的微弱电流一般不足以使光电耦合器导通[3]。转换后的两路信号分别作为数据线和时钟线,连接到单片机的两个外中断输入引脚,便于使用中断方式传输显示数据。
图2 电压输出型PLC接口
图3 晶体管输出型PLC接口
1.2 程序下载接口
借助于ISP编程功能,可以通过RS-232C接口将程序代码从计算机下载到单片机内部的Flash中。程序下载接口一般设计为标准的RS-232接口,使用一片MAX232转换芯片即可实现。
1.3 数码管驱动电路
为了确保数码管的显示亮度,使用两片74HC245实现数码管的驱动。其中一片74HC245用于驱动4位共阴数码管的段码,其输入和单片机的P0 口连接,输出则经限流电阻限流后与4位数码管的8个段码引脚连接。另一片74HC245驱动4位数码管的位码,其输入和单片机的P1.0~P1.3连接,输出则分别和4位数码管的公共端连接。
2 传输时序
1台数显仪表和PLC实现时需占用PLC的2个输出点,分别用作数据线和时钟线。由于显示数据的传输是串行的,因此设计相应的传输时序。构建双方的传输时序时充分考虑PLC系统的工作原理、输出特性及其差异以及传输过程的性等问题。综合考虑这些因素后所设计的传输时序如图4所示。传输1次显示数据总共需要21个时钟周期,其中3个时钟用于同步信号,16个时钟用于传输显示数据的4位BCD码或特定的提示字符,2个时钟用于传输2位表示小数点显示位置的信息。显示数据和小数点位置信息的低位在前,高位在后。例如,图4表示传输的显示数据为8951,小数点位置信息为10,表示小数点在十位之后,因此终显示数据为895.1。
图4 数显仪表和PLC系统之间的传输时序
由于PLC系统基于扫描原理周而复始地刷新输入信号、执行用户程序和输出运行[4],在一个扫描周期内让PLC系统的输出信号发生跳变难于实现,因此图4的一个时钟周期需要占用PLC系统的两个扫描周期。每次传输过程增设3个同步脉冲是为了提高传输过程的性,确保PLC系统及其传输线路无论出现何种故障,都可以在故障恢复后的一个传输周期内正确地传输显示数据。
3 软件设计
数显仪表的程序由初始化、外中断0服务程序、外中断1服务程序和定时器T0中断服务程序4部分组成。T0每隔5ms中断1次,在其中断服务程序中根据接收到的显示数据及其小数点位置信息完成4位数码管的动态显示。外中断0服务程序用于同步信号,外中断1服务程序用于接收16位显示数据的BCD编码和2位表示小数点显示位置的信息。
3.1 外中断0服务程序
外中断0由数据信号线的下降沿触发,在其中断服务程序中,如果到时钟线为低电平,则视为同步信号。当检测到3个同步脉冲后,则表明收到了正确的同步信号,此时关闭外中断0,开启外中断1,借助于外中断1服务程序接收数据。如果在次或前两次中断服务程序中已同步脉冲而本次未检测到同步脉冲,则视为无效同步信号。外中断0服务程序的主要代码如下:
void Int0_Srvice(void) interrupt 0
{ p33=1;
if(p33==0) SysClock++; //有效,同步脉冲加1
else SysClock=0; //无效,同步脉冲清零
if(SysClock==3)
{ //检测到3个同步脉冲
RecEnable=1; //置允许接收标志
EX0=0; //关闭外中断0
EX1=1; //开放外中断1
}}
3.2 外中断1服务程序
外中断1由时钟信号线的下降沿触发,在其中断服务程序中,如果查询到已建立允许接收标志,则接收16位显示数据的BCD码和2位小数点位置信息,并将其转换为18位并行数据,存于DispData变量中供T0中断服务程序进行显示。由于显示数据和小数点位置信息都是低位在前,高位在后,所以在程序中使用右移操作实现串行数据到并行数据的转换。小数点位置信息为0~3时,表示小数点分别位于数码管的千位、百位、十位和个位之后。如果小数点在个位之后,则不显示小数点。当接收到18位信息后,则关闭外中断1,重新开放外中断0进行下一周期的。外中断1服务程序的主要代码如下:
void Int1_Srvice(void) interrupt 2
{ if(RecEnable==1) //允许接收
{ p32=1; //检测数据线电平
if(p32==1) RecData=RecData|0x40000;
RecData=RecData>>1; //实现串/并转换
DataClock++;
if(DataClock==19) //已接收到18位数据
{ //显示数据存于DispData中
DispData=RecData;RecData=0;
SysClock=0;DataClock=0;
RecDone=1;RecEnable=0;
EX0=1; //开外中断0
EX1=0; //关外中断1
}}}
4 应用实例
利用PLC系统的(n+1)个输出点可以连接n台数显仪表,其中1点用作公共时钟线,n点用作n台数显仪表的数据线。使用数显仪表显示PLC系统的数据或参数时,还给PLC系统编写满足时序要求的驱动程序。
4.1 PLC驱动程序设计
此处以三菱FX2N PLC系统为例,介绍PLC系统驱动程序的编写方法。设使用Y0作为数据线,Y1作为时钟线,则PLC驱动程序的梯形图如图5 所示。程序中使用D0单元存放显示数据,其取值范围为0~9999,D1单元存放小数点位置信息,其取值范围为0~3。占用的资源包括计数器C0~C1和中间继电器M100~M131,可以结合用户程序进行相应的调整。
图5 FX2N PLC显示驱动程序
4.2 多台数显仪表与PLC系统的连接
多台数显仪表与PLC系统的连接如图6所示,图中的1台FX2N PLC连接了8台数显仪表,PLC的Y10用作公共时钟线,Y0~Y7分别用作8台数显仪表的数据线。PLC系统的驱动程序和图5类似。由于多台仪表的时钟线是公共的,数据线是并行输出的,因此多台数显仪表的数据刷新时间和其连接的数量无关,可以确保PLC系统数据显



模糊控制是控制大滞后、非线性和难以建立数学模型工业系统的一种有效的方法。本文将模糊控制与传统pid控制相结合构成fuzzy- pid控制系统,并初步应用于海洋生物酶发酵自动控制系统的温度控制。温度控制系统自运行以来,控制效果明显,运行稳定,较好的满足了海洋生物酶发酵生产的性能要求。
1 引言
海洋生物酶作为一种新型鱼类饲料添加剂,有着广阔的市场前景。海洋生物酶发酵主要是通过对富含活性物 质的海洋微生物进行发酵培养,从中获得大量的产物。
在海洋生物酶发酵过程中,发酵温度是影响微生物生长和代谢活力的重要因素。保持微生物的生长繁殖和合成所需要的适宜温度,对稳定发酵、缩短发酵周期和提高发酵单位产量具有积的作用。
2 发酵温度控制方式的选取
海洋生物酶发酵系统具有大滞后、非线性和时变性的特点,对准确控制发酵罐温度带来一定的难度。
smith预估补偿法控制是解决工业纯滞后问题的有效方法,但它过分地依赖于被控对象的数学模型。而发酵温度由于其自身的特点无法得出数学模型。
传统数字pid控制算法简单、鲁棒性好、性高,被广泛应用于可建立数学模型的确定性工业过程控制系统。而对于具有大滞后、非线性和时变性系统,数字pid控制适应性较差,易出现参数整定不良、调量大等现象。
fuzzy控制有效的避开了被控对象的数学模型,以控制人员的经验为基础控制规则,实现复杂系统的控制。fuzzy控制的鲁棒性较好,对纯滞后及被控对象参数的变化不敏感,但因控制规则粗糙而容易产生稳态误差。
针对海洋生物酶发酵自身的特点,我们采用fuzzy-pid复合控制对发酵温度进行调节,主要设计思想如下:当发酵温度偏差较大时采用fuzzy控制,以加快系统响应速度;当发酵温度偏差较小时,系统自动切换到数字pid控制,静态误差以提高控 制精度。控制方式的切换由PLC程序根据设定的偏差阈值自动实现。
3 发酵温度fuzzy-pid 控制原理设计
3.1 发酵温度fuzzy- pid控制原理图
发酵温度fuzzy-pid控制系统原理图如图1所示。图1中fuzzy控制和pid控制根据温度偏差大小进行自动切换。在本发酵控制系统 中,fuzzy控制器和pid控制器均通过西门子s7 300 plc来实现,以获得良好的控制效果和系统稳定性。
图1 fuzzy-pid控制系统原理图
3.2 发酵温度控制系统的硬件构 成
海洋生物酶发酵温度控制系统硬件结构如图2所示。控制系统通过模拟输入模块对发酵温度进行采集,经过 plc程序处理后,通过模拟输出模块调节温度调节阀开度对发酵温度进行控制。
西门子s7300 plc通过profibus电缆与上位机(工控机)建立通讯,进行控制信息和发酵数据的交换。在上位机中通过西门子wincc v6.0软件对发酵过程进行全程监控,并存储相关数据。
图2 发酵温度控制硬件结构
4 发酵温度fuzzy-pid 控制器的软件实现
4.1 发酵温度fuzzy- pid控制算法
根据图1所示,得到fuzzy-pid控制算法框图如下:
发酵温度控制算法以温度偏差e为选取对象:当|e|>3℃时,控制量u=umax;当0.5℃≤|e|≤3.0℃时,系统调用 plc中的pid控制模块;当|e|<0.5℃时,系统调用plc中的fuzzy模块。
4.2 基于plc的温度pid控制器设计
当发酵液温度偏差的小于0.5℃时,plc程序启动pid控制“闭环控制系统功能块”sfb41,通过对其参数表的设置可以方便的实现pid运算。利用模拟量输入模块采集发酵液的温度数据,执行机构(温度调节阀)由模拟量输出模块进行控制。
图3 fuzzy-pid控制算法框图
如图4所示,系统功能块sfb41的背景数据块设为db2。 考虑到发酵液温度变化的滞后性,温度采样周期设为10秒钟,温度设定值和实际采样值分别存放在db3.dbd0和db3.dbd4中。pid 控制参数p、i、d存放在db3.dbd8、db3.dbd12和db3.dbd16中。为防止控制输出在临界点频繁动作,设置死区宽度为0.5℃。 pid控制的输出传送到温度调节器对应的输出字节pqw304[4]。
图4 基于plc的pid控制程序
4.3 基于plc的温度 fuzzy控制器设计
当发酵液温度偏差的在0.5℃和3.0℃之间时,plc程序启动fuzzy控制功能块。在fuzzy控制器原理图(图5所示)中,e 为偏差,△e为偏差变化率;ke、k△e和ku别为偏差量化因子、偏差变化率量化因子和输出量变化因子。
图5 fuzzy控制器原理图
在海洋生物酶发酵温度fuzzy控制中,选取温度偏差e和温度偏差变化率△e构成二维模糊控制器。
根据发酵温度控制目标和经验,设定e、△e和μ的模糊论域及模糊词集:输入、输出fuzzy控制论域均量化设定 为七档{-3,-2,-1,0,1,2,3},其模糊词集均设{nb,nm,ns,zo,ps,pm,pb};模糊集合的隶属函数取为三角型隶属函数,通 过隶属函数可直观的得到e和△e的赋值表;fuzzy控制规则设为if e is x and △e is y then u is z;利用输入变量的赋值表及模糊控制规则,经过合成推理可得到发酵温度fuzzy控制查询表。
基于plc的fuzzy控制算法流程如图6所示,控制算法中,fuzzy控制查询表的plc程序设计 为关键,在这里我们采用plc 的间接寻址来完成fuzzy控制输出u的查询功能。
图6 基于plc的fuzzy控制算法流程图
将发酵温度fuzzy控制查询表的输出控制量u按后列,由左至右的顺序存储到数据块db1中,由此,查 询顺序可以由地址(△e+3)×7+(e+3)决定,基于plc的查询表程序如图7所示。
通过运算可得fuzzy控制输出u的,并存放在md152中。数据块db1的地址存在在md0中,利用 plc间接寻址得到u的具体数据,将其存放在md8中。
根据公式u=u×ku得到输出实际值u,并赋值给温度调节阀对应的模拟量输出字节,达到控制 温度的目的。
图7 基于plc的查询表程序
4.4 发酵液温度控制算法效果分 析比较
通过安装在工控机上的软件wincc v6.0,可以得到各控制策略下发酵液温度的响应曲线,传统pid控制响应曲线和fuzzy-pid控制响应曲线分别如图8、图9所示。
图8 发酵液温度pid控制响应曲线
图 9 发酵液温度fuzzy-pid控制响应曲线
图中纵坐标为温度阶跃信号及系统响应信号值,横坐标为系统响 应时间。对响应曲线品质分别进行分析:传统pid控制调量较大,约为 0.2,过渡时间约为200秒;fuzzy-pid控制调量较小,约为0.3,过渡时间约为100秒。
由控制响应曲线可以清晰的看到,相对于传统pid控制,发酵液温度采用fuzzy-pid控制的响应 曲线具有较小的调量,且调节时间较短,对被控对象数学模型的依赖性较小,其控制品质明显好于传统pid控制。
5 结束语
模糊控制是控制大滞后、非线性和难以建立数学模型工业系统的一种有效的方法。本文将模糊控制与传统pid控制相结合构成fuzzy- pid控制系统,并初步应用于海洋生物酶发酵自动控制系统的温度控制。温度控制系统自运行以来,控制效果明显,运行稳定,较好的满足了海洋生物酶发酵生产的性能要求。