组态软件功能参数

简介: 组态软件功能参数

功能

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

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


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

相关文章
|
1天前
|
机器学习/深度学习 计算机视觉
LabVIEW开发自动读取指针式仪表测试系统
LabVIEW开发自动读取指针式仪表测试系统
14 7
|
3天前
|
传感器
LabVIEW以编程方式启用IEPE激励
LabVIEW以编程方式启用IEPE激励
|
3天前
|
数据采集 监控 异构计算
LabVIEW编程LabVIEW开发高级数据采集技术定时与触发 例程与相关资料
LabVIEW编程LabVIEW开发高级数据采集技术定时与触发 例程与相关资料
18 7
|
5月前
|
监控 API C++
8.4 Windows驱动开发:文件微过滤驱动入门
MiniFilter 微过滤驱动是相对于`SFilter`传统过滤驱动而言的,传统文件过滤驱动相对来说较为复杂,且接口不清晰并不符合快速开发的需求,为了解决复杂的开发问题,微过滤驱动就此诞生,微过滤驱动在编写时更简单,多数`IRP`操作都由过滤管理器`(FilterManager或Fltmgr)`所接管,因为有了兼容层,所以在开发中不需要考虑底层`IRP`如何派发,更无需要考虑兼容性问题,用户只需要编写对应的回调函数处理请求即可,这极大的提高了文件过滤驱动的开发效率。
44 0
|
5月前
|
网络协议 API C++
6.6 Windows驱动开发:内核枚举Minifilter微过滤驱动
Minifilter 是一种文件过滤驱动,该驱动简称为微过滤驱动,相对于传统的`sfilter`文件过滤驱动来说,微过滤驱动编写时更简单,其不需要考虑底层RIP如何派发且无需要考虑兼容性问题,微过滤驱动使用过滤管理器`FilterManager`提供接口,由于提供了管理结构以及一系列管理API函数,所以枚举过滤驱动将变得十分容易。
58 1
6.6 Windows驱动开发:内核枚举Minifilter微过滤驱动
|
7月前
|
存储 数据采集 监控
|
8月前
|
Android开发 开发者
Android平台GB28181设备接入模块之球机/云台控制探究
好多开发者在做GB28181设备接入的时候,问云台控制是否可以处理(亦或拉取外部RTSP摄像头,通过命令中转的方式,控制摄像头),实际上云台控制命令相对来说还是比较好处理的。协议规范有明确说明,云台控制命令不需要发送应答命令,实现相对简单,和我们之前做的远程启动命令(TeleBoot)类似。
104 0
|
存储 监控 算法
超灵活可配置免费modbus上位机 (带权限管理、全速曲线、多功能组件等)产品级,ALL in ONE
产品级,ALL in ONE X-infinite 软件是 融合多年工业控制和信息采集监测方面经验打造的一款调试利器,集参数监控、设备配置、曲线观察、数据记录保存、数据统计分析、历史数据回放、设备自定义、灵活组件、日志记录等为一身,全方位为用户所想的功能考虑,实现了简约不简单的全能型上、下位机软件。其功能十分强大,目前兼容主流的 ModbusRTU、ModbusTCP,后续更新添加ModbusASCII、 ModbusUDP、CAN、 EtherCAT、 PROFIBUS、 PRONET 等协议,本软件是基于 Qt框架开发的,可运行在 WIN、 Linux 等平台。
276 0
 超灵活可配置免费modbus上位机 (带权限管理、全速曲线、多功能组件等)产品级,ALL in ONE
|
存储 JSON 物联网
HarmonyOS系统中内核实现智慧物流控制的方法
大家好,今天主要和大家聊一聊,如何使用鸿蒙系统实现智能物流的开发.
175 0
HarmonyOS系统中内核实现智慧物流控制的方法
|
存储 编解码 关系型数据库
案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,rgv小车,期限控制,参数调试等)
国产大型机床中Qt上位机激光焊接系统软件案例分享,介绍了Qt在国产化机床上的各种应用案例,并附上案例的具体功能界面供大家学习
案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,rgv小车,期限控制,参数调试等)