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
    +关注

    关注

    4974

    文章

    12254

    浏览量

    454886
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10442

    浏览量

    206546
  • 子程序
    +关注

    关注

    0

    文章

    33

    浏览量

    11091

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

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

收藏 人收藏

    评论

    相关推荐

    LabVIEW的程序结构教程(PPT)

    LabVIEW的程序结构教程(PPT)LabVIEW的程序结构:主要的程序结构有:循环(While循环和For循环)选择(Case结构)顺序(Sequence
    发表于 06-22 14:04

    LabVIEW程序结构

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

    内存管理程序结构

    内存管理程序结构内存分配方式内存管理函数mallocrealloccallocmemsetfree堆和栈的区别管理方式不同空间大小不同是否产生碎片增长方向不同分配方式不同分配效率不同程序结构栈区堆区
    发表于 12-17 07:15

    LabVIEW的程序结构

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

    C++教程之程序结构

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

    PIC单片机程序结构框架

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

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

    本文开始介绍PLC结构及各部分的作用,其次介绍PLC的基本特点与工作环境,最后
    发表于 04-19 09:09 6549次阅读
    <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 9241次阅读

    简析C# Socket程序结构及应用

    简易的机器人和PLC信息提取。 ----Socket程序结构分析: --------- privateSocket server; 声明 Socket类提供一组丰富的网络通信方法和属性
    的头像 发表于 05-08 10:16 1856次阅读
    简析C# Socket<b class='flag-5'>程序结构</b>及应用

    单片机STM32入门——(1)程序结构

    单片机之STM32入门——(1)程序结构程序结构1.初识单片机2.GPIO的使用3.程序结构程序结构这第一次博客便是记录寒假学习STM32之路,单片机这个倒是也听过很多了,但是一直没有
    发表于 11-18 20:51 10次下载
    单片机STM32入门——(1)<b class='flag-5'>程序结构</b>

    西门子plc程序结构介绍

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

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

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

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

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