Applies To:
  • CitectSCADA 7.0
  • CitectHMI 7.0
  • CitectFacilities 7.0
  • CitectSCADA Batch 7.0
  • CitectSCADA Pocket 7.0


List of hardware alarms.

Error No.

Error title



General software error

An internal CitectSCADA software error is detected. Contact Citect Support and provide details on what causes the error.


Value is out of range

A numeric value is out of range. An out-of-range value has been passed to a function, or an array index is off the end of an array, or a value that is outside of the specified engineering scale has been assigned to a I/O Device variable. You can disable range checking on PLC variables with the CodeSetMode() function.


Buffer has been overrun

A buffer has been overrun. More data has been passed to a function than it can write to its temporary buffers. Try again by calling the function twice, with half the data in each call.


Array has been overrun

An array passed to a function is too small for the data requested. Define a larger array or reduce the maximum data size requested.


Path does not exist

The specified path to a device or file does not exist. During a function call (that tried to open a file), a non-existent path was specified. Call the function again with the correct path.


File does not exist

The specified file or device does not exist. During a function call (that tried to open a file), the file could not be found. Call the function again with the correct file name. This error will also occur if you try to call TrnDelHistory() on a file that has never been added using TrnAddHistory().


Cannot open file

The specified file cannot be opened. During a function call (that tried to open a file), the file could not be opened. There may be a mode error (e.g. from trying to open a read-only file in write mode), or the file may be open by others, or the operating system resources may be too low to open the file.

Check that the file does exist (use File Manager), and that you have the correct rights to open it. (Check with your network supervisor that you have correct rights to open the file).


Cannot read file

The specified file cannot be read. Either an error occurred during a read operation, or the end of file was unexpectedly found, or a loss of the file server occurred, or the operating system is out of resources.


Cannot write to file

The specified file cannot be written to. During a function call (that tried to write to a file), a write error occurred. There could be a disk full error, or a loss of the file server may have occurred, or the operating system is out of resources.


Invalid file type

An attempt was made to open a file of the wrong type, e.g. you tried to open an ASCII file as a dBASE file.


Field not found in file

The specified field does not exist in the device or database. A function that is trying to access an individual field in a database cannot find that field. Check that you have specified the correct field name and database name.


File mode is invalid

An operation has been attempted on a file or device that is of the wrong mode, e.g. you tried to perform a seek on a printer device. Do not use this operation on this type of device.


Key not found in file

The requested key was not found when a key search was performed on a database device, i.e. the record specified on an indexed search cannot be found. Either the record does not exist or you have specified the wrong key.


Bad handle specified

A bad handle has been passed to a function. You have called a function that requires a device handle, font handle, window handle, etc., but you passed a number that does not associate with a read device, font, or window (e.g. you called WinGoto(100) when no window with the handle "100" exists). Check where the handle or number was retrieved from, and make sure it is the same handle. This error may also occur if you have closed or destroyed the resource and you then try to access it.


No more free handles left

All the available file handles have been used, i.e. too many files or databases are open at the same time. Open fewer files at one time or increase the number of file handles in the [CtEdit]DBFiles parameter.


Out of memory

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


Divide by zero

An attempt has been made to divide a number by zero.


Invalid argument passed

An invalid argument has been passed to a Cicode function. This is a general error message and is generated when arguments passed to a function are out of range or are invalid. Check the value of arguments being passed to the function. If arguments are input directly from the operator, you should check that the correct arguments are being passed to the function.



A calculation has resulted in a numeric value overflow. Check for operations that will generate large numbers.


No privilege for operation

A user has requested an operation for which he or she has no privilege.


Not in correct area

A user has requested data that does not belong to the current user area.


Report already busy

A request has been made to run a report that is already running. You can get the current state of a report with the RepGetControl() function. You can ignore this error message (because the report is already running).


Report is late for execution

The report cannot run at the rate requested in the configuration. An attempt could have been made to run a report too frequently, and the required data cannot be read from the I/O Device(s) in time for the next report.


Invalid report ID specified

The specified report name does not exist, or the user has no privilege to run the report, or the report is not in the current user area. Check the name of the report and the current user's privilege and areas.


No server could be found

The specified CitectSCADA server cannot be found. Either the server is not running or there is some communication problem with the network. Check that the network is set up correctly, and the [Lan] Disable parameter is set to 0 (zero), and you are using the same Server Name on both the client and server.


Foreground Cicode cannot block

You cannot block the foreground CitectSCADA task. You may have called a blocking function from one of the Page animation databases.


