加入QQ群
售前咨询
18604058908
售后热线
13166668196
微信扫一扫
关注沈阳菲尔德
获取更多免费产品
 
Language

使用单个EDD编码文件(FMA文件)编译HART的设备描述

 来源: |  阅读:528次 |  2023/2/2 14:05:43

源代码提交

FieldComm Group将从提交的项目中构建所有可能的EDD编码格式。如果开发人员不希望EDD与FDI设备包并行构建和分发,则必须采取其他步骤确保项目将EDD排除在构建过程之外。

对于给定的设备类型+设备版本组合,存储库中只有最新的EDD版本可用。换言之,EDD修订版将取代给定设备类型+设备修订版的先前EDD注册。示例0302.fm8将替换0301.fm8

FDI设备包修订版将添加到存储库中,而不替换先前注册的该产品修订版。这意味着版本02.00.00。FDIX文件不会替换存储库中的01.00.00 FDIX文件。

从单个源生成所有编码格式

可以使用FDI包IDE构建EDD(*.fm8)编码的文件格式,但是,开发人员必须花时间正确准备源文件。添加到FDI设备包中的新功能不会内置到EDD(*.fm8)中,并且会触发语法错误。开发人员可以使用预处理器指令为其产品维护一组源文件。

要使用Tokenizer版本8构建EDD(*.fm8),请使用__TOKVER__预处理器指令包装PLUGIN、BLOB和/或TEMPLATE项。示例如下:

#if __TOKVER__ >= 1000

PLUGIN my_uip

{

    LABEL "...";

    UUID "...";    

}

#endif

此代码将包含PLUGIN项,仅适用于Tokenizer版本10或更高版本。Tokenizer 10将构建FDI(*.fma)文件格式。

每个预处理器指令只能环绕一个项目,包括多个项目可能会在标记源时导致错误。

随着其他项目被添加到设备描述语言,可能需要额外的包装来构建与FDI(*.fma)编码文件并行的EDD(*.fm8)编码文件。

仅构建FDI设备包(FMA)编码格式

提交用于FDI设备包的EDD源代码将被注册,并将替换您以前注册的EDD(*.fms/*fm6/*fm8)(请参阅上面的注释)。

如果开发人员希望为提交的设备版本保留先前注册的EDD,则开发人员必须在EDD源中实现适用于令牌化程序版本5、6或8的语法错误。

以下是此语法错误的示例:

#if __TOKVER__ < 1000  /* fma only */

     ,  /* insert a comma as shown to create syntax error */

#endif

使用此方法,本设备修订版将保留原始EDD(*.fm8),同时以更高的DD_Revision实现FDI设备包。这是可能的,因为这两种格式(EDD和FDI)不同,并且分别存储在存储库中。