全国服务热线 15801815554

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

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


                函数块“SLI_FB_JOIN”:程序段 2 的结果 如果常开触点(“execute”)和比较器提供信号状态“TRUE”(“positionInDest”的值小于 “760”),则执行“JOIN”指令。 首次执行“JOIN”指令后,“#finalPosition”变量显示新值。该值基于当前位置值 (“postionInDest”)以及整个字符串的长度(“#joinLength”)。 “JOIN”指令的输出参数 RET_VAL(“returnValue”)指示示例中的处理运行时未出错。由于限 制通过“execute”变量和比较器(“#finalPosition”)执行“JOIN”指令,因此不会出现缓冲区溢 出的情况。 会出现下图所示的采用 CSV 格式的结果:函数块“SLI_FB_JOIN”:程序段 3 的结果 如果变量“positionInDest”的值等于变量“#finalPosition”的值,则“execute”变量复位。整个字 符串已转换为确定的长度并输出后,会停止执行“JOIN”指令。 其它转换 还可以使用其它模式转换上述 Array of STRING。

              转换为 CSV 格式/变量 2: 要求: • 变量“format”和“writeEndSeparator”的值为“FALSE”。 • 会为整个 17 字符串确定字符长度。 • 但限制调用“JOIN”指令(“#finalPosition”)的变量值为“18”,POSITION 参数 (“postionInDest”)的值为“0”。 因此,整个字符串会连续输出两次。 说明 “JOIN”指令尝试用“#finalPosition”变量的值“18”填入 Array[0..17] of CHAR。由于整个字符串 已填入目标区域(Array of CHAR 的 0..16),并且结束时不会设置分隔符,JOIN 会再次开 始传送整个字符串。 转换为 FSR 格式: 要求: • 变量“format”和“writeEndSeparator”的值为“TRUE”。 • 字符串的Zui大长度 (10) 是基于数据类型 (STRING) 确定的。 每个字符串的未使用位会填入分隔符。整个字符串(包括结尾处的分隔符)随后会传送到 Array of CHAR。SPLIT:将字符数组拆分为多个字符串 (S7-1500) SPLIT:将字符数组分为多个字符串 (S7-1500) 说明 “SPLIT”指令会将数组 (Array of CHAR / WCHAR) 转换为多个单独的字符串(Array of STRING / WSTRING 或结构)。为了将数组转换为多个字符串,请指定以下信息: • 选择待读取的数组 在 SrcArray 参数处指定待读取的数组。确保用于输入和输出参数的数据类型可以匹配使 用的其它任何参数。例如,如果在 SrcArray 参数处使用 CHAR 数据类型的数组,必须为 分隔符 (Rec/EndSeparator) 使用 CHAR 数据类型,并且结构必须只能包含在 DestStruct 参 数处为 STRING 数据类型的字符串。 • 源数组的格式选择 使用 Mode 参数的第一位指定待读取的数组具有 CSV 还是 FSR 格式。 – 对于 CSV(逗号分隔值),源数组中的一种同属字符用分隔符与另一种同属字符分隔 开。 源数组的两个示例:对于 FSR(固定长度记录),将为源数组逻辑信息中的每一项定义一定数量的字符。每 一项信息应适合为其定义的空间。如果信息不需要为其定义的空间,则用分隔符填充 此空间。 源数组的两个示例,其中第一个信息项(出生年份)的信息长度为 4 个字符,第二个 信息项(姓氏)的信息长度为 13 个字符,第三个信息项(名字)的信息长度为 10 个 字符,第四个信息项(所在城市)的信息长度为 9 个字符,第五个信息项(所在街道) 的信息长度为 16 个字符:• 待读取数组中使用的分隔符 – 如果待读取的数组为 CSV 格式,则可使用参数 RecSeparator 指定所使用的分隔符。 – 如果待读取的数组为 FSR 格式,则可使用参数 RecSeparator 指定所使用的填充字符。 • 完整字符串末尾分隔符的选择 在 EndSeparator 参数处指定分隔符,其后数组读取将停止。“SPLIT”指令在此位置停止, 并输出找到的字符串。请注意,EndSeparator 分隔符的优先级高于 RecSeparator 分隔 符。如果将参数 EndSeparator 处的分隔符用于待读取的字符串中(两个 RecSeparator 分 隔符之间),则 EndSeparator 分隔符后的所有内容都将忽略。 因此强烈建议为要读取的数组中的 EndSeparator 定界符选择 RecSeparator 定界符以外的 字符。• 指定开始读取数组的位置 转换从数组中的该位置开始,指令读取位置参数以确定转换完成的位置。这样可以在之 后调用指令以在 DestStruct 参数处填充各个字符串。 • 输出读取字符串的数量 如果在 DestStruct 参数处使用 Array of STRING,那么可以使用 Count 参数以输出读取字 符串的数量。只计入有内容的字符串。如果在 DestStruct 参数处使用 Array of STRING 以 外的数据类型,将在 Count 参数处输出“0”。 参数 下表列出了“SPLIT”指令的参数: 参数 声明 数据类型 存储区 说明 Mode Input DWord I、Q、M、D、L 或常 量 指定分割为多个字符串的执行方式(请 参见“Mode”参数)。 RecSeparator Input Variant I、Q、M、D、L 分隔符或填充字符 • 对于 CSV:数组中使用的且将被读取 以确定各个字符串的字符。 • 对于 FSR:已在待读取的数组中被用 作填充字符的字符。 EndSeparator Input Variant I、Q、M、D、L 在待读取的数组中用于定义完整字符串 末尾的分隔符。 SrcArray Input Variant I、Q、M、D、L 指向待读取数组的指针 (Array of CHAR/ WCHAR) DestStruct InOut Variant I、Q、M、D、L 包含已转换字符串的结构 (Array of STRING / WSTRING)。 Position InOut UDInt I、Q、M、D、L SrcArray 参数处要读取数组的位置。 Ret_Val Return Int I、Q、M、D、L 指令执行结果/错误代码(请参见 “Ret_Val 参数”表格) Count Output UDInt I、Q、M、D、L 找到的字符串数量。 有关有效数据类型的更多信息,请参见“有效数据类型概述。参数“Mode” 位 位值“0” 位值“1” 说明 0 CSV 格式(逗号分 隔值) FSR 格式(固定长 度记录) 基本模式:选择 CSV 或 FSR 1 • 对于 CSV:其它 字符导致发生了 错误。 • 对于 FSR:其它 填充字符仍位于 字符串中。 • 对于 CSV:忽略 了其它字符。 • 对于 FSR:将删 除其它填充字 符。 使用位 1 指定处理其它字符的方式: • 对于 CSV: – 如果设置了位,将忽略其它不适合目标字符串的字符。 示例:指令写入长度为 16 个字符的字符串 (STRING[16] 数据类型)。源中的前 16 个字符之后不 包含分隔符。如果设置了位 1,额外的字符将被忽略, 指令继续读取数组。 – 如果未设置位,指令将在这种情况下停止并在 Ret_Val 参数处生成错误消息。 • 对于 FSR: – 如果置位,当源数组传送到目标字符串时,字符右侧包 含信息的填充字符不会写入目标字符串(请参见示 例)。 – 如果未置位,当源数组传送到目标字符串时,字符右侧 包含信息的填充字符将写入目标字符串(请参见示例)。 2 - - 预留供以后的版本使用。 3 EndSeparator 不计 数。 EndSeparator 计 数。 指定是否将 EndSeparator 计入 Position 参数。 4 保留未写入的字符 串 (STRING) 长度不 变。 将未写入的字符串 (STRING) 设置为长 度“0”。 指定是否将参数 DestStruct 处未使用的字符串 (STRING) 长度 设置为“0”。对于错误代码,请注意以下内容: • 在程序编辑器中,错误代码将显示为整数或十六进制值。有关切换显示格式的信息,请参见“另请参见”。 • 列出的错误代码中第二个位置处的“X”表示导致错误的参数。 示例:错误代码 8352 hex = 第三个参数 (EndSeparator) 出错,请参见参数表。 • 如果无法将错误明确分配到指定的参数,将输出“0”。 示例:CHAR 数据类型将用于分隔符(RecSeparator 参数)。WCHAR 将用作 DestArray 参数处数组的数据 类型。在这种情况下将输出错误代码 80B4。 当待读取的 ARRAY 采用 CSV 格式时 SPLIT 指令的两个示例 在第一步中,按照分隔符(例如 RecSeparator 参数)指定的长度将源数组分成多个字符串。 在第二步中,分隔后生成的字符串存储在目标字符串中。可使用参数 DestStruct 来指定其长 度。 如果分隔后生成的字符串中的字符数在目标字符串中放不下,此后 SPLIT 的行为将取决于 Mode 参数。如果 Mode=2#00,这会导致发生错误:将会返回相关的错误代码,并且不会填充其它目标字符串。如果 Mode=2#10,将会忽略多余的字符,并用下一个分隔符后的字 符填充下一个目标字符串。 • 第一个示例: 在此示例中,有以下两个源数组:在 Mode=2#10 时,SPLIT 的第二次调用会生成以下目标字符串。

联系方式

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