基于LabVIEW应用1394板卡实现数据通讯(三)——板卡测试软件实现通讯

3.板卡自带软件使用方法

(1)节点配置

本例中板卡自带的软件主体界面如下图8所示:

图8 软件主页面

在可用节点条目上单击鼠标左键,选中所要操作节点,屏幕上方功能设定中可以修改当前节点的CC 模式、RN 模式、BM 模式,选择好节点运行模式后,打开节点操作窗口。根据选择的运行模式,节点区显示内容有所不同,同时菜单栏中的设置项也有不同。

节点打开后处于非运行状态,此时可对节点属性进行编辑。操作的菜单如下图9所示:

图9 操作菜单

对应图中标记的序号,着重介绍以下六个常用的功能按钮

(1)启动:节点属性配置完毕后,点击“启动”,节点按照用户配置功能启动运行,节点运行过程中所有属性的修改将不起作用。

(2)停止:运行过程中,用户可以点击“停止”按钮使节点处于待命状态,此时可对消息属性进行修改或对消息进行重新配置。

(3)添加发送消息:添加一个 1394 异步消息。

(4)删除发送消息:删除列表中配置的 1394 异步发送消息。

(5)添加接收消息:添加 1394 接收的异步消息 ID。

(6)删除接收消息:删除列表中配置的 1394 异步消息 ID。 

(2)节点模式

       1)CC模式

配置好节点模式后,CC模式下节点属性配置菜单如下图10所示:

图10  CC模式配置菜单

(1)STOF 周期:设定 CC 发送 STOF 包周期,以uS为单位,最低支持1000us周期。

(2)速率:可选速率为 S100、S200、S400,设定当前节点发送消息使用速率值。

(3)节点通道:根据规范要求,CC 通道必须设置为“0”;

(4)BM 使能:使能后当前节点能接收到所有发送到该节点的数据;

(5)SVPC使能:用来是否允许底层硬件对消息自动进行SVPC生成(对于发送消息)或校验(对于接收消息),如果设置,则有效数据中最后一个双字用作SVPC校验,用户不能修改,同时节点将对接收消息自动进行SVPC校验,并对每条消息返回校验结果。

(6)窗口接收使能设定:允许节点仅接收特定时间区间内的消息,时间窗口之外的消息做丢弃处理;  

(7)允许接收发送消息使能:用于指定当前节点是否可以接收本节点发送数据;  

2)RN模式

配置好节点模式后,RN模式下节点属性配置菜单如下图11所示:

图11  CC模式配置菜单

偏移修改使能设定:允许本节点以当前接收第一个 STOF 周期中特定消息 ID 中的偏移内容修改发送偏移。

     3)BM模式(监控模式)

配置好节点模式后,BM模式下节点属性配置菜单和操作界面如下图12所示:

图12  BM模式配置界面

默认状态下节点接收所有消息(是否接收 STOF 包由“STOF 接收使能”控制),且时间窗过滤为未使能状态。下面介绍四种消息过滤方式:

(1)源通道-消息编号过滤:通过“源通道”、“消息编号”对消息进行过滤。

(2)源通道-目的通道过滤:通过“源通道”、“目的通道”对消息进行过滤。

(3)消息 ID 过滤:通过“消息 ID”、“目的通道”对消息进行过滤。

(4)时间窗过滤:可通过接收到消息是否满足时间窗定义的条件对消息进行过滤,只接收消息窗口以内数据,其余数据将被抛弃。

消息过滤 4 种方式中同一时刻只能有一种方式起作用,具体过滤方式由选中状态决定,如上图中为“消息 ID 过滤”条件使能。

(3)创建发送消息

在每个STOF周期中发送的消息称为常规消息,可分为周期消息和事件消息两种,周期消息指无论消息是否更新均以周期形式发送的消息,没有更新的情况下将发送最近一次更新的内容。事件消息指只有在更新以后才进行发送的消息。消息负载内容由消息更新函数决定。此处创建的均为常规消息,STOF消息自动进行发送,无需创建

创建新的发送消息如下图13所示:

图13 创建新的发送消息

(1)消息 ID:用来与其它消息进行区分的唯一标识,每条消息一个 ID,不允许重复。

(2)目的通道:指明此条消息发送通道,用来指出消息的目的节点,只有与目的通道的通道号一致的节点才能收到此条消息。

(3)消息类型:分为“周期消息”和“事件消息”,周期消息为周期性发送消息,其周期由 STOF 周期确定;事件消息发送由应用程序决定,更新后进行发送。

(4)有效负载:指包括健康状态字和心跳的有效负载长度,以字节为单位。

(5)发送偏移:指明此条消息在 STOF 周期中发送的时间,当偏移表确定后,此处自动加入对应通道的发送偏移,用户可以手动设置任意偏移值,偏移值最小不能小于 50us,最大不能大于(STOF 周期-50)us。此处提供了一种供同一节点在不同时间点发送消息的方法。如果所有消息的发送偏移相同的话,将按照消息创建顺序依次背靠背发送。

(6)心跳类型:分为“自动递增”和“用户控制”两种类型,自动递增情况下,心跳字不由应用决定,仅由“心跳步进值”和“心跳周期”决定;用户控制情况下,心跳字由上层应用写入,如果应用不对心跳进行修改,则心跳值不变。

(7)心跳步进值:在“自动递增”情况下有效,指明心跳每次变化增加的数值。

(8)心跳周期:在“自动递增”情况下有效,指明心跳何时发送变化,如果周期为“1”则每周期变化,如果周期为“2”则两个 STOF 周期发生一次变化,依此类推。

(4)创建接收消息

节点可接收发往本通道的消息,CC通道号默认为“0”,所有发往“0”通道的消息CC 都可以接收,创建接收消息后,CC只能接收到接收列表中消息,其余发往“0”通道的消息将被过滤。

创建新的接收消息如下图14所示:

图14 创建新的接收消息

接收消息以“消息 ID”为标记,满足接收列表中“消息 ID”且目的通道为“0”的消息将被接收,其余消息由底层硬件自动过滤。

(5)更新消息

用户选中发送消息列表中需要更新的消息,此时右侧窗口将显示当前消息的详细信息,灰色部分为不可更改部分,这些属性已经在消息创建时候定义。点击窗口中“负载内容”左侧三角形标记可将负载内容下拉列表打开,具体效果如下图15所示,在需要修改负载内容的地方写入要发送数据,第一个双字([0])处为健康状态字,第二个双字([1])处为心跳状态字。其中健康状态字由底层逻辑决定,用户输入数据无效,心跳状态字参见创建发送消息中关于心跳的说明。

图15 更新消息

消息负载内容修改完毕,可单击窗口上方“更新”按钮,对消息进行更新。对于周期发送消息此时负载内容将按照最新内容发送;对于事件消息更新过后将按照该消息指定偏移处发送一条带有最新负载内容消息。

看到这里,说明你真的需要学习1394板卡的通讯使用,其实到这里理论上你已经具备了完成基本通讯的能力,那么下一篇就让我们一起使用LabVIEW来实现节点间的通讯任务吧。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今天还没学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值