组态软件功能参数

简介: 组态软件功能参数

功能

功能是一种可以赋予参数,但没有静态变量的程序组织单元。有些书籍或文献也称功能为函数。当用相同的输入参数调用某一功能时,该功能总能够生成相同的结果作为其功能值。功能有多个输入变量,没有输出变量,但有一个功能值作为该功能的返回值。功能由功能名和一个表达式组成。

功能分为标准功能和用户定义功能(衍生功能)。


1.标准功能

IEC 61131-3标准定义了8类标准功能。

(1)类型转换功能——用于数据类型的转换。例如,整数数据类型转换为实数的功能INT_TO_REAL。在进行数据类型转换时,可能引起误差。

(2)数值类功能——用于对数值变量进行数学运算。该功能的图形表示是将数值功能的名称填写在功能图形符号内,并连接有关的输入和输出变量。

(3)算术类功能——用于计算多个输入变量的算术功能,包括ADD(加)、SUB(减)、MUL(乘)、DIV(除)、MOD(模除)、SQRT(平方根)、SIN(正弦)、COS(余弦)、MIN(最小)、MAX(最大)等。

(4)位串类功能——包括串移位运算和位串的按位布尔功能。

(5)选择和比较类功能——用于根据条件来选择输入信号作为输出返回值。选择的条件包括单路选择,或输入信号本身的最大、最小、限值和多路选择等。

(6)字符串类功能——用于对输入的字符串进行处理,例如,确定字符串的长度、对输入的字符串进行截取、处理后的新字符串作为该功能的返回值。

(7)时间数据类功能——时间数据类功能是当数据类型是时间数据类型时,上述有关功能的扩展。例如,时间数据类型的转换、时间数据的算术运算等。

(8)枚举数据类型的功能——在选择和比较类型功能中,可以看到,SEL和MUX的输入变量是ANY类型,因此,它适用于衍生数据类型。当用于枚举数据时,输入和输出的枚举数据个数应相同。枚举数据类型也适用于比较类功能的EQ和NE功能。


2.用户定义功能

用户定义功能是用户自行定义的功能,一旦做了定义,则该功能就可反复使用。

下面举一个用户定义功能的例子,定义一个功能(A*B/C)2,功能名是SIMPLE_FUN,功能主体用ST语言写。

FUNCTION SIMPLE_FUN:REAL
    VAR_INPUT
      A,B:REAL;
        C:REAL:=1.0;
    END_VAR
    SIMPLE_FUN:=(A*B/C)**2;
  END FUNCTION


功能块

功能块是在执行时能够产生一个或多个值的程序组织单元。

变量的实例化是编程人员在变量说明部分用指定变量名和相应数据类型来建立变量的过程。同样,功能块实例化是编程人员在功能块说明部分用指定功能块名和相应的功能块类型来建立功能块的过程。


每个功能块实例有它的功能块名、内部变量、输出变量及可能的输入变量数据结构。该数据结构的输出变量和必要的内部变量的值能够从这次执行保护到下一次执行。功能块实例的外部只有输入和输出变量是可存取的。功能块内部变量对用户来说是隐藏的。功能块的图形表示如图所示。

e5c9e83e51e0494caedefed8eeeebc52.png

图 功能块的图形表示

功能块包括标准功能块、衍生功能块和用户定义功能块。衍生功能块是利用标准功能块创造的新功能块。IEC 61131-3允许用户利用已有的功能块和功能生成新的功能块。任意功能块均可采用便于管理且功能更简单的功能和/或功能块进行编程。

功能块有两个主要特征。

定义一组输入/输出参数,用来与其他功能块或内部变量交换数据。

每一个功能块均有其特定的算法,通过对输入参数值和内部变量值的处理,生成相应的输出。就是说,功能块具有完善定义的输入和输出界面及隐含的内部结构。软件设计人员可以定义、修改功能块,而软件维护人员只能使用功能块。

功能块一旦被定义,就可反复使用。功能块可以用任意一种IEC 61131-3的编程语言来编写,但在大多数情况下是用结构化文本语言编写。

功能和功能块的主要区别在于,相同输入参数调用时,功能总是产生相同的结果(功能值),功能没有“记忆”特性。程序代表PLC用户的最高层,能存取PLC的I/O口,并能使它们能为其他程序组织单元所存取。IEC 61131-3标准使用变量以存储信息。但是,它们的存储位置不再需要由用户自行定义,而是由编程系统自行进行管理,每个变量具有固定的数据类型。IEC 61131-3规定若干数据类型,这些数据类型在位数量和符号的使用方面有所不同。


