2.1 数据类型及表示方法
1.数据类型
在PLC的编程语言中,大多数指令要与具有一定大小的数据对象一起进行操作。不同的数据对象具有不同的数据类型,不同的数据类型具有不同的数制和格式选择。在FX系列PLC中数据类型主要有位、16位整数、32位整数、浮点数、字符串常数和字符串数据等,下面主要介绍常用的几种数据类型。
(1)位
任何类型的数据都是以一定格式采用二进制的形式保存在存储器内。一位二进制数称为1位(bit),包括“0”或“1”两种状态,表示处理数据的最小单位。可以用一位二进制数的两种不同取值(“0”或“1”)来表示开关量的两种不同状态,对应PLC中的编程软元件,如果该位为“1”,则表示梯形图中对应编程软元件的线圈有信号流流过,常开触点接通,常闭触点断开;如果该位为“0”,则表示梯形图中对应编程软元件的线圈没有信号流流过,常开触点断开,常闭触点接通。
(2)16位整数
16位整数包括正整数、0、负整数,是由十六位数组成,数据范围为-32768~+32767,最高位(第15位)为16位整数的符号位,0表示正数,1表示负数。在FX系列PLC中,数据是以二进制补码的形式存储,用字母K表示十进制常数、字母H表示十六进制常数,如K×××或H×××。
十六进制数(Hexadecimal,简称为HEX)使用16个数字符号,即0~9和A~F,A~F分别对应于十进制数的10~15,十六进制数采用逢16进1的运算规则。FX系列PLC的数据寄存器D均为16位数。
十进制数用于辅助继电器M、定时器T、计数器C、状态继电器S等软元件的编号。十进制常数还用于定时器、计数器的设定值和功能指令的操作数中数值的指定。
(3)32位整数
32位整数是由两个16位整数组成,数据范围为-2147483648~+2147483647,最高位(第31位)为32位整数的符号位,0表示正数,1表示负数,其32位整数也用常数符号K和H表示。在使用数据寄存器表示时,由相邻的两个数据寄存器(D1、D0)组成,D1为高16位,D0为低16位。
(4)浮点数
浮点数又称为实数(REAL),是一个32位的数,它由两个相邻的数据寄存器组成,最高位(第31位)为浮点数的符号位,浮点数的范围为±1.175495×10-38~±3.402823×1038。
浮点数的优点是用很小的存储空间可以表示非常大或非常小的数。PLC输入和输出的数值大多数是整数,PLC中提供整数和浮点数之间的相互转换指令,浮点数的运算速度比整数的运算速度慢一些。
2.数据的表示方法
FX系列PLC提供的数据表示方法分为位软元件、位软元件组合和字软元件等。
(1)位软元件
位软元件只处理开关信息的元件,如X、Y、M、T、C、S和D□.b等。其中T和C对应于定时器和计数器的触点,D□. b是某数据寄存器中的第b位(b=0~F),其中的“□”是数据寄存器的软元件号。
(2)位软元件组合
FX系列PLC用KnX、KnY、KnM、KnS表示连续的位软元件组,每组由4个连续的位软元件组成,n为位软元件的组数(n=1~8)。如K1Y000表示由Y003~Y000组成的1个位软元件组,Y000为数据的最低位(首位),Y003为最高位,如K2M0表示M7~M0组成的2个位软元件组。
建议在使用位软元件组合时,X和Y的首地址(最低位)为0,如X0和Y10等,对于M和S,首地址可以采用能被8整除的数,当然也可以采用任意一个位地址作为首地址。
(3)字软元件
字软元件的一个字由16个二进制位组成,定时器T和计数器C的当前值寄存器、数据寄存器D、扩展寄存器R、变址寄存器V和Z等都是字软元件,位软元件X、Y、M、S也可以组成字软元件来进行数据处理。
视频“位软元件与字软元件”可通过扫描二维码2-1播放。
二维码2-1
3.数据寄存器
在FX系列PLC中,数据寄存器(D)用来存储数据和参数。数据寄存器可以存储16位二进制数(称为一个字),两个数据寄存器合并起来使用可以存放32位数据。在D0和D1组成的32位寄存数器(D1、D0)中,D0存放低16位,D1存放高16位。16位和32位数据寄存器的最高位均为符号位,0表示正数,1表示负数。
数据寄存器可以应用于功能指令,以及用于定时器和计数器设定值的间接指定。
(1)一般用途数据寄存器
PLC从RUN模式进入STOP模式时,所有一般用途数据寄存器(编号为D0~D199)的值被清零。如果特殊辅助继电器M8033为ON,PLC从RUN模式进入STOP模式时,一般用途数据寄存器的值保持不变。
(2)断电保持型数据寄存器
断电保持型数据寄存器(编号为D200~D511,可通过参数的设定更改为非断电保持型;编号为D512~D7999,不可通过参数设定进行变更保持特性)有断电保持功能,PLC从RUN模式进入STOP模式时,断电保持型寄存器的值保持不变。通过参数设定,可以改变断电保持型数据寄存器的范围。M8032为ON时,将会清除所有的断电保持软元件。
(3)特殊用途数据寄存器
FX3系列的特殊用途数据寄存器(编号为D8000~D8511),它们用来控制和监视PLC内部的各种工作状态和软元件,如电池电压、扫描时间、网络通信和正在动作的状态的编程等。PLC上电时,这些数据寄存器被写入默认的值。
可以用D8000来改写监控定时器WDT以ms为单位的设定时间值。D8010~D8012中分别是PLC扫描时间的当前值、最大值和最小值。