组态王在楼宇自动化系统中的应用——培训环节2010.12.1一:工程管理器•在组态王中,我们所建立的每一个组态称为一个工程。每个工程反映到操作系统中是一个包括多个文件的文件夹。工程的建立则通过工程管理器。•点击“开始”---〉“程序”---〉“组态王6.5*”---〉“组态王6.5*”(或直接双击桌面上组态王的快捷方式),启动后的工程管理窗口•工程管理器界面友好,简单易学。下面详细介绍。菜单区工具栏工程信息显示当前工程菜单和工具栏•搜索:单击此快捷键,在弹出的“浏览文件夹”对话框中选择某一驱动器或某一文件夹,系统将搜索指定目录下的组态王工程,并将搜索完毕的工程显示在工程列表区中。•删除:在工程列表区中选择任一工程后,单击此快捷键删除选中的工程。•属性:在工程列表区中选择任一工程后,单击此快捷键弹出工程属性对话框,可在工程属性窗口中查看并修改工程属性。•备份:工程备份是在需要保留工程文件的时候,把组态王工程压缩成组态王自己的“.cmp”文件。•恢复:单击此快捷键可将备份的工程文件恢复到工程列表区中。•DB导出:利用此快捷键可将某一个选中的组态王工程数据词典中的变量导出到EXCEL表格中,用户可在EXCEL表格中查看或修改变量的属性。•DB导入:利用此快捷键可将EXCEL表格中编辑好的数据或利用“DB导出”命令导出的变量导入到组态王某一工程的数据词典中。EXCEL表格中的数据导入到组态王工程的数据词典中。•开发:在工程列表区中选择任一工程后,单击此快捷键进入工程的开发环境——工程浏览器。•运行:在工程列表区中选择任一工程后,单击此快捷键进入工程的运行环境。该功能也可以在相应的工程通过点击右键—“切换到开发系统”来实现。如何新建一个工程•单击工程管理器——新建。键入工程存储位置和文件夹名称键入工程名称二、工程浏览器•工程建立以后,双击新建工程,进入工程浏览器。建立一个工程的基本步骤第一步:创建新工程•第二步:定义硬件设备并添加工程变量•添加工程中需要的硬件设备和工程中使用的变量,包括内存变量和I/O变量。•第三步:制作图形画面并定义动画连接•按照实际工程的要求绘制监控画面并使静态画面随着过程控制对象产生动态效果。•第四步:编写命令语言•通过脚本程序的编写以完成较复杂的操作上位控制。•第五步:进行运行系统的配置•对运行系统、报警、历史数据记录、网络、用户等进行设置,是系统完成用于现场前的必备工作。•第六步:保存工程并运行完成以上步骤后,一个可以拿到现场运行的工程就制作完成了如何得到组态王的帮助文件•组态王帮助文档分组态王产品帮助文档和I/O驱动帮助文档两部分,可以通过如下几种方法打开:•方法一:单击桌面“开始”-“所有程序”-“组态王6.5*”-“组态王文档”,此选•项中包括组态王帮助文档、I/O驱动帮助文档和使用手册电子版、函数手册电子版。•方法二:在工程浏览器中单击“帮助”菜单中的“目录”命令,此帮助文档中只包含组态王软件帮助文档。三、定义外部设备和数据变量•新建工程的方法已经介绍,下面讲解如何定义外部设备和数据变量。•组态王把那些需要与之交换数据的硬件设备或软件程序都作为外部设备使用。外部硬件设备通常包括PLC、仪表、模块、变频器、板卡等;外部软件程序通常指包括DDE、OPC等服务程序。按照计算机和外部设备的通讯连接方式,则分为:串行通信(232/422/485)、以太网、专用通信卡(如CP5611)等•在实际的工程中组态王连接现场的实际采集设备,采集现场的数据。•下面以仿真PLC为例,讲解如何定义设备和连接变量。•1、在组态王工程浏览器树型目录中,选择设备,在右边的工作区中出现了“新建”图标,双击,弹出“设备配置向导”对话框。•“设备”下的子项中默认列出的项目表示组态王和外部设备几种常用的通讯方式,如COM1、COM2、DDE、板卡、OPC服务器、网络站点,其中COM1、COM2表示组态王支持串口的通讯方式,DDE表示支持通过DDE数据传输标准进行数据通讯,其他类似。•COM口用户通过设备定义向导选择实际设备所连接的PC串口即可。•数据库是“组态王软件”最核心的部分。在TouchVew运行时,工业现场的生产状况要以动画的形式反映在屏幕上,操作者在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为核心,所以说数据库是联系上位机和下位机的桥梁。•数据库中变量的集合形象地称为“数据词典”,数据词典记录了所有用户可使用的数据变量的详细信息。定义外部设备变量数据词典中变量的类型•变量可以分为基本类型和特殊类型两大类,基本类型的变量又分为内存变量和I/O变量两种。•“I/O变量”指的是组态王与外部设备或其它应用程序交换的变量。这种数据交换是双向的、动态的。•所以,那些从下位机采集来的数据、发送给下位机的指令,比如反应罐液位、电源开关等变量,都需要设置成“I/O变量”。那些不需要和外部设备或其它应用程序交换,只在组态王内使用的变量,比如计算过程的中间变量,就可以设置成“内存变量”。变量的分类•基本类型的变量也可以按照数据类型分为离散型、实型、整型和字符串型。•1、内存离散变量、I/O离散变量(BOOL)•2、内存实型变量、I/O实型变量(浮点数)•3、内存整数变量、I/O整数变量(类似于有符号长整数)•4、内存字符串型变量、I/O字符串型变量•5、特殊变量类型有报警窗口变量、历史趋势曲线变量、系统变量三种。演示工程讲解变量定义•根据上面的视图,直观的看,我们需要定义以下的变量:反应罐1、2、3的液位。阀门1、2、3的对应的开关。•由于需要液体的流动,还需要定义相应控制流动的流动变量。•液位数据是通过驱动程序采集来的,所以液位变量的类型都是I/O实型变量,变量定义方法如下图1:•阀门对应的变量是离散型内存变量,如图2变量的定义递增寄存器INCREA100变化范围~100,表示该寄存器的值周而复始的由0递加到100。递减寄存器DECREA100变化范围~100,表示该寄存器的值周而复始的由100递减为0。随机寄存器RADOM100变化范围0~100,表示该寄存器的值在0到100之间随机的变动。变量属性说明•变化灵敏度数据类型为实数型或整数型时此项有效,只有当该数据变量的值变化幅度超过设置的“变化灵敏度”时,组态王才更新与之相连接的图素。•保存参数:在系统运行时,如果您修改了此变量的域值(可读可写型),系统将自动保存修改后的域值•最小原始值:针对I/O整型、实型变量,为组态王直接从外部设备中读取到的最小值(实际最小值)•最大原始值:针对I/O整型、实型变量,为组态王直接从外部设备中读取到的最大值(实际最大值)•最小值/最大值:用于在组态王中将读取到的原始值转化为具有实际工程意义的工程值,并在画面中显示,与最小/最大值原始值对应。常用数据类型•Bit:1位:0或者1•Byte8位:一个字节•Short16位:两个字节(一个字)•Ushort16位:两个字节(一个字)•BCD16位:两个字节(一个字)•Float32位:两个字(4个字节)•String128个字符长度。•Long32位:两个字(4个字节)四、建立组态画面•建立新画面,使用工具箱文字图库调色板画面的设计•加入各个反应罐,并用文字标识。•连接管道。•加入动画。动画的连接•所谓“动画连接”就是建立画面的图素与数据库变量的对应关系。•反应罐的动画设置和阀门的动画设置。液体流动动画设置•数据词典中定义一个内存整型变量,变量名:液体流动;变量类型:内存整型;初始值:0;最小值:0;最大值:100;•选择工具箱中的“立体管道”工具,在画面上画一管道:在画面上双击管道弹出动画连接对话框。其他动画•闪烁•隐含•旋转•缩放•填充等。四、命令语言•组态王除了在定义动画连接时支持连接表达式,还允许用户编写命令语言来扩展应用程序的功能,极大地增强了应用程序的可用性。•命令语言的句法和C语言非常类似,可以说是C的一个简化子集,具有完备的词法语法查错功能和丰富的运算符、数学函数、字符串函数、控件函数、SQL函数和系统函数。命令语言分类•应用程序命令语言:可以在程序启动时、关闭时或在程序运行期间周期执行。如果希望周期执行,还需要指定时间间隔。•热键命令语言:被链接到设计者指定的热键上,软件运行期间,操作者随时按下热键都可以启动这段命令语言程序。•事件命令语言:规定在事件发生、存在、消失时分别执行的程序。•数据改变命令语言:只链接到变量或变量的域。在变量或变量的域值变化到超出数据字典中所定义的变化灵敏度时,它们就被触发执行一次。•还有自定义函数命令语言,画面、按钮命令语言实现画面切换功能•利用系统提供的“菜单”工具和ShowPicture()函数能够实现在主画面中切换到其他任一画面的功能。•ShowPicture(3实时曲线);趋势曲线•趋势曲线用来反应变量随时间的变化情况。趋势曲线有两种:实时趋势曲线和历史趋势曲线。•实时曲线•历史曲线数据报表•报表分实时报表和历史报表。•可根据需要,自定义表功能。实训项目点拨水槽1水槽2压力变送器变频器DIDOS7-200PC/PPI阀门1阀门2恒压力的实现方法•PID算法•给定值SP,反馈值(检测值)PV,控制输出值Uk;偏差值ek0=SP-PV•比例系数Kp,积分系数Ki,微分系数Td•a01=Kp(1+1/Ki+Td);a11=KP(1+2*Td)•a21=Kp*Td•Uk=Uk01+a01*ek0-a11*ek01+a21*ek02;•Uk01=Uk;ek02=ek01;ek01=ek0•if(uk1000)Uk=1000,if(Uk0)Uk=0组态王中的实现PLC编程•由于PID算法由组态王的命令语言实现,因此,PLC解放出来,仅仅负责采集反馈值PV,并将计算出的数据传送到变频器。•PLC语句如下:•LDSM0.0•MOVWVW0,AQW0•MOVWAIW0,VW8