第6章趋势曲线6.1曲线的一般介绍6.2实时趋势曲线6.3历史趋势曲线6.4实例——实时和历史趋势曲线6.1曲线的一般介绍趋势分析是控制软件必不可少的功能,“组态王”对该功能提供了强有力的支持和简单的控制方法,趋势曲线有实时趋势曲线和历史趋势曲线两种。温控曲线反映出实际测量值按设定曲线变化的情况。在温控曲线中,纵轴代表温度值,横轴对应时间的变化,同时将每一个温度采样点显示在曲线中。主要适用于温度控制,流量控制等等。X−Y曲线主要是用曲线来显示两个变量之间的运行关系,例如电流—转速曲线等。返回6.2实时趋势曲线1.实时趋势曲线定义在组态王开发系统中制作画面时,选择菜单“工具\实时趋势曲线”项或单击工具箱中的“画实时趋势曲线”按钮,此时鼠标在画面中变为“十”字形,在画面中用鼠标画出一个矩形,实时趋势曲线就在这个矩形中绘出,如图6−1所示。实时趋势曲线对象的中间有一个带有网格的绘图区域,表示曲线将在这个区域中绘出,网格左方和下方分别是X轴(时间轴)和Y轴(数值轴)的坐标标注。可以通过选中实时趋势曲线对象(周围出现8个小矩形)来移动位置或改变大小。在画面运行时实时趋势曲线对象由系统自动更新。返回下一页6.2实时趋势曲线2.实时趋势曲线对话框实时趋势曲线对话框如图6−2所示。在生成实时趋势曲线对象后,双击此对象,弹出“曲线定义”对话框,本对话框通过单击对话框上端的两个按钮在“曲线定义”和“标识定义”之间切换。1)曲线定义属性卡片选项坐标轴:目前此项无效。分割线为短线:选择分割线的类型。选中此项后在坐标轴上只有很短的主分割线,整个图纸区域接近空白状态,没有网格,同时下面的“次分割线”选择项变灰。返回上一页下一页6.2实时趋势曲线边框色、背景色:分别规定绘图区域的边框和背景(底色)的颜色。按动这两个按钮的方法与坐标轴按钮类似,弹出的浮动对话框也与之大致相同,只是没有线型选项。X方向、Y方向:X方向和Y方向的主分割线将绘图区划分成矩形网格,次分割线将再次划分主分割线划分出来的小矩形。这两种线都可改变线型和颜色。分割线的数目可以通过小方框右边“加减”按钮增加或减小,也可通过编辑区直接输入。工程人员可以根据实时趋势曲线的大小决定分割线的数目,分割线最好与标识定义(标注)相对应。曲线:定义所绘的1~4条曲线Y坐标对应的表达式,实时趋势曲线可以实时计算表达式的值,所以它可以使用表达式。实时趋势曲线名的编辑框中可输入有效的变量名或表达式,表达式中所用变量必须是数据库中已定义的变量。右边的“?”按钮可列出数据库中已定义的变量或变量域供选择,每条曲线可通过右边的线型和颜色按钮来改变线型和颜色。返回上一页下一页6.2实时趋势曲线2)标识定义属性卡片选项标识定义属性卡片对话框如图6−3所示。标识X轴—时间轴、标识Y轴—数值轴:选择是否为X或Y轴加标识,即在绘图区域的外面用文字标注坐标的数值。如果此项选中,左边的检查框中有小叉标记,同时下面定义相应标识的选择项也由灰变加亮。数值轴(Y轴)定义区:因为一个实时趋势曲线可以同时显示4个变量的变化,而各变量的数值范围可能相差很大,为使每个变量都能表现清楚,“组态王”中规定,变量在Y轴上以百分数表示,即以变量值与变量范围(最大值与最小值之差)的比值表示。所以Y轴的范围是0(0%)~1(100%)。标识数目:数值轴标识的数目,这些标识在数值轴上等间隔。起始值:规定数值轴起点对应的百分比值,最小为0。返回上一页下一页6.2实时趋势曲线最大值:规定数值轴终点对应的百分比值,最大为100。字体:规定数值轴标识所用的字体。可以弹出WINDOWS标准的字体选择对话框,相应的操作工程人员可参阅WINDOWS的操作手册。标识数目:时间轴标识的数目,这些标识在数值轴上等间隔。在组态王开发系统中时间是以yy:mm:dd:hh:mm:ss的形式表示,在TouchVew运行系统中,显示实际的时间,在组态王开发系统画面制作程序中的外观和历史趋势曲线不同,在两边是一个标识拆成两半,与历史趋势曲线区别。格式:时间轴标识的格式,选择显示哪些时间量。更新频率:TouchVew是自动重绘一次实时趋势曲线的时间间隔。与历史趋势曲线不同,它不需要指定起始值,因为其时间始终在当前时间到当前时间-时间长度之间。时间长度:时间轴所表示的时间范围。字体:规定时间轴标识所用的字体。与数值轴的字体选择方法相同。返回上一页6.3历史趋势曲线组态王提供三种形式的历史趋势曲线:第一种是从图库中调用已经定义好各功能按钮的历史趋势曲线,对于这种历史趋势曲线,用户只需要定义几个相关变量,适当调整曲线外观即可完成历史趋势曲线的复杂功能,这种形式使用简单方便;该曲线控件最多可以绘制8条曲线,但该曲线无法实现曲线打印功能。第二种是调用历史趋势曲线控件,对于这种历史趋势曲线,功能很强大,使用比较简单。通过该控件,不但可以实现组态王历史数据的曲线绘制,还可以实现ODBC数据库中数据记录的曲线绘制,而且在运行状态下,可以实现在线动态增加/删除曲线、曲线图表的无级缩放、曲线的动态比较、曲线的打印等等。返回下一页6.3历史趋势曲线第三种是从工具箱中调用历史趋势曲线,对于这种历史趋势曲线,用户需要对曲线的各个操作按钮进行定义,即建立命令语言连接才能操作历史曲线,对于这种形式,用户使用时自主性较强,能做出个性化的历史趋势曲线;该曲线控件最多可以绘制8条曲线,该曲线无法实现曲线打印功能。无论使用哪一种历史趋势曲线,都要进行相关配置,主要包括变量属性配置和历史数据文件存放位置配置。返回上一页下一页6.3历史趋势曲线1.与历史趋势曲线有关的其他必配置项1)定义变量范围由于历史趋势曲线数值轴显示的数据是以百分比来显示,因此对于要以曲线形式来显示的变量需要特别注意变量的范围。如果变量定义的范围很大,例如−999999~+999999,而实际变化范围很小,例如−0.0001~+0.0001,这样,曲线数据的百分比数值就会很小,在曲线图表上就会出现看不到该变量曲线的情况,关于变量范围的定义如图6−4所示。2)对变量作历史记录对于要以历史趋势曲线形式显示的变量,都需要对变量作记录。在组态王工程浏览器中单击“数据库”项,再选择“数据词典”项,选中要作历史记录的变量,双击该变量,则弹出“变量属性”对话框,如图6−5所示。返回上一页下一页6.3历史趋势曲线选中“记录定义”选项卡片,选择变量记录的方式。3)定义历史数据文件的存储目录在组态王工程浏览器的菜单条上单击“配置”菜单,再从弹出的菜单命令中选择“历史数据记录”命令项,弹出“历史记录配置”对话框,如图6−6所示。在此对话框中输入记录历史数据文件在磁盘上的存储路径和其它属性(如数据文件记录时数,记录起始时刻,数据保存天数),也可进行分布式历史数据配置,使本机节点中的组态王能够访问远程计算机的历史数据。4)重启历史数据记录在组态王运行系统的菜单条上单击“特殊”菜单项,再从弹出的菜单命令中选择“重启历史数据记录”,此选项用于重新启动历史数据记录。在没有空闲磁盘空间时,系统就自动停止历史数据记录。当发生此情况时,将显示信息框通知工程人员,工程人员将数据转移到其他地方后,空出磁盘空间,再选用此命令重启历史数据记录。返回上一页下一页6.3历史趋势曲线2.通用历史趋势曲线1)通用历史趋势曲线的定义在组态王开发系统中制作画面时,选择菜单“图库/打开图库”项,弹出“图库管理器”,单击“图库管理器”中的“历史曲线”,在图库窗口内用鼠标左键双击历史曲线(如果图库窗口不可见,请按F2键激活它),然后图库窗口消失,鼠标在画面中变为直角形,鼠标移动到画面上适当位置,单击左键,历史曲线就复制到画面上了,如图6−7所示。可以任意移动、缩放历史曲线。历史趋势曲线对象的上方有一个带有网格的绘图区域,表示曲线将在这个区域中绘出,网格左方和下方分别是X轴(时间轴)和Y轴(数值轴)的坐标标注。曲线的下方是指示器和两排功能按钮。可以通过选中历史趋势曲线对象(周围出现8个小矩形)来移动位置或改变大小。通过定义历史趋势曲线的属性可以定义曲线、功能按钮的返回上一页下一页6.3历史趋势曲线参数、改变趋势曲线的笔属性和填充属性等,笔属性是趋势曲线边框的颜色和线型,填充属性是边框和内部网格之间的背景颜色和填充模式。2)历史趋势曲线对话框生成历史趋势曲线对象后,在对象上双击鼠标左键,弹出“历史趋势曲线”对话框。历史趋势曲线对话框由三个属性卡片“曲线定义”、“坐标系”和“操作面板和安全属性”组成,如图6−8所示。返回上一页下一页6.3历史趋势曲线3.历史趋势曲线控件KVHTrend曲线控件是组态王以ActiveX控件形式提供的绘制历史曲线和ODBC数据库曲线的功能性工具,该曲线具有以下特点:(1)既可以连接组态王的历史库,也可以通过ODBC数据源连接到其他数据库上,如Access、SQLServer等。(2)连接组态王历史库时,可以定义查询数据的时间间隔,如同在组态王中使用报表查询历史数据时使用查询间隔一样。(3)完全兼容了组态王原有历史曲线的功能。最多可同时绘制16条曲线。(4)可以在系统运行时动态增加、删除、隐藏曲线。还可以修改曲线属性。返回上一页下一页6.3历史趋势曲线(5)曲线图表实现无级缩放。(6)数值轴可以使用工程百分比标识,也可用曲线实际范围标识,二者之间自由切换。(7)曲线支持毫秒级数据。(8)可直接打印图表曲线。(9)通过ODBC数据源连接数据库时,可以自由选择数据库中记录时间的时区,根据选择的时区来绘制曲线。(10)可以自由选择曲线列表框中的显示内容。返回上一页下一页6.3历史趋势曲线1)创建历史曲线控件在组态王开发系统中新建画面,在工具箱中单击“插入通用控件”或选择菜单“编辑”下的“插入通用控件”命令,弹出“插入控件”对话框,在列表中选择“历史趋势曲线”,单击“确定”按钮,对话框自动消失,鼠标箭头变为小“十”字形,在画面上选择控件的左上角,按下鼠标左键并拖动,画面上显示出一个虚线的矩形框,该矩形框为创建后的曲线的外框。当达到所需大小时,松开鼠标左键,则历史曲线控件创建成功,画面上显示出该曲线,如图6−9所示。2)设置历史曲线固有属性历史曲线控件创建完成后,在控件上单击右键,在弹出的快捷菜单中选择“控件属性”命令,弹出历史曲线控件的固有属性对话框,如图6−10所示。控件固有属性含有两个属性页:曲线、坐标系。下面详细介绍每个属性页中的含义。返回上一页下一页6.3历史趋势曲线(1)曲线属性页。曲线属性页如图6−10所示,曲线属性页中下半部分为说明定义在绘制曲线时,历史数据的来源,可以选择组态王的历史数据库或其它ODBC数据库为数据源。曲线属性页中上半部分“曲线”列表是定义曲线图表初始状态的曲线变量、绘制曲线的方式、是否进行曲线比较等。显示列表:选中该项,在运行时,曲线窗口下方可以显示所有曲线的基本情况列表。在运行时也可以通过按钮控制是否要显示该列表。增加:增加变量到曲线图表,并定义曲线绘制方式。返回上一页下一页6.3历史趋势曲线采集间隔:确定从数据库中读出数据点的时间间隔。可以精确到毫秒。“秒”和“毫秒”不能同时为零,即最小单位为1毫秒。该项的选择将影响曲线绘制的质量和系统的效率。当选择的时间单位越小时,绘制的数据点越多,曲线的逼真度越高,系统效率会有所降低。相反,如果选择的时间单位越大,绘制的数据点越少,曲线的逼真度相对降低,移动曲线时,有时会出现在同一个时间点上曲线显示不同的情况,但系统效率受影响较小。单击该按钮,弹出的对话框如图6−11所示。增加曲线对话框中各部分的含义为:变量名称:在“变量名称”文本框中输入要添加的变量的名称,或在左侧的列表框中选择,该列表框中列出了本工程中所有定义了历史记录属性的变量,如果在定义变量属性时没有定义进行历史记录,则此处不会列出该变量。单击鼠标,则选中的变量名称自动添加到“变量名称”文本框中,一次只能添加一个