第4章 全局数据块与数据类型_第1页
第4章 全局数据块与数据类型_第2页
第4章 全局数据块与数据类型_第3页
第4章 全局数据块与数据类型_第4页
第4章 全局数据块与数据类型_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电气控制与PLC主讲教师:曾新红选用教材:《电气控制与PLC应用技术》曾新红

等主编广州航海学院教学目标

通过本节的学习,主要了解数据块的作用和数据类型的分类,及其在用户程序结构中的应用。进一步了解结构化编程的理念,掌握在TIAPortal编程软件中添加变量表、添加新块和调用功能块,掌握全局数据块和数据类型,学会如何进行PLC的调试与诊断。全局数据块与数据类型4.3.1全局数据块数据块(DB)是用于存放执行代码块时所需的数据的数据区。与代码块不同,数据块没有指令,STEP7软件中按数据生成的顺序自动地为数据块中的变量分配地址。有两种类型的数据块:

1)全局数据块存储供所有的代码块使用的数据,所有的OB、FB和FC都可以访问它们。

2)背景数据块存储的数据供特定的FB使用。背景数据块中保存的是对应的FB的Input(输入)、Output(输出)、InOut(输入输出)和Static(静态)变量。FB的临时数据(Temp)没有用背景数据块保存。在项目FB_FC中生成一个名为Globa1DB1的全局数据块DB5(见图4-20),在第2行生成一个名为INC100ms的无符号整数变量。在设置CPU的属性时,令MB0为时钟存储器字节,在OB1中用M0.0产生的10Hz的时钟脉冲,使变量INC100ms每100ms加1。在DB5中还生成了一个名为“发电机”的结构,和名为“功率”的数组(见图4.20)结构和数组“偏移量”列是它们在数据块中的起始地址,可以看出结构“发电机”占8B。点击数据块窗口的工具栏上的按钮(见图4.20),在选中的变量的下面增加一个空白行,点击工具栏上的按钮,在选中的变量的上面增加一个空白行。点击按钮,切换到扩展模式,将显示或隐藏“初始值”列,同时自动显示或隐藏结构和数组的元素。

图4.20全局数据块

选中项目树中的PLC_l,将PLC的组态数据和块下载到CPU,将CPU切换到RUN模式。打开DB5后,点击工具栏上的按钮,启动监视功能,出现“监视值”列(见图4.20),可以看到变量INC100ms的值在不断地增大。

用鼠标右键点击项目树中的DB5,执行出现的快捷菜单中的“属性”命令,选中打开的对话框左边的“属性”组(见图4.21),再选中右边的复选框“在设备中写保护数据块”,可以使数据块具有写保护(只读)功能。数据块可以按位(例如DBX3.5)、字节(DBB)、字(DBW)和双字(DBD)来访问。在访问数据块中的数据时,应指明数据块的名称,例如DBI.DBW20。

图4.21设置数据块的属性1、数据类型的分类必须为用户程序中使用的所有数据设置数据类型。可以使用下列的数据类型:

1)基本数据类型:用来描述数据的长度和属性。

2)复杂数据类型:由基本数据类型组合而成。

3)参数数据类型:用于定义传送到功能和功能块的参数。

4)系统数据类型:由系统生成,可供用户使用,具有预定义的不能修改的结构。

5)硬件数据类型;用于识别硬件元件、事件和中断OB等写硬件有关的对象。用户程序使用与模块有关的指令时,用硬件数据类型的常数来作指令的参数。用户程序中的操作与特定长度的数据对象有关,例如位逻辑指令使用位(bit)数据,Move指令使用字节、字和双字数据。

2、复杂数据类型复杂数据类型由其他数据类型组合而成,有下列4种复杂数据类型:1)DTL:用于表示用日期和时间定义的时刻,包括年、月、日、星期、小时、分、秒和纳秒,其长度为12B。2)String:最多由254个字符组成的字符串。

4.3.2

数据类型

3)Array:由固定个数的相同数据类型的元素组成的数组。4)Struct:由固定个数的元素组成的结构,其元素可以具有不同的数据类型。

PLC变量表只能定义基本数据类型的变量,不能定义复杂数据类型的变量。可以在代码块的界面区或全局数据块中定义复杂数据类型的变量。3、结构的生成与结构元素的使用在数据块DB5的第3行生成一个名为“发电机”的结构(见图4.21),数据类型为Struct。未生成结构的元素时,Struct所在的单元的背景色为表示出错的粉红色。生成一个结构的元素后,其背景色变为正常的白色。输入完结构“发电机”的4个元素后,点击“发电机”左边的按钮,它变为,同时结构的元素被隐藏起来。在结构“发电机”的下面一行生成一个名为“功率”的数组(见图4.21)。

4、参数类型在FB和FC中定义代码块之间传送数据的形式参数时,可以使用基本数据类型、复杂数据类型、系统数据类型和硬件数据类型,此外还可以使用参数类型。有两个参数数据类型:Variant和Void。Variant数据类型的参数是指向各种数据类型或参数类型变量的指针。Variant可以识别结构并指向它们,还可以指向结构变量的单个元件。5.系统数据类型

系统数据类型由固定个数的元素组成,它们具有不能更改的不同的数据结构。系统数据类型只能用于某些特定的指令,表4-1给出了可以使用的系统数据类型和它们的用途。

