以下列表概述了 Twido 函数:
该函数返回 2 个字符作为一个整数值。
输入值 |
i_sChar:带有 2 个字符的 STRING。 |
返回值 |
字符随即作为整数值返回。 |
如果该字符串无效,则全局变量 G_xSystemBitS18 将会设置为“真”。
ASCII 到整数转换函数将 ASCII 字符串值转换为其等效整数值。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
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 将设为“真”。
ASCII 到 REAL 的转换函数将 ASCII 字符串值转换为其等效 REAL 值。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
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 设置为“真”。
此函数将两个整数连接为一个双精度整数。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_iLowVal:INT i_iHighVal:INT |
返回值 |
FC_ConcatOfInt : DINT |
此函数将 DINT 值的数组复制到另一个给定的存储器地址。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_pdiSource : POINTER TO DINT i_pdiDestination : POINTER TO DINT i_bySize : BYTE |
返回值 |
FC_CopyArrDint : BOOL |
此函数将 INT 值的数组复制到另一个给定的存储器地址。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_piSource : POINTER TO INT i_piDestination: POINTER TO INT i_bySize : BYTE |
返回值 |
FC_CopyArrInt : BOOL |
此函数将 REAL 值的数组复制到另一个给定的存储器地址。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_prSource : POINTER TO REAL i_prDestination : POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_CopyArrReal : BOOL |
此函数将 BOOL 值的数组复制到另一个给定的存储器地址。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_pxSource : POINTER TO BOOL i_pxDestination : POINTER TO BOOL i_bySize : BYTE |
返回值 |
FC_CopyBitString : BOOL |
此函数将长度为 i_bySize 位的封装 BitString 复制到另一个存储器位置。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_pbySource : POINTER TO BYTE i_pbyDestination: POINTER TO BYTE i_bySize : BYTE - limited to SIZE OF (DINT) |
返回值 |
FC_CopyPackedBitString : DINT |
函数 FC_DegToRad 将以度表示的角度转换为弧度。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_rDeg : REAL; |
返回值 |
FC_DegToRad: REAL |
公式 |
Radian = Degrees * (Pi / 180) Where, Pi = 3.1415926535 |
使用规则:
待转换的角度必须介于 -737280.0 和 +737280.0 之间。
对于超出上述范围的值,显示结果都将是 + 1.#QNAN 并且全局变量 G_xSystemBitS18 设置为“真”。
函数 FC_EqualArrDint 将逐个元素比较 2 个已定义大小的表。如果存在差异,则以整数形式返回第一个不同元素的排名。如果不存在差异,则返回值“-1”。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_pdiFirstArrStartValue:POINTER TO DINT i_pdiSecondArrStartValue:POINTER TO DINT i_bySize:BYTE |
返回值 |
FC_EqualArrDint: INT |
需在 2 个指针输入中提供要比较的 2 个数字的开始地址。
必须在输入 i_bySize 中定义要比较的元素数量。
函数 FC_EqualArrReal 将逐个元素比较 2 个已定义大小的表。如果显示差异,则以整数形式返回第一个不同元素的排名。如果不存在差异,则返回值“-1”。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_pdiFirstArrStartValue:POINTER TO REAL i_pdiSecondArrStartValue:POINTER TO REAL i_bySize:BYTE |
返回值 |
FC_EqualArrReal : INT |
需在 2 个指针输入中提供要比较的 2 个数字的开始地址。
必须在输入 i_bySize 中定义要比较的元素数量。
函数 FC_FindEqDint 在给定的 DINT 值集合中搜索等于给定值的第一个数组元素的位置。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_diValue:DINT i_pdiStartAddr:POINTER TO DINT i_bySize : BYTE |
返回值 |
FC_FindEqDint : INT |
如果数组中不包含给定值,则返回 -1。
函数 FC_FindEqReal 在给定的 REAL 值集合中搜索等于给定值的第一个数组元素的位置。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_rValue:REAL i_prStartAddr:POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_FindEqReal : INT |
如果数组中不包含给定值,则返回 -1。
函数 FC_FindGtDint 在给定的 DINT 值集合中搜索大于用户定义的给定值的第一个数组元素的位置。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_diValue:DINT i_pdiStartAddr:POINTER TO DINT i_bySize : BYTE |
返回值 |
FC_FindGtDint : INT |
如果数组中的元素大于给定值,则返回 -1。
函数 FC_FindGtReal 在给定的 REAL 值集合中搜索大于用户定义的给定值的第一个数组元素的位置。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_rValue:REAL i_prStartAddr:POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_FindGtReal : INT |
如果数组中的元素大于给定值,则返回 -1。
函数 FC_FindLtDint 在给定的 DINT 值集合中搜索小于用户定义的给定值的第一个数组元素的位置。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_diValue:DINT i_pdiStartAddr:POINTER TO DINT i_bySize : BYTE |
返回值 |
FC_FindLtDint : INT |
如果数组中的元素大于给定值,则返回 -1。
函数 FC_FindLtReal 在给定的 REAL 值集合中搜索小于用户定义的给定值的第一个数组元素的位置。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_rValue:REAL i_prStartAddr:POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_FindLtReal : INT |
如果数组中的元素大于给定值,则返回 -1。
此函数将双精度整数的最高有效位 (MSB) 抽取为整数。
整数到 ASCII 的转换函数将整数值转换为其等效的 ASCII 字符串值。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
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 用于为给定的 X 值内插一组 X 对 Y 浮点数数据。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_prStartAddr : POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_Lkup : INT |
以下条件适用于输入值 i_prSartAddr:
o偶数个值
o最少 6 个值
o第一个元素是要查找的 x 值
o第二个元素由函数设置:内插结果
o以下所有元素均为 X、Y 对的内插支持点
内插规则:
LKUP 函数使用线性内插规则,如下面的等式定义:
对于 Xi ≤ X ≤ Xi + 1,其中 i = 1 … (m-1)
假定 Xi 值按照升序顺序排列:X1 ≤ X2 ≤ ...X...≤ Xm-1 ≤ Xm
若任意两个连续的 Xi 值相等 (Xi=Xi+1=X),则等式 1 将产生无效例外。为处理此例外,使用以下算法来代替等式 1。
对于 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
此函数将双精度整数的最低有效位 (LSB) 抽取为整数。
此函数在给定 DINT 值的集合中搜索最大值。仅对已定义长度的表执行搜索。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
返回值 |
FC_MaxArrDint : DINT |
此函数在给定 REAL 值的集合中搜索最大值。仅在已定义的表长度中执行搜索。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_MaxArrReal : REAL |
在给定 REAL 值的集合中,此函数用于计算必需长度的 REAL 值表格中的平均值。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_MeanArrReal : REAL |
此函数在给定 DINT 值的集合中搜索最小值。仅对已定义长度的表执行搜索。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
返回值 |
FC_MinArrDint : DINT |
此函数在给定 REAL 值的集合中搜索最小值。仅对已定义长度的表执行搜索。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_MinArrReal : REAL |
此函数将 DINT 值表格中的输入值移动一定数量(等于给定值)的元素。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_diValue : DINT i_pdiStartAddr: POINTER TO DINT i_bySize : BYTE |
返回值 |
FC_MoveArrDint : BOOL |
此函数将 INT 值表格中的输入值移动一定数量(等于给定值)的元素。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_iValue : INT i_piStartAddr: POINTER TO INT i_bySize : BYTE |
返回值 |
FC_MoveArrInt : BOOL |
此函数将 REAL 值表格中的输入值移动一定数量(等于给定值)的元素。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_rValue : REAL i_prStartAddr: POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_MoveArrReal : BOOL |
此函数在给定 DINT 值的集合中搜索等于某个给定值的元素数量。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_diValue:DINT i_pdiStartAddr:POINTER TO DINT i_bySize : BYTE |
返回值 |
FC_OccurArrDint : INT |
此函数在给定 REAL 值的集合中搜索等于某个给定值的元素数量。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_rValue:REAL i_prStartAddr:POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_OccurArrReal : INT |
函数 FC_RadToDeg 将以弧度表示的角度转换为度。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_rRad : REAL; |
返回值 |
FC_RadToDeg: REAL |
公式 |
Degree = Radian * (180 / Pi) Where, Pi = 3.1415926535 |
使用规则:
待转换的角度必须介于 -4096Pi 和 4096Pi 之间。
对于超出上述范围的值,显示结果都将是 + 1.#QNAN 并且 G_xSystemBitS18 设置为“真”。
REAL 到 ASCII 的转换函数将 REAL 值转换为其等效的 ASCII 字符串值。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_rVal: REAL |
返回值 |
FC_RealToAscii : ARRAY [1..7] OF INT |
REAL 到 ASCII 的转换规则如下:
o该函数始终首先写入最高有效字节 (MSB)。
o采用传统指数计数法进行表示。
o“无穷大”或“非数字”结果返回字符串“NAN”。
o结束字符是“回车符”(ASCII 13)。
o转换精确度为 6 位。
此函数在给定 DINT 数组中,将每个元素向列表的开始地址移动 n 个位置。前 n 个元素会移动到列表的结尾。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_iShiftPosNumber:INT i_pdiStartAddr:POINTER TO DINT i_bySize : BYTE |
返回值 |
FC_RolArrDint : BOOL |
如果 i_iShiftPosNumber 的值为负数或 0,则不执行移位。
此函数在给定 REAL 值的集合中,从元素顶部到底部进行 n 个位置的旋转移位。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_iShiftPosNumber:INT i_prStartAddr:POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_RolArrReal : BOOL |
如果 i_iShiftPosNumber 的值为负数或 0,则不执行移位。
此函数在给定 DINT 数组中,将每个元素向列表的结束地址移动 n 个位置。最后 n 个元素会移动到列表的开头。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_iShiftPosNumber:INT i_pdiStartAddr:POINTER TO DINT i_bySize : BYTE |
返回值 |
FC_RorArrDint : BOOL |
如果 i_iShiftPosNumber 的值为负数或 0,则不执行移位。
此函数在给定 REAL 值的集合中,从元素底部到顶部进行 n 个位置的旋转移位。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_iShiftPosNumber:INT i_prStartAddr:POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_RorArrReal : BOOL |
如果 i_iShiftPosNumber 的值为负数或 0,则不执行移位。
函数 FC_Round 将以 ASCII 字符串形式存储的浮点数表示形式进行舍入。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
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 个字节。
此函数按照升序或降序顺序,对 DINT 值表格的元素进行排序,并将结果存储在同一个表格中。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_iSortDirection:INT i_pdiStartAddr:POINTER TO DINT i_bySize:BYTE |
返回值 |
FC_SortArrDint: BOOL |
方向参数 i_iSortDirection 指示排序顺序:
o方向大于 0,则按升序顺序排序。
o方向小于 0,则按降序顺序排序。
o方向等于 0,则不执行排序。
此函数按照升序或降序顺序,对 DINT 值表格的元素进行排序,并将结果存储在同一个表格中。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_iSortDirection:INT i_prStartAddr:POINTER TO REAL i_bySize : BYTE |
返回值 |
FC_SortArrReal : BOOL |
方向参数 i_iSortDirection 给定排序顺序:
o方向大于 0,则按升序顺序排序。
o方向小于 0,则按降序顺序排序。
o方向等于 0,则不执行排序。
函数 FC_SumArrDint 用于增加所定义数量的数组元素(这些数组元素的地址是在输入 i_pdiStartAddr 中定义)。这意味着,此函数将对某个对象表的所有元素进行求和。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_pdiStartAddr:POINTER TO DINT i_bySize:BYTE |
返回值 |
FC_SumArrDint : DINT |
如果结果不在有效的双字格式范围(取决于数据表操作数)之内,则全局变量 G_xSystemBitS18 将设置为“真”。
函数 FC_SumArrReal 用于增加所定义数量的数组元素(这些数组元素的地址是在输入 i_pdiStartAddr 中定义)。这意味着,此函数将对某个对象表的所有元素进行求和。
EcoStruxure Machine Expert - Basic/Twido 中的名称 |
|
输入值 |
i_pdiStartAddr:POINTER TO DINT i_bySize:BYTE |
返回值 |
FC_SumArrReal : REAL |
如果结果不在有效的双字格式范围(取决于数据表操作数)之内,则全局变量 G_xSystemBitS18 将设置为“真”。