Trend has missed samples

The trend cannot run at the rate requested in the configuration. An attempt could have been made to trend the data too frequently, and the required data cannot be read from the I/O Device(s) in time for the next trend. Either increase the performance of the communication link to the PLCs or slow the rate of trend data acquisition.


Device is disabled

An attempt was made to access a device that is disabled. You can disable any devices (printers and other logging devices) with the DevDisable() function. When CitectSCADA (or your Cicode function) tries to access a disabled device, this error message returns and all output is lost.


Foreground Cicode run is too long

The foreground Cicode task is taking too long to animate the display page. The Cicode is too complex and is taking too long to execute. Simplify the Cicode that is animating the page, or increase the [Code] TimeSlice parameter. If you cannot simplify the Cicode, you can create a separate task using TaskNew() to calculate your complex operation, and then use the Display functions to display the results. Cicode running from a TaskNew() call is in background mode and can run as long as required.


Out of Cicode threads

CitectSCADA has run out of Cicode tasks. Run fewer tasks (e.g. reports, key commands, and Cicode tasks) in parallel, or increase the number of tasks with the [Code]Threads parameter. This error can be caused by a configuration error if you keep creating tasks but do not "kill" them when they are no longer required.


Floating point exception trap

An invalid floating-point number has been found. Check the floating-point data from the I/O Device.


Out of buffers

CitectSCADA is out of dynamic buffers. You have called a function that requests buffer space but no buffers are available. Check which function is causing the error and increase the associated buffers, or slow the rate of transfer to that function. If the error occurs on a server or LAN device, increase the number of buffers with the [Lan]ReadPool parameter.

This error can also occur if something is stopping the release of the buffers, e.g. if network communication has stopped or a PLC has just come off-line. The error 'Out of buffers' can also be generated in the following ways:

Calling QueWrite() when the queue functions have run out of buffers. You can increase the number of queue buffers with the [Code] Queue parameter.

Calling WinFree() to free the last Cicode window. If WinFree() did free the last window, CitectSCADA would have no windows left.

To verify which function is causing the hardware error, display the {ERRPAGE} and {ERRDESC} fields on the hardware alarm.


Name does not exist

The specified name does not exist in this context. You are probably using the wrong name.


Not finished

A request has been made for trend data that has not yet finished trending.


File not CitectSCADA format

The specified file is not in CitectSCADA format. The file (trend, graphic, or any other file) is in an invalid format. Check that the name of the file is valid or that the file has not become corrupted.


Invalid function

The specified function name does not exist. You have tried to create a task, or called a remote procedure, or set an event function that does not exist.


File error

A general file error has occurred. Either a general hardware error has occurred, or the operating system is out of resources, or the file server is down.


File EOF

The end of the file was found. An attempt was made to read data off the end of a file or database.


Cicode stack overflow

A Cicode evaluation stack overflow has occurred. There are too many local function variables or nested function calls. Reduce the number of local variables or increase the [Code] Stack parameter.

The Cicode stack is used to store local function variables and function calls. If you have many nested functions and a large number of local function variables, the Cicode stack may overflow. When the Cicode stack overflows, the Cicode that caused the overflow is halted.

You can estimate the size of the stack by counting the maximum number of local function variables in the deepest function calls. For example, if function A has 10 variables and calls function B with 30 variables, which calls function C with 40 variables, the stack needs to be 10 + 30 + 40 = 80 deep.


Queue empty

An attempt has been made to read an element from an empty queue.


Semaphore owner died

The owner of a Cicode semaphore was halted, killed, or returned without releasing the semaphore. Reset the shared resource back to a known state (because the task that died may have left it in a mess), and then continue. For example, if you are sharing a printer, do a form feed.


Semaphore timeout

The requested semaphore was still in use after the specified timeout. Either try to get the semaphore again or abort the operation and tell the operator of the error.



The specified form or command was cancelled. This error is returned when a user presses the Cancel button on a form. The normal procedure is to abort the operation.


Trend not found

The trend does not exist at the specified AN and page. A trend function may have been called when the trend is not defined for that AN.


Trend pen not found

The required trend pen name does not exist in the Trends database or is not in the current user area. Check that the pen name exists and check the current user's privilege and area.


Trend data not valid

The requested trend data is not valid. Either the I/O Device data was bad, or the CitectSCADA trend server was shut down, or the trend data was disabled.


Invalid animation number

The AN specified in the function is not defined. You called one of the DspXXX animation functions, but you specified an animation number that was out of range or that had been deleted.


File server failed, stand-by active

