变速器组件

更新时间:
2024-04-25
下载文档

变速器组件

本节介绍 AutoCode 变速器组件。

创建变速器组件

  1. 在组件编辑器视图工具中选择:Constructor-> SubRegulMCom

  2. 在组件编辑器视图中绘制变速器组件。

注意:

变速器组件第一个事件输入端口必须是 PubPort, 新建事件输入端口自动设置为 BindComPort (绑定第一个事件,由第一个事件输入端口调用)。

变速器组件介绍

功能描述

当一个服务从其它服务订阅资源,该资源发布频率非常快或不能满足当前服务处理频率时,可以使用变速器组件,配制该资源输出频率。变速器组件接收一个订阅资源,可以创建多个事件,每个事件可单独配制事件回调周期。

接口原型如下,详细信息请参考 vsoa_regulator_topen in new window

vsoa_regulator_t *vsoa_regulator_create(const struct timespec *period);
bool vsoa_regulator_slot(vsoa_regulator_t *regulator, const vsoa_url_t *url, vsoa_regulator_func_t ondelay, void *arg, size_t buf_size);

组件模型

变速器组件是多通道管道组件,只有第一个事件输入端口允许外部连接。组件中其它事件为 COM_BIND 事件,第一个事件触发组件其它事件执行。 变速器组件第一个事件输入端口都是 VSOA-PUB 类型,输出端口没有限制。

变速器组件一般建模模型示例:

组件属性

变速器组件事件属性配置如下:

表 1 事件属性详细说明

名称选项缺省值是否可配置说明
IDevent1/自动配置no事件 ID
Period1000/1000yes变速器周期 (ms)
BufSize4096/4096yes变速器缓存 (Byte)

事件接口

变速器组件为输入事件(第一个事件)及 COM_BIND 事件创建正常用户接口。例如:

ac_result_t serc2_com1_event1_vsub_i(ac_t *acs, serc1_pub_t *param, void *data, size_t len);
ac_result_t serc2_com1_event2_cbind_i(ac_t *acs, serc1_pub_t *param, void *data, size_t len);

示例

  • 服务模型
  • serc1 组件模型
  • serc2 组件模型
文档内容是否对您有所帮助?
有帮助
没帮助