研选课堂
HOME
研选课堂
正文内容
plc模型编程 PLC编程标准IEC61131-3教程系列(2)-软件模型
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC编程标准IEC61131-3教程系列(2)-软件模型

IEC61131-3为PLC编程开发定义了一个软件模型,该模型描述了如何采用分层/分级的方法将一个复杂的项目分解成若干小的组成部分,并定义了各部分之间的接口规范。今天这篇文章,我们来介绍下这个软件模型,并结合西门子PLC、Codesys软PLC分析下该模型。

封面

下面这张图就是IEC61131-3定义的软件模型:

软件模型

从图片中可以看出,该软件模型定义了配置、资源、任务、程序组织单元(功能、功能块、程序)、全局变量、访问路径等等。我们来详细介绍下:

1、配置(Configuration)

配置位于软件模型的最上层,可以理解成一整套控制系统。对于小型控制系统而言,比如一个由CPU ST20组成的简单控制系统,属于一个配置;而对于复杂控制系统,比如一个由多个CPU组成的、具有分布式模块的控制系统,也属于一个配置。配置就是一套控制系统,或者是一套设备,在Codesys V3版本之后直接将其称为“设备”;一个配置由一个或几个资源组成。

2、资源(Resource)

资源位于软件模型的第二层,用于支持任务的运行。对于一个小型控制系统,比如上面说的CPU ST20系统,资源可以理解为CPU本身。对于具有多个CPU的大型系统,每一个CPU都是一个资源。资源可以包含多个任务、程序组织单元等。在Codesys V3版本之后,资源被称为“应用”。

3、任务(Task)

任务是程序的调度者,用来执行一个或多个程序(Program)。任务分为很多类型,比如:主任务、周期性执行的任务、由中断触发的任务等等。西门子PLC中的组织块就属于任务的角色,OB1相当于主任务、OB30~OB38属于周期性执行的任务、OB82属于诊断中断的任务等等;在Codesys中,任务分为周期型(Cyclic)、事件型(Event)、自由运行型(Freewheeling)、状态触发型(Status)。周期型任务是以固定时间间隔来执行;事件触发型任务在事件变量的上升沿开始执行;自由运行任务其内部程序在任务启动时就开始执行,程序的执行不受扫描周期的影响;状态触发型任务当其状态变量变为TRUE时开始执行;任务具有不同的优先级,优先级高的任务可以中断优先级低的任务而抢先执行;

4、程序组织单元(Program Organization Unit,POU)

程序组织单元是用户程序的基本单位,包括变量声明区和代码区两部分。变量声明区用来定义该POU中使用的变量的名称、类型及初始值;代码区是使用IEC61131-3推荐的五种编程语言写的程序代码。

IEC61131-3定义了三种程序组织单元:功能(Function)、功能块(Function Block)和程序(Program)。

功能(Function)是包含局部变量和指令的代码,可以设置输入/输出参数。功能没有静态变量,因此每次调用都会产生同一个结果;

功能块(Function Block)与功能的区别在于它有属于自己的存储区,可以存放静态变量。功能块也可以设置输入/输出参数,但由于程序代码中静态变量可能发生变化,因此对于功能块的调用并不一定产生同样的结果;

可以将程序中经常使用的代码(比如电机运行控制)写成功能或者功能块,这样就可以反复调用。既能节省项目编程的时间,又提高了程序的可读性,体现了该软件模型将复杂任务分解成小的简单模块的思想。

程序(Program)可以分为主程序与子程序,可以被任务启动,并调用功能或者功能块。程序中可以定义全局变量、地址映射、局部变量等等;

5、全局变量、访问路径

全局变量用于程序组织单元之间交互数据,访问路径提供了当前配置对外通信的接口。

好了,关于IEC61131-3的软件模型就先介绍到这里。后续文章我们会继续该标准的介绍。

「百说不如一练」如何自己动手写一个PID控制算法?

前言

一般来说,各家品牌的PLC都是自带PID功能的,直接调用即可。要求不高的调节场合,直接使用默认参数即可。有些控制要求较高的场合,除了耐心也要讲究一些技巧,不过学会PID通用调试方法,什么控制器都不怕!当然也可以通过下面的(模型+动态图)更直观的学习PID控制。西门子PLC有三种PID功能,可以参考PID功能选型以及故障处理。不过今天重点来说明下,如何自己动手做一个PID控制算法:根据PID的通用算法公式分别用C语言和梯形图来编程实现。(以下图片源自网络)

一、PID控制算法公式

二、C语言程序

直接上C语言代码:

三、梯形图程序

再上PLC梯形图:

其实根据PID算法公式,实现的方法有很多,可以用各种不同的编程语言来实现,欢迎朋友们留言说说你们是如何实现的?

相关问答

三菱plc手,自动程序怎么写?

写自动程序的关键是确定系统的输入、输出和逻辑控制。一般而言,三菱plc手的自动程序编写可以采用LadderDiagram(梯形图)语言。首先需要确定输入信号,比如按...

三菱PLC软件不能打看PLC程序,打开工程文件时出现错误COM(ComponentObjectModel)Error错误?

重新安装编程软件,注意不要用过度精简过的操作系统,安装编程软件的时候最好退出安全软件。目前的三菱编程软件完美支持WIN7,WIN8系统。重新安装编程软件,注...

三菱PLC输出怎么接?

三菱PLC(可编程逻辑控制器)的输出端口一般为标准I/O口,可以通过以下方式连接:使用三菱PLC的辅助输出端口:辅助输出端口是用于连接外部设备或模型的接口,它...

factoryio可以自己定义模型吗?

FactoryIO可使用已有和自定义各类生产线3D模型仿真环境,支持西门子,施耐德ABB等各类品牌PLC驱动,同时支持OPCFactoryIO可使用已有和自定义各类生产线3D模...

哪里有免费的PLC可编程控制器毕业论文并附图的范文?

[回答]标题含有PLC的论文1.HPLC测定VC银翘片中连翘苷的含量[Admin|service-86qb@163.com][2008年3月25日][47]目的建立VC银翘片中连翘苷的含量测定方...

童鞋们,我想了解!!零基础学PLC编程培训专业培训学校,PLC编...

[回答]同仁,学好plc大有前途,我就是其中的一个很大的受益者,我现在在西门子中国总部。我在大学学习plc的时候主要是自学的,从中积累了丰富的经验,以下是成...

怎么样把永宏plc里的程序复制到电脑里-ZOL问答

先将PC与PLC硬件连接,再通过编程软件将电脑与PLC通信,最好从PLC读取程序上传至PC有用(0)回复wfjrupgszb没有在线读取吗有用(0)回复xiaoya52019运行开关....

华为智能家居plc工作原理?

华为plc智能家居方案工作原理华为plc智能家居方案这是基于HPLC/IEEE1901.1结合华为特有技术,且面向物联网场景的中频带电力线载波通信技术。其工作频段范围...

dcs控制系统采集plc的哪些数据?

DCS与PLC之间更多的是数据交换。DCS通过现场工业总我,Profibus,modbUS。以太网,局域网,无线网络等多种手段与PLC交换数据。因为PLC内存空间有限。注重对数据...

做了三年的广数系统数控车床了,最近去找工作,人家人法兰克的,怎么去学习下啊?

大专学的数控编程,模型画图,plc电路控制,虽然有学车床,但是没有学精,plc更加不用说,我完全没懂过一点点皮毛,出来去干加工中心的路过,然后现在不想混车间...

 变3  小儿紫癜 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部