CSaDA程序语言入门

程序

是程序组织单元之一,它由功能和功能块组成。PROGRAM类型的程序组织单元称为主程序。在一个多CPU的PLC控制系统中,能同时执行多个主程序,这一点体现了程序与功能块的不同。
程序以PROGRAM关键字开始,随后是程序名、程序声明和程序体,最后以END_ PROGRAM关键字结束。与功能或功能块的声明类似,程序声明包括在整个程序声明中所使用变量的声明。
除了具有功能块的性能外,程序还具有以下性能。
(1)可对VAR_ACCESS 和VAR_GLOBAL变量进行说明和存取。
(2)可对VAR_GLOBAL和VAR_EXTERNAL变量添加CONSTANT属性,对这些变量进行限定。
(3)可对VAR_TEMP变量进行说明和存取。
(4)允许说明存取PLC物理地址的直接表示变量。
(5)程序不能由其他程序组织单元显式调用。但程序与配置中的一个任务结合,使程序实例化,形成运行期程序,便可由资源调用。
(6)程序仅能在资源中实例化,而功能块仅能在程序或其他功能块中实例化。
在一般计算机编程语言中,是允许递归调用的,但IEC 61131-3标准规定程序组织单元不能直接或间接调用其自身,以保护程序,防止程序出错。

软件模型

IEC 61131-3的软件模型用分层结构表示。每一层隐含其下层的许多特性,从而构成优于传统可编程控制器软件的理论基础。图6.6是IEC 61131-3的软件模型,该模型描述了基本的高级软件元素及其相互关系,它由标准定义的编程语言可以编程的软件元素构成。它们包括程序和功能块;组态元素,即配置、资源和任务;全局变量;存取路径和实例特定的初始化。在这里插入图片描述

IEC 61131-3的软件模型从理论上描述了将一个复杂程序如何分解为若干小的不同的可管理部分,规定了每部分的规范及它们进行接口的方法。软件模型描述一台可编程控制器如何实现多个独立程序的同时装载和运行,如何实现对程序执行的完全控制等,如何实现对资源的共享,如何实现信息的通信。该模型也体现了任务分解的思想和软件工程中面向对象特性带来的许多优点,使得处理复杂的控制任务变得更加容易,程序的开发、调试、维护、移植与重用等也具有了许多高级语言所具有的特性,更方便了具有高级语言编程经验的人员开发控制程序。

1.配置

配置(Configuration)是语言元素,或结构元素,它相当于IEC 61131-3所定义的可编程控制系统。
配置位于软件模型的最上层,它等同于一个PLC软件。在一个复杂的由多台PLC组成的自动化系统中,每台PLC中的软件是一个独立的配置。一个配置可以与其他IEC配置通过通信接口进行通信。因此,可以将配置认为是一个特定类型的控制系统,它包括硬件装置、处理资源、I/O通道的存储地址和系统能力,即等同于一个PLC的应用程序。在一个由多台PLC构成的控制系统中,每一台PLC的应用程序就是一个独立的配置。
在PLC系统中,配置将系统内所有资源结合成组,它为资源提供数据交换的手段。在一个配置中,可定义在该PLC项目中全局有效使用的全局变量。在配置中可以设置配置之间的存取路径,并说明直接表示变量。
配置用关键字CONFIGURATION开始,随后是配置名称,以及配置的声明,最后用END_CONFIGURATION结束。配置声明包括定义该配置的有关类型和全局变量的声明,在配置内资源的声明和存取路径的声明等。

2.资源

资源(Resource)位于软件模型的第二层。资源为运行的程序提供支持系统,它反映可编程控制器的物理结构,资源为程序和PLC的物理输入/输出通道之间提供一个接口。因此,资源具有IEC 61131-3定义的“信号处理功能”及“人机接口”和“传感器和执行器接口”功能。一个IEC程序只有装入资源后才能执行。一般而言,资源放在PLC内,当然它也可以放在其他系统内(只要该系统支持IEC程序的执行)。资源有一个资源名称,它通常被赋予一个PLC中的CPU。因此,可将资源理解为一个PLC中的微处理器单元。若一个PLC应用系统配置有多个CPU,则该配置下有多个资源。
在资源内定义的全局变量在该资源内部是有效的。资源可调用具有输入/输出参数的运行期(Run-Time)程序、给一个资源分配任务和程序,并声明直接表示变量。资源用关键词RESOURCE开始,随后是资源名称和ON关键字、资源声明,最后用END_RESOURCE关键字结束。在资源声明段中,ON关键字用于限定“处理功能”类型、“人机接口”类型和“传感器和执行器接口”功能。

3.任务

任务(Task)位于软件模型分层结构的第三层,用于规定程序组织单元在运行期的特性。任务是一个执行控制元素,它具有调用能力。
一个资源内可以定义一个或多个任务。任务被配置以后可以控制一组程序或功能块。它们可以是周期地执行,也可以由一个事件驱动而予以执行。
任务有任务名称,并有3个输入参数,即SIGNAL、INTERVAL和PRIORITY。
(1)SIGNAL——单任务输入端,在该事件触发信号的上生沿,触发与任务相关联的程序组织单元执行一次。
(2)INTERVAL——周期执行时的时间间隔。当其值不为零,并且SIGNAL信号保持为零时,则表示该任务的有关程序组织单元被周期执行,周期执行的时间间隔由该端输入的数据确定。
(3)PRIORITY——当多个任务同时运行时,对任务设置的优先级。0级表示最高优先级,优先级越低,数值越高。当同时存在有优先级和无优先级的任务执行时,先执行优先级高的任务。

4.存取路径

存取路径用于将全局变量、直接表示变量与功能块的输入/输出和内部变量联系起来,实现信息的存取。它提供了不同配置直接交换数据和信息的方法。每一个配置内的变量可被其他远程配置存取。存取方法有两种:读/写方式和只读方式。读/写方式表示通信服务能够改变变量的值,只读方式表示能够读取变量的值但不能改变该变量的值。当不规定存取路径方式时,约定的存取方式是只读方式。
存取路径用VAR_ACCESS开始,用END_VAR结束,中间是存取路径的声明段。存取路径的声明段由存取路径名、外部存取的变量、存取路径的数据类型和存取方式等组成。存取路径名与变量、数据类型间用冒号分隔。

5.IEC 61131-3软件模型与传统PLC软件模型的比较

将IEC 61131-3给出的软件模型与传统运行于一个封闭系统中的PLC(其中包括一个资源、运行一个任务、控制一个程序)进行比较,可以发现IEC软件模型在传统PLC的软件模型的基础上增加了许多内容,如以下部分所示。
(1)IEC 61131-3的软件模型适用范围广,它不是针对一个具体的PLC系统,因此,具有很强的适用性,能够应用于不同制造商的PLC产品。
(2)IEC软件模型是一种面向未来的开放系统。它不但可以满足由多个处理器构成的PLC系统的软件设计,也可以方便地处理由事件驱动的程序执行(传统PLC的软件模型仅仅是按时间周期执行的程序结构)。对于以工业通信网络为基础的集散控制系统,尤其基于PC的控制等控制技术,该软件模型均可覆盖和适用。对于现有的各类控制系统,可以利用IEC 61131-3的模型来理解。
对于只有一个处理器的小型系统,其模型只有一个配置、一个资源和一个程序,与现在大多数PLC的情况完全相符。
对于有多个处理器的中、大型系统,整个PLC被视作一个配置,每个处理器都只用一个资源来描述,而一个资源则包括一个或多个程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

深度学习从入门到放弃

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

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

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

打赏作者

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

抵扣说明:

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

余额充值