浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
用户程序的元素
发布时间:2023-11-04
观看用户程序的元素视频:

PLC编程概念

5.2 用户程序的元素

用户程序的元素 程序组织单元 (POU) 由可执行代码和注释组成。 可执行代码由主程序和若干子例程或中 断例程组成。 代码已编译并下载到 CPU 中。 可以使用程序组织单元(主程序、子例程 和中断例程)来结构化用户程序。 ● 用户程序主体包括控制应用的指令。 CPU 将按顺序执行这些指令,每个扫描周期执 行一次。 ● 子例程是只有在调用时才执的程序的可选元素: 由主程序、中断例程或另一子例程执 行。 当您希望重复执行某种功能时,子例程是非常有用的 与其在主程序中每个需要使 用该功能的位置多次写入相同的程序代码,不如将这段逻辑写在子例程中,然后根据 需要在主程序中调用该子例程。 子例程具有以下优点: – 使用子例程可以减小程序的大小。 – 由于已将代码移出主程序,因而使用子例程可以缩短扫描时间。 CPU 在每个扫描 周期都会评估主程序中的代码,不管代码是否执行,而 CPU 仅在调用子例程时评 估其代码,如果扫描时不调用子例程,CPU 不会评估其代码。 – 使用子例程创建的代码是可移植的。 您可以在一个子例程中完成一个独立的功能, 然后将该子例程复制到另其它程序中,无需进行重复工作。

说明 

使用 V 存储器地址会限制子例程的可移植性,因为一个程序对于 V 存储器地址的分 配有可能与另一个程序对它的分配有冲突。 相比之下,在子例程中为全部地址分配 使用局部变量表(L 存储器)会使子例程具有极高的可移植性,因为当子例程使用 局部变量时,子例程与程序的其它部分之间就不会有地址冲突。

中断例程是程序的可选元素,发生特定中断事件时,中断例程会进行响应。 您可以设 计一个中断例程来处理预先定义好的中断事件。 当指定事件发生时,CPU 会执行该中 断例程。 中断例程不会被主程序调用。 只有当中断例程与一个中断事件相关联,并且在该中断 事件发生时,CPU 才会执行中断例程中的指令。

说明 

由于无法预测 CPU 何时会产生中断,所以应考虑尽量限制中断例程和程序中其它部分 所共用的变量个数。 使用中断例程的局部变量表可确保中断例程仅使用临时存储器,从而不会覆盖程序其 它位置使用的数据。 为了保证主程序与中断例程正确地共享数据,您可以使用许多编程技巧。 请参见中断 指令 (页 302)的说明。 ● 其它块中包含 CPU 的信息。 下载程序时,您可以选择下载这些块: – 系统块: 系统块允许您为 CPU 组态不同的硬件选项。 – 数据块: DB 存储程序使用的不同变量的初始值(V 存储器)。 下例中给出了一段包含子例程和中断例程的程序。 此示例程序使用定时中断,每 100 ms  读取一次模拟量输入值。


展开全文