7
西门子6ES7223-1BF22-0XA8产品型号
1.某些国外的小型PLC的程序结构
这些PLC的用户程序由主程序、子程序和中断程序组成。在每一个扫描循环周期,CPU都要调用一次主程序。主程序可以调用子程序,小型控制系统可以只有主程序。中断程序用于快速响应中断事件。在中断事件发生时,CPU将停止执行当时正在处理的程序或任务,去执行用户编写的中断程序。执行完中断程序后,继续执行被暂停执行的程序或任务。它们的子程序和中断程序没有局部变量,子程序没有输入、输出参数。
2.西门子的S7-200的程序结构
过程映像输入/输出(I/Q)、变量存储器V、内部存储器位M、定时器T、计数器C等属于全局变量。S7-200的程序组织单元(ProgramOrganizationalUnit,简称为POU)包括主程序、子程序和中断程序。每个POU均有自己的64字节局部变量,局部变量只能在它所在的POU中使用。与此相反,全局变量可以在各POU中使用。
下面是子程序可以使用的局部变量:
1)TEMP(临时变量)是暂时保存在局部数据区中的变量。只有在执行该POU时,定义的临时变量才被使用,POU执行完后,不再保存临时变量的数值。
2)IN是由调用它的POU提供的输入参数。
3)OUT是返回给调用它的POU的输出参数(子程序的执行结果)。
4)IN_OUT是输入_输出参数,其初始值由调用它的POU传送给子程序,并用同一变量将子程序的执行结果返回给调用它的POU。
主程序和中断程序的局部变量中只有临时变量TEMP。
具有输入、输出参数和局部变量的子程序易于实现结构化编程,对于长期生产同类设备或生产线的厂家尤为有用。这些厂家的编程人员为设备的各组件或工艺功能编写了大量的通用的子程序。即使不知道子程序的内部代码,只要知道子程序的功能和输入、输出参数的意义,就可以通过程序之间的调用快速“组装”出满足不同用户要求的控制程序。就好像用数字集成电路芯片组成复杂的数字电路一样。
子程序如果没有输入、输出参数,它和调用它的程序之间没有清晰的接口,很难实现结构化编程。
子程序如果没有局部变量,它和调用它的程序之间只能通过全局变量来交换数据,子程序内部也只能使用全局变量。将子程序和中断程序移植到别的项目时,需要重新统一安排它们使用的全局变量,以保不会出现冲突。当程序很复杂,子程序和中断程序很多时,这种重新分配地址的工作量非常大。
如果子程序和中断程序有局部变量,并且它们内部只使用局部变量,不使用全局变量,因为与其他POU没有冲突,不需作任何改动,就可以将子程序移植到别的项目中去。
3.西门子的S7-300/400的程序结构
S7-300/400将子程序分为功能(Function,或称为函数)和功能块(FunctionBlock)。
S7-300/400的功能与S7-200的子程序基本上相同。它们均有输入、输出参数和临时变量,功能的局部数据中的返回值实际上属于输出参数。它们没有的存储区,功能执行结束后,不再保存临时变量中的数据。
可以用全局变量来保存那些在功能执行结束后需要保存的数据,但是会影响到功能的可移植性。
功能块是用户编写的有自己的存储区(即背景数据块)的程序块,功能块的输入、输出参数和静态变量存放在的背景数据块中,临时变量存储在局部数据堆栈中。每次调用功能块时,都要一个背景数据块。功能块执行完后,背景数据块中的数据不会丢失,但是不会保存局部数据堆栈中的数据。
功能块采用了类似于C++的封装的概念,将程序和数据封装在一起,具有很好的可移植性。
S7-300/400的共享数据块可供所有的逻辑块使用。
4.IEC61131-3的程序结构
IEC61131-3是PLC的编程语言标准。IEC61131-3是世界上个,也是至今为止的工业控制领域的编程语言标准。IEC
61131-3有三种POU:程序、功能块和功能。
功能是有多个输入参数和一个输出参数(返回值)的POU,返回值的名称与功能的名称相同,需要定义返回值的数据类型。调用具
有相同输入值的功能总是返回相同的结果。功能可以调用其他功能,但是不能调用功能块或程序。功能可定义的局部变量有VAR和VAR_bbbbb。
功能块是有多个输入/输出参数和内部存储单元的POU,功能块的输出参数值与其内部存储单元的值有关。功能块可以调用其他功能
块或功能,但是不能调用程序。
在调用功能块之前,在要调用功能块的POU中为每次调用声明功能块的实例,操作系统将为每次调用分配功能块的存储区
(类似于S7-300/400的背景数据块)。
功能因为没有内部存储区,调用时不需要实例化。
程序的行为和用途类似于功能块,程序具有输入和输出参数,而且可以具有内部存储区。程序通常包含有对功能和功能块的调用。
IEC61131-3定义了若干标准的功能和功能块。
5.S7-300/400与IEC61131-3程序结构的区别
1)S7-300/400的功能可以有多个输出参数,返回值也属于输出参数。IEC61131-3的功能只有一个返回值。
2)IEC61131-3的功能块用于保存局部变量的存储区是在声明功能块的实例时分配的,它对用户是不透明的,其他POU不能直接访问该存储区。
S7-300/400的功能块的局部变量(不包括临时变量)保存在它的背景数据块中。其他POU可以访问背景数据块中的变量。如果需要多次调用同一个功能块来控制同一类型的被控对象,每次调用都需要一个背景数据块,但是这些背景数据块中的变量又很少,这样在项目中就出现了大量的背景数据块。可以使用多重背景数据块来减少背景数据块的数量。但是需要增加一个用来管理多重背景的功能块。
3)S7-300/400的功能块的局部变量有临时变量和静态变量,IEC61131-3的功能块的内部变量Var相当于S7-300/400的静态变量。
4)S7-300/400将数据区划分为数据块来使用,数据块的大小与数据块中定义的变量的数据类型和变量的个数有关。IEC61131-3没有数据块的概念。
自动化行业是一个非常的行业,不管是什么岗位,产品的基础知识一定是的,且熟练掌握对工作的帮助大。PLC是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用可编程序的存贮器,用来在其内部存贮执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。PLC及其有关设备、都应按易于与工业控制系统形成一个整体,易于扩充其功能的原则设计。
一、PLC的特点:
· 1、性高,使用寿命长
· 2、环境适应性强
· 3、灵活通用
· 4、使用方便、维护简单
· 5、整个连接过程仅需要一把螺丝即可完成。
二、PLC的分类
PLC是由现代化大生产的需要而产生的,PLC的分类也必然要符合现代化生产的需求。一般来说可以从三个角度对可编程序控制器进行分类。其一是从PLC的控制规模大小去分类,其二是从PLC的性能高低去分类,其三是从PLC的结构特点去分类。
1、按控制规模分类:可以分为大型机、中型机和小型机。
(一)小型机 : 小型机的控制点一般在256 点之内,适合于单机控制或小型系统的控制。
(1)日本OMRON 公司 CQM1
处理速度:0.5~10ms/ 1k 字
存贮器:3.2~7.2k
数字量192 点,模拟量44 路
(2)德国SIEMENS S7-200
处理速度:0.8~1.2ms
存贮器:2k
数字量:248 点,模拟量35 路
(二)中型机: 中型机的控制点一般不大于2048 点,可用于对设备进行直接控制,还可以对多个下一级的PLC进行监控,它适合中型或大型控制系统的控制。
(1)日本OMRON 公司 C200HG
处理速度 0.15~ 0.6 ms/ 1k 字
存贮器 15.2~31.2k
数字量1184 点
(2)德国SIEMENS S7-300
处理速度:0.8~1.2ms
存贮器:2k
数字量1024 点,模拟量128 路
网络:PROFIBUS,工业以太网,MPI
(三)大型机的控制点一般大于2048 点,不仅能完成较复杂的算术运算还能进行复杂的矩阵运算。它不仅可用于对设备进行直接控制,还可以对多个下一级的可编程序控制器进行监控。
(1)日本富士公司 F200
处理速度:2.5ms / 1k 字
存贮器:32k
I/O 点:3200
(2)日本OMRON CV2000
处理速度 0.125ms / 1k 字
存贮器62k I/O 点2048
(3)德国SIEMENS S7-400
处理速度:0.3ms / 1k 字
存贮器:512k
I/O 点:12672
(4)德国AEG A500
处理速度:1.3ms / 1k 字
存贮器:62k 64k
I/O 点:5088
2、按控制性能分类:可以分为机、中档机和低档机。
(一) 低档机
这类PLC,具有基本的控制功能和一般的运算能力。工作速度比较低,能带的输入和输出模块的数量比较少。比如,德国SIEMENS 公司生产的S7-200 就属于这一类。
(二)中档机
这类PLC,具有较强的控制功能和较强的运算能力。它不仅能完成一般的逻辑运算,也能完成比较复杂的三角函数、指数和PID 运算。工作速度比较快,能带的输入输出模块的数量也比较多,输入和输出模块的种类也比较多。比如,德国SIEMENS 公司生产的S7-300 就属于这一类。
(三)机
这类PLC,具有强大的控制功能和强大的运算能力。它不仅能完成逻辑运算、三角函数运算、指数运算和PID 运算,还能进行复杂的矩阵运算。工作速度很快,能带的输入输出模块的数量很多,输入和输出模块的种类也很。这类PLC可以完成规模很大的控制任务。在联网中一般做主站使用。比如,德国SIEMENS 公司生产的S7-400 就属于这一类。
3、按结构去划分:可以分为整体式、组合式、叠装式
(一)整体式
整体式结构的PLC把电源、CPU、存储器、I/O 系统都集成在一个单元内,该单元叫做作基本单元。一个基本单元就是一台完整的PLC。控制点数不符合需要时,可再接扩展单元。整体式结构的特点是非常紧凑、体积小、、安装方便。
(二)组合式
组合式结构的PLC是把PLC 系统的各个组成部分按功能分成若干个模块,如CPU模块、输入模块、输出模块、电源模块等等。(今天的转发暗号是:亿维公司观:诚信、责任、合作、)其中各模块功能比较单一,模块的种类却日趋丰富。比如,一些PLC,除了-些基本的I/O 模块外,还有一些特殊功能模块,像温度检测模块、位置检测模块、PID 控制模块、通讯模块等等。组合式结构的PLC 特点是CPU、输入、输出均为立的模块。模块尺寸统一、安装整齐、I/O 点选型自由、安装调试、扩展、维修方便。
(三)叠装式
叠装式结构集整体式结构的紧凑、体积小、安装方便和组合式结构的I/O 点搭配灵话、安装整齐的优点于一身。它也是由各个单元的组合构成。其特点是CPU 自成立的基本单元(由CPU 和一定的I/O 点组成),其它I/O 模块为扩展单元。在安装时不用基板,仅用电缆进行单元间的联接,各个单元可以一个个地叠装。使系统达到配置灵活、体积小巧。
1 引言
在保护材料生产行业,配料通常是将原材料按某种比例均匀混合在一起, 用以形成一种新的材料,因此配料是这类行业生产的重要组成部分。在生产过程中,各种原料要严格按比例进行均匀混合,就靠配料机械来完成,目前工厂一般使用两种方法,种方法采用人工称重,然后将成比例的各种原材料同时放入配料机中搅拌。另一种方法是自动称重,自动搅拌。由于很多原始材料为粉状或颗粒,人工配料时,人体容易吸入粉尘等杂物,导致职业病出现,增加了生产风险和劳动力成本,同时配料品种繁多,数量,因此人工配料难以现场管理,很容易出现误配,不但质量难以保证,同时也增加了管理成本。为了保证产品质量,提高生产效率,要求采用准确、的自动配料系统。
2 基于 PLC、 工控机和称重仪表的配料系统
在河南西峡保护材料集团现有的配料系统中,工人将材料运送到称重车间,称重完之后,再将材料手动送到配料机上进行配料,称重车间使用了杭州四方的称重仪表进行称重,通过RS232口和工控主机相连,位于中控室的工控主机负责记录称重结果,显示称重数据,同时,控制人员可以在中控室通过控制电路手动控制配料过程的起停。
这种方式效率低下,同时,主机上运行的是C语言开发的DOS程序 [1] ,可扩性差,人机交互困难,不能完成自动配料的所有要求。为了提高生产率,降,需要采用全自动配料系统。
新系统采用主从式结构。 以工控机为上位主机,以西门子PLC [2] 、变频器和称重仪表为下位从机。主机处于主导地位,实现对各从机的通信管理和控制,将工控机的RS-232异步通信口经电平转换后与PLC相连,形成上、下位机通信的一个物理通道;将主机的另一个RS-232口和称重仪表的通信口相连,构成二个物理通道。上位机采用轮询方式,逐个与从站通信。上位机把任务规划的结果传送给PLC,在PLC进行控制的过程中,上位机使用上位机连接命令监视下位机的运行状态和数据区内容,实时读取PLC的内部状态以及称重仪表的实时数据,在上位机上显示。
总体上讲,系统具有如下功能:
①全自动配料,在设定好配方之后,系统自动按照配方称重配料,操作人员干预;
②具有报表功能,可以产生日报表,实时报表和月报表、年报表等;
③动态增加和修改报表,系统通过设定权限,赋予技术人员或操作人员修改,增加配方的权利,同时该次的日期和操作人员编号;
④断电恢复功能,系统能够在突然断电的情况下, 恢复断电前的测量记录;
⑤局域网共享功能, 主机在局域网内可以共享数据,方便车间主管了解工程进度和其他情况。
2.1 系统的组成
整个全自动配料混合系统由工控机、PLC、工业称重仪表、变频器、振动电机、混料机、传感器、传送带等部分组成。
上位工控机提供人机交互界面, 完成控制信息输人、数据管理、进行数据显示、存储、统计和报表等功能,上位机采用IPC810工控机,它的主要工作如下: 工控主机根据操作人员的指令, 读取某个编号的配方, 然后, 根据配方中配料的比例及先后顺序,向PLC发出开始配料的指令,使得PLC能够起动特定的变频器。在配料过程中,工控主机以轮询的方式,一方面实时读取PLC的状态字,了解PLC及PLC下级设备的运行状态; 另一方面实时读取安装在配料机上的称重仪表的称重数据, 按照配料策略, 当称重接近配方中的设定值时, 主机向PLC发出停止本次配料的指令。 当一个配方上的所有材料都配完后, 整个配料过程暂停,等待操作人员的指令。
系统运行过程中,PLC与上位机实时通信,从而保证界面上显示的数据与现场实际数据的一致性,操作人员在上位机上发出的操作命令和设定参数都可以实时送到PLC,PLC的主要工作有:①接收上位机发送来的命令,通过变频器控制振动电机的起、停和快慢;②将变频器的运行状态实时写入内存数据区,供工控机读取;③将自身的各种状态以状态字的形式准备好,共工控机实时读取。
2.2 控制策略及配料过程
通过对配料过程的特点进行分析,得到配料过程具有如下特点:
(1)被控对象是单向的不可逆系统。原料没有办法从配料机中重新回到传送带上。
(2) 具有明显的时滞性。 当配料达到设定值时,PLC控制电机停止传送原料,这时传送带上具有部分原料无法回收,所以系统具有明显的时滞性。
(3)受控特性是开关性的。系统的起、停控制等都是开关量。
(4)配料系统在正常工作区内是线性的。
因此,我们考虑采用快速、慢速、提前发出停止加料指令等控制策略, 同时利用PLC的互锁技术确保配料的顺利进行。系统起动后,工控机向PLC发出开始加料信号,PLC控制变频器驱动电机进行快速加料, 同时, 工控主机通过串口持续不断的读取称重仪表的称重数据, 当重量值接近设定值时, 工控主机向PLC发出停止加料的控制指令,此时,PLC控制变频器进行慢加,通过事先估计出传送机构上原料的残余, 设定值和实际加料的差值和传送机构上原料的残余相当时,PLC真正发出停止指令,该指令由变频器执行, 从而控制电机停机, 停机后传送机构上的原料无残余,配料精度符合要求。流程如图1所示。
自动配料系统
3 工控主机软件设计
工控机主要完成的任务如下:
(1)提供配料过程的动画显示。
(2) 向PLC发出控制指令, 读取PLC的运行状态。
(3)读取称重仪表上的称重信号,并将称重值在显示器上显示,根据称重数据,向PLC发送指令。
(4) 数据库和报表, 保存配料数据, 打印报表。
(5)配方的增加与修改。
(6)配料故障辅助报警等其他功能。
3.1 配料软件的界面设计
上位工控机使用紫金桥组态软件设计人机界面,工业控制组态软件实际上是一种能由用户根据自己的需要进行二次开发的软件开发平台。我们可以根据工艺要求在该平台上对整个监控系统开发出友好的人机界面,操作员通过该界面可以与现场设备进行实时交互。 紫金桥软件是HMI/SA工业自动化组态软件,它提供了一个高度集成化、可视化的开发环境。
该软件具有如下一些特点:
(1)多种通信功能。 紫金桥组态软件 [3] 支持如下通信功能:
1)支持RS232、RS422、RS485等串口通信方式,并支持无线电台、电话拨号、电话轮询拨号等方式。
2)以太网通信同时支持有线以太网和无线以太网。
3)所有设备的驱动程序均支持GPRS、CDMA、GSM等移动网络标准。
(2)方便的开发系统。丰富的组件和控件构成强大的HMI开发系统;增强的过渡色与渐进色功能,从根本上解决了很多同类软件在过多使用过渡色、 渐进色时严重影响画面刷新速度和系统运行效率的问题; 加灵活多样的矢图, 使得制作工程画面快捷;提供面向对象编程方式,内置间接变量、中间变量、数据库变量,支持自定义函数和自定义菜单。
(3)开放性。紫金桥组态软件的开放性表现在如下几个方面:
1)支持Excel以VBA的方式访问数据库。
2)软件为开放式体系结构,支持DDE,OPC, ODBC/SQL, ActiveX,DNA标准。以OLE,COM/DCOM、 动态链接库等多种形式提供外部访问接口, 便于用户利用各种常用开发工具 (如: VC++、VB等)进行深层的二次开发。
3)紫金桥组态软件I/O驱动程序的体系结构为开放式结构,其接口部分源代码公开,用户可以自行开发新的驱动程序。
(4)数据库功能.紫金桥组态软件内置了实时数据库,而且实时数据库又内置多种功能块,来完成数据处理与存储,可实现累计、统计、控制、线形化等多种功能。
(5)支持多种设备及总线。支持国内外大部分厂家生产的PLC、调节器、智能仪表、智能终端、智能模块;此外,还支持Profibus,Can,LonWorks和Modbus等标准的现场总线。
3.2 系统的 I/O 点数
紫金桥组态软件用实时数据库点来表示I/O点。经过分析,系统需要三个I/O点,两个数字控制点用来通过PLC控制电机的起、停,因此这两个点的数据链接选择分别为PLC的两个数字量输入输出通道。一个模拟点用来表示从称重仪表上读取的实时数据,因此,该点的数据链接为称重仪表的测量值。
4 通信程序设计
通信程序设计主要包含三部分,部分为主机与PLC的通信;二部分为主机与称重仪表的通信;三部分为PLC与变频器之间的通信。
4.1 主机与 PLC 的通信
组态软件一般都内置了主流PLC的驱动程序,在紫金桥组态软件中新建一个PLC虚拟设备,该虚拟设备的型号和使用的真实PLC的型号一致,如果在组态软件中找不到所需的PLC的型号,则可以委托软件厂家开发一个新的该型号PLC驱动。虚拟设备用来映射真实的设备,这里,我们使用的PLC是SimensS7-300,设定主机通过串口1和PLC通信。
4.2 主机与称重仪表的通信
针对称重仪表,我们使用的是杭州四方的称重仪表,为了使仪表和组态软件很好的通信,我们特别委托紫金桥公司为该仪表开发了驱动程序。我们从组态软件的驱动列表中选择一个我们需要的设备类型,并针对该类型,建立一个虚拟设备,用来映射真实的称重仪表,然后设定仪表与计算机的通信端口及通信协议。
4.3 PLC 与变频器之间的通信
由于配料车间有多种原材料,为了配料方便,我们设置了多个传送带,所以配料系统一个PLC需要链接多个变频器。为此我们在PLC和变频器之间使用了Profibus总线进行通信,将的Profibus通信模块插入到变频器上,并设定好变频器的从站地址,然后通过Profibus连接器接入到PLC中,PLC通过编程,实现对该变频器进行报文的发送与接收,将控制字发送到变频器,同时把状态字从变频器中读取回来。
CPU315-2DP作为Profibus主站,每个与主站通信的变频器可以看作是一个Profibus从站。通信时,主站根据通信报文中的地址字符来选择要传输数据的从站。从站本身不能主动发送数据,各个从站之间也不能直接进行信息的传输。系统所选用的变频器型号均为Siemens MicroMaster430系列 [4] 。PLC和变频器之间主要的通信主要涉及两个概念。是数据报文,二是控制字与状态字。
(1) 通信报文。 每条报文都是以字符STX开始,接着是长度说明LGE和地址字节ADR,然后是采用的数据字符,报文以数据块的检验符BCC结束,主要字段的解释如下:
STX区是一个字节的ASCII字符(02hex),表示一条信息的开始。
LGE区是一个字节,指明这一条信息中后跟的字节数目。
ADR区是一个字节,是从站结点(即变频器)的地址。
BCC区是长度为一个字节的校验和,用于检查该信息是否有效。它是该信息中BCC所有字节“异或”运算的结果。 如果根据校验和的运算结果,表明变频器接收到的信息是无效的,它将丢弃这一信息,并且不向主站发出应答信号。
(2)控制字与状态字。PLC通过变频器的PKW区可以读写变频器的参数值,从而改变或了解变频器的工作状态。在本系统中,PLC读出该区的数据,放在特定的数据区中,供工控机查询,查询结果在工控机上显示。
5 结论
本系统通过工控机、PLC和变频器的协调工作,完成了所需自动配料任务, 系统自2008年5月投入使用以来,每天配料100多吨,完成配方10个左右,不但可实时显示工况,而且可以提供配方修改、增加等功能;实际运行表明,系统运行稳定、,人机界面美观,操作方便,同时系统采用组态软件开发,可以为以后的升级提供便利。