SOME/IP
EcuBus-Pro 支持 SOME/IP 协议,可用于开发和测试支持 SOME/IP 的设备。
配置
EcuBus-Pro 的 SOME/IP 功能基于 vSomeIP。 有关不清楚的配置细节,请参阅 vSomeIP 配置文档。
添加 SOME/IP 配置
通过点击 SOA->SOA 配置->添加 SOME/IP 配置来添加 SOME/IP 配置。

配置 SOME/IP
点击 SOME/IP 配置以进行配置。

设备配置
每个 SOME/IP 配置必须包含一个以太网设备。
应用程序配置
每个 SOME/IP 配置对应一个应用程序,并需要一个应用程序 ID。 应用程序 ID 是应用程序的唯一标识符,范围为 1-65535。
服务发现配置
控制是否启用服务发现。 如果启用了服务发现,您需要配置与服务发现相关的设置。
TIP
如果启用了服务发现,您可能需要在计算机上配置多播相关设置。
服务配置

WARNING
目前仅支持简单服务。 对事件和事件组的支持将在未来添加。
每个服务需要配置:
- 服务 ID - 服务的唯一标识符,范围为 1-65535
- 服务实例 ID - 服务实例的唯一标识符,范围为 1-65535
- 是否启用 TCP 可靠传输及对应的端口号
- 是否启用 UDP 不可靠传输及对应的端口号
SOME/IP 交互器
点击 SOME/IP 交互器以快速发起 SOME/IP 请求并查看 SOME/IP 请求的响应。

交互器配置
悬停在交互器块上并点击编辑按钮以配置交互器。
连接配置


编辑请求
TIP
目前不支持从数据库中选择请求。

SOME/IP 脚本
Util.OnSomeipMessage 监听 SOME/IP 消息
监听 SOME/IP 消息。 当接收到 SOME/IP 消息时,将调用回调函数。
typescript
// Listen to all SOME/IP messages
Util.OnSomeipMessage(true, (msg) => {
console.log('Received SOMEIP message:', msg);
});
// Listen to SOME/IP messages for a specific service/instance/method
Util.OnSomeipMessage('0034.5678.90ab', (msg) => {
console.log('Received specific SOMEIP message:', msg);
});
// Listen to SOME/IP messages for a specific service with wildcards
Util.OnSomeipMessage('0034.*.*', (msg) => {
console.log('Received specific SOMEIP message:', msg);
});output 输出 SOME/IP 消息
输出 SOME/IP 消息。 您可以输出 SOME/IP 请求和 SOME/IP 响应。
typescript
import { SomeipMessageRequest, SomeipMessageResponse, output } from 'ECB'
Util.OnSomeipMessage('1234.*.*', async (msg) => {
if (msg instanceof SomeipMessageRequest) {
const response = SomeipMessageResponse.fromSomeipRequest(msg)
await output(response)
}
})