西门子控制单元6AU1400-7AA05-0AA0集成商
</p>
本公司主营西门子工业自动化产品,原装,品质保障上海斌勤电气技术有限公司 业务顾问;康工竭诚为你服务9.2字符串和字符
•输出字符串的大小比小数点右侧的位数多至少三个字节。
•输出字符串中的值为右对齐。
ENO报告的条件
当转换操作遇到错误,指令返回下列结果:
• ENO设置为0。
• OUT设置为0,或者如字符串到值的转换示例中所示。
• OUT不变,或者如OUT为字符串时的示例中所示。
表格9- 30 ENO状态
ENO 说明
1 无错误
0 非法或无效参数;例如,访问一个不存在的DB
0 非法字符串,要求该字符串的大长度为0或255
0 非法字符串,当前长度大于大长度
0 转换后的数值对于的OUT数据类型而言过大。
0 OUT参数的大字符串大小足够大,以接受参数SIZE 所的字符数(从字符位置参数P开始)。
0 非法P值,P=0或P大于当前字符串长度
0 参数SIZE大于参数PREC。
S7-1200可编程控制器
系统手册,V4.2, 09/2016, A5E02486685-AK
389
扩展指令
9.2字符串和字符
表格9-31 S_CONV字符串到值的转换示例
IN字符串 OUT数据类型 OUT值 ENO
“123” Int 或 DInt 123 TRUE
“-00456” Int 或 DInt -456 TRUE
“123.45” Int 或 DInt 123 TRUE
“+2345” Int 或 DInt 2345 TRUE
"00123AB" Int 或 DInt 123 TRUE
“123” Real 123.0 TRUE
“123.45” Real 123.45 TRUE
"1.23e-4" Real 1.23 TRUE
"1.23E-4" Real 1.23 TRUE
“12345.67” Real 12345.67 TRUE
"3.4e39" Real 3.4 TRUE
"-3.4e39" Real -3.4 TRUE
"1.17549e-38" Real 1.17549 TRUE
“12345” SInt 0 FALSE
"A123" 不适用 0 FALSE
MM 不适用 0 FALSE
“++123” 不适用 0 FALSE
“+-123” 不适用 0 FALSE
390
S7-1200可编程控制器
系统手册,V4.2, 09/2016, A5E02486685-AK
扩展指令
9.2字符串和字符
表格9- 32 S_CONV值到字符串的转换示例
数据类型 IN值 OUT字符串1 ENO
UInt 123 “xxx123” TRUE
UInt 0 “xxxxx0” TRUE
UDInt 12345678 “xxx12345678” TRUE
Real +9123.456 “xx+9.123456E+3” TRUE
LRea丨 +9123.4567890123 “xx+9.12345678901 23E+3” TRUE
Real -INF “xxxxxxxxxxxI N F” FALSE
Real +INF “xxxxxxxxxxxI N F” FALSE
Real NaN “xxxxxxxxxxxNaN” FALSE
1 V字符代表用于填写分配给转换值的右对齐字段中空位置的空格字符。
S7-1200可编程控制器
系统手册,V4.2, 09/2016, A5E02486685-AK
391
扩展指令
9.2字符串和字符
表格9-33 示例:STRG_VAL转换
IN字符串 FORMAT (W#16#■…) OUT数据类型 OUT值 ENO
“123” 0000 Int 或 DInt 123 TRUE
“-00456” 0000 Int 或 DInt -456 TRUE
“123.45” 0000 Int 或 DInt 123 TRUE
“+2345” 0000 Int 或 DInt 2345 TRUE
"00123AB" 0000 Int 或 DInt 123 TRUE
“123” 0000 Real 123.0 TRUE
“-00456” 0001 Real -456.0 TRUE
“+00456” 0001 Real 456.0 TRUE
“123.45” 0000 Real 123.45 TRUE
“123.45” 0001 Real 12345.0 TRUE
“123.45” 0000 Real 12345.0 TRUE
“123.45” 0001 Real 123.45 TRUE
".00123AB" 0001 Real 123.0 TRUE
"1.23e-4" 0000 Real 1.23 TRUE
"1.23E-4" 0000 Real 1.23 TRUE
"1.23E-4" 0002 Real 1.23E-4 TRUE
“12345.67” 0000 Real 12345.67 TRUE
“12345.67” 0001 Real 12.345 TRUE
"3.4e39" 0002 Real +INF TRUE
"-3.4e39" 0002 Real -INF TRUE
"1.1754943e-38" (及更小值) 0002 Real 0.0 TRUE
“12345” 不适用 SInt 0 FALSE
"A123" 不适用 不适用 0 FALSE
MM 不适用 不适用 0 FALSE
“++123” 不适用 不适用 0 FALSE
“+-123” 不适用 不适用 0 FALSE
392
S7-1200可编程控制器
系统手册,V4.2, 09/2016, A5E02486685-AK
扩展指令
9.2字符串和字符
下面的VAL_STRG转换示例均基于按以下方式初始化的OUT字符串:
(t ”
Current Temp = xxxxxxxxxx C
其中字符v表示为转换后的值分配的空格字符。
表格9-34 示例:VAL_STRG转换
数据类型 IN值 P SIZE FORMAT (W#16#■…) PREC OUT字符串 ENO
UInt 123 16 10 0000 0 Current Temp = xxxxxxx123 C TRUE
UInt 0 16 10 0000 2 Current Temp = xxxxxx0.00 C TRUE
UDInt 12345678 16 10 0000 3 Current Temp = x12345.678 C TRUE
UDInt 12345678 16 10 0001 3 Current Temp = x12345,678 C TRUE
Int 123 16 10 0004 0 Current Temp = xxxxxx+123 C TRUE
Int -123 16 10 0004 0 Current Temp = xxxxxx-123 C TRUE
Real -0.00123 16 10 0004 4 Current Temp = xxx- 0.0012 C TRUE
Real -0.00123 16 10 0006 4 Current Temp =- 1.2300E-3 C TRUE
Real -INF 16 10 不适用 4 Current Temp = xxxxxx-INF C FALSE
Real +INF 16 10 不适用 4 Current Temp = xxxxxx+INF C FALSE
Real NaN 16 10 不适用 4 Current Temp = xxxxxxxNaN C FALSE
UDInt 12345678 16 6 不适用 3 Current Temp = xxxxxxxxxx C FALSE
S7-1200可编程控制器
系统手册,V4.2, 09/2016, A5E02486685-AK
393
扩展指令
9.2字符串和字符
9.2.3.2 Strg_TO_Chars和Chars_TO_Strg (在字符串与字符数组之间转换)指令
Strg_TO_Chars将ASCII字符串复制到字符字节数组中。
Chars_TO_Strg将ASCII字符字节数组复制到字符串中。
说明
只允许将零基数组类型(Array [0..n] of Char)或(Array [0..n] of Byte)作为指令
Chars_TO_Strg 的输入参数 Chars,或作为指令 Strg_TO_Chars 的 IN_OUT 参数 Chars
表格9- 35 Strg_TO_Chars 指令
LAD/FBD
Strg_T0_Char5
EN ENO
Strg Cnt
pChars
Chars
SCL
Strg_TO_Chars(
Strg:=_string_in_,
pChars:=_dint_in_,
Cnt=>_uint_out_,
Chars:= variant inout
___m明
将整个输入字符串Strg复制到IN_OUT参数
Chars.的字符数组中。
该操作会从pChars
参数的数组元素编号开始覆盖字节。
可以使用所有受支持的大长度(1..254)
的字符串。
结束分隔符不会被写入;这由用户负责。要在后
写入的数组字符后面设置结束分隔符,应使用下一
数组元素编号[pChars+Cnt]。
表格9- 36参数的数据类型(Strg_TO_Chars)
参数和类型 数据类型 说明
Strg IN String, WString 源字符串
pChars IN DInt 写入目标数组的个字符串字符的数组元素编号
Chars IN_OUT Variant Chars参数是从输入字符串复制的零基字符数组 [0..n]的指针。可以在DB 中声明数组,也可以在块接口中将其声明为本地变量 示例:"DBr.MyArray 指向 DB1中的 MyArray [0..10] of Char 元素值。
Cnt OUT UInt 已复制的字符数
<p>
</p>
<p>下一篇:<a href="">西门子控制单元6AU1425-2AA00-0AA0规格</p>
联系我时,请说是在黄页88网杭州PLC功能模块栏目上看到的,谢谢!