西门子 PLC 子程序编写实例:简化编程流程 (西门子plc编程软件)

西门子

前言

在工业自动化领域,西门子 PLC 凭借其强大的功能和可靠性,得到广泛应用。PLC 子程序是 PLC 编程中的重要概念,能够将复杂的功能封装成一个个独立的模块,从而简化编程流程,提高代码的可复用性和可维护性。

子程序类型

西门子 PLC 子程序主要分为两种类型:

  • 函数块 (FB):函数块是一种可返回值的子程序,主要用于计算和数据处理。
  • 功能 (FC):功能是一种不返回值的子程序,主要用于逻辑控制和数据操作。

子程序创建

在 Siemens TIA Portal 编程软件中,创建子程序非常简单:

1. 在项目树中右键单击 "Sources" 节点,选择 "Add New Block"。 2. 选择 "Program Block" 或 "Function Block" 选项,然后单击 "Add" 按钮。 3. 为子程序命名并指定其类型。

子程序调用

在主程序中调用子程序也非常简单:

1. 在程序代码编辑器中,使用 "Call" 语句调用子程序。 2. 指定子程序的名称和参数。

实例展示

下面是一个使用子程序简化 PLC 编程流程的示例:

需求:

我们需要编写一个 PLC 程序,实现以下功能:

  • 从模拟输入读取值
  • 根据读取值计算输出值
  • 将输出值写入模拟输出

子程序设计:

我们可以将计算输出值的功能封装成一个子程序,这样主程序只需要调用子程序即可。

函数块 (FB) 代码:

FUNCTION_BLOCK FB_ComputeOutputVAR_INPUTIN_Value1: REAL;IN_Value2: REAL;END_VARVAR_OUTPUTOUT_Value: REAL;END_VARVARTemp: REAL;END_VARTemp := IN_Value1 + IN_Value2;OUT_Value := Temp 0.5; END_FUNCTION_BLOCK

主程序 (OB1) 代码:

// 主程序 OB1:// 从模拟输入读取值AIN1 := AnalogInput1;AIN2 := AnalogInput2;// 调用子程序计算输出值FB_ComputeOutput(IN_Value1:=AIN1, IN_Value2:=AIN2);// 将输出值写入模拟输出AnalogOutput1 := FB_ComputeOutput.OUT_Value;

结论

通过使用子程序,我们可以大大简化 PLC 编程流程。子程序将复杂的功能封装起来,使主程序更易于理解和维护。子程序还可以提高代码的可复用性,因为它们可以在不同的程序中重复使用。


当用户了解了西门子PLC程序的结构后,就可以针对不同的控制对象与所选择的PLC型号,根据实际情况选择PLC程序的结构框架,并着手进行西门子PLC程序的设计工作。 西门子PLC程序设计通常可以按照图所示的流程进行。 程序设计与系统硬件设计、系统调试密切相关。 软件设计阶段所需要的控制要求、操作界面、PLC型号、I/O地址等都必须在硬件设计阶段已经完成;而程序的输入与编辑、程序检查、程序调试等工作需要在程序编辑与系统调试阶段完成。 对于简单的PLC程序,也可以直接通过PLC的编辑软件,在编辑软件上同时完成程序的设计与输入过程。 1.选择程序结构作为西门子PLC编程软件设计的第一步,首先需要确定的是PLC程序的基本结构体系。 程序结构体系由如下两方面因素决定:①所使用的PLC型号。 PLC型号从客观上规定了可以采用程序结构,如:当PLC选择为S7-200时,只能选择线性化结构或主一子程序的结构形式:当选择的PLC为S7-300/400时可以采用线性化结构、调用式结构或结构化编程。 ②控制系统的要求。 如果控制系统的要求较简单,PLC程序的长度不大,出于简化调试、减少程序设计工作量等方面的考虑,采用线性化结构可以省略编写程序块、功能块、数据块、局部变量等工作,提高编程的速度。 如果控制系统较复杂,程序所占的容量较大,为了使得程序便于分段阅读与调试,可以考虑采用调用式结构( S7-300/400)与主一子程序结构(S7-200);如果控制系统十分庞大,程序异常复杂,或是系统相类似的控制要求较多,在S7-300/400上可以优先考虑采用结构化编程。 2.建立程序文件建立程序文件包括编写I/O地址表、定义符号地址、编写程序说明等内容,其目的是为程序设计提供方便。 在S7中,一般是直接利用编程软件,通过编程软件的符号表编辑器对符号地址表(SymbolTable)的编写,一次性完成I/O地址、符号地址、数据格式、注释等全部工作。 有关符号地址表( Symbol Table)的编辑方法,本书将在第12章(S7-200)、第13章(S7-300/400)中予以介绍。 3.编辑逻辑块在选定了程序的基本结构体系与完成符号表的编辑后,即可着手进行PLC程序中各类逻辑块的编辑。 逻辑块的编辑包括了编写逻辑控制程序与定义程序变量两部分内容。 逻辑控制程序可以通过梯形图、功能块图,指令表等方法编写:程序变量应通过变量声明表建立与明确(内容见本节后述),对于线性结构的PLC程序也可以不使用变量与变量表。 如果采用的是线性结构,只需要直接编写组织块OBl;如果选择的是分块式结构,则应首先进行FC、FB等基本逻辑块的编制,最后才能编写组织块。 通过编程软件输入程序时,同样应该遵守这一原则,因为,如果基本逻辑块未编制完成,在OB1中将无法确定逻辑块所需要的赋值参数,在输入逻辑块调用指令时将引起出错。

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论