Siemens 系列:S7-200 系列_(20).子程序.docx

Siemens 系列:S7-200 系列_(20).子程序.docx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE1

PAGE1

子程序

1.子程序的概念和作用

在编程中,子程序(Subroutine)是一种可重复使用的代码段,用于执行特定的功能。通过将常用的功能封装在子程序中,可以提高代码的可读性、可维护性和可重用性。在S7-200系列PLC中,子程序的概念同样适用于梯形图(LadderDiagram,LD)和结构化文本(StructuredText,ST)编程语言。

1.1子程序的概念

子程序是一种独立的程序块,可以被主程序或其他子程序调用。每个子程序都有一个唯一的名称,可以包含输入、输出和局部变量。子程序可以执行特定的任务,如数据处理、故障诊断、电机控制等。

1.2子程序的作用

代码重用:子程序可以多次调用,减少代码的重复性。

模块化编程:将复杂的任务分解为多个子程序,每个子程序负责一个特定的功能,使程序结构更加清晰。

提高程序的可维护性:子程序的独立性使得在修改或调试特定功能时更加方便。

优化程序性能:通过合理地使用子程序,可以减少主程序的执行时间,提高PLC的运行效率。

2.子程序的创建和调用

在S7-200系列PLC中,子程序的创建和调用可以通过多种编程语言实现,包括梯形图(LD)和结构化文本(ST)。

2.1梯形图中的子程序

在梯形图中,子程序的创建和调用主要通过以下步骤实现:

创建子程序:在项目中创建一个新的子程序块。

定义输入和输出:在子程序中定义输入和输出变量。

编写子程序逻辑:在子程序中编写实现特定功能的逻辑。

调用子程序:在主程序或其他子程序中调用创建的子程序。

2.1.1创建子程序

在STEP7-Micro/WIN软件中,创建子程序的步骤如下:

打开项目,选择“项目树”中的“程序块”。

右键点击“程序块”,选择“添加新块”。

在弹出的对话框中选择“子程序”,输入子程序的名称,如Sub1。

点击“确定”按钮,子程序块Sub1将被添加到项目中。

2.1.2定义输入和输出

在子程序中定义输入和输出变量的方法如下:

双击子程序块Sub1,进入子程序编辑界面。

选择“局部变量”选项卡。

在局部变量表中,添加输入和输出变量。例如,添加输入变量IN1和输出变量OUT1。

2.1.3编写子程序逻辑

在子程序中编写实现特定功能的逻辑。例如,假设子程序的功能是将输入信号IN1通过一个延时器后输出到OUT1。

|[IN1](TONT1)|

|[T1.Q](OUT1)|

在这个例子中,TONT1是一个延时器,当IN1为高电平时,延时器开始计时,计时结束后OUT1变为高电平。

2.1.4调用子程序

在主程序中调用子程序Sub1的方法如下:

双击主程序块MAIN,进入主程序编辑界面。

在适当的位置插入调用子程序的指令CALL。

在CALL指令中选择子程序Sub1,并指定输入和输出变量。

|[CALLSub1]|

|IN1:=I0.0|

|OUT1:=Q0.0|

在这个例子中,输入变量IN1被指定为I0.0,输出变量OUT1被指定为Q0.0。

2.2结构化文本中的子程序

在结构化文本中,子程序的创建和调用也相对简单。

2.2.1创建子程序

在STEP7-Micro/WIN软件中,创建结构化文本子程序的步骤如下:

打开项目,选择“项目树”中的“程序块”。

右键点击“程序块”,选择“添加新块”。

在弹出的对话框中选择“子程序”,输入子程序的名称,如Sub2。

选择“结构化文本”作为编程语言。

点击“确定”按钮,子程序块Sub2将被添加到项目中。

2.2.2定义输入和输出

在结构化文本中定义输入和输出变量的方法如下:

双击子程序块Sub2,进入子程序编辑界面。

在子程序的头部定义输入和输出变量。例如:

VAR_INPUT

IN1:BOOL;

END_VAR

VAR_OUTPUT

OUT1:BOOL;

END_VAR

2.2.3编写子程序逻辑

在结构化文本中编写实现特定功能的逻辑。例如,假设子程序的功能是将输入信号IN1通过一个延时器后输出到OUT1。

(*延时器*)

VAR

T1:TON;

Temp:BOOL;

END_VAR

(*主逻辑*)

IFIN1THEN

T1(IN1,T#5s);(*延时5秒*)

Temp:=T1.Q;

END_IF

OUT1:=Temp;

在这个例子中,TON是一个延时器,当IN1为真时,延时器开始计时,计时结束后Temp变为真,最终OUT1被赋值为Temp。

2.2.4调用子程序

在主程序中调用结构化文本子程序Sub2的方法如下:

双击主程序块MAIN,进入主程序编辑界面。

文档评论(0)

找工业软件教程找老陈 + 关注
实名认证
服务提供商

寻找教程;翻译教程;题库提供;教程发布;计算机技术答疑;行业分析报告提供;

1亿VIP精品文档

相关文档