Domain Configuration - domain.cfg

  • Memory to form a domain.
  • Standard-Address Mode Enablers.
  • Sample domain.cfg file.
  • Custom address mode enablers.

Memory to form a domain

Accessible memory that can be read contiguously and that shares the same characteristics, are typically grouped together to form a domain.

Elements within a domain must be readable/writable by a single request to read or write via user_read_data and user_write_data .

Standard-Address Mode Enablers

An additional configuration file is required if an enabler uses the standard addressing scheme. The file, domain.cfg , defines the different types of memory supported for each device model. The file must exist in the %SITE_ROOT%\master and %SITE_ROOT%\data directories.

Use the domain names and domain indexes defined in this file when defining the starting address, size, and address type of standard domains in user_device_info .

The record format for this file is:

model|domain_name|domain_index

where the fields are defined as follows:

model ASCII string of up to 35 characters used to represent the device model.
domain_name ASCII representation of a type of device memory.
domain_index Unique number identifying domain.
Note: The maximum number of domains is defined by the symbol TOOLKIT_MAX_NUM_DOMAINS. The current value of the symbol is found in %BSM_ROOT%\api\include\inc_path\toolkit.h . This value should not be changed.

Sample domain.cfg File

The following is the domain.cfg file used by the Device Communications Toolkit API:

|-*
MODELA|REG_PLC|0
MODELA|INP_PLC|1
MODELA|OUT_PLC|2
MODELA|INOVR_PLC|3
MODELA|OUTOVR_PLC|4
MODELA|SP_PLC|5
MODELA|UL_PLC|6

Custom-Address Mode Enablers

  • If the enabler uses a custom mode of addressing, domain.cfg must still exist, but the file may be empty.
  • domain.cfg must exist in the %SITE_ROOT%\master and %SITE_ROOT%\data directories.
  • When creating an enabler, care must be taken to avoid conflicts with other existing custom enablers.
Note: Site and Application configuration must be run before the enabler can be used within CIMPLICITY software.