字符串定义及格式

描述

字符串定义及格式

字符串最大长度占用长度为256个字符长度,其中

第一个字符定义为字符串的最大长度数值

第二个字符定义为字符串的有效长度数值

从第三个字符开始为实际有效的字符,最大可设置254个字符长度,每个字符的数据类型是:Char。字符是以ASCII的方式存储。

ASCII码与16进制和10进制转换关系如下图所示:

ASCII

表1 ASCII码表

字符串转换

1. STEP7库功能

STEP7库中提供了如下几个转换块:(库文件路径:库libraries---Standard Libray---IEC Function Blocks)

(FC94,95路径:库libraries---Standard Libray---TI-S7 Converting Blocks)

FC编号 功能名称 描述
FC5 DI_STRING 双整数转字符串
FC16 I_STRING 整数转字符串
FC30 R_STRING 实数转字符串
FC37 STRING_DI 字符串转双整数
FC38 STRING_I 字符串转整数
FC39 STRING_R 字符串转实数
FC94 ATH ASCII转换为十六进制
FC95 HTA 十六进制转换为ASCII

表2. 字符串转换

2 .整数(双整数)转字符串

以FC5为例,双整数为有符号整数,因此如图第三个有效字符为符号位,显示“+”。

注意: 此处字符串定义最大长度为254个字符,图二中第一位最大长度为-2为有符号数值。

ASCII

ASCII

图1. FC5及数据块定义

ASCII

图2. 变量表监看

3 .实数转字符串

实数转换为字符串,显示格式为科学计数法。如图3所示:

ASCII

图3. 科学计数法显示

其有效数据最多显示7位。同时转换后的字符串固定占用14个有效字符长度。

注意,建立字符串最大长度时务必要大于14个字符长度,否则FC30不执行,无输出。

ASCII

ASCII

图4. FC30实例

4 .字符串转16进制

FC94功能实际为将连续的字符转换为连续的16进制。

因此,使用时注意:

1. 输入"IN"为有效字符的起始地址,即字符串的前两个固定占用字符需要跳过

2. 转换个数与字符串本身定义的有效字符长度数值无关,只与输入"N"有关

3. 字符占8位,16进制占16位;因此转换后占位方式如图6

ASCII

图5. FC94

ASCII

图6. FC94监看

如何将Date 或 Date_and_Time数据类型转换为字符串?

参看"来自西门子技术支持热线的故事"链接,此外,另有付费的功能块包: 数据类型转换的工具集

如何将字符串转换为实数(非科学计数法形式)?

请参考:哪些标准 STEP 7函数可用来对字符串变量和ASCII 字符进行转换和比较?

字符串比较

1. STEP7库功能

STEP7库中提供了如下几个比较块:(库功能路径:库libraries---Standard Libray---IEC Function Blocks)

FC编号 功能名称 描述
FC10 EQ_STRING S1=S2
FC13 GE_STRING S1≥S2
FC15 GT_STRING S1>S2
FC19 LE_STRING S1≤S2
FC24 LT_STRING S1
FC29 NE_STRING S1≠S2

表3. 字符串比较

注意:

1. 比较功能,比较的是两个字符串的有效数据长度部分。即字符串定义的最大长度与比较结果无关。见图7

2. 比较大小时,字符从上至下依次比较。见图8

3. 比较大小时,字符转换为16或10进制比较。即非数字字符,是转换为16或10进制进行比较。见图9

ASCII

图7. FC10比较大小

ASCII

图8. FC13比较大小

ASCII

图9. FC13比较大小

为何比较带"+-"的字符串,"-"的字符串反而大于"+"字符串?

如图9,由于"+"对应十进制43,"-"对应十进制45;因此对于+-号比较,"-"的字符串反而大于"+"的字符串。

字符串功能

1. STEP7库功能

STEP7库中提供了如下几个功能块:(库功能路径:库libraries---Standard Libray---IEC Function Blocks)

FC编号 功能名称 描述
FC2 CONCAT 合并字符串
FC4 DELETE 删除字符串内字符
FC11 FIND 字符串查找
FC17 INSERT 字符串插入
FC20 LEFT 读取左侧字符串
FC21 LEN 字符串内有效字符长度
FC31 REPLACE 字符串替换
FC32 RIGHT 读取右侧字符串

表4. 字符串功能

注意:以上功能块均以字符串的有效长度为基础。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分