新华控制1.0版XCU组态使用说明_第1页
新华控制1.0版XCU组态使用说明_第2页
新华控制1.0版XCU组态使用说明_第3页
新华控制1.0版XCU组态使用说明_第4页
新华控制1.0版XCU组态使用说明_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TISNET用户手册 XCU图形组态软件PAGEPAGE11XDC800过程控制系统XCU图形组态软件使用说明书X0116002版本:OnXDC1.0上海新华控制技术(集团)有限公司2005年11月目录1概述…32启动组态软件…33打开组态工程44连接XCU,再线组态和XCU操作55页的增加、删除和页属性编辑…………76页编辑的视口变换工具97功能块的增加、删除和参数修改98取消和重复…...119功能块的形状和特殊功能块…..…1210功能块输入输出间的连接……..…1311功能块和连线的选中与编辑.1412在线修改和调试……..1413查找功能………………1514其它实用工具………1715键盘操作.1716打印….1717退出17附录XCU预定义功能模块使用说明18

1.概述XCU在线组态软件主要完成对XCU或VXCU的在线组态、调试、组态工程保存的任务。软件可对一个组态文件进行离线组态,并保存到磁盘上。可读入磁盘上的组态文件下装到XCU。可上装XCU中的组态,再保存到磁盘上。可在图形组态界面上直接对XCU进行修改、操作、调试、观察趋势曲线等。组态界面附合IEC-1131-3中功能块图形组态的标准。XCU组态软件必须在已有点目录基础上进行工作。因为点目录定义了所有XCU上网点的集合,而XCU组态软件仅用于定义某一个XCU的I/O和算法,即控制策略。在定义XCU与其它XCU的关系时,必须依靠点目录来统一上下网点的标识。因此,在开始在线XCU组态前,必须生成好所需的全局点目录。2.启动组态软件在启动组态软件之前,必需先启动ONXDC系统主程序XDCNet.exe。然后,在XDCNet中以ENG以上身分登录,就可按“XCU组态”按钮启动XCUCfg.exe。或用其它Windows方法执行XCUCfg.exe。启动之后,屏幕上出现如下窗口:启动后,可以看到软件外观从上到下依次分标题条、菜单条、窗口客户区、状态条。窗口客户区分三个区域,右边为工程、页,设置的列表区;右边为功能块的面板.中间为页的编辑区。许多菜单命令同时也放在工具条中,另外,对XCU、页、功能块按鼠标右键,也可弹出相关的菜单命令,但以下叙述只以菜单命令为主。状态条主要显示菜单命令的详细提示。启动组态软件时,全局点目录或数据库已由XDCNet装入。组态过程对任何全局点的引用,必须已存在于点目录中。本组态软件,不包含对全局点目录的组态和修改功能。3.打开组态工程启动后任何时候,可选文件菜单中的“新组态工程”或“打开已存组态工程”打开XCU组态工程。打开“新组态工程”菜单生成新的XCU组态工程,弹出工程设置窗口如下:保存路径缺省为OnXDC的项目路径下的project目录下。设置好保存路径和组态工程名称,点“确定”按钮就生成了新组态工程。“打开已存的组态工程“菜单打开一个现有的XCU组态工程进行编辑。如下图:打开成功后,文件组态工程的扩展名为emu,可以鼠标选中要打开文件,或者在文件名框内输入文件名字打开,之后点打开按钮。完成以上步骤后,用户已进入了组态工程,进入画面如下,右边工作区内,会加入一个根节点显示的工程名称和状态(ofline代表离线状态)。在这个根节点下面有两个子接点。分别为“组态页”节点和“设置”接点。如果组态页面不为空的话将可以点开它,可以展开组态页列表。点开“设置”节点会有一个“连接设置”的子节点。4连接XCU,再线组态和XCU操作双击“设置”节点下的“连接设置”,会弹出连接设置的对话框,如下图所示。在连接设置里,添入XCU的IP地址,节点号,和登陆用户名。点确定就设置好了。只要选在线菜单,如果连接成功就会显示输入登陆密码对话框。如下图:输入密码后,就可以连接XCU对象,进入在线组态及XCU操作。如果输入有误或者无法连接会弹出提示对话框在线连接成功后节点上状态会显示OnLine,后面还指明了此连接具有的级别和权限。级别由高到低依次有SENG,ENG,SOPU,OPU四种,权限有读r和写w二种。OPU级别只有读权,对组态只能上装,只能看不能改。SOPU以上才能有写权,其中SOPU只具有组态中修改功能块参数的权限,ENG则具有对XCU的操作和所有组态的权限,包括下装、增加删除页和功能块,修改XCU、页和功能块的属性等。SENG在ENG权限的基础上,还有上下装文件的权限,可进行XCU软件升级。但是,每个XCU同一时刻只允许一个有写权的连接。因此,您就是以具有SENG级别的用户登录,也可能只获得读权,那么,您在此连接后,不能进行XCU操作和组态修改,权限等同与OPU。要获得写权,只能在其它具有写权的连接关闭之后,重新连接。在具有ENG和SENG级别且分配到写权的连接上,可进行XCU在线操作和下装组态(下图)。从菜单或点工程节点右键菜单中激发XCU操作。点取一个操作项,按“执行”,即可发送操作指令。结果在“结果”处显示。其中:升主控(tomain)命令:请求所连接的XCU切到主控。在将初始态的XCU(黄色)升为主控时,用户一定要确认跟踪良好,以防突跳。切副控(totrace)命令:请求所连接的XCU切到跟踪态。拷贝到副控写盘(CopyToTrack)命令:如所连接的XCU目前处于主控,则可将其组态考贝到另一冗余XCU(往往处于初时态,黄色)。拷贝完成后,冗余XCU应变为跟踪态,同时会自动将接受到的组态写到电子磁盘。由于拷贝和写盘都需一定时间,请您等待1到2分钟,在此期间绝对不要去关闭或复位这对XCU。组态写盘(WriteDsk)命令:请求所连接的XCU将目前的组态存入电子盘,为重启动时使用。由于写盘需一定时间,请您等待1到2分钟,在此期间绝对不要去关闭或复位该XCU。清空组态(DelDsk)命令:请求所连接的XCU将电子盘的组态删除,XCU重启动时为空组态。DownloadFile、UploadFile、ResetXCU三个命令:下装文件、上装文件、复位XCU这三个命令,主要用于修改XCU的配置文件VXCU.cfg和对XCU软件的在线升级,只有SENG的级别才可使用。一般情况,用户不要使用这些命令。需注意的是,在下装或上装文件时,组态软件都是指向XXCU目录的,用户应避免文件的覆盖。上装时,用户可直接输入需上装的文件名,按“打开”按钮即可上装到指定的目录。下装后,须指令或硬复位重启动XCU,才可使下装的内容起作用。请参阅“XCU及VXCU软件”一节获取更多信息。连接后,任何用户都可上装XCU组态。只有ENG或SENG的用户才具有下装的权限。上装或下装后,组态软件中的数据与XCU一致,软件进入在线显示状态。与离线显示不同,在线显示的页和功能块具有绿、红、粉红三种颜色,分别表示正常、品质坏、计算禁止等状态。开关量的连线则以红、绿表示开关量的1、0逻辑值。另外,列表区树中出现的工程名前有一个XCU图标,它有四种颜色,绿、蓝、灰、红,分别表示连接的XCU处于主控、跟踪、初始、离线四个状态。5.页的增加、删除和页属性编辑选中工程对象下组态页对象下的页名,可进入页编辑。进入编辑状态的组态软件一般如下:在页编辑区中未被功能块和连线鼠标双击页对象,弹出页属性对话框,(如下图):对话框中:页描述、刷新周期、执行序号由用户任意设置。其中:执行周期、执行序号在在线组态时,本对话框一确定就在XCU中起作用,故用户须小心处理。页号在离线组态时,可由用户任意设置,一般取1-9999号;在线组态时用户是不可修改的。页尺寸定义了页面的大小,取值0-3,0最大,可画功能块最多,页全镜时显示的功能块最小;3时页尺寸最小,可画功能块最少,页全镜时显示的功能块最大;用户视需要设置页尺寸。使用工具条和“工具”中“新建页”菜单,可在对象中增加了新的空白页。新页的页号由软件自动加入,一般取当前组态中最大页号加1。在离线组态时,用户可马上点出页属性对话框,修改此页号。在列表区中选中页,使用“工具”或者页节点对象右键菜单中“删除页”菜单可删除选中的页,6.页编辑的视口变换工具在列表区选中页,再在编辑区点一下鼠标,使Windows输入焦点移到编辑区,各种功能块编辑工具变为有效,就可在编辑区进行功能块的编辑。进入页编辑后,用户从“选择”、“取景框”、“平移”、“全景”中选择一种编辑工具。其中“选择”是最常用的,其它的都用于页可视范围的调整。“取景框”和“平移”用鼠标左键在页范围内拖动即可实现。““全景”按动工具条按钮就起作用。另外,软件还提供“平移”视口的特殊方法,按住Shift键,同时在页视口中用鼠标右键拖动,可直接移动页视口。7.功能块的增加、删除和参数修改所有的ONXDC功能块都已预定义在功能库中。功能库以对话框树列表的方式提供,方便查找和拖放。用户可按“查看”菜单中“功能库”菜单或工具条上的相应按钮弹出或关闭功能库对话框。如要在页中加入新的功能块,选中功能库中的功能块,将其拖放到页中相应位置,一个所需的功能块图形就出现在那儿。另外在窗口左边的面板上点击面板上图标,可以连续点击页面区加入功能块。目前I/O模块已经都放到面板上了。另外可以通过功能菜单,选批量产生功能块。弹出如下对话框。可以产生的模块有四种,AI,AO,DI,DO四种,可以通过下拉来选择。点确定后会弹出批量设置的对话框,如下图:只能批量产生一块板卡的模块,可以设置批量模块的参数和属性等。对于批量生产需要设置板卡的地址和产生通道的起止位置。设置好后点确定就会在页面左上角产生新增模块组。通常,一页中的功能块不要太多,一般不要超过100个左右。太多时,分页,以免一页中太拥挤。拖入的新功能块都带有缺省的参数和输入输出定义。用户可在功能块图形内双按鼠标,弹出如右图的功能块属性修改对话框。点上面的“输入”,“参数”,“输出”,“属性”就可以点开各自项设置。每项设置里都有两列,左边显示变量定义和描述,右边单击就可以输入新值。输入的数据类型主要有整数、浮点数、布尔值等。有小数点的为浮点数,输入时可输入任何数值。布尔值用T和F显示和输入,不分大小写或者用0,1输入。对输入脚,如为立即数,则按以上的数据类型输入即可。如为指针,则以<2.3>的形式显示和输入,<>中表示被引用的块号.输出脚号,输出脚号是从0开始编号的。对输出脚,总为上述三种数据类型中的一种。输出脚只能定义XCU启动时,它的初始值,初始值决定了XCU启动后控制策略的状态,也是相当重要的。只要输出被本页功能块引用过,显示的输出脚上就有半个小点。参数中有些整数较为特殊。如方式字、周期等,一般为多选一的,输入时会提供一个下拉菜单,您只要选一个即可;如硬件I/O模块,其参数中的I/O地址用站号-板号-通道号的形式表示,您只需按显示的样子输入即可,如1-2-0或3-12-30等,对非标的地址,可查阅相关的硬件驱动程序说明,了解应怎样去虚拟化I/O通道。再如PgAi和PgDi二个模块,在其任一参数中可直接输入全局点名,软件自动会找到要被引用的I/O功能块。对话框中属性页的内容如下:它显示了功能块的描述、块号、序号、品质传递方式和状态(如下图)。其中:块号只能在离线方式下可被修改。序号表示了本块在本页中被计算的次序,越小越先被计算。品质传递方式定义了本块是否传递品质,如何传递。序号、品质传递方式可由用户任意修改。状态描述了在在线显示时,本块当前的状态,b0到b7共8位,含义见如上对话框中的提示,分别为溢出、I/O坏、超时、品质坏、禁止计算、初次计算。8.取消和重复在编辑菜单项下的取消和重复功能可以取消和重复用户的操作。这些操作包括:添加删除模块,添加和删除连线,移动功能块。

