浔之漫智控技术(上海)有限公司
西门子授权代理商 , 西门子授权代理商 , 西门子一级代理商
SIEMENS西门子 触摸屏SMART1000 IEV3 6AV6648-0CE11-3AX0


               转换操作 (S7-300, S7-400) CONVERT:转换值 (S7-300, S7-400) 说明 使用“转换值”指令设定显式转换。插入该指令时将自动打开一个对话框,在此对话框中可 以确定要转换的数据类型。执行时,该指令将读取源值并将其转换为指定的目标值。 有关可能的转换的信息,请参见“另请参见”中的“显式转换”部分。   

             移动结构的规则 当将结构作为输入参数传送时,必须谨记结构的长度应始终为偶数个字节。如果声明一个具 有奇数个字节的结构,此结构还需要另一个字节的存储空间。 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 BVAL Input ANY I、Q、M、D、 L、P 指定存储区域(源区 域),将使用该存储区域 中的内容填充 BLK 参数中 指定的目标区域。 BLK Output 1) ANY I、Q、M、D、 L、P 指定要使用源区域的数据 填充的存储区。 函数值 (RET_VAL) INT I、Q、M、D、 L、P 错误信息 1) 参数 BLK 声明为 Output,但在块接口中必须声明为 InOut。 有关有效数据类型的更多信息,请参见“另请参见”。 BVAL 参数 请注意:当将结构作为输入参数传送时,结构的长度应始终为偶数个字节。如果声明一个具 有奇数个字节的结构,此结构还需要另一个字节的存储空间。下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 <源类型> 输入 位字符串、整 数、浮点数、时 间、日期和时 间、字符串 I、Q、M、D、 L、P 或常数 要转换的值。 <目标类型> Output 位字符串、整 数、浮点数、时 间、日期和时 间、字符串 I、Q、M、D、 L、P 转换结果 有关有效数据类型的更多信息,请参见“另请参见”。ROUND:取整 (S7-300, S7-400) 说明 “取整”指令用于将输入 IN 的值取整为Zui接近的整数。该指令将输入 IN 的值解释为浮点数, 并将其转换为一个整数或浮点数。如果输入值恰好是在一个偶数和一个奇数之间,则选择偶 数。 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 <表达式> Input REAL I、Q、M、D、 L、P 要取整的输入值。 函数值 DINT I、Q、M、D、 L、P 取整运算的结果 有关有效数据类型的更多信息,请参见“另请参见”。CEIL:浮点数向上取整 (S7-300, S7-400) 说明 使用“浮点数向上取整”指令将值取整为Zui近接的整数。该指令将输入值解释为浮点数,并 将其转换为紧邻的较大整数。函数值可以大于或等于输入值。 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 <表达式> Input REAL I、Q、M、D、 L、P 输入值 函数值 DINT I、Q、M、D、 L、P 输入值向上取整 有关有效数据类型的更多信息,请参见“另请参见”。FLOOR:浮点数向下取整 (S7-300, S7-400) 说明 使用“浮点数向下取整”指令将一个浮点数的值取整为紧邻的较小整数。该指令将输入值解 释为浮点数,并将其转换为紧邻的较小整数。函数值可等于或小于输入值。 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 <表达式> Input REAL I、Q、M、D、 L、P 输入值 函数值 DINT I、Q、M、D、 L、P 输入值被取整 有关有效数据类型的更多信息,请参见“另请参见”。TRUNC:截尾取整 (S7-300, S7-400) 说明 “截尾取整”指令用于直接从输入值中截取整数。该指令仅选择输入值的整数部分,并将这 一部分(不含小数位)作为函数值返回。 使用以下语法更改指令的数据类型: TRUNC_(); 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 <表达式> Input REAL I、Q、M、D、 L、P 输入值 _<数据类型> 整数 默认:DINT 函数值的数据类型: • 如果使用默认数据类 型,则无需指定。 • 如要使用任何其它有效 数据类型,则必须明确 声明。 函数值 整数 I、Q、M、D、L 输入值的整数部分 有关有效数据类型的更多信息,请参见“另请参见”。

             SCALE:缩放 (S7-300, S7-400) 说明 可以使用“缩放”指令将参数 IN 上的整数转换为浮点数,该浮点数在介于上下限值之间的 物理单位内进行缩放。通过参数 LO_LIM 和 HI_LIM 来指定缩放输入值取值范围的下限和上 限。指令的结果在参数 OUT 中输出。 “缩放”指令将按以下公式进行计算: OUT = [((FLOAT (IN) – K1)/(K2–K1)) ∗ (HI_LIM–LO_LIM)] + LO_LIM 常数“K1”和“K2”的值取决于参数 BIPOLAR 的信号状态。参数 BIPOLAR 可能有下列信号状态: • 信号状态“1”:假设参数 IN 的值为双极性且取值范围是 -27648 到 27648。此时,常数“K1” 的值为“-27648.0”,而常数“K2”的值为“+27648.0”。 • 信号状态“0”:假设参数 IN 的值为单极性且取值范围是 0 到 27648。此时,常数“K1”的值为 “0.0”,而常数“K2”的值为“+27648.0”。 如果参数 IN 的值大于常数“K2”的值,则将指令的结果设置为上限值 (HI_LIM) 并输出一个错误。 如果参数 IN 的值小于常数“K1”的值,则将指令的结果设置为下限值 (LO_LIM) 并输出一个错 误。 如果指定的下限值大于上限值 (LO_LIM > HI_LIM),则结果将对输入值进行反向缩放。下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 IN Input INT I、Q、M、D、 L、P 待缩放的输入值。 HI_LIM Input REAL I、Q、M、D、 L、P 上限 LO_LIM Input REAL I、Q、M、D、 L、P 下限 BIPOLAR Input BOOL I、Q、M、D、L 指示将参数 IN 的值解释为 双极性还是单极性。该参 数可采用以下值: 1:双极性 0:单极性 OUT Output REAL I、Q、M、D、 L、P 指令的结果 函数值 (RET_VAL) WORD I、Q、M、D、 L、P 错误信息 有关有效数据类型的更多信息,请参见“另请参见”。UNSCALE:取消缩放 (S7-300, S7-400) 说明 可以使用“取消缩放”(Unscale) 指令,取消在上限和下限之间以物理单位为增量对参数 IN 中 的浮点数进行缩放,并将其转换为整数。使用参数 LO_LIM 和 HI_LIM 指定取消缩放输入值 取值范围的下限和上限。指令的结果在参数 OUT 中输出。 “取消缩放”指令将按以下公式进行计算: OUT = [((IN–LO_LIM)/(HI_LIM–LO_LIM)) ∗ (K2–K1)] + K1常数“K1”和“K2”的值取决于参数 BIPOLAR 的信号状态。参数 BIPOLAR 可能的信号状态为: • 信号状态“1”:假设参数 IN 的值为双极性且取值范围是 -27648 到 27648。此时,常数“K1” 的值为“-27648.0”,而常数“K2”的值为“+27648.0”。 • 信号状态“0”:假设参数 IN 的值为单极性且取值范围是 0 到 27648。此时,常数“K1”的值为 “0.0”,而常数“K2”的值为“+27648.0”。 当参数 IN 的值超出 HI_LIM 和 LO_LIM 定义的限值时,将输出一个错误并将结果设置为Zui接 近的限值。 如果指定的下限值大于上限值 (LO_LIM > HI_LIM),则结果将对输入值进行反向缩放。 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 IN Input REAL I、Q、M、D、 L、P 待取消缩放并转换为整数 的输入值。 HI_LIM Input REAL I、Q、M、D、 L、P 上限 LO_LIM Input REAL I、Q、M、D、 L、P 下限 BIPOLAR Input BOOL I、Q、M、D、L 指示将参数 IN 的值解释为 双极性还是单极性。该参 数可采用以下值: 1:双极性 0:单极性 OUT Output INT I、Q、M、D、 L、P 指令的结果 函数值 (RET_VAL) WORD I、Q、M、D、 L、P 错误信息 有关有效数据类型的更多信息,请参见“另请参见”。程序控制指令 (S7-300, S7-400) IF:条件执行 (S7-300, S7-400) 说明 使用“条件执行”指令,可以根据条件控制程序流的分支。该条件是结果为布尔值(TRUE 或 FALSE)的表达式。可以将逻辑表达式或比较表达式作为条件。 执行该指令时,将对指定的表达式进行运算。如果表达式的值为 TRUE,则表示满足该条件; 如果其值为 FALSE,则表示不满足该条件。 参数 根据分支的类型,可以对以下形式的指令进行编程: • IF 分支: IFTHENEND_IF; 如果满足该条件,则将执行 THEN 后编写的指令。如果不满足该条件,则程序将从 END_IF 后 的下一条指令开始继续执行。 • IF 和 ELSE 分支: IFTHENELSEEND_IF; 如果满足该条件,则将执行 THEN 后编写的指令。如果不满足该条件,则将执行 ELSE 后编 写的指令。程序将从 END_IF 后的下一条指令开始继续执行。 • IF、ELSIF 和 ELSE 分支: IFTHENELSIFTHENELSEEND_IF;如果满足第一个条件(<条件 1>),则将执行 THEN 后的指令(<指令 1>)。执行这些指令 后,程序将从 END_IF 后继续执行。 如果不满足第一个条件,则将检查第二个条件(<条件 2>)。如果满足第二个条件(<条件 2>),则将执行 THEN 后的指令(<指令 2>)。执行这些指令后,程序将从 END_IF 后继续 执行。 如果不满足任何条件,则先执行 ELSE 后的指令(<指令 0>),再执行 END_IF 后的程序部分。 在 IF 指令内可以嵌套任意多个 ELSIF 和 THEN 组合。可以选择对 ELSE 分支进行编程。 IF 指令的语法如下所示: 参数 数据类型 存储区 说明 <条件> BOOL I、Q、M、D、L 待求值的表达式 <指令> - - 在满足条件时,要执行的指令。如果不满足 条件,则执行 ELSE 后编写的指令。如果不满 足程序循环内的任何条件,则执行这些指令。 有关有效数据类型的更多信息,请参见“另请参见”。

展开全文
拨打电话 微信咨询 发送询价