The following table describes the compile messages you may encounter when compile a project. For information on how to address an ERROR message, use the code included in the error description (for example, "E2001") to locate the error message in the following table.
If the Type specified for a compile error message is WARNING, see the topic Compile Warning Messages.
If the Type specified for a compile error message is FATAL, see the topic Compile Fatal Messages.
Error Code |
Error Message |
Description |
---|---|---|
Tag not found |
The specified tag does not exist. Check that the tag name and 'equipment.item' reference is correct, or add the tag to your project. If the tag does exist in the variables database, the index to the database might be incorrect. This can occur if you have edited the variables database using Excel or some other database editor. To re-index the database, go to the Projects activity and select Pack on the Command Bar. |
|
Database is empty |
The database does not contain any records. |
|
Cannot write to read only variable |
This error indicates that the address of the variable tag, which refers to a protocol-specific area on the device, is read only. This means it is not possible to write to the variable tag. |
|
Too many records in database |
Too many records have been specified in the database. This error should only occur if the Citect.frm file has been changed or become corrupt. Contact Technical Support. |
|
Too many fields in database |
Too many fields have been specified in the database. This error will only occur if the Citect.frm file has been changed or become corrupt. Contact Technical Support. |
|
Bad integer value |
An integer value cannot be found where one is expected, or the integer value is out of range. |
|
Bad floating point value |
A floating-point number cannot be found where one is expected, or the floating-point value is out of range. |
|
Tag expected |
A tag name was not found where one was expected, or an expression has been passed to a function that expects a tag. Check that the tag name is correct, or add the tag to your project. |
|
Cannot read from write only variable |
This error indicates that the address of the variable tag, which refers to a protocol-specific area on the device, is write only, so the variable tag does not have a value that can be read. |
|
Primary IO device not found |
The specified I/O device does not exist or cannot be located. Check that the device reference is correct, or add the I/O device to your project. |
|
Close bracket expected |
The Cicode statement has a different number of open and close brackets. Another close bracket ')' or ']' is expected in the statement. For example: This error can be generated when a Genie is configured to be used by DspSym Cicode function but still has genie substitution syntax such as '%substitution%' on expressions that are unsupported by that configuration. |
|
Symbol search failed |
||
Read remap is not supported for this variable |
A mapped variable cannot be read when Remap Read is disabled. Check the remapping configuration. |
|
Bad IO Device variable |
The address of the variable is invalid for the protocol specified for the I/O device. |
|
Bad raw data type |
An invalid raw data type or a mismatch of data types is specified, for example, an attempt was made to convert an integer into a string. This may be due to a variable address implying a data type that is not compatible with the data type specified. Example 1 Protocol: S7NT or PSDIRECT Tag Data Type: REAL Address: DB101,54.3[32] In this case, the address implies that the variable is an array of 32 DIGITALs (via bit access) but the tag data type is REAL. Example 2 Protocol: ABMLXEIP Tag Data Type: INT Address: T4:0/0 In this case, the address implies that the variable is a DIGITAL (via bit access) but the tag data type is INT. |
|
Array size exceeded |
A tag is indexed but that tag is not declared as an array, or no index has been specified when a tag is declared as an array, or the wrong number of dimensions are specified for an array, or more than four dimensions are specified for an array. |
|
String expected |
Only strings can be used in database fields. |
|
Protocol expected |
The protocol field in the I/O Devices database is blank. You need to select a protocol for the I/O Device. |
|
Open bracket expected |
You need to use parentheses () in Cicode functions, even when they have no parameters, for example MyFunction(). This error can be generated when a variable tag is placed on a graphics page and the name of the tag is identical to the name of a Cicode function in the project or an included project. |
|
Syntax error |
A malformed Cicode expression has been specified. Check the structure of the expression. |
|
Record already defined |
Tag names, alarms, trends, users and Cicode functions all need to be unique within a project and any included projects. Check for duplicated names. |
|
Incorrect number of arguments for function |
Too many or not enough arguments have been specified for a Cicode function. Check the number of arguments being passed to the function and make the required adjustments. |
|
Trailing characters in Cicode |
There are extra trailing characters in a Cicode statement, following the semi-colon. |
|
Incompatible types |
There is a mismatch of data types in a statement. For example, a string is specified where a number is expected. This error can be generated when a variable tag is placed on a graphics page and the name of the tag is identical to the name of a Cicode function in the project or an included project. This error can also be generated when a Genie is configured to be used by the DspSym Cicode function and has genie substitution syntax such as '%substitution%' on expressions that are unsupported by that configuration. |
|
Too many arguments |
Too many arguments are specified in a Cicode function. The maximum number of arguments allowed is 32. |
|
Invalid font name |
The font does not exist in the project. Check that the font name is correct, or specify the font in the Standards activity. |
|
Invalid BOOLEAN value |
A non-integer value was found where a TRUE or FALSE value is expected. For example, the controlling expression in an IF, WHILE, or FOR statement needs to be an integer. |
|
Analog address not supported |
An INT or other analog tag is specified where a DIGITAL tag is expected. Check that the tag name is correct, or that a DIGITAL data type is specified for the tag. |
|
Group not found |
The device listed in the report configuration does not exist. Check that the device or group name exists. |
|
Group expected |
|
|
FUNCTION expected |
A function needs to be declared with the FUNCTION keyword. |
|
THEN expected |
A THEN statement needs to be used in an IF statement. |
|
DO expected |
A DO statement needs to be used in a WHILE statement. |
|
END expected |
An END statement needs to be used at the end of a conditional statement or function definition. |
|
Bad string conversion parameter |
An invalid format parameter is specified in a string conversion. Check the format specification of the variable. |
|
Cannot return value from void function |
A RETURN statement cannot be used in a function that does not return a value. Remove the RETURN statement or declare a return data type for the function. |
|
Must return value from function |
If a Cicode function is declared to return a value, it needs to have a RETURN statement. |
|
Label is defined twice |
Label names needs to be unique. Check the labels defined in the Standards activity for duplicated names. |
|
Cannot use RETURN outside of functions |
A RETURN statement can only be used within a function. |
|
Statement expected |
Citect SCADA is expecting a statement. Check the Cicode for syntax errors. |
|
Operand expected |
A Cicode operator needs to be followed by an operand. This error can be generated when a Genie is configured to be used by the DspSym Cicode function and has genie substitution syntax such as '%substitution%' on expressions that are unsupported by that configuration. |
|
Invalid time format |
The time is incorrectly specified in the Time, Period or Sample Period field of a Reports, Events, Trend Tags, SPC Trend Tags, or Device. Time formats needs to be in the format HH:MM:SS and needs to be in the range of 0:00:00 - 23:59:59. Only the hour is necessary, for example a value 16 means 16:00 (4:00 PM). Also 24:00:00 is accepted for historical purposes, and maps directly to 0:00:00. Period formats needs to be either a valid date or a time in the format HH:MM:SS with the minutes and seconds in the range of 0 - 59. Only the seconds are necessary, for example a value of 22 means 22 seconds. Sample Period formats need to either be a milliseconds value (for example 0.200 for 200 milliseconds) or a time in the format HH:MM:SS with the minutes and seconds in the range of 0 - 59. Only the seconds are necessary, for example a value of 22 means 22 seconds. |
|
Bad analog format |
The format is incorrectly specified for an analog variable. Check the Format field in the Variable Tags form. |
|
Maximum report size exceeded |
The report file size needs to be less than 63 kb. Reduce the size of the report or configure two reports. |
|
Bad factor specification |
A Cicode expression that contains an invalid expression has been used. Check the syntax of the expression. |
|
Semicolon expected |
Cicode statements need to be separated with semi-colons (;). |
|
Page name cannot start with underscore |
A Page Name needs to start with an alphanumeric character (A - Z, a - z, or 0 - 9). |
|
Invalid group definition |
A group does not exist in the project. Check that the group name is correct, or specify the group with the Groups form. |
|
Cicode data limit reached |
An array in a Cicode module cannot exceed 60 KB. Reduce the size of the array. |
|
Expression too big |
An expression is too large for the compiler. Reduce the length of the expression by splitting the expression into two or more smaller expressions. |
|
Error reading file |
An include file specified in a database field cannot be found or cannot be opened. Check that the file name is correct, and that the file has been specified correctly (for example, <@FILENAME>). |
|
Cannot use an array inside function |
You cannot declare an array within a function. Arrays can only be declared as library variables, at the beginning of the library file. |
|
Trailing characters in Name |
The database record name contains invalid characters. Remove any invalid characters from the record name. |
|
Close quotation mark expected |
The Cicode statement has a different number of open and close quotation marks. Another close quotation mark (") is expected in the statement. |
|
String too big |
The string size has been exceeded. The maximum size of the string not to exceed 255 characters. |
|
Close comment delimiter expected |
A comment opened with /* needs to be closed with the */ delimiter. Add the */ delimiter or use a single line comment that starts with an exclamation mark (!) and has no end delimiter. |
|
Label argument error |
The syntax of the argument is incorrect, or the incorrect number of arguments has been specified, or the number of characters in an argument is incorrect. |
|
Invalid number |
||
Label too big |
The label is too big. The size of a label cannot exceed 8kb. |
|
Address on bad boundary |
When reading a long or real from the memory of an I/O device, addresses need to be on odd or even boundaries. Addresses cannot be mixed. You can disable checking with the [General]CheckAddressBoundary parameter. |
|
Super Genie must be on a Page |
Super Genie syntax (?) can only be used on pages. You cannot use a Super Genie in a report or Cicode function library. Use the TagRead() and TagWrite() functions instead. |
|
Write remap is not supported for this variable |
A mapped variable cannot be written to when Remap Write is disabled. Check the remapping configuration. |
|
Digital Array must start on 16 bit boundary |
||
Remap is defined more than once |
Duplicate mappings are configured for a variable. Check the remapping configuration. |
|
CASE expected |
A SELECT statement in your Cicode function needs to be followed by a CASE statement. |
|
Unexpected trend sample period |
||
Too many function variables defined |
Too many variables have been defined for a Cicode function. Check the configuration of the function and make the required adjustments. |
|
Too many Cicode files defined |
The project includes more than the allowable number of Cicode files. |
|
MODULE function is not allowed, use PRIVATE |
You have declared a Module function within your Cicode. Module is not a valid function type. Instead, the type Private needs to be used. |
|
GLOBAL function is not allowed, use PUBLIC |
You have declared a Global function within your Cicode. Global is not a valid function type. Instead, the type Public needs to be used. |
|
PUBLIC variable is not allowed, use GLOBAL |
You have declared a Public variable within your Cicode. Public is not a valid variable type. Instead, the type Global needs to be used. |
|
PRIVATE variable is not allowed, use MODULE |
You have declared a Private variable within your Cicode. Private is not a valid variable type. Instead, the type Module needs to be used. |
|
VB compiler error |
||
CiVBA code not allowed here |
The compiler has detected CiVBA code where it is not supported. |
|
Unexpected FUNCTION declaration found, are you missing an END? |
The number of END statements in your functions is incorrect. |
|
Tag already defined, tags must be unique |
Tag names need to be unique across a project, even if they are different types. Change the tag name property for one of the duplicated tags. |
|
Cluster not found |
A cluster cannot be found. Check that the cluster reference is correct, or create the specified cluster. Clusters can be defined by selecting Computers in the Topology activity. |
|
No Clusters defined |
Every project needs to be configured to use at least one cluster. Clusters can be defined by selecting Computers in the Topology activity. |
|
Invalid mode specified |
The mode specified for the alarm, report or trend server is invalid. |
|
More than one server of this type exists in this cluster |
Each cluster can only include one pair of redundant alarm servers, one pair of redundant report servers, and one pair of redundant trend servers. Check the servers that are configured for the cluster. |
|
A server with this name already exists |
Server names need to be unique. Rename one of the servers with the duplicated name. |
|
Cannot use format on Expression with no result |
||
Network Address not defined in Topology/Network Addresses |
The compiler has detected a network address that has not been defined in your project. Edit the address if it incorrect, or add it to your project. |
|
Network Address not defined in Topology/Network Addresses |
The compiler has detected a network address that has not been defined in your project. Edit the address if it incorrect, or add it to your project. |
|
Duplicate network address for same type of server in a cluster |
Two servers of the same type within a shared cluster have been configured with the same network address. Change the address for one of the servers. |
|
Duplicate network address for IO server |
Two I/O servers have been configured with the same network address. Change the network address for one of the servers. |
|
Invalid port number act |
The numbers 2073-2082, 2086, 20222 and 21 are reserved. Please change these port numbers to another value. |
|
Invalid port number (2073-2082,2086,20222,21 are reserved) |
The numbers 2073-2082, 2086, 20222 and 21 are reserved. Please change these port numbers to another value. |
|
Cluster name expected |
Every project needs to be configured to use at least one cluster. Clusters can be defined by selecting Computers on the Topology activity. |
|
Trailing characters in Expression |
There are extra trailing characters following an expression. |
|
A server with this network address and port already exists |
A report, trend, alarm or I/O server is configured in your project with the same network address and port number. If you intend for these servers to be configured on the same machine, change the port number, otherwise update the network address. |
|
Cluster not found for the IO Device |
Every project needs to be configured to use at least one cluster. Clusters can be defined by selecting Computers on the Topology activity. |
|
Deadband value must be expressed as a percentage (0.0 - 100.0) |
The compiler cannot decipher the value specified for a deadband. Adjust the value so that it represents a percentage (0.0 - 100.0). |
|
Tag already defined as a local variable tag |
Tag and local variables cannot have the same name. Please rename one or the other. |
|
Cluster must be specified when two servers of the same type exist at the same net addr. |
More than one server of the same type has been defined on the same machine. Please define a cluster for each server. |
|
Invalid combination of specified & unspecified network addresses for the defined servers |
The network addresses for the servers in a project need to all be blank, or all configured. |
|
No Server of proper type is defined for the specified cluster |
No server has been defined for this type in this cluster. Please define the appropriate server by selecting Computers on the Topology activity. |
|
Primary IO devices having same network number cannot belong to the same cluster |
Two primary I/O devices within the same cluster have been configured to use the same network number. If the devices have the same number to support redundancy, change the priority and startup mode. Otherwise, change the network number or move the devices to a different cluster. |
|
Primary IO device not found for the cluster |
This error occurs when the I/O device listed in the tag configuration does not exist. |
|
Function is obsolete and cannot be used anymore |
The Cicode function that you are trying to use can no longer be used. Refer to the upgrade topic for details. |
|
Standby IO device should have a primary on the same cluster |
A cluster has a standby I/O device configured, but no primary I/O device. Check the configuration of your redundant devices to confirm that a primary I/O device is assigned to the cluster. |
|
Primary IO device must have a priority of 1 |
Set the Priority field for the primary I/O device to 1. |
|
IO device has duplicate priority |
The Priority field allows you to set precedence for the primary and standby devices within a cluster. Check the priority setting for the I/O devices with the same number in the specified cluster and remove any duplications. |
|
Compound statement too large; refactor code. Please see KB article Q5070 |
||
A duplicate menu entry already exists |
Check the configuration of your menus in the Visualization activity and remove any duplications. |
|
User has an invalid or nonexistent role assigned |
A user is assigned to a role that does not exist. Check the configuration of the specified user account. |
|
Comma expected |
||
Function name is longer than 250 characters |
A Cicode function name must be shorter than 250 characters. Rename the Cicode function. |
|
Malformed device format |
The format of the device is in an incorrect format. This could mean one of two issues is occurring:
|
|
Minimum update rate value must be blank or same value as defined by the primary device |
The Min Update Rate field is not configured correctly for a standby device. Adjust the current setting so that is blank, or has the same value as the primary I/O device. |
|
Staleness period value must be blank or same value as defined by the primary device |
The Staleness Period field is not configured correctly for a standby device. Adjust the current setting so that is blank, or has the same value as the primary I/O device. |
|
The setting for Background Poll must be the same for all I/O devices on the same server |
The Background Poll field is not configured correctly on an I/O device. Check that the setting is the same on all devices that share a common I/O server. |
|
The setting for Background Rate must be the same for all I/O devices on the same server |
The Background Rate field is not configured correctly on an I/O device. Check that the setting is the same on all devices that share a common I/O server. |
|
Tag element and item names cannot be used in this context |
||
Tag element and item names cannot be used in the context of a push data event trend |
||
No User has been defined for this project. At least one user must be defined |
Use the Security activity to add at least one user to your project. |
|
Standby server has been defined without primary server in the cluster |
A cluster has a standby server configured, but no primary server. Check the configuration of your redundant servers to confirm that a primary server is assigned to the cluster. |
|
When enabling legacy connections, all legacy ports must be configured |
||
Two IO devices with Persist set to true have the same File Name |
This occurs when two I/O devices have the Persist property set to "True", and the File Name property set to the same value. Change the file name for one of the I/O devices. |
|
Invalid path |
||
Same primary IO device name used with two different network numbers |
Two primary I/O devices have the same name, but different network numbers. If the devices have the same name to support redundancy, confirm that they have the same network number and have the priority and startup mode set correctly, otherwise assign them to a different cluster. |
|
Undefined equipment name |
The compiler has detected a reference to undefined equipment. Check that the reference is correct. If required, add the equipment definition to your project in the System Model activity. |
|
Undefined equipment state name |
The compiler has detected a reference to an undefined equipment state. Check that the reference is correct. If required, add the equipment state to your project in the System Model activity. |
|
Invalid default state |
||
Invalid DR Mode value |
||
Equipment State contains cyclic reference |
||
State defined without default DR Mode value |
||
Invalid destination location |
This occurs when the destination location specified for a custom file is invalid. Check that the destination setting is correct. |
|
Duplicate network address name for OPC Server |
The compiler has detected two OPC servers with the same name. Each OPC server must have a unique name and run on a separate computer. Check the configuration of your OPC servers to make sure they use different names and network addresses. |
|
Duplicate network IP address for OPC server |
The compiler has detected two OPC servers with the same network address. Each OPC server must run on a separate computer. Check the configuration of your OPC servers to make sure they use different network addresses. |
|
Cluster name present in Equipment name |
A name used for root level equipment may not be the same as any cluster names. Check your equipment definitions. |
|
An equipment record with this name is already present |
Equipment names need to be unique within the same cluster. Check your equipment definitions. |
|
Wrong hierarchy for OPC Server |
The browsing hierarchy setting for the OPC server is invalid. |
|
Equipment hierarchy too deep |
||
Equipment object name too long |
The length of the complete name for the equipment needs to be less than 254 characters. Check your equipment definitions. |
|
Equipment Name and Item too long. Specify or change the Item field |
Indicates the combination of "Equipment.Item" is too long. Change the name of the Equipment and/or Item. |
|
Equipment Name and Item not unique. Specify or change the Item field |
Indicates the combination of "Equipment.Item" is not unique within the cluster. Change the name of the Equipment and/or Item. This message will also occur if on the same level within the equipment hierarchy, the equipment object and the item object name are identical. |
|
Equipment root has same name as an Alarm Tag |
A name used for root level equipment may not be the same as any alarm tag names. Check your equipment definitions. |
|
The Storage Method is not defined |
The Storage Method property has not been defined for the trend. |
|
Equipment not specified for tag item. Please specify equipment or remove tag item |
Indicates that the Item field on the Tag Form (Variable Tags, Trend Tags, and all Alarm Tags) was specified without an associated Equipment Name. |
|
Item name is also a node within the equipment hierarchy |
An Item name cannot have the same name as a node on the equipment hierarchy. |
|
No report server defined for this cluster |
Equipment requires a report server to be configured. Add a report server to the cluster. |
|
Invalid user defined |
The user name conflicts with a set of reserved user names. Use a different name. |
|
Invalid role defined |
||
Tag name exceed length limit |
||
Conflict of parameters in included projects |
A parameter setting in an included project is conflicting with the same parameter in the main project. |
|
Certificate must be configured for EWS Server |
An EWS server requires an SSL certificate. You will need to create an SSL certificate, install it locally on the server, and identify it in the EWS Server properties. |
|
Multiple EWS Servers cannot run on the same machine. |
The compiler has detected that two EWS servers are configured on the same computer. Each EWS server must run on a separate computer. Check the configuration of your EWS servers to make sure they use different network addresses. |
|
Invalid Genie format |
||
Password is invalid due to duplication of user record |
||
Invalid Setpoint |
||
Set the parameter [General]TagStartDigit=1 if your tags start with a digit |
If your project includes tags, tag items, or equipment names that have a number as the first character, you need to set the parameter [General]TagStartDigit to "1" to enable a compile. |
|
Duplicate ScheduleID for IODevice |
||
Profile name is invalid |
Profile name is invalid as it may contain a space, or any of these characters: < > : \ " / \\ | ? *. Rename the profile. |
|
Cicode IODevices do not support memory mode, memory must be set to FALSE |
A Cicode I/O device will not compile if memory mode is set to TRUE. Set memory mode to FALSE for the Cicode I/O device. |
|
Equipment Expected |
An Equipment Reference refers to Equipment or Referenced Equipment that does not exist. Update the Equipment Reference, or add the missing equipment to your project. |
|
Duplicate Equipment Reference |
An Equipment Reference is configured twice. Check the configuration of the duplicated entries. |
|
E2159 |
Too many alarm responses are defined for an alarm |
Confirm that only eight sets of Cause and Response properties are defined for each alarm tag. |
E2160 |
Content Type not found |
|
E2161 |
Invalid Alarm Priority |
The Value property for an Alarm Priority must be between 1 and 255. If a label is used, confirm that it validates to a value between 1 and 255. |
E2162 |
Duplicate Alarm Priority |
An Alarm Priority is configured twice. Check the configuration of the duplicated entries (including any that may occur in an included project). |
E2163 |
Alarm Priority or Alarm Mode color must be specified |
Display colors need to be configured for an Alarm Priority or an Alarm Mode. Check that the 'Foreground Color' and/or 'Background Color' properties have not been left blank. |
E2164 |
Port Name can be no longer than 31 characters |
A Port Name is too long. Use a name that is no longer than 31 characters. |
E2165 |
Duplicate Alarm Mode display name |
The Display Name specified for an Alarm Mode is configured twice. Remove one of the duplicated entries. |
E2166 |
Invalid Alarm Mode display name |
The Display Name specified for an Alarm Mode is invalid. You can select a valid name for this field from the drop-down list in the Grid Editor. |
E2167 | Screen Profile Name is Invalid | The specified screen profile name is invalid. Names should be less than 65 characters long and must not contain any invalid characters (< > : " / \ | ? *). |
E2168 | Duplicate Equipment Runtime Parameter | A runtime equipment parameter is configured twice for the same equipment on the same cluster. Locate and change the duplicate entries. |
E2169 | Invalid equipment item name | The specified equipment item name is invalid. Use a valid item name that is not one of tag extensions keyword. If the item name is automatically generated by an equipment template, use Equipment Editor to rename the item name on the template and run the Update Equipment command. |
Published June 2018