资源描述
XDPS用户手册附录 1 XDPS预定义标准功能块说明
附录一 XDPS预定义标准功能块说明
99.8.23
一、概述
XDPS的软件功能分DPU和MMI,MMI又包括OPU、ENG、HSU等,DPU又有VDPU、专用GTW等。从C/S观点来 看,DPU、VDPU、专用GTW、HSU等又是服务器,其它为客户。所有软件功能可分解在不同的节点上实现。
XDPS的数据采集、报警检测、闭环控制、计算等必须在DPU上完成。DPU的计算控制可由工程师组态修改和调试。XDPS提供了符合IEC 1131-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不同时,进入初始态,自检中以黄色标识。
DPU内部的数据分为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表示本页不被周期计算,可能由特殊功能块按用户定义的方式调用计算。页在计算时按页执行序号排序执行。
页描述记录了本页的功能、注释等与控制无关的信息。
五、功能块:
功能块Function Block,常用FB或B来表示。XDPS的功能块附合IEC-1131-3的标准。
功能块是XDPS中能被组态修改的最小对象。几乎所有功能都需用功能块来实现。
功能块用户定义中包括三项内容:输出、输入、参数。功能块实例化后,还应包含功能块位号(即名称)、执行序号、状态、计算中间量。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任何一个功能块的输入可被连接到常数上,使变量变为参数。这个功能有很大灵活性,可变限的功能块都可用此特性实现。
简单地说,输入可以是指针、NULL(空指针)、立即常数。
功能块可以分为上下网I/O模块、硬件I/O模块、页间I/O模块、模拟函数、选择比较器、控制算法、逻辑运算、逻辑控制算法、操作器等等。详见具体说明。
1、XDPS实时网I/O功能块
1.1 模拟量下网功能块XNETAI, ID=100
图形表示:
无显式输入 XNETAI Y
─→
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
参数 GID
word
FFFFH
模拟点全局ID
参数 T
word
500
超时周期, 取10~36000 (x10ms)
算法说明:
本功能块将其它DPU上网的模拟点取下,存放在Y中,供其它功能块读取。
如果网上点为坏点,则本模块状态为坏状态。 如在指定超时时间内未收到点值,则本模块状态为超时状态并置为坏点。后续模块可使用这些状态作为坏点标志。
1.2 开关量下网功能块 NETDI, ID=101
图形表示:
无显式输入 XNETDI D
─→
标记说明:
标记名
数据类型
缺省值
描述
输出 D
bool
0
参数 GID
word
FFFFH
开关点全局ID
参数 T
word
500
超时周期, 取10~36000 (x10ms)
算法描述:
本功能块将其它DPU上网的胳点取下,存放在D中,供其它功能块读取。
如果网上点为坏点,则本模块状态为坏状态。 如在指定超时时间内未收到点值,则本模块状态为超时状态并置为坏点。后续模块可使用这些状态作为坏点标志。
1.3 模拟量上网功能块 XNETAO, ID=102
图形表示:
─→
X XNETAO 无显式输出
标记说明:
标记名
数据类型
缺省值
描述
输入 X
float
null
以B.I方式表示的指针,或是立即浮点数/长整形
参数 GID
word
FFFFH
模拟点全局ID
参数 SH
word
0
是否被其它DPU共享标记,0=不共享
参数 T
word
1s
上网周期,取 0.5,1,2,5,10s(内部x100ms),同页周期
参数 HH
float
0.0
报警高高限,如HH==LL,高高低低限对不存在
参数 H
float
0.0
报警高限,如H==L,高低限对不存在
参数 L
float
0.0
报警低限,应有HH>=H>=L>=LL
参数 LL
float
0.0
报警低低限,否则需自动设相应的P>5
参数 DB
float
0.0
报警死区,报警恢复时加入DB
参数 Phh,Mhh
byte,byte
0, 5H
高高报警优先级和缺省记录方式
参数 Ph,Mh
byte,byte
0, 5H
高报警优先级和缺省记录方式
参数 Pl,Ml
byte,byte
0, 5H
低报警优先级和缺省记录方式
参数 Pll,Mll
byte,byte
0, 5H
低低报警优先级和缺省记录方式
参数 R
float
0.0
速率报警限,如==0.0,速率报警限不存在
参数 Pr,Mr
byte,byte
0, 5H
速率报警优先级和缺省记录方式
参数 DB1
float
0.0
增量重复报警值,0.0=无此功能
参数 DB2
float
0.0
减量重复报警值,0.0=无此功能
参数 T1
word
0
延迟重复报警时间,0~36000 (0.1秒),0=无此功能
算法说明:
本功能块将其它功能块的浮点和长整形变量广播到XPDS实时网上去,并作报警检查。
如果前续功能块为坏状态,则输出为坏全局点。上网值等于输入值。
其中:
报警优先级:取值0~5的数字,0为最低,5为最高。
缺省记录方式:b0=显示,b1=打印,b2=记录。b6=1时,报警复归时不自动确认报警。b7=1时,本报警限不存在、不检查。
增量和减量重复报警是指超过最外报警限DB1或DB2时,再发一次报警信息。
延迟重复报警是指警维持时间大于T1时,再发一次报警信息。
本功能块需中间变量:报警时间、复归时间、确认时间、未确认次数。状态字中 Alarm On/Off是针对所有报警限的。
1.4 开关量上网功能块 XNETDO, ID=103
图形表示:
─→
Z XNETDO 无显式输出
标记说明:
标记名
数据类型
缺省值
描述
输入 Z
bool
null
以B.I方式表示的指针,或是立即布尔数
参数 GID
word
FFFFH
开关全局ID
参数 SH
word
0
是否被其它DPU共享标记,0=不共享
参数 T
word
1s
上网周期,取0.5,1,2,5,10s(内部x100ms) ,同页周期
参数 AA
wordt
0
报警定义,0=无报警,1=0报警,2=1报警
参数 P,M
byte,byte
0, 5H
报警优先级和缺省记录方式
参数 T1
word
0
延迟重复报警时间,0~36000 (x0.1秒), 0=无此功能
算法说明:
本功能块将其它功能块的布尔变量广播到XPDS实时网上去,并作报警检查。
如果前续功能块为坏状态,则输出为坏全局点。上网值等于输入值。
其中:
报警优先级:取值0~5的数字,0为最低,5为最高。
缺省记录方式:b0=显示,b1=打印,b2=记录。b6=1时,报警复归时不自动确认报警。b7=1时,本报警限不存在、不检查。
增量和减量重复报警是指超过最外报警限DB1或DB2时,再发一次报警信息。
延迟重复报警是指警维持时间大于T1时,再发一次报警信息。
本功能块需中间变量:报警时间、复归时间、确认时间、未确认次数。状态字中 Alarm On/Off是针对所有报警限的。
1.5 模拟量输入功能块 XAI, ID=104
图形表示:
补偿点─→
X XAI Y
─→
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
输入 X
float
null
补偿源测点,本点只在Cvt=CT类时有效
参数 Addr
word
FFFFH
I/O地址 (站号,板号,通道号)
参数 Cvt
word
0
输入转换类型,缺省=线性
参数 MaxAD
word
0F00H
与量程上限对应的AD值
参数 MinAD
word
0300H
与量程下限对应的AD值
参数 Av
float
0.0
RTD和TC时板的放大倍数,在MaxAD=MinAD=0时才用
参数 R0
或 I0
float
80.0
电桥式RTD采样电路时为电桥的标准电阻;
恒流源式RTD采样电路时为恒流源电流;
参数 MaxY
float
100.0
量程上限
参数 MinY
float
0.0
量程上限
参数 Bias
float
0.0
零偏,用于较正零点,以工程量值表示
参数 Flt
float
0.0
低通滤波的时间常数,单位秒。0.0=无滤波功能
参数
按序捆绑XNetAO的所有参数
注:Cvt 输入转换类型
0 - 线性: Y(n) = (MaxAD-MinAD)*AD(n)/(MaxY-MinY); 参数Av,R0不用定义;
0~10V, 0~5V, 1~5V, 0~10mA, 4~20mA,-5V~+5V, 测速值(=AD值)等都用此转换类型实现。定义时需对I/O卡的AD范围有一定了解。
1 - 线性开方: 在以上基础上,最后开方。如被开方值<0.0,则输出Y(n)=0.0。
2 - 直接浮点数转换:Y(n) = 输入的浮点数;参数MaxAD,、MinAD、Av,R0不用定义。 用于IEEE单精度浮点输入的场合。
10~19 -RTD热电阻转换,具体定义了:
10=Cu50热电阻, 11=Cu50热电阻(3mA恒流源),
12= Pt100热电阻, 13=Pt100热电阻(3mA恒流源),
14= Pt10热电阻, 15=Pt10热电阻(3mA恒流源), 16=Cu53热电阻
20~25 -CT热电偶转换,具体定义了:
20=K(EU)热电偶,,21= E(EA)热电偶,22=T热电偶,23=B热电偶
24=K(EU2)热电偶,,25=s热电偶
对于RTD和TC,必须定义量程限和与量程对应的MaxAD和MinAD值。若MaxAD=MinAD=0,DPU将采用缺省的XDPS卡件的特定转换,此时量程限不参与转换,只用于判别越限故障;参数Av如填0.0,则DPU内部在Pt100时Av=20倍,在Cu50/Cu53时取Av=40倍,在TC时Av=200倍;参数R0(或称 I0),只用于RTD的场合,电桥时为桥臂电阻;恒流源时为恒流源电流。
算法说明:
本功能块从一个I/O地址取得一个A/D值,进行转换,将工程值结果存放在Y中,供其它功能块读取。如果I/O通道有故障,则本模块状态为坏状态。 后续模块可使用这些状态作为坏点标志。
转换时,如为TC,则作相应的冷端补偿;再在工程值加上Bias;所有类型在工程转换时,工程值限制在 (MinY-量程*10%) 到 (MaxY+量程*10%)之间,超越或达到此限的,本功能块壮态将标识为溢出OFW,品质为Bad。转换后,算法再进行低通滤波(如定义的话),滤波的传递函数为1/(1+TS),T即为参数Flt。滤波后,进行捆绑的XNetAO处理。
1.6 开关量输入功能块 XDI, ID=105
图形表示:
无显式输入 XDI D
─→
标记说明:
标记名
数据类型
缺省值
描述
输出 D
bool
0
参数 Addr
word
FFFFH
I/O地址 (站号,板号,通道号)
参数 Cvt
word
0
输入方式,0=不求反;1=求反
参数 TD_On
word
0
0->1,需延迟的周期数
参数 TD_Off
word
0
1->0,需延迟的周期数
参数 ……
按序捆绑XNetDO的所有参数
算法说明:
本功能块从一个XDPS I/O地址取得一个bit,安是否取反定义Cvt,转换为bool值,再进行TD_On或TD_Off滤波,将结果存放在D中,供其它功能块读取。 最后,进行捆绑的XNetDO处理。
如果I/O通道有故障,则本模块状态为坏状态。 后续模块可使用这些状态作为坏点标志。
1.7 模拟量输出功能块 XAO, ID=106
图形表示:
─→
X XAO 无显式输出
标记说明:
标记名
数据类型
缺省值
描述
输入 X
float
0.0
以B.I方式表示的指针,或是立即浮点数
参数 Addr
word
FFFFH
I/O地址 (站号,板号,通道号)
参数 Cvt
word
0
转换类型,0=输出AD,1=输出浮点数
参数 MaxAD
word
0FFFH
与量程上限对应的AD值(20mA)
参数 MinAD
word
0333H
与量程下限对应的AD值(4mA)
参数 MaxX
float
100.0
量程上限
参数 MinX
float
0.0
量程下限
参数 Res
word
0
保留=0,用于设置I/O卡失电保护方式
参数 ……
按序捆绑XNetAO的所有参数
算法描述:
本功能块将其它功能块的模拟点送到XDPS AO输出端子上。最后,进行捆绑的XNetAO处理。
在Cvt=0时,输出AD(n) = X(n)*(MaxAD-MinAD)/(MaxX-MinAD)
在Cvt=1时,输出 = X(n),本类型主要用于通讯驱动场合,向其它系统直接输出IEEE单精度浮点数。
1.8 开关量输出功能块 XDO, ID=107
图形表示:
─→
Z XDO 无显式输出
标记说明:
标记名
数据类型
缺省值
描述
输入 Z
bool
0
以B.I方式表示的指针,或是立即布尔数
参数 Addr
word
FFFFH
I/O地址 (站号,板号,通道号)
参数 Cvt
word
0
输出方式:=0,不求反输出,=1求反输出
参数 Res
word
0
保留=0,用于设置I/O卡失点保护方式
参数 ……
按序捆绑XNetDO的所有参数
算法说明:
本功能块将其它功能块的布尔点送到XDPS DO输出端子上。最后,进行捆绑的XNetDO处理。
如果前续功能块为坏状态,则本功能块不输出bit值。
1.9 脉冲量输入功能块 XPI, ID=108
图形表示:
─→
Rst XPI Y
─→
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0
累计的脉冲数x系数K
输入 Rst
bool
0
复位开关量,以B.I方式表示的指针,或是立即数
参数 Addr
word
FFFFH
硬件I/O地址 (站号,板号,通道号)
参数 MaxAD
word
FFFFH
硬件寄存器满度值
参数 K
float
1.0
脉冲系数。=0.0时,输出为增量型
参数 ……
按序捆绑XNetAO的所有参数
算法说明:
本功能块从一个XDPS I/O地址取得一个脉冲计数值,转换为long值乘以K,将结果存放在Y中,供其它功能块读取。 最后,进行捆绑的XNetAO处理。
输入开关量Rst由0变到1时,Y(n)=0.0。
在K!=0.0时,输出 Y(n) =Y(n-1) + ((AD(n)-AD(n-1)) mod MaxAD)*K
在K==0.0时,输出 Y(n) = ((AD(n)-AD(n-1)) mod MaxAD)
DPU刚启动时,需跟踪一次AD值。
如果I/O通道有故障,则本模块状态为坏状态。 后续模块可使用这些状态作为坏点标志。
1.10 页间模拟量输入功能块 PgAI, ID=110
图形表示:
无显式输入 PgAI Y
─→
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
参数 Page
word
FFFFH
被引用页的页号
参数 Block
word
FFFFH
被引用的PgAO的功能块号
算法说明:
本功能块从一个XDPS本DPU中另外页的 PgAO、XAI、XAO、XPI其中之一取得模拟值,将结果存放在Y中,供本页其它功能块读取。
本功能块传递被引用的功能块的状态。如被引用模块不存在或被引用模块不是上述4个模块之一,则本功能块状态为坏,输出保持不变。
1.11 页间开关量输入功能块 PgDI, ID=111
图形表示:
无显式输入 PgDI D
─→
标记说明:
标记名
数据类型
缺省值
描述
输出 D
bool
0
参数 Page
word
FFFFH
被引用页的页号
参数 Block
word
FFFFH
被引用的PgDO的功能块号
算法说明:
本功能块从一个XDPS本DPU中另外一页的 PgDo、XDI、XDO 其中之一取得开关值,将结果存放在D中,供本页其它功能块读取。
本功能块传递被引用的功能块的状态。如被引用模块不存在或被引用模块不是上述4个模块之一,则本功能块状态为坏,输出保持不变。
1.12 页间模拟量输出功能块 PgAO, ID=112
图形表示:
─→
X PgAO 无显式输出
标记说明:
标记名
数据类型
缺省值
描述
输入 X
float
0.0
以B.I方式表示的指针,或是立即浮点数
算法说明:
本功能块将本页的模拟量存在本块中,供本DPU中另外一页的PgAI读取。
1.13 页间开关量输出功能块 PgDO, ID=113
图形表示:
─→
Z PgDO 无显式输出
标记说明:
标记名
数据类型
缺省值
描述
输入 D
bool
0
以B.I方式表示的指针,或是立即浮点数
算法说明:
本功能块将本页的开关量存在本块中,供本DPU中另外一页的PgDI读取。
2、模拟函数
2.1、2输入加法器 ADD ID=1
图形表示:
─→
X1 ADD Y
─→ Y=k1X1+k2X2+C
─→
X2
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
输入 X1,X2
float
0.0
以B.I方式表示的指针,或是立即浮点数
参数 k1,k2
float
1.0
输入X1,X2的增益
参数 C
float
0.0
ADD的偏置
算法说明:
本功能块对二个浮点变量加或减,输出一个浮点变量。
输出 Y(n) = k1*X1(n) + k2*X2(n) + C
2.2、乘法器 MUL ID=2
图形表示:
─→
X1 MUL Y
─→
─→
X2
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
输入 X1,X2
float
1.0
以B.I方式表示的指针,或是立即浮点数
参数 k1,k2
float
1.0
输入X1,X2的增益
参数 C1,C2
float
0.0
输入X1,X2的偏置
算法描述:
本功能块对2个浮点变量乘,输出一个浮点变量。
输出 Y(n) = (k1*X1(n)+C1)*(k2*X2(n)+C2)
2.3、除法器 DIV ID=3
图形表示:
─→
X1 DIV Y
─→ Y=(k1X1+C1)/(k2X2+C2)
─→
X2
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
浮点
0.0
输入 X1,X2
浮点
1.0,1.0
以B.I方式表示的指针,或是立即浮点数
参数 k1,k2
浮点
1.0
输入X1,X2的增益
参数 C1,C2
浮点
0.0
X1和X2的偏置
算法描述:
本功能块对2个浮点变量除,输出一个浮点变量。
if( (k2*X2(n) + C2)==0 ) { Y(n) = Y(n-1),并且置位OFW和Q; }
else Y(n) = (k1*X1(n)+C1) / (k2*X2(n) + C2);
Y(n)被限幅在有效数值之间,如果越限,就置位本功能模块的数值溢出状态位。
其它情况下,本功能块按参数Smod所定义方式传递前续功能块的状态。
2.4、开方器 SQRT ID=4
图形表示:
─→
X SQRT Y
─→ Y=(k*X+C)1/2
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
输入 X
float
1.0
以B.I方式表示的指针,或是立即浮点数
参数 k
float
1.0
输入X的增益
参数 C
float
0.0
X的偏置
参数 DB
float
0.0
零点切除值, >=0.0
算法说明:
本功能块对输入浮点变量开方,输出一个浮点变量。
if( k*X(n)+C >= DB) Y(n)=;
else { Y(n)=0,并且置位OFW和Q; }
2.5、取绝对值 ABS ID=5
图形表示:
─→
X ABS Y
─→
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
输入 X
float
0.0
以B.I方式表示的指针,或是立即浮点数
参数 k, C
float
1.0, 0.0
输入X的增益和偏置
算法描述:
本功能块对输入浮点变量取绝对值,输出一个浮点变量。
Y(n)=|k*X(n)+C|
2.6、五次多项式 POLYNOM ID=6
图形表示:
─→
X POLYNOM Y
─→
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
输入 X
float
0.0
以B.I方式表示的指针,或是立即浮点数,单位弧度
参数 C0~C5
float
0.0
多项式的系数
算法描述:
本功能块对浮点变量进行五次多项式运算,输出一个浮点变量。
Y(n) = C0 + C1*X(n) + C2*X(n)**2 + C3*X(n)**3 +C4*X(n)**4 +C5*X(n)**5
2.7、8输入数学统计器 SUM8 ID=7
图形表示:
─→
X1 Y
─→
…
… SUM8
─→
X8 Cnt
─→
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
输出 Cnt
float
0.0
模拟输入量中绝对值<DB的个数
输入 X1,X2,…,X8
float
NULL
以B.I方式表示的指针,或是立即浮点数
参数 Mode
word
0
方式,0=累加和,1=取平均,2=取最大,3=取最小
参数 k1,k2,…,k8
float
1.0
输入X1~X8的增益
参数 C1,C2,…C8
float
0.0
输入X1~X8的偏置
参数 DB
float
0.0
判非零的死区
算法说明:
本功能块对8个浮点变量加或减,输出一个浮点变量。
输出Y(n)按方式取输入的累加和、平均、最大、最小。所有输入为k*X(n)+C。空脚不参与运算。
输出Cnt(n)等于 fabs(k*X(n)+C)>DB的个数。
2.8、12段函数变换F(X) ID=8
图形描述:
─→
X F(X) Y
─→Y=F(X)
标记描述:
标记名
数据类型
缺省值
描述
输出 Y
浮点
0.0
输入 X
浮点
0.0
以B.I方式表示的指针,或是立即浮点数
参数 (x1,y1)
float
0.0,0.0
第1个坐标点
参数 ......
float
0.0,0.0
第n个坐标点, 要求x1<=x2<=.....<=x12
参数 (x12,y12)
float
0.0,0.0
第12个坐标点
算法描述:
F(X)由12个坐标点(X1,Y1)…(X12,Y12)确定
如 上图所示:F(X)为一个十二段折线,如X<=X1,Y=X1;X>=X12,Y=X12。
如折线段少于十二段,则不用之段的数需填上最后一段的值,或者确信X绝对不会超出所定义的值,则不用之段可以不填数字。
2.9、保留 ID=9
2.10、指数/对数函数 POW/LOG ID=10
图形表示:
─→
X POW/LOG Y
─→Y
─→
B
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
输入 X
float
1.0
指数或对数,以B.I方式表示的指针,或是立即浮点数
输入 B
float
10.0
底数,以B.I方式表示的指针,或是立即浮点数
参数 Mode
word
1.0
方式,0=为指数运算,1=对数运算
参数 k1,k2
float
1.0
输入和底变量的增益
参数 C1,C2
float
0.0
输入和底变量的偏置
算法说明:
本功能块对浮点变量进行指数或数值,输出一个浮点变量。
当Mode = 0时:
Y(n) = (k2*B(n)+C2) ** (k1*X(n)+C1),底数位0.0时置OFW和Q标志位。
当Mode=10时:
Y(n) = LOG (k2*B(n)+C2) (k1*X(n)+C1)
当(k2*B(n)+C2为立即浮点数且为0.0时,该函数为自然对数ln。
2.11、三角和反三角函数 TRIANGLE ID=11
图形表示:
─→
X TRIANGLE Y
─→ Y=sin(k*X+C)
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
输入 X
float
0.0
以B.I方式表示的指针,或是立即浮点数,单位弧度
参数 Mode
word
0
函数类型, 0=sin, 1=cos, 2=tan, 3=asin, 4=acos, 5=atan
参数 k
float
1.0
变量的增益
参数 C
float
0.0
变量的偏置
算法描述:
本功能块按Mode对浮点变量进行三角或反三角运算,输出一个浮点变量。角度都以弧度为单位。
例:Y(n) = sin(k*X(n)+C), Y(n) = asin(k*X(n)+C)
2.12 热力性质计算 PTCal ID=12
图形表示:
─→
P PTCal Y
─→
─→
T/S
标记说明:
标记名
数据类型
缺省值
描述
输出 Y
float
0.0
输入 P
float
0.0
压力Mpa
输入 T/S
float
10.0
温度℃或熵值S
参数 Mode
word
0
计算对象,0=火函值,1=比容,2=熵值,3=温度
算法描述:
本功能块用于热力性能计算。
在Mode==0时,计算出给定压力(MPa)和温度(℃)的气体或液体的火函值(KJ/Kg)
在Mode==1时,计算出给定压力(MPa)和温度(℃)的气体或液体的比容(M3/Kg)
在Mode==2时,计算出给定压力(MPa)和温度(℃)的气体或液体的熵值(KJ/Kg*K)
在Mode==3时,计算出给定压力(MPa)和气体或液体熵值(KJ/Kg*K)的温度(℃)
3、时间过程函数
3.1、超前滞后模块 LEADLAG ID=20
图形描述:
─→
X
─→
TR LEADLAG
展开阅读全文