网站首页 > 技术文章 正文
今天这篇文章,我们来聊聊西门子S7系列PLC的一种数据类型——字符串。
本文包括如下几个主题:
- 什么是字符串;
- 怎样声明字符串变量;
- 怎样给字符串变量赋值;
1、什么是字符串
字符串(string)是字符(character)的集合。
在西门子S7-300/400/1200/1500系列PLC的编程中,字符串是一种数据类型。该数据类型最多占用256个字节的存储区,最多可以存储254个字符,剩下的2个字节用来存储字符串的最大长度和当前长度。
字符串类型的结构定义如下图所示:
由字符串的定义可以得知,字符串变量在存储时其占用存储区大小比字符数多2个字节。比如字符串'Name'有4个字符,它实际占用6个字节的存储区;
特别说明:西门子S7-200 SMART中字符串的定义稍有不同,具体请看我的书《西门子S7-200 SMART PLC应用技术——编程、通信、装调、案例》的介绍:
2、怎样声明字符串变量
在函数块(FB)或者函数(FC)的变量声明区,可以声明字符串变量。比如下面图片声明了一个tmpString的字符串变量:
这种方式声明的字符串变量,其默认最大长度为254个字节。如果该变量实际用不到这么大的长度,可以在声明时指定其最大长度。方法是在String的后面使用中括号[]标注。比如下面的图片声明了一个最大长度为10个字符的字符串:
3、怎样给字符串变量赋值
可以直接使用单引号''给字符串赋值,也可以使用"中括号+索引"的方式直接给字符串中的某个字符赋值。字符串索引编号从1开始,到字符串的最大值结束。
字符串也可以不包含任何字符,即空字符串。用两个单引号直接给字符串变量赋值,即为空字符串;
下面这张图举例说明字符串赋值、索引赋值及空字符串:
字符串的操作指令很多,比如获取字符串的长度、最大长度、查找、插入、替换等等,我们在后续的文章中继续介绍。
欢迎查看我的专栏:
- 上一篇: 高中数学抽象函数赋值与构造题型归纳总结
- 下一篇: 高中数学——抽象函数赋值与构造5种题型汇编
猜你喜欢
- 2025-01-26 Python super()函数:调用父类的构造方法
- 2025-01-26 C语言中结构体struct的用法(c语言结构体中的结构体)
- 2025-01-26 80_VBA 变量的声明和赋值(vba中变量的作用范围)
- 2025-01-26 结构化编程的三种基本结构(结构化编程的三种基本控制结构)
- 2025-01-26 C语言函数的调用原理不理解?深入浅出通俗易懂,一文读懂函数栈
- 2025-01-26 JS奇淫技巧:一行赋值语句,能玩出多少花样?
- 2025-01-26 抽象函数单调性问题中构造策略(抽象函数单调性解题技巧)
- 2025-01-26 面试中的老大难-mysql事务和锁,一次性讲清楚
- 2025-01-26 如何在 C# 中创建一个不可变的变量?
- 2025-01-26 四问+一图,读懂《助力中小微企业稳增长调结构强能力若干措施》
- 最近发表
-
- 如何在 Linux 上安装 Java_怎么在linux中安装jdk
- Linux中tar命令打包路径相关问题_linux怎么用tar打包一个目录
- 常用linux系统常用扫描命令汇总_常用linux系统常用扫描命令汇总表
- VM下linux虚拟机新建过程(有图)_linux虚拟机创建新用户命令
- 系统小技巧:迁移通过Wubi方式安装的Ubuntu系统
- 文件系统(八):Linux JFFS2文件系统工作原理、优势与局限
- 如何利用ftrace精确跟踪特定进程调度信息
- prometheus网络监控之fping-exporter
- hyper linux的实操步骤,hyper-v批量管理工具的使用指南
- 2021年,运维工程师笔试真题(二)(附带答案)
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)