Chapter 1: Introduction
What is MMS-EASE Lite?
About This Manual
Conventions used in this Manual
Chapter 2: Getting Started
Prerequisites
Installation
Installing WinPcap Runtime needed to run programs with OSI Support
Directory Structure
Chapter 3: Building MMS-EASE Lite
Development System Preparation
mvl_init_glb_vars
Creating MMS-EASE Lite Libraries
Building MMS-EASE Lite Step-by-Step
Chapter 4: MMS-EASE Lite Lower Layers
Profile Options
Lower Layer Component Portation
Protocol Stack Configuration
ACSE Authentication
Chapter 5: MVL Application Program Interface
MVL Application Build Process
MVL Configuration
MVL Connection Management
mvl_initiate_req
mvla_concl
u_mvl_concl_ind
mplas_concl_resp
mplas_concl_err
mvl_abort_req
mvl_abort_req_ex
mvl_release_req
mvla_release_req
u_mvl_connect_ind_ex
u_mvl_connect_cnf_ex
u_mvl_disc_ind_fun
Using MVL with MMS Lite ACSE Components
Extending the MVL Service Set
mvl_comm_serve
mvl_init_type_ctrl
mvl_get_runtime
ms_rt_el_tag_text
mvl_mod_arr_size
u_mvl_rt_element_supported
mvl_derive_new_type
osicfgx
mvl_start_acse
mvl_end_acse
mvl_vmd_find_dom
mvl_vmd_find_jou
mvl_vmd_find_nvl
mvl_vmd_find_va
u_mvl_get_va_aa
u_mvl_free_va
u_mvl_get_nvl
u_mvl_free_nvl
u_gnl_ind_vars
u_gnl_ind_nvls
u_gnl_ind_doms
u_gnl_ind_jous
MVL Dynamic Object Management
mvl_vmd_dom_add
mvl_vmd_dom_remove
mvl_vmd_dom_find_last
u_mvl_dom_destroy
mvl_type_id_create
mvl_type_id_create_from_tdl
mvl_type_id_destroy
mvl_vmd_type_id_create
mvl_vmd_type_id_destroy
mvl_vmd_type_id_destroy_all
mvl_var_create
mvl_vmd_jou_add
mvl_vmd_create
mvl_vmd_destroy
MMS Object Control
mplas_err_resp
u_mvl_status_ind
mplas_status_resp
u_mvl_ident_ind
mplas_ident_resp
mvlas_jread_resp
ObtainFile Data Structures
FileRename Data Structures
FileRename Functions
u_mvl_frename_ind
mplas_frename_resp
FileOpen Data Structures
FileOpen Functions
u_mvl_fopen_ind
mplas_fopen_resp
FileRead Functions
u_mvl_fread_ind
mplas_fread_resp
FileClose Functions
u_mvl_fclose_ind
mplas_fclose_resp
FileDelete Functions
u_mvl_fdelete_ind
mplas_fdelete_resp
FileDirectory Functions
u_mvl_fdir_ind
mplas_fdir_resp
MVL MMS Client Facilities
mvl_free_req_ctrl
u_mvl_check_timeout
Read Data Structures
Read Functions
mvl_read_variables
mvla_read_variables
Write Data Structures
Write Functions
mvl_write_variables
mvla_write_variables
InformationReport Functions
Status Functions
mvl_status
mvla_status
Identify Functions
mvl_identify
mvla_identify
GetNameList Functions
mvl_getnam
mvla_getnam
FileOpen Functions
mvl_fopen
mvla_fopen
FileRead Functions
mvl_fread
mvla_fread
FileClose Functions
mvl_fclose
mvla_fclose
FileDirectory Functions
mvl_fdir
mvla_fdir
FileDelete Functions
mvl_fdelete
mvla_fdelete
ObtainFile Functions
mvl_obtfile
mvla_optfile
FileGet Functions
mvl_fget
mvla_fget
FileRename Functions
mvl_frename
mvla_frename
DefineNamedVariableList Functions
mvl_defvlist
mvla_defvlist
GetVariableAccessAttributes Functions
mvl_getvar
mvla_getvar
GetNamedVariableListAttributes Functions
mvl_getvlist
mvla_getvlist
GetDomainAttributes Functions
mvl_getdom
mvla_getdom
DeleteNamedVariableList Functions
mvl_delvlist
mvla_delvlist
InitializeJournal Functions
mvl_jinit
mvla_jinit
ReadJournal Data Structures
ReadJournal Functions
mvl_jread
mvla_jread
ReadJournalStatus Functions
mvl_jstat
mvla_jstat
Chapter 6: Using the UCA Features of MVL
Read/Write Indication Functions
mvlu_set_leaf_param_name
mvlu_rpt_nvl_add
mvlu_rpt_nvl_destroy
mvlu_free_rpt_ctrl
mvlu_rpt_destroy_scan_ctrl
Report Service Functions
Chapter 7: Using the IEC 61850 features of MVL
IEC 61850 Reporting Functions
mvl61850_ctl_chk_sbo
mvl61850_ctl_chk_sbow
mvl61850_ctl_chk_state
mvl61850_beh_stval_rd_ind
mvl61850_ctl_command_termination
mvl61850_rpt_ctrl_destroy_all
mvlu_rpt_ctrl_destroy_all
u_mvl61850_ctl_oper_begin
u_mvl61850_ctl_oper_end
Sampled Value Support
Functions for sending Sampled Value Messages
smpval_msg_create
smpval_msg_destroy
smpval_asdu_data_update
smpval_msg_send
Functions for Receiving SMPVAL Messages
smpval_msg_decode
smpval_msg_free
Chapter 8: Configuring IEC 61850 Devices Using SCL
scl_info_destroy
SCL Server Sample Application
datamap_cfg_read
datamap_cfg_destroy
Chapter 9: IEC 61850 GOOSE Support
General GOOSE Information
IEC GOOSE
IEC GOOSE Encode Data Structures
Chapter 10: IEC 61850 GSSE (same as UCA 2.0 GOOSE)
Additional Functions for Alternate GSSE Reception Mode
Chapter 11: IEC 61850 GSE Management
Chapter 12: MMS Object Foundry
MMS Object Foundry Workflow
Command Line Parameters
AA-Specific Variables in the Foundry ODF Input File
Object Definition Syntax
MMS Object Foundry Execution Control
User Include File
MMS Data Type
MMS Domain
MMS Named Variables
MMS Named Variable List
UCA Model Name Generation
Alignment Control File
MMS Object Foundry UCA Specific Features
Appendix A: Subset Creation
Appendix B: Error Codes
ACSE Error Codes
Appendix C: Logging Tools
General Logging
File Logging
Memory Logging
Log Control Data Structure
File Control Data Structure
Memory Control Data Structure
IPC LOGGING
SLOG Global Variables and Constants
SLOG Functions
slog
slogHex
slogCloneFile
slogCloseFile
slogGetMemCount
slog_dyn_log_fun
slog_dyn_log_fun (cont’d)
slog_service_fun
slog_max_msg_size_set
slog_max_msg_size_get
sLogDumpMem
logCfgAddMaskGroup
logcfgx_ex
MMS-EASE Lite Log Levels
Appendix D: Memory Management Tools
Standard Memory Management
Dynamic Memory Allocation Functions
Pooled Memory Management Using SMEM
Source Code Changes
Build Process Changes
Appendix E: Linked List Tools
Link List Data Structure
Appendix F: GLBSEM Subsystem for Multi-Threaded Support
SISCO’s Global Mutex (Mutual Exclusion) Semaphore Macros
Mutex Semaphore Functions
gs_mutex_destroy
Event Semaphore Functions
gs_get_event_sem
gs_signal_event_sem
gs_pulse_event_sem
gs_wait_event_sem
gs_wait_mult_event_sem
gs_reset_event_sem
gs_free_event_sem
Thread Functions
gs_start_thread
gs_wait_thread
gs_close_thread
gs_start_thread
Appendix G: Utility Functions
Miscellaneous Functions
reverse_bytes
get_next_string
UTC Time Support Functions
asn1_convert_btod_to_utc
asn1_convert_utc_to_btod
Appendix H: Subnetwork API
Subnetwork Data Structure
Ethertype Data Structure
Subnetwork Functions
clnp_snet_init
clnp_snet_term
clnp_snet_read
clnp_snet_write
clnp_snet_free
clnp_snet_get_local_mac
clnp_snet_set_multicast_filter
clnp_snet_add_multicast_mac
clnp_snet_rx_all_multicast_start
clnp_snet_rx_all_multicast_stop
clnp_snet_get_max_udata_len
clnp_snet_get_type
clnp_snet_check_mac
clnp_snet_read_hook_add
clnp_snet_read_hook_remove
clnp_snet_frame_to_udt
Functions for IEEE 802.3 Tagged MAC frames (Ethertype)
etype_hdr_encode
Appendix I: MMS-EASE Type Description Language (TDL)
Simple Type Names
TDL Structure Control
Appendix J: IEC GOOSE Example Application Framework
Framework functions contained within iec_rx.c
iecGooseSubscribe
iecGooseSubscribe (cont’d)
iecGooseUnSubscribe
iecGooseLastRxDecode
get_goose_messages
chk_for_goose_msg
chk_iec_goose_timeout
Framework functions contained within iec_tx.c
iecGoosePubCreate
iecGoosePubDestroy
iecGoosePublish
start_trans_goose
retrans_goose
Appendix K: IEC61850 Product PICS