CitectSCADA has detected a file server fail condition, and will switch to the standby file server. The file server is down due to failure of the network or of the file server computer. This error is displayed only if you have enabled redundant file servers. If a redundant file server is not enabled, CitectSCADA and Windows crashes when the file server fails. You should report this error to the operators to fix the file server.


Conflicting types of animation

The same AN is being used for two different types of animation. This error occurs if you try to display two (or more) incompatible types of animation on the same AN (e.g. you try to display a symbol at a AN where a bar graph is already displayed). Check the configuration. If you need to display a new animation, you must first delete the old animation with the DspDel() function.


SQL field value truncated

A maximum of 1000bytes (1Kb) can be returned from a single field call. If the field data is larger than this limit, it is truncated. You have tried to access a database where one of the fields is greater than 1000 bytes in size. Change the database field size to less than 1000 bytes so it can be accessed. In fact, you should change the field size to less than 256 bytes, the maximum allowable length of a Cicode string.


SQL database error

A general SQL error. Call the SQLErrMsg() function for details of the error.


SQL null field data returned

Data has been requested from a field that contained no data, or the SQL server does not support this type of field data. CitectSCADA will return an empty string. Call the SQLFieldInfo() function to list the fields in the database.


Trend data is gated

You have requested trend data that was gated (set to logging disabled) by the trigger expression (i.e. when it was acquired). The data is returned with the gated values set to 0.


Incompatible server version

Two servers are running incompatible versions of the CitectSCADA software. Install the latest version on each server. Contact Citect Support to arrange for an upgrade.


Alarm tag synchronize error

When the Alarm server shuts down it writes an alarm save file. If the alarm server is in tag mode (rather than record mode) this message will display. You can set the mode with the [Alarm]SaveStyle parameter. You can ignore this message as it is a warning only.


MAPI generic error

A generic MAPI error has occurred. Call the MailError() function to retrieve the MAPI error.



The MAPI mail system is not installed, or incorrectly installed on the computer.


MAPI offline

The computer is not logged on to the MAPI mail system. Call the MailLogon() function to log on to the MAPI mail system.


MAPI no mail

No mail was available. This message is returned from the MailRead() function if no mail is available.


dBASE record locked by another

The dBASE file is being accessed by another user. Check if the dBASE file has been opened in exclusive mode by the other user. This error can also occur if another user is updating the dBASE file, and will most likely occur if it is an indexed database, and the file is on a slow file server. You can adjust dBASE access with the [General]LockRetry and [General]LockDelay parameters.


Not in this version

The operation is not supported in this version of CitectSCADA. You must upgrade to a higher version.


Invalid page function

You have called the PageGoto(), PageNext(), PagePrev(), PageDisplay(), or PageLast() as an exit command in the Pages database.


Low physical memory

CitectSCADA is low on physical memory. Increase available physical memory (not virtual memory). Reduce the size of SMARTDRV cache, close any other windows programs that are running, or add more RAM to your computer. You can set the minimum size of memory required by CitectSCADA with the [Memory]MinPhyK parameter. This parameter sets a value for the minimum physical memory before CitectSCADA will generate this error message.

This error may also occur if your swap file is large (i.e. greater than 20Mb). Reduce the size of your swap file. The swap file is configured with the Windows Control Panel (386 Enhanced icon).


Cannot free window

The WinFree() function has been called but CitectSCADA has no windows left. (Note that the last window and any child windows owned by the last window cannot be removed.)


Font cannot be found

The specified font cannot be found. Check the font name.


LAN Failure

CitectSCADA has detected a failure on the network.


Super Genie not Associated

A Super Genie variable has not been associated correctly. This error can occur if a variable passed to the Super Genie is the wrong data type or the variable does not exist. The error will also occur if the Ass() function has not been called for the variable.


Project is not compiled

Changes have been made to the project while the system was running. Either restart the system or shutdown and re-compile.


Could not run the CitectSCADA compiler

The CitectSCADA compiler could not be found. Either the computer has run out of memory, or the compiler has been removed from its directory.


User type not found

An attempt was made to create a user of a type that has not been defined in the users database.


User already exists

An attempt was made to create a new user with the same name as an existing user.


Cannot have mixed trends

An attempt was made to display both a periodic trend and an event trend in the same trend window. Check the project configuration (Trend Tags and Page Trends databases) for mixed trends displayed in a trend window.


Event type trend is expected

One of the arguments passed to this trend function is only valid for event type trends.


Trend in file does not exist

