DCM config file - General file with several functions.

Purpose of the article is to provide a pick'n'choose DCM config file, that can be used as reference to build your specific config.



{
"ConfigName" : "Test1",
"ConfigDescription" : "My first test configuration",
"Collectors" : [
{
"CollectorName" : "Test1Collector",
"CollectorDescription" : "Testing with ModbusTools ModbusSlave",
"CollectorIPAddr" : "10.0.0.42",
"CollectorPortno" : 502,
"Protocol" : "ModBus\/TCP",
"ConnectRetryMin" : 2,
"ConnectRetryMax" : 240,
"ModbusAccess" : {
"ModbusFCs" : [
{
"ModbusFCID" : 3,
"ModbusFCSlaveAddress" : 1,
"ModbusFC" : "holding-registers",
"ModbusFCStart" : 0,
"ModbusFCCount" : 10,
"ModbusFCSampleInterval" : 10
}
],
"ModbusTimeout" : 1000
},
"SamplePoints" : [
{
"SampleName" : "Value1",
"SampleDescription" : "My first register",
"SamplesSaved" : 10,
"SampleDataType" : "uint16",
"ModbusValue" : {
"FCREF" : 3,
"FCOffset" : 0
}
},
{
"SampleName" : "Value2",
"SampleDescription" : "My second register",
"SamplesSaved" : 10,
"SampleDataType" : "int32",
"ModbusValue" : {
"FCREF" : 3,
"FCOffset" : 7
},
"SampleLowerLimit" : -8,
"SampleUpperLimit" : 2400,
"SampleLimitDiscard" : true,
"SampleLimitAlarm" : true
}
]
},
{
"CollectorName" : "Test2Collector",
"CollectorDescription" : "Testing with Prosys OPC-UA Simulation Server",
"Protocol" : "OPC-UA\/TCP",
"ConnectRetryMin" : 2,
"ConnectRetryMax" : 240,
"OPCUAAccess" : {
"OPCUASecurityPolicy" : "none",
"OPCUAUserTokenType" : "anonynmous",
"OPCUAPath" : "OPCUA\/SimulationServer",
"OPCUATimeStampPolicy" : "source"
},
"SamplePoints" : [
{
"SampleName" : "Value1",
"SampleDescription" : "My first bool",
"SamplesSaved" : 10,
"SampleDataType" : "bool",
"OPCUAObject" : {
"NodeIdNameSpaceIndex" : 2,
"NodeIdType" : "string",
"NodeIdString" : "Value1",
"OPCUASampleInterval" : 5
}
},
{
"SampleName" : "Value2",
"SampleDescription" : "My first Byte",
"SamplesSaved" : 10,
"SampleDataType" : "byte",
"OPCUAObject" : {
"NodeIdNameSpaceIndex" : 2,
"NodeIdType" : "numeric",
"NodeIdNumeric" : 2345,
"OPCUASampleInterval" : 2
}
},
{
"SampleName" : "Value3",
"SampleDescription" : "My first Int64",
"SamplesSaved" : 10,
"SampleDataType" : "int64",
"OPCUAObject" : {
"NodeIdNameSpaceIndex" : 2,
"NodeIdType" : "guid",
"NodeIdGuid" : "{123e4567-e89b-12d3-a456-426655440000}",
"OPCUASampleInterval" : 27
},
"SampleLowerLimit" : -23,
"SampleUpperLimit" : 24001,
"SampleLimitDiscard" : true,
"SampleLimitAlarm" : true
},
{
"SampleName" : "Value4",
"SampleDescription" : "My first String",
"SamplesSaved" : 10,
"SampleDataType" : "string",
"OPCUAObject" : {
"NodeIdNameSpaceIndex" : 2,
"NodeIdType" : "string",
"NodeIdString" : "StatusMessage",
"OPCUASampleInterval" : 1
},
"SampleLimitDiscard" : false,
"SampleLimitAlarm" : true
},
{
"SampleName" : "Value5",
"SampleDescription" : "A simulation counter",
"SamplesSaved" : 10,
"SampleDataType" : "int32",
"OPCUAObject" : {
"NodeIdNameSpaceIndex" : 5,
"NodeIdType" : "string",
"NodeIdString" : "Counter1",
"OPCUASampleInterval" : 1
}
},
{
"SampleName" : "Value3_AVG",
"SampleDescription" : "My first Aggregation",
"SamplesSaved" : 10,
"SampleDataType" : "uint64",
"Aggregation" : {
"Function" : "avg",
"Values" : [ "Value3" ],
"TriggerSample" : "Value3"
}
},
{
"SampleName" : "Value3_MAX",
"SampleDescription" : "My Second Aggregation",
"SamplesSaved" : 10,
"SampleDataType" : "uint64",
"Aggregation" : {
"Function" : "avg",
"Values" : [ "Test1Collector:Value2", "Value2", "Value3" ],
"TriggerSample" : "Value3"
}
},
{
"SampleName" : "Value3_Complex",
"SampleDescription" : "My Third Aggregation",
"SamplesSaved" : 10,
"SampleDataType" : "uint64",
"Aggregation" : {
"Function" : "compute",
"Expression" : "Test1Collector:Value2,256,*,Value3,+",
"TriggerSample" : "Value2"
}
}
]
},
{
"CollectorName" : "Another_Test1Collector",
"CollectorDescription" : "A copy of my first fictional collector",
"CollectorIPAddr" : "192.168.0.47",
"CollectorPortno" : 4711,
"Alias" : "Test1Collector"
}
],
"DataServers" : [
{
"DatasrvName" : "aws_iot",
"DatasrvProtocol" : "AWS\/MQTT",
"ConnectRetryMin" : 2,
"ConnectRetryMax" : 240,
"MQTTAWSParams" : {
"BrokerAddr" : "a1cn4k05gzdtcl.iot.us-east-2.amazonaws.com",
"BrokerPort" : 8883,
"RootCA" : "awsrootca1",
"DeviceCert" : "awsdevcert1",
"DevicePrivKey" : "awsdevpkey1",
"PublishInterval" : 60,
"TopicFormat" : "%d/%s"
},
"SampleList" : [ "Test1Collector:Value1", "Test2Collector:", "Test1Collector:Value2" ]
}
]
}
Creation date: 11/12/2019 14:16 (skr@secomea.com)      Updated: 11/12/2019 14:16 ()