S-Bus CSV Format
The data exchange file to import and export the S-Bus configuration (see ) is a Comma Separated Value file (CSV).
The CSV file includes three sections, which correspond with the Gateways/Controllers/Datapoints configuration levels (see Configuring the S-Bus Object Structure and Alarm Control).
The field separator is “,” (comma). The lines starting with “#” are comments and indicate the column title of each section.
Gateways Section
Data | Use | Description |
[IP address] | Mandatory | Gateway IP address. |
[Gateway ID] | Mandatory | Gateway unique ID. |
[Station] | Mandatory | Station numeric ID |
[Timeout] | Mandatory | IP communication timeout. Default is 1000 msec. Depending on the network, it may be adjusted to speed up or delay fault detection. |
[Retries] | Mandatory | Communication retries after a timeout error. Depending on the network, you may adjust this parameter to increase or decrease the numbers of retries. |
[Name] | Mandatory | Name of the gateway as it will appear in System Browser. |
[Description] | Mandatory | Description of the gateway as it will appear in System Browser (in brackets next to the name). |
[Function Name] | Optional | Name of the management station function associated with the gateway. See S-Bus Functions. |
[Logical Hierarchy] | Optional | Logical hierarchy path in the management station. For example, \Site_A\. |
[User Hierarchy] | Optional | User hierarchy path in the management station. For example, \Building_A\. |
Controllers Section
Data | Use | Description |
[Gateway ID] | Mandatory | Parent gateway ID. |
[Station Number] | Mandatory | Controller station unique ID |
[Name] | Mandatory | Name of the controller as it will appear in System Browser. |
[Description] | Mandatory | Description of the controller as it will appear in System Browser (in brackets next to the name). |
[Function Name] | Optional | Name of the management station function associated with the gateway. See S-Bus Functions. |
[Logical Hierarchy] | Optional | Logical hierarchy path in the management station. For example, \Site_A\Controller_1A\. |
[User Hierarchy] | Optional | User hierarchy path in the management station. For example, \Building_A\Area_1A\. |
DataPoints Section
Data | Use | Description |
[Gateway ID] | Mandatory | Parent gateway ID. |
[Station Number] | Mandatory | Datapoint station unique ID |
[Register Name] | Mandatory | Name of the PLC register. |
[Register Type] | Mandatory | Register type: R, R FLOAT or F |
[Register Address] | Mandatory | Register address |
[Read/Write] | Mandatory | Register direction: R or W. |
[Name] | Mandatory | Name of the datapoint as it will appear in System Browser. Aggregated datapoint s must have here the same aggregation object name. See Configuring the Datapoint Aggregations and Bitstring Splits. |
[Description] | Mandatory | Description of the datapoint as it will appear in System Browser (in brackets next to the name). |
[Alias] | Optional | Alias name of the datapoint. |
[Function Name] | Optional | Name of the management station function associated with the datapoint. See S-Bus Functions. |
[Min] | Optional | Minimum value of the datapoint (if applicable). |
[Max] | Optional | Maximum value of the datapoint (if applicable). |
[Resolution] | Optional | For real numbers (float), number of digits to display after the decimal separator. |
[ScalingFactor] | Optional | Register value multiplier. For example, 0.1 causes 185 to appear as 18.5. |
[Eng Unit] | Optional | Engineering unit of the value. |
[TextGroup] | Optional | Text Group created for the multistate datapoint. |
[Alarm Type] | Optional | Condition for issuing an alarm (see reference table below). |
[Alarm Value] | Optional | Value or (range of values) for which an alarm will be issued. The range is indicated by the dollar sign ($). NOTE: If this field is not present, the datapoint will be imported with no alarms configuration. |
[Logical Hierarchy] | Optional | Logical hierarchy path in the management station. For example, \Site_A\Controller_1A\Reg00\. |
[User Hierarchy] | Optional | User hierarchy path in the management station. For example: \Building_A\Area_1A\Reg01\. NOTE: A backslash (\) is used as level separator, and also at the beginning and at the end of the path. |
Message Text | Optional | Collection of messages provided by the field device. Syntax: Message Text 1$Message Text2. Message Text is not localizable. You can define different Message Texts for the corresponding Alarm Values of the register. |
Polling Rate | Optional | Set the polling rate, which can be OnDemand_<polling delay>, to only refresh the datapoint when it is displayed on a station (by an application such as Alarms, Trends, and Graphics), or PoolAlways_<polling delay>, to get a constant polling refresh, regardless of whether the datapoint is displayed. The valid options are: Note the following fallback default settings: If empty and no alarm is configured: OnDemand_1min If empty and the alarm is configured: PollAlways_10min If OnDemand_* and the alarm is configured: PollAlways_10min |
NameOwlBitString | Optional | Name of the OWL file (without .OWL extension) that contains the bitstring split mapping of information to acquire from the datapoint. See S-Bus Bitstring Split Mapping. |
Reference Information
Supported Alarm Type Operators
Alarm Type Operator | Operand | Meaning | Applicable Alarm Category |
EQ | = | equal to | Discrete |
NE | != | not equal to | Discrete |
LT | < | less then | Continuous |
LE | <= | less than or equal to | Continuous |
GT | > | greater than | Continuous |
GE | >= | greater than or equal to | Continuous |
BET | .. | between | Discrete |
NBET | !.. | not between | Discrete |
Note that:
- EQ is the only supported alarm type value for binary (Boolean) points.
- Only one alarm can be specified for binary (Boolean) points.
- Alarm configuration is ignored in the following cases:
- Discrete and continuous alarms are mixed.
- The number of alarm values/range is inconsistent in the alarm configuration columns.
- BET and NBET are not supported for items with state texts.
Example of CSV File
#[IP address],[Gateway ID],[Station],[Timeout],[Retries],[Name],[Description],[Function Name],[Logical Hierarchy],[User Hierarchy]
[Gateways]
192.169.10.64,150,0,5000,3,Gateway_1,Gateway_1,,,
#[Gateway ID],[Station Number],[Name],[Description],[Function Name],[Logical Hierarchy],[User Hierarchy]
[Controllers]
150,0,L_LC001_1,L_LC001_1,,,
#[Gateway ID],[Station Number],[Register Name],[Register Type],[Register Address],[Read/Write],[Name],[Description],[Alias],[Function Name],[Min],[Max],[Resolution],[ScalingFactor],[Eng Unit],[TextGroup],[SORIS Alarm Category],[Alarm Type],[Alarm Value],[Logical Hierarchy],[User Hierarchy],[Message Text],[PollingRate]
[DataPoints]
150,0,S_012Vb_012V_L00_GS_01_DMS_2000,F,2000,W,S_012Vb_012V_L00_GS_01_DMS_2000,S_012Vb F1593 - Sammmelstörung,TextAlias,,,,,,,0=Normal$1=Alarm,High$Low,EQ$EQ,0$1,\L\LC001\012Vb\012V\L12\MD01\,,Test Alarm 1$Test Alarm 2,PollAlways_5min,
150,0,S_012Vb_012V_L00_GS_01_DMS_2001,F,2001,W,S_012Vb_012V_L00_GS_01_DMS_2001,S_012Vb F1594 - Ersatz,TextAlias,,,,,,,0=Inaktiv$1=Aktiv,Danger,EQ,1,\L\LC001\012Vb\012V\L12\MD01\,,,OnDemand_30sec,
150,0,S_012Vb_012V_L00_GS_01_DMS_2002,F,2002,W,S_012Vb_012V_L00_GS_01_DMS_2002,S_012Vb F1597 - Grenzwert oben erreicht,TextAlias,,,,,,,0=Inaktiv$1=Aktiv,Life Safety,EQ,1,\L\LC001\012Vb\012V\L12\MD01\,,,PollAlways_10min,
150,0,S_012Vb_012V_L00_GS_01_DMS_2003,F,2003,W,S_012Vb_012V_L00_GS_01_DMS_2003,S_012Vb F1598 - Grenzwert unten erreicht,TextAlias,,,,,,,0=Inaktiv$1=Aktiv,High,EQ,1,\L\LC001\012Vb\012V\L12\MD01\,,,PollAlways_10min,
150,0,S_042Va_042V_L31_MT_01_Ersat,F,3,W,TEST_AGGREGATIONS_MT1,Desc AGGREGATIONS_MT1,TextAlias,,,,,,,0=Inaktiv$1=Aktiv,Trouble,EQ,1,\L\LC001\012Vb\012V\L12\MD01\,,,PollAlways_10min,
150,0,S_042Va_042V_L31_MT_01_Err_SaGroup,R,4001,W,TEST_AGGREGATIONS_MT1,Desc AGGREGATIONS_MT1,TextAlias,,,,,1,,,Fault$Emergency,EQ$BET,10$[20$40],\L\LC001\012Vb\012V\L12\MD01\,,Alarm Fault$Alarm Emergency,PollAlways_10min,
150,0,S_042Va_042V_L31_MT_01_Ersatzwert,R,4003,R,S_042Va_042V_L31_MT_01_Ersatzwert,Desc Ersatzwert,TextAlias prova,,,,,1,,,Medium$Trouble,EQ$BET,5$[10$15],\L\LC001\012Vb\012V\L12\MD01\,,Alarm Medium$Alarm Trouble,OnDemand_30sec,
150,0,S_042Va_042V_L31_MT_02_Err_SuGr,R,4004,W,S_042Va_042V_L31_MT_02_Err_SuGr,Desc Err_SuGr,TextAlias 1,,,,,1,,,Medium$Trouble,EQ$BET,5$[10$15],\L\LC001\012Vb\012V\L12\MD01\,,Alarm Medium$Alarm Trouble,OnDemand_30sec,
150,0,S_012Vb_012V_L00_GS_4009_Err_Test,R,4009,W,S_012Vb_012V_L00_GS_4009_Err_Test,Desc Err_Test,TextAlias 1,,,,,,,,Medium$Trouble,EQ$BET,5$[10$15],\L\LC001\012Vb\012V\L12\MD01\,,Alarm Medium$Alarm Trouble,OnDemand_30sec,
150,0,S_042Va_042V_L31_MT_02_Err_SaGroup,R,4005,W,TEST_AGGREGATIONS_MT2,Desc Err_SaGroup,TextAlias,,,,,1,,,Medium$Trouble,EQ$BET,5$[10$15],\L\LC001\012Vb\012V\L12\MD01\,,Alarm Medium$Alarm Trouble,PollAlways_10min,
150,0,S_042Va_042V_L31_MT_02_Err,R,4006,W,TEST_AGGREGATIONS_MT2,Desc Err,TextAlias,,,,,1,,,Medium$Trouble,EQ$BET,5$[10$15],\L\LC001\012Vb\012V\L12\MD01\,,Alarm Medium$Alarm Trouble,PollAlways_10min,
150,0,S_012Vb_012V_L00_GS_01_Err,F,2022,W,TEST_AGGREGATIONS_GS1,S_012Vb F1593 - Sammmelstörung,TextAlias,,,,,,,0=Normal$1=Alarm,High$Low,EQ$EQ,0$1,\L\LC001\012Vb\012V\L12\MD01\,,Test Alarm 1$Test Alarm 2,PollAlways_10min,
150,0,S_012Vb_012V_L00_GS_01_Ersat,F,2023,W,TEST_AGGREGATIONS_GS1,S_012Vb F1593 - Sammmelstörung,TextAlias,,,,,,,0=Normal$1=Alarm,High$Low,EQ$EQ,0$1,\L\LC001\012Vb\012V\L12\MD01\,,Test Alarm 1$Test Alarm 2,PollAlways_10min,
150,0,S_042Va_042V_L31_MT_02_Err_SuGr,R,4004,W,Scheduler_AIC,Desc Scheduler BitString,TextAlias 1,,,,,1,,,Medium$Trouble,EQ$BET,5$[10$15],\L\LC001\012Vb\012V\L12\MD01\,,Alarm Medium$Alarm Trouble,OnDemand_30sec,GMS_SBus_Aggregator_Bitstring_150