9
BCD数是一种采用4位二进制数表示1位十进制数(0~9)而得到的数。BCD数用0000、0001、0010、0011、0100、0101、0110、0111、1000、1001分别表示十进制数的0、1、2、3、4、5、6、7、8、9。BCD数中1、o的个数必须是4的整数倍,且不允许出现1010、1011、1100、1101、1110、1111。
①十进数转换成BCD数。十进制数转换成BCD数的方法是:从左到右将待转换的十进制数
中的每个数依次用4位二进制数表示。
可编程逻辑控制器(PLC,也可叫可编程控制器)是一种专门为在工业环境下应用而设计的数字运算的电子系统。它采用可编程的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。日前的计算机集散控制系统DCS (Distributed ControlSystem)中已有大量的可编程控制器应用。伴随着计算机网络的发展,可编程控制器作为自动化控制网络和**通用网络的重要组成部分,将在工业及工业以外的众多领域发挥越来越大的作用。
在PLC(Programmable Logic Controller,可编程控制器)发展的过程中,由于时期不同、功能相异,PLC还曾被称为可编程矩阵控制器PMC(Programmable Matrix Controller)、可编程顺序控制器PSC (Programmable Sequence Controller),本文将沿用PLC的称谓。
“PLC是一种数字运算的电子系统,专为在工业环境下应用而设计。它采用可编程的存储器,用来在内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。可编程控制器及其有关设备,都应按易于与工业控制器系统联成一体、易于扩充功能的原则设计。”上述是**电工**于1985年1月对PLC所作的*性的定义。
对于PLC的定义,其补充说明如下。
以微处理技术为基础,应用于以控制开关量为主,或包括控制过程参量在内的逻辑控制、机电运动控制或过程控制等工业控制领域的新型工业控制装置。
数控系统内部处理的信息大致可分为两大类:一是控制坐标轴运动的连续数字信息,这种信息主要由CNC系统本身去完成;另一类是控制刀具更换、主轴起停、换向变速、零件装卸、切削液的开停和控制面板、机床面板的输入输出处理等离散信息,这些信息一般用PLC来实现。PLC在CNC系统中是介于CNC装置与机床之间的中间环节。它根据输入的离散信息,在内部进行逻辑运算并完成输出功能。
1.数控机床中PLC的分类
通常的PLC是一个独立的控制装置,由CPU、存储器、电源、I/O接口等构成独立的控制系统。从数控机床应用的角度分,可编程序控制器可分为两类:一类是CNC的生产厂家将数控装置( CNC)和PLC综合起来而设计的内装型PLC。内装型PLC从属于CNC装置,PLC与CNC装置之间的信号传送在CNC装置内部即可实现。PLC与数控机床之间则通过CNC输入/输出接口电路实现信号传送,如图6-1所示。另一类是专业的PLC生产厂家的产品,称为独立型PLC。独立型PLC独立于CNC装置,具有完备的硬件结构和软件功能,能够独立完成规定的控制任务,性能价格比不如内装型PLC。采用独立型PLC的数控系统框图如图6-2所示。很多数控系统采用独立的PLC作为逻辑控制器。西门子3系统就是采用独立的PLC,FANUC系统就是采用内装型PLC,与数控装置共用一个CPU,也称内嵌式PLC。
内装型PLC的CNC系统框图
图6-1 内装型PLC的CNC系统框图
2.CNC、PLC、机床之间的信号
在数控机床上用PLC代替传统的机床强电顺序控制的继电器逻辑控制,利用逻辑运算实现各种开关量控制。PLC在数控装置和机床之间进行信号的传送和处理,即可以把数控装簧对机床的控制信号,通过PLC去控制机床动作:也可把机床的状态信号送还给数控装置,便于数控装置进行机床自动控制。
独立型PLC的CNC系统框图
图6-2 独立型PLC的CNC系统框图
(1) CNC侧与MT侧的概念
在讨论数控机床的PLC时,常以PLC为界把数控机床分为CNC侧和MT侧两大部分。CNC侧包括CNC系统的硬件、软件以及CNC系统的外部设备。MT侧则包括机床的机械部分、液压、气压、冷却、润滑、排屑等辅助装置,以及机床操作面板、继电器电路、机床强电电路等。MT侧顺序控制的较终对象的数量随数控机床的类型、结构、辅助装置等的不同而有很大的差别。机床结构越复杂,辅助装置越多,受控对象数量就越多。相比而言,柔性制造单元(FMC)、柔性制造系统(FMS)的受控对象数量多,而数控车床、数控铣床的受控对象数量较少。
(2) PLC、CNC、机床间的信息交换
对于不同数控系统,所交换的信息内容、数量各有区别,但基本思路和作用是一样的。对于不带PLC的数控系统产品,其信息交换主要以开关量为主,并通过CNC与PLC之间的硬件I/O连接来实现。对于内装PLC的数控系统产品,不仅可通过开关量交换信息,而且可以通过内部寄存器、内部标志位等交换信息,而且在CNC与PLC之间*硬件I/O连接,数据处理能力强,可靠性高。
数控系统中PLC的信息交换,是以PLC为中心,在CNC、PLC和机床之间的信息传递。PLC与CNC之间交换的信息分两个方向进行,其中由CNC发给PLC的信息主要包括各种功能代码M、S、T的信息、手动/自动方式信息、各种使能信息等。而由PLC发给CNC的信息主要包括M、S、T功能的应答信息和各坐标轴对应的机床参考点信息等。
同样,PLC与机床之间交换的信息也分为两部分。例如机床的起动/停止,主轴正转/反转/停止、机械变速选择、切削液的开/关、倍率选择、各坐标轴点动和刀架、卡盘的夹紧/松开等信号,以及上述各部件的限位开关等保护装置、主轴伺服状态监视信号和伺服系统运行准备等信号。
FANUC系统是内装型PLC。由于PLC在数控系统中的特殊作用,FANUC系统将PLC称为PMC,其编程方法详见本章*二节。西门子数控系统大多数采用独立型PLC,PLC用西门子S7系列,编程用STEP软件,其编程方法可参照其他文章,这里不再赘述。掌握PLC的编程方法是利用PLC进行故障诊断和维修的前提条件。
(1) CNC侧与MT侧的概念
在讨论数控机床的PLC时,常以PLC为界把数控机床分为CNC侧和MT侧两大部分。CNC侧包括CNC系统的硬件、软件以及CNC系统的外部设备。MT侧则包括机床的机械部分、液压、气压、冷却、润滑、排屑等辅助装置,以及机床操作面板、继电器电路、机床强电电路等。MT侧顺序控制的较终对象的数量随数控机床的类型、结构、辅助装置等的不同而有很大的差别。机床结构越复杂,辅助装置越多,受控对象数量就越多。相比而言,柔性制造单元(FMC)、柔性制造系统(FMS)的受控对象数量多,而数控车床、数控铣床的受控对象数量较少。
(2) PLC、CNC、机床间的信息交换
对于不同数控系统,所交换的信息内容、数量各有区别,但基本思路和作用是一样的。对于不带PLC的数控系统产品,其信息交换主要以开关量为主,并通过CNC与PLC之间的硬件I/O连接来实现。对于内装PLC的数控系统产品,不仅可通过开关量交换信息,而且可以通过内部寄存器、内部标志位等交换信息,而且在CNC与PLC之间*硬件I/O连接,数据处理能力强,可靠性高。
数控系统中PLC的信息交换,是以PLC为中心,在CNC、PLC和机床之间的信息传递。PLC与CNC之间交换的信息分两个方向进行,其中由CNC发给PLC的信息主要包括各种功能代码M、S、T的信息、手动/自动方式信息、各种使能信息等。而由PLC发给CNC的信息主要包括M、S、T功能的应答信息和各坐标轴对应的机床参考点信息等。
同样,PLC与机床之间交换的信息也分为两部分。例如机床的起动/停止,主轴正转/反转/停止、机械变速选择、切削液的开/关、倍率选择、各坐标轴点动和刀架、卡盘的夹紧/松开等信号,以及上述各部件的限位开关等保护装置、主轴伺服状态监视信号和伺服系统运行准备等信号。
FANUC系统是内装型PLC。由于PLC在数控系统中的特殊作用,FANUC系统将PLC称为PMC,其编程方法详见本章*二节。西门子数控系统大多数采用独立型PLC,PLC用西门子S7系列,编程用STEP软件,其编程方法可参照其他文章,这里不再赘述。掌握PLC的编程方法是利用PLC进行故障诊断和维修的前提条件。
S7-300 PLC提供有PID控制功能块来实现PID控制。STEP 7提供了系统功能块SFB41、SFB42、SFB43实现PID闭环控制,其中SFB41“CONT C”用于连续控制,SFB42“CONT_S”用于步进控制,SFB43“PULSEGEN”用于脉冲宽度调制,它们位于文件夹“Libraries→StandardLibrary→PID Controller”中。位于文件夹“Libraries→Standard Library→PID Controller”的FB41、FB41、FB43与SFB41、SFB42、SFB43兼容,FB58、FB59则用于PID温度控制。它们是系统固化的纯软件控制器,运行过程中循环扫描、计算所需的全部数据存储在分配给FB或SFB的背景数据块里,因此可以无限次调用。
【例7-1】有一台电炉,要求炉温控制在一定的范围。电炉的工作原理如下:
当设定电炉温度后,CPU 314C-2DP经过PID运算后由自带模拟量输出模块输出一个电压信号送到控制板,控制板根据电压信号(弱电信号)的大小控制电热丝的加热电压(强电)的大小(甚至断开),温度传感器测量电炉的温度,温度信号经过控制板的处理后输入到模拟量输入模块,再送到CPU 314C-2DP进行PID运算,如此循环。整个系统的硬件配置如图7-1所示。请编写控制程序。
3)设置模拟输入量测量范围。先选定“输入”选项卡,再选定“温度单位”为“摄氏度”,选择测量范围为“0~10V”,最后单击“确定”按钮,如图7-4所示。
4)设置模拟输出量测量范围。先选定“输出”选项卡,再选择输出电压范围为“0~10V”,单击“确定”按钮,如图7-5所示。
设置模拟输入量测量范围
SFB41“CONT-C”(连续控制器)在SIMATIC S7可编程序逻辑控制器上使用,通过持续的输入和输出变量来控制工艺过程。在参数分配期间,可以通过激活或取消激活PID控制器的子功能使控制器适应工艺过程的需要。
可以使用该控制器作为PID固定设定值控制器或在多循环控制中作为层叠、混料或比率控制器。该控制器的功能基于使用模拟信号的采样控制器的PID控制算法,必要时可以通过加入脉冲发生器阶段进行扩展,为使用成比例执行机构的两个或三个步骤控制器生成脉冲持续时间调制输出信号。但要注意只有在以固定时间间隔调用块时,在控制块中计算的值才是正确的。为此,应该在周期性中断OB (OB30~OB38)中调用控制块。在CYCLE参数中输入采样时间。SFB41指令的主要参数见表7-1
(2) FC105指令
SCALE功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO LIM和HI LIM)之间的实型值。将结果写入OUT。SCALE功能使用以下等式:
OUT=[((FLOAT (IN) -K1)/(K2-K1))×(HI_LIM-LO_LIM)]+ LO_LIM
常数K1和K2根据输入值是BIPOLAR(双极性)还是UNIPOLAR(单极性)设置。BIPOLAR的含义是:假定输入整型值介于-27648与27648之间,则K1 = -27648.0,K2=+27648.0。UNIPOLAR的含义是:假定输入整型值介于0和27648之间,则K1=0.0,K2 =+27648.0。
表7-2 FC105指令参数
FC105指令参数
OB1中的程序如图7-6所示;OB100中的程序如图7-7所示,目的是重启PID;OB35中的程序如图7-8所示,每0.1s作一次PID运算。
OB1中的程序
OB100中的程序
【关键点】S7-300 PLC的程序中有的指令表是不能转换成梯形图的,因此在同一个程序中可能出现指令表和梯形图并存的情况,但这种情况在S7-200 PLC中是不会出现的。
OB35中的程序