NMEA 0183 RSA报文(Rudder Sensor Angle,舵角传感器报文)协议解析
2026-10-22 11:42:18 来源:华启智能
本文介绍NMEA 0183 RSA(Rudder Sensor Angle,舵角传感器报文)报文结构及数据解析。
舵角发射器(右舷反馈器)是一个提供转向指示的舵角传感器。安装在驾驶室内。将舵角数据传输到Marine Data舵角指示器、VDR或自动驾驶仪的任何方便的位置。使用数字NMEA 0183输出(IEC 61162-1)。
NMEA RSA报文(Rudder Sensor Angle,舵角传感器报文)是NMEA-0183协议中专门用于传输船舶舵角传感器数据的专用语句,主要在航海场景下输出左右舵的角度与有效性状态。
厂商自定义与特殊场景ID
仅有的两类特殊差异场景
厂商私有扩展报文
各Talker ID标准RSA报文示例
标准RSA报文结构
NMEA RSA报文(Rudder Sensor Angle,舵角传感器报文)是NMEA-0183协议中专门用于传输船舶舵角传感器数据的专用语句,主要在航海场景下输出左右舵的角度与有效性状态。
NMEA RSA报文的常见Talker ID可分为标准专用类、通用航海类和厂商自定义类三大类,其中部分ID是NMEA标准中专门为舵角相关设备定义的专属标识。
标准舵角设备专属Talker ID
这部分是NMEA 0183标准中明确指定给舵角类设备的专用标识,是RSA报文最原生的发送源:
RI:Rudder Angle Indicator,舵角指示器,是RSA报文最标准的专属Talker ID,专门由舵角传感器、舵角指示器设备直接输出。
SG:Steering Gear,操舵/舵机系统,船舶的操舵控制单元会使用该ID输出RSA报文,反馈舵机的实际执行角度。
通用航海设备常用Talker ID
大量集成了舵角数据转发功能的通用航海导航设备,也会输出RSA报文,使用以下通用ID:
II:集成导航接口设备,是航海电子系统中最常见的通用转发ID,比如Raymarine AutoHelm、SeaTalk-NMEA网桥等设备,都会将采集到的舵角数据以$IIRSA的格式输出,是实际工程中出现频率最高的RSA报文前缀。
AG:通用型自动驾驶仪,船舶自动操舵系统会直接输出RSA报文,反馈当前设定舵角与实际舵角的匹配状态。
AP:磁航向自动驾驶仪,部分传统磁罗经配套的自动驾驶仪,也会附带输出RSA舵角数据。
部分专用设备和老旧系统会使用非标准的自定义ID输出RSA报文:
U0~U9:用户自定义配置ID,部分工业级舵角适配器支持用户自行配置2位Talker ID,范围为U0到U9,用于在多舵机系统中区分不同舵的数据源。
Pxxx:厂商私有协议前缀,部分品牌的专用舵角传感器会以P开头,后跟3位厂商助记码,输出自定义格式的RSA类报文,不属于标准通用格式。
绝大多数符合NMEA 0183标准的不同Talker ID的RSA报文,核心数据字段格式完全一致,仅存在极少数厂商私有场景下的特殊差异。
标准场景:格式100%统一
所有遵循NMEA 0183官方规范的RSA报文,无论使用RI(舵角指示器)、SG(舵机系统)、II(集成导航接口)还是其他标准Talker ID,报文结构完全统一:
固定为$--RSA,x.x,A,x.x,A*hh<CR><LF>的结构,4个数据字段的顺序、含义、单位完全相同
右舵角度、右舵状态、左舵角度、左舵状态的定义没有任何区别,解析逻辑完全通用
Talker ID仅作为发送设备的身份标识,不改变RSA语句本身的字段定义和数据格式
常见 Talker ID 对照表
| Talker ID | 设备类型 | 说明 |
| RI | Rudder Indicator | 舵角指示器,最标准的 RSA 发送源 |
| SG | Steering Gear | 操舵系统/舵机控制器 |
| II | Integrated Instrumentation | 集成导航/仪表系统(常见于多合一显示器) |
| AP | Autopilot | 自动驾驶仪 |
| AG | Autopilot General | 通用自动驾驶系统 |
| GP | GPS | 极少用于 RSA,除非 GPS 接收机集成了舵角输入转发功能 |
仅有的两类特殊差异场景
厂商私有扩展报文
部分小众品牌的专用舵角传感器,会使用自定义的非标准Talker ID(如部分工业级设备的U0~U9自定义ID),在标准4个字段之外额外增加1~2个厂商私有字段(如舵机温度、故障码),这类报文不符合NMEA官方规范,普通通用解析器会将额外字段识别为无效空值。
老旧非兼容设备
极少数2000年之前出厂的早期舵角设备,输出的RSA报文会省略左舵字段,仅保留右舵角度+状态2个字段,这类报文属于历史遗留的非标准实现,目前已基本淘汰。比如:$AGRSA,-40.0,A,,*30
各Talker ID标准RSA报文示例
| Talker ID | 完整标准报文示例 | 发送设备类型 | 报文数据含义 |
| RI(舵角指示器专属) | $RIRSA,12.5,A,-12.5,A*5D | 舵角传感器/舵角指示器 | 右舵12.5°有效,左舵-12.5°有效 |
| SG(操舵系统) | $SGRSA,0.0,A,0.0,A*42 | 船舶舵机控制单元 | 舵处于正舵0位,左右舵数据均有效 |
| II(集成导航接口) | $IIRSA,5.2,A,-5.2,A*3F | 导航网桥/SeaTalk-NMEA转换器 | 右舵5.2°有效,左舵-5.2°有效 |
| AG(自动驾驶仪) | $AGRSA,-3.8,A,3.8,A*47 | 自动操舵系统 | 左舵3.8°有效,右舵-3.8°有效 |
| U0(自定义ID) | $U0RSA,15.0,V,15.0,V*71 | 多舵机系统1号舵 | 舵角传感器故障,左右舵数据均无效 |
以下是 NMEA-0183 协议中 RSA (Rudder Sensor Angle) 报文的详细示例及深度解析。
RSA 报文主要用于传输船舶舵角传感器的数据,通常包含左舷(Port)和右舷(Starboard)两个舵的角度信息及其有效性状态。
RSA 报文主要用于传输船舶舵角传感器的数据,通常包含左舷(Port)和右舷(Starboard)两个舵的角度信息及其有效性状态。
标准RSA报文结构
$--RSA,a.a,x,b.b,x*hh<CR><LF>
$:起始符。
--:Talker ID(设备标识符),如 II、RI、SG 等。
RSA:语句标识符,代表 Rudder Sensor Angle。
a.a:右舷Starboard(或单舵)舵角:浮点数,单位度。负号表示转向左舷(Port)。
x:右舷数据状态。A=有效 (Active/Valid),V=无效 (Void/Invalid)。
b.b:左舷Port 舵角:浮点数(双舵系统时使用,可为空),单位为度。
x:左舷数据状态。A=有效,V=无效。
*hh:校验和。
<CR><LF>:回车换行结束符。
$ZHRSA,,V,-13.7,A*73
$ZHRSA,,V,07.5,A*59








