IEC 61499是用于分布式工业过程测量与控制系统(IPMCSs)功能块的标准。该标准的名称表明了两个重要的概念

-分布式工业过程测量与控制系统 

 (IPMCSs)表明该标准针对的是工业分布式系统-由多台设备通过网络构成的系统。相比之下,IEC61131 PLC 标准针对的是单台设备的编程。也许有人会产生一些疑惑,PLC 不是也可以通过网络构成分布式控制系统么?这两个标准有什么区别呢?其中主要的差别就在与IEC61499 标准将分布式系统当作一个整体来考虑。在IEC61499 的概念之下,整体地定义系统,设备和资源。设计一个完整的基于功能块网络的应用程序,然后将这个网络分解成为若干段,映射到相应的设备上去。通俗地讲,基于IEC61131 标准的分布式系统要为每一个设备编写不同的程序,以及设备之间的通信协议。而基于IEC61499 标准的分布式系统只编写一个大的控制程序,然后分段映射到各个设备上运行。而且系统的调试,部署和监控都有以一个整体来加以考虑的。第一次接触IEC61499 标准是我就吃惊地感受到它的制定者真是一个大胆的想法。这将大大地简化了分布式系统的编程,部署和运维。在后来的具体实验中,也的确感受到了这一点。编写一个多台设备构成的一个跑马灯控制系统,半个小时就搞定的了,而且应用程序修改起来十分的方便。

在上图中示意了由多个个设备构成的分布式系统(图中只画出了两个设备)。设计者编写了一个由FB1 到FB5 构成的功能块网络,实现的他希望在这个系统上实现的控制程序。在IEC61499 的开发工具(通常我们称之为IEC6499 开发环境IDE)中,借助于图形编辑工具输入这个功能块网络。然后通过映射将功能块FB1映射到设备1,将FB2 映射到设备2.。等等。由于FB1 和FB2 分布部署在两个设备上,功能块之间的连线表示的数据传输要通过网路来实现。因此,开发工具在映射是会自动地插入通信服务功能块SUB和PUB。在IEC61499 中功能块通信是通过这种订阅(SUB)/发布(PUB)机制来实现的。

完成映射之后,开发环境会将系统部署到各个设备上。所谓部署,就是通过网络将功能块网络段下载到设备中。每个设备中都已经预先运行了一个IEC61499 运行时(runtime)。它负责执行下载的功能块网络段。并且通过过程接口(process interface) 与设备的硬件接口打交道。

-功能块(Function block)

功能块是一个软件的功能单元。它采用图形化表示。通过功能块图形之间的连线,实现一个功能块网络形式的应用程序。下面就是一个LED 闪烁程序的功能块网络。

这张图看上去和硬件设计的原理图十分相似,E_CYCLE 相当于一个时钟发生器,它产生一个周期为一秒钟的信号。E_SWITCH 是一个2选1 电路,E_SR 类似于数字电路的RS 触发器。它和E_SWITCH构成了一个除 2 电路。在Q端将产生一个周期为2 秒的方波脉冲信号。QX 是一个硬件接口功能块。将脉冲信号在第4个GPIO 上,控制LED 闪烁。将该功能块映射到一个设备上。一旦部署成功,LED 就会不停地闪烁。

相信具有数字电路基础的读者都能够看懂上面的“原理图”,虽然我是一个软件工程师,但是也十分喜欢这样硬件的(hardware-like)功能表达方式。编写程序就像搭试电路那样具有成就感和真实感。

IEC61499 标准中,定义了少量的基本功能块。IEC61499 的开发环境会提供更多的功能块库。专业的IEC61499 软件

因此,一个完整的IEC61499 软件系统包括了开发环境,运行时程序和功能块库组成。下面是一个著名的IEC61499 开源项目4DIAC 的系统组成。

在我们的研究项目中。我们在Windows /ubuntu 上运行4DIAC的开发环境X86 PC的Ubuntu OS  ,全志Arm的H6 ,瑞芯微的RK3399 已经树莓PI3 上面运行4DIAC 的forte 运行时。

IEC61499 参考模型

在第一篇中,我们已经提及了工业软件中模型的重要性,下面我们就来详细地了解IEC61499 是如何通过模型来定义它的各种模型的。

在IEC61499 标准中,定义了如下几种模型

系统模型(system model)

设备模型(device model)

资源模型(resource model )

