西门子模块6ES7223-1HF22-0XA8技术介绍
PLC系统是应用极其广泛的工业自动化装置,但由于没有配套的数显仪表而无法显示其数据或参数。本文给出了只用两根I/O线连接PLC系统的数显仪表实现方案,详细介绍了基于STC89C51的硬件组成、时序设计、软件实现和应用方法。该数显仪表可以直接和晶体管输出或电压输出形式的各类PLC连接,实现PLC系统的数据或参数显示功能。
引 言
可编程逻辑控制器简称PLC(Programmable Logic Controller),具有编程简单、可靠性高、通用性强和使用方便等特点,广泛应用于工业控制中的各类生产过程。目前的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口经过了特殊的设计,使其在工业控制环境中具有极高的可靠性。
图1 PLC系统两线连接型数显仪表的硬件组成
1.1 PLC系统输入接口
PLC系统通过两个输出点将显示数据按照一定的时序传给数显仪表。PLC系统一般有继电器出、可控硅输出、晶体管输出和24V直流电压输出等多种形式可供选择,一般使用其晶体管输出或24V输出形式经过相应的转换电路连接数显仪表。为了适应两种输出形式,采用光电耦合器统一将PLC系统的输出信号转换为TTL电平信号。如果PLC系统的输出形式为24VDC,例如西门子的S7系列PLC,则PLC输出与光电耦合器输入侧的连接如图2所示。如果PLC系统的输出为晶体管集电极开路或漏极开路输出,如三菱的FX系列PLC,则PLC输出与光电耦合器输入侧的连接如图3所示。无论采用何种连接方式,转换后进入STC89C51单片机的信号逻辑都与PLC系统的输出逻辑保持一致。使用光电耦合器实现信号转换,有利于提高系统的抗干扰能力,因为干扰信号即使具有较高的电压幅值,但其能量相对较小,形成的微弱电流一般不足以使光电耦合器导通。转换后的两路信号分别作为数据线和时钟线,连接到单片机的两个外中断输入引脚,便于使用中断方式传输显示数据。
图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系统基于扫描原理周而复始地刷新输入信号、执行用户程序和输出运行结果,在一个扫描周期内让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系统的连接中的1台FX2N PLC连接了8台数显仪表,PLC的Y10用作公共时钟线,Y0~Y7分别用作8台数显仪表的数据线。PLC系统的驱动程序和图5类似。由于多台仪表的时钟线是公共的,数据线是并行输出的,因此多台数显仪表的数据刷新时间和其连接的数量无关,可以确保PLC系统数据显示的实时性。
5、结 论
该数显仪表无需知晓任何PLC系统的协议,仅使用PLC系统的n 1个输出点即可实现在n台数显仪表上显示其数据或参数。占用较少的PLC资源,既可扩充PLC系统的外围显示设备,又间接地解决了HMI无法适应恶劣工作环境等实际工程问题。该仪表已应用于垃圾发电12路远程手操信号的显示,应用结果表明其具有极高的可靠性和良好的可维护性。
介绍了基于PLC控制的伺服电机系统在密封垫圈绕制中的应用,阐述了密封垫圈绕制系统中PLC控制的设计,讨论了系统硬件和软件设计,包括电气线路设计、软件编程设计、文本通讯、PLC控制伺服电机定位和电焊机工作的设计。
前言
PLC是在传统的顺序控制器的基础上引入了微电子技术、计算机技术、自动控制技术和通讯技术而形成的一代新型工业控制装置,目的是用来取代继电器、执行逻辑、记时、计数等顺序控制功能,建立柔性的程控系统。PLC具有通用性强、维护方便、可靠性高、抗干扰能力强、编程简单等特点,已在工业自动化领域得到了广泛的应用。特别是在电机控制上,PLC集成了专用的控制指令集,这可大大缩短编程者对程序的开发时间,提高调试的效率。
位置伺服系统,一般是以足够的位置控制精度(定位精度)、位置跟踪精度(位置跟踪误差)和足够快的跟踪速度作为它的主要控制目标。系统运行时要求能以一定的精度随时跟踪指令的变化,因而系统中伺服电动机的运行速度常常是不断变化的。故伺服系统在跟踪性能方面的要求一般要比普通调速系统高且严格得多,并且不会出现象步进电机在高速状态下旋转运动时出现“脱步”等现象,其在位置控制方面具有相当高的精度而且在高速旋转运动时具有与低速运动状态下相同的转矩,即可以实现恒转矩运行。伺服电机的以上一些特性可以很好地满足本系统的设计需要。
密封垫圈在石油管道、液气压系统等诸多领域内有着广泛的用途,是一种密封性极其优良的产品。主要原材料包括钢带和石墨等,因为其良好的密封性,所以在全球的需求量非常庞大,企业为提高其生产效率,要求采用自动生产设备。
该生产系统现大都采用的是手工操作的方式,在生产过程中,时刻需要人工干预产品的生产过程,通过测量来确定产品是否符合工艺要求。比如,时刻需要用游标卡尺来测量产品的外径来保证产品的质量;整个焊接过程完全由人工操作,自动化程度低,产品的生产效率低下,已无法满足日益增强的竞争需要,所以提高效率迫在眉睫。
1、系统组成
根据生产工艺的要求和对实际系统的测量,预估电机带动模芯运行所需的力矩和运行速度,综合不同规格下的各种要求,选取了PLC作为控制系统,驱动伺服电机和焊机,采用文本显示器设置相应参数。总原理框图如图1所示。
图1 PLC控制电路框图
1.1 硬件部分
本系统电气硬件控制电路的设计,主要包括保护电路、电源变换电路、伺服电机驱动部分电路、伺服电机供电电路和控制电路。对于伺服电机的控制采用PLC作为主控制器,主要控制线有4根:伺服使能信号线、指令脉冲输出信号线、伺服电机旋转方向控制线和伺服电机故障信号输出线。前3根信号线的引出主要是对伺服电机的位置运动进行控制,通过相应设置和程序设计来达到要求的精度。故障输出信号线主要是对电机的不正常运行进行保护,比如电机的过流、过压运行等。通过适当的程序来对故障信号进行处理,保证伺服系统运行的安全性和可靠性。除此之外,还安装了急停按钮对特别紧急事件进行处理,以保证系统的安全性。
电气主电路主要由空气开关、熔断器(保险丝)、电源指示灯、接触器、电源开关按钮、急停开关按钮等组成。功能是保证220V电源供电的安全性与可靠性,同时,熔断器等可以对后续电路过流等情况起到一定的保护作用。220V交流电源电压经过转换变成24V直流电源电压驱动电磁阀工作,控制气缸的动作与释放。PLC开关量输人中有2个光电开关量的输入,主要为钢带和石墨缺料时的信号输入,通过PLC程序来控制伺服电机和各机械部件在上述状态时的运动。
1.2 软件部分
软件设计主要对输入的开关量等信息进行分析、处理、综合后输出控制信号来对伺服电机和执行部件(主要为焊机)进行可靠的运动控制。满足系统控制精度的要求。主程序流程图如图2所示。
图2 主程序流程图
在实际生产过程中,由于石墨带的刚度不够,在绕制过程中容易发生断裂等问题。因此在实际程序设计中要求伺服电机在启动和制动过程均要有加减速时间以防止电机产生速度突变,造成石墨带的断裂和危及操作人员的安全。根据系统要求,将系统运行状态中的某些参数通过通信模块显示于文本屏上,达到实时监控的目的。其中参数主要为产品工艺的要求参数,比如焊点数、材料绕制的圈数等参数的实时显示。文本显示器除了显示功能外,还集成了参数设置的功能,主要是对生产的产品规格型号的选择和绕制圈数的设定。通过规格型号的选择来确定焊机动作与释放时间的分配和伺服电机转速的设定,使两者达到合理的配合,大限度地提高产品的生产效率。通过对产品绕制圈数的设定可以实时控制产品的合格率并可以随时按生产要求来选择生产产品的规格。打破了手工操作下,能生产的产品比较单一的缺点(规格少),提高了设备的利用效率。
2、系统问题及解决方案
2.1 伺服电机定位问题
本次系统设计中主要存在的问题是模芯的jingque定位。当一个产品制作完成后,怎样才能使模芯在高速回归原点时与压轮压下的位置的偏差不超过1mm。考虑到伺服电机的高精度定位功能,设计中采用了记录全程脉冲数的方法。这种方法充分利用了伺服电机的高精度定位功能,实现高效率的jingque定位。在整个系统设计中,将PLC的Y0口作为伺服电机脉冲的输出端,因此利用PLC指令集中的特殊功能存储器D8140,D8141来记录PLC发给伺服电机的脉冲数并将其累加。通过运算求出不到一圈的脉冲数,再用一圈的脉冲数减掉上面的运算结果。将此结果的脉冲数再通过PLC的Y0口发给伺服电机来控制其回归原点。如果仅用以上方法即使回归了原点但其仍无法满足1mm的精度要求,需要对伺服驱动器参数设置中的21号参数(零偏差幅度)进行相应计算设定。因为伺服驱动器出产时21号参数一般是400脉冲,当要求定位的精度很高时,这个默认的参数是不适合的。可以通过式(1)进行计算来确定需要的参数值。
(1)
其中:132072为电机旋转一周所需的脉冲数,为固定值,单位为脉冲/周;S为每转一周的移动量,单位为m;J为系统所要求的精度,单位为m为零偏差幅度,单位为脉冲。
对于本系统,模芯采用小尺寸,S=0.580 9m,J=0.001m,可求得P=226脉冲;(实际电机旋转一周需要的脉冲可以通过调节驱动器的电子齿轮比参数得到)考虑到系统的转速比接近1:10,所以P可以取20脉冲。综合考虑各种规格之后可以取小值P=1脉冲。
在软件设计中还应要使用特殊辅助继电器M8145,其功能是停止Y0口的脉冲发送(立即停止)。采用程序驱动M8145可以防止伺服电机在发送脉冲时的过脉冲现象,提高定位的精度。
2.2 焊机的时间控制问题
对焊机的开始放电时间的jingque控制直接关系到产品的质量。对于密封垫圈其要求在轮启动焊接的时候能够达到在电机带动模芯旋转一圈的过程中,按顺序先5—l0mm焊接3个点,然后再以40—50mm的距离焊接剩下的点。在这个过程中要保持电机有一定的转速,大概20r/min,还要保持焊点的均匀、美观和一定的强度。在设计中将电焊机的时间控制模式改为“1”(外部时间控制),又鉴于PLC的扫描方式不同于一般的单片机芯片,所以要考虑程序的扫描周期。在以上转速下利用公式(2)算得可以启动电焊机工作的时间:
S=V×T (2)
式中:S为焊接距离;V为电机运动速度;T为电焊机可以工作的时间范围。
算得时间T,加上扫描时间就是焊机要动作的时间范围,对其进行启动和释放时间合理分配。该系统中电焊机启动时需要l0ms的高电平维持时间(实际设定),才能进入稳定的放电状态,而且焊机的响应时间存在不稳定性,所以设定电焊机启动时高电平维持时间为20ms,电焊机可以很好地进行工作,达到控制的需要,保证焊点的质量。
3、结论
经过现场安装与调试,本系统其性能比传统的手工操作系统优良。而且体积小,结构也简单,为日后的维护和功能扩展奠定了良好的基础,精度能够达到要求,大大提高了效率,操作也更加简单方便。对操作人员来说,也更加安全可靠。