百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

[西门子PLC] S7-1200PLC中所支持的数据类型详解

liebian365 2025-04-05 20:01 5 浏览 0 评论

数据类型呢,就是讲数据的长度和属性的,也就是指定数据元素的大小,还有怎么去解释数据。每个指令起码得支持一种数据类型,有的指令还能支持好多种数据类型。所以呀,指令上用的操作数的数据类型一定得跟指令支持的数据类型一样。那在建立变量的时候,咱们得给建立的变量分配对应的数据类型。在 TIA Portal 里设计程序,能用来建立变量的地方有:变量表、DB 块、FB 块、FC 块、OB 块的接口区。但是呢,不是所有数据类型对应的变量表都能在这些地方建立。S7-1200PLC 支持的数据类型分成基本的数据类型、复杂的数据类型、参数数据类型、系统数据类型、硬件数据类型还有用户自定义数据类型。基本数据类型是 PLC 编程里最常用的,一般把占用存储空间 64 个二进制位以下的数据类型叫做基本的数据类型,像位、位系列、整数、浮点数、日期&时间、字符这些都算。


  1. 无符号整数型包括:位(BOOL)、字节(BYTE)、字(WORD)、双字(DWORD)以及字符(CHAR)。
  2. 整数数据类型分两种,一种是有符号整数,另一种是无符号整数。

有符号整数有短整数型(SInt)、整数型(Int)和双整数型(DInt)。

无符号整数有无符号短整数型(USInt)、无符号整数型(UInt)、无符号双整数型(UDInt)。基本数据类型的存储格式是这样的,所有整数的数据类型表示符号都有 INT,符号里带 S 的就是短整数型,带 D 的就是双整数型,带 U 的就是无符号整数。符号里不带 S 或者 D 的那就是整型,不带 U 的就是有符号整数型。整数有正整数和负整数,在整数存储器里,最高位是用来表示符号的,最高位是 0 就表示正整数,最高位是 1 就表示负整数。比如说:数值 5 和 -5 分别存放在 MB100 里,MB100 的数据类型就是 SINT 。

实数的存储格式

实数也叫浮点数,包括单精度(32 位)的浮点数和双精度(64 位)的浮点数。单精度和双精度的浮点数,除了存储空间不一样,它们的表示方式和存储方式都是相同的。

在 32 位的单精度浮点数里,最高位是浮点数的符号位,要是正的浮点数,这个符号位就是 0 ,要是负的浮点数,符号位就是 1 。

时间和日期的数据类型

时间数据类型 TIME 主要是用在定时器设置上的,它是 32 位有符号的双整数,单位是 MS 。

日期数据类型 DATA 是用来指定日期的,是 16 位的无符号整数。DTL 数据类型要用 12 个字节的结构来保存日期和时间的信息,这 12 个字节里包含了年、月、日、星期、时、分、秒和纳秒。主要是用在对系统时钟的设置和读取上。

DTL 的每一部分都有不一样的数据类型和取值范围,指定值的数据类型必须跟相应的数据类型一样。可以在全局数据块或者块的接口区里定义,但不能在变量表中定义。DTL 数据类型的存储格式就像图里显示的那样:

字符和字符串数据类型


字符和字符串能在全局数据块或者块的接口区去定义,但是不能在变量表中定义。

Char(8 位字符)在存储器里占一个字节,可以存储用 ASCII 格式编码的单个字符。

Wchar(16 位字符)在存储器里占一个字的空间,能包含任何的字符表示形式。

String(字符串)这种数据类型是用来存储一串单字节字符的,String 能提供多达 256 个字节,头两个字节分别表示字节里最大的字符数和当前的字符数。定义字符串的最大长度能够减少它占用的存储空间。

Wsting 数据类型和 sting 数据类型差不多,支持单字值的更长的字符串,第一个字包含最大的总字符数,下一个字包含的是当前的总字符数,接下来的字符串最多能含 65534 个字。

数组数据类型(ARRAY)

