组态软件功能参数

简介: 组态软件功能参数

功能

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

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


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

相关文章
|
8月前
|
编解码 小程序 IDE
【产品上新】小程序相机功能全面开放!
【产品上新】小程序相机功能全面开放!
123 0
|
数据安全/隐私保护 块存储
|
16天前
|
监控 安全 调度
公司电脑监控:Clojure 实现动态规则下的灵活行为监测
在复杂的企业办公环境中,Clojure 作为一种强大且灵活的编程语言,能够实现基于动态规则的电脑行为监测,包括网络访问、文件操作和应用程序使用情况的监控。通过简洁的代码,Clojure 能够准确捕捉关键信息并发送到指定网址进行记录和分析,为企业提供精准且适应性强的监控解决方案,保障信息安全和高效工作秩序。
42 7
|
5月前
|
传感器 C# 监控
硬件交互新体验:WPF与传感器的完美结合——从初始化串行端口到读取温度数据,一步步教你打造实时监控的智能应用
【8月更文挑战第31天】本文通过详细教程,指导Windows Presentation Foundation (WPF) 开发者如何读取并处理温度传感器数据,增强应用程序的功能性和用户体验。首先,通过`.NET Framework`的`Serial Port`类实现与传感器的串行通信;接着,创建WPF界面显示实时数据;最后,提供示例代码说明如何初始化串行端口及读取数据。无论哪种传感器,只要支持串行通信,均可采用类似方法集成到WPF应用中。适合希望掌握硬件交互技术的WPF开发者参考。
92 0
|
6月前
|
传感器 Python
门禁管理系统工程是一个涉及硬件和软件集成的复杂系统,旨在控制人员的出入,并记录和管理相关数据。
门禁管理系统工程是一个涉及硬件和软件集成的复杂系统,旨在控制人员的出入,并记录和管理相关数据。
|
6月前
|
监控 测试技术 持续交付
设计通用灵活的LabVIEW自动测试系统
设计通用灵活的LabVIEW自动测试系统
116 0
|
存储 数据采集 监控
|
人工智能 监控 数据可视化
工业互联网UWB定位系统源码,支持自定义开发
工厂人员定位系统可实现物资/车辆实时定位,物资/车辆数量实时查询,全智能化的物资/车辆查找,提高工作效率,实现合理调度。 集人脸识别系统、智能考勤、工时统计、行为检测、历史轨迹回放、人员管理、电子围栏、应急救援等功能为一体,实现在岗人员及外来承包商的规范管理
145 0
工业互联网UWB定位系统源码,支持自定义开发
|
存储 数据处理 数据库
河北稳控科技振弦采集模块配置工具VMTool 扩展功能数据处理
数据存储 数据存储功能模块支持自动或手动将实时数据寄存器值存储到数据库, 并支持导出为 Excel文件功能。
河北稳控科技振弦采集模块配置工具VMTool 扩展功能数据处理
|
存储 监控 算法
超灵活可配置免费modbus上位机 (带权限管理、全速曲线、多功能组件等)产品级,ALL in ONE
产品级,ALL in ONE X-infinite 软件是 融合多年工业控制和信息采集监测方面经验打造的一款调试利器,集参数监控、设备配置、曲线观察、数据记录保存、数据统计分析、历史数据回放、设备自定义、灵活组件、日志记录等为一身,全方位为用户所想的功能考虑,实现了简约不简单的全能型上、下位机软件。其功能十分强大,目前兼容主流的 ModbusRTU、ModbusTCP,后续更新添加ModbusASCII、 ModbusUDP、CAN、 EtherCAT、 PROFIBUS、 PRONET 等协议,本软件是基于 Qt框架开发的,可运行在 WIN、 Linux 等平台。
378 0
 超灵活可配置免费modbus上位机 (带权限管理、全速曲线、多功能组件等)产品级,ALL in ONE