0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍几种常见的PLC的程序结构及其特点

aIpM_gongkongwo 来源:lq 2019-05-07 14:39 次阅读

下面介绍几种常见的PLC的程序结构及其特点:

1.某些国外的小型PLC的程序结构

这些PLC的用户程序由主程序、子程序和中断程序组成。在每一个扫描循环周期,CPU都要调用一次主程序。主程序可以调用子程序,小型控制系统可以只有主程序。中断程序用于快速响应中断事件。

在中断事件发生时,CPU将停止执行当时正在处理的程序或任务,去执行用户编写的中断程序。执行完中断程序后,继续执行被暂停执行的程序或任务。它们的子程序和中断程序没有局部变量,子程序没有输入、输出参数

2.西门子的S7-200的程序结构

过程映像输入/输出(I/Q)、变量存储器V、内部存储器位M、定时器T、计数器C等属于全局变量。S7-200的程序组织单元(ProgramOrganizationalUnit,简称为POU)包括主程序、子程序和中断程序。每个POU均有自己的64字节局部变量,局部变量只能在它所在的POU中使用。与此相反,全局变量可以在各POU中使用。

下面是子程序可以使用的局部变量:

1)TEMP(临时变量)是暂时保存在局部数据区中的变量。只有在执行该POU时,定义的临时变量才被使用,POU执行完后,不再保存临时变量的数值。

2)IN是由调用它的POU提供的输入参数。

3)OUT是返回给调用它的POU的输出参数(子程序的执行结果)。

4)IN_OUT是输入_输出参数,其初始值由调用它的POU传送给子程序,并用同一变量将子程序的执行结果返回给调用它的POU。

主程序和中断程序的局部变量中只有临时变量TEMP。具有输入、输出参数和局部变量的子程序易于实现结构化编程,对于长期生产同类设备或生产线的厂家尤为有用。这些厂家的编程人员为设备的各组件或工艺功能编写了大量的通用的子程序。即使不知道子程序的内部代码,只要知道子程序的功能和输入、输出参数的意义,就可以通过程序之间的调用快速“组装”出满足不同用户要求的控制程序。就好像用数字集成电路芯片组成复杂的数字电路一样。

子程序如果没有输入、输出参数,它和调用它的程序之间没有清晰的接口,很难实现结构化编程。

子程序如果没有局部变量,它和调用它的程序之间只能通过全局变量来交换数据,子程序内部也只能使用全局变量。将子程序和中断程序移植到别的项目时,需要重新统一安排它们使用的全局变量,以保证不会出现地址冲突。当程序很复杂,子程序和中断程序很多时,这种重新分配地址的工作量非常大。

如果子程序和中断程序有局部变量,并且它们内部只使用局部变量,不使用全局变量,因为与其他POU没有地址冲突,不需作任何改动,就可以将子程序移植到别的项目中去。

3.西门子的S7-300/400的程序结构

S7-300/400将子程序分为功能(Function,或称为函数)和功能块(FunctionBlock)。S7-300/400的功能与S7-200的子程序基本上相同。它们均有输入、输出参数和临时变量,功能的局部数据中的返回值实际上属于输出参数。它们没有专用的存储区,功能执行结束后,不再保存临时变量中的数据可以用全局变量来保存那些在功能执行结束后需要保存的数据,但是会影响到功能的可移植性。

功能块是用户编写的有自己专用的存储区(即背景数据块)的程序块,功能块的输入、输出参数和静态变量存放在指定的背景数据可以用全局变量来保存那些在功能执行结束后需要保存的数据,但是会影响到功能的可移植性。

功能块是用户编写的有自己专用的存储区(即背景数据块)的程序块,功能块的输入、输出参数和静态变量存放在指定的背景数据块中,临时变量存储在局部数据堆栈中。每次调用功能块时,都要指定一个背景数据块。功能块执行完后,背景数据块中的数据不会丢失,但是不会保存局部数据堆栈中的数据。

功能块采用了类似于C++的封装的概念,将程序和数据封装在一起,具有很好的可移植性。S7-300/400的共享数据块可供所有的逻辑块使用。

4.IEC61131-3的程序结构

IEC61131-3是PLC的编程语言标准。IEC61131-3是世界上第一个,也是至今为止唯一的工业控制领域的编程语言标准。IEC61131-3有三种POU:程序、功能块和功能。

