用户程序结构和故障诊断课件.ppt
《用户程序结构和故障诊断课件.ppt》由会员分享,可在线阅读,更多相关《用户程序结构和故障诊断课件.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1关于用户程序结构和故障诊断第1页,此课件共69页哦26.0 用户程序结构简介用户程序结构简介模块化编程模块化编程 1/3 模块化编程将复杂的自动化任务划分为对应于生产过程的技术功能的较小的子任务,每个子模块化编程将复杂的自动化任务划分为对应于生产过程的技术功能的较小的子任务,每个子任务对应于一个称为任务对应于一个称为“块块”的子程序,可以通过块与块之间的相互调用来组织程序。这样的的子程序,可以通过块与块之间的相互调用来组织程序。这样的程序易于修改、查错和调试。程序易于修改、查错和调试。块块简要描述简要描述组织块组织块(OB)操作系统与用户程序的接口,决定用户程序的结构操作系统与用户程序的接口
2、,决定用户程序的结构功能块功能块(FB)用户编写的包含经常使用的功能的子程序,有专用的背景数据用户编写的包含经常使用的功能的子程序,有专用的背景数据块块功能功能(FC)用户编写的包含经常使用的功能的子程序,没有专用的背景数用户编写的包含经常使用的功能的子程序,没有专用的背景数据块据块背景数据块背景数据块(DB)用于保存用于保存FB的输入变量、输出变量和静态变量,其数据在编的输入变量、输出变量和静态变量,其数据在编译时自动生成译时自动生成全局数据块全局数据块(DB)存储用户数据的数据区域,供所有的代码块共享存储用户数据的数据区域,供所有的代码块共享第2页,此课件共69页哦36.0 用户程序结构简
3、介用户程序结构简介模块化编程模块化编程 2/3 块结构显著增加了块结构显著增加了PLC程序的组织透明性、可理解性和易维护性。程序的组织透明性、可理解性和易维护性。OB、FB、FC都包含代码,统称为代码块都包含代码,统称为代码块(Code)块。块。被调用的代码块又可以调用别的代码块,这种调用称为嵌套调用。被调用的代码块又可以调用别的代码块,这种调用称为嵌套调用。在块调用中,调用者可以是各种代码块,被调用的块是在块调用中,调用者可以是各种代码块,被调用的块是OB之外的代码块。调用功能块时需要为它指定一个之外的代码块。调用功能块时需要为它指定一个背景数据块。背景数据块。第3页,此课件共69页哦46.
4、0 用户程序结构简介用户程序结构简介模块化编程模块化编程 3/3 编程时被调用的块应该是已经存在的块,即应先创建被调用的块及其背景数据块。编程时被调用的块应该是已经存在的块,即应先创建被调用的块及其背景数据块。第4页,此课件共69页哦56.0 用户程序结构简介用户程序结构简介组织块组织块 1/6 组织块组织块(Organization Block,OB)是操作系统与用户程序的接口,是操作系统与用户程序的接口,由操作系统调用由操作系统调用,用于控制循,用于控制循环扫描和中断程序的执行、环扫描和中断程序的执行、PLC的启动和错误处理等。的启动和错误处理等。组织块的程序是用户编写的。组织块的程序是用
5、户编写的。每个组织块必须有唯一的每个组织块必须有唯一的OB编号,编号,200之前的某些编号是保留的,其他之前的某些编号是保留的,其他OB的编号应大于等于的编号应大于等于200.没有可以调用没有可以调用OB的指令,的指令,S7-1200 CPU具有基于具有基于事件事件的特性,只有发生了某些特定事件,相应的特性,只有发生了某些特定事件,相应的的OB才会被执行。不要试图在才会被执行。不要试图在OB/FC/FB中调用某个中调用某个OB,除非用户触发与此,除非用户触发与此OB相关的相关的OB。例如。例如用户可以在用户可以在OB1中通过中通过SRT_DINT指令设置延迟时间,当延迟时间到达时,延迟中断指令
6、设置延迟时间,当延迟时间到达时,延迟中断OB被触被触发。发。当特定事件发生时,相应当特定事件发生时,相应OB被调用,无论其是否包含程序代码。被调用,无论其是否包含程序代码。第5页,此课件共69页哦66.0 用户程序结构简介用户程序结构简介组织块组织块 2/6 l 程序循环组织块程序循环组织块(Program cycle OB):OB1是用户程序中的主程序,是用户程序中的主程序,CPU循环执行操作系统程序,在每一次循环中,操作系统调用一次循环执行操作系统程序,在每一次循环中,操作系统调用一次OB1。因此。因此OB1中的程序也是循环执行的。中的程序也是循环执行的。允许有多个程序循环允许有多个程序循
7、环OB,默认的是,默认的是OB1,其他程序循环,其他程序循环OB的编号应大于等于的编号应大于等于200。第6页,此课件共69页哦76.0 用户程序结构简介用户程序结构简介组织块组织块 3/6 l 启动组织块启动组织块(Startup OB):当当CPU的工作模式从的工作模式从STOP切换到切换到RUN时,执行一次启动时,执行一次启动(Startup)组织块,来初始化程序循环组织块,来初始化程序循环OB中的中的某些变量。某些变量。执行完启动执行完启动OB后,开始执行程序循环后,开始执行程序循环OB。可以有多个启动可以有多个启动OB,默认的为,默认的为OB100,其他启动,其他启动OB的编号应大于
8、等于的编号应大于等于200。第7页,此课件共69页哦86.0 用户程序结构简介用户程序结构简介组织块组织块 4/6 l 中断组织块中断组织块(Interrupt OB):中断组织块用来实现对特殊内部事件或外部事件的快速响应。中断组织块用来实现对特殊内部事件或外部事件的快速响应。如果没有中断事件出现,如果没有中断事件出现,CPU循环执行组织块循环执行组织块OB1。如果出现中断事件,例如诊断中断和时间延迟中断等。如果出现中断事件,例如诊断中断和时间延迟中断等,因为,因为OB1的中断优先级最低,操作系统在执行完当前程序的当前指令后,立即响应中断。的中断优先级最低,操作系统在执行完当前程序的当前指令后
9、,立即响应中断。CPU暂停正在暂停正在执行的程序块,自动调用一个分配给该事件的组织块执行的程序块,自动调用一个分配给该事件的组织块(即中断程序即中断程序)来处理中断事件。执行完中断来处理中断事件。执行完中断组织块后,返回被中断的程序的断点处继续执行原来的程序。组织块后,返回被中断的程序的断点处继续执行原来的程序。这意味着部分用户程序不必在每次循环中处理,而是在需要时才被及时处理。处理中断事件的这意味着部分用户程序不必在每次循环中处理,而是在需要时才被及时处理。处理中断事件的程序放在该事件驱动的程序放在该事件驱动的OB中。中。第8页,此课件共69页哦96.0 用户程序结构简介用户程序结构简介组织
10、块组织块 5/6 时间延迟中断组织块时间延迟中断组织块(Time-delay OB):此此OB可以通过可以通过SRT_DINT指令设置其延迟时间,当延迟时间到达时,延迟中断指令设置其延迟时间,当延迟时间到达时,延迟中断OB被触发。被触发。周期中断组织块周期中断组织块(Cyclic interrupt OB):将在指定间隔之间被执行。将在指定间隔之间被执行。硬件中断组织块硬件中断组织块(Hardware interrupt OB):将在指定的硬件事件发生时被执行,例如数字量输入信号的上升沿或下降沿。将在指定的硬件事件发生时被执行,例如数字量输入信号的上升沿或下降沿。第9页,此课件共69页哦106
11、.0 用户程序结构简介用户程序结构简介组织块组织块 6/6 时间错误中断组织块时间错误中断组织块(Time-error interrupt OB):此此OB将在检测到时间错误将在检测到时间错误(程序循环扫描程序循环扫描OB执行时间超出了执行时间超出了CPU属性中定义的最大扫描时间属性中定义的最大扫描时间)时被时被执行,此执行,此OB的编号只能是的编号只能是OB80。当。当CPU中没有此中没有此OB时,用户可以指定当时间错误发生时时,用户可以指定当时间错误发生时CPU是忽略此错误还是转换到是忽略此错误还是转换到STOP模式。模式。诊断错误中断组织块诊断错误中断组织块(Diagnostic err
12、or interrupt OB):此此OB将在检测到诊断错误时被执行,此将在检测到诊断错误时被执行,此OB的编号只能是的编号只能是OB82。当。当CPU中没有此中没有此OB时,用时,用户可以指定当诊断错误发生时户可以指定当诊断错误发生时CPU是忽略此错误还是转换到是忽略此错误还是转换到STOP模式。模式。第10页,此课件共69页哦116.0 用户程序结构简介用户程序结构简介功能功能 功能功能(Function,FC)是用户程序编写的子程序,它包含完成特定任务的代码和参数。是用户程序编写的子程序,它包含完成特定任务的代码和参数。FC和和FB有与有与调用它的块共享的输入参数和输出参数。执行完调用它
13、的块共享的输入参数和输出参数。执行完FC和和FB后,返回调用它的代码块。后,返回调用它的代码块。功能是快速执行的代码块,用于执行下列任务:完成标准的和可重复使用的操作,例如算术运算;完功能是快速执行的代码块,用于执行下列任务:完成标准的和可重复使用的操作,例如算术运算;完成技术功能,例如使用位逻辑运算的控制。成技术功能,例如使用位逻辑运算的控制。可以在程序的不同位置多次调用同一个可以在程序的不同位置多次调用同一个FC,这可以简化重复执行的任务的变成。,这可以简化重复执行的任务的变成。功能没有固定的存储区,执行结束后,其临时变量中的数据就丢失了。可以用全局数据块功能没有固定的存储区,执行结束后,
14、其临时变量中的数据就丢失了。可以用全局数据块或或M存储区来存储那些在功能执行结束后需要保持的数据。存储区来存储那些在功能执行结束后需要保持的数据。第11页,此课件共69页哦126.0 用户程序结构简介用户程序结构简介功能块功能块 功能块功能块(Function Block,FB)是用户程序编写的子程序。调用功能块时,需要制定背景数据块是用户程序编写的子程序。调用功能块时,需要制定背景数据块,是功能块专用的存储区。,是功能块专用的存储区。CPU执行执行FB中的程序代码,将块的中的程序代码,将块的输入、输出参数和局部静态变量输入、输出参数和局部静态变量保保存在背景数据块中,以便可以从一个扫描周期到
15、下一个扫描周期快速访问它们。存在背景数据块中,以便可以从一个扫描周期到下一个扫描周期快速访问它们。FB的典型应用是执行不能在一个扫描周期结束的操作。的典型应用是执行不能在一个扫描周期结束的操作。在调用在调用FB时,打开了对应的背景数据块,后者的变量可以供其他代码块使用。时,打开了对应的背景数据块,后者的变量可以供其他代码块使用。调用同一个功能块时使用不同的背景数据块,可以控制不同的设备。例如用来控制水泵和阀调用同一个功能块时使用不同的背景数据块,可以控制不同的设备。例如用来控制水泵和阀门的功能使用包含特定的操作参数的不同的背景数据块,可以控制不同的水泵和阀门。门的功能使用包含特定的操作参数的不
16、同的背景数据块,可以控制不同的水泵和阀门。S7-1200的部分指令的部分指令(例如例如IEC标准的定时器和计数器指令标准的定时器和计数器指令)实际上是功能块,在调用它们时需要指定实际上是功能块,在调用它们时需要指定配套的背景数据块。配套的背景数据块。第12页,此课件共69页哦136.0 用户程序结构简介用户程序结构简介数据块数据块 数据块数据块(Data block,DB)是用于存放执行代码块时所需的数据的数据区,有两种类型的数据块:是用于存放执行代码块时所需的数据的数据区,有两种类型的数据块:全局全局(Global)数据块:存储供所有的代码块使用的数据,所有的数据块:存储供所有的代码块使用的
17、数据,所有的OB、FB和和FC都可以都可以 访问。访问。背景数据块:存储供特定的背景数据块:存储供特定的FB使用的数据。使用的数据。第13页,此课件共69页哦146.1 功能与功能块功能与功能块功能的特点功能的特点功能功能(Function,FC)和功能块和功能块(Function Block,FB)是用户编写的子程序,他们包含完成特定任是用户编写的子程序,他们包含完成特定任务的程序。务的程序。FC和和FB有与调用它的块共享的输入、输出参数,执行完有与调用它的块共享的输入、输出参数,执行完FC和和FB后,将执行结果返回给调用它的代后,将执行结果返回给调用它的代码块。码块。功能没有固定的存储区,
18、功能执行结束后,其局部变量中的临时数据就丢失了。可以用全局功能没有固定的存储区,功能执行结束后,其局部变量中的临时数据就丢失了。可以用全局变量来存储那些在功能执行结束后需要保存的数据。变量来存储那些在功能执行结束后需要保存的数据。第14页,此课件共69页哦156.1 功能与功能块功能与功能块生成功能生成功能设压力变送器量程的下限为设压力变送器量程的下限为0MPa,上限为,上限为High MPa,经,经A/D转换后得到转换后得到0 27648的整数。数字的整数。数字N和压和压力力P之间的计算公式:之间的计算公式:27648/NHighP双击第15页,此课件共69页哦166.1 功能与功能块功能与
19、功能块功能的局部数据功能的局部数据 1/3在界面区中生成局部变量,只能在它所在的块中使用。局部变量的名字由字符在界面区中生成局部变量,只能在它所在的块中使用。局部变量的名字由字符(包括汉字包括汉字)和数字组成和数字组成。1)Input(输入参数输入参数):由调用它的块提供的输入数据。:由调用它的块提供的输入数据。2)Output(输出参数输出参数):返回给调用它的块的程序执行结果。:返回给调用它的块的程序执行结果。3)InOut(输入输入_输出参数输出参数):初值由调用它的块提供,块执行后将它的返回值返回给调用它的块。:初值由调用它的块提供,块执行后将它的返回值返回给调用它的块。4)Temp(
20、临时数据临时数据):暂时保存在局部数据堆栈中的数据。只是在执行块时使用临时数据,执行:暂时保存在局部数据堆栈中的数据。只是在执行块时使用临时数据,执行完后,不在保存临时数据的数值,它可能被别的块的临时数据覆盖。完后,不在保存临时数据的数值,它可能被别的块的临时数据覆盖。5)Return中的中的Ret_Val(返回值返回值),属于输出参数。,属于输出参数。第16页,此课件共69页哦176.1 功能与功能块功能与功能块功能的局部数据功能的局部数据 2/3第17页,此课件共69页哦186.1 功能与功能块功能与功能块功能的局部数据功能的局部数据 3/3生成局部变量时,不需要指定存储器地址,根据各变量
21、的类型,程序编辑器自动地为所有变量指生成局部变量时,不需要指定存储器地址,根据各变量的类型,程序编辑器自动地为所有变量指定存储器地址。定存储器地址。返回值返回值Ret_Val属于输出参数,默认的数据类型为属于输出参数,默认的数据类型为Void,该数据类型不保存数据,用于功能不需要,该数据类型不保存数据,用于功能不需要返回值的情况,在调用返回值的情况,在调用FC1时,看不到时,看不到Ret_Val。如果将它设置为如果将它设置为Void之外的数据类型,在之外的数据类型,在FC1内部编程时可以使用该变量,调用内部编程时可以使用该变量,调用FC1时可以在方框的时可以在方框的右边看到作为输出参数的右边看
22、到作为输出参数的Ret_Val。第18页,此课件共69页哦196.1 功能与功能块功能与功能块FC1的程序设计的程序设计STEP 7 Basic自动地在局部变量的前面添加自动地在局部变量的前面添加#号。号。第19页,此课件共69页哦206.1 功能与功能块功能与功能块在在OB1中调用中调用FC1在在FC的界面区中定义的参数称为的界面区中定义的参数称为FC的形式参数,简称为形参,形参在的形式参数,简称为形参,形参在FC内部的程序中使用,在别内部的程序中使用,在别的逻辑块调用的逻辑块调用FC时,需要为每个形参指定实际的参数,简称为实参。时,需要为每个形参指定实际的参数,简称为实参。实参与它对应的形
23、参应具有相同的数据类型。实参与它对应的形参应具有相同的数据类型。第20页,此课件共69页哦216.1 功能与功能块功能与功能块调用功能的实验调用功能的实验第21页,此课件共69页哦226.1 功能与功能块功能与功能块为块提供密码保护为块提供密码保护选中生产的选中生产的FC1,执行菜单命令:,执行菜单命令:“编辑编辑”“专有技术保护专有技术保护”“启用专有技术保护启用专有技术保护”,在打,在打开的对话框中输入密码并确认,项目树中的开的对话框中输入密码并确认,项目树中的FC1图标上出现锁的符号,表示图标上出现锁的符号,表示FC1受保护。双击打开受保护。双击打开FC1,可以看到界面区的变量,但是看不
24、到程序区的程序。,可以看到界面区的变量,但是看不到程序区的程序。也可修改或禁用专有技术保护。也可修改或禁用专有技术保护。第22页,此课件共69页哦236.1 功能与功能块功能与功能块功能块的特点功能块的特点功能块功能块(FB)是用户编写的有自己的存储区是用户编写的有自己的存储区(背景数据块背景数据块)的块的块。FB的典型应用是执行不能在一个扫描周期的典型应用是执行不能在一个扫描周期结束的操作。结束的操作。每次调用功能块是,都需要指定一个背景数据块,背景数据块随功能块的调用而打开,在调用结每次调用功能块是,都需要指定一个背景数据块,背景数据块随功能块的调用而打开,在调用结束时自动关闭。束时自动关
25、闭。功能块的输入、输出和静态变量功能块的输入、输出和静态变量(Static)用指定的背景数据块保存,但是不会保存临时局部变量用指定的背景数据块保存,但是不会保存临时局部变量(Temp)中的数据。中的数据。功能块执行后,背景数据块中的数据不会丢失。功能块执行后,背景数据块中的数据不会丢失。第23页,此课件共69页哦246.1 功能与功能块功能与功能块功能块的局部变量功能块的局部变量 1/2FB1的界面区的界面区FB1的背景数据块的背景数据块第24页,此课件共69页哦256.1 功能与功能块功能与功能块功能块的局部变量功能块的局部变量 2/2功能块的数据永久性地保存在它的背景数据块中,在功能块执行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用户 程序结构 故障诊断 课件
限制150内