Output Messages from Code Generator (DATAFLOW Code)
This Guide Article has been written for Version 2.1 of the DATAFLOW Software. For Previous Releases use the version selection in the navigation bar at the top of this page.
Generator Messages
Errors
The generator will most likely display some errors when the model is generated for the first time. Therefore, this Chapter describes the possible error messages and how those errors can be fixed:
Error |
Explanation |
How to Fix |
1000 Invalid name |
|
|
<Component> name is invalid |
The name of a component cannot be left empty. |
Assign a name to the component. |
<element> Name <Name> is a reserved keyword. |
There are a few names, such as “protocol” or “activepart,” which cannot be used because they would generate errors during the generation process (case sensitive). |
Change the name of the element to something else. |
1001 Value out of range |
|
|
<active part> priority is out of range |
There is an error in the model where the priority is set to an invalid value. |
Set the priority to another value and save the model. |
<interrupt> handler is empty |
The generator cannot generate an empty method name. |
Enter a name for the handler by double-clicking the handler field in the Interrupt. |
1002 Invalid reference |
|
|
<container> has no child diagram |
There is an error in the model where an Active Container does not have a diagram assigned to it. |
Add a new container to the diagram. Move all children over from the incorrect container. Remove the incorrect one and rename the added container to the name of the removed container. When you press Ctrl + Click, the child diagram should open. |
1003 No content to generate |
|
|
<component> has no content to generate |
An empty container exists in the model. |
Add at least one active part or remove the container. It is also possible to set the GenerateCode property of the container to ‘false’. |
<enumeration> contains no enumerators |
An enumeration must contain at least one enumerator to be considered valid. |
Add enumerators or remove the enumeration. |
1004 Unsupported type |
|
|
<element> type is not supported/invalid |
An invalid element exists in the model. |
Contact the support. |
1005 Duplicated identifier |
|
|
Duplicate protocol identifier found. |
Two protocols within a single project must not share the same manual identifier. |
Change the identifier of one of the conflicting protocols or use automatic identifiers instead. |
Duplicate enumerator identifier found. |
Two enumerators in the same enumeration must not share the same identifier. |
Change the identifier of one of the conflicting enumerators or use automatic identifiers instead. |
1006 Duplicated name |
|
|
Duplicate name found. |
No two elements in a component or diagram must share the same name. |
Change the name of one of the conflicting elements. |
1100 Invalid diagram element |
|
|
<diagram> contains <N> <ports/timers> outside of an active part or container … |
The diagram must not contain any floating port or timers outside of components. |
Remove any floating ports and timers. |
1101 Invalid number of input ports |
|
|
<interrupt> has <N> input ports, though none are allowed |
An interrupt active part cannot have an input port. |
Remove the input port(s). |
1102 Invalid channel connection |
|
|
<channel> connects source and target to same port |
Channels must not form loops. |
Remove the channel or connect it to another port. |
<channel> channel connects ports of the same parent |
Channels must not form loops. |
Remove the channel or connect it to another port. |
<channel> forms a cycle |
Channels must not form loops. |
Remove the channel or connect it to another port. |
<channel> source/target connects to a port with no target |
Channels must not connect to floating ports. |
Move the port to a container or remove both the port and the channel from the diagram. |
<channel> source connected to input port |
A channel must start at an output port or multiplicator and end at an input port or multiplicator. |
Remove the channel or change the connection. |
<channel> target connected to output port |
A channel must start at an output port or multiplicator and end at an input port or multiplicator. |
Remove the channel or change the connection. |
<channel> connects <X> to <Y> |
An invalid connection has been created. See the documentation above for all allowed connections. |
Remove the channel or change the connection. |
<multiplicator> has <N> incoming channels |
A multiplicator must have exactly one incoming channel. |
Remove all incoming channels except for one. |
1103 Missing channel connection |
|
|
<channel> source/target is not connected |
The diagram must not contain unconnected channels. |
Remove the channel or connect it to a port. |
<multiplicator> has no incoming channel |
A multiplicator must have exactly one incoming channel. |
Add an incoming channel. |
<multiplicator> has no outgoing channel |
A multiplicator requires two or more outgoing channels. |
Add the required channels or remove the multiplicator. |
<input port> has outgoing channels connected |
An input port must only be connected to incoming channels. |
Remove the invalid channels. |
<output port> has incoming channels connected |
An output port must only be connected to outgoing channels. |
Remove the invalid channels. |
<external input/output port> is not connected |
All external ports inside an Active Container must be connected to a port of a child component. |
Create the missing connections or remove the port from the container. |
1104 Invalid Child Element |
|
|
<active part> has child item |
An active part must not contain a child item. |
The system does not allow to this situation since DATAFLOW Version 1.3. |
1200 Field Must Not Be An Array |
|
|
<protocol field> of type <Type> cannot have an array size > 0. |
The field type does not support being defined as an array. |
Set the ArraySize property to 0 using the property inspector. |
1201 Field must not have a range |
|
|
<protocol field> of type <Type> must have no range. |
Only integer fields support ranges. |
Remove the range from the field using the property inspector. |
1202 Field must be an array |
|
|
<protocol field> of type char must be an array |
The char type only supports strings, and therefore must be an array. |
Set the ArraySize property in the property inspector to a value >1 or change the field type to unit8. |
1203 Invalid Data Type |
|
|
<driver interface> driver <Type> must be set |
Driver Type is not set. |
Set the type of all drivers used in the model. |
1204 Field must be a protocol |
|
|
<protocol filed> of type <Type> must not exceed 65535 bytes |
A Protocol inside a Protocol has no field assigned (empty protocol inside a protocol). |
Define the fields for all protocols that are used inside a protocol. |
1205 Protocol Type Size to Large |
|
|
<protocol filed> of type <Type> must not exceed 65535 bytes |
The total sum of the memory required for all protocol fields may not exceed 65535 bytes. |
Reduce the sum of bytes from all total members or reduce the number of members to reduce the protocol size. |
Other Errors (No ID) |
|
|
DffGenerator Version x.x.x.x is not compatible with DATAFLOW Designer … |
DATAFLOW Designer does not support the referenced generator version. |
Open the project settings and set the Generator Executable Path in the Generator Tab to a supported DffGenerator. |
Cannot build project ‘<Name>’ … |
The generator was unable to build the project due to file access errors. |
Close all Windows Explorer windows that point to a subdirectory of the generated code folder and close all open files. |
Generator Errors
Warnings
The generator will also display some warnings when the model is generated. Warnings will not cause the generation process to abort with errors, and all source files will be generated. Nonetheless, the user should check whether the model could be improved. Therefore, this Chapter describes the possible warning messages and how they can be avoided:
Warning |
Explanation |
How to Fix |
2000 Unused reference |
|
|
<protocol field> has type reference to <type> |
A native field must not have a type reference. |
Switch the field to another type and back again, or remove it and add it again. |
<protocol field> has native type <type> set |
A protocol/enum field must not have the native type property set. |
Set the property to none in the property inspector. |
2100 Unexpected Diagram Element |
|
|
<diagram> contains <N> <spacer/hardwareInterface> outside an active part/container |
The elements are probably not used anymore. |
Remove the floating elements. |
<interrupt> has <N> input ports |
An Interrupt must not have any input ports. |
Remove the input port. |
2101 No protocol assigned to port |
|
|
<port> has no protocol assigned |
No protocol is assigned to the port. The generator will therefore generate a generic send method for this port. |
Assign a protocol to the output or remove it. |
2102 Active part has no input port |
|
|
<active part> has no input port |
An Active Part must have an input port. |
Add an input port named “PortIn”. |
2103 Active part has no output port |
|
|
<interrupt> has no output ports |
An Interrupt should have at least one output port to be useful. |
Add an output port. |
2104 Input port has no incoming channels |
|
|
<input port> has no incoming channels assigned |
The Active Part receives no messages and the generator will therefore generate no message handlers. |
Connect channels to the input port or remove it. |
2105 Output port has no outgoing channels |
|
|
<output port> has no outgoing channel assigned |
The output port will not send the message to any other active part. |
Connect a channel to the output port or remove it. |
2106 Conflicting priorities |
|
|
<external input port> connects to different priorities |
The input port of a container has been connected to active parts with different priorities. This may have unexpected effects regarding the order of execution of received messages. |
Remove connection, change priorities or add an active part as dispatcher. |
2107 Conflicting Protocols |
|
|
<external port> receives different protocols |
Different protocols are connected to the same output port. |
Add an additional output port to the container for each protocol. |
2200 Empty type group |
|
|
<protocol field> of type ‘enum/protocol’ has native type <Type> set |
This means that the field properties of a protocol field are inconsistent. A protocol or enum field should not have a native type. |
Set the property ‘NativeType’ of the field to ‘None’ |
2201 Enum Base Type Int64 |
|
|
<enumeration> uses base type Int64 |
Older C++98 compilers may not support enumerators for the whole range of the int64 data type. |
Disable warning if the used compiler can handle this enumeration base type. |
Generator Warnings
Information
The generator will also display some warnings when the model is generated. Warnings will not cause the generation process to abort with errors, and all source files will be generated. Nonetheless, the user should check whether the model could be improved. Therefore, this Chapter describes the possible warning messages and how they can be avoided:
Information |
Explanation |
How to Fix |
3000 Normalized Name |
|
|
<element> name was normalized (original name: ‘…’) |
The name entered for the given element was normalized. |
Enter the displayed name for the element instead of the current name. |
3001 Protocol used as signal |
|
|
<protocol> has no fields, used as signal |
Protocols without a field will generate an identifier but no protocols class. |
Add fields to the protocol if it was not meant to be a signal or remove the protocol. |
Required Module: DATAFLOW Designer
This Article has been written based on V2.1.1 of the DATAFLOW software.
Latest update 2023-05-31 by WUM.
Comments
0 comments
Please sign in to leave a comment.