The trend name inside the trend file does not exist in the trend database. It is likely that the trend file belongs to a trend which is deleted from the system configuration.


Plot Functions Sequence Mismatch

Plot functions are to be written in sequence since they depend on the data set up by other plot functions. Please refer to the description section for each Plot Function for the order of plot functions.


Plot Marker is not Defined

An undefined plot marker symbol has been used. Use the PlotSetMarker function before the PlotLine, PlotXYLine or PlotMarker functions.


Debug break

The DebugBreak() Cicode function has been called. This indicates an invalid condition detected in user written Cicode. Enable the Cicode debugger to find the cause of the problem.


Foreground Cicode cannot break

A breakpoint has been hit in foreground Cicode. Foreground Cicode cannot be blocked. You can disable this error message in Debug Options, accessed through the Debug menu in the Cicode Editor.


Format overflow

This error occurs when the string being used to return an error message is not long enough for the information to go into it.


Trend data not ready

This warning is returned when the trend data is not ready to be returned. Try again later.


Dynamic Out of licence points

The dynamic point count has exceeded the point limit. See CitectSCADA Licence Point Count.


Assertion failed in user Cicode

An assertion has failed in your Cicode, and the task terminated. Assertions are made using the Assert() function. If you set the [Code]DebugMessage parameter to 1, the assertion logged and the operator prompted.


FTP Failure

Problems connecting to the FTP server for file copy. Check that the service is running correctly by using a 3rd party tool outside CitectSCADA.


Unrecognized object class

The automation object to be used is not known or registered.


Object has no interface

The automation objects interface no longer exists. This is either a logic or code error.


Object automation exception

Generic automation exception code for logging issues


Too many arguments

Formatting issues likely due to too many arguments (automation)


Too few arguments

Less arguments available than expected (automation)


Named object already exists

An object tried to be created when it was already existed and it was not expected to exist. Check your cicode (automation)


Unrecognized named object

The name of an object did not match the internal records. Check your cicode (automation).


Page CTG/RDB record mismatch

An animation object id was not found in the records. Try a full compile and re-start.


Object event queue flooded

CitectSCADA has run out of Cicode tasks while processing ActiveX events. Create fewer concurrent ActiveX events, or increase the number of tasks with the [Code]Threads parameter.


Incorrect number of arguments

Internal error in cicode handling of objects. Try a full recompile and restart.


No 'this' argument

Internal error in cicode handling of objects. Try a full recompile and restart.


Date Time Conflict

A Date and/or time conflict has occurred. If you are attempting a TrnAddHistory(), make sure that the file you are adding does not have a conflicting time or date with existing trend files.


Password Expired

The password has expired. Change password or adjust the [general]passwordexpiry settings.


Can not modify field

The given fiel of Users.DBF is protected from direct user manipulation, so can not be modified.


Name Exists

The user name specified is already exist in the Users.DBF.


File Format Error

The file format is not in the desired format. It may be corrupted.


Page data / variable tag data mismatch

Page data / variable tag data mismatch with tag-based driver.


The code this queue/semaphore was waiting for exited due to an error

Cicode task has been flagged as dead. This will not be an issue if a cicode task was killed deliberately by the cicode logic.


Unsupported cicode function in Citect Web Client

A number of cicode functions can only be run in a non Web context. This error is flagging that such a function was tried from a Web client.


Cluster not specified

Cicode call is ambiguous because no cluster was specified.


Cluster not found

The provided cluster name was not seen as a valid cluster name.


Cluster name and tag mismatch

A cluster name and a tag with a cluster name prefix were both passed, but they do not match each other.


Cluster not connected

The operation cannot continue as the cluster is not connected.


Cluster already connected

The operation cannot continue as the cluster is already connected.


Databrowse pending

Databrowse session currently being connected and is not yet available for further commands.


Databrowse not supported

This normally means that data has been requested from the wrong client / server type, i.e. a client request on a server or vice versa.


Databrowse type not found

Browse type unknown. Check all versions of citect32 are the same.


Databrowse session not found

iSession handle is invalid.


Databrowse session exists

Cannot open a session as it already exists.


Databrowse session EOF

Cannot browse beyond end of file. No more records left in the browse.


Databrowse field not found

The specified field is not present in the file.


Databrowse invalid field

The specified field is not valid for this browse function.


Databrowse no command

Browse command unknown. Check all versions of citect32 are the same.


Databrowse no next cluster

Internal flag that all clusters have been processed. Users use this in cicode to determine that there are no more clusters..


Cluster required for operation

