Rational® Rhapsody® 能为必须在多路链路上广播数据的端口生成代码。
这种组播功能可用于流端口和快速端口(生成 C 或 C++ 代码时)。
组播代码的生成由属性 SupportMulticast 进行控制。
如果将此属性设置为 Smart,那么将只在组播代码必需的情境中才生成组播代码。如果发现此设置在组播必需的情境中未提供相应代码,那么可将该属性值更改为 Always。
需要注意的是,仅当数据直接从源端口传递至其最终目标时才需生成必要的组播代码。如果存在干扰端口,那么生成的代码将不反应已建模的组播。相反,将只有一个端口接收该事件。
注: 在组播必需的情境中,如果在状态图中手动指定了事件发送代码(不同于使用“发送操作”元素),那么就必须使用特定的组播语法,而不能使用一般的事件发送语法。例如,在 C 代码中使用 RiC_MULTICAST_GEN_PORT(p2,evStart),而在 C++ 代码中使用 MULTICAST_GEN(p2, evStart) 代替 OUT_PORT(p2)->GEN(evStart)。