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.
A customized text group provides the textual definitions of multistate values.
Syntax:
0=Zero$1=One$2=Two$3=Three$4=Four...

[Alarm Type]

Optional

Condition for issuing an alarm (see reference table below).
Syntax:
<AlarmType1>$<AlarmType2>$<AlarmType3>…
NOTE: If this field is not present, the datapoint will be imported with no alarms configuration.

[Alarm Value]

Optional

Value or (range of values) for which an alarm will be issued. The range is indicated by the dollar sign ($).
For example, 40$50 means an alarm value range between 40 and 50.
Syntax:
<AlarmValue1>$<AlarmValue2>$<AlarmValue3>…
The syntax for Between (BET) and Not Between (NBET) operators is: [Value1$Value2]
For multiple alarms that contain both Equals and Range alarms, the syntax should be: “10$[40$50]”

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\.
NOTE: A backslash (\) is used as level separator, and also at the beginning and at the end of the path.
The importer automatically adds the data point to the logical hierarchy path after the last separator.
Then, it adds the resulting hierarchy to the logical view root node in System Browser.
For example, if the datapoint Reg00 is associated with the hierarchy path \Site_A\Controller_1A\, the following logical hierarchy is presented in System Browser:
<Logical Hierarchy Root>\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.
The importer automatically adds the data point to the user hierarchy path after the last separator.
Then, it adds the resulting hierarchy to the logical view root node in System Browser.
For example, if the datapoint Reg01 is associated with the hierarchy path \Building_A\Area_1A\, the following user hierarchy is presented in System Browser:
<User Hierarchy Root>\Building_A\Area_1A\Reg01\.

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:
OnDemand_10sec
OnDemand_30sec
OnDemand_1min
PollAlways_10sec
PollAlways_1min
PollAlways_5min
PollAlways_10min
PollAlways_60min

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:

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