北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章528 浏览8057501

西门子S7-1200/1500 PLC新的程序架构

今天这篇文章,我们来聊聊西门子PLC的程序架构,重点介绍下S7-1200/1500的新架构。

cover.png

与个人计算机类似,PLC中也运行两类程序:操作系统和用户程序。

①操作系统是PLC各种资源的大管家,负责管理存储区、处理各种中断、执行用户程序等。

②用户程序是由PLC软件工程师编写的、完成特定任务的程序。用户程序必须被操作系统调用才能执行,在西门子PLC中,操作系统调用用户程序的接口被称为组织块。

组织块有很多类型,但总体上可以分为两类:程序循环组织块和中断组织块。程序循环组织块是一种优先级最低的组织块,用户程序多数放在该组织块中执行;中断组织块包括循环中断、时间中断、硬件中断等各种类型,一般用来执行特定的任务;

早期的西门子PLC程序架构就是程序循环组织块+中断组织块。中断组织块可以有多个,但程序循环组织块只有一个,即OB1。对于一个很大的项目,大量的代码都在OB1中被调用,会有一种架构不清晰的感觉。

西门子S7-1200/1500系列PLC允许创建一种更清晰的程序架构,总的来看,它也是采用程序循环组织块+中断组织块的方式。但是与之前只有一个OB1不同,新架构允许创建多个程序循环组织块,新的程序循环组织块的编号大于等于123即可。

举个例子,假设某项目有3个不同的任务,我们可以在项目树中新建三个组:Task1、Task2和Task3,在每个任务组中都添加一个程序循环组织块,如下图添加了名称为Main_Task1(OB123)、Main_Task2(OB1000)和Main_Task3(OB1100)三个程序循环组织块:

new.png

每个任务所需要的函数、函数块和数据块可以添加到该组中,并被该组的程序循环组织块调用即可,如下图所示:

new2.PNG

你可能会有一个问题:这种有多个程序循环组织块的程序是怎样执行的呢?

答案是操作系统会按照程序循环组织块的编号依次调用它们。比如上述例程中有4个程序循环组织块:OB1、OB123、OB1000和OB1100,操作系统会先调用OB1、接下来调用OB123、OB1000,最后调用OB1100。这样,所有的程序循环组织块都会被调用,其内部调用的用户程序就得以执行。

再次说明一下:所有的程序循环组织块的优先级都是最低的,也就是它们都可以被中断。

好了,关于S7-1200/1500的新程序架构就介绍到这里。

我的书《西门子S7-200 SMART PLC应用技术——编程、通信、装调、案例》已经出版,欢迎点击下面的链接查看内容介绍:

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论