PLC300基础逻辑块及数据类型先容
PLC300基础逻辑块及数据类型先容
PLC300基础逻辑块及数据类型先容
一、逻辑块先容
在 S7 用户程序内可使用多种类型的块,,,OB、FB、SFB、FC 和 SFC 包括程序段,,,因此也称为逻辑块。。每种块类型允许的块 数目和块长度由 CPU 决议。。如下图:
1、组织块OB
组织块是操作系统和用户程序之间的接口。。OB 用于执行详细的程序:
1、在 CPU 启动时;;
2、在一个循环或延时时间抵达时;;
3、当爆发硬件中止时;;
4、当爆发故障时;;
5、组织块凭证其优先级执行。。
因此,,,组织块的基本功效是挪用用户程序,,,同时还可以执行自动化系统的启动、循环程序的处置惩罚、中止程序的执行以及过失的处置惩罚等功效。。差别类型的组织块完成差别的功效。。
2、数据块DB
数据块用于存储程序数据,,,分为全局数据块和配景数据块。。数据块就相当于其它的变量地点,,,会见方法分为直接和间接寻址方法。。在建设db块时,,,若是需要可以插入建好的。。关于配景数据块,,,它与函数块相关联,,,存储FB的输入、输出、输入/输出、静态变量的参数,,,其变量只能在FB中界说,,,不可在配景数据块中直接建设,,,程序中挪用FB时,,,可以分派一个建设的配景DB,,,也可以直接界说一个新的DB块,,,该DB块将自动天生并作为这个FB的配景数据块。。
数据块的符号会见:<DB块名>.<变量名>;;
绝对地点会见:<DB块号>.<变量长度及偏移量>
3、函数(功效)FC
函数FC是用户编写的没有牢靠的存储区的块,,,其暂时变量存储在局部数据客栈中,,,FC执行竣事后,,,这些数据就丧失。。函数FC常用于对一组输入值执行特定运算,,,例如:可使用 FC 执行标准运算和可重复使用的运算(例如数学盘算)或者执行工艺功效(如使用位逻辑运算执行自力的控制)。。函数FC也可以在程序中的差别位置多次挪用,,,简化了对经常重复爆发的使命的编程。。
函数FC在使用时可以选择不带参数的FC和带参数的FC,,,若需要使用带参数的FC,,,那么在翻开FC后,,,需要在FC的接口界说相关的接口参数,,,挪用函数FC时需要给FC的所有形参分派实参。。
4、函数块(功效块)FB
函数块FB是用户编写的带有自己的存储区的块。。函数块FB在使用时可以使用带参数的FB和不带参数的FB。。带参数的FB和带参数的FC的区别在于,,,带参数的FC挪用后需要付与实参后才可运行,,,而带参数的FB可以不付与实参,,,也可以运行。。
FB与FC相比,,,每次挪用函数块都必需为之分派配景数据块,,,一个数据块可以作为一个函数块的配景数据块,,,也可以作为多个函数块的配景数据块(多重配景数据块),,,配景数据块作为函数块的存储器,,,可以将接口数据区(TEMP类型除外)以及函数块运算的中心数据存储于配景数据块中,,,其他逻辑程序可以直接使用配景数据块存储的数据。。关于FC,,,中心逻辑效果必需使用函数的输入、输出接口区存储。。
函数块FB很少作为子程序使用,,,通常将函数块作为具有存储功效的函数使用,,,每挪用一次分派一个配景数据块,,,将运算效果转达到配景数据块中存储。。一些特殊编程应用可以在函数块中指定接口数据区存储于多重配景数据块的最先位置,,,使用更无邪。。
5、系统函数(系统功效)(SFC)和系统函数块(系统功效块)(SFB)
SFC和SFB集成在CPU中,,,相当于系统提供的可供用户程序挪用的FC或FB,,,实现与CPU系统相关的一些功效,,,如读写CPU时钟等功效。。挪用SFB需要配景数据块。。
二、常用数据类型
PLC300常用数据类型主要有B00L(布尔型),BYTE(字节),WORD(字),DWORD(双字),INT(整数),DINT(双整数)以及AEAL(浮点型)。。
如下图:
1、位:常称为BOOL(布尔型),,,只有两个值:0或1。。如:I0.0,,,Q0.1,,,M0.0,,,V0.1等。。
2、字节(Byte)
一个字节(Byte)即是8位(Bit),,,其中0位为最低位,,,7位为最高位。。如:IB0(包括I0.0~I0.7位),,,QB0(包括Q0.0~Q0.7位),,,MB0,,,VB0等。。规模:00~FF(十进制的0~255)。。
3、字(Word)
相邻的两字节(Byte)组成一个字(Word),,,来体现一个无符号数,,,因此,,,字为16位。。如:IW0是由IB0和IB1组成的,,,其中I是区域标识符,,,W体现字,,,0是字的起始字节。。需要注重的是,,,字的起始字节(如上例中的“0”)都必需是偶数。。字的规模为十六进制的0000~FFFF(即十进制的0~65536)。。在编程时要注重,,,若是已经用了IW0,,,如再用IB0或IB1要特殊加以小心。。
4、双字(Double Word)
相邻的两个字(Word)组成一个双字,,,来体现一个无符号数。。因此,,,双字为32位。。如:MD100是由MW100和MW102组成的,,,其中M是区域标识符,,,D体现双字,,,100是双字的起始字节。。需要注重的是,,,双字的起始字节(如上例中的“100”)和字一样,,,必需是偶数。。双字的规模为十六进制的0000~FFFFFFFF(即十进制的0~4294967295)。。在编程时要注重,,,若是已经用了MD100,,,如再用MW100或MW102要特殊加以小心。。
以上的字节、字和双字数据类型均为无符号数,,,即只有正数,,,没有负数。。
5、16位整数(INT,,,Integer)
整数为有符号数,,,最高位为符号位,,,1体现负数,,,0体现正数。。规模为-32768~32767。。
6、32位整数(DINT,,,Double Integer)
32位整数和16位整数一样,,,为有符号数,,,最高位为符号位,,,1体现负数,,,0体现正数。。规模为-2147483648~2147483647。。
7、浮点数(R,,,Real)
浮点数为32位,,,可以用来体现小数。。
三、复合数据类型
用户通过复合基本数据类型而天生就是复合数据类型。。复合数据类型包括以下几种:
1、数组(ARRAY)
将一组统一类型的数据组合在一起组成一个单位就是数组。。
2、结构(STRUCT)
将一组同差别类型的数据组合在一起组成一个单位就是结构。。
3、字符串(STRING)
字符串是由最多254个字符组成的一维数组。。
4、日期和时间(DATE-AND-TIME)
用于存储年、月、日、时、分、秒、毫秒和星期的数据。。占用8个字节,,,BCD编码。。星期天代码为1,,,星期一~星期六代码划分是2~7。。
如:DT#2004_07_15_12:30:15.200为2004年7月15日12时30分15.2秒。。
5、用户界说的数据类型(UDT,,,User-Defined Data Types)
四、扩展
在PLC300中:常用字母体现如下
I:输入继电器,
Q:输出继电器
M:通用辅助继电器
SM:特殊继电器
V:变量存储器
L:局部变量存储器
S:顺序控制继电器
T:准时器
C:计数器
M体现内部存储区。。MB体现长度为字节的操作数在内部存储区,,,MW体现长度为字的操作数在内部存储区,,,MD体现长度为双字的操作数在内部存储区。。
操作数包括两个要素:标识符和标识参数。。标识符用来体现操作数存放区域及操作位数;;标识参数用来体现操作数在该存储区域内的详细位置。。
存储区域包括有:输入映像区(I),,,输出映像区(Q),,,内部存储区(M),,,物理输入区(PI),,,物理输出区(PQ),,,数据块(DB),,,数据块(DI),,,暂时客栈(L)
辅助标识符包括有:X(位),,,B(字节),,,W(字—2字节),,,D(双字—4字节)