Using CitectSCADA > Compiling and Running a Project > Compiling a Project > Compile Error Messages

Compile Error Messages

You might see the alert messages described below during project compilation.

Error Message Description

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.

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.

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.

Bad analog format

The format is incorrectly specified for an analog variable. Check the Format field in the Variable Tags form.

Bad factor specification

A Cicode expression that contains an invalid expression has been used. Check the syntax of the expression.

Bad floating point value

A floating-point number cannot be found where one is expected, or the floating-point value is out of range.

Bad I/O Device variable

The variable tag address is not a valid format for the I/O Device protocol you are using: check the address format. (See the Data Types topic in the Help for each supported I/O Device for a list of appropriate address formats for that device).

Bad integer value

An integer value cannot be found where one is expected, or the integer value is out of range.

Bad point limit

The incorrect point limit is specified in the Citect.ini file. The point limit needs to correspond to your CitectSCADA license.

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.

Bad string conversion parameter

An invalid format parameter is specified in a string conversion. Check the format specification of the variable in the Variable Tags form.

Cannot compile every function

Error message(s) were detected while compiling the function library.

Cannot open file

The file cannot be opened. The file does not exist, or it has become corrupt, or your system is out of file handles.

Cannot read from file

The file cannot be read. The end of file was found, or it has become corrupt.

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.

Cannot use an array inside function

You cannot declare an array within a function. Arrays can only be declared as library variables, i.e. at the beginning of the library file.

Cannot use RETURN outside of functions

A RETURN statement can only be used within a function.

Cannot write to file

The file cannot accept a write operation. The file has become corrupt or the disk is full.

Cicode data limit reached

An array in a Cicode module cannot exceed 60 KB. Reduce the size of the array.

Close bracket expected

The Cicode statement has a different number of open and close brackets. Another close bracket ')' or ']' is expected in the statement.

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.

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.

Database is empty

The database does not contain any records.

Database not found

The main project database cannot be found.

Database table full

The database is full. If the error persists, contact Technical Support for this product.

Disk full

The disk is full. Remove unwanted files from the disk, or replace the existing disk with a larger disk.

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.

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, i.e. <@FILENAME>.

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.

File already opened in SINGLE mode

The file has been opened by another user. Set the [General] ShareFiles parameter to 1 in the Citect.ini file to open files in shared mode.

File does not exist

The file cannot be found. Check that the file name is correct.

File is read only

An attempt was made to write to a read-only file. Check that the file name is correct or change the attributes of the file.

File locked

A file is in use by another network user.

File not indexed

The database needs to be indexed, but the index file associated with the database cannot be found. Pack the database.

File size error

A Cicode functions file, or Report format file, or an include file is too big. The maximum file size is 1 MB.

FUNCTION expected

A function needs to be declared with the FUNCTION keyword.

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.

Group not found

A group name was expected. Check that the group name is correct, or that the group has been specified correctly in the Groups form.

Include project not found

An included project (specified in the Included Projects database) does not exist. Check the name of the included project.

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.

Incorrect number of arguments for function

Too many or too few arguments have been passed to a Cicode function.

Index key has changed

The database has a corrupted index. Pack the database.

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.

Invalid font name

The font does not exist in the project. Check that the font name is correct, or specify the font with the Fonts form.

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.

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 Devices form.

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.

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.

Label is defined twice

Label names needs to be unique. Check the Labels form for duplicated names.

Label too big

The label is too big. The size of a label cannot exceed 8 kb.

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.

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.

Must return value from function

If a Cicode function is declared to return a value, it needs to have a RETURN statement.

No I/O Devices defined

No I/O Devices are defined in the project.

No user defined A CitectSCADA system is read only until someone logs in. Therefore, before compilation can occur, a user and role needs to be defined to allow someone to log in. No User has been defined in the configuration for this project. At least one user needs to be defined.

Not database format

The database has become corrupt or the file format is unknown. Pack the database.

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.

Operand expected

A Cicode operator needs to be followed by an operand.

Out of file handles

CitectSCADA uses a file handle to open each file. When you try to open too many files or databases simultaneously, CitectSCADA can need more file handles than are available.

