Twido 函数

 

Twido 函数

概述

以下列表概述了 Twido 函数

oFC_AsciiCharToInt

oFC_AsciiToInt

oFC_AsciiToReal

oFC_ConcatOfInt

oFC_CopyArrDint

oFC_CopyArrInt

oFC_CopyArrReal

oFC_CopyBitString

oFC_CopyPackedBitString

oFC_DegToRad

oFC_EqualArrDint

oFC_EqualArrReal

oFC_FindEqDint

oFC_FindEqReal

oFC_FindGtDint

oFC_FindGtReal

oFC_FindLtDint

oFC_FindLtReal

oFC_HiOfDint

oFC_IntToAscii

oFC_Lkup

oFC_LoOfDint

oFC_MaxArrDint

oFC_MaxArrReal

oFC_MeanArrReal

oFC_MinArrDint

oFC_MinArrReal

oFC_MoveArrDint

oFC_MoveArrInt

oFC_MoveArrReal

oFC_OccurArrDint

oFC_OccurArrReal

oFC_RadToDeg

oFC_RealToAscii

oFC_RolArrDint

oFC_RolArrReal

oFC_RorArrDint

oFC_RorArrReal

oFC_Round

oFC_SortArrDint

oFC_SortArrReal

oFC_SumArrDint

oFC_SumArrReal

FC_AsciiCharToInt

该函数返回 2 个字符作为一个整数值。

输入值

i_sChar:带有 2 个字符的 STRING。

返回值

字符随即作为整数值返回。

如果该字符串无效,则全局变量 G_xSystemBitS18 将会设置为“真”。

FC_AsciiToInt

ASCII 到整数转换函数将 ASCII 字符串值转换为其等效整数值。

EcoStruxure Machine Expert - Basic/Twido 中的名称

ASCII_TO_INT

输入值

i_psStartAddr:POINTER TO STRING;

返回值

ASCII_TO_INT: INT

ASCII 到整数转换规则如下:

oASCII 值必须在 -32768 到 32767 之间。

o该函数始终首先读取最高有效字节。

o未在间隔 [0 - 9] (ASCII - 39 hex]) 中的任何 30 hex 字符都会被视为结束字符,但减号“-”(2D hex) 在作为第一个字符放置时除外。

o在溢出(大于 32767 或小于 -32768)的情况下,全局变量 G_xSystemBitS18(算术溢出或检出错误)将设为 1,并返回值 32767 或 -32768。

o如果操作数的第一个字符是“结束”字符,则返回值 0,且全局变量 G_xSystemBitS18 将设为“真”。

FC_AsciiToReal

ASCII 到 REAL 的转换函数将 ASCII 字符串值转换为其等效 REAL 值。

EcoStruxure Machine Expert - Basic/Twido 中的名称

ASCII_TO_FLOAT

输入值

i_psStartAddr: POINTER TO STRING

返回值

FC_AsciiToReal : REAL

ASCII 到 REAL 转换规则如下:

o该函数首先读取最高有效字节。

o不在 [0 - 9] ([30 hex - 39 hex]) 范围内的任意 ASCII 字符均可用作“结束”字符,但下列字符除外:

o小数点“.”(2E hex)

o减号“-”(2D hex)

o加号“+”(2B hex)

