Cicode
Appearance
Cicode is the programming language used by CitectSCADA software. The structure and syntax of Cicode is very similar to that of the Pascal programming language, the main difference being that it does not include pointers and associated concepts. Citect provides a rich programming API that includes sophisticated programming constructs such as concurrent tasks and semaphores.
A Cicode sample is shown below. The function is used to log information to a file.
FUNCTION I0_Trace(STRING sPrompt)
INT hDev;
INT hTime;
STRING sText;
IF hTraceOn THEN
IF (StrLeft(sPrompt, StrLength(sMask)) = sMask) THEN
TraceMsg(sPrompt);
hTime = TimeCurrent();
sText = TimeToStr(hTime, 2)+" "+TimeToStr(hTime, 1)+" "+sPrompt;
SemWait(hDebugSem, 10);
FileWriteLn(hDebugFile, sText);
SemSignal(hDebugSem);
END
END
END