数组数据类型(ARRAY)是由数量固定并且多个相同数据类型的元素组成的。

ARRAY 类型能够在 DB、OB/FC/FB 接口区、PLC 数据类型这些地方定义,但不能在 PLC 变量表中定义。

数组的格式是:Array[lo..hi]of type 。这里面,lo 表示的是 low(低),hi 表示的是 high(高),是数组元素编号的下标和上标。取值范围在[-32768–32767] ,type 是基本数据类型。

结构数据类型(Struct)

结构数据类型(Struct)是一种数据结构,它由指定数量的、不同数据类型的元素组成。这些元素可以是基本数据类型,也可以是像 Struct、数组这样的复杂数据类型,还有 PLC 数据类型(UDT)等等。

Struct 类型嵌套 Struct 类型的深度最多限制到 8 级。Struct 类型的变量在程序里既可以当作一个整体的变量,也能够单独使用组成这个 Struct 的元素。Struct 类型能够在 DB、OB/FC/FB 接口区、PLC 数据类型(UDT)这些地方进行定义和使用。

访问方式如下

Variant 数据类型

Variant 类型是一种参数数据类型,只会出现在除了 FB 的静态变量之外的 OB/FC/FB 接口区。

Variant 类型的实际参数是一个能够指向不同数据类型变量的指针。它能够指向基本数据类型,也能指向复杂数据类型、UDT 等等。

Variant 数据类型的操作数不会占用背景数据块或者工作存储器里的空间,不过会占用 CPU 上的装载存储器的存储空间。在调用某个块的时候,只能在块的接口参数中建立这个变量,可以把这个块的 Variant 参数和任何数据类型的变量连接起来。除了传递变量的指针,还会传递变量的类型信息。在这个块里能够利用 Variant 的相关指令,把它识别出来并且进行处理。


PLC数据类型(UDT)

UDT 类型是一种数据结构,由多个不同数据类型的元素组成。这些元素可以是基本数据类型,也可以是 STRUCT、数组等复杂数据类型,还有其他 UDT 等。UDT 类型嵌套 UDT 类型的深度最多限制到 8 级。UDT 类型能够在 DB、OB/FC/FB 接口区使用。在 PLC 变量表中的 I 和 Q 也能够用 UDT 类型。UDT 类型在程序里能够统一更改和重复使用,要是某个 UDT 类型有了修改,执行软件全部编译就能自动更新所有使用这个数据类型的变量。被定义为 UDT 类型的变量在程序里既能够当作一个整体的变量来用,也能够单独使用组成这个变量的元素。另外,在新建 DB 块的时候,还能直接创建 UDT 类型的 DB,这种 DB 只包含一个 UDT 类型的变量。UDT 类型当作一个整体来使用的时候,可以和 Variant、DB_ANY 类型以及相关指令配合得很好。UDT 是 Struct 类型的升级替代,功能基本上完全能兼容 Struct 类型。



1、点击 CPU 菜单下面,PLC 数据类型里的“添加新数据类型”按钮。
2、在弹出来的页面中能够添加所需要的变量、类型、起始值、注释等等。

S7-1200数据类型详解 PLC论坛-全力打造可编程控制器专业技术论坛 -

http://bbs.plcjs.com/forum.php?mod=viewthread&tid=504246&fromuid=1

(出处: PLC论坛-全力打造可编程控制器专业技术论坛)

#非标自动化#

#西门子PLC#

相关推荐

[西门子PLC] S7-1200PLC中所支持的数据类型详解

数据类型呢,就是讲数据的长度和属性的,也就是指定数据元素的大小,还有怎么去解释数据。每个指令起码得支持一种数据类型,有的指令还能支持好多种数据类型。所以呀,指令上用的操作数的数据类型一定得跟指令支持的...

C语言wctomb函数详解:宽字符到多字节字符的「翻译官」

核心定位wctomb是C语言中用于将宽字符转换为多字节字符的「翻译官」,它能将单个宽字符(wchar_t)转换为多字节字符(如UTF-8编码的中文)。就像一位翻译官,它能将一种语言(宽字符)翻译成...

