第一章概述1.1组态的介绍组态王软件是一种通用的工业监控软件,它融过程控制设计、现场操作以及工厂资源管理于一体,将一个企业内部的各种生产系统和应用以及信息交流汇集在一起,实现最优化管理。它基于MicrosoftWindowsXP/NT/2000操作系统,用户可以在企业网络的所有层次的各个位置上都可以及时获得系统的实时信息。采用组态王软件开发工业监控工程,可以极大地增强用户生产控制能力、提高工厂的生产力和效率、提高产品的质量、减少成本及原材料的消耗。它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布式大型集中监控管理系统的开发。1.1.1组态王软件的结构组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。工程管理器:工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。工程浏览器:工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计显示动态画面,实现人与控制设备的交互操作。1.1.2组态王与I/O设备组态王软件作为一个开放型的通用工业监控软件,支持与国内外常见的PLC、智能模块、智能仪表、变频器、数据采集板卡等(如:西门子PLC、莫迪康PLC、欧姆龙PLC、三菱PLC、研华模块等等)通过常规通讯接口(如串口方式、USB接口方式、以太网、总线、GPRS等)进行数据通讯。组态王软件与IO设备进行通讯一般是通过调用*.dll动态库来实现的,不同的设备、协议对应不同的动态库。工程开发人员无须关心复杂的动态库代码及设备通讯协议,只须使用1.1.3组态王的开放性组态王支持通过OPC、DDE等标准传输机制和其他监控软件(如:Intouch、Ifix、Wincc等)或其他应用程序(如:VB、VC等)进行本机或者网络上的数据交互。建立应用工程的一般过程通常情况下,建立一个应用工程大致可分为以下几个步骤:第一步:创建新工程为工程创建一个目录用来存放与工程相关的文件。第二步:定义硬件设备并添加工程变量添加工程中需要的硬件设备和工程中使用的变量,包括内存变量和I/O变量。第三步:制作图形画面并定义动画连接按照实际工程的要求绘制监控画面并使静态画面随着过程控制对象产生动态效果。第四步:编写命令语言通过脚本程序的编写以完成较复杂的操作上位控制。第五步:进行运行系统的配置对运行系统、报警、历史数据记录、网络、用户等进行设置,是系统完成用于现场前的必备工作。第六步:保存工程并运行完成以上步骤后,一个可以拿到现场运行的工程就制作完成了。如何得到组态王的帮助组态王帮助文档分组态王产品帮助文档和I/O驱动帮助文档两部分,可以通过如下几种方法一:单击桌面“开始”-“所有程序”-“组态王6.52”-“组态王文档”,此选项中包括组态王帮助文档、I/O驱动帮助文档和使用手册电子版、函数手册电子版。方法二:在工程浏览器中单击“帮助”菜单中的“目录”命令,此帮助文档中只包含组态王软件帮助文档。方法三:在工程浏览器中任何时候通过“F1”快捷键弹出组态王软件帮助文档。启动工程管理器:点击“开始”→“程序”→“组态王6.5”→“组态王6.5”(或直接双击桌面上组态王的快捷方式),启动后的工程管理窗口如图1-1所示:图1-1开发:在工程列表区中选择任一工程后,单击此快捷键进入工程的开发环境。运行:在工程列表区中选择任一工程后,单击此快捷键进入工程的运行环境。工程浏览器是组态王6.5的集成开发环境。在这里您可以看到工程的各个组成部分包括Web、文件、数据库、设备、系统配置、SQL访问管理器,它们以树形结构显示在工程浏览器窗口的左侧。工程浏览器的使用和Windows的资源管理器类似,如图1-2所示:图1-2工程浏览器由菜单栏、工具条、工程目录显示区、目录内容显示区、状态条组成。“工程目录显示区”以树形结构图显示大纲项节点,用户可以扩展或收缩工程浏览器中所列的大纲项。组态王把那些需要与之交换数据的硬件设备或软件程序都作为外部设备使用。外部硬件设备通常包括PLC、仪表、模块、变频器、板卡等;外部软件程序通常指包括DDE、OPC等服务程序。按照计算机和外部设备的通讯连接方式,则分为:串行通信(232/422/485)、以太网、专用通信卡(如CP5611)等。在计算机和外部设备硬件连接好后,为了实现组态王和外部设备的实时数据通讯,必须在组态王的开发环境中对外部设备和相关变量加以定义。为方便您定义外部设备,组态王设计了“设备配置向导”引导您一步步完成设备的连接。本教程以组态王软件和亚控公司自行设计的仿真PLC(仿真程序)的通讯为例来讲解在组态王中如何定义设备和相关变量(实际硬件设备和变量定义方式与其类似)。注:在实际的工程中组态王连接现场的实际采集设备,采集现场的数据。在组态王工程浏览器树型目录中,选择设备,在右边的工作区中出现了“新建”图标,双击此“新建”图标,弹出“设备配置向导”对话框,如图1-2所示:图1-2说明:“设备”下的子项中默认列出的项目表示组态王和外部设备几种常用的通讯方式,如COM1、COM2、DDE、板卡、OPC服务器、网络站点,其中COM1、COM2表示组态王支持串口的通讯方式,DDE表示支持通过DDE数据传输标准进行数据通讯,其他类似。在上述对话框选择亚控提供的“仿真PLC”的“串行”项后单击“下一步”弹出对话框,如图1-3所示:图1-3为仿真PLC设备取一个名称,如:PLC1,单击“下一步”弹出连接串口对话框,如图1-4所示:图1-4为设备选择连接的串口为COM1,单击“下一步”弹出设备地址对话框,如图1-5所示:在连接现场设备时,设备地址处填写的地址要和实际设备地址完全一致。图1-5此处填写设备地址为0,单击“下一步”,弹出通讯参数对话框,如图1-6所示:图1-6设置通信故障恢复参数(一般情况下使用系统默认设置即可)。单击“下一步”系统弹出信息总结对话框,如图1-7所示图1-77、请检查各项设置是否正确,确认无误后,单击“完成”。设备定义完成后,您可以在Com1项下看到新建的设备“PLC1”。8、双击Com1口,弹出串口通讯参数设置对话框,如图1-8所示:图1-8由于我们定义的是一个仿真设备,所以串口通讯参数可以不必设置,但在工程中连接实际的I/O设备时,必须对串口通讯参数进行设置且设置项要与实际设备中的设置项完全一致(包括:波特率、数据位、停止位、奇偶校验选项的设置),否则会导致通讯失败。在组态王工程浏览器中提供了“数据库”项供用户定义设备变量。数据库的作用数据库是“组态王软件”最核心的部分。在TouchVew运行时,工业现场的生产状况要以动画的形式反映在屏幕上,操作者在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为核心,所以说数据库是联系上位机和下位机的桥梁。数据库中变量的集合形象地称为“数据词典”,数据词典记录了所有用户可使用的数据变量的详细信息。数据词典中变量的类型数据词典中存放的是应用工程中定义的变量以及系统变量。变量可以分为基本类型和特殊类型两大类,基本类型的变量又分为内存变量和I/O变量两种。“I/O变量”指的是组态王与外部设备或其它应用程序交换的变量。这种数据交换是双向的、动态的,就是说在组态王系统运行过程中,每当I/O变量的值改变时,该值就会自动写入外部设备或远程应用程序;每当外部设备或远程应用程序中的值改变时,组态王系统中的变量值也会自动改变。所以,那些从下位机采集来的数据、发送给下位机的指令,比如反应罐液位、电源开关等变量,都需要设置成“I/O变量”。那些不需要和外部设备或其它应用程序交换,只在组态王内使用的变量,比如计算过程的中间变量,就可以设置成“内存变量”。基本类型的变量也可以按照数据类型分为离散型、实型、整型和字符串型。1、内存离散变量、I/O离散变量类似一般程序设计语言中的布尔(BOOL)变量,只有0、1两种取值,用于表示一些开关量。2、内存实型变量、I/O实型变量类似一般程序设计语言中的浮点型变量,用于表示浮点数据,取值范围10E-38~10E+38,有效值7位。3、内存整数变量、I/O整数变量类似一般程序设计语言中的有符号长整数型变量,用于表示带符号的整型数据,取值范围2147483648~2147483647。4、内存字符串型变量、I/O字符串型变量类似一般程序设计语言中的字符串变量,可用于记录一些有特定含义的字符串,如名称、密码等,该类型变量可以进行比较运算和赋值运算。特殊变量类型有报警窗口变量、历史趋势曲线变量、系统变量三种。对于我们将要建立的演示工程,需要从下位机采集原料油罐的液位、原料油罐的压力、催化剂液位和成品油液位,所以需要在数据库中定义这四个变量。因为这些数据是通过驱动程序采集来的,所以四个变量的类型都是I/O实型变量,变量定义方法如下:在工程浏览器树型目录中选择“数据词典”,在右侧双击“新建”图标,弹出“变量属性”对话框,如图1-9所示:图1-9在对话框中添加变量如下:变量名:原料油液位变量类型:I/O实数变化灵敏度:0初始值:0最小值:0最大值:100最小原始值:0最大原始值:100转换方式:线性连接设备:PLC1寄存器:DECREA100数据类型:SHORT采集频率:1000毫秒读写属性:只读设置完成后单击“确定”。用类似的方法建立另外三个变量:原料油罐压力、催化剂液位和成品油液位。此外由于演示工程的需要还须建立三个离散型内存变量为:原料油出料阀、催化剂出料阀、成品油出料阀。在该演示工程中使用的设备为上述建立的仿真PLC,仿真PLC提供四种类型的内部寄存器:INCREA、DECREA、RADOM、STATIC,寄存器INCREA、DECREA、RADOM、STATIC的编号从1-1000,变量的数据类型均为整型(即SHORT)。递增寄存器INCREA100变化范围0~100,表示该寄存器的值周而复始的由0递加到100。递减寄存器DECREA100变化范围0~100,表示该寄存器的值周而复始的由100递减为0。随机寄存器RADOM100变化范围0~100,表示该寄存器的值在0到100之间随机的变动。静态寄存器STATIC100该寄存器变量是一个静态变量,可保存用户下发的数据,当用户写入数据后就保存下来,并可供用户读出。STATIC100表示该寄存器变量能够接收0-100之间的任意一个整数。变量基本属性说明变化灵敏度:数据类型为实数型或整数型时此项有效,只有当该数据变量的值变化幅度超过设置的“变化灵敏度”时,组态王才更新与之相连接的图素(缺省为0)。保存参数:选择此项后,在系统运行时,如果您修改了此变量的域值(可读可写型),系统将自动保存修改后的域值。当系统退出后再次启动时,变量的域值保持为最后一次修改的域值,无需用户再去重新设置。保存数值:选择此项后,在系统运行时,当变量的值发生变化后,系统将自动保存该值。当系统退出后再次启动时,变量的值保持为最后一次变化的值。最小原始值:针对I/O整型、实型变量,为组态王直接从外部设备中读取到的最小值最大原始值:针对I/O整型、实型变量,为组态王直接从外部设备中读取到的最大值最小值“用于在组态王中将读取到的原始值转化为具有实际工程意义的工程值,并在画面中显示,与最小原始值对应最大值“用于在组态王中将读取到的原始值转化为具有实际工程意义的工程值,并在画面中显示,与最大原始值对应。最小原始值、最大原始值和最小值、最大值这四个数值是用来确定原始值与工程值之间的转换比例(当最小值和最小原始值一样,最大值和最大原始值一样时,则组态王中显示的值和外部设备中对应寄存器的值一样)。原始值到工程值之间的转换方式有线性和平方根两种,线性方式是把最小原始值到最大原始值之间的原始值,线性转换到最小值至最大值之间。工程中比较常用的转换方式是线性转换,下面将以具体的实例进行讲解。示例:以ISA板卡的模拟量输入信号(AD)为例进行讲解最小原始值