9.功能块的形状和特殊功能块一般功能块都是矩形。矩形的右上部为模块号和执行序号。所有功能块左边为输入,右边为输出。输入输出脚上可连线,表示测点值和状态的传递。如输入为立即数时,立即数值就标注在输入脚边上。I/O模块的形状较为特殊,没有模块名,其形状即代表了模块名。而且I/O模块一般只有一个输入或输出。I/O模块分硬件I/O模块、上下网模块、页间I/O模块。各I/O模块形状如下:其中:AI、AO、DI、DO为硬件I/O模块:实际为XCU的输入输出表,它们定义了XCU内部一个变量与硬件端子的对应关系。图形中下方显示的是I/O端子号和转化类型。因硬件I/O模块附有上网功能,图中还显示了上网点点名,Null为空点。NAI、NAO、NDI、NDO为网络I/O模块:实际为XCU内部变量的上下网表,它们定义了XCU内部一个变量与全局测点的对应关系。图形中显示的是上网点点名。PAI、PAO、PDI、PDO为页间连接用I/O模块:它们定义了XCU内部页与页间的变量对应关系。图形中输入模块显示的是被连接的页号和模块号,输出模块显示的是本模块号,以便其它页的页输入模块引用。页输入模块除可引用页输出模块外,还引用所有的网络I/O模块和硬件I/O模块,但模拟量只能引用模拟量,开关量只能引用开关量。Trend模块也是个特殊模块:其形状虽与一般模块相同,有输入和参数,但它不参与XCU运算,只用于在线调试。用户想看那个功能块输出的趋势,只要将输出脚连到Trend模块输入脚上,就定义好了趋势组。通过修改Trend的参数,可改变输入脚趋势的量程范围。趋势的时间范围是固定的,为5分钟,每秒更新一次。定义好的Trend模块随其它模块可下装XCU或存盘永久保存。要看定义好的趋势,必须在在线状态。选中要看得趋势模块,点“视图|趋势1”或者“视图|趋势2Text模块也是一个特殊功能块:用于文本注译的Text模块也是一个特殊功能块,它也不参与XCU运算,但编辑方式同一般的功能块。在拖入Text模块后,其显示Text文本,双按此文本,可弹出下右图。在编辑框中修改文本。按“字体”可推出修改字体、字大小的对话框。对于Text功能块,它只用于组态的注释,只能输入文本。但用户可定义文本的大小、字体等。10.功能块输入输出间的连接有二种方法连接功能块。一种是在功能块上直接用鼠标右键进行拖动连接。点中一个模块的输入或输出脚附近范围,拖到另一个输出或输入脚附近范围,放开右键;若被连接的一个是输入,另一个是输出,且同为模拟量或同为开关量,连接成功,连线被画出。另一种方法是用“功能块属性”对话框中的输入对话页定义。双击需定义的功能块,“功能块属性”对话框弹出,点中输入对话页,如下图:同定义参数一样,选中输入项,输入<块号.输出脚号>,表示本输入来源于本页某功能块第几个输出脚,0为第一个输出脚。同直接连接一样,连接脚类型必须相同。每一个模块的输入脚还可以是立即数。立即数的输入方法同参数的。11.功能块和连线的选中与编辑要编辑修改目标,须先选中目标。点中功能块范围,可选中功能块。点中连线附近,可选中连线。选中新目标时,以前选中的自动取消选中状态。不点中任何目标,可取消原来的所有选中的目标。在选择工具下,点在页的空白处,拖动鼠标,可选中所有在拖动矩形范围内或与之相交的功能块。对选中的目标,可用编辑菜单中的复制、剪切、删除命令操作。用粘贴命令可将复制、剪切的功能块贴入正在编辑的页中。贴入的块的参数和输出与原来的一样,但会赋于新的块号以免与本页中存在的块号重复,模块的连接或被保留或被置为无效。点在已选中的目标上可对选中目标进行拖动。拖动被限制在图纸页范围内。需理解的是,连线是附属于功能块的输入的。因此复制、剪切、粘贴、拖动实际上都是针对功能块的,功能块变化了,连线跟随变化。如功能块被删除,此功能块输入上的连线同时删除,且引用本功能块输出的功能块输入脚会删除原来的连线。如功能块被移动,与之连接的连线随之变化,不管连线被选中与否。唯一能对连线单独起作用的是删除命令,可单独删除选中的连线。12在线修改和调试在线状态所有的页修改和功能块修改都会直接修改入XCU中。在线状态的修改,操作一定要谨慎,特别是对放入新块、删除、粘贴的操作,还应尽量避免对多个选中的模块进行移动、删除等操作。因为,具有写权的ENG级别用户的任何修改,XCU马上接受并起作用,而且修改是一个一个进行的,对选中的多个模块操作是较费时的。如只改参数调试,最好以SOPU级别登录,以避免误操作。选中在线状态XCU中的页,可在页编辑区看到如前所述功能块和开关连线以颜色显示。而且可看到每个功能块的输出值。双击功能块弹出功能块属性对话框(如下图)后,可进一步看到各种属性值等。对于操作器模块鼠标右键会有操作器命令,执行操作器命令会弹出操作器对话框,如右图,可进行在线操作。用右键选中任一功能块,可用“关闭功能块”禁止选中功能块的计算(其颜色变为粉红)。功能块被禁止后,可用“设置输出值”任意设定选中功能块的输出值,这样,用户可很方便的将组态前后“断开”,分别调试。完成后,用“开放功能块”恢复选中功能块的计算。13.查找功能本组态软件为用户提供了功能强大的查找对话框,用户可分别查找5种不同功能块属性,查找到的功能块放在下面列标框内,双击查找到的功能块,可马上转到相应页的显示,并选中该功能块。查找对话框同功能库对话框一样,按对应工具条的按钮可弹出。如下图对话框的下拉框中,有查找5种类型。每种命令一般是一个关键字,有的还需后跟一个参数,输入命令后,按“查找”按钮,在下面的列表中可以看到查找结果,列出的是页号、块号,双击列表区中的一条,会显示该页并选中该功能块。查找的范围一般为当前选中的页工程内,查找命令如下:通道地址:在指定工程内查找匹配的硬件I/O地址的功能块。I/O地址的表示方式如1-3-11,2-12-0等站-板-通道号形式。模块号在指定范围内查找匹配的功能块号。模块名:在指定范围内查找匹配的功能块名。坏的功能块:在指定范围内查找具有坏品质的功能块(只限于在线方式)。切除功能块在指定范围内(最小为XCU)查找计算已被禁止的功能块(只限于在线方式)。14.其它实用工具除了查找之外,组态软件还提供了一些实用工具。压缩页中块号:如页中块号很零散,在离线状态下,选中该页,再按“工具|压缩页中块号”菜单,让用户确认后,软件将页中的块号压缩修改。15.键盘操作 另外还提供了一些键盘操作,如Ctrl+C复制,Ctrl+X剪切,Delete删除,Shift移动视口16.打印在打印之前,最好看一下打印设置,并设打印纸为横向。用打印预览观察打印的效果。有如下对话框:17.退出用关闭Windows程序的通用方法退出或按XCU菜单项中退出命令退出组态软件。若有文件或XCU对象被修改过,软件会提示用户是否要保存。附录XCU预定义功能模块使用说明XCU软件概述XCU即为新华控制单元。TISNET中所有数据的收集、过程控制、各种数据的运算、对被控对象的所有输入输出都由XCU来完成。在XCU系统中,把测量点分为全局点和内部点两类。全局点是在控制系统中所有XCU上网点的集合,因此,它是在系统中共享的资源,把全局点组成全局点目录,它也被称为实时数据库。内部点是某节点所使用的数据点,其数据不能被其他节点所共享。XCU的组态包括XCU内部控制策略的确定、内部点与输入输出卡件上通道之间对应关系的确定、内部点和全局点之间关系的确定等内容。组态的工作是在上位机的工程师站上完成的,所以整个XCU控制器的软件包括两部分:下位机的控制软件(VXCU)和工程师站上的组态软件(XCU)。XCU的软件也可以在上位机上运行,称为虚拟的XCU,功能和实在的XCU类似,只是没有I/O。还有一个差别是运行的操作系统,一般在下位机上运行的是嵌入式系统(如WindowsCE)等,而虚拟的XCU可以运行在WindowsNT/2000/XP上。XCU主要的功能是对工程对象进行数据采集输入,按用户组态的算法进行计算,将计算结果输出。周期高速地进行这种循环,这样就完成了TISNET的现场监视,计算功能,现场控制功能。此外,XCU还向实时网上广播全局点,供HMI或者其他XCU使用。也从其他的XCU站上接受数据,供本站的计算和闭环控制。实际的XCU的一般都是冗余配置,当一个XCU主机处于主控状态时,另一个可以处于跟踪状态,跟踪主控制机上一周期所有的运行数据和状态。一旦测到主控机故障,跟踪机可立即升为主控机,做到外部I/O控制及实时共享数据的无忧切换。XCU软件层次结构控制器部分软件可以分为三部分,即状态显示部分(VXCU),控制核心部分(VCTRL)和I/O驱动。其中VXCU主要用来启动VCTRL,同时从VCTRL读取本节点的各种状态,然后显示(如果接显示器的话)。VCTRL是整个控制器的核心,它完成所有的控制逻辑运算,根据用户的组态完成相对应的控制。I/O驱动是I/O通讯的桥梁,通过它可以和实际的I/O进行读入和输出。XCU中各软件主要通过数据区和数据队列相互作用。XCU主机启动后,软件完成必要的一些初始化工作,进入等待下装或读取SRAM中先前的组态信息,然后进入XCU管理循环,周期地执行自检、设备点广播、输入、控制算法计算、输出、点到点指令应答处理、双机通讯等软件模块。自检程序每次将测到的节点本身状态,如网络状态、I/O接口状态、CPU负荷率等写入XCU运行状态数据区,由设备点广播程序周期地按约定广播到TISNET网上。随后进行控制算法运算,算法程序按用户组态的算法定义从I/O数据区得到某通道的A/D值经转换处理后写入实时点,程序再按组态中的其他算法如PID、加法、逻辑运算等算法定义进行综合计算,将结果写回实时点,程序再按组态中的输出算法,把输出的模拟量/开关量送至I/O数据区。I/O数据区则由驱动程序负责周期与I/O卡交换数据。XCU管理程序做完算法后,就检查接收点指令的指令队列,并做相应的处理,包括对算法的操作、对算法的组态及对组态的在线修改,直至指令队列为空。处理程序将处理结果送到回答队列,由驱动程序返回应答信息。这样,指令对控制的干扰不是无序的,不会造成XCU数据的竞争冲突。由于管理以100ms周期高速循环,指令的应答时间是足够满足实际需要的。随后,XCU管理程序执行双机通讯功能。只有处于主控态的XCU主机才会向跟踪机发送信息,而跟踪机只接收信息。双机通讯必须周期执行,而且必须在算法及指令应答后再执行,以保证一个XCU管理周期之后,把最后的处理结果全部拷贝到跟踪机中相应的数据区。需要跟踪的是组态信息和实时点及状态数据。为减少大量数据通讯,在组态没有变动的情况下,即指令应答队列在本周期处理时为空,则组态数据不必拷贝到跟踪机,只需拷贝实时点、算法状态、SOE记录等每个计算周期内都有可能变化的数据。XCU组态过程XCU的各种过程控制的算法的生成,我们成为组态。组态工具有两个组态方式,离线和在线。离线方式时,用户实质上仅打开一个数据文件,进行页、块功能的编辑、连接块的输入输出,然后存入这个数据文件。在线组态方式时,用户必须先向被组态XCU登录,获得相关权限之后,才能对XCU读写。用户可将离线生成的组态文件下装到XCU,也可将XCU运行的组态内容上装上来,进行写文件、修改和调试。用户完全可以以在线方式对XCU页和功能块执行修改、删除、插入等等操作,同时可以看到XCU中的运行数据,进行直观的在线调试。结束之后,用户须退出登录。页页是一系列具有相同执行周期的功能模块的集合,用Pg或P表示。功能模块必须存在于页中,因此,页的特征包括页名称(页号)、执行序号、页状态、执行周期、页的描述和最近的修改日期和时间等。页状态记录了页的工作状态,如是否被Disable等。页状态只能被在线组态工具读取和修改。执行周期表示了页被计算的周期。周期通常取50ms、100ms、200ms、250ms、500ms、1s、2s、5s和0。0表示本页不被周期计算,可能由特殊功能块按用户定义的方式调用计算。页在计算时按页执行序号排序执行。页描述记录了本页的功能、注释等与控制无关的信息。功能模块功能模块(FB:FunctionBlock)是XCU组态的基本元素,常用FB或B来表示。几乎所有功能都需用功能块来实现,XCU的功能模块是一组子程序,符合IEC-1131-3的标准。当调用功能模块时,就执行该子程序,并把执行的结果送到有关输出端所对应的存储单元。因此,功能模块的基本组成是:输出、输入、参数。功能块实例化后,还应包含功能块位号(即名称)、执行序号、状态、计算中间量。为了便于在系统中识别功能模块,功能模块在系统中有一个唯一的识别号ID,用于快速识别和调用。功能模块还有一个执行先后的执行号,它表示在XCU中该功能模块的执行次序。功能块之间传递的数据有三种类型:布尔量(1字节)、浮点数(IEEE标准4字节)和长整型(4字节)。但参数、中间量、状态等不受此限。浮点与长整型统称模拟量,它们可以相互转递,功能块会自动转换,但用户需注意转换引起的精度损失。布尔量只能传递给布尔变量。功能块在计算时,输出量、状态、中间量都会更新,其它功能块可以取得其输出量的值,通过特殊功能块TQ也可间接取得其状态(转为n个布尔量),但不能取得其中间量的值。输出量、状态、中间量的值不能被其它功能块改变,只能在其本身计算时有可能改变。输出量可以为浮点、长整型、布尔量中的任何一种;状态为一个WORD,其中记录了本功能块处于Enable还是Disable状态(Disable时功能块不再被计算)、本功能块的输入是否有坏点而使本块输出变成不可信、本功能块接收的点是否超时(用于网络和I/O模块);中间量可以是任何软件允许的类型,与用户是无关的,它记录了功能块的计算状态。每个功能块都有一个状态字,描述了本功能块在运行中的状态。功能块的状态可安用户定义的方式传递。除一些特殊的功能块之外,所有的功能块都可定义为不传递、OR传递、AND传递。如一个功能块有3个输入,则这3个输入所属功能块的品质会以用户定义的方式传递到这个功能块的品质上,而且空脚不参与品质传递。传递方式定义在方式字中,0—不传递,1—OR传递,2—AND传递,缺省为不传递。在功能块被初始化时,输出量、状态、中间量都会被设置初始。其中输出量的初值是用户可定义的。参数定义了功能块行为的方式或范围。参数可以是多种数据类型,用户不必关心。在用户组态和在线修改时,用户可定义修改参数值。参数一经设置,不会改变。也就是说参数是用户设置的,不会被功能块本身改变。功能块的输入定义可以是一个指针,也可以是一个立即常数。说它是一种定义,表明是用户设置的,计算时不会被改变。如定义为一个指针时,指向其它或本功能块的输出,以功能块号B、哪个输出I的形式表示。指向的数据只能为浮点、长整型、布尔型三种类型。布尔型的输出只能连到布尔型的输入上,浮点或长整型输出只能连到浮点或长整型的输入上。同页内用B.I指针表示,P隐含为本页。B.I为全1时为NULL指针,表示本输入点无可取数据。页间引用必须通过特定的功能块实现,它们是PgAI和PgDI,被引用的必须为PgAO,PgDO或其它I/O模块。输入也可被定义为一个立即常数,立即常数也必须为浮点、长整型、布尔型数据中的一种。这样XCUS任何一个功能块的输入可被连接到常数上,使变量变为参数。这个功能有很大灵活性,可变限的功能块都可用此特性实现。简单地说,输入可以是指针、NULL(空指针)、立即常数。在控制组态时,功能模块用图形符号表示,图形符号用于显示该功能模块的输入、输出、功能模块名称(符号)、模块号和执行序号等。图形序号的左面表示输入,右面表示输出,上中部是功能模块名称,在模块左上是页码和执行序号。功能块可以分为上下网I/O模块、硬件I/O模块、页间I/O模块、模拟函数、选择比较器、控制算法、逻辑运算、逻辑控制算法、操作器等等。详见具体说明。1、模拟函数1.1加法模块(ADD)ID=1模块图形:─→加X1Y─→─→X2模块标记说明:输出:1(输出为Y)输入:2(输入1为X1,输入2为X2)参数:3(参数1-2为K1、K2,参数3为C)标记名数据类型缺省值描述输出Yfloat0.0加法输出输入X1,X2float0.0以B.I方式表示的指针,或是立即浮点数参数k1,k2float1.0输入X1,X2的增益参数Cfloat0.0ADD的偏置模块描述:加法模块对二个浮点变量加或减,输出一个浮点变量。输出Y(n)=k1*X1(n)+k2*X2(n)+C1.2乘法模块(MUL)ID=2模块图形:─→乘X1Y─→─→X2模块标记说明:输出:1(输出为Y)输入:2(输入1为X1,输入2为X2)参数:4(参数1-2为K1、K2,参数3-4为C1、C2)标记名数据类型缺省值描述输出Yfloat0.0乘法输出输入X1,X2float1.0以B.I方式表示的指针,或是立即浮点数参数k1,k2float1.0输入X1,X2的增益参数C1,C2float0.0输入X1,X2的偏置模块描述:乘法模块对2个浮点变量乘,输出一个浮点变量。输出Y(n)=(k1*X1(n)+C1)*(k2*X2(n)+C2)1.3除法模块(DIV)ID=3模块图形:─→除X1Y─→Y=(k1X1+C1)/(k2X2+C2)─→X2模块标记说明:输出:1(输出为Y)输入:2(输入1为X1,输入2为X2)参数:4(参数1-2为K1、K2,参数3-4为C1、C2)标记名数据类型缺省值描述输出Y浮点0.0除法输出输入X1,X2浮点1.0,1.0以B.I方式表示的指针,或是立即浮点数参数k1,k2浮点1.0输入X1,X2的增益参数C1,C2浮点0.0X1和X2的偏置模块描述:除法模块对2个浮点变量除,输出一个浮点变量。当除数为零时,保持上一次采样值。if((k2*X2(n)+C2)==0){Y(n)=Y(n-1),并且置位OFW和Q;}elseY(n)=(k1*X1(n)+C1)/(k2*X2(n)+C2);Y(n)被限幅在有效数值之间,如果越限,就置位本功能模块的数值溢出状态位。1.4开方模块(SQRT)ID=4模块图形:─→开方XY─→Y=(k*X+C)1/2模块标记说明:输出:1(输出为Y)输入:1(输入为X)参数:3(参数1为K,参数2为C,参数3为DB)标记名数据类型缺省值描述输出Yfloat0.0开方计算输出输入Xfloat1.0以B.I方式表示的指针,或是立即浮点数参数kfloat1.0输入X的增益参数Cfloat0.0X的偏置参数DBfloat0.0零点切除值,>=0.0模块描述:开方模块对输入浮点变量开方,输出一个浮点变量。设置了小信号切除参数DB。具体计算规则如下:if(k*X(n)+C>=DB)Y(n)=;else{ Y(n)=0,并且置位OFW和Q;}1.5取绝对值模块(ABS)ID=5模块图形:─→绝对值XY─→Y=|k*X+C|模块标记说明:输出:1(输出为Y)输入:1(输入为X)参数:2(参数1为K,参数2为C)标记名数据类型缺省值描述输出Yfloat0.0绝对值计算输出输入Xfloat0.0以B.I方式表示的指针,或是立即浮点数参数k,Cfloat1.0,0.0输入X的增益和偏置模块描述:取绝对值模块对输入浮点变量取绝对值,输出一个浮点变量。Y(n)=|k*X(n)+C|1.6五次多项式模块(POLYNOM)ID=6模块图形:─→多项式XY─→Y=C0+C1*X+C2*X*2+C3*X*3+C4*X*4+C5*X*5模块标记说明:输出:1(输出为Y)输入:1(输入为X)参数:6(参数1-6为C0...C5)标记名数据类型缺省值描述输出Yfloat0.0多项式计算输出输入Xfloat0.0以B.I方式表示的指针,或是立即浮点数,单位弧度参数C0~C5float0.0多项式的系数模块描述:五次多项式模块对浮点变量进行五次多项式运算,输出一个浮点变量。计算规则如下:Y(n)=C0+C1*X(n)+C2*X(n)*2+C3*X(n)*3+C4*X(n)*4+C5*X(n)*51.7八数运算模块(SUM8)ID=7模块图形:─→八数运算X1Y─→……Cnt─→─→─→X8BitDis模块标记说明:输出:2(输出1为Y,输出2为Cnt)输入:9(输入1-8为X1...X8,输入9为BitDis)参数:18(参数1为Mode,参数2-9为K1...K8,参数10-17为C1...C8,参数18为DB)标记名数据类型缺省值描述输出Yfloat0.0数学统计输出输出Cntfloat0.0模拟输入量中绝对值<DB的个数输入X1,X2,…,X8floatNULL以B.I方式表示的指针,或是立即浮点数输入BitDislong0按位禁止输入参数Modeword0方式,0=累加和,1=取平均,2=取最大,3=取最小参数k1,k2,…,k8float1.0输入X1~X8的增益参数C1,C2,…C8float0.0输入X1~X8的偏置参数DBfloat0.0判非零的死区模块描述:八数运算模块对8个浮点变量加或减,输出一个浮点变量。通过设定参数BitDis,禁止输入。输出Y(n)按方式取输入的累加和、平均、最大、最小。所有输入为k*X(n)+C。空脚不参与运算。当Mode=0时Y(n)=当Mode=1时Y(n)=当Mode=2时Y(n)=当Mode=3时Y(n)=输出Cnt(n)等于处理后各输入中fabs(k*X(n)+C)>DB的个数。1.8查表模块(F(X))ID=8模块图形:─→查表XY─→Y=F(X)模块标记说明:输出:1(输出为Y)输入:1(输入为X)参数:24(参数1-2为(X1,Y1)…参数23-24为(X12,Y12))标记名数据类型缺省值描述输出Y浮点0.0函数变换输出输入X浮点0.0以B.I方式表示的指针,或是立即浮点数参数(x1,y1)float0.0,0.0第1个坐标点参数float0.0,0.0第n个坐标点,要求x1<=x2<=<=x12参数(x12,y12)float0.0,0.0第12个坐标点模块描述:查表模块由12个坐标点(X1,Y1)…(X12,Y12)确定如图所示:F(X)为一个十二段折线,如X<=X1,Y=Y1;X>=X12,Y=Y12。如折线段少于十二段,则不用的段的数需填上最后一段的值,或者确信X绝对不会超出所定义的值,则不用的段可以不填数字。 当Xi≤X(n)≤Xi+1时,Y(n)=X的值应递增填写,不递增曲线取到递增的转折点为止。1.9贝塞尔函数模块(BESSEL)ID=9模块图形:─→贝塞尔XY─→模块标记说明:输出:1 (输出为Y)输入:1(输入为X)参数:4(参数1为Mode,参数2为Rank,参数3为K,参数4为C)标记名数据类型缺省值描述输出YFloat0.0函数计算输出输入XFloat0.0以B.I方式表示的指针,或是立即浮点数参数ModeWord0函数类型:0—第一类Bessel函数jn;1—第二类Bessel函数yn参数RankWord0函数阶次,0~n参数k,CFloat1.0,0.0输入X的增益和偏置模块描述:贝塞尔函数模块计算Bessel函数。通过设置参数Mode改变函数类型(Mode:0第一类Bessel函数;Mode:1第二类Bessel函数)。通过参数Rank设置函数阶次。Y(n)=BJ(Rank,k*X(n)+C),Y(n)=BY(Rank,k*X(n)+C)1.10幂指数模块(POW/LOG/MOD)ID=10模块图形:─→幂指数XY─→─→B模块标记说明:输出:1(输出为Y)输入:2(输入1为X,输入2为B)参数:5(参数1为Mode,参数2-3为K1、K2,参数4-5为C1、C2)标记名数据类型缺省值描述输出Yfloat0.0函数计算输出输入Xfloat1.0指数或对数,以B.I方式表示的指针,或是立即浮点数输入Bfloat10.0底数,以B.I方式表示的指针,或是立即浮点数参数Modeword1.0方式,0=为指数运算,1=对数运算,2=求模运算参数k1,k2float1.0输入和底变量的增益参数C1,C2float0.0输入和底变量的偏置模块描述:幂指数模块对浮点变量进行指数或数值或求模,输出一个浮点变量。通过参数Mode设置运算方式。当Mode=0时(指数运算):Y(n)=(k2*B(n)+C2)**(k1*X(n)+C1),底数位0.0时置OFW和Q标志位。当Mode=1时(对数运算):Y(n)=LOG(k2*B(n)+C2)(k1*X(n)+C1)当(k2*B(n)+C2为立即浮点数且为0.0时,该函数为自然对数ln。当Mode=2时(求模运算):Y(n)=(k1*X(n)+C1)MOD(k2*B(n)+C2)当(k2*B(n)+C2为0.0时,置OFW和Q标志位。求模运算应保证运算双方为整数。1.11三角函数模块(TRIANGLE)ID=11模块图形:─→三角函数XY─→Y=sin(k*X+C)模块标记说明:输出:1(输出为Y)输入:1(输入为X)参数:3(参数1为Mode,参数2为K,参数3为C,)标记名数据类型缺省值描述输出Yfloat0.0三角函数计算输出输入Xfloat0.0以B.I方式表示的指针,或是立即浮点数,单位弧度参数Modeword0函数类型,0=sin,1=cos,2=tan,3=asin,4=acos,5=atan参数Kfloat1.0变量的增益参数Cfloat0.0变量的偏置模块描述:三角函数模块按Mode对浮点变量进行三角或反三角运算,输出一个浮点变量。角度以弧度为单位。计算规则如下:Y(n)=sin(k*X(n)+C),Y(n)=asin(k*X(n)+C)1.12热力计算模块(PTCal)ID=12模块图形:─→热力计算P/S/HY─→─→T/S/H模块标记说明:输出:1 (输出为Y)输入:2 (输入1为P,输入2为T/S)参数:1(参数为Mode)标记名数据类型缺省值描述输出Yfloat0.0热力性能计算输出输入P/S/Hfloat0.0压力Mpa输入T/S/Hfloat10.0温度℃或熵值S参数Modeword0计算方式,0=焓值,1=比容,2=熵值,3=温度……模块描述:热力计算模块用于热力性能计算。通过参数Mode设置计算方式。输入P/S/H代表压力,输入T/S/H代表温度或熵值。在Mode==0时,计算出给定压力(MPa)和温度(℃)的水或汽的焓值(KJ/Kg)在Mode==1时,计算出给定压力(MPa)和温度(℃)的水或汽的比容(M3/Kg)在Mode==2时,计算出给定压力(MPa)和温度(℃)的水或汽的熵值(KJ/Kg*K)在Mode==3时,计算出给定压力(MPa)和熵值(KJ/Kg*K)的水或汽温度(℃)在Mode==4时,计算出给定压力(MPa)和温度(℃)的水的焓值(KJ/Kg)在Mode==5时,计算出给定压力(MPa)和温度(℃)的水的比容(M3/Kg)在Mode==6时,计算出给定压力(MPa)和温度(℃)的水的熵值(KJ/Kg*K)在Mode==7时,计算出给定熵值(KJ/Kg*K)和温度(℃)的水或汽的压力(MPa)在Mode==8时,计算出给定压力(MPa)和温度(℃)的汽的焓值(KJ/Kg)在Mode==9时,计算出给定压力(MPa)和温度(℃)的汽的比容(M3/Kg)在Mode==10时,计算出给定压力(MPa)和温度(℃)的汽的熵值(KJ/Kg*K)在Mode==11时,计算出给定压力(MPa)或温度(℃)的水的沸点温度或压力 当P为空脚时计算压力;当T为空脚时计算温度.在Mode==12时,计算出给定压力(MPa)和焓值(KJ/Kg)的水或汽温度(℃)在Mode==13时,计算出给定焓值(KJ/Kg)和温度(℃)的水或汽的压力(MPa) Mode=0->2分别计算出给定压力和温度的水或汽的焓值、比容和熵值;气态或液态由给定 的压力和温度自动识别。 Mode=4->6分别计算出给定压力和温度的水的焓值、比容和熵值;当只有一个输入而另一 个输入为空脚时,该水缺省为饱和。 Mode=8->10分别计算出给定压力和温度的 汽的焓值、比容和熵值;当只有一个输入而另一个输入为空脚时,该气体缺省为饱和。2、时间过程函数2.1超前滞后模块(LEADLAG)ID=20模块图形:─→超前滞后XY─→─→TR─→TS模块标记说明:输出:1(输出为Y)输入:3(输入1为X,输入2为TR,输入3为TS)参数:5(参数1为H,参数2为L,参数3为LD,参数4为LG,参数5为GN)标记名数据类型缺省值描述输出Yfloat0超前滞后输出输入Xfloat0.0以B.I方式表示的指针,或是立即浮点数输入TRfloatNULL以B.I方式表示的指针,或是立即浮点数。被跟踪量,空脚总不跟踪。输入TSboolNULL以B.I方式表示的指针,或是立即布尔数。跟踪切换开关参数Hfloat100.0输出高限参数Lfloat0.0输出低限参数LDfloat1.0超前时间常数,如果LD为0,则为滞后模块参数LGfloat1.0滞后时间常数,LG必须大于等于1/2T(采样周期)参数GNfloat1.0增益GN模块描述:超前滞后模块根据参数LD的设置实现时间熵的超前或滞后功能,参数LD为超前时间常数,当LD为0时,则为滞后功能。参数LG为滞后时间常数,其值必须大于等于1/2T,T为采样周期。该模块设置课高限和低限限幅。在参数TS设置为0时,限幅功能才有效。if(TS=1){Y(n)=TR(n)*GN;}else{K1=GN·(T+2LD)/(2LG+T);K2=GN·(T-2LD)/(2LG+T);K3=(2LG-T)/(2LG+T);Y(n)=K1*X(n)+K2*X(n-1)+K3*Y(n-1);}if(Y(n)>H)Y(n)=H;elseif(Y(n)<L)Y(n)=L;其中:T为计算周期;Y的最后稳定值=GN*X2.2滞后模块(DELAY)ID=21模块图形:─→─→─→滞后模块XYTRTS─→模块标记说明:输出:1(输出为Y)输入:3(输入1为X,输入2为TR,输入3为TS)参数:3(参数3为DT,参数2为k,参数1为LT)标记名数据类型缺省值描述输出Yfloat0.0滞后输出输入Xfloat0.0以B.I方式表示的指针,或是立即浮点数输入TRfloatNULL以B.I方式表示的指针,或是立即浮点数。被跟踪量,空脚总不跟踪。输入TSboolNULL以B.I方式表示的指针,或是立即布尔数。跟踪切换开关参数DTfloat0.0纯滞后时间常数,单位秒参数kfloat1.0比例增益参数LTfloat0.0惯性时间常数,单位秒,=0.0时为纯滞后模块描述:滞后模块对输入进行纯滞运算,实际上是一个smith预估器,计算公式的拉氏传递函数如下:Y(S)=e**(-DT*S)*k/(LT*S+1)递推计算公式如下: pn=KG*ts*x+lt*tmp->PreAI;//k/(LS+1) pn/=(ts+lt);a=k*T/(T+L),b=L/(T+L),L=int(DT/T),T=计算周期P(n)=a*X(n)+b*X(n-1),Y(n)=P(n-L);因缓冲区长度为120,所以L大于120时,其中有些输出为线性插值的结果。当参数LT设置为0时,滞后模块具有纯之后功能。2.3微分模块(DIFF)ID=22模块图形:─→微分XY─→模块标记说明:输出:1(输出为Y)输入:1(输入为X)参数:2(参数1为Kd,参数2为Td)标记名数据类型缺省值描述输出Yfloat0微分输出输入Xfloat0.0输入参数Kdfloat1.0增益参数Tdfloat1.0微分时间常数,必须>=0,单位秒模块描述:该模块是实际微分功能模块,是在理想微分环节后串接一个一阶惯性环节。对应的传递函数为:Y(s)=Y(n)=(Kd*Td*(X(n)-X(n-1))+Td*Y(n-1))/(T+Td);T为采样周期。2.4输入值运算模块(TSUM)ID=23模块图形:─→输入值运算XY─→─→SetYj─→模块标记说明:输出:2(输出1为Y,输出2为Yj)输入:2 (输入1为X,输入2为Set)参数:3(参数1为Mode,参数2为Y0,参数3为Cj)标记名数据类型缺省值描述输出Yfloat0.0累加时为时间(秒)的积分值输出Yjfloat0.0前一次的统计结果值输入Xfloat0.0以B.I方式表示的指针,或是立即浮点数输入Setbool0On/Off开关,以B.I方式表示的指针,或是立即布尔数参数Modeword0方式,0=累加和,1=取平均,2=取最大,3=取最小,4=梯形累加和参数Y0float0.0每次On时,Y的初值参数Cjfloat1.0记忆转换系数模块描述:输入值运算模块对输入模拟变量在Set指定的一段时间内进行累加,平均,或取最大、最小值,梯形累加和,并记录前次统计值。输出Y为累加时为时间(秒)的积分值,输出Yj为前一次的统计结果值。输入信号Set控制时间的起止,当Set从0跳变到1时,表示统计开始,当Set从1跳变到0时,表示统计结束。用参数Mode选择统计计算所采用的方式。if(On从0->1){统计开始,Yj(n)=Y(n)*Cj,Y(n)=Y0,sum=1;}elseif(On从1->0){统计结束}else{if(Mode==0)Y(n)=Y(n-1)+X(n)*T;//累加和elseif(Mode==1)Y(n)=累计和/sum;sum=内部计数;//取平均elseif(Mode==2)Y(n)=Max(Y(n-1),X(n));//取最大elseif(Mode==3)Y(n)=Min(Y(n-1),X(n));//取最小esleif(Mode==4)Y(n)=Y(n-1)+(X(n)+X(n-1)*T/2;//梯形累加和}其中T为该页计算周期(以秒为单位),因此,累计方式时,输出Y为输入X在计时间内的积分值。2.5数字滤波模块(FILTER)ID=24模块图形:─→数字滤波XY─→模块标记说明:输出:1(输出为Y)输入:1 (输入为X)参数:8(参数1-8为K1...K8)标记名数据类型缺省值描述输出Yfloat0滤波后的数值输入Xfloat0.0以B.I方式表示的指针,或是立即布尔数参数k1,...,k8float1/8滤波器系数,应<1.0,八的系数和为1模块描述:数字滤波模块对输入模拟变量进行8阶数字滤波。计算规则如下:Y(n)=k1*X(n)+k2*X(n-1)+...+k8*X(n-7);Ki为滤波系数。当Ki=0.125(i=1,…,8)时,称为平均滤波,当K8≤K7≤…≤K1时,称为遗忘滤波。2.6斜坡信号发生模块(RMP)ID=25模块图形:─→斜坡信号BaseY─→在基点→目标之间─→EndD─→在Y达终点时为1─→Hold参数:变化斜率─→Rst模块标记说明:输出:2(输出1为Y,输出2为D)输入:4 (输入1为Base,输入4为End,输入3为Hold,输入2为Rst)参数:1(参数为DY)标记名数据类型缺省值描述输出Yfloat0斜坡发生器输出输出Dbool0发生器到达终点输入Basefloat0.0基点,以B.I方式表示的指针,或是立即浮点数输入Endfloat100.0终点,以B.I方式表示的指针,或是立即浮点数输入Holdbool1保持,以B.I方式表示的指针,或是立即布尔数输入Rstbool0复位,以B.I方式表示的指针,或是立即布尔数参数DYfloat1.0变化率,以秒为单位模块描述:该模块用于产生斜坡信号。它有两个控制信号,一个是复位信号Rst,另一个是保持信号Hold。斜坡的变化率由参数DY确定,斜坡信号起始值由输入信号Base确定,称为基点值,斜坡信号的终止值由输入信号End确定,称为终点值。当复位信号Rst由0->1时,输出Y=基点值,D=0;然后,输出Y以速率DY从基点趋向于目标点;当到达目标点值后,D=1,输出保持在目标点值不变。在此过程中,若Hold由0->1,则输出Y保持不变,一直到Hold由1->0,输出Y再以速率DY从保持点趋向于目标点。若复位信号Rst又由0->1,则此过程重新开始。2.7段信号发生模块(F(t))ID=26模块图形:─→段信号HoldY─→模出─→RstD─→到达指示模块标记说明:输出:2(输出1为Y,输出2为D)输入:2 (输入1为Hold,输入2为Rst)参数:10(参数1-5为Y1...Y5,参数6-10为T1...T5)标记名数据类型缺省值描述输出Yfloat0.0信号发生器输出输出Dbool0到达T5指示输入Holdbool1保持,以B.I方式表示的指针,或是立即布尔数输入Rstbool0复位,以B.I方式表示的指针,或是立即布尔数参数Y1,...,Y5float0.0节点的Y值参数T1,...,T5float1.0节点相对基点的时间(秒),必须T1<=T2<=….<=T5模块描述:当复位信号Rst由0->1时,输出Y=基点值,D=0,在T1时间内到达Y1,在T2-T1时间内到达Y2,...,一直到T5到达Y5,此时,D=1,输出保持在Y5不变。在此过程中,若Hold由0->1,则输出Y保持不变,内部计时也停止,一直到Hold由1->0,输出Y按原规律变化。若复位信号Rst又由0->1,则此过程重新开始。若参数T1-T5不满足T1<=T2<=..<=T5得规律,则第一处违反此规律处,段信号行程结束,认为已到达终点,D=1,输出保持在最后的Y值不变。2.8十二段信号发生模块(F(t12))ID=27模块图形:─→12段信号XY─→模出─→SxSy─→当前段─→Hold─→当前段到达指示─→RstD─→到达指示模块标记说明:输出:4(输出1为Y,输出2为Sy,输出3为Sd,输出4为D)输入:4 (输入1为X,输入2为Sx,输入3为Hold,输入4为Rst)参数:24(参数1-12为Y1...Y12,参数13-24为T1...T12)标记名数据类型缺省值描述输出YFloat0.0信号发生器输出输出Sylong0当前所在的曲线段号,从0开始输出SdBool0到达当前段终点指示,单脉冲输出DBool0到达终点指示,长脉冲输入XFloat0.0级联曲线段号输入,Ys从Xs增加输入SxLong0级联输入输入HoldFloat0保持信号输入RstFloat0复位信号参数T1,Y1Float,Long0,0.0节点1:T1(秒)后从X到达Y1参数T2,Y2Float,Float0,0.0节点2:T2(秒)后从Y1到达Y2……参数T12,Y12Float,Float0,0.0节点12:T12(秒)后从Y11到达Y12模块描述:当复位信号Rst=0时,输出Y=输入X值(基点值),Sy=Sx,Sd=0,D=0;当复位信号Rst由0到1时,Y由基点开始变化,在T1秒时间内到达Y1,Sy++,Sd输出一个单脉冲;然后再在T2秒时间内到达Y2,Sy++,Sd输出一个单脉冲;...,一直到达终点Y12,Sy++,Sd输出一个单脉冲,此时,D=1,输出Y保持在Y12不变。在此过程中,若Hold由0->1,则输出Y保持不变,内部计时也停止,一直到Hold由1->0,输出Y按原规律变化。若复位信号Rst又由0->1,则此过程重新开始。参数T1,..T12必须>=0,若Ti<0,则段信号行程只走i-1段结束,并认为已到达终点,D=1,输出保持在最后的Y值不变。2.9状态统计模块(TSUMD)ID=28模块图形:─→状态统计ZYj─→─→SetY─→模块标记说明:输出:2(输出1为Yj,输出2为Y)输入:2 (输入1为Z,输入2为Set)参数:3(参数1为Mode,参数2为Y0,参数3为Cj)标记名数据类型缺省值描述输出Yjfloat0.0前一次的统计结果值输出Yfloat0.0以秒为单位的On或Off的累计时间输入Zbool0以B.I方式表示的指针,或是立即布尔数输入Setbool0On/Off开关,以B.I方式表示的指针,或是立即布尔数参数Modeword0方式,0=对0累加,1=对1累加参数Y0float0.0每次On时,Y的初值参数Cjfloat1.0记忆转换系数模块描述:状态统计模块对输入开关变量的状态进行类计,并记录前次统计值。根据参数Mode的设置,决定累加方式,通过输入信号Set控制开关。输出Y为以秒为单位的On或Off的累计时间。if(On从0->1){统计开始,Yj(n)=Y(n)*Cj,Y(n)=Y0;}elseif(On从1-0){统计结束;}else{if(Mode==0&&X(n)==0)Y(n)=Y(n-1)+T;//累加elseif(Mode==1&&X(n)==1)Y(n)=Y(n-1)+T;//累加}其中T为该页计算周期(以秒为单位),因此,输出Y为以秒为单位的On或Off的累计时间。3、控制用算法3.1二选一选择模块(TWOSEL)ID=30模块图形:─→2选1X1Y─→输出值─→X2MdLDBQM─→─→─→模块标记说明:输出:4(输出1为Y,输出2为Md,输出3为LDB,输出4为QM)输入:2 (输入1为X1,输入2为X2)参数:3(参数2为Mode,参数1为DB,参数3为DY)标记名数据类型缺省值描述输出Yfloat0.0二选一的输出输出Mdlong0输出方式,即输出参数Mode输出LDBbool0偏差大报警输出QMbool0测点品质切手动输出输入X1,X2float0.0以B.I方式表示的指针,或是立即浮点数参数Modeword0选择方式,0=平均,1=低选,2=高选,3=保留,4=选1,5=选2参数DBfloat0.0偏差限参数DYfloat0.0输出方式变化时的输出变化率限制,单位:值/分钟,取0.0时为无变化率限制模块描述:二选一选择模块有两个输入信号,按照参数Mode选择的方式计算,输出信号Y等于计算结果。输出Md为参数Mode选择的方式,输出QM为测点品质手动切换。如果在强制方式,即Mode==4或5,则输出值等于指定的那个输入值,本功能块状态同输入点。否则(1)如果二个输入点均为坏点,则输出为坏点,输出保持不变;(2)如果一个输入点为坏点,则输出等于另一好点之值;(3)如果二个输入点均为好点(a)如二者间偏差越限,则输出为坏点,输出保持不变;(b)如二者间偏差不越限,则输出随Mode=0或1或2,取平均或低选或高选。3.2三选一选择模块(THREESEL)ID=31模块图形:─→3选1X1Y─→输出值─→X2─→X3模块标记说明:输出:1(输出为Y)输入:3 (输入1为X1,输入2为X2,输入3为X3)参数:2(参数1为Mode,参数2为DB)标记名数据类型缺省值描述输出Yfloat0.0三选一的输出输入X1,X2,X3float0.0以B.I方式表示的指针,或是立即浮点数参数Modeword0选择方式,0=平均,1=低选,2=高选,3=中值,4=选1,5=选2,6=选3参数DBfloat0.0偏差限模块描述: 它在功能上和二选一模块相同,只是输入信号增为三个。如果在强制方式,即Mode==4、5、6,则输出值等于指定的那个输入值,本功能块状态同输入点。否则(1)如果三个都为坏点,则输出不变,输出为坏点;(2)如果二个点为坏点,则输出等于另一好点;(3)如果一个点为坏点,则:(a)如另二点间偏差越限,则输出为坏点,输出保持不变;(b)如另二者间偏差不越限,则输出随Mode=0或1或2或3,取平均或低选或高选或中值。(4)如果三个点均为好点,则(a)如果二个点间的偏差不越限,而另一点对这二点的偏差越限,则输出取前二点的平均值。(b)如果二个点间的偏差越限,而另一点对这二点的偏差不越限,则输出取后一点的值。(c)如果三个点互相之间的偏差均越限,则输出不变,输出为坏点。(d)如果三个点间的偏差均不超限,则输出将根据Mode的值取平均或低选或高选或中值。3.3模拟量选择模块(SFT)ID=32模块图形:─→模拟量选择X1Y─→─→X2─→─→─→ZDYDY1模块标记说明:输出:1(输出为Yd)输入:5 (输入1为X1,输入2为X2,输入3为Z,输入4为DY,输入5为DY1)参数:0标记名数据类型缺省值描述输出Yfloat0.0无扰切换输出输入X1,X2float0.0以B.I方式表示的指针,或是立即浮点数输入Zbool0选择开关,以B.I方式表示的指针,或是立即布尔数输入DYfloat0.0X2->X1变化率,以每分钟的变化量定义(DY=0.0时无速率限制)输入DY1float0.0X1->X2变化率,以每分钟的变化量定义(DY=0.0时无速率限制)模块描述:模拟量选择模块按输入开关量的值选择二个模拟量之一作为输出,存放在Y中。当切换信号Z作用时,模块的输出能够在信号X1和X2之间切换,当X1和X2之间的偏差大于某一设定值时,模块的输出能限制变化的速率。在DY==0时,如果Z(n)==0,则Y(n)=X2(n);如果Z(n)==1,则,Y(n)=X1(n);如果DY!=0(或DY1!=0),当Z从0变为1(或Z从1变为0),即Y从X2切换到X1(或Y从X1切换到X2),此时Y的变化受到速率限制DY(DY1)的限制,直到Y=X1(或Y=X2);随后不管X1(或X2)的变化率多大,输出Y将不再受速率限制DY(或DY1)的限制而始终等于X1(或X2).3.4高低限幅模块(HLLMT)ID=33模块图形:输入─→高低限XY─→输出上限─→H下限─→L模块标记说明:输出:1(输出为Y)输入:3 (输入1为X,输入2为H,输入3为L)参数:0标记名数据类型缺省值描述输出Yfloat0.0限幅器输出输入Xfloat0.0以B.I方式表示的指针,或是立即浮点数输入Hfloat0.0上限变量,以B.I方式表示的指针,或是立即浮点数输入Lfloat0.0下限变量,以B.I方式表示的指针,或是立即浮点数模块描述:高低限幅模块对输入进行限幅,输出被限幅于H和L之间。当输入信号大于高限H时,模块的输出被限制在高限H,当输入信号小于低限L时,模块的输出被限制在低限L。输入信号介于高低限之间时,模块输出等于输入值。if(X(n)>=H(n))Y(n)=H(n);elseif(X(n)<=L(n))Y(n)=L(n);elseY(n)=X(n);3.5高低限报警模块(HLALM)ID=34模块图形:输入─→高低报警XD─→上限─→HD1─→下限─→LD2─→模块标记说明:输出:3(输出1为D,输出2为D1,输出3为D2)输入:3 (输入1为X,输入2为H,输入3为L)参数:2(参数1为HDB,参数2为LDB)标记名数据类型缺省值描述输出Dbool0报警指示输出D1bool0越高限报警指示输出D2bool0越低限报警指示输入Xfloat0.0以B.I方式表示的指针,或是立即浮点数输入Hfloat0.0上限变量,以B.I方式表示的指针,或是立即浮点数输入Lfloat0.0下限变量,以B.I方式表示的指针,或是立即浮点数参数HDB浮点0.0上限死区,必须>=0.0参数LDB浮点0.0下限死区,必须>=0.0模块描述:高低限报警模块对输入高低限检查,置位相应的开关指示位。当输入信号超过高限报警值H时,该功能模块会给出一个高限报警信号D1,当输入信号回复到低于该高限报警值时,D1高限报警信号还不消除,只有到输入信号低于H-HDB时,报警信号才消除,HDB称为高限报警死区。同样,当输入信号低于低限报警值L时,模块会发出低限报警信号D2,但当输入信号高于低限报警值时,报警信号D2仍未消除,一直到输入信号高于L+LDB时,报警信号才能消除,这里LDB称为低限报警死区。3.6速率限制模块(RATLMT)ID=35模块图形:输入─→速率限XY─→输出正向速率限值─→PL负

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论