首页 > 编程知识 正文

plc应用实例(大型plc程序怎么看)

时间:2023-05-05 17:56:03 阅读:102230 作者:971

有网友在学习PLC的过程中对数据类型有很多疑问,所以用这篇文章来讲解PLC中的基本数据类型。

手册中对数据类型的解释如下:

“数据类型用于指定数据元素的大小以及如何解释数据。每个指令参数至少支持一种数据类型,而有些参数支持多种数据类型。将光标停在指令的参数字段上,可以看到给定参数支持的数据类型”。

从上述手册的解释来看,编程中需要为程序中使用的数据指定一个数据类型,该数据类型能够满足数据大小(长度)并允许程序进行计算。因此,需要知道你使用的数据是什么类型和长度,这样才能在程序中准确地进行逻辑运算、数学运算和数据传输。同时也取决于你正在使用的指令可以使用哪些数据类型,有些数据类型可以根据指令进行转换。

1.基本数据类型有哪些?

以西门子TIA S7-1200为例,1200的基本数据类型包括:二进制数、整数、浮点数、定时器数据、时间日期、字符串等。以下主要通过混淆二进制数、整数和浮点数来解释:

1.二进制数(BOOL、BYTE、WORD、DWORD、LWORD)

(1)BOOL类型:qrdxz,表示1位数的值,即0或1。

(2)BYTE: byte,位串,占用8位,例如2#0到2#1111_1111,对应的十六进制数是16 # 00-16 # ff。例如IB2、MB10、DB1。DBB4

(3)WORD: word,一个位串,占用16位。例如2#0到2#1111 1111 1111 1111,对应的十六进制数是16 # 0-16 # ffff。例如MW10、DB2。DBW1.

(4)DWORD:双字,位串占用32位,例如:2#0到2 # 1111 1111 1111 1111 1111 1111,对应的十六进制数是16 # 0-16 # ffffffff。例如MD10、DB2。DBD1

2.整数(SINT,USINT,INT,UINT,DINT,UDINT,LINT,ULINT),其中S代表短,U代表无符号,D代表双。

(1)SINT和美国利益集团

两个相同的是短整数,占8位。地址的例子是MB0,DB1.DBB0。然而,这两种值的范围是不同的。

SINT:带符号短整形,范围从-128-127,2 # 0-2 # 0111 1111,最高位是符号位。

USINT:无符号短整形,范围从0到255,2 # 0到2 # 1111 1111。

(2)INT和UINT

两个相同的是整数,占16位。地址示例:DB1 MW0。然而,这两种值的范围是不同的。

INT:带符号整形,范围从-32768到32767,2 # 0到2 # 0111 1111 1111 1111,最高位是符号位。

USINT:无符号短整形,范围从0到65535,2 # 0到2 # 1111 1111 1111 1111。

(3)LDNT和乌迪特

两个相同的是双整数,占32位。地址示例:DB1 MD0。然而,这两种值的范围是不同的。

DINT:带符号整形,取值范围为-2,147,483,648-2,147,483,647,2 # 0-2 # 011111111111111111111,最高位为符号位。

Ud:无符号整形,范围为0-4,294,967,295,2 # 0-2 # 1111 1111 1111 1111 1111 1111 1111 1111 1111

3.浮点数

实数(或浮点数)表示为32位单精度数(实数)或64位双精度数(LReal)。单精度浮点数的精度最高可达6个有效数字,双精度浮点数的精度最高可达15个有效数字。

输入浮点常数时,为了保持精度,最多可以指定6位(实数)或15位(LReal)有效数字。

总结:以上数据类型是我们编程中最常用的数据类型。通过以上的介绍,我们应该对它们有一定的了解。虽然不同数据类型的数据占用的字节数可能相同,但它们的数据实际上是不同的。比如INT和WORD都是16位,但是数据内容不同,所以在编程的时候一定要注意。一般来说,逻辑计算常使用WORD,数学计算常使用INT,对薄涂TIA S7-1200使用SCL编程时区分严格。

二、如何定义数据类型

在编程中,我们通常必须首先定义数据类型,比如数据块中的数据类型。让我们以在数据库块中定义数据类型为例,看看不同数据类型的地址会发生什么。

创建以下数据块,并创建包含不同数据类型的数据:

从上图看不出偏移量。此时,因为TIA中的DB块默认勾选了“优化块访问”,所以只有符号地址可以显示,没有偏移,所以可以从块属性中删除“优化块访问”。

让我们看看不同数据类型的地址:

从上图你能发现什么?

(1)BOOL类型,虽然只有一位,但也占一个字节。

(2)SINT USINT和BYTE都是1字节,但是它们初始值的格式不同。同样,WORD和INT是相同的两个字节。因此,在数据类型分类中,WORD被分类为二进制数,一般用于逻辑运算,而INT用于数学运算。

(3)REAL为4字节,在数学计算中要注意。比如我之前写的文章#转换指令,和我一起阅读了如何使用1200手册中的基本指令(转换指令),也就是计算真实数据时使用的平方根指令,所以我在选择数据时使用了DINT数据。(如下图所示)。如果不注意,很容易造成计算错误。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。