功能块段的文字形式可以表示如下。

FUNCTION_BLOCK  功能块名
      功能块声明
      功能块体
  END_FUNCTION_BLOCK

IEC 61131-3中定义了5种标准功能块。


(1)双稳元素功能块——双稳元素

(Bitstable Element)功能块有两个稳态,根据两个输入变量都为1时,输出稳态值的不同,可分为置位优先(SR)和复位优先(RS)两类。


(2)边缘检测功能块——边缘检测

(Edge Detection)功能块用于对输入信号的上升沿和下降沿进行检测。因此,分为上升沿检测(R_TRIG)功能块和下降沿(F_TRIG)检测功能块两类。


(3)计数器功能块——计数器

(Counter)功能块有3种基本类型。它们是加计数器、减计数器和加、减计数器,用于计数器的变量是整数类型。


(4)定时器功能块——定时器

(Timer)功能块是用定时器实现接通延时、断开延时和定时脉冲。


(5)通信功能块——通信功能

块详见IEC 61131-5的定义。它为可编程控制器提供远程寻址、设备检测、轮询数据的采集、编程数据采集、参数控制、互锁控制、编程报警报告及连接管理和保护。除了远程寻址是功能,其他都是功能块。

相关文章
|
监控 API C++
利用C++构建PC端监控软件:实时屏幕录制
在今天的数字化世界中,监控软件变得越来越重要。无论是家庭用户需要监控他们的孩子,还是企业需要监控员工的电脑活动,实时屏幕录制是一种有效的方法。本文将向您介绍如何使用C++构建PC端监控软件,实现实时屏幕录制功能。此外,我们还将讨论如何自动提交监控到的数据到一个网站上。
517 0
|
20天前
|
监控 安全 调度
公司电脑监控:Clojure 实现动态规则下的灵活行为监测
在复杂的企业办公环境中,Clojure 作为一种强大且灵活的编程语言,能够实现基于动态规则的电脑行为监测,包括网络访问、文件操作和应用程序使用情况的监控。通过简洁的代码,Clojure 能够准确捕捉关键信息并发送到指定网址进行记录和分析,为企业提供精准且适应性强的监控解决方案,保障信息安全和高效工作秩序。
43 7
|
3月前
|
前端开发 数据可视化 API
Python实现智能家居设备的统一控制平台
【10月更文挑战第6天】 Python实现智能家居设备的统一控制平台
155 11
|
3月前
|
机器学习/深度学习 编解码 人工智能
光遗传学:控制生物体功能的光控技术
【10月更文挑战第12天】光遗传学作为一项革命性的技术,正在生命科学领域掀起一场前所未有的变革。它利用光信号精确操控生物体内的细胞活性,为神经科学、疾病治疗乃至生物技术的研究开辟了全新的路径。随着技术的不断进步和创新,光遗传学技术有望在未来发挥更大的作用,为人类健康和生物技术的发展贡献更多的力量。让我们共同期待光遗传学技术带来的美好未来!
|
6月前
|
传感器 Python
门禁管理系统工程是一个涉及硬件和软件集成的复杂系统,旨在控制人员的出入,并记录和管理相关数据。
门禁管理系统工程是一个涉及硬件和软件集成的复杂系统,旨在控制人员的出入,并记录和管理相关数据。
|
6月前
|
监控 网络协议 安全
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
|
6月前
|
监控 测试技术 持续交付
设计通用灵活的LabVIEW自动测试系统
设计通用灵活的LabVIEW自动测试系统
120 0
|
8月前
|
数据采集 芯片 异构计算
LabVIEW编程LabVIEW开发高级数据采集技术 同步 例程与相关资料
LabVIEW编程LabVIEW开发高级数据采集技术 同步 例程与相关资料
64 7
|
8月前
|
数据采集 监控 异构计算
LabVIEW编程LabVIEW开发高级数据采集技术定时与触发 例程与相关资料
LabVIEW编程LabVIEW开发高级数据采集技术定时与触发 例程与相关资料
107 7
|
存储 BI
建筑工地环境监测系统的作用和功能,了解一下!
智慧工地环境监测系统具有以下功能: 1、支持接入政府环保平台,对PM2.5、PM10、TSP、风速、风向、温度、湿 度、气压、噪声等数据进行实时在线监测; 2、实现对降尘喷淋设施的定时,联动自动控制; 3、当扬尘噪声超标时实现现场声光报警及平台通知报警;
205 1

热门文章

最新文章

下一篇
开通oss服务