XDPS用户手册附录1XDPS预定义标准功能块说明1-1附录一XDPS预定义标准功能块说明99.8.23一、概述XDPS的软件功能分DPU和MMI,MMI又包括OPU、ENG、HSU等,DPU又有VDPU、专用GTW等。从C/S观点来看,DPU、VDPU、专用GTW、HSU等又是服务器,其它为客户。所有软件功能可分解在不同的节点上实现。XDPS的数据采集、报警检测、闭环控制、计算等必须在DPU上完成。DPU的计算控制可由工程师组态修改和调试。XDPS提供了符合IEC1131-3标准的控制算法语言,特别强化了其中的以功能块为基本的图形组态和调试语言,使组态和调试非常直观方便。XDPS提供了各种常用的功能块,用户只需从这些功能块选出所需的,相互连接,就可实现DPU的图形组态,而无需了解编程语言。用户还可用XDPS的工具生成自已特殊的功能块。二、DPU简介DPU称为分布式处理单元,是XDPS的控制器。DPU是XDPS的一种功能,而并不具体到什么硬件。我们往往将只实现DPU功能的软硬件一起称为DPU,将运行于MMI站上的DPU功能称VDPU,用于与外部设备接口的VDPU称为GTW。每个DPU至少有一个节点号对应。DPU通过实时网或内部路由器与其它DPU和MMI连接,实时网可以是冗余的,可以采用不同协议。DPU可以通过I/O驱动与不同的I/O硬件连接。但有的DPU(如只实现计算统计功能的DPU)可以没有直接的I/O连接,而是仅通过实时网与其它DPU交换数据。DPU可以被冗余配置。XDPS规定,冗余配置DPU的节点号占用1~20号和61~80号,相应的冗余DPU为21~40和81~100,即相差20。而DPU以小号码对外标识。如3号与23号DPU被认为是互为冗余的DPU,在发操作指令时,指明3号、23号也会接收。对组态指令,则必须指明3号还是23号。MMI的号取1~100中任一个号,但一般取在41~60之间。单DPU或VDPU取1~100中任一号。DPU运行后有三种状态,初始态、跟踪态和主控态。其中跟踪态与主控态,DPU软件会跟踪自已的CPU状态、I/O状态作相应的自动切换,以便使主控机故障时,跟踪机可马上代替主控机。另外,工程师调试工具也可请求或区别DPU的运行状态。DPU刚启动时或组态的算法与主控DPU不同时,进入初始态,自检中以黄色标识。XDPS用户手册附录1XDPS预定义标准功能块说明1-2DPU内部的数据分为DPU总体描述、页和功能块对象。总体描述包含了DPU的说明信息和其中所有的页数。每个页对象具有指定的执行周期。而功能块对象只能存在于页中,同页中的功能块具有相同的计算周期。页和功能块分别用页号和功能块号命名。页和功能块具有执行序号,执行序号表达了它们在DPU中执行的次序。具有较小执行序号的页和功能块先于具有较大执行序号的页和功能块执行。用户可用在线调试工具更改页和块的执行序号,以调整执行次序。但用户不可在线更改页号和功能块号。三、DPU组态过程XDPS的DPU组态工具有两个组态方式,离线和在线。离线方式时,用户实质上仅打开一个数据文件,进行页、块功能的编辑、连接块的输入输出,然后存入这个数据文件。在线组态方式时,用户必须先向被组态DPU登录,获得相关权限之后,才能对DPU读写。用户可将离线生成的组态文件下装到DPU,也可将DPU运行的组态内容上装上来,进行写文件、修改和调试。用户完全可以以在线方式对DPU页和功能块执行修改、删除、插入等等操作,同时可以看到DPU中的运行数据,进行直观的在线调试。结束之后,用户须退出登录。四、页页Page,常用Pg或P表示。页是XDPS中的一个基本对象。功能块必须存在于页中。页的实例中包含页号(名称)、执行序号、页状态、执行周期、最后修改日期时间和页的描述等属性,还包含了功能块对象实例。页状态记录了页的工作状态,如是否被Disable等。页状态只能被在线组态工具读取和修改。执行周期表示了页被计算的周期。周期通常取50ms、100ms、200ms、250ms、500ms、1s、2s、5s和0。0表示本页不被周期计算,可能由特殊功能块按用户定义的方式调用计算。页在计算时按页执行序号排序执行。页描述记录了本页的功能、注释等与控制无关的信息。五、功能块:功能块FunctionBlock,常用FB或B来表示。XDPS的功能块附合IEC-1131-3的标准。功能块是XDPS中能被组态修改的最小对象。几乎所有功能都需用功能块来实现。XDPS用户手册附录1XDPS预定义标准功能块说明1-3功能块用户定义中包括三项内容:输出、输入、参数。功能块实例化后,还应包含功能块位号(即名称)、执行序号、状态、计算中间量。XDPS以对象方式将所有数据封装在一起。功能块之间传递的数据有三种类型:布尔量(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模块。XDPS用户手册附录1XDPS预定义标准功能块说明1-4输入也可被定义为一个立即常数,立即常数也必须为浮点、长整型、布尔型数据中的一种。这样XDPS任何一个功能块的输入可被连接到常数上,使变量变为参数。这个功能有很大灵活性,可变限的功能块都可用此特性实现。简单地说,输入可以是指针、NULL(空指针)、立即常数。功能块可以分为上下网I/O模块、硬件I/O模块、页间I/O模块、模拟函数、选择比较器、控制算法、逻辑运算、逻辑控制算法、操作器等等。详见具体说明。XDPS用户手册附录1XDPS预定义标准功能块说明1-51、XDPS实时网I/O功能块1.1模拟量下网功能块XNETAI,ID=100图形表示:无显式输入XNETAIY─→标记说明:标记名数据类型缺省值描述输出Yfloat0.0参数GIDwordFFFFH模拟点全局ID参数Tword500超时周期,取10~36000(x10ms)算法说明:本功能块将其它DPU上网的模拟点取下,存放在Y中,供其它功能块读取。如果网上点为坏点,则本模块状态为坏状态。如在指定超时时间内未收到点值,则本模块状态为超时状态并置为坏点。后续模块可使用这些状态作为坏点标志。1.2开关量下网功能块NETDI,ID=101图形表示:无显式输入XNETDID─→标记说明:标记名数据类型缺省值描述输出Dbool0参数GIDwordFFFFH开关点全局ID参数Tword500超时周期,取10~36000(x10ms)算法描述:本功能块将其它DPU上网的胳点取下,存放在D中,供其它功能块读取。如果网上点为坏点,则本模块状态为坏状态。如在指定超时时间内未收到点值,则本模块状态为超时状态并置为坏点。后续模块可使用这些状态作为坏点标志。1.3模拟量上网功能块XNETAO,ID=102图形表示:─→XXNETAO无显式输出标记说明:标记名数据类型缺省值描述输入Xfloatnull以B.I方式表示的指针,或是立即浮点数/长整形参数GIDwordFFFFH模拟点全局ID参数SHword0是否被其它DPU共享标记,0=不共享参数Tword1s上网周期,取0.5,1,2,5,10s(内部x100ms),同页周期参数HHfloat0.0报警高高限,如HH==LL,高高低低限对不存在参数Hfloat0.0报警高限,如H==L,高低限对不存在参数Lfloat0.0报警低限,应有HH=H=L=LL参数LLfloat0.0报警低低限,否则需自动设相应的P5参数DBfloat0.0报警死区,报警恢复时加入DB参数Phh,Mhhbyte,byte0,5H高高报警优先级和缺省记录方式XDPS用户手册附录1XDPS预定义标准功能块说明1-6参数Ph,Mhbyte,byte0,5H高报警优先级和缺省记录方式参数Pl,Mlbyte,byte0,5H低报警优先级和缺省记录方式参数Pll,Mllbyte,byte0,5H低低报警优先级和缺省记录方式参数Rfloat0.0速率报警限,如==0.0,速率报警限不存在参数Pr,Mrbyte,byte0,5H速率报警优先级和缺省记录方式参数DB1float0.0增量重复报警值,0.0=无此功能参数DB2float0.0减量重复报警值,0.0=无此功能参数T1word0延迟重复报警时间,0~36000(0.1秒),0=无此功能算法说明:本功能块将其它功能块的浮点和长整形变量广播到XPDS实时网上去,并作报警检查。如果前续功能块为坏状态,则输出为坏全局点。上网值等于输入值。其中:报警优先级:取值0~5的数字,0为最低,5为最高。缺省记录方式:b0=显示,b1=打印,b2=记录。b6=1时,报警复归时不自动确认报警。b7=1时,本报警限不存在、不检查。增量和减量重复报警是指超过最外报警限DB1或DB2时,再发一次报警信息。延迟重复报警是指警维持时间大于T1时,再发一次报警信息。本功能块需中间变量:报警时间、复归时间、确认时间、未确认次数。状态字中AlarmOn/Off是针对所有报警限的。1.4开关量上网功能块XNETDO,ID=103图形表示:─→ZXNETDO无显式输出标记说明:标记名数据类型缺省值描述输入Zboolnull以B.I方式表示的指针,或是立即布尔数参数GIDwordFFFFH开关全局ID参数SHword0是否被其它DPU共享标记,0=不共享参数Tword1s上网周期,取0.5,1,2,5,10s(内部x100ms),同页周期参数AAwordt0报警定义,0=无报警,1=0报警,2=1报警参数P,Mbyte,byte0,5H报警优先级和缺省记录方式参数T1word0延迟重复报警时间,0~36000(x0.1秒),0=无此功能算法说明:本功能块将其它功能块的布尔变量广播到XPDS实时网上去,并作报警检查。如果前续功能块为坏状态,则输出为坏全局点。上网值等于输入值。其中:报警优先级:取值0