The operation cannot continue as the cluster is required for operation of a server.


No server of type on cluster

There is no server of the required type configured on the server.


Client / Server ID mismatch

An ID given to a Cicode function is not of the correct type.


Not available outside process

This functionality is not available outside a process boundary e.g. AlarmFirstCatRec is only able to be called from inside the Alarm Server process.


Invalid tran handle detected

Citect's internal communications subsystem detected an error whilst trying to send a message.


Dial call failed

An attempt to make a call to a remote I/O device failed. You can find more information on the cause of this problem (if it is reproducible) by setting [Dial]Debug=1 and [Dial]DebugLevel=3 and looking in the syslog.dat.


Subscription value is pending

Occurs when a tag has been subscribed to, and attempted to read the value before the initial value has been retrieved from the server.


Tag not found

Occurs when attempt to read or subscribe to a tag that does not exist.


No connector

Not used.


Write to named pipe failed

An attempt to send a message via a name pipe has failed.


Redirect from non-Cicode task

A function cannot be redirected to another component as a proxy RPC unless it is in the context of a Cicode call.


Data browse record is invalid

The specified record is not valid for this browse function.


Can't plot symbol to printer

The Cicode PlotMarker() function can only plot a symbol to the display. This error occurs when the PlotMarker() Cicode function is used with a user-defined marker and a printer was specified as the output when PlotOpen() was called.


Alarm sort parameters mismatch

The [Alarm]SortMode parameter value on client is different as compared to the value on the alarm server. This value should be same in order to display alarms in correct order on the client.


Summary sort parameters mismatch

Values for [Alarm]SummarySort and [Alarm]SummarySortMode parameters on client are different as compared to the values on the alarm server. These values should be same in order to display alarm summary in correct order on the client.


Property not ready

A specific tag property has been read in synchronous mode, before the value has been retrieved from the server. (similar to subscription value is pending)


Cicode type mismatch

Some server side changes are now allowed for cicode, without restarting the client. This means that now it is possible to change a tag type to one that now cannot be converted as it was before. Eg val = TagA - TagB, If TagA has been converted from Integer to String, then the cicode will raise a cicode type mismatch as the '-' operation is not supported for strings


Invalid data conversion

Attempt to convert a value to a type that cannot store the value e.g. ULong to Long, and the value is greater than the Long type can handle.


Time Server not configured

Configuration Time parameters are incorrect; reconfigure the time synchronization. This error happens when [Time]Disable is false (or not specified) and the [Time]Address is empty or not specified


Failed to load security provider

Cannot load or initialize the Windows security provider. This indicates that the installation of operating system may be corrupted or the Windows security provider was not included.


Authentication failed

Cannot authenticate the given Windows user name and password. Make sure the user name and password are typed in correctly


Authentication session does not exist

Cannot find the authentication session during the authentication process for the Windows user. This indicates that there was miscommunications in between client and server.


Role checking failed

Cannot perform the role-check process for the Windows user. Make sure the roles database in the project is not corrupted.


No linked role

The given Windows user is not linked to any role defined in the project.


Acquire user credentials failed

Cannot obtain the user credential handle from Windows.


Acquire user access token failed

Cannot obtain the user access token. This indicates that the security context of the Windows user was invalid.


Encrypt data failed

Cannot encrypt the user information during the Windows user authentication process. This indicates that the security context of the Windows user was invalid.


Decrypt data failed

Cannot decrypt the user information during the Windows user authentication process. This indicates that the security context of the Windows user was invalid.


The name of the table can not be found in the kernel.

Cicode UsrKernelTableInfo() has asked for a table that does not exist.


Invalid logout

The logout was called when there is no one logged in or the logged on user is system default user.


Socket error

REMOVE, internal offset for socket errors



(10050) Network is down.


Socket unreachable

(10051) Network is unreachable.


Network reset

(10052) Network dropped connection on reset.


Connection aborted

(10053) Software caused connection abort.


Connection reset

(10054) Connection reset by peer.


No buffers available

(10055) No buffer space available.


Socket timeout

(10060) Connection timed out.


Connection refused

(10061) Connection refused.


Name too long

(10063) Item Name too long.


Host down

(10064) Host is down.


Host unreachable

(10065) No route to host.

Socket Error Notes
Error codes from 0x500 to 0x599 are mapped to the standard Microsoft socket errors that start from 10000. 0x500 = 1280 .
See for the fuller descriptions. Generally these errors are beyond CItecSCADAs control, i.e. there is a external reason outside while CitectSCADA can’t use the TCP/IP connection.