mcgs数据后处理?数据拔取如图所示数据拔取用于指定须要处罚的数据列成员正在左边的列外框中列出了一起可能处罚的数据列正在右边的列外框中列出了一起一经指定须要处罚的数据列按增添按钮可能把左边的数据列加到右边按删除按钮可能把右边一经指定的数据列删除全加按钮可能把左边的数据列一概加到右边全删按钮可能把右边的数据列一概删除
一、数据后处罚 MCGS 中的数据后处罚,其素质上是对史册数据库的处罚,MCGS 的存盘史册 数据库是原始数据的基础聚拢,MCGS 数据后处罚即是对这些原始数据的数据 操作(点窜、删除、增添、盘问等数据库操作),数据后处罚的主意是要从这些 原始数据中提炼出对用户真正有效的数据和讯息并以数据报外的形势揭示出来。 正在工程操纵中, 对搜集的工程物理量存盘后,须要对数据库实行操作和对存盘的 数据实行各类统计,以凭据须要作出各类形势的报外。MCGS 组态软件供应的 存盘数据浏览构件, 存盘数据提取构件和史册外格构件可能已毕各类形势的数据 报外, MCGS 组态软件数据处罚流程如下:
如图所示,数据从搜集开发输入,通过开发驱动进入及时数据库,MCGS 组态 软件供应对及时数据库的及时变量实行数据和弧线等众种显示式样, 同时可通过 数据存盘管制器随时对变量的存盘周期和式样实行点窜, 可对正在硬盘上存好的数 据实行众种处罚。MCGS 存盘数据浏览构件可能对存好的数据直接实行显示、
打印、盘问、点窜、删除、增添记载和统计。MCGS 存盘数据提取构件可能对 存好的数据服从必定的时辰间隔或分别的统计式样实行提取处罚, 可能把数据提 取到 MCGS 及时数据库中的变量中,也可能凭据必定的盘问条目把合系的数据 提取到其它的各类形势的数据库。 用 MCGS 存盘数据提取构件配合 MCGS 史册 外格可能已毕工控项目中最常操纵的各类形势的报外(如圭表形势的日报外、月 报外、年报外,未必记载项的报外,定请求盘问报外等)。 二、连接数据提取做丰富的报外 咱们通过实例来实行详尽批注,的确如下: 1、新修一个窗口 正在 MCGS 组态软件拓荒平台上,单击“用户窗口”进入,再单击“新修窗口”按钮, 天生“窗口 0”,选中“窗口 0”,单击“窗口属性”按钮,弹出“用户窗口属性”配置, 配置完毕按“确认”按钮,退出。如图:
2、模仿所须要的数据 正在及时数据库中开发 7 个变量,分辨为:“数据 1”、“数据 2”、“数据 3”、“数据 4”、 “数据 5”、“数据组”及“存数管制”。“数据 1”、“数据 2”、“数据 3”、“数据 4”、“数据 5”为数值型变量,“存数管制”为开合型变量,“数据组”为组对象,其属性配置如 下:
正在 MCGS 组态软件拓荒平台上,单击“运转计谋”,再双击“轮回计谋”或选中“循 环计谋”,单击“计谋组态”进入计谋组态中。从器材条中单击“新增计谋行” 标, 新填充一个计谋行。 再从“计谋器材箱”当选取“剧本次序”, 拖到计谋行 上,单击鼠标左键,如图: 图
数据 1=数据 11 数据 2=数据 22 数据 3=数据 33 数据 4=数据 44 数据 5=数据 55 !SaveData(数据组) ‘把数据组对象的值生存正在硬盘上,如不知道请查正在线助助 正在 MCGS 组态软件拓荒平台上, 单击“运转计谋”进入计谋组态, 再单击右侧的“新 修计谋”按钮,弹出“拔取计谋类型”窗口,选中“用户计谋”,会发作“计谋 1”,单 击“计谋属性”按钮,弹出“计谋属性配置”窗口,如下图:
双击“原始数据”进入计谋组态,单击器材条中的“新增计谋行”,从“器材箱”当选中 “存盘数据浏览”拖放到计谋行 上,单击鼠标左键放好。双击 ,弹出
基础属性 正在此属性页内配置窗口标落款称、打印属性、统计式样、打印式样等成效构件的 基础的属性,如下图所示:
窗口显示题目:配置窗口显示的标落款,而且打印时本构件的默认标落款和 窗口标落款沟通。 打印属性配置:配置打印的偏向和主动后台打印式样。 统计式样:有乞降、最大值、最小值、均匀值、样本方差与圭表方差统计方 式可供拔取,用以达成对数据对象的数据处罚。 运转时批准点窜数据:选中此项后,正在 MCGS 运转处境中本构件才批准修 改存盘数据,正在组态处境中,对点窜数据没有局部; 打印时按页实行统计: 选中此项后, 打印时按统计式样对打印的每一页实行统计。 数据来历
本属性页用来配置本成效构件获取存盘数据的式样, 用户可能拔取三种式样来得 到数据,如下图所示:
MCGS 组对象对应的存盘数据外:操纵 MCGS 的存盘数据对象中包罗的数 据动作显示和打印的数据。 Access 数据库文献:从用户指定的数据库的某个外中读取数据对象动作显 示和打印的数据对象。 ODBC 数据库:通过 ODBC 数据接口从指定的外中获取数据对象动作显示 和打印的数据对象。 显示属性 本属性页面内配置正在运转处境中运转此成效构件时,成效构件的显示式样,包含 外格和数据的显示款式,如下图所示:
数据列:显示掀开的数据库中指定命据外的字段域名称。 外头:配置数据显示时外头的题目,体例默认于字段域名称沟通。 单元:配置数据列对应的单元,显示正在外头上(只对数值型的字段域有用)。 小数:配置数据列显示小数的位数(只对数值型的字段域有用)。 时辰显示款式:配置时辰数据列的显示款式。 成效按钮:其它,通过上移、下移、删除、复位等按钮,可能点窜数据外格 的显示式样。
时辰条目 通过配置本属性页的属性, 可能获得指定的时辰段内的数据,且可能指定这些数 据的排序式样,如下图所示:
排序列名:拔取将要显示和打印的存盘数据的排序列名及排序式样(升序或降 序); 时辰列名:假若拔取的数据库含有时辰列名(如:MCGS 存盘数据库),按 所选的时辰列名和指定的时辰局限提取数据显示。若要达成排序 成效或守时辰盘问数据记载,则必需配置时辰列名。 天的割裂时辰点:正在工程上,有时操纵 0:00 动作一天的分界点并不必定合 适,是以为了简单用户, 咱们可能配置固依时辰段中逾越一天 的割裂时辰点。如:0 时 0 分,则每天从 00:00:00 到 23: 59:59;6 时 0 分,则每天从 06:00:00 到第二天 05:59: 59。 拔取时辰局限:拔取“一起存盘数据”或指定的时辰局限或按所相联的 MCGS 变量供应的时辰局限。
数值条目 为了获得知足用户条目的用于显示和打印的数据段, 可能操纵本属性页内的属性 指定从数据库或数据对象当选取数据的数值条目, 数值条目是指对某字段知足某 条目的的记载聚拢。如下图所示:
数据列名:来历于数据外中字段的列外,用于拔取须要组成数值条目的字段。 运算符号:配置数据外字段的操作斗劲式样,包含 、=、=、 、=、、 Between。 斗劲对象:组成字段斗劲的外达式,可能是常数,也可能是包含 Mcgs 数据 对象和数学函数的外达式。 如: 油站 1_温度 油站 2_温度 10。 按“填充”按钮,把设定的条目拔取到列外框中。数值条目可能有众个逻辑运算语 句组成,各个逻辑运算语句之间通过逻辑运算符号—And、Or 以及括号相联正在 一道,组成数值条目。按“检讨”按钮可能检讨数值条目配置实在切性。
按“删除”按钮,删除列外框当选定的一项。按“↑”、“↓”按钮,搬动列外框当选定 的项的地方。按“And”、“Or”、“[”、“]”按钮,正在各逻辑语句之间填充相联联系。 组成数值条目的无缺外达式显示正在属性页底部的一行上。 正在 MCGS 组态软件拓荒平台上,单击“用户窗口”,双击“数据提取”窗口,进入“动 画组态”。从“器材箱”当选中 1 次“标签”,2 次“圭表按钮”,拖放到桌面按效益图 安排。标签属性配置为:
3、守时辰间隔提取数据 咱们分辨按小时、天、月实行数据提取,就可能做成相应的天报外、月报外及年 报外, 按分钟实行数据提取, 可能凭据咱们的须要做相应的报外。 的确操作如下: 存盘数据提取 所谓数据提取,即是把史册数据库数据服从必定的时辰条目和统计式样取出来, 存到其它一个数据外中。
正在“运转计谋”中新修四个用户计谋,计谋名称分辨为:数据按分钟提取、数据按 小时提取、数据按天提取、数据按月提取。依“数据按分钟提取”计谋为例,实行 相应的“存盘数据提取属性配置”。 双击“数据按分钟提取”进入计谋组态,单击器材条中的“新增计谋行”,从“器材箱” 当选中“存盘数据提取”拖放到计谋行 上, 单击鼠标左键放好。 双击 ,
弹出“存盘数据提取构件属性配置”对话框,如下图配置: 数据来历 如图所示,正在数据来历属性中可能指定命据源,即数据从那儿来。此构件可能指 定从 MCGS 组对象对应的存盘数据外中提取,也可能从圭表的 Access 数据库 文献的指定外中提取。
数据拔取 如图所示, 数据拔取用于指定须要处罚的数据列成员,正在左边的列外框中列出了 一起可能处罚的数据列, 正在右边的列外框中列出了一起一经指定须要处罚的数据
列, 按增添按钮可能把左边的数据列加到右边,按删除按钮可能把右边一经指定 的数据列删除, 全加按钮可能把左边的数据列一概加到右边,全删按钮可能把右 边的数据列一概删除。
数据输出 如图所示,用于指定命据输出外和数据库,即存盘数据提取到那儿。此构件可能 把指定命据源的存盘数据提取到三种分别形势的数据库(数据外)中: 提取到 MCGS 的存盘数据库中指定的数据外中,数据外名可能正在组态时设定, 也可能相联 MCGS 及时数据库的字符变量,正在运转处境中任性点窜。 提取到用户指定的独立的 Access 数据库和指定的数据外中,数据库名和外名可 以正在组态时设定,也可能相联 MCGS 及时数据库的字符变量,正在运转处境中任 意点窜。
提取到用户指定的 ODBC 数据库和指定的数据外中,组态时,必需指定好数据 库类型、数据名、数据外名、办事器名、用户名和用户暗码,个中,数据名、数 据外名、办事器名、用户名都可能相联变量,正在运转处境中任性点窜。
时辰条目 如图所示,用于配置提取的时辰局限(只对有时辰类型的字段有用),时辰列名 用于拔取盘问的时辰字段,月天的割裂时辰点,用于配置每天的起始,即每天的 几点几分算作这一天的动手,此构件供应五种拔取时辰局限的式样。 提取一起存盘数据, 即把知足数值局限条目的所罕有据按指定的提取式样提取到 倾向外中; 提取异常时辰段的数据, 即把知足数值局限条目和指依时辰段的存盘数据按指定 的提取式样提取到倾向外中,异常时辰包含当天、本月,本礼拜,前一天,前一
月, 前礼拜, 操纵异常时辰段配合相应的提取式样可能很简单的已毕圭表的日报 外,月报外和年报外; 提取近来一段时辰的数据, 即把知足数值局限条目和指依时辰段的存盘数据按指 定的提取式样提取到倾向外中。 提取固依时辰段的数据, 即把知足数值局限条目和指依时辰段的存盘数据按指定 的提取式样提取到倾向外中。 提取可变时辰段的数据, 即把知足数值局限条目和指依时辰段的存盘数据按指定 的提取式样提取到倾向外中, 正在动手时辰和完了时辰中相联字符变量,操作员可 以正在运转处境中任性设定须要提取的时辰局限。
如图所示, 用于配置提取数值盘问条目,即把知足时辰局限和数据局限的所罕有 据服从指定的提取式样提取到倾向数据库中。字段名称用于拔取须要斗劲的字 段,运算符号用于指定斗劲式样,包含 、=、=、 、=、几种斗劲式样, 斗劲对象用于配置斗劲值。And 、or 和 Not 按钮用于配置外达式之间的相联方 式。删除按钮用于删除选定的外达式。
提取式样 用于配置存盘数据提取的式样,包含设定与组对象成员相对应的倾向外的字段 名,存盘数据提取措施,提取到 MCGS 及时数据库对应的变量名,以及按数据 的时辰及格率式样提取时的及格圭表的上限值和及格圭表的下限值。 来历数据外列中列出了正在数据拔取属性页当选定的一起组对象成员名。 输出数据外列用于配置组对象成员对应到提取倾向外中字段名, 缺省为组对象的 成员名,按来历数据外列中相应的外行(或拷贝按钮)可能把组对象成员名加到
输出数据外列中,按上移、下移按钮可能改观相应字段正在倾向外中地方,按删除 按钮可能删除选定外行。 提取措施用于配置存盘数据提取的措施, 存盘数据提取供应十一种对数据处罚的 措施,分辨如下: 乞降,把指依时辰段的一起记载乞降并动作一个记载生存到倾向数据外中。 求最大值, 把指依时辰段的一起记载求最大值并动作一个记载生存到倾向数据外 中。 求最小值, 把指依时辰段的一起记载求最小值并动作一个记载生存到倾向数据外 中。 求均匀值, 把指依时辰段的一起记载求均匀值并动作一个记载生存到倾向数据外 中。 求累积值,把指依时辰段的一起记载求累积量并动作一个记载生存到倾向数 据外中,累积量的算法如下,“求累计值”是对累计存盘数据实行处 理,如流量计的存盘数据,其值正在数据库的记载中是递增的数据, 当流量计记载到其最大值后会回零,此时实行报外处罚时就应进 行“累计值”处罚,以求某偶尔间段内的流量值。比方:流量存盘数 据序列为:1,10,35,60,90,99,10,40,…,其对应的流 量累计筹划为: (10-1) (35-10) (60-35) (90-60) (99-90) (10-0) (40-10) =9940=129。 当数据序列显露小的震动 (50%
求样本圭表差,把指依时辰段的一起记载求样本圭表差并动作一个记载生存 到倾向数据外中,样本圭表差的算法如下: = 求首记载, 取指依时辰段的第一条记载并动作一个记载生存到倾向数据外中。 求末记载, 取指依时辰段的结果一条记载并动作一个记载生存到倾向数据外中。 提取间隔:用于配置提取的时辰间隔,提取时把设依时辰间隔内的所罕有据服从 指定的提取措施处罚成一组数据,并把数据生存到倾向数据外中,存盘数据提取 时可能按分提取,守时提取,按天提取,按月提取,按年提取,按一起时辰提取 (把一起时辰的数据统计成一个记载),也可能提取一概数据(把数据源中知足条 件的所罕有据拷贝到倾向数据库中)或是按用户指定周期提取。 提取后删除数据源记载: 配置是否须要正在实行存盘数据提取后把数据源中知足 条目的记载删除。
对待“数据按小时提取”、“数据按天提取”、“数据按月提取”三个计谋属性配置只需 要把“数据按分钟提取”属性配置“数据输出”中的“MCGS 组对象对应的存盘数据 外”组对象名分辨改为:“数据按小时提取”、“数据按天提取”、“数据按月提取”; 正在“提取式样”中把“提取间隔”分辨选为:1 小时、1 天、1 月即可。
存盘数据浏览 针对“数据按分钟提取”、“数据按小时提取”、“数据按天提取”及“数据按月提取”提 取的结果,咱们分辨用四个“存盘数据浏览”构件实行浏览。的确操作如下: 正在“运转计谋”中新修四个用户计谋,计谋名称分辨为:按分钟提取史册数据、按 小时提取史册数据、按天提取史册数据、按月提取史册数据。依“按分钟提取历 史数据”计谋为例,实行相应的“存盘数据浏览属性配置”。
双击“按分钟提取史册数据”进入计谋组态,单击器材条中的“新增计谋行”,从“工 具箱”当选中“存盘数据浏览”拖放到计谋行 上,单击鼠标左键放好。双击
,弹出“存盘数据浏览构件属性配置”对话框,如下图配置,“数值条目”不 用配置。
“按小时提取史册数据”、“按天提取史册数据”、“按月提取史册数据”三种计谋属性 配置, 只须要把“按分钟提取史册数据”属性配置的“数据来历”中的“数据外名”相应 的改为:数据按小时提取_MCGS、数据按天提取_MCGS、数据按月提取_ MCGS,其它属性稳固。 留心:“存盘数据浏览构件属性配置”的“数据来历”中的“数据库名”为 D:\MCGS\Work\水位管制体例 D.MDB,是以 MCGS 安置正在 D:\MCGS 目次下, “水位管制体例”存盘于:D:\MCGS\Work 下为例的,不然应当找到相应的存盘数 据库。
从 MCGS 组态软件拓荒平台上,单击“用户窗口”,双击“数据提取”窗口,进入“动 画组态”。从“器材箱”当选取八次“圭表按钮”,一次“标签”拖放到桌面如效益图。 标签输入为:守时辰间隔提取数据;八个按钮名称分辨为:数据按分钟提取、数 据按小时提取、数据按天提取、数据按月提取、掀开分钟数据、掀开小时数据、 掀开天数据、掀开月数据。以“数据按分钟提取”按钮为例,属性配置,如下图:
“数据按小时提取”按钮、 “数据按天提取”按钮与“数据按月提取” 按钮的“圭表按钮 构件属性配置”只须要把“数据按分钟提取”属性配置中“基础属性”中的“按钮题目”
改为:数据按小时提取、数据按天提取、数据按月提取;“操作属性”的“实行运转 计谋块”分辨改为:数据按小时提取、数据按天提取、数据按月提取。 以 “掀开分钟数据”按钮为例,属性配置,如下图:
“掀开小时数据”按钮、 “掀开天数据”按钮与“掀开月数据” 按钮的“圭表按钮构件属 性配置”只须要把“掀开分钟数据”属性配置中“基础属性”中的“按钮题目”改为:打 开小时数据、掀开天数据、掀开月数据;“操作属性”的“实行运转计谋块”分辨改 为:按小时提取史册数据、按天提取史册数据、按月提取史册数据。 4、按提取式样提取数据
咱们合键针对按和、最大值、最小值、均匀值、累积值、样本方差、圭表方差、 首记载、末记载 9 种状况分辨实行数据提取,并用“存盘数据浏览”查看相应的历 史数据。 的确操作如下: 数据提取 正在“运转计谋”中新修九个用户计谋,计谋名称分辨为:数据按和提取、数据按最 大值提取、数据按最小值提取、数据按均匀值提取、数据按累积值提取、数据按 样本方差提取、数据按圭表差提取、数据按首记载提取、数据按末记载提取。以 “数据按和提取”计谋为例,实行相应的“存盘数据提取属性配置”。 双击“数据按和提取”进入计谋组态,单击器材条中的“新增计谋行”,从“器材箱” 当选中“存盘数据提取”拖放到计谋行 上, 单击鼠标左键放好。 双击 ,
对待“数据按最大值提取”、“数据按最小值提取”、“数据按均匀值提取”、“数据按 累积值提取”、 “数据按样本方差提取”、 “数据按圭表差提取”、 “数据按首记载提取”、 “数据按末记载提取”八个计谋属性配置只须要把“数据按和提取”属性配置“数据 输出”中的“MCGS 组对象对应的存盘数据外”组对象名分辨改为:“数据按最大值 提取”、“数据按最小值提取”、“数据按均匀值提取”、“数据按累积值提取”、“数据 按样本方差提取”、“数据按圭表差提取”、“数据按首记载提取”、“数据按末记载提 取”;正在“提取式样”中把“提取措施”分辨选为:1-最大值、2-最小值、3-均匀值、 4-累积值、5-样本方差、6-圭表方差、7-首记载、8-末记载。 存盘数据浏览
针对“数据按和提取”、“数据按最大值提取”、“数据按最小值提取”、“数据按均匀 值提取”、 “数据按累积值提取”、 “数据按样本方差提取”、 “数据按圭表差提取”、 “数 据按首记载提取”、“数据按末记载提取”提取的结果,咱们分辨用九个“存盘数据 浏览”构件实行浏览。的确操作如下: 正在“运转计谋”中新修九个用户计谋,计谋名称分辨为:“按和提取史册数据”、“按 最大值提取史册数据”、“按最小值提取史册数据”、“按均匀值提取史册数据”、“按 累积值提取史册数据”、“按样本方差提取史册数据”、“按样本圭表差提取史册数 据”、 “按首记载提取史册数据”、 “按末记载提取史册数据”。 以“按和提取史册数据” 计谋为例,实行相应的“存盘数据浏览属性配置”。 双击“按和提取史册数据”进入计谋组态,单击器材条中的“新增计谋行”,从“器材 箱”当选中“存盘数据浏览”拖放到计谋行 上,单击鼠标左键放好。双击
,弹出“存盘数据浏览构件属性配置”对话框,如下图配置,“数值条目”不 用配置。
“数据按最大值提取”、“数据按最小值提取”、“数据按均匀值提取”、“数据按累积 值提取”、 “数据按样本方差提取”、 “数据按圭表差提取”、 “数据按首记载提取”、 “数 据按末记载提取”八种计谋属性配置,只须要把“按和提取史册数据”属性配置的 “数据来历”中的“数据外名”相应的改为:“数据按最大值提取_MCGS”、“数据按 最小值提取_MCGS”、“数据按均匀值提取_MCGS”、“数据按累积值提取_ MCGS”、“数据按样本方差提取_MCGS”、“数据按圭表差提取_MCGS”、“数据 按首记载提取_MCGS”、“数据按末记载提取_MCGS”,其它属性稳固。
从 MCGS 组态软件拓荒平台上,单击“用户窗口”,双击“数据提取”窗口,进入“动 画组态”。从“器材箱”当选取十八次“圭表按钮”,一次“标签”拖放到桌面如效益图。 标签输入为:按提取式样提取数据;十八个按钮名称分辨为:数据按和提取、数 据按最大值提取、数据按最小值提取、数据按均匀值提取、数据按累积值提取、 数据按样本方差提取、数据按圭表差提取、数据按首记载提取、数据按末记载提 取、掀开和数据、掀开最大值数据、掀开最小值数据、掀开均匀值数据、掀开累 积值数据、掀开样本方差数据、掀开圭表差数据、掀开首记载数据、掀开末记载 数据。以“数据按和提取”按钮为例,属性配置,如下图:
“数据按最大值提取”按钮、“数据按最小值提取”按钮、“数据按均匀值提取” 按钮、 “数据按累积值提取”按钮、 “数据按样本方差提取”按钮、 “数据按圭表差提取” 、 “数 据按首记载提取”按钮与“数据按末记载提取”的“圭表按钮构件属性配置”只须要 把“数据按和提取”属性配置中“基础属性”中的“按钮题目”改为:数据按最大值提 取、数据按最小值提取、数据按均匀值提取、数据按累积值提取、数据按样本方 差提取、数据按圭表差提取、数据按首记载提取、数据按末记载提取;“操作属 性”的“实行运转计谋块”分辨改为:数据按最大值提取、数据按最小值提取、数据 按均匀值提取、数据按累积值提取、数据按样本方差提取、数据按圭表差提取、 数据按首记载提取、数据按末记载提取。 以 “掀开和数据”按钮为例,属性配置,如下图:
“掀开最大值数据”按钮、“掀开最小值数据”按钮、“掀开均匀值数据”按钮、“掀开 累积值数据”按钮、“掀开样本方差数据”按钮、“掀开圭表差数据”按钮、“掀开首记 录数据”按钮与“掀开末记载数据”按钮的“圭表按钮构件属性配置”只须要把“掀开 和数据”属性配置中“基础属性”中的“按钮题目”改为:掀开最大值数据、掀开最小 值数据、掀开均匀值数据、掀开累积值数据、掀开样本方差数据、掀开圭表差数 据、掀开首记载数据、掀开末记载数据;“操作属性”的“实行运转计谋块”分辨改 为:按最大值提取史册数据、按最小值提取史册数据、按均匀值提取史册数据、 按累积值提取史册数据、 按样本方差提取史册数据、按标样本圭表差提取史册数 据、按首记载提取史册数据、按末记载提取史册数据。
5、数据提取结果 开发数据提取演示菜单 正在 MCGS 组态软件拓荒平台上,单击“主控窗口”进入“菜单组态”,正在“器材条”中 单击“新增菜单项”,发作菜单“操作 0”,双击“操作 0”菜单,弹出“菜单属性配置” 对话框,配置如下图:
按“F5”进入运转处境,单击“数据提取演示”菜单,掀开“数据提取演示”窗口,单 击“存数管制”按钮,如图显示:
数据提取结果浏览 单击“数据按分钟提取”按钮,再单击“掀开分钟数据”,显示如图:
转载请注明出处。