应用模型(Application model)

功能块模型(function block model)

分布式模型(distribution model)

管理模型(management model)

操作状态模型(operational state models)

我们先了解前四种模型,后面再详细地研究其它的模型。

系统模型

为了IEC61499 的目的,一个工业过程测量和控制系统的模型是一组相互连接的设备构成,相互之间通过网络通信。通信网络由网段和链接构成。设备通过链接接入网段。

IPMCS 完成的功能在模型中称为应用(Application),它可以驻留在一个设备中,例如应用C 。或者能分布在几个设备中。比如应用A和应用B。比如,一个应用可以由一个或者多个控制环路构成,在这些环中,一个设备采集输入数据,另外一个设备完成过程控制,而输出转换在第三个设备中完成。

可以看出,在IEC61499 中,应用(Application)就是基于功能块网络的应用程序。在中文翻译时,直接使用“应用”表示应用程序,有时会引起语义的混淆。所以在我的文章中,有时会使用“应用程序”来表示“应用”一词。

在前面已经提到过,设备可以是X86 PC,也可以是各种基于Arm 的小型计算机,比如树莓PI。

设备模型

从图2 可以看出,一台设备至少有一个接口(interface),亦即过程接口或者通信接口;也包含零个或者多个资源

“过程接口”提供了物理过程(模拟测量和离散IO 等)和资源之间的映射,与物理过程交换的信息以数据或者事件的形式呈现给资源。

通信接口提供了资源之间通过通信网络交换信息的映射。由通信接口提供的服务包括:

通信的信息表达成数据或者事件给资源

附加服务包括支持程序设计,配置和诊断。

资源模型

IEC61499 标准中资源的概念是比较难以理解的,因为它不像设备,网络那么直观。在标准中,定义为资源由功能单元(functional unit)构成,而在holobloc 网站的文档中,资源称之为提供在分布式系统中运行应用程序所需要服务的“工作马力(workhorses )”。在4DIAC 项目中,当添加一个设备时,自动在该设备下面产生了一个资源,除了修改一个名称之外,没有更多的编辑。资源可以理解为是设备中支撑应用程序的软件单元(supporting software uint)模型。也可以将资源理解为应用的运行环境的模型。资源模型对设备的硬件和网络接口进行了抽象。它们主要包括

过程映射

  完成应用与过程接口数据和事件的映射。映射由专门为此目的的服务接口功能块建模。

通信映射

  完成应用与通信接口之间的数据和事件映射。映射由专门为此目的的服务接口功能块。建模。

调度

执行应用中功能块之间的数据传输,遵循下列时间和顺序的需要

产生事件

功能块的相互连接

调度信息,例如周期和优先级。

资源是IEC61499 设备中的运行时(runingtime)程序来实现的。所以在IEC61499的开发环境中并没有太多对资源的产设定。初学者可以不太去纠结资源到底是什么。

应用模型

应用(程序)由功能块网络和它们的参数构成,它的节点是功能块或者子应用。网络分支是数据和事件连接线;

子应用(程序)是子应用(程序)类型的实例。子应用和应用类似,由功能块网络,应用名称,子应用和功能块对象的名称构成。可以建立分层标识符,唯一地标识系统中的每一个功能块对象。应用分布在一个或者多个设备中的若干资源中。

前面我们已经提到过,应用是整个分布式系统的应用,他分成为若干段,分别部署到各个设备中。

在下一篇中,我们会详细的研究IEC61499 的功能块。会对IEC61499 应用具有更深刻的理解。

