QUANSER
8a5c4974d95e16f055aac33d3715281
  • 首页
    HOME
  • 产品&实验室解决方案
    PRODUCTS&LAB SOLUTIONS
  • 资讯&动态
    NEWS
  • 全球客户
    QUANSER COMMUNITY
  • 技术支持
    SUPPORT
  • 关于我们
    ABOUT US
通信模块介绍 关闭 返回上一级  
 
通信模块介绍
+ 查看更多
作者:姜岩

  随着多智能体的研究在领域内的火热,越来越多的用户开始关注多个智能体的互联该如何实现,也有已经在使用我们设备的用户对设备通信的具体操作有一些问题,那么小编在本文中将介绍一下QUARC实现设备通信的Stream模块。

首先Stream模块的位置在simulink模块库中Simulink Library Browser\QUARC Targets\Communications\Basic目录下,分为Stream Server和Stream Client。

  现在,我们找到这两个模块:

b4f3ea420d044fff72e37df7893bce3

  右击模块点击Help就可以看到每个端口的功能和其输入输出值所代表的含义,一般而言我们只需要关注snd和rcv这两个端口,snd是发送数据的端口,rcv是接收数据的端口,我们通过snd发送数据到远程主机,通过rcv获得来自远程主机的信息。而state、err等端口是表示通信状态,有需求的话可以组合起来表示系统运行情况。大多数情况下,我们将Stream Server视为发送端,Stream Client视为接收端,但两个模块都有发送和接收端口,可见其能并不局限于发送或接收中的一种,Stream Server也可以接收信息,Stream Client也可以发送信息,这需要考虑具体的应用场景。

  再双击打开这两个模块

1
  可以看到它们的内部配置选项基本相同,点击下面的help也可以看到每个配置项的具体作用和配置需求,这里就不具体讲了,但有两个地方的配置我要具体演示一下如何使用,只要掌握了它们的配置,很容易就可以实现设备间的通信。

1.URI upon which to listen/URI of host to which to connect

  一个配置是在两个模块中有明显区别的一项,在使用局域网通信的时候,它们都需要填写一个IP地址和通信通道,格式为tcpip://192.168.X.X:18XXX(X为自定义数),tcpip://192.168.X.X为IP地址,:18XXX为通信通道(软件默认设置,通信通道为18001~18999)。其中Stream Server中的URI upon which to listen所要填写的IP地址为运行该模块所在程序的主机的IP地址,也就是发送端的IP地址。比如,一台PC的IP地址是192.168.2.6,如果要从这台PC发送信息,那么就要就要填写tcpip://192.168.2.6:18001,这就表示从IP为192.168.2.6的主机的18001通道向外发送信息。可以看到这里只输入了发送方的IP地址,并没有指定谁去接收这一指令。而Stream Client中的URI of host to which to connect中填写的是你期望接收信息的主机的IP,比如一台IP为192.168.2.7的主机想要接收之前提到的那台PC发出的信息,就需要在URI of host to which to connect下同样填写tcpip://192.168.2.6:18001,表示的是接收来自IP为192.168.2.6的主机的18001通道的信息。

  如下是实际的演示从192.168.2.6主机向192.168.2.7主机发送一个正弦波,同时192.168.2.7的主机发送回一个方波给192.168.2.6主机的例子:


  这里简单总结一下,(1)在我举的例子中,两台主机的IP分别为192.168.2.5和192.168.2.7,这表示要实现通信,所有设备需要在同一个局域网、同一网关下。(2)两个模块的通道都是18001,这表示两个设备间的通信要通过同一个通道。(3)当Stream Client中的IP地址设置好后,那么它将只能与被设定为那个IP的Stream Server通信。
2.Default output value

  两个模块中都有这个配置,它的作用是初始化所要接收的数据的量,它的输入格式是用zeros()函数建立的0矩阵。比如如果Stream Client要接收来自Stream Server的一个正弦波和一个方波,那么就要在这里输入zeros(1,2)建立一个一行两列的0矩阵作为接收信息的初始化。由于这个一配置项的存在,Stream Server也要对来自Stream Client的数据进行初始化,为了防止错误的配置导致报错,一般来说一个Stream Server搭配一个Stream Client,不同设备与同一主机通信要设置多组Stream模块,以不同的通信通道(18001~18999)去区分。
  而在我们提供的Demo程序中,URI upon which to listen/URI of host to which to connect中的IP地址的配置采用了外部来源,也就是如下图的设置方法:

2
  这是为了方便在同一个外部来源处修改多个Stream模块的IP地址。可以看到在左侧Model Argument处有一个-URI_Leader,这个就是IP地址的标识,在设置里的Code Generation > Interface下可以找到这一标识:

3
  可以看到在-URI_Leader一个空格后接上了所要填写的IP地址,同时在这里也有着-URI_Host标识的IP地址,两个IP间用空格隔开。我们提供的demo用这种外部来源的方式,实现在设置里统一配置各个Stream模块的IP地址,一般来说在程序中会有注释提示每个IP应该填什么,而且在理解每个程序与哪些设备通信后,这里的IP设置也是很好理解的。
  以上就是实现使用Stream模块进行设备通信的说明,掌握了这一模块的使用,用户在开展多智能体协同控制研究时就可以省去大量学习设备通信的时间,能将更多的精力投入到算法开发上。这也为用户在一些基础设备上开展创新型实验提供了很大的帮助。

分享到:
新闻资讯
为您实时提供Quanser的最新动态,各类会议资讯以及活动
  • webwxgetmsgimg.
    Quanser祝大家圣诞节快乐
    发布日期:2022-12-23
  • 微信图片_20221128133515
    Quanser鲲航助力2022年江苏省自动化学术年会
    发布日期:2022-11-28
  • 微信图片_20221102091349
    Quanser鲲航助力2022中国车辆控制与智能化大会
    发布日期:2022-11-02
  • WebpageBanner-1100x479
    国际工程教育协会联合会(IFEES)&全球工程院长理事会(GEDC)2022年度大会
    发布日期:2022-06-17
  • webwxgetmsgimg
    上海海事大学无人机团队假期实践活动
    发布日期:2022-01-13
  • a348c712d3ee65121d1e36cb964d53c
    Quanser鲲航助力第36届中国自动化学会青年学术年会
    发布日期:2021-06-07
  • 1617975904345
    Quanser Café
    发布日期:2021-04-27
  • b93ff3f50482cac43ecbc70d62d57cc
    Quanser祝大家圣诞节快乐
    发布日期:2020-12-22
  • 2020-11-13 102549(1)
    Quanser鲲航助力2020中国自动化大会
    发布日期:2020-11-18
  • 2020-11-13 102620(6)(1)
    Quanser鲲航助力第35届中国自动化学会青年学术年会
    发布日期:2020-11-16
产品展示
RENDER_10K_MK5crop-600x295
沪ICP备19038303号-1       © 2022 Quanser中国        
沪公网安备 31011202011813号


联系我们

感谢您浏览QUANSER中国网站,现在就和我们联系吧。

客服QQ

 点击这里给我发消息

如果我们的客服QQ不在线,请填写表单。

发送

很高兴为您服务。

会话结束
点击回车发送