This support article discusses the most common protocol-specific tokenizer issues and troubleshooting information to resolve them.  


ERROR 342

Output:  [exec] ERROR 342: <path>\<file>, line xxx: Comma is missing in the list.

Explanation:  Syntax error due to a comma missing in between two or more members of a list. The line number may point to the start of the object, not the offending line of source.

Solution: Add the comma where appropriate.


ERROR 425

Output: [exec] ERROR 425: <path>\<file>, line xxx: Response codes have been changed.

Explanation: All 128 possible Response Codes are defined by FCG TS20307, this error indicates a change to the standard response codes.

Solution: Review the purpose of the modified response code, use the standard response code. 

Note: There are some codes that manufacturers can customize for device-specific commands, see FCG TS20207 multi-definition codes where the notes include the following text "Manufacturers may define another meaning for this code when used by their device specific commands as long as only one meaning is application for a given command.". 


ERROR 504

Output: [exec] ERROR 504: C:\HCF\DDL\Library\000000/0010/symbols.txt, line 15:  Item calibration must be imported but was defined. 

Explanation: There are standard symbols already built into the HART Standard Library with the name "calibration". These symbols are located in Symbol table for STANDARD Menu (0010). This error also applies to variables.


Solution 1 (For Variables and Commands) IMPORT DD Item using the appropriate "Standard EDD"


When you receive this error look in the symbols.txt file, where this DD Item is defined,  located in the standard DD Library directory (ie, \000000\) and find the 4 digit device type directory .  Add the corresponding IMPORT statement and then import the DD item(s) individually.  At that point, you are free to redefine any portion you want (except for the item type).


Pressure Universal 5  (0007)


IMPORT STANDARD _PRESSURE_UNIVERSAL_5, DEVICE_REVISION 2, DD_REVISION 1


Common Pressure       (0008)


IMPORT STANDARD _PRESSURE_COMMON_5, DEVICE_REVISION 2, DD_REVISION 1


Rosemount Magflow     (0011)


IMPORT STANDARD _RMTFLOW, DEVICE_REVISION 5, DD_REVISION 3


Rosemount Pressure    (0012)


IMPORT STANDARD _RMTPRES, DEVICE_REVISION 7, DD_REVISION 4 


Moore Products        (0013)


IMPORT STANDARD _MOORE_STANDARD, DEVICE_REVISION 1, DD_REVISION 4


Siepres               (0014)


IMPORT STANDARD _SIEPRES, DEVICE_REVISION 1, DD_REVISION 1


Draeger               (0015)


IMPORT STANDARD _P2_STD, DEVICE_REVISION 1, DD_REVISION 7

Solution 2 (For Menus): Rename your MENU to make the distinction between your "calibration" menu and the existing Standard library menu.  Menus must be created by the DD developer, the Menu from the Library will be deprecated and should not be imported.


Additional Information: see How to upgrade device specific "symbols.txt" to use Standard HART Commands


ERROR 610

Output: [exec] ERROR 610: xxxxxx is a dependent in a_units_relations and b_units_relations. 

Explanation: UNIT relations must contain unique dependent variables (i.e. a variable must only occur once in one of the UNIT relationships defined in the source.) 

Solution: Remove the variable from all but one UNIT relation definition. 


ERROR 677

Output:  [exec] ERROR 677: COMMAND xxxxx TRANSACTION z has item reference # n in the REQUEST packet that is missing in the REPLY packet.
Explanation: Commands must be autonomous.

Solution: Resolve by including the missing data in the REPLY packets of each transaction.  This may require a firmware change, if so, the device revision must increment when this change is made.


WARNING 603

Output: [exec] WARNING 603: aaaa is the wrong type of item to be used in xxx_refresh It is inadvisable to use CLASS DYNAMIC as a Refresh Variable value.

Explanation: Dynamic variables update frequently and should not trigger a refresh of other variables.   A host has to update CLASS DYNAMIC variables on a regular basis. If they are truly DYNAMIC, then, when the device changes one, the dependents have to be re-read.  If another one changes, the dependents have to be re-read again.  The practice is discouraged because a host could get stuck reading those values and their dependents if they are DYNAMIC and tied to the process.

Solution: Remove dynamic variables from the REFRESH action.

     

WARNING 712

Output: [exec] WARNING 712:  Variable 'aaaa' of CLASS DYNAMIC is discouraged from being used in a download MENU.

Explanation: The identified variable is included in a download menu, it is not recommended to use DYNAMIC variables in a download menu because these variables will be written to the device during a download. The online value may be different than the offline value which will be applied during the download.  Some hosts may ask the user if they wish to override the online value first. If it is truly a DYNAMIC variable then the value will change as soon as the device is put in service, causing the download to consume extra bandwidth (and power on a wireless device).

Solution: Remove dynamic variables from the download menu.