搜索
写经验 领红包

plc的子程序有什么作用(plc子程序调用指令及应用)

导语:初学者PLC编程进阶篇——子程序的应用1

PLC编程,一开始我们是用继电器控制思维来编程,进一步应用功能指令来编程,再进一步就要使程序更加简洁、结构清晰,便于分析,这就要使用——子程序和中断程序。

可以根据控制的实际功能来划分出不同的功能块,然后在主程序中根据工艺需要调用各功能块,来达到控制的目的。

子程序建立:

打开200 Smart 软件,在左侧项目1中----程序块中SBR_0(SBR0)----就是子程序名称,根据需要可以重新命名,也可以增加子程序数量 如下图

以起重机控制为例可以把程序划分成5个功能块,每个功能块编写一个子程序

【零位启动】、【升降控制】、【小车控制】、【大车控制】、【报警信息】建立如下图

子程序应用

(1)子程序只有被调用时才能执行。

如下图:在主程序中调用各功能块

调用不带参数子程序

(2)S7-200 SMART CPU最多可以调用128个子程序;

(3)子程序可以嵌套调用,即子程序中再调用子程序,一共可以嵌套8层 ;

2、子程序分类

(1) 不带参数的子程序。如上图除了EN外,没有其它管脚。

(2) 带参数的子程序。如下图,有5个管脚,可连接实际变量。

调用带参数子程序

四、不带参数的子程序应用

不带参数的子程序,在编程时,只是按功能不同划分出来的程序,程序与在主程序中一样,使用实参——即实际地址编程,定时器、计数器,沿指令正常使用,并不多次调用。

在主程序调用时,也有2种情况:

一是无条件调用子程序

这样,只是在结构上程序清晰,便于阅读,每个程序都要扫描,并不能减少总扫描周期时间。

二是有条件调用子程序

这样,只有条件满足时,才执行需要的子程序,条件不满足,则主程序不再扫描执行,这样就可减少扫描的总周期时间,加快执行响应速率。

M1.0的状态决定执行哪个程序

如上图,在M0.0=0不接通时,执行的是【手动控制】,这时【自动控制】程序不会执行,也不进去扫描。

注意事项:如果在执行【手动控制】的过程中,M0.0闭点断开,程序内最后的变量状态将保持不变。视实际情况,在转换后需复位的必须复位。

如下图,在Q0.0=1的情况下,断开M1.0闭点,转到自动控制方式时,Q0.0还保持为1.,这种情况在实际应用中要注意。

手动控制Q0.0=1

M1.0=1时,手动程序中的Q0.0还保持为1

本文内容由小悦整理编辑!