浔之漫智控技术(上海)有限公司
西门子模块代理商
西门子模块总代理(西门子代理商)

西门子模块总代理

西门子模块总代理

西门子模块总代理

西门子PLC共享数据块与数据内容

1. 数据块的分类

  数据块(DB)用来分类储存设备或生产线中变量的值,数据块也是用来实现各逻辑块之间的数据交换、数据传递和共享数据的重要途径。数据块丰富的数据结构便于提高程序的执行效率和进行数据管理。与逻辑块不同,数据块只有变量声明部分,没有程序指令部分。

  数据块分为共享数据块(DB)和背景数据块(DI)。在共享数据块和符号表中声明的变量都是全局变量。用户程序中所有的逻辑块(FB、FC、SFB、SFC和OB)都可以使用共享数据块和符号表中的数据。

  2. 生成共享数据块

  在符号表中,共享数据块的数据类型是它本身,背景数据块的数据类型是对应的功能块。

  用鼠标右键点击SIMATIC管理器左边窗口中的“块”,在弹出的菜单中执行“插入新对象”→“数据块”命令,生成新的数据块,默认的类型为共享数据块。

  3. 基本数据类型

  基本数据类型包括位(BOOL)、字节(BYTE)、字(WORD)、双字(DWORD)、整数(INT)、双整数(DINT)和浮点数(FLOAT,或称实数REAL)等(见3.2.2节)。

  4. 复杂数据类型

  复杂数据类型包括日期和时间(DATE_AND_TIME)、字符串(String)、数组(Array)、结构(Struct)和用户定义的数据类型(UDT)。

  (1)日期和时间

  日期和时间(DATE_AND_TIME,缩写为DT)占用8个字节的BCD码。第1~6个字节分别存储年的低两位、月、日、时、分和秒,毫秒存储在整个第7个字节和第8个字节的高4位,星期存放在第8个字节的低4位。星期日的代码为1,星期一~星期六的代码为2~7。例如2010年7月27日12点30分25.123秒可以表示为DT#10-07-27-12∶30∶25.123,可以省略毫秒部分。

  通过调用程序编辑器的文件夹“\Libraries\ Standard Library\IEC Function Block”中的IEC功能(见附表B-4),可以实现DATE_AND_TIME数据类型与基本数据类型之间的相互转换、日期时间的比较和加、减,具体的使用方法见在线帮助。

  调用SFCO" SET_CLK",可以设置和启动CPU时钟的时间和日期。调用SFC1"的READ_CLK",可以读取CPU系统时钟当前的日期和时间。

  (2)字符串

  字符串(String)是字符(Char)组成的一维数组,每个字节存放1个字符。第1个字节是字符串的*大字符长度,第2个字节是字符串当前有效字符的个数,字符从第3个字节开始存放,一个字符串*多有254个字符。字符串的默认长度为254B,在DB4中定义字符串Fault的长度为20个字符(见图4-7),它只占用从DB4.DBB20开始的22B,其初值只有4个字符'Over’。String变量中未使用的字节地址被初始化为B#16#00。

  将DB4下载到仿真PLC,用变量表监控DB4.DBB20和DB4.DBB21,它们的值分别为20(字符串Fault的长度为20)和4(当前有4个字符)。还可以看到从DB4.DBB22开始的4个字节中字符‘Over’的ASCII码。可以用语句表中的基本指令访问字符串中的字符,例如用指令“L DB4.Fault 【3】”来访问字符串Fault的第3个字符。


二维数组的结构


  可以用标准库的IEC库中的21个功能来处理字符串变量(见附表B-4),包括字符串与其他数据类型的转换、字符串的比较和字符串的编辑,具体的使用方法见在线帮助。

  (3)数组

  数组(ARRAY)是同一类型的数据组合而成的一个单元,数组的维数*多为6维。图4-6给出了一个二维数组ARRAY 【1.2,1..3】 的内部结构,它共有6个字节元素,图中的每一小格为二进制的1位,每个元素占一行(一个字节)。ARRAY后面的方括号中的数字用来定义每一维的起始元素和结束元素在该维中的编号,可以取-32768~32767之间的整数。各维之间的数字用逗号隔开,每一维开始和结束的编号用两个小数点隔开。如果某一维有n个元素,该维的起始元素和结束元素的编号可以采用1和n,例如AR-RAY [1..100]。

  (4)结构

  结构(STRUCT)可以是不同类型的数据的组合。可以用基本数据类型、复杂数据类型(包括数组和结构)和用户定义数据类型(UDT)作为结构中的元素,例如一个结构可以由数组和结构组成,结构可以嵌套8层。用户可以把过程控制中有关的数据统一组织在一个结构中,作为一个数据单元来使用,而不是使用大量的单个的元素,为统一处理不同类型的数据或参数提供了方便。

  (5)用户定义数据类型

  用户定义数据类型(User-Defined Data Types)简称为UDT,是一种特殊的数据结构,用户只需要对它定义一次,定义好以后可以在用户程序中作为数据类型使用。可以用它来产生大量的具有相同数据结构的数据块,用这些数据块来输入用于不同目的的实际数据。例如生成用于颜料混合配方的UDT后,可以用它生成用于不同颜色配方的数据组合。用户定义数据类型由基本数据类型和(或)复杂数据类型组成。定义好以后可以在符号表中为它指定一个符号名,使用UDT可以节约录人数据的时间。


展开全文
优质商家推荐 拨打电话