系统数据类型字节数描述IEC_Timer16用于定时器指令的定时器结构IEC_SCounter3用于数据类型为SInt的计数器指令的计数器结构IEC_USCounter3用于数据类型为USInt的计数器指令的计数器结构IEC_UCounter6用于数据类型为UInt的计数器指令的计数器结构IEC_Counter6用于数据类型为Int的计数器指令的计数器结构IEC_DCounter12用于数据类型为DInt的计数器指令的计数器结构IEC_UDCounter12用于数据类型为UDInt的计数器指令的计数器结构ErrorStruct28编程或I/O访问错误的错误信息结构,用于GET_ERROR指令CONDITIONS52定义启动和结束数据接收的条件,用于RCV_GFG指令TCON_Param64用于指定存放PROFINET开发通信连接描述的数据块的结构Void-该数据类型没有数值,用于输出不需要返回值的场合。例如可以用于没有错误信息的STAYUS输出表4-1系统数据类型6.硬件数据类型硬件数据类型的个数与CPU的型号有关。指定的硬件数据类型常数与硬件组态时模块的设置有关。在用户程序中插入控制或激活模块的指令时,将使用硬件数据类型常数来作指令的参数。表4-2给出了可以使用的硬件数据类型和它们的用途。表4-2硬件数据类型数据类型基本数据类型描述HW_ANYWord用于识别任意的硬件部件,例如模块HW_IOHW_ANY用于识别I/O组件HW_SUBMODULEHW_IO用于识别中央I/O组件HW_INTERFACEHW_SUBMODULE用于识别接口组件HW_HSCHW_SUBMODULE用于识别高速计数器,例如用于CTRL_HSC指令HW_PWMHW_SUBMODULE用于识别脉冲宽度调制,例如用于CTRL_PWM指令HW_PTOHW_SUBMODULE用于在运动控制中识别脉冲传感器AOM_IDENTDWord用于识别AS运行系统中的对象EVENT_ANYAOM_IDENT用于识别任意的事件EVENT_ATTEVENT_ANY用于识别可以动态地指定给一个OB的事件,例如用于ATTACH和DETACH指令EVENT_HWINTEVENT_ATT用于识别硬件中断事件OB_ANYInt用于识别任意的OBOB_DELAYOB_ANY出现时间延迟中断时,用于识别OB调用,例如SRT_DINT和CAN_DINT指令OB_CYCLICOB_ANY出现循环中断时,用于识别OB调用OB_ATTOB_ANY用于识别可以动态地指定给事件的OB,例如用于ATTACH和DETACH指令OB_PCYCLEOB_ANY用于识别可以指定给循环事件级别的事件的OBOB_HWINTOB_ANY出现硬件中断时,用于识别OB调用OB_DIAGOB_ANY出现诊断错误中断时,用于识别OB调用OB_TIMEERROROB_ANY出现时间错误时,用于识别OB调用OB_STARTUPOB_ANY出现启动事件时,用于识别OB调用PORTUInt点对点通信时用于识别通信接口CONN_ANYWord用于识别任意的连接CONN_OUCCONN_ANY用于识别PROFINET开放通信的连接变量表的“常数”选项卡列出了项目中的硬件数据类型的值,即硬件组件的标识符。其中的变量与项目中组态的硬件结构和组件的型号有关。4.3.3数据类型的转换1.数据类型的转换方式一个指令有关的操作数的数据类型应是协调一致的,这一要求也适用于块调用时的参数设置。如果操作数具有不同的数据类型,应对它们进行转换。有两种不同的转换方式。1)隐式转换:执行指令时自动地进行转换。2)显式转换:在执行指令之前使用转换指令进行转换。2.隐式转换如果操作数的数据类型兼容,将自动执行隐式转换。兼容性测试可以使用不同的标准:

1)使用IEC检查,采用严格的兼容性规则,指令有关的操作数必须具有相同的数据类型。2)不使用IEC检查,兼容性测试采用不太严格的标准。不要求指令有关的操作数具有相同的数据类型,但是必须具有相同的数据位数,例如16位的数据类型Int、UInt和Word。Real和Time之间的转换是例外,不允许这样的隐式转换。3、显式转换操作数不兼容时,不能执行隐式转换,可以使用显式转换指令。转换指令在指令列表的“数学函数”、“字符串+字符”和“转换操作”文件夹中。显式转换的优点是可以检查出所有不符合标准的问题,并用EN0的状态指示出来。

4、设置IEC检查功能如果激活了“IEC检查”,在执行指令时,将会采用严格的数据类型兼容性标准。

(1)设置对项目中所有新的块进行IEC检查执行“选项”菜单中的“设置”命令,选中出现的“设置”编辑器对话框左边窗口的“PLC编程”中的“出轨”组,用复选框选中右边窗口“新块的默认设置”区中的“IEC检查”,新生成的块默认的设置将使用IEC检查。(2)设置单独的块进行IEC检查如果没有设置对项目中所有新的块进行IEC检查,可以设置对单独的块进行IEC检查。用鼠标右键点击项目树中的某个代码块,执行快捷菜单中的“属性”命令,选中打开的对话框左边窗口的“属性”组(见图4-22),用右边窗口中的“LEC检查”复选框激活这个块的IEC检查功能。保存项目时才保存这个设置。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论