西门子200SMART(四) 程序块

程序块是显示当前项目包含的程序列表,一般初始状态共有三个,主程序、子程序和中断程序,如下图;

当然,鼠标右键选择某一个程序块,可以重命名,支持中文,然而一个项目中,只能有一个主程序,也必须有一个主程序,所以主程序是无法删除的;

在初始状态下,想插入子程序,有两种方案,一种是如下左图,在左侧的程序块中插入;另一种是如下右图,在程序编辑区标题栏鼠标右键也可以插入子程序和中断程序;

如果程序区标题栏只有主程序,如下图

在这种情况下,只需要鼠标左键双击程序块中想要显示的程序名即可,如下图

解释下主程序、子程序和中断程序的含义和作用

主程序:

1、在许多编程语言中也称为主函数,是程序运行开始的地方;

2、在C语言C++编程语言,main的函数原型如下所示:

1

2

3

int main(void)

int main()

int main(int argc, char *argv[])

3、既然是开始的地方,所以只能有一个,而且必须有一个;

4、主程序执行结束,整个软件结束运行,所以主程序一般是循环往复执行的;

5、主程序不可以被任何其他程序调用;

6、主程序可以单独运行,可以没有子程序;

子程序

首先,我个人理解的为什么需要写子程序,目的很简单,试程序更加简洁、易读、功能划分明朗、易于修改、易于重复利用某项功能;

1、对于整个程序而言,子程序可以是某一个特定的功能,把此功能写成子程序,可以重复调用,所以这个功能被写成子程序,最好满足两点,一点是此功能程序行数很多,另一点是此功能需要被重复调用,如果这两点都不满足,那建议直接在主程序中写出即可,标注好注释;

2、由上我们可以知道,子程序一般不能单独运行,因为只是程序的一个片段,只是一个功能;

3、子程序可以被任何程序调用,子程序也可以调用子程序,但是最好不要层层嵌套,一方面不易于理解,另一方面也影响程序运行时间;

4、子程序运行结束后,程序继续运行主程序,整个程序不会结束;

中断程序

中断程序也是子程序的一种,只不过是特殊的一种;

1、  中断程序是为处理中断事件而事先编好的程序。

中断事件:它是一个事件,是中断产生的事件;

中断:是一个过程,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断;

所以中断事件就是,一个意外的过程产生的事件;

中断事件是中断程序的导火索,触发条件,例如,鸡蛋掉落在地上,打碎了,需要打扫干净;中断事件就是鸡蛋掉在地上,打碎了,这件事就是在正常生活中的意外事件,打扫干净就是中断程序;需要打扫干净就是调用中断程序;

而调用中断程序是随机事件,是中断事件发生才会调用的;

在PLC的应用中,例如电力系统出现故障时,可能引发多个断路器相继跳闸。为了分析故障的起因,需要及时准确记录事故发生的时间。可以用硬件中断来完成这一任务。

在出现一个中断事件时,当前正在执行的程序在当前指令执行完后被停止执行(被中断),操作系统将会调用一个用户编写的分配给该事件的中断程序(S7-300/400称为组织块)。中断程序被执行完后,被暂停执行的程序将从被中断的地方开始继续执行。这一过程不受PLC扫描工作方式的影响,因此使PLC能迅速响应中断事件。换句话说,中断程序不是在每次扫描循环中处理,而是在需要时才被及时地处理。

2、中断程序不是由程序调用,而是在中断事件发生时由操作系统调用。

3、在中断程序中不能改写其他程序使用的存储器,最好使用局部变量。

4、中断程序应实现特定的任务,应“越短越好”;

主程序、子程序、中断程序具体的编写后面陆续会更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无锡伶俐科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值