上海陌然自动化科技有限公司为SIEMENS代理商,本着“以人为本 科技先导 顾客满意 改进”的工作方针,致力于工业自动化控制领域的产品、工程配套和集成、销售,拥有丰富的自动化产品的应用和实践以及雄厚的技术力量,尤其以 PLC复杂控制、传动技术应用、伺服控制、数控备品备件、人机界面及网络/应用为公司的技术特长,几年来,上海陌然公司在与德国 SIEMENS公司自动化与驱动部门的长期紧作中,建立了良好的相互协作关系,在可编程控制器、交直流传动装置方面的业务逐年成倍增长,为广大用户提供了SIEMENS的 技术及自动控制的决方案。
地址:金山区枫泾镇环东一路
联系手机:15576949864
字符串最大长度占用长度为256个字符长度,其中
第一个字符定义为字符串的最大长度数值
第二个字符定义为字符串的有效长度数值
从第三个字符开始为实际有效的字符,最大可设置254个字符长度,每个字符的数据类型是:Char。字符是以ASCII的方式存储。
ASCII码与16进制和10进制转换关系如下图所示:
表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为有符号数值。
图1. FC5及数据块定义
图2. 变量表监看
3 .实数转字符串
实数转换为字符串,显示格式为科学计数法。如图3所示:
图3. 科学计数法显示
其有效数据最多显示7位。同时转换后的字符串固定占用14个有效字符长度。
注意,建立字符串最大长度时务必要大于14个字符长度,否则FC30不执行,无输出。
图4. FC30实例
4 .字符串转16进制
FC94功能实际为将连续的字符转换为连续的16进制。
因此,使用时注意:
1. 输入"IN"为有效字符的起始地址,即字符串的前两个固定占用字符需要跳过
2. 转换个数与字符串本身定义的有效字符长度数值无关,只与输入"N"有关
3. 字符占8位,16进制占16位;因此转换后占位方式如图6
图5. FC94
图6. FC94监看
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<S2 |
FC29 | NE_STRING | S1≠S2 |
表3. 字符串比较
注意:
1. 比较功能,比较的是两个字符串的有效数据长度部分。即字符串定义的最大长度与比较结果无关。见图7
2. 比较大小时,字符从上至下依次比较。见图8
3. 比较大小时,字符转换为16或10进制比较。即非数字字符,是转换为16或10进制进行比较。见图9
图7. FC10比较大小
图8. FC13比较大小
图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. 字符串功能
注意:以上功能块均以字符串的有效长度为基础。