You are most likely to run out of file handles if you have many included projects. When CitectSCADA compiles your project, it will open several files in each include project at the same time, so each extra project you include will increase the usage of file handles. If you get this alert message when you have added another include project, you have run out of file handles. To verify this, remove one of the included projects to see if CitectSCADA can then compile your project.

With Windows running on a network, the setup of the number of file handles is located in various places. To increase the number of file handles in DOS, the setup is in the CONFIG.SYS file. If you are using Novell Netware you need to also increase the file handles in the NET.CFG or SHELL.CFG file. You need to also increase the number used by CitectSCADA with the [CtEdit]DbFiles parameter. Adjust the following settings the associated files:

CONFIG.SYS
FILES=120
NET.CFG or SHELL.CFG
file handles=120

Out of memory

CitectSCADA has run out of memory. Increase the amount of memory in the computer or use smaller databases.

Page Name cannot start with underscore

A Page Name needs to start with an alphanumeric character (A - Z, a - z, or 0 - 9).

Point limit reached

The maximum number of points that can be referenced has been reached. The maximum point limit is determined by your CitectSCADA license. Contact Technical Support for this product.

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.

Protocol expected

The protocol field in the I/O Devices database is blank. You need to select a protocol for the I/O Device.

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.

Reached the end of table

The end of the database has been reached or the database has become corrupt. Pack the database. If the error persists, contact Technical Support for this product.

Read remap is not supported for this variable

A mapped variable cannot be written when Remap Write is disabled, and cannot be read when Remap Read is disabled. Check the Remapping form.

Semicolon expected

Cicode statements needs to be separated with semi-colons (;).

Software error

An internal CitectSCADA software error has been detected. Contact Technical Support for this product.

Specification file invalid

A system file has become corrupt, or been deleted. Re-install CitectSCADA on your system. If the error persists, contact Technical Support for this product.

Statement expected

CitectSCADA is expecting a statement. Check the Cicode for syntax errors.

String expected

Only strings can be used in database fields.

String too big

The string size has been exceeded. The maximum size of the string not to exceed 255 characters.

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.

Symbol search failed

A database record does not exist. Check that the record name is correct.

Syntax error

A malformed Cicode expression has been specified. Check the structure of the expression.

Tag already defined

Tag names need to be unique. Check the Variable Tags form for duplicated names.

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 specify the tag with the Variables Tag form.

Tag not found

The tag does not exist. Check that the tag name is correct, or specify the tag (with the Variables Tag form). 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 choose File | Pack (in the Project Editor).

THEN expected

A THEN statement needs to be used in an IF statement.

Too many arguments

Too many arguments are specified in a Cicode function. The maximum number of arguments allowed is 32.

Too many Cicode functions

More than 4500 user functions have been defined. To increase the number of functions allowed (up to 10000), use the CtEdit parameter MaxCicodeFunctions This error is often due to Cicode functions being defined in a number of included projects. Extending this parameter might affect system performance. Only set it when advised by Citect Customer Service.

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 for this product.

Too many files open

The maximum number of .DBF files that can be open simultaneously has been exceeded. Increase the limit by changing the [CtEdit] DbFiles parameter.

Too many Include projects

More than 240 Include projects have been defined.

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 for this product.

Trailing characters in Cicode

There are extra trailing characters in a Cicode statement, following the semi-colon.

Trailing characters in Name

The database record name contains invalid characters. Remove any invalid characters from the record name.

Unexpected beginning of file

The beginning of the database has been reached or the database has become corrupt. Pack the database. If the error persists, contact Technical Support for this product.

Unexpected end of file

The end of the database has been reached or the database has become corrupt. Pack the database. If the error persists, contact Technical Support for this product.

Unknown bin error

An output file could not be opened during compilation. Pack the database. If the error persists, contact Technical Support for this product..

Unknown DBA error

An internal CitectSCADA software error was detected. Contact Technical Support of this product.

Unknown field

A field is being referenced that does not exist. The database has been modified or has become corrupt. Pack the databases. If the error persists, contact Technical Support of this product.

Unknown file

The include file cannot be found. Check the name of the include file, or that the included file is in the correct directory.

Unknown I/O Device

The I/O Device (unit) does not exist in the project. Check that the I/O Device name is correct.

Unknown protocol

The protocol does not exist.