您现在的位置是:首页 > PLC技术 > PLC技术

S7-200 PLC的程序结构

来源:艾特贸易2017-06-05

简介PLC 在 RUN 方式下通过主机循环扫描并连续执行用户程序来实现对任务或过程的控制,因此用户程序决定了一个控制系统的功能。用户程序的编制可以使用编程软件在计算机或其他专用编

    PLCRUN方式下通过主机循环扫描并连续执行用户程序来实现对任务或过程的控制,因此用户程序决定了一个控制系统的功能。用户程序的编制可以使用编程软件在计算机或其他专用编程设备(如图形输入设备),也可使用手编器。    S7-200广义上的程序由3部分构成:用户程序、数据块和参数块。    1.用户程序    用户程序是必选项。用户程序在存储器空间中也称为组织块OB1OB1处于最高层次,它可以管理其他块,它是用各种语言(如STLLADFBD等)编写的用户应用程序。不同机型的CPU其程序空间容量也不同(可参见主机的主要技术指标表)。    用户程序的结构比较简单,一个完整的用户控制程序应当包含一个主程序、若干子程序和若干中断处理程序3大部分。不同编程设备,对各程序块的安排方法也不同。    如果编程使用的是手编器,主程序应安排到程序的最前面。其他部分的位置安排没有严格的顺序,但习惯上把子程序安排在中断程序的前面,如图3.18所示。
程序结构
    3.18    程序结构    如果用编程软件在计算机上编程,程序的组织有两种方法:    一种是利用编程软件的程序结构窗口双击主程序、子程序和中断程序的图标,即可进入各程序块的编程窗口。编译时编程软件自动对各程序段进行连接。    另一种是只用主程序窗口,把主程序和所有子程序及中断程序放到一起,通常的放法是:把主程序放在最前,然后是子程序和中断程序。这两种组织方法是完全等效的。对大规模程序,用第一种方法比较方便。    (1)主程序。    主程序为必选部分,用手编器编程,主程序应以一条MEND指令作为主程序结束指令。但STEP 7_Micro/Win 32软件不再需要编程人员将这条指令加到主程序的结尾。而是在程序编译时由系统自动加入。    (2)子程序。    子程序为可选部分,每个子程序应有不重复的序号SBR n,以便主程序正确调用。只有被主程序、中断服务程序或者其他子程序调用时,子程序才会执行。当希望重复执行某项功能时,子程序是非常有用的。    调用子程序有如下优点:      用子程序可以减小程序的长度。      由于将代码从主程序中移出,因而用子程序可以缩短程序扫描周期。S7-200在每个扫描周期中处理主程序中的代码,不管代码是否执行。而子程序只有在被调用时,S7-200才会处理其代码。在不调用子程序时,S7-200不会处理其代码。      用子程序创建的程序代码是可传递的。可以在一个子程序中完成一个独立的功能,然后将它复制到另一个应用程序中而无需作重复工作。    (3)中断处理程序。    中断处理程序也是可选项,当特定的中断事件发生时,中断服务程序执行。可以为一个预先定义好的中断事件设计一个中断服务程序,当特定的事件发生时,S7-200会执行中断服务程序。每个中断处理程序应有不重复的序号INT n,以便主程序或子程序正确调用。    中断服务程序不会被主程序调用。只有当中断服务程序与一个中断事件相关联,且在该中断事件发生时,S7-200才会执行中断服务程序。    2.数据块    数据块为可选部分,又称为DB1,在存储空间中是最大V存储器范围.它主要是存放控制程序运行所需的数据,在数据块中允许以下数据类型:布尔型(表示编程元件的状态)、十进制、二进制或十六进制数、字母、数字和字符型。    3.参数块    参数块也是可选部分,它存放的是CPU组态数据,如果在编程软件或其他编程工具上未进行CPU的组态,则系统以默认值进行自动配置。