o指数“e”或“E”(65 hex 或 45 hex

oASCII 字符串格式可以采取指数形式(即“-2.34567e+13”)或小数形式(即 9826.3457)。

o在溢出情况下(计算结果大于 3.402824E+38 或小于 -3.402824E+38):

o全局变量 G_xSystemBitS18(算术溢出或检出错误)将设置为“真”。

o返回值 +/- 1.#INF (正或负无穷大值)。

o如果计算结果介于 -1.175494E-38 和 1.175494E-38 之间,则结果舍入为 0.0。

o如果操作数不是数字,则返回值 1.#QNAN 并且全局变量 G_xSystemBitS18 设置为“真”。

FC_ConcatOfInt

此函数将两个整数连接为一个双精度整数。

EcoStruxure Machine Expert - Basic/Twido 中的名称

CONCATW

输入值

i_iLowVal:INT

i_iHighVal:INT

返回值

FC_ConcatOfInt : DINT

FC_CopyArrDint

此函数将 DINT 值的数组复制到另一个给定的存储器地址。

EcoStruxure Machine Expert - Basic/Twido 中的名称

COPY_ARR_DINT

输入值

i_pdiSource : POINTER TO DINT

i_pdiDestination : POINTER TO DINT

i_bySize : BYTE

返回值

FC_CopyArrDint : BOOL

FC_CopyArrInt

此函数将 INT 值的数组复制到另一个给定的存储器地址。

EcoStruxure Machine Expert - Basic/Twido 中的名称

COPY_ARR_INT

输入值

i_piSource : POINTER TO INT

i_piDestination: POINTER TO INT

i_bySize : BYTE

返回值

FC_CopyArrInt : BOOL

FC_CopyArrReal

此函数将 REAL 值的数组复制到另一个给定的存储器地址。

EcoStruxure Machine Expert - Basic/Twido 中的名称

COPY_ARR_REAL

输入值

i_prSource : POINTER TO REAL

i_prDestination : POINTER TO REAL

i_bySize : BYTE

返回值

FC_CopyArrReal : BOOL

FC_CopyBitString

此函数将 BOOL 值的数组复制到另一个给定的存储器地址。

EcoStruxure Machine Expert - Basic/Twido 中的名称

COPY_ARR_BOOL

输入值

i_pxSource : POINTER TO BOOL

i_pxDestination : POINTER TO BOOL

i_bySize : BYTE

返回值

FC_CopyBitString : BOOL

FC_CopyPackedBitString

此函数将长度为 i_bySize 位的封装 BitString 复制到另一个存储器位置。

EcoStruxure Machine Expert - Basic/Twido 中的名称

FC_CopyPackedBitString

输入值

i_pbySource : POINTER TO BYTE

i_pbyDestination: POINTER TO BYTE

i_bySize : BYTE - limited to SIZE OF (DINT)

返回值

FC_CopyPackedBitString : DINT

FC_DegToRad

函数 FC_DegToRad 将以度表示的角度转换为弧度。

EcoStruxure Machine Expert - Basic/Twido 中的名称

DEG_TO_RAD

输入值

i_rDeg : REAL;

返回值

FC_DegToRad: REAL

公式

Radian = Degrees * (Pi / 180)

Where,

Pi = 3.1415926535

使用规则:

待转换的角度必须介于 -737280.0 和 +737280.0 之间。

对于超出上述范围的值,显示结果都将是 + 1.#QNAN 并且全局变量 G_xSystemBitS18 设置为“真”。

FC_EqualArrDint

函数 FC_EqualArrDint 将逐个元素比较 2 个已定义大小的表。如果存在差异,则以整数形式返回第一个不同元素的排名。如果不存在差异,则返回值“-1”。

EcoStruxure Machine Expert - Basic/Twido 中的名称

EQUAL_ARR

输入值

i_pdiFirstArrStartValue:POINTER TO DINT

i_pdiSecondArrStartValue:POINTER TO DINT

i_bySize:BYTE

返回值

FC_EqualArrDint: INT

需在 2 个指针输入中提供要比较的 2 个数字的开始地址。

必须在输入 i_bySize 中定义要比较的元素数量。

FC_EqualArrReal

函数 FC_EqualArrReal 将逐个元素比较 2 个已定义大小的表。如果显示差异,则以整数形式返回第一个不同元素的排名。如果不存在差异,则返回值“-1”。

EcoStruxure Machine Expert - Basic/Twido 中的名称

EQUAL_ARR

输入值

i_pdiFirstArrStartValue:POINTER TO REAL

i_pdiSecondArrStartValue:POINTER TO REAL

i_bySize:BYTE

返回值

FC_EqualArrReal : INT

需在 2 个指针输入中提供要比较的 2 个数字的开始地址。

必须在输入 i_bySize 中定义要比较的元素数量。

FC_FindEqDint

函数 FC_FindEqDint 在给定的 DINT 值集合中搜索等于给定值的第一个数组元素的位置。

EcoStruxure Machine Expert - Basic/Twido 中的名称

FIND_EQR

输入值

i_diValue:DINT

i_pdiStartAddr:POINTER TO DINT

i_bySize : BYTE

返回值

FC_FindEqDint : INT

如果数组中不包含给定值,则返回 -1。

FC_FindEqReal

函数 FC_FindEqReal 在给定的 REAL 值集合中搜索等于给定值的第一个数组元素的位置。

EcoStruxure Machine Expert - Basic/Twido 中的名称

FIND_EQR

输入值

i_rValue:REAL

i_prStartAddr:POINTER TO REAL

i_bySize : BYTE

返回值

FC_FindEqReal : INT

如果数组中不包含给定值,则返回 -1。

FC_FindGtDint

函数 FC_FindGtDint 在给定的 DINT 值集合中搜索大于用户定义的给定值的第一个数组元素的位置。

EcoStruxure Machine Expert - Basic/Twido 中的名称

FIND_GTR

输入值

i_diValue:DINT

i_pdiStartAddr:POINTER TO DINT

i_bySize : BYTE

返回值

FC_FindGtDint : INT

如果数组中的元素大于给定值,则返回 -1。

FC_FindGtReal

函数 FC_FindGtReal 在给定的 REAL 值集合中搜索大于用户定义的给定值的第一个数组元素的位置。

EcoStruxure Machine Expert - Basic/Twido 中的名称

FIND_GTR

输入值

i_rValue:REAL

i_prStartAddr:POINTER TO REAL

i_bySize : BYTE

返回值

FC_FindGtReal : INT

如果数组中的元素大于给定值,则返回 -1。

FC_FindLtDint

函数 FC_FindLtDint 在给定的 DINT 值集合中搜索小于用户定义的给定值的第一个数组元素的位置。

EcoStruxure Machine Expert - Basic/Twido 中的名称

FIND_LTR

输入值

i_diValue:DINT

i_pdiStartAddr:POINTER TO DINT

i_bySize : BYTE

返回值

FC_FindLtDint : INT

如果数组中的元素大于给定值,则返回 -1。

FC_FindLtReal

函数 FC_FindLtReal 在给定的 REAL 值集合中搜索小于用户定义的给定值的第一个数组元素的位置。

EcoStruxure Machine Expert - Basic/Twido 中的名称

FIND_LTR

输入值

i_rValue:REAL

i_prStartAddr:POINTER TO REAL

i_bySize : BYTE

返回值

FC_FindLtReal : INT

如果数组中的元素大于给定值,则返回 -1。

FC_HiOfDint

此函数将双精度整数的最高有效位 (MSB) 抽取为整数。

EcoStruxure Machine Expert - Basic/Twido 中的名称

HW

输入值

i_diVal: DINT

返回值

FC_LoOfDint : INT

FC_IntToAscii

整数到 ASCII 的转换函数将整数值转换为其等效的 ASCII 字符串值。

EcoStruxure Machine Expert - Basic/Twido 中的名称

INT_TO_ASCII

输入值

i_iVal: INT

返回值

INT_TO_ASCII : ARRAY [1..4] OF INT

整数到 ASCII 的转换规则如下:

o整数值必须在 -32768 到 32767 之间。

o该函数始终首先写入最高有效字节。

o结束字符是“回车符”(ASCII 13)。

o该函数可自动确定应使用 ASCII 值(从 1 到 4)填充多少 %MW

FC_Lkup

函数 FC_Lkup 用于为给定的 X 值内插一组 X 对 Y 浮点数数据。

EcoStruxure Machine Expert - Basic/Twido 中的名称

LKUP

输入值

i_prStartAddr : POINTER TO REAL

i_bySize : BYTE

返回值

FC_Lkup : INT

以下条件适用于输入值 i_prSartAddr

o偶数个值

o最少 6 个值

o第一个元素是要查找的 x 值

o第二个元素由函数设置:内插结果

o以下所有元素均为 X、Y 对的内插支持点

内插规则:

LKUP 函数使用线性内插规则,如下面的等式定义:

G-SE-0033193.1.gif-high.gif

 

 

对于 Xi  ≤ X  ≤  Xi + 1,其中 i = 1 … (m-1)

假定 Xi 值按照升序顺序排列:X1 ≤ X2 ≤ ...X...≤ Xm-1 ≤ Xm

若任意两个连续的 Xi 值相等 (Xi=Xi+1=X),则等式 1 将产生无效例外。为处理此例外,使用以下算法来代替等式 1。

G-SE-0033211.1.gif-high.gif

 

 

对于 Xi = Xi+1 = X,其中 i = 1…(m-1)。

结果值:

结果值显示内插是否成功。

0:内插成功

1:内插错误:数组错误,Xm < Xm-1

2:内插错误:i_rXValue 超出范围,X < X1

4:内插错误:i_rXValue 超出范围,X > Xm

8:数据数组无效:i_prYValue 设置为奇数,或者 i_prYValue < 6

结果值不包含计算出的内插值 (Y)。对于给定的 (X) 值,插值 (Y) 的结果包含在 i_prYValue 中。

i_rXValue 是浮点变量,包含用户定义的 (X) 值(要为其计算内插 (Y) 值)。

i_rXValue 的有效范围是:

X1 ≤  i_rXValue  ≤ Xm

FC_LoOfDint

此函数将双精度整数的最低有效位 (LSB) 抽取为整数。

EcoStruxure Machine Expert - Basic/Twido 中的名称

LW

输入值

i_diVal: DINT

返回值

FC_LoOfDint : INT

FC_MaxArrDint

此函数在给定 DINT 值的集合中搜索最大值。仅对已定义长度的表执行搜索。

EcoStruxure Machine Expert - Basic/Twido 中的名称

MAX_ARR

输入值

i_pdiStartAddr: POINTER TO DINT

i_bySize : BYTE

返回值

FC_MaxArrDint : DINT

FC_MaxArrReal

此函数在给定 REAL 值的集合中搜索最大值。仅在已定义的表长度中执行搜索。

EcoStruxure Machine Expert - Basic/Twido 中的名称

MAX_ARR

输入值

i_prStartAddr: POINTER TO REAL

i_bySize : BYTE

返回值

FC_MaxArrReal : REAL

FC_MeanArrReal

在给定 REAL 值的集合中,此函数用于计算必需长度的 REAL 值表格中的平均值。

EcoStruxure Machine Expert - Basic/Twido 中的名称

MEAN

输入值

i_prStartAddr: POINTER TO REAL

i_bySize : BYTE

返回值

FC_MeanArrReal : REAL

FC_MinArrDint

此函数在给定 DINT 值的集合中搜索最小值。仅对已定义长度的表执行搜索。

EcoStruxure Machine Expert - Basic/Twido 中的名称

MIN_ARR

输入值

i_pdiStartAddr: POINTER TO DINT

i_bySize : BYTE

返回值

FC_MinArrDint : DINT

FC_MinArrReal

此函数在给定 REAL 值的集合中搜索最小值。仅对已定义长度的表执行搜索。

EcoStruxure Machine Expert - Basic/Twido 中的名称

MAX_ARR

输入值

i_prStartAddr: POINTER TO REAL

i_bySize : BYTE

返回值

FC_MinArrReal : REAL

FC_MoveArrDint

此函数将 DINT 值表格中的输入值移动一定数量(等于给定值)的元素。

EcoStruxure Machine Expert - Basic/Twido 中的名称

MOVE_ARR_DINT

输入值

i_diValue : DINT

i_pdiStartAddr: POINTER TO DINT

i_bySize : BYTE

返回值

FC_MoveArrDint : BOOL

FC_MoveArrInt

此函数将 INT 值表格中的输入值移动一定数量(等于给定值)的元素。

EcoStruxure Machine Expert - Basic/Twido 中的名称

MOVE_ARR_INT

输入值

i_iValue : INT

i_piStartAddr: POINTER TO INT

i_bySize : BYTE

返回值

FC_MoveArrInt : BOOL

FC_MoveArrReal

此函数将 REAL 值表格中的输入值移动一定数量(等于给定值)的元素。

EcoStruxure Machine Expert - Basic/Twido 中的名称

MOVE_ARR_REAL

输入值

i_rValue : REAL

i_prStartAddr: POINTER TO REAL

i_bySize : BYTE

返回值

FC_MoveArrReal : BOOL

FC_OccurArrDint

此函数在给定 DINT 值的集合中搜索等于某个给定值的元素数量。

EcoStruxure Machine Expert - Basic/Twido 中的名称

OCCUR_ARR

输入值

i_diValue:DINT

i_pdiStartAddr:POINTER TO DINT

i_bySize : BYTE

返回值

FC_OccurArrDint : INT

FC_OccurArrReal

此函数在给定 REAL 值的集合中搜索等于某个给定值的元素数量。

EcoStruxure Machine Expert - Basic/Twido 中的名称

OCCUR_ARR

输入值

i_rValue:REAL

i_prStartAddr:POINTER TO REAL

i_bySize : BYTE

返回值

FC_OccurArrReal : INT

FC_RadToDeg

函数 FC_RadToDeg 将以弧度表示的角度转换为度。

EcoStruxure Machine Expert - Basic/Twido 中的名称

RAD_TO_DEG

输入值

i_rRad : REAL;

返回值

FC_RadToDeg: REAL

公式

Degree = Radian * (180 / Pi)

Where,

Pi = 3.1415926535

使用规则:

待转换的角度必须介于 -4096Pi  和 4096Pi 之间。

对于超出上述范围的值,显示结果都将是 + 1.#QNAN 并且 G_xSystemBitS18 设置为“真”。

FC_RealToAscii

REAL 到 ASCII 的转换函数将 REAL 值转换为其等效的 ASCII 字符串值。

EcoStruxure Machine Expert - Basic/Twido 中的名称

FLOAT_TO_ASCII

输入值

i_rVal: REAL

返回值

FC_RealToAscii : ARRAY [1..7] OF INT

REAL 到 ASCII 的转换规则如下:

o该函数始终首先写入最高有效字节 (MSB)。

o采用传统指数计数法进行表示。

o“无穷大”或“非数字”结果返回字符串“NAN”。

o结束字符是“回车符”(ASCII 13)。

o转换精确度为 6 位。

FC_RolArrDint

此函数在给定 DINT 数组中,将每个元素向列表的开始地址移动 n 个位置。前 n 个元素会移动到列表的结尾。

EcoStruxure Machine Expert - Basic/Twido 中的名称

ROL_ARR

输入值

i_iShiftPosNumber:INT

i_pdiStartAddr:POINTER TO DINT

i_bySize : BYTE

返回值

FC_RolArrDint : BOOL

如果 i_iShiftPosNumber 的值为负数或 0,则不执行移位。

FC_RolArrReal

此函数在给定 REAL 值的集合中,从元素顶部到底部进行 n 个位置的旋转移位。

EcoStruxure Machine Expert - Basic/Twido 中的名称

ROL_ARR

输入值

i_iShiftPosNumber:INT

i_prStartAddr:POINTER TO REAL

i_bySize : BYTE

返回值

FC_RolArrReal : BOOL

如果 i_iShiftPosNumber 的值为负数或 0,则不执行移位。

FC_RorArrDint

此函数在给定 DINT 数组中,将每个元素向列表的结束地址移动 n 个位置。最后 n 个元素会移动到列表的开头。

EcoStruxure Machine Expert - Basic/Twido 中的名称

ROR_ARR

输入值

i_iShiftPosNumber:INT

i_pdiStartAddr:POINTER TO DINT

i_bySize : BYTE

返回值

FC_RorArrDint : BOOL

如果 i_iShiftPosNumber 的值为负数或 0,则不执行移位。

FC_RorArrReal

此函数在给定 REAL 值的集合中,从元素底部到顶部进行 n 个位置的旋转移位。

EcoStruxure Machine Expert - Basic/Twido 中的名称

ROL_ARR

输入值

i_iShiftPosNumber:INT

i_prStartAddr:POINTER TO REAL

i_bySize : BYTE

返回值

FC_RorArrReal : BOOL

如果 i_iShiftPosNumber 的值为负数或 0,则不执行移位。

FC_Round

函数 FC_Round 将以 ASCII 字符串形式存储的浮点数表示形式进行舍入。

EcoStruxure Machine Expert - Basic/Twido 中的名称

ROUND

输入值

i_psStartAddr: POINTER TO STRING;

i_byRoundNumber: BYTE;

返回值

FC_Round: ARRAY[1..7] of INT

ROUND 指令规则如下:

o操作数始终向下舍入。

o操作数字符串的结束字符用作结果字符串的结束字符。

o结束字符可以是区间 [0 - 9] ([30 hex - 39 hex]) 范围内的任意 ASCII 字符,但下列字符除外:

o小数点“.”(2E hex),

o减号“-”(2D hex),

o加号“+”(2B hex),

o指数“e”或“E”(65 hex 或 45 hex)。

o结果和操作数不应超过 13 个字节:ASCII 字符串的最大长度为 13 个字节。

FC_SortArrDint

此函数按照升序或降序顺序,对 DINT 值表格的元素进行排序,并将结果存储在同一个表格中。

EcoStruxure Machine Expert - Basic/Twido 中的名称

SORT_ARR

输入值

i_iSortDirection:INT

i_pdiStartAddr:POINTER TO DINT

i_bySize:BYTE

返回值

FC_SortArrDint: BOOL

方向参数 i_iSortDirection 指示排序顺序:

o方向大于 0,则按升序顺序排序。

o方向小于 0,则按降序顺序排序。

o方向等于 0,则不执行排序。

FC_SortArrReal

此函数按照升序或降序顺序,对 DINT 值表格的元素进行排序,并将结果存储在同一个表格中。

EcoStruxure Machine Expert - Basic/Twido 中的名称

SORT_ARR

输入值

i_iSortDirection:INT

i_prStartAddr:POINTER TO REAL

i_bySize : BYTE

返回值

FC_SortArrReal : BOOL

方向参数 i_iSortDirection 给定排序顺序:

o方向大于 0,则按升序顺序排序。

o方向小于 0,则按降序顺序排序。

o方向等于 0,则不执行排序。

FC_SumArrDint

函数 FC_SumArrDint 用于增加所定义数量的数组元素(这些数组元素的地址是在输入 i_pdiStartAddr 中定义)。这意味着,此函数将对某个对象表的所有元素进行求和。

EcoStruxure Machine Expert - Basic/Twido 中的名称

SUM_ARR

输入值

i_pdiStartAddr:POINTER TO DINT

i_bySize:BYTE

返回值

FC_SumArrDint : DINT

如果结果不在有效的双字格式范围(取决于数据表操作数)之内,则全局变量 G_xSystemBitS18 将设置为“真”。

FC_SumArrReal

函数 FC_SumArrReal 用于增加所定义数量的数组元素(这些数组元素的地址是在输入 i_pdiStartAddr 中定义)。这意味着,此函数将对某个对象表的所有元素进行求和。

EcoStruxure Machine Expert - Basic/Twido 中的名称

SUM_ARR

输入值

i_pdiStartAddr:POINTER TO DINT

i_bySize:BYTE

返回值

FC_SumArrReal : REAL

如果结果不在有效的双字格式范围(取决于数据表操作数)之内,则全局变量 G_xSystemBitS18 将设置为“真”。