基于工业标准的LABVIEW功能块
熟悉工业控制,特别是PLC编程的朋友们肯定非常清楚IEC 61131-3标准,在这个标准中定义了PLC的几种编程方式,比如梯形图、语句表、流程图、功能块图等等。
随着PAC的不断发展,越来越多的朋友们使用LV进行逻辑顺序控制,这些功能都是PLC最为擅长的,并且已经形成了多种标准的功能模块。
LV8.6版本提供了18个标准的功能块,符合IEC 61131-3标准,提升了LV进行逻辑控制的能力。这些功能块是LV实时模块提供了,因此必须安装实时模块才能使用这些功能块。
实际上,这些功能块即可以用于实时系统编程,也可以用于WINDOWS应用。因为为18个功能块包含在一个库中,所以拷贝这些库到其它计算机,就不需要安装实时模块了。
随着PAC的不断发展,越来越多的朋友们使用LV进行逻辑顺序控制,这些功能都是PLC最为擅长的,并且已经形成了多种标准的功能模块。
LV8.6版本提供了18个标准的功能块,符合IEC 61131-3标准,提升了LV进行逻辑控制的能力。这些功能块是LV实时模块提供了,因此必须安装实时模块才能使用这些功能块。
实际上,这些功能块即可以用于实时系统编程,也可以用于WINDOWS应用。因为为18个功能块包含在一个库中,所以拷贝这些库到其它计算机,就不需要安装实时模块了。
功能块库是以XNODE方式提供了,可以通过对话框配置其输入、输出参数。对于WINDOWS应用,我们可以使用它的简化版本。在上图的子文件夹中,包含 了18个功能块中所用的核心VI.这些VI就是普通的可重入VI,并且提供了源代码。
下图是18个功能块中,减计数器VI所在位置:
下图是18个功能块中,减计数器VI所在位置:
减计数器VI,其源代码如下图所示:
18个功能块见下图,相信使用过PLC的朋友们从图标就知道它们的用法,这些功能块和PLC编程中所用的功能块完全相同。
使用方法:
1)如果安装了实时模块,在函数选板中就可以直接调用。这种方式必须建立项目。
2)如果拷贝了功能块库,可以把库直接加入到我们的项目中直接调用。
3)如果拷贝了核心VI,可以直接调用这些VI.
在后续文章中,我将详细介绍这些功能块的功能和用法。
1)如果安装了实时模块,在函数选板中就可以直接调用。这种方式必须建立项目。
2)如果拷贝了功能块库,可以把库直接加入到我们的项目中直接调用。
3)如果拷贝了核心VI,可以直接调用这些VI.
在后续文章中,我将详细介绍这些功能块的功能和用法。
如何配置和使用功能块
如果在项目文件中使用功能块,可以直接在函数中选择需要的功能块。因为功能块采用的是LV最新的XNODE方式,所以可以直接通过对话框配置功能块。
下面通过减计数器功能块,详细介绍一下配置对话框。双击功能块,启动配置对话框。
下面通过减计数器功能块,详细介绍一下配置对话框。双击功能块,启动配置对话框。
配置对话框分为输入和输出两部分。输入输出配置方式基本相同包括一下配置。
1、可见复选框用设置是否隐藏端子,对于不需要使用的端子,应该隐藏。
2、变量范围。变量范围可以选择单进程、网络发布和无变量。
无变量表示不使用共享变量,直接使用功能块的输入、输出端子。
功能块支持共享变量,因此可以直接在网络中或者实时系统中连接到共享变量。
选择网络发布或者单进程后,功能块自动创建端子对应的共享变量,功能块的端子不再需要在程序框图上连接。
下面演示一下其它共享变量如何链接到输入、输出共享变量。
1、可见复选框用设置是否隐藏端子,对于不需要使用的端子,应该隐藏。
2、变量范围。变量范围可以选择单进程、网络发布和无变量。
无变量表示不使用共享变量,直接使用功能块的输入、输出端子。
功能块支持共享变量,因此可以直接在网络中或者实时系统中连接到共享变量。
选择网络发布或者单进程后,功能块自动创建端子对应的共享变量,功能块的端子不再需要在程序框图上连接。
下面演示一下其它共享变量如何链接到输入、输出共享变量。
3、数据源。数据源可以选择变量、端子和默认。
数据源和变量范围存在对应关系。如果数据源选择了变量形式,则变量范围可以设置为单进程或者网络发布。如果数据源选择端子方式,则变量范围选择无变量。
4、默认值
对于输入,可以设置参数的默认值。对于输出,不存在设置默认值的问题。
数据源和变量范围存在对应关系。如果数据源选择了变量形式,则变量范围可以设置为单进程或者网络发布。如果数据源选择端子方式,则变量范围选择无变量。
4、默认值
对于输入,可以设置参数的默认值。对于输出,不存在设置默认值的问题。
计数器功能块
18个工业标准的功能块中,包括三个计数器功能块,分别是增计数器、减计数器和保持计数器。各种类型的PLC编程软件,都支持这三种方式的计数器。
一、增计数器
一、增计数器
功能块在程序框图上,有两种图标样式方式,如上图所示,左侧为完整视图,右侧为精简视图,其中精简视图和PLC中的表现方式更为类似,占用较少的显示空间。
除了典型的错误输入、输出端子外,增计数器包含三个重要的输入端子:
1、预设值。当计数器值大于或等于预设值时,在done布尔输出端子,输出为真,表示计数完成。到达计数值后,不再对计数端进行计数。
2、复位端。当复位端由低到高,产生上升沿时,计数器复位为0。
3、计数端。当计数端由低到高,产生上升沿时,计数器加1计数。
增计数器时序图如下图所示:
除了典型的错误输入、输出端子外,增计数器包含三个重要的输入端子:
1、预设值。当计数器值大于或等于预设值时,在done布尔输出端子,输出为真,表示计数完成。到达计数值后,不再对计数端进行计数。
2、复位端。当复位端由低到高,产生上升沿时,计数器复位为0。
3、计数端。当计数端由低到高,产生上升沿时,计数器加1计数。
增计数器时序图如下图所示:
二、减计数器
减计数用法和增计数器基本相同,当计数端产生由低到高的上升沿时,计数器减1操作,当计数器当前值为0时,停止后续计数,并在done输出端子输出真。 load端子由低到高,产生上升沿时,载入预设值。
减计数用法和增计数器基本相同,当计数端产生由低到高的上升沿时,计数器减1操作,当计数器当前值为0时,停止后续计数,并在done输出端子输出真。 load端子由低到高,产生上升沿时,载入预设值。
三、保持计数器(增减计数器)
增减计数器是由增计数器和减计数器构成的,具有增计数端子和减计数端子。当计数达到预设值时,count up done输出端子为真。当计数为0时,count down done输出端子为真。
当reset输入端产生上升沿时,计数器重置为0.当load端产生上升沿时,计数器重新载入预设值。
计数器使用非常简单。计数值为U32数据,如果需要计数的值超过最大范围,可以对计数器进行级联,扩大计数器范围。以增计数器为例,计数范围为两个计数器 预设值的乘积。
当reset输入端产生上升沿时,计数器重置为0.当load端产生上升沿时,计数器重新载入预设值。
计数器使用非常简单。计数值为U32数据,如果需要计数的值超过最大范围,可以对计数器进行级联,扩大计数器范围。以增计数器为例,计数范围为两个计数器 预设值的乘积。
通过级联的方式可以实现任意计数。