漫谈工业软件(2)-IEC61499标准相关推荐

  1. IEC61499标准背后的逻辑

     俗话说,透过现象看本质.从工业控制软件的诸多概念,术语,软件中,我们如果理解了工业软件背后的逻辑,就明白了工业控制软件的本质. 功能块 IEC61499 标准中最重要的概念是功能块(function ...

  2. 主流mes厂商_工业软件:一文讲透国内外MES/MOM市场格局,主流厂商及其优势行业...

    ↑ 点击上方 "智能制造之家" 关注我们 原文:[工业软件专题报告]:MES,工业软件灵魂            来源:天风证券 写在前面 大家好,我是小智,智能制造之家号主~ 前 ...

  3. 比其他行业晚了十年的工业软件,转型的核心和动力是什么?

    "我不知道保守或者传统,这样的词是不是适合.但是我们要做的,是一直倾听客户的声音,尊重他们的投资."SOLIDWORKS最近在北京发布了最新的2019版本.这种以往软件时代的标准操 ...

  4. 【智能制造】工业软件:智能制造的大脑

    软件是实现智能互联的第一推动力.工业软件是智能制造的思维认识,是感知控制.信息传输和分析决策背后的世界观.价值观和方法论,是智能制造的大脑.工业软件支撑并定义了智能制造,构造了数据流动的规则体系.本文 ...

  5. 【干货】工业软件为什么这么难?

    全文字数 4800 字 阅读时间 11 分钟 文章由知识自动化(zhishipai) 授权转载 工业软件中几乎最难啃的三座大山,就是CAD.CAE和EDA,大山中间还穿插了许多小的丘陵,如CAM.拓扑 ...

  6. 15个开源的工业软件

    出品 | OSC开源社区(ID:oschina2013) 不同的工业流程,需要不同的工业软件.此前,我们已经介绍了面向研发设计环节的开源软件(详情查看:20 个开源的工业设计软件),今天就来介绍一下面 ...

  7. 工业数字化与新一代数字化系统设计平台----工业软件讲坛第一次讲座

    1.数字化技术变革与工业软件发展 1.1数字化技术 1.1数字化技术变革1一Modelica 面向零部件和专业设计仿真的传统CAD.CAE软件 多领域统一建模仿真技术与Modelica Modelic ...

  8. 2020中国工业软件企业排行2020中国智能制造企业排行

    本号相关PPT与资料,部分在文末说明的提供下载的可以转发到朋友圈或行业微信群,截图在后台回复获取.其余需自行进入智能制造之家知识星球自行下载~ 写在前面 大家好,我是小智,智能制造之家号主~ 前面我们 ...

  9. MATLAB 遭禁,CAD 也危险,国产工业软件如何突围?

    作者 | 马超 责编 | 伍杏玲 出品 | CSDN(ID:CSDNnews) 近日,著名的工业软件公司Mathwork已经停止了哈尔滨工业大学.哈尔滨工程大学等在实体清单上的公司提供技术以及客户支持 ...

  10. 盘点美国主要的基础软件和工业软件

    基础软件和工业软件是软件产业的核心基础和制高点,更是整个现代工业发展的重要支撑,是智能制造的"大脑".随着我国新一代信息技术.高档数控机床和机器人.航空航天装备等高端制造领域成为美 ...

最新文章

  1. R语言-安装使用指南
  2. Hibernate之HelloWorld
  3. 网易创新企业大会圆满收官  看新技术和新商业如何撞出花火
  4. How is account image maintained in CRM rendered in Fiori
  5. 在Salesforce中调用外部系统所提供的的Web Service
  6. GBT19056精要
  7. python中的_init_的使用
  8. 聘用计算机高级职称,关于咨询高级职称聘用的问题
  9. [源码]java.lang.reflect.Proxy
  10. 0基础java语法_Java零基础教程(二)基础语法
  11. 新编译的GDAL1.9 C/C++ C# Python版本
  12. oracle滚动统计,sql – 按月滚动或运行Oracle总计
  13. 狂雨小说采集笔趣阁源码
  14. AllenNLP框架学习笔记(入门篇)
  15. Visual Studio中C++关于Unicode字符集和多字节字符集
  16. STM32 GPIO模拟I2C的SHT20温湿度采样
  17. 一种实用的BOOST电路_UC3842升压设计
  18. jquery 基础教程[温故而知新二]
  19. 1698无法登录mysql服务器,Mysql ERROR 1698 (28000) 解决
  20. w ndows10怎么没体验指数,Win10如何使用WinSAT测试Windows体验指数?

热门文章

  1. 使用Simian工具扫描重复代码
  2. SPSS-描述统计与图示分析
  3. 【渝粤教育】电大中专跨境电子商务理论与实务_1作业 题库
  4. Spring Boot 实现在线Web SSH( Java Web版本的Xsehll)
  5. 部分 MP4 视频在谷歌浏览器无法播放
  6. STEAM 正在检查可用更新 ,失败
  7. leetcode69. x 的平方根
  8. 【字体分享】适合寒露闪屏设计的字体有哪些?
  9. beyond compare 对class文件反编译及比较
  10. 省花博会,或将成为跳马百亿产业的跳板