SYS600 - SCIL Programming Interface
SYS600 - SCIL Programming Interface
3
SCIL Programming Interface (SCIL-API)
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
Issued: 31.3.2010
Version: A/31.3.2010 User’s Guide
Contents
Copyrights .....................................................................................5
1. Introduction ...............................................................................7
1.1. This manual ...................................................................................7
1.2. Related documents .......................................................................7
1.3. Document revisions .......................................................................7
2. Safety Information .....................................................................9
2.1. Backup Copies ..............................................................................9
2.2. Fatal Errors ...................................................................................9
3. Instructions ..............................................................................11
3.1. Making Programs ........................................................................11
3.2. SCIL-API Interface ......................................................................11
3.3. Data Types ..................................................................................12
3.4. Object Interface ...........................................................................14
3.5. Process Object Interface .............................................................15
3.6. Interpreter Interface .....................................................................17
3.7. Time Data ....................................................................................20
3.8. External Program ........................................................................21
3.8.1. Starting an External Program ...........................................21
3.8.2. Initializing an External Program .......................................21
3.8.3. Program Flow of an External Program .............................21
3.9. Application Extension Program ...................................................21
3.9.1. Starting an Application Extension Program .....................21
3.9.2. Initializing an Application Extension Program ..................21
3.9.3. Program Flow of an Application External Program ..........22
3.10.Integrated Program .....................................................................24
3.10.1.Starting an Integrated Program ........................................24
3.10.2.Initializing an Integrated Program ....................................24
3.10.3.Program flow of an Integrated Program ...........................24
3.11.Human-machine Interface ..........................................................24
3.11.1.Starting a Human-Machine Extension Program ...............24
3.12.Initializing a Human-Machine Extension Program ......................24
3.12.1.Program Flow of a Human-Machine Extension Program .25
4. SCIL Functions ........................................................................27
4.1. AEP_START ...............................................................................27
4.2. AEP_STOP .................................................................................27
4.3. AEP_SEND .................................................................................27
4.4. AEP_PROGRAMS ......................................................................27
4.5. IP_START ...................................................................................28
3
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
4
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
Copyrights
The information in this document is subject to change without notice and should not
be construed as a commitment by ABB Oy. ABB Oy assumes no responsibility for
any errors that may appear in this document.
In no event shall ABB Oy be liable for direct, indirect, special, incidental or
consequential damages of any nature or kind arising from the use of this document,
nor shall ABB Oy be liable for incidental or consequential damages arising from use
of any software or hardware described in this document.
This document and parts thereof must not be reproduced or copied without written
permission from ABB Oy, and the contents thereof must not be imparted to a third
party nor used for any unauthorized purpose.
The software or hardware described in this document is furnished under alicense and
may be used, copied, or disclosed only in accordance with the terms of such license.
Copyright © 2010 ABB Oy
All rights reserved.
Trademarks
ABB is a registered trademark of ABB Group. All other brand or product names
mentioned in this document may be trademarks or registered trademarks of their
respective holders.
Guarantee
Please inquire about the terms of guarantee from your nearest ABB representative.
5
6
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
1. Introduction
Naming conventions
The naming convention is different between the C and C++ programming
languages. The SCIL-API functions use C style naming convention. If the API
functions are called from C++ code, a notice of error "Unresolved external..." will
appear in the linking phase, if the functions are called in a default (C++) way. Use
the following code to include the header file and to force the compiler to call these
functions in "C style":
extern "C" {
#include "scil_if843.h"
#include "scil_iface.h"
}
It is also possible to create SCIL-API files for versions older than 8.4.3 of MS (max.
10 characters for object names, max. object index 65535). The header file
scil_if843.h should not be included in that case.
7
8
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
2. Safety Information
This chapter gives information about the prevention of hazards.
9
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
Report the program break-down together with the possible SYS 600 error messages
and the information from drwtsn32.log file to the SYS 600 supplier.
Status Codes
Error messages in SCIL are called status codes. A list of status codes and short
explanations can be found in SYS 600 Status Codes.
10
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
3. Instructions
11
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
The data types marked with Dynamic must be released after being used. Otherwise
they will cause memory leaks in the MS memory pool.
The structure of SCIL_Value is:
typedef struct {
union {
SCIL_Integer i;
SCIL_Real r;
SCIL_Text_Ptr s;
SCIL_Time t;
SCIL_Boolean b;
SCIL_Bit_String_Ptr z;
SCIL_Byte_String_Ptr x;
SCIL_Vector_Ptr v;
SCIL_List_Ptr l;
} u;
SCIL_Value_Type vtype;
SCIL_Short_Status_Code status;
} SCIL_Value;
where:
• SCIL_Integer and SCIL_Time are long
• SCIL_Real is float
• SCIL_Boolean is unsigned char
SCIL_Text_Ptr has the following structure:
typedef struct {
SCIL_String_Length length;
char chars[SCIL_MAX_STRING_LENGTH];
} SCIL_Text_Line;
typedef SCIL_Text_Line *SCIL_Text_Ptr;
where:
• SCIL_String_Length is unsigned char
• SCIL_MAX_STRING_LENGTH is 255
12
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
where:
• SCIL_Bit_String_Length is unsigned short
• SCIL_MAX_BIT_STRING_BYTES is 8192
• SCIL_Byte_String_Ptr has the following structure:
typedef struct {
SCIL_Byte_String_Length length;
unsigned char bytes[SCIL_MAX_BYTE_STRING_LENGTH];
} SCIL_Byte_String;
typedef SCIL_Byte_String *SCIL_Byte_String_Ptr;
where:
• SCIL_Byte_String_Length is unsigned long
• SCIL_MAX_BYTE_STRING_LENGTH is 1048576
SCIL_Vector_Ptr has the following structure:
typedef struct _SCIL_Vector_Value *SCIL_Vector_Ptr;
typedef struct _SCIL_Vector_Value {
SCIL_Vector_Length length;
char pad[2];
SCIL_Value e[SCIL_MAX_VECTOR_LENGTH];
} SCIL_Vector_Value;
where:
• SCIL_Vector_Length is unsigned short
• SCIL_MAX_VECTOR_LENGTH is 10000
SCIL_List_Ptr:
typedef struct _SCIL_List_Value *SCIL_List_Ptr;
Example of copying value from a text vector (v_test) element 2 to a character string
(s_text):
strncpy(s_text, v_test.u.v->e[1].u.s->chars, v_test.u.v->e[1].u.s->length);
//copy
s_text[v_test.u.v->e[1].u.s->length] = '\0'; // adding the NULL character to
the character string
It is more safe to check the status and the data type before accessing any
SCIL_Value like:
if (v_test.status == 0)
if (v_test.vtype == SCIL_VECTOR_TYPE)
if (v_test.u.v->e[1].vtype = SCIL_TEXT_TYPE)
... // Do the copy here
13
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
SCIL_DATALOG_OBJECT 0
SCIL_COMMAND_PROCEDURE_OBJECT 1
SCIL_TIME_CHANNEL_OBJECT 2
SCIL_EVENT_CHANNEL_OBJECT 3
SCIL_PROCESS_OBJECT 4
SCIL_SCALE_OBJECT 5
SCIL_SYSTEM_OBJECT 6
SCIL_EVENT_OBJECT 7
SCIL_BASE_SYSTEM_OBJECT 8
SCIL_FREE_TYPE_OBJECT 9
There are some functions to read and to write system and application objects. The
dynamic data types used in some of those functions must be given back to MS after
use. The functions are:
scil_evaluate_object(&obj, &result, &status);
where SCIL_Identifier has the following structure (in case of MS version 8.4.3):
#define SCIL_MAX_IDENTIFIER_LENGTH 63
typedef struct {
unsigned char length;
char chars[SCIL_MAX_IDENTIFIER_LENGTH];
} SCIL_Identifier;
14
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
SCIL_NO_INDEX is used for Command Procedures, Data Objects, STA, STY etc.
SCIL_SINGLE_INDEX is used for reference to only one Process Object at a time.
SCIL_INDEX_RANGE is used for Process Objects reference to several indexes of
the same logical name.
SCIL_Object_Index first and last should be assigned according to the value of rtype,
the first should be set to the first index in the reference. The last should be set to the
last index in the reference, i.e. the first and last should be the same if the reference
holds only one index or bit. The same also applies to the objects of bit streams.
• SCIL_SWITCH_MIDDLE 0
• SCIL_SWITCH_CLOSED 1
• SCIL_SWITCH_OPEN 2
• SCIL_SWITCH_FAULTY 3
15
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
dynattr SCIL_Dynamic_Common_Attributes
freeattr char
freeattr_length unsigned short
actual_length unsigned short
status SCIL_Status_Code
where SCIL_Dynamic_Common_Attributes has the following structure:
typedef struct {
SCIL_Short_Status_Code os; // unsigned char
SCIL_Time rt; // long
unsigned short rm;
SCIL_Time at;
unsigned short am;
SCIL_Boolean al;
SCIL_Boolean ar;
unsigned char as;
SCIL_Alarm_Zone az;
SCIL_Boolean ofl;
} SCIL_Dynamic_Common_Attributes;
• SCIL_NORMAL_ALARM_ZONE 0
• SCIL_LOW_ALARM 1
• SCIL_HIGH_ALARM 2
• SCIL_LOW_WARNING 3
• SCIL_HIGH_WARNING 4
AT (type) AL
INTEGER Abs(AL) bytes
REAL 4 bytes
BOOLEAN 1 byte (value 1 or 0)
TIME 4 bytes
TEXT if AL > 0, then AL bytes
if AL < 0, then 1 + Abs(AL) bytes. The first byte contains the actual length of
the text.
BIT STRING if AL > 0, then (AL + 7) div 8 bytes
if AL < 0, then 2 + (Abs(AL) + 7) div 8 bytes. The first 2-byte word contains
the actual length of the bit string.
The freeattr_length specifies the length of the buffer freeattr. The byte count actually
required by the free attributes is returned in actual_length. If actual_length >
freeattr_length, only freeattr_length bytes will be read.
16
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
scil_execute_command
Executes an ASCII text string (command) as a SCIL command in the given context.
scil_execute_command(c, &command, &status);
scil_evaluate_expression
Evaluates a SCIL expression given as an ASCII text string in the given context. The
returned value (result) must be released by the caller, if of a dynamic data type.
scil_evaluate_expression(c, &expression, &result, &status);
17
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
scil_evaluate_expression_for_dde
Evaluates a SCIL expression given as an ASCII text string in the given context.
INTEGER, REAL, TIME, BOOLEAN and TEXT type expressions are converted
to ASCII according to DDE communication rules. Other type expressions result to
bad status.
scil_evaluate_expression_for_dde(c, &expression, &result, &status);
scil_set_variable
Defines a SCIL variable in the given context. The dynamic data in val (if any) is
released by MS even if the cal fails.
scil_set_variable(c, &name, &val, &status);
scil_get_variable
Reads the value of a SCIL variable. The returned value (val) must be released by the
caller, if of a dynamic data type.
scil_get_variable(c, &name, &val, &status);
scil_define_variable
Defines a SCIL variable in the given context. After the call, the pointer in val (if
any) should not be used by caller.
scil_define_variable(c, name[SCIL_OBJECT_NAME_LENGTH], &val);
where
char name[SCIL_OBJECT_NAME_LENGTH]
SCIL_OBJECT_NAME_LENGTH 10
scil_return_variable
Reads the value of a SCIL variable. The returned value (val) must be released by
the caller, if its value type is text, bit string, byte string, vector or list.
scil_return_variable(c, name[SCIL_OBJECT_NAME_LENGTH], &val);
18
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
Creation of Text, Bit String, Byte String, Vector and List Data
The above-mentioned functions return SCIL_Value data. Together with the below-
mentioned procedures they provide the only means for creating entities of these data
types.
19
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
scil_create_list(&l, &status);
where l is of data type SCIL_List_Ptr.
Release of Text, Bit String, Byte String, Vector and List Data
Every data item of these data types that has been read from SYS 600 or created by
the above mentioned scil_create_xxx functions, must be released with one of these
functions or “given back” to MS with scil_set_object, scil_set_variable,
scil_define_variable, scil_set_list_attribute or scil_insert_attribute.
scil_dispose_value(&val);
where val is of data type SCIL_Value.
scil_dispose_text(&s);
where s is of data type SCIL_Text_Ptr.
scil_dispose_bit_string(&z);
where z is of data type SCIL_Bit_String_Ptr.
scil_dispose_byte_string(&x);
where x is of data type SCIL_Byte_String_Ptr.
scil_dispose_vector(&v);
where v is of data type SCIL_Vector_Ptr.
scil_dispose_list(&l);
where l is of data type SCIL_List_Ptr.
20
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
• scil_year_in(SCIL_Time)
• scil_day_of_week_in(SCIL_Time)
• scil_day_of_year_in(SCIL_Time)
• scil_week_in(SCIL_Time)
The return from the function scil_pack_time(year, month, day, hour, minute,
second) (SCIL_Time) is zero if any of the parameters is out of range. All the
parameters are of data type integer.
It is also possible to use the function scil_split_time(time, &year, &month, &day,
&hour, &minute, &second), to get the year, month, day etc. The parameter time is
of SCIL_Time, all the other integer.
21
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
This procedure makes a subscription to one or more events. You may specify either:
• event name and index
• event name and SCIL_ALL_OBJECT_INDEX (all indexes of the name)
• event name '*' and SCIL_ALL_OBJECT_INDEX (all events of the application)
It may be used by an application extension program only.
The function, scil_get_aep_message(appl, ae_program_number, &msg, ms0,
&timeout);, reads one message from MS-AEP communication mailbox. The
parameter ms0 specifies the number of milliseconds to wait if the mailbox is empty
(zero value indicates no wait, negative value an infinitive wait). The parameter
timeout is set to FALSE, if a message is read. Otherwise it is set to TRUE. In case
of a SCIL message, the received values (msg->scil.arguments[i]) must be released
by the AEP, if they are of dynamic data type.
We need an endless loop to get more than one event from MS. The function
scil_get_aep_message(appl, ae_program_number, &msg, ms0, &timeout); should
be called in the loop.
The parameters are:
22
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
The scil message from MS (msg in the case above) has the following structure:
typedef struct {
SCIL_to_EP_Message_Type mtype;
union {
SCIL_to_EP_SCIL_Message scil;
SCIL_to_EP_Event_Message event;
SCIL_EP_to_EP_Message ep;
} u;
} SCIL_to_EP_Message;
• apl SCIL_Application_Number
• aepn SCIL_AE_Program_Number
• &msg const void
• length unsigned char
• &status SCIL_Status_Code
The receiving program (defined by apl and aepn) reads the message with procedure
scil_get_aep_message. The message is received as a SCIL_EP_MESSAGE_EP
type message. The length of the message (length) should be <=255 bytes.
23
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
The receiving program (defined by ipn) reads the message with procedure
scil_get_ip_message. The message is received as a SCIL_EP_MESSAGE_EP type
message. The length of the message (length) should be <=255 bytes.
24
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
where SCIL_WINDOW_NAME_LENGTH is 10
Possible messages:
• SCIL_MM_COMMAND
• SCIL_MM_INPUT
• SCIL_MM_EXIT
• SCIL_MM_QUIT
General scenario:
In response to the commands received, the human-machine program can use the
following appropriate functions:
• scil_show_window
• scil_show_value_in_window
• scil_erase_window
• scil_get_picture_variable
• scil_put_picture_variable
After using the functions above, the message has to be acknowledged using the
function scil_acknowledge_mm_message except when the command is
SCIL_MM_QUIT (see description below).
25
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
SCIL_MM_COMMAND
When a human-machine program is active, all commands which are issued in the
picture and are not recognized as SCIL commands, are passed to the human-machine
program in the command variable part of the SCIL_MM_Message data structure.
After doing what has to be done using the functions listed above, the command has
to be acknowledged using scil_acknowledge_mm_message().
SCIL_MM_INPUT
Using this function it is possible to send user input from the picture to the human-
machine program. On the SCIL side, this message is generated using the INPUT
command. The user input is received by the human-machine program as a
SCIL_MM_INPUT message in the mm_input structure of the message.
SCIL_MM_EXIT
When this message is received, the human-machine program can use the functions
listed above. The command has to be acknowledged using
scil_acknowledge_mm_message().
SCIL_MM_QUIT
When this message is received, the human-machine program should quit
immediately and not acknowledge the message.
26
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
4. SCIL Functions
This chapter describes SCIL functions related to SCIL-API. These functions are
used to start, stop, and send a message to an application extension program (AEP).
4.1. AEP_START
AEP_START (name { , argument })
4.2. AEP_STOP
AEP_STOP (n)
4.3. AEP_SEND
AEP_SEND (n { , argument }* )
4.4. AEP_PROGRAMS
This function is available in MS version 8.4.4 and later.
AEP_PROGRAMS ( apl )
27
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
4.5. IP_START
IP_START ( ipn, start_command )
4.6. IP_STOP
IP_STOP ( ipn )
4.7. IP_SEND
IP_SEND ( ipn {, arg1, .. , argn} )
4.8. IP_PROGRAMS
IP_PROGRAMS
28
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
5. Example Programs
Here are some examples of extension programs written with SCIL API.
#include <stdio.h>
#include <string.h>
#include "scil_iface.h"
/*
*
* This example demonstrates the use of the
* scil_evaluate_expression.
*
* When compiling this code, the project settings must include
* the following in the "Code generation" choise of the C/C++
* page.
*
* Struct member alignment: 8 bytes
*
* Use run-time library: "debug multithreaded" or
* "multithreaded"
*
* This test code must be linked with the scsshr.lib that comes
* with the API.
*
* TK / 1998
*
*/
void
main() {
SCIL_Context_Ptr c;
SCIL_Status_Code status;
SCIL_Text_Line expr;
SCIL_Value v;
scil_program_init();
expr.length = strlen(TEST_EXPR);
29
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
// Important!
// If the scil value is of dynamic datatype, the
// contents of the value must be deallocated.
// Otherwise it will cause a memory leak in the
// MicroSCADA memory pool.
scil_dispose_value(&v);
#include <stdio.h>
#include "scil_iface.h"
/*
*
* This example code demonstrates the use of MicroSCADA
* events.
*
* When compiling this code, the project settings must include
* the following in the "Code generation" choise of the C/C++
* page.
*
* Struct member alignment: 8 bytes
*
* Use run-time library: "debug multithreaded" or
* "multithreaded"
*
* This test code must be linked with the scsshr.lib that
* comes with the API.
*
* TK / 1998
*
*/
30
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
main()
{
SCIL_to_EP_Message msg;
SCIL_Boolean timeout;
long ms0 = 3600000;
SCIL_Application_Number appl;
SCIL_AE_Program_Number ae_program_number;
SCIL_Value argument;
FILE *testfile;
/*
This program must be started with AEP_START from
MicroSCADA.
/*
The events that we are waiting for are defined here.
*/
scil_subscribe_to_event(appl,
ae_program_number,
"* ",
SCIL_ALL_OBJECT_INDEX);
if (testfile == NULL) {
scil_ae_program_exit(appl, ae_program_number);
return(1);
}
for (;;) {
scil_get_aep_message(appl, ae_program_number, &msg,
ms0, &timeout);
switch (msg.mtype)
{
case SCIL_EP_MESSAGE_NONE:
fprintf(testfile, "%s\n", "SCIL_EP_MESSAGE_NONE");
fflush(testfile);
break;
case SCIL_EP_MESSAGE_EP:
fprintf(testfile, "%s\n", "SCIL_EP_MESSAGE_E");
fflush(testfile);
break;
case SCIL_EP_MESSAGE_SCIL:
fprintf(testfile, "%s\n", "SCIL_EP_MESSAGE_SCIL");
fflush(testfile);
/*
* If the SCIL_Value in this type of SCIL_Message
* is of dynamic
* datatype, it must be deallocated after use!
*/
break;
31
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
case SCIL_EP_MESSAGE_EVENT:
fprintf(testfile, "%s\n", "SCIL_EP_MESSAGE_EVENT");
fflush(testfile);
break;
case SCIL_EP_MESSAGE_EXIT:
fprintf(testfile, "%s\n", "SCIL_EP_MESSAGE_EXIT");
scil_ae_program_exit(appl, ae_program_number);
fclose(testfile);
return(0);
break;
default:
break;
}
}
return(0);
}
32
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
6. Abbreviations
Abbreviation Description
IP Integrated Program
33
34
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
7. Index
Symbols
!MODULENAME .................................................................................... 24
&ae_program_number .............................................................................. 21
&appl ........................................................................................................ 21
&scil_argument ........................................................................................ 21
A
AEP_SEND .............................................................................................. 11
AEP_START ............................................................................................ 11
Aep_start ................................................................................................... 21
AEP_START() ......................................................................................... 21
AEP_STOP ............................................................................................... 11
AE-program .............................................................................................. 11
Application backup ..................................................................................... 9
Application Extension Program ............................................................... 21
B
Backup copy ............................................................................................... 9
E
Event name ............................................................................................... 22
F
Fatal error ................................................................................................... 9
H
Header file .................................................................................................. 7
I
Initializing an AEP ................................................................................... 21
Initializing an EP ...................................................................................... 21
IP_START .......................................................................................... 11, 24
IP_STOP ................................................................................................... 11
M
MS memory pool ...................................................................................... 11
N
Naming convention .................................................................................... 7
P
Program Flow of an EP ............................................................................ 21
S
Scil_ae_program_init ............................................................................... 21
SCIL_ALL_OBJECT_INDEX ................................................................. 22
SCIL_BASE_SYSTEM_OBJECT ........................................................... 14
35
SYS 600 9.3 MicroSCADA Pro 1MRS756650
SCIL Programming Interface (SCIL-API)
User’s Guide
SCIL_Bit_String_Length ......................................................................... 13
SCIL_Bit_String_Ptr ................................................................................ 13
SCIL_Boolean .......................................................................................... 12
SCIL_Byte_String_Length ...................................................................... 13
SCIL_Byte_String_Ptr ............................................................................. 13
SCIL_COMMAND_PROCEDURE_OBJECT ....................................... 14
SCIL_DATALOG_OBJECT ................................................................... 14
Scil_dispose_bit_string ............................................................................ 11
Scil_dispose_byte_string .......................................................................... 11
Scil_dispose_list ....................................................................................... 11
Scil_dispose_text ...................................................................................... 11
Scil_dispose_value ................................................................................... 11
Scil_dispose_vector .................................................................................. 11
SCIL_EP_MESSAGE_EP ....................................................................... 23
Scil_erase_window ................................................................................... 25
SCIL_EVENT_CHANNEL_OBJECT .................................................... 14
SCIL_EVENT_OBJECT ......................................................................... 14
SCIL_FREE_TYPE_OBJECT ................................................................. 14
Scil_get_aep_message .............................................................................. 11
Scil_get_mm_message ............................................................................. 25
Scil_get_picture_variable ......................................................................... 25
Scil_get_variable ...................................................................................... 11
SCIL_Identifier ........................................................................................ 14
SCIL_INDEX_RANGE ........................................................................... 15
SCIL_Integer ............................................................................................ 12
Scil_integrated_program_init ................................................................... 24
Scil_integrated_program_init - function. ................................................. 11
SCIL_MAX_BIT_STRING_BYTES ...................................................... 13
SCIL_MAX_BYTE_STRING_LENGTH ............................................... 13
SCIL_MAX_STRING_LENGTH ........................................................... 12
SCIL_MAX_VECTOR_LENGTH .......................................................... 13
SCIL_MM_COMMAND ................................................................... 25, 26
SCIL_MM_EXIT ............................................................................... 25, 26
SCIL_MM_INPUT ............................................................................ 25, 26
SCIL_MM_Input_description .................................................................. 25
SCIL_MM_QUIT .............................................................................. 25, 26
SCIL_NO_INDEX ................................................................................... 15
SCIL_Object_Identifier ............................................................................ 14
SCIL_Object_Index ................................................................................. 15
SCIL_Object_Index_Range ..................................................................... 15
SCIL_Object_Index_Range_Type ........................................................... 15
SCIL_Object_Reference .......................................................................... 14
SCIL_Object_Type .................................................................................. 14
SCIL_OK_STATUS ................................................................................ 12
SCIL_PROCESS_OBJECT ..................................................................... 14
Scil_program_init() .................................................................................. 21
36
1MRS756650 MicroSCADA Pro SYS 600 9.3
SCIL Programming Interface (SCIL-API)
User’s Guide
Scil_put_picture_variable ......................................................................... 25
SCIL_Real ................................................................................................ 12
SCIL_SCALE_OBJECT .......................................................................... 14
Scil_set_variable ................................................................................. 11, 12
Scil_show_value_in_window ................................................................... 25
Scil_show_window ................................................................................... 25
SCIL_SINGLE_INDEX ........................................................................... 15
SCIL_String_Length ................................................................................ 12
Scil_subscribe_to_event ........................................................................... 22
SCIL_SYSTEM_OBJECT ....................................................................... 14
SCIL_Text_Ptr ......................................................................................... 12
SCIL_Time ............................................................................................... 12
SCIL_TIME_CHANNEL_OBJECT ........................................................ 14
SCIL_Value .............................................................................................. 12
SCIL_Vector_Length ............................................................................... 13
SCIL_WINDOW_NAME_LENGTH ...................................................... 25
SCIL-API ............................................................................................ 11, 12
SCIL-API files ............................................................................................ 7
Starting an AEP ........................................................................................ 21
Starting an EP ........................................................................................... 21
Status codes .............................................................................................. 10
System backup ............................................................................................ 9
V
VS_PICTURE_CONTAINER ........................................................... 11, 24
37
Contact us
www.abb.com/substationautomation
1MRS756650 A/31.3.2010