功能是有多个输入参数和一个输出参数(返回值)的POU,返回值的名称与功能的名称相同,需要定义返回值的数据类型。调用具有相同输入值的功能总是返回相同的结果。功能可以调用其他功能,但是不能调用功能块或程序。功能可定义的局部变量有VAR和VAR_INPUT。

功能块是有多个输入/输出参数和内部存储单元的POU,功能块的输出参数值与其内部存储单元的值有关。功能块可以调用其他功能 块或功能,但是不能调用程序。 在调用功能块之前,必须在要调用功能块的POU中为每次调用声明功能块的实例,操作系统将为每次调用分配功能块专用的存储区(类似于S7-300/400的背景数据块)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5008

    文章

    13146

    浏览量

    461963
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10824

    浏览量

    211094
  • 子程序
    +关注

    关注

    0

    文章

    33

    浏览量

    11170

原文标题:PLC的程序结构及其特点

文章出处:【微信号:gongkongworld,微信公众号:工控资料窝】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    LabVIEW程序结构

    实验二LabVIEW程序结构49954.doc
    发表于 03-04 13:34

    LabVIEW的程序结构

    LabVIEW的程序结构:主要的程序结构有:循环(While循环和For循环)选择(Case结构)顺序(Sequence结构)事件(Event结构
    发表于 06-22 12:33 0次下载

    C++教程之程序结构

    C++教程之程序结构 程序由什么组成?答案1:程序由代码语句组成。正是一行行的代码,组成了一个完整的程序。 答案2:程序由函数组成。一个个
    发表于 05-15 18:01 38次下载

    汇编语言程序结构

    实 验   汇编语言程序结构 一、实验目的 1.掌握汇编语言程序上机过程。    2.掌握汇编语言结构
    发表于 09-28 23:11 2849次阅读

    PIC单片机程序结构框架

    为了快速掌握PIC单片机源程序的基本结构,这里给出一个典型的程序结构框架。
    发表于 06-27 13:41 5561次阅读

    PLC常见的六大应用详解_PLC结构与工作环境

    本文开始介绍PLC结构及各部分的作用,其次介绍PLC的基本特点与工作环境,最后
    发表于 04-19 09:09 6894次阅读
    <b class='flag-5'>PLC</b><b class='flag-5'>常见</b>的六大应用详解_<b class='flag-5'>PLC</b><b class='flag-5'>结构</b>与工作环境

    Arduino程序结构及基本函数的详细资料说明

    本文档的主要内容详细介绍的是Arduino程序结构及基本函数的详细资料说明。
    发表于 06-17 17:44 7次下载
    Arduino<b class='flag-5'>程序结构</b>及基本函数的详细资料说明

    LabVIEW及其应用的程序结构详细说明

    一、 实验目的 学会程序结构中for循环结构、while循环结构、条件结构、顺序结构、定时结构
    发表于 04-24 08:00 6次下载
    LabVIEW<b class='flag-5'>及其</b>应用的<b class='flag-5'>程序结构</b>详细说明

    一文看懂西门子PLC程序结构

    所谓PLC程序结构,就是组成PLC程序的各种网络(Network)或“功能程序段”在PLC内部
    发表于 10-23 17:03 1w次阅读

    西门子plc程序结构介绍

    介绍以下常见plc程序结构及其特点:    1.国外一些小型可编程控制器
    发表于 12-09 14:18 2151次阅读

    小型可编程控制器程序结构详解

      介绍以下常见plc程序结构及其特点:     1.国外一些小型可编程控制器
    发表于 12-11 14:25 691次阅读

    大型西门子PLC程序结构示例

    大型的西门子PLC程序结构示例。
    的头像 发表于 07-06 10:34 1287次阅读

    电池的常见类型及其特点

    电池,作为现代社会中不可或缺的能源供应设备,广泛应用于各个领域,从便携式电子设备到大型工业设备,甚至包括新能源汽车等。随着科技的进步,电池的种类也日益增多,每种电池都有其独特的特点和应用场景。本文将详细介绍几种
    的头像 发表于 05-21 16:41 4762次阅读

    plc几种输出类型各有什么特点

    是实现控制功能的关键部分,不同类型的输出具有不同的特点和应用场景。本文将详细介绍PLC几种输出类型及其
    的头像 发表于 07-01 09:52 3788次阅读

    labview中常用的程序结构有哪几种

    和逻辑的关键,以下是LabVIEW中常用的几种程序结构: 顺序结构(Sequential Structure) 顺序结构是最简单的程序结构
    的头像 发表于 09-04 16:32 572次阅读