关于IEC61499 标准中的适配器

28 篇文章 38 订阅

        学习IEC61499 标准时,对于适配器(adapter)的概念难以理解。这篇博文希望帮助你理解IEC61499 的adapter。

适配器的基本概念

        在设计IEC61499 应用中的一个问题如何保持清晰和可读性,在实际应用中,功能块会比较大,事件和数据的输入输出多,连线多而复杂。一个复杂一点的应用,连线密密麻麻,占据了大量的设计窗口空间,而且可读性比较差。IEC61499 的适配器(adapter)就是为了解决这个问题而设置的。

        Adapter 类似功能块之间连接的“电缆”“(图-1)。我们知道,一根通信电缆中可能包含多个信号线。并且分为两头,一头头称为插头(plug),另一头称为插座(socket)。同时对与每个接口(Plug /Socket)而言, 些信号是输出,某些信号是输入。如果在插头上某个信号是输出的话,到了插座端便为输入。他们是对称的。记住了关于电缆的概念,有助于你理解IEC61499 的adapter。

你可以将adapter 比做硬件原理图中的总线(BUS),他们也是为了简化连线而设置的。

 

适配器的应用

        在复合功能块接口定义中, 可以添加一个socket(相当于电缆的插座),socket 在数据输入侧,也可以添加一个plug (相当于电缆的插头)。plug和socket 是镜像对称的,如图-2所示。这意味着进入plug和socket的事件和数据从连接的另一端流出。

         例如触发FB1插头interPlg 的EI1的导致FB2 插座interSkt接收到EI1 事件。同样地,在包含socket 的功能块中触发EO1 会导致plug 的EO1 事件的输出。

(图2)

      在功能块中, Plug和socket的可以和功能块的输入/输出同样的方式使用。值得注意的是,在功能块的角度看,plug和socket的输出相当于功能块的输入,而Plug和socket 的输入相当于功能块的输出。他们向适配器的另一端发送事件和数据。这类似于通信接口定义中的DTE和DCE。站在不同的角度看,输入/输出是不同的。要不然会引起混淆。

适配器可以用于任何功能块类型(也就是基本,复合和服务接口功能块)。

 

定义适配器类型

        适配器类型接口的定义和功能块类型定义类似,同样的方式建立输入/输出事件和输入/输出数据

输入输出数据可以通过WITH 与输入输出事件关联。

(图-3)

 

(图-4)

         REQ是socket 端的事件输入,而RSP 是plug 的事件输入。同样地,REQD 是socket端的数据输入,而RSPD是plug的数据输入。

  对应地,CNF是plug的事件输出,IND是socket端的事件输出端。同样地,CNFD是plug端的数据输出,INDD是socket的数据输出。

理解Adapter 事件和数据流向最好的方法是将它一分为二,对应的plug和socket如图-5 所示。

         在上图中,可以看出,Plug 端的输入,连接到socket 端的输出,而Socket 端的输入是Plug端的输入。

     IEC61499 是通过服务序列图(service sequence diagrams)来定义适配器事件的关系。

(图-6)

该图一目了然。我个人的经验是,不要去关注适配器类型定义的输入输出,将它分解成Plug和Socket。在看服务序列图。或者牢记:

Plug 端的输入,连接到socket 端的输出,而Socket 端的输入是Plug端的输出。

适配器在基本功能块中的使用

                基本功能块中,Plugs和sockets的输入和输出能够在执行控制图(ECC)和算法中使用。

在ECC 中,plugs和socket的输出事件能用来作为转移条件,而plugs和sockets的输入事件能够用于状态执行语句中。plugs和sockets的数据输入和输出能够在ECC 的转移调控和算法中使用。

(图-7)

适配器在复合功能块中的使用

         在复合功能块定义中放置了Plug或者Socket 之后,就可以看见相应的plug和socket 放置在复合功能块内部的的功能块网络中。

(图-8)

适配器在服务功能块中的使用

        在标准中没有定义在服务功能块中使用。然而,plug和socket的输入和输出能够以功能块的输入输出类似的方式在服务序列中使用。

在功能块应用中使用适配器的好处

        只有理解了使用适配器的好处,才能够更好的理解适配器。而且能够更加自觉地使用适配器功能。使用适配器的好处包括:

      减少了功能块输入输出的数量避免混淆。特别是两个功能块之间由反馈的情况之下。比如(图-9),没有描述交互过程的语义。不了解两个功能块之间事件交互的顺序。

(图-9)

        可以将这两个功能块之间的事件和数据的连接使用adapter 代替。在adapter中清晰地定义交互过程(使用服务序列图)

(图-10)

服务序列图

(图-11)

构建复杂的功能块网络

        功能块可以使用同类adapter 连接多个其它功能块。例如一个控制器功能块连接两个电机驱动功能块。他们之间使用一个motorCable 的适配器。

motorCable 适配器可能定义了多个事件和数据。比如start,speed,direction 等等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值