LabVIEW 是一个十分出名的图形化编程工具,与之类似的还有Matlab 的Simulink,他们统称为图形化编程语言(Graphical Programming Language),另一方面,IEC61499 功能块标准也是一种图形化编程工具,它面向分布式工业控制系统。本篇博文讨论一个十分有趣的话题,如何使用IEC61499 实现一个类似LabVIEW 界面的图形编程工具?
图形编程(Graphical Programming)方法
图形编程方法使用二维或多个维度图形来表达计算机的程序。与使用代码行的基于文本的编程相比,图形编程用物理事物的图片或符号替换文本。
图形编程提供了一种更直观、不繁琐的方法,对于某些程序员来说。它也可以是向视觉学习者介绍计算机编程的更有效方法。例如,终身幼儿园小组的研究人员创建了一个名为Scratch的程序,该程序使用图形编程来帮助儿童学习数学并参与创造性思维。
在计算机应用中有大量基于图形编程的方式:
- LabView G语言 应用于虚拟仪器,信号处理和控制
- Ladder:应用于描述PLC 的控制流程
- Simulink:用于系统仿真
- Node-RED 用与web 前端设计
- Google TensorFlow 用于神经网络计算
图形编程的本质
基于数据流计算
图形编程是通过将图表上的图形图标连接在一起来执行的,然后将其直接编译为机器代码,以便计算机处理器可以执行它。图形中的每一个图标表示一种计算单元,完成单一的计算。连线代表了数据的流向。因此,图形编程本质上是数据流计算模型(Dataflow Computing)。当数据流到某一个节点就开始节点的计算。
下面是一个数据流计算的例子:

尽管数据流计算是一种可行的计算模型,甚至比冯-洛伊曼计算机更加有效,但是由于硬件技术的限制,数据流计算机并没有流行,多个数据总线,分布式存储器等等。它只是成为了计算机软件架构的模型。使用数据流计算的运行时,可以实现数据流模型的计算。
目前AI 流行,数据流计算又被人们重视,事实上AI 的神经网络就是一种典型的数据流计算模型。

本文探讨了如何利用IEC61499标准构建一个类似LabVIEW的图形编程工具,强调了数据流计算和事件驱动在图形编程中的关键作用,以及如何通过增加事件IO和复合功能块实现从数据流到IEC61499的转换。
最低0.47元/天 解锁文章
1500

被折叠的 条评论
为什么被折叠?



