今天这篇文章,我们来聊聊西门子S7系列PLC的一种数据类型——字符串。

本文包括如下几个主题:

  1. 什么是字符串;
  2. 怎样声明字符串变量;
  3. 怎样给字符串变量赋值;

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开始,到字符串的最大值结束。

字符串也可以不包含任何字符,即空字符串。用两个单引号直接给字符串变量赋值,即为空字符串;

下面这张图举例说明字符串赋值、索引赋值及空字符串:

字符串的操作指令很多,比如获取字符串的长度、最大长度、查找、插入、替换等等,我们在后续的文章中继续介绍。

欢迎查看我的专栏:

js 获取中括号里面字符串_西门子SCL编程入门教程连载(18)——字符串相关推荐

  1. MultipartFile 支持什么类型_西门子SCL编程入门教程连载(15)-Variant类型

    西门子S7-1200/1500系列PLC提供Variant数据类型用于对数据进行引用,有着比ANY类型更强大的功能.今天这篇文章,我们就来聊聊Variant类型,并使用SCL语言编写一个简单的例程. ...

  2. 西门子scl语言编程手册_西门子SCL编程PEEK指令讲解

    单词"peek"在英语中表示"偷看,瞥一眼",在计算机编程中表示"读取数据". 在西门子SCL编程中,PEEK指令可以用来读取输入缓存区(I ...

  3. 西门子上升沿指令_西门子SCL编程实例——霓虹灯顺序控制(DECO指令)

    有如下控制任务: 舞台上有8根霓虹灯灯管,要求顺序点亮灯管.灯管编号1到8,从1号开始,每次只有一根灯管点亮,持续的时间为2秒钟.当8号灯管点亮结束后,再次从1号开始,如此循环. 今天这篇文章,我们使 ...

  4. js获取微信状态栏高度_人人商城打包app教程 方法 hbuilder打包支持支付宝微信原生支付...

    使用hbuilder打包人人商城app 方法支持微信支付宝原生支付 介绍 人人商城打包使用hbuilder打包app需要的文件,目前支持微信原生支付,支付宝原生支付,原生退出app ,还没有写分享和原 ...

  5. 怎么查看电脑有没有python_python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学...

    本文由简码编程原创,保留所有版权,转载请注明出处. 本python人工智能爬虫系列教程基于Python3.0版本, 将python结合windows桌面开发工具aardio一起做可视化的开发, 用py ...

  6. 爬虫python对电脑要求_python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学...

    本文由简码编程原创,保留所有版权,转载请注明出处. 本python人工智能爬虫系列教程基于Python3.0版本, 将python结合windows桌面开发工具aardio一起做可视化的开发, 用py ...

  7. TypeScript入门教程 之 模板字符串

    TypeScript入门教程 之 模板字符串 模板文字(模板字符串) 从语法上讲,这些是使用反引号(即`)而不是单引号(')或双引号(")引号的字符串.Template Literals的动 ...

  8. c++ 查找 list中最长的字符串_查找不重复字符的最长子字符串(编程面试中常见题-用8种编程语言来回答)...

    查找不重复字符的最长子字符串(编程面试中常见题-用8种编程语言来回答) 给定一个字符串str,找到不重复字符的最长子字符串. 比如我们有 "ABDEFGABEF", 最长的字符串是 ...

  9. android string拼接字符串_「JAVA」细述合理创建字符串,分析字符串的底层存储,你不该错过...

    Java基础之字符串操作--String 字符串 什么是字符串?如果直接按照字面意思来理解就是多个字符连接起来组合成的字符序列.为了更好的理解以上的理论,我们先来解释下字符序列,字符序列:把多个字符按 ...

最新文章

  1. pandas使用shift方法进行特征差分
  2. ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步
  3. Leetcode上的解法看不懂?试着用动画的方式去辅助理解
  4. WTL-编译出错01--CVTRES : fatal error CVT1100: 资源重复。类型: MANIFEST,名称: 1,语言: 0x0409
  5. 如何上传文件及文件夹到IPFS
  6. TextView实现歌词同步《IT蓝豹》
  7. 楚留香服务器维护时间,2019年06月28日官方维护公告
  8. Markdown stackoverflow 增加中划线
  9. MySQL复制篇之---半同步复制
  10. Java map转JSON
  11. TortoiseSVN回退版本
  12. LC-3 汇编语言 指令集
  13. 成功三大定律 重在厚积薄发!
  14. Codeforces 417D Cunning Gena(状压DP)
  15. 外贸须知:和各国客户做生意需要注意的点
  16. SX1278与STM8L
  17. HTML二级下拉菜单常见样式以及常见问题
  18. 电脑移动硬盘清理不出垃圾怎么办
  19. 网红、大V、明星的隐私信息大量被泄露!走过路过不要错过,买不买没关系,到屋里瞧一瞧!
  20. 模棱两可的生物学概念问题辨析1

热门文章

  1. 小白入职AI数据工程师
  2. ClickHouse数据导入(Flink、Spark、Kafka、MySQL、Hive)
  3. git创建仓库,并提交代码(第一次创建并提交)(转)
  4. oc - runtime运行机制
  5. NOIP2018赛前停课集训记——最后的刷板子计划
  6. leetcode 148. Sort List
  7. 关于std::string和 C-style string的一些知识点备忘
  8. Xcode字体新宠 Monoid
  9. Java关键字break、return、continue
  10. python关于文件的一些记录