Python 中数组和列表之间的区别(python列表和c语言数组区别)

在这篇文章中,您将了解Python中数组和列表之间的区别。Python列表Python列表是一种内置数据结构,是包含在方括号[]的元素集合。它们具有许多独特的属性,使它们与其他数据结构不同。有...

Linux内核设计与实现—进程管理(linux内核原理与实现)

进程进程就是处于执行期的程序(目标码存放在某种存储介质上)。进并不仅仅局限于一段可执行程序代码(Unix称其为代码段,textsection)。通常进程还要包含其他资源,像打开的文件,挂起的信号,...

实际工程项目中西门子S7-1500如何批量读取和写入机器人信号

方法一:DPRD_DAT:读取DP标准从站的一致性数据该指令适用于中央模块以及DP标准从站和PROFINETIO设备。可以使用以下数据类型:BOOL,BYTE,CHAR,WCHAR,WO...

C语言mbstowcs函数详解:多字节字符串到宽字符的「翻译官」

核心定位mbstowcs是C语言中用于将多字节字符串转换为宽字符字符串的「翻译官」,它能将多字节字符(如UTF-8编码的中文)转换为宽字符(wchar_t)。就像一位翻译官,它能将一种语言(多字节...

C语言mbtowc函数详解:多字节字符到宽字符的「翻译官」

核心定位mbtowc是C语言中用于将多字节字符转换为宽字符的「翻译官」,它能将单个多字节字符(如UTF-8编码的中文)转换为宽字符(wchar_t)。就像一位翻译官,它能将一种语言(多字节字符)翻...

西门子PLC系列连载|No.5 初识西门子1200PLC数据类型

导语:在之前的文章中我们介绍了PLC的相关基础知识和一些小的程序段,也讲解过博途软件使用的一些基本方法。那么我们在本章内容将为大家讲解关于西门子1200系列PLC的常用数据类型,以及这些数据类型的区别...

计算机中常见的字符编码及存储方式

常见的字符编码ASCII、GBK、GB2312、Unicode等等常识用多个字节来代表的字符称之为宽字符,而Unicode码只是宽字符编码的一种实现,宽字符并不一定是Unicodechar窄字...

西门子SCL高级语言之数据转换介绍

(整数转浮点数INT_TO_REAL)我们在做项目中经常用到各种类型的数据,这就需要转换(CONVERT)指令来转换,由于博途数据转换指令只有它一个,那我们就只记住它就可以了,注意设置需要转换...

SCL编程语言学习(2)-启保停电路(起保停电路plc程序)

“启保停”电路是学习过程中最常见的一个案例,也是最简单易懂的控制程序。如果采用梯形图编程,如图1所示。在实际工程的电路中,很少有这么简单的起保停电路,一般都需要考虑急停、限位、过载保护等多项因素,启停...

GCC的常用编译选项(gcc编译工具)

GCC(GNUCompilerCollection,GNU编译器套件)是由GNU开发的编程语言译器。对于C语言源代码文件,使用GCC生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相...

「C语言」初始化数组,C语言中初始化特定列表和元素

如果没有显式地初始化数组变量,那么就会采用一般规则:如果数组具有动态存储周期,那么数组元素的值就是没有定义的。否则,所有的元素都会被默认地初始化为0(如果数组元素是指针,则会被初始化为NULL)。编...

C++11新特性(c++11新特性 lambda)

1、智能指针2、Lambda表达式3、线程库4、原子操作5、统一的列表初始化{}6、右值引用和移动构造7、引入nullptr指针8、类型推导auto和decltype智能指针:智能指针是一个...

西门子 S7-1200 PLC 数据类型详解

关注“PLC发烧友”,一起涨知识!回复:西门子全套,领西门子系列PLC电子资料包!数据类型用来描述数据的长度和属性,即用于指定数据元素的大小及如何解释数据,每个指令至少支持一个数据类型,而部分指令支持...

取消回复欢迎 发表评论: