来自两个设备的串行输入 _Campbellsci论坛问答

你好-

我们在华盛顿州渡轮上有一个使用CR10X数据记录器的气象站网络。以前,未经校正的原始天气数据从CR10X输出到(非CS)外部通信设备,该设备也获取导航数据并在发送到陆地接收器之前进行风力校正。因此,相对于船只的一端,风向总是为零(这些渡轮在“向前”和“向后”两个方向上运行)。现在,我们正在用NL100网络接口取代外部通信设备,因此需要直接在CR10X中获取导航信息,并在内部执行风力校正。

来自两个设备的串行输入
_Campbellsci论坛问答

我想连接到CR10X的两个海上导航设备是Furuno GP 90 GPS单元(用于地理位置)和Anschutz Standard 20 Gyro Compass(用于船只航向)。这两者都能够输出包含多字段(逗号分隔)ASCII字符串数据的RS232串行信号。这些设备以指定的间隔(1秒)输出Tx数据,并且每次都有几条不同长度的数据线输出。输出的每一行都以一个字符串代码开始,用于标识后面的记录。我知道我需要哪些数据行代码,这些行中的字段数。不幸的是,其他数据行包含不同数量的字段,有些大于我需要的行,有些小于我需要的列。那些我会忽略的。

我怀疑我可能很难正确处理串行数据并解析出我想要的行,所以如果有人有一个处理类似情况的CR10X代码示例,我们将不胜感激。谢谢

-里克

新对话如下:

里克,

我的简单建议是将CR10X升级为CR1000。使用CR10X中的P15指令这样做所节省的时间将超过CR1000的成本,CR1000具有出色的字符串处理功能,并允许您使用NL115或NL120以太网适配器插头,在我看来,使用设备配置编程要容易得多。

当做
戴夫

新对话如下:

更换数据记录器会更容易,但与世界其他地区一样,我们现在没有$$。因此,如果有人有一个CR10X程序可以读取多个不同数量的逗号分隔字段、P15字符串,并抛出所有你不想要的,这会让我的生活变得简单得多。谢谢

-里克

新对话如下:

我想你可能不会觉得这个问题听起来那么困难(只要你能将波特率设置为1200波特——这是CR10X读取的最快速度)。

如果设备遵循NMEA标准(或类似标准),则每条消息的开头都会有一个标识符,您可以使用CR10X记录器后期添加到P15指令中的过滤功能来获取该标识符。

要使用此功能,请首先确保您的记录器中有最后一个操作系统(可以从 www.campbellsci.com/下载 )然后参考以下网址的匹配手册:

https://s.campbellsci.com/documents/us/manuals/cr10x.pdf

然后参考附录B(pdf第233页),您将看到所描述的过滤功能,以及读取一个特定GPS字符串的示例,该字符串可能离您想要做的事情不远。

除了波特率限制外,P15还有其他限制,其中之一是它不缓冲任何东西,因此程序将被阻塞,等待下一条与您的筛选器匹配的消息进入。您必须多次调用该指令才能获得几个不同的字符串。

如果你不能做到这一点,那么你可以考虑在记录器中添加一个SDM-SIO4,它克服了波特率和缓冲限制,但许多人发现很难编程。

正如其他人所说,下一步是将记录器升级到CR800或CR1000,因为使用这些较新的记录器,串行I/O要容易得多。

*最后更新者:aps于2009年4月27日凌晨3:14*

新对话如下:

你好,安德鲁-

这对我来说是个好消息。我的导航设备输出NMEA 0183 V2.0消息,但我还不知道是否可以获得小于4800波特的消息。如果我们不能降低数据速率,SDM-SIO4看起来将是直接布线的一个很好的替代方案。你能指引我去找合适的人了解销售信息吗?非常感谢。

-里克

新对话如下:

该产品的美国专家是Doug Neff。贝斯特打电话到洛根办公室与他交谈,充分讨论申请事宜。他是处理NMEA数据的专家。

他可能还建议使用另一种硬件选项,即SC100设备,该设备具有与P15一起使用的波特率转换功能。这不会解决程序在等待和读取串行数据时暂停的问题,但对于一个或两个通道来说会更便宜。

*最后更新者:aps于2009年4月28日凌晨3:51*

分享到:

原文链接:,转发请注明来源!
海洋仪器网 仪器使用 来自两个设备的串行输入 _Campbellsci论坛问答
「来自两个设备的串行输入 _Campbellsci论坛问答」评论列表

发表评论