西门子6ES7232-0HD22-0XA0技术介绍
1 引言
可编程控制器(以下简称PLC)由于其高可靠性、编程简单、通用性强、体积小、结构紧凑、安装维护方便等特点,而在工业控制中得到了广泛应用。PLC的模块一般分为以下几大类:开关量输入模块、开关量输出模块、模拟量输入模块、模拟量输出模块。在工业控制中特别是过程控制领域中需要采集和控制的模拟量比较多,因而对PLC的模拟量输入、输出模块需要的较多,而模拟量输入、输出模块比较贵,增加模拟量输入、输出模块就增加了成本,降低了整个系统的性价比,限制了PLC的应用。本文提出了一种基于通讯的模拟量输入、输出模块的扩展方法力图解决这一问题。
2 基于通讯的模拟量输入、输出模块的扩展方法
(1) 模拟量输入模块扩展
这里以一路12位模拟量输入为例,模拟信号以0~5V标准电压的形式送入信号输入端,应用12位A/D转换芯片MAX187实现模数转换。MAX187是12位串行A/D,具有较高的转换速度,采样频率是75kHz,适用于较高精度的过程控制。考虑到实际工业现场中的高频干扰,在采样信号送MAX187之前还使用了低通滤波器滤波,如图1所示。
图1 低通滤波、放大器及A/D转换
MAX187具有内部参考电压,既4#管脚(REF)为 4.096V,因此,A/D转换的全量程为4.096V。而输入信号是0~5V,因此,要加一级运放把0~5V转换成0~4.096V后送入MAX187。AT89C52的P1.3和MAX187的片选端(CS)相连、AT89C52的P1.4和MAX187的串行时钟信号端(SCLK)相连、AT89C52的P1.5和MAX187的串行数据输出端(DOUT)相连。模拟量采样的值存入单片机的内存中,再由单片机的串行口传送给PLC。A/D转换的C51程序如下:
#include
#include
sbit IC4_S = P1^4; /* AD输入端口设置*/
sbit IC4_D = P1^5;
sbit IC4_C = P1^3;
void bbbbb(void )
{ unsigned char idata i;
unsigned int idata result=0x0000;
IC4_C = 0; /* CS端为低电平*/
for(i=0;i<12;i++)
{ result = result << 1;
IC4_S = 0; /*时钟端产生时钟脉冲*/
IC4_S = 1;
if( IC4_D ) result++; /*从串行数据输出端读入A/D转换数据*/
}
IC4_C = 1; /* CS端为高电平*/
pdat[1] = result;
}
MAX187的工作时序图见图2。
图2 MAX187的工作时序图
(2) 模拟量输出模块扩展
这里以一路12位模拟量输出为例,设计中将采用12位D/A转换芯片MAX531来实现数摸转换。我们在MAX531的输出端接运算放大器,将模拟输出调节至0~5V,输出部分的硬件电路如图3所示。这里,MAX531是12位串行D/A,具有较高的转换速度, MAX531具有内部参考电压,既10#管脚(REFOUT)为2.048V,因此, D/A转换的全量程为2.048V。而输出信号一般要求是标准的0~5V,因此,要加一级运放把MAX531输出的0~2.048V信号转换成 0~5V信号。AT89C52的P1.0和MAX531的串行时钟信号端(SCLK)相连、AT89C52的P1.1和MAX531的串行数据输入端(DIN)相连、AT89C52的P1.2和MAX531的片选端(CS)相连。PLC把要输出的模拟量通过串行口传送给单片机,存入的内存中,再由单片机完成D/A转换进行输出。A/D转换的C51程序如下:
图3 D/A转换及放大器原理图
#include
#include
sbit IC2_S = P1^0; /*DA输出端口设置*/
sbit IC2_D = P1^1;
sbit IC2_C = P1^2;
void output(unsigned int dat)
{ unsigned char idata i = 12;
IC2_C = 0; /* CS端为低电平*/
while( i-- )
{ IC2_S = 0; /*时钟端产生时钟脉冲*/
if ( dat &0x0800 ) IC2_D =1; /*从串行数据输入端读入DA转换数据*/
else IC2_D =0;
IC2_S = 1;
dat = dat << 1;
}
IC2_C=1; /* CS端为高电平*/
}
MAX531的工作时序图见图4。
图4 MAX531的工作时序图
3 PLC与扩展模块之间的通信接口及通信协议
(1) 通信接口
以松下FP1系列PLC为例来阐述PLC与扩展模块之间的通信,FP1系列PLC的通信接口采用标准9芯RS232接口,它与扩展模块之间的接线如图5所示。
图5 扩展模块与PLC的通讯连接
· 扩展模块的RXD端与PLC的TXD端联接,使扩展模块接收到PLC发出的数据;
·扩展模块的TXD端与PLC的RXD端联接,使扩展模块发出的数据被PLC接收到;
· 扩展模块的地与PLC的SG端互联,使两者的工作基准地电平相同。
上面采用的是RS232接口,PLC一次只能扩展一个模块。如果要扩展多个模块,可以采用RS485接口,现代的PLC一般都带有RS485接口。
(2) 通信协议
松下FP1系列PLC与扩展模块之间的通信协议为松下公司专用的MEWTOCOL-COM协议,该协议采用异步通信方式,其波特率有1200、2400、4800、9600、19200、38400、57600、115200bps等多种可选,且报文长度可变可固定。该协议格式分为命令消息(Command Message),正常响应消息(Response Message-normal),出错响应消息(Response Message-error)三种。
其中:%为起始符,标记每一帧报文的开始;CR为结束符,标记每一帧报文的结束;
AD为PLC的站地址,为两位16进制数,如00则表示台PLC;
#、$、!标注该帧报文为何种类型。
Command code为命令代码,如例1中的“RD”,表示读数据区。Response code为响应代码一般返回接收到的命令消息中的命令代码。Error(H)和Error(L)为出错代码,是两位16进制数, 可根据其值在协议中查出错误的描述。
Text code为命令参数,如例1命令消息中“D 01105 01107”,“D”表示数据寄存器,“01105 01107”表示第1105号至1107号,而在例1响应消息中,“6300 4433 0A00”则表示DT1105至DT1107中数据分别为6300、4433、0A00。
BCC(H)和BCC(L)为前面字符串的BCC校验码的高、低位,为两位16进制数。其初值为0,然后从起始符开始与该帧报文中每一字节按位进行异或运算得到。
l 例1:读取DT1105至DT1107中的数据的命令消息如下:
若DT1105至DT1107中数据分别为6300、4433和0A00,PLC返回的响应消息如下:
那么, 模拟量输入扩展模块与PLC通讯的报文可如下:
表示1号模拟量输入扩展模块把模拟量采样值0FFF存入PLC的第1105个数据寄存器
模拟量输出扩展模块与PLC通讯的报文可如下:
表示1号模拟量输出扩展模块请求把PLC中第1106个数据寄存器保存的模拟量输出值读入。
若DT1106中数据为0fff,PLC返回的响应消息如下:
1号模拟量输出扩展模块就把接收到的数字量0fff转换成模拟量输出。
4 结束语
本文提出的方法已在实验室中调试通过,并多次长时间运行测试,以验证其准确性与稳定性,收到了令人满意的效果,通信十分稳定可靠。各位读者可在本文的基础上,开发出8路、16路8位、10位、12位等模拟量输入、输出扩展模块;本文使用的是松下公司已有的MEWTOCOL-COM协议,读者也可以自己编制通讯协议。本文意在提出一种低成本的PLC模拟量输入、输出模块扩展方法,如果要把它变成产品还有很长的路要走,例如,如何让用户使用得更方便,可靠性更高等等。这些都是需要进一步完善的。
1.概述
一般波峰焊机比较大,流水线生产,但有些客户比如实验室、学校、小型工厂需要小型的无铅波峰焊机。某电子设备厂开发了这种产品,采用了Kinco-K3系列PLC和eView触摸屏。该设备需要控制三个温度,共三个PID,Kinco-K3系列PLC多实现8路PID,可以满足该设备要求,再配上eView触摸屏,具有很高的性价比。
2.工艺简述
双波峰焊机首先要把焊锡温度、预热温度、预热补偿温度共三个温度加到设定的温度值。当条件成立后,整机就可以生产了。把PCB板放到轨道上,按启动开关,传输电机运行,气泵启动,喷助焊剂, PCB板助焊剂的喷涂完成,延时气泵停止。当PCB板到左边预热区后,传输电机停止,PCB板停在预热区,预热,时间到后,传输电机启动,PCB板向右运行,锡泵电机启动喷锡,PCB板经过预热补偿温度区,进入了喷锡区,过了喷锡区后,锡泵停止,当PCB板到右边后,传输电机停止,冷风电机启动。这样一个完整的循环结束。
3.硬件配置
输入点:检测开关量、操作开关等。
检测的开关量有:右点开关、左点开关。
操作开关量有:启动开关,急停开关。
输出点:三个区域的加热固态继电器、传输电机、锡泵两台电机、排烟电机、气泵电机、冷却电机、上电自保点。
模拟量输入点:三个区的温度检测。
传输电机和锡泵电机都需要调速,用的是变频器,速度需要通讯设定。
硬件配置:
4.程序编写
程序编写包括PLC和触摸屏的程序。
包括四大功能:设备参数、手动调试、生产画面、报警查询。
以下是一些特点:
设备的每个动作都可以在手动调试画面完成,在开始调试设备和维修时非常有用。
设备参数可以从触摸屏上设定,包括温度、时间、PID系数。
报警查询,可以快速的找到故障原因。
生产画面是把生产用到的显示数据、按钮都放到这个画面了,方便用户在这个画面下监示三个区的温度、过程指示以及在这些画面中进行操作。
传输电机和锡泵电机的速度设定是触摸屏设定到PLC,再由PLC通过PORT1传到各电机的变频器。用到了PLC中MODBUS主站的功能,非常方便。
由于锡锅冷却下来需要一段时间,设定了关机按钮。当按此关机按钮,PLC计时,当温度降到80℃切断电源。这样方便用户下班后,不必等温度降下来再走,比较安全。
5.结束语
Kinco PLC在某电子设备厂半自动精密丝印机成功应用后,又成功应用到了小型波峰焊机。设备厂家认为,Kinco PLC与eView触摸屏成套供货,性价比是非常高的。今后这样的配置会陆续应用到更多的设备上
1 引言
近半个世纪以来,经典控制理论和现代控制理论、方法和技术(简称传统控制),取得了令人瞩目的成就。但是,无论是现代控制理论还是大系统理论,其分析、综合和设计都是建立在严格和jingque的数学模型基础之上的。而在科学技术和生产力高速发展的,人们对大规模、复杂、不确定性系统实行自动控制的要求不断提高。因此,传统的基于jingque数学模型的控制理论的局限性日益明显。
(1) 传统控制所面临的难题
l 传统控制方法的设计和分析是建立在系统的jingque模型基础上的,而实际系统由于存在复杂性、时变性、不确定性和不完全性等,一般无法获得jingque的数学模型;
l 采用传统控制理论进行系统设计时,必须提出并遵循一些苛刻的假设,而这些假设往往与实际情况不符,使得所设计的系统性能与实际情况相差很远;
l 对某些复杂的带有时变性与不确定性的系统,即使获得了良好的控制性能,当环境条件发生变化时,其性能也会显著变差;
l 为了提高控制性能,传统的控制理论可能变得相当复杂,从而增加了设备投资,降低了系统可靠性。
(2) 传统控制的缺陷与不足
l 对环境的干扰和不确定性缺乏足够的鲁棒性;
l 突发事件的处理需要人工的干预;
l 无法处理非数字和不jingque的信息;
l 无法通过在线学习以提高自身性能。
以上因素正是传统控制技术需要突破的一些症结,于是,专家控制的基本思想就应运而生了。
2 专家控制的基本思想[5][6]
专家控制是智能控制的一个重要分支,它是把专家系统的思想和方法引入控制系统及其工程应用。就其实质而言,专家控制是基于控制对象和控制规律的各种知识的总和,而且要以智能的方式使用这些知识,求得受控系统更可能地优化和实用化,它反映出智能控制的许多重要特征和功能。
2.1 专家控制的基本思想
专家控制=自动控制理论和方法+人工智能专家系统技术
实际系统中存在的启发式逻辑本质上是实现控制目标的各种规律性的经验知识,这些经验知识难以用一般性的数值形式表达,而适合用符号形式加以描述;再者,这些经验知识既不能简单的罗列,有难以用用解析的方法综合,因而必须给予恰当的组织,并能自动地进行推理,人工智能中的专家技术恰恰为这种经验知识的表示和处理提供了有效办法。
人工智能领域中发展起来的专家系统是一种基于知识的、智能的计算机程序系统。
(1) 专家系统的两个要素
l 知识库:存储有某个专门领域中事先总结的按某种格式表示的专家水平的知识条目。
l 推理机制:按照类似专家水平的问题求解方法,调用知识库中的条目进行推理、判断和决策。
专家系统的知识库和推理机制在组织结构上分离建造,而在运行过程中又相互作用,这使得系统具有较大的灵活性:知识的增删、修正和更新独立于推理机制,具有很好的透明性—推理的结论和根据可以与系统外部交互。
专家系统将专门领域的问题求解思路、经验、方式组织成一个实际运行的形式系统,表现出一种拟人的智能性,它与传统的自动控制理论和方法的结合,形成了专家控制的基本思想。
将专家系统技术引入控制领域,首先必须把控制系统看成一个基于知识的系统,而作为系统的核心部件的控制器则要体现知识推理的机制和结构。
知识库内部的组织结构可采用人工智能中知识表示的合适方法,其中,一部分知识可称为数据,例如事实(先验知识)、证据(动态信息)、假设(由事实、证据推得的中间状态)和目标(离线设定的或在线建立的性能指标)、数据组织在一起,形成数据库。另一部分知识可称为规则,即定性的推理知识,它们往往表示为产生式规则,组成知识库,在专家控制中,定量知识,即各种有关的解析算法,一般都独立编码,按常规的程序设计方法组织。
推理机制的基本功能在于按某种策略选用推理规则,对于专家控制,同样可采用人工智能中的前向推理或后向推理策略。
一种典型的专家控制系统的组织结构如图1所示:
图1 一种典型的专家控制结构
(2) 专家控制的两个特点
l 定量知识和定性知识分离构造。数值算法直接与受控对象或过程相连,以便得到快速的控制响应。知识系统处于较高的智能层次,实现以智能启发式逻辑推理为主的控制功能。
l 知识库系统。数值算法和人—机通讯三个子过程并发运行,其中,用户通过人—机接口可以直接地与知识库系统,进而间接的与数值算法交互,以便操作人员对于控制系统进行离线的修改或在线的监督、干预。
2.2 专家控制的目标与实现
专家控制系统≠专家系统
专家系统的理想目标是要实现这样一个控制器或控制系统:
(1) 满足复杂动态过程的控制需要,例如任何时变的、非线性的,受到各种干扰的控制过程;
(2) 控制系统的运行可以利用一些经验知识,而且只需要一些少量的经验知识;
(3) 有关受控过程的知识可以不断的增加、积累,据以改进控制性能;
(4) 潜在的控制知识以透明的方式存放,易于修改和扩充;
(5) 用户可以对控制系统的性能进行定性的说明,例如“速度可能快”、“超调要小”等;
(6) 用户可以访问系统的内部信息,进行交互,例如受控过程的动态特性、控制性能的统计分析、限制控制性能等因素,以及对当前采用的控制作用的解释等等。
专家控制的上述目标可以看作是一种比较含糊的功能定义,它们覆盖了传统控制在一定程度上可以达到的功能,但又超过了传统控制技术。作一个形象的比喻,专家控制是试图在控制闭环中加入一个有经验的工程师,系统能为他提供一个“控制工具箱”,即可对控制、辩识、测量、监视等各种算法选择自便,调节自如。因此,专家控制实质上是对一个“控制专家”的思路、经验、策略的模拟、延伸、扩展。
3 基于PLC的专家控制系统开发工具[2][4]
3.1 现代PLC技术的发展
可编程序控制器问世以来,经过近30年的发展,产品已经发展到第四代。其技术日臻完善,应用范围也不断扩展。目前,为了适合大中小企业的不同需要,进一步扩大PLC在工业自动化领域的应用范围,PLC正朝着以下两个方向发展:其一是低档PLC向小型、简易、廉价的方向发展,使之能更加广泛地取代继电器控制;其二是中、PLC向大型、高速、多功能方向发展,使之能取代工业控制微机的部分功能,对大规模、复杂系统进行综合性的自动控制。
3.2 基于PLC的专家控制系统开发工具
“基于PLC的专家控制系统开发工具”(ECST V2.2)所开发出的专家控制系统是用于工业实时控制,它是专家控制与常规控制的集成,即专家控制的控制策略通过常规的控制机构来实现,从而到达智能控制与常规控制相结合。Paradym-31是世界工控厂家Wizdom公司的Paradym-3(P31)工作平台,它有硬件和软件两部分组成,软件部分是基于bbbbbbs操作系统逼供内具备图形化开发环境的工作平台,在图形化的编程界面下,用户可以在其中制作和调试自己的应用程序(如梯形图、顺控图、功能模块图),编译过的应用程序可下载到硬件部分进行工作;硬件部分拥有独立的CPU模块,具备实时的控制器内核。同时,通用的通讯端口可方便地与外部设备进行RS232、Modbus、及以太网通讯。因此,P31可通过该通讯端口进行监视、暂停、开始、更改某一变量数值等操作,从而达到可视化的控制被控对象的目的。
(1) “基于PLC的专家控制系统开发工具”结构图
“基于PLC的专家控制系统开发工具”结构图如图2所示。与其它开发工具相比,“基于PLC的专家控制系统开发工具”的不同之处是:在主窗口处增加了“导入专家控制器”;在编辑子窗口处,“设计专家系统”菜单下的内容又有所变化,该菜单下各项子菜单的作用如下:“创建专家系统控制器”是创建一个新的专家系统控制器,“导出专家系统控制器”是把创建好的专家系统控制器打开在“多页编辑窗口”。在“创建专家系统控制器”中,“创建功能块对话框”为用户提供了创建输入输出变量以及内部变量的接口,该窗口为用户产生了一个空的专家系统,具体实现要在“多页编辑窗口中”添加。
图 2 基于PLC的专家控制系统开发工具结构图
“多页编辑窗口中”共有五项,它们分别是“专家控制头文件”、“专家控制模块”、“控制算法集”、“动态数据库”、“知识库”。其中,需要说明的是“专家控制头文件”是由“创建功能块对话框”产生的,在一般情况下,无须添加和修改。“存储专家控制器到P31”是把编辑或修改后的内容作为P31常规控制的一部分保存起来。
(2) 基于PLC的专家控制器的产生过程
图3讲述了基于PLC的专家控制器的产生过程,该过程有以下几个步骤:
图 3 基于PLC的专家控制器的产生过程
l 首先,利用“基于PLC的专家控制系统开发工具”产生一个专家系统;
l 其次,通过相应常规控制的开发平台嵌入到常规PLC控制中,与常规控制的其它模块一起构成了专家控制器;
l 然后,下载专家控制器的程序(梯形图)到常规PLC控制设备中,就能够完成对一实际被控对象的控制任务。如图4所示:
图 4 基于PLC的专家控制器对实际过程的控制
4 结束语
本文所介绍的基于PLC的专家控制系统开发工具ECST具有专家控制系统的开发环境,灵活的知识表示和正向、反向的推理方法,可以与常规控制相结合,构成实时专家控制系统。但是,与其它新技术一样,专家控制所要求的目标既难于全面实现,也难于一步到位,它仍需进一步地完善。