全国服务热线 15801815554

SIEMENS西门子 S120伺服电机 1FK7022-5AK71-1HG3

更新时间:2024-07-02 08:00:00
价格:请来电询价
西门子:代理商
S120:全新原装 假一罚十
德国:现货 实体经营
联系电话:15801815554
联系手机:15801815554
联系人:邓经理
让卖家联系我
详细介绍


                 VARIANT (S7-1200, S7-1500) VARIANT_TO_DB_ANY:将 VARIANT 转换为 DB_ANY (S7-1200, S7-1500) 说明 可以使用指令“将 VARIANT 转换为 DB_ANY”查询 IN 参数地址指定的操作数的数据块编号。 它可以是背景数据块或 ARRAY 数据块。IN 参数的操作数具有数据类型 VARIANT,这意味着 在创建程序时不需要知道将被查询编号的数据块的数据类型。在运行期间将会读取数据块编 号,并将其写入 RET_VAL 参数指定的操作数。 要求 如果满足条件,则执行该指令。如果不满足条件,则输出“0”作为数据块编号。 输出变量... 转换结果... 转换选项 VARIANT ... 作为 PLC 数据类型或系统 数据类型 (SDT) 的背景数据块 的数据块。 可以将该输出变量转换为数 据块编号。 VARIANT ... 作为 ARRAY 数据块的数据 块。 可以将该输出变量转换为数 据块编号。REF:创建一个对变量的引用 (S7-1500) 说明 使用关键字“REF()”,可指定先前所声明引用将指向的变量。即,通过参数指定待引用的变 量。规则 以下规则适用于“引用”: • 括号中指定的变量数据类型必须与所声明引用的数据类型完全匹配。即,数据类型为 “REF_TO Int”的引用只能指向数据类型为“Int”的变量。而不进行数据类型转换。 • 指定为“REF()”参数的变量必须位于优化存储区内。 • 该引用不得引用以下数据: – 临时数据 (TEMP) – PLC 变量表中的全局变量 – 块参数 – 常量 – 写保护的变量 以下规则适用于数组引用: • 数组限值、引用维数以及被引用的变量数必须相同。 • 不支持 Array[*]。 • 必须使用以下语句创建基于 PLC 数据类型的 ARRAY DB 引用:输出变量... 转换结果... 转换选项 VARIANT ... 带有基本数据类型的对象 由于数据块中并不仅仅只包 含一个基本数据类型,因此 无法将该输出变量转换为数 据库编号。 VARIANT ... 数据块中的结构 由于该结构仅仅是数据块中 的一部分,因此无法将该输 出变量转换为数据库编号。 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 IN Input VARIANT L(可在块接口 的“Input”、 “InOut”和 “Temp”部分进行 声明。) 待读取的变量 (“DB_ANY_TO_VARIANT” 指令的函数值)。IN 参数 处可使用全局变量或局部 变量。 ERR Output INT I、Q、M、D、L 错误信息 函数值 (RET_VAL) DB_ANY I、Q、M、D、L 结果:背景数据块的编号 有关有效数据类型的更多信息,请参见“另请参见”。 

             读取 tempVARIANT 操作数中指定的数据块的编号。由于操作数具有数据类型 VARIANT,所 以在创建程序时不需要知道变量的数据类型。编号将写入具有 DB_ANY 数据类型的 “OutputDBNumber”变量。DB_ANY_TO_VARIANT:将 DB_ANY 转换为 VARIANT (S7-1200, S7-1500) 说明 可以使用指令“将 DB_ANY 转换为 VARIANT”从符合以下要求的数据块生成 VARIANT 变量。IN 参数的操作数具有数据类型 DB_ANY,这意味着在创建程序时不需要知道数据块。将在运行 时读取数据块编号。 要求 如果满足条件,则执行该指令。如果不满足条件或数据块不存在,则在 RET_VAL 参数中输 出值 NULL。所有使用 RET_VAL 变量的其它访问都将失败。 以下数据类型的输入变量 ... 转换结果... 转换选项 DB_ANY ...作为 PLC 数据类型或系统数 据类型 (SDT) 的背景数据块的 数据块。 可以转换 DB_ANY ...作为 ARRAY 数据块的数据 块。 可以转换 DB_ANY ...作为函数块或全局数据块中 的背景数据块的数据块。 不可转换 参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 IN Input DB_ANY I、Q、M、D、L 要读取其编号的数据块 IN 参数处可使用全局变量或 局部变量。 ERR Output INT I、Q、M、D、L 错误信息 函数值 (RET_VAL) 1) VARIANT L(可在块接口 的“Input”、 “InOut”和 “Temp”部分进行 声明。) 数据块编号 1) RET_VAL 参数声明为 Output,因为数据流入变量。但此变量本身在块接口中必须声明为 InOut。1) 输出错误代码 #8155 的原因为: 声明了一个 PLC 数据类型 (UDT1) 并创建了一个数据类型为“UDT1”的数据块 (DB2)。变量表 中含有一个数据类型为 DB_ANY 的变量 (3)。随后,在程序块 (4) 中调用了指令 “DB_ANY_TO_VARIANT”并在 IN 参数中提供变量 (3)。执行时,指令“DB_ANY_TO_VARIANT” 返回错误代码 16#8155。 通过以下步骤消除该错误代码: 1. 创建函数 (FC5) 并在 InOut 接口中声明数据类型为 VARIANT 的变量。 2. 创建另一函数 (FC6) 并在该函数中调用 FC5。 3. 在 FC6 中的 Temp 接口中创建数据类型为“UDT1”的变量 (7)。 4. 为 FC5 的 InOut 接口提供变量 (7)。 5. 编译函数块(FC5 和 FC6)并下载到 CPU 中。在用户程序中无需调用这些块(FC5 和 FC6)。 结果: 由于用户程序现已熟悉该数据类型,因此将不再输出错误代码 16#8155。 但如果在调用了“DB_ANY_TO_VARIANT”指令后调用“VariantGet”或“VariantPut”两条指令之 一,则无需执行上述程序。在“InputDB”操作数中指定的所有数据块的编号将用于生成对数据块进行寻址的 VARIANT 数 据类型的变量。由于 IN 参数的操作数具有 DB_ANY 数据类型,所以在创建程序时不需要知 道将在运行时使用的数据块(既不需要知道数据块的名称,也不需要知道其编号)。.由于 参数 RET_VAL 的操作数具有数据类型 VARIANT,所以在创建程序时不需要知道数据块的数 据类型。传统 (S7-1500) SCALE:缩放 (S7-1500) 说明 可以使用“缩放”指令将参数 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),则结果将对输入值进行反向缩放。UNSCALE:取消缩放 (S7-1500) 说明 可以使用“取消缩放”(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),则结果将对输入值进行反向缩放。程序控制指令 (S7-1200, S7-1500) IF:条件执行 (S7-1200, S7-1500) 说明 使用“条件执行”指令,可以根据条件控制程序流的分支。该条件是结果为布尔值(TRUE 或 FALSE)的表达式。可以将逻辑表达式或比较表达式作为条件。 执行该指令时,将对指定的表达式进行运算。如果表达式的值为 TRUE,则表示满足该条件; 如果其值为 FALSE,则表示不满足该条件。在满足条件时,要执行的指令。如果不满足 条件,则执行 ELSE 后编写的指令。如果不满 足程序循环内的任何条件,则执行这些指令。

联系方式

  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201100
  • 电话:15801815554
  • 联系人:邓经理
  • 手机:15801815554
  • 微信:15801815554
  • QQ:190755061