Files
softbus_OPC/third_party/open62541/plugins/server_config.json5

204 lines
5.5 KiB
Plaintext
Raw Normal View History

2026-06-09 17:27:24 +08:00
// JSON 5 server configuration
{
// Server Description
buildInfo: {
productUri: "build.product.test.org",
manufacturerName: "Manufacture GmbH",
productName: "Product Name",
softwareVersion: "0.1.0",
buildNumber: "0.9.4",
buildDate: "2022-11-02T15:31:03Z",
},
// The applicationType is not just descriptive, it changes the actual functionality of the server.
// It just sets the value in the information model (https://reference.opcfoundation.org/Core/Part4/v104/docs/7.1).
applicationDescription: {
applicationUri: "urn:open62541.server.application",
productUri: "urn:product.test.org",
applicationName: {
locale: "en-EN",
text: "Test Application"
},
// Server = 0, Client = 1, Client&Server = 2, Discovery_Server = 3
applicationType: 0,
gatewayServerUri: "GATEWAY",
discoveryProfileUri: "DISC",
discoveryUrls: [
"opc.tcp://10.0.20.240:2017",
"opc.tcp://10.0.20.240:2018",
"opc.tcp://10.0.20.241:2020"
],
},
// Value is in milliseconds.
shutdownDelay: 5000.00,
// Verify that the server sends a timestamp in the request header.
// DEFAULT = 0
// ABORT = 1 /* Abort the operation and return an error code */
// WARN = 2 /* Print a message in the logs and continue */
// ACCEPT = 3 /* Continue and disregard the broken rule */
verifyRequestTimestamp: 0,
// Variables (that don't have a DataType of BaseDataType) must not have an empty variant value.
// The default behaviour is to auto-create a matching zeroed-out value for empty VariableNodes when they are added.
// DEFAULT = 0
// ABORT = 1 /* Abort the operation and return an error code */
// WARN = 2 /* Print a message in the logs and continue */
// ACCEPT = 3 /* Continue and disregard the broken rule */
allowEmptyVariables: 0,
// Networking
// Set up the local ServerUrls. They are used during startup to initialize the server sockets.
serverUrls: [
"opc.tcp://localhost:4840",
],
tcpEnabled: true,
tcp: {
tcpBufSize: 64000,
tcpMaxMsgSize: 0,
tcpMaxChunks: 0,
},
// Limits for SecureChannels
maxSecureChannels: 10,
maxSecurityTokenLifetime: 300000,
// Limits for Sessions
maxSessions: 50,
maxSessionTimeout: 3600000,
// Operation limits
maxNodesPerRead: 10000,
maxNodesPerWrite: 10000,
maxNodesPerMethodCall: 10000,
maxNodesPerBrowse: 10000,
maxNodesPerRegisterNodes: 10000,
maxNodesPerTranslateBrowsePathsToNodeIds: 10000,
maxNodesPerNodeManagement: 10000,
maxMonitoredItemsPerCall: 10000,
// Limits for Requests
maxReferencesPerNode: 0,
// Limits for Async Operations
asyncOperationTimeout: 120000,
maxAsyncOperationQueueSize: 1000000,
// Discovery Multicast
mdnsEnabled: false,
mdns: {
mdnsServerName: "mdnsServerName",
serverCapabilities: [
"LDS",
"NA",
"GDS"
],
mdnsInterfaceIP: "127.0.0.1",
mdnsIpAddressList: [
1,
2,
3
]
},
subscriptionsEnabled: true,
subscriptions: {
// Limits for Subscriptions
maxSubscriptions: 100,
maxSubscriptionsPerSession: 50,
publishingIntervalLimits: {
min: 100.0,
max: 3600000.0,
},
lifeTimeCountLimits: {
min: 3,
max: 15000
},
keepAliveCountLimits: {
min: 1,
max: 100
},
maxNotificationsPerPublish: 1000,
enableRetransmissionQueue: true,
maxRetransmissionQueueSize: 0,
maxEventsPerNode: 0,
// Limits for MonitoredItems
maxMonitoredItems: 0,
maxMonitoredItemsPerSubscription: 0,
samplingIntervalLimits: {
min: 50.0,
max: 86400000.0
},
queueSizeLimits: {
min: 1,
max: 100
},
// Limits for PublishRequests
maxPublishReqPerSession: 5
},
// PubSub Configuration
pubsubEnabled: true,
pubsub: {
enableDeltaFrames: true,
enableInformationModelMethods: true
},
// Limits for Historizing
historizingEnabled: true,
historizing: {
accessHistoryDataCapability: false,
maxReturnDataValues: 0,
accessHistoryEventsCapability: false,
maxReturnEventValues: 0,
insertDataCapability: false,
insertEventCapability: false,
insertAnnotationsCapability: false,
replaceDataCapability: false,
replaceEventCapability: false,
updateDataCapability: false,
updateEventCapability: false,
deleteRawCapability: false,
deleteEventCapability: false,
deleteAtTimeDataCapability: false,
},
// Reverse Connect
reverseReconnectInterval: 20000,
// Security Settings
// securityPolicies: [
// {
// policy: "http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15",
// certificate: "/path/to/certificate",
// privateKey: "/path/to/privateKey"
// },
// {
// policy: "http://opcfoundation.org/UA/SecurityPolicy#Basic256",
// certificate: "/path/to/certificate",
// privateKey: "/path/to/privateKey"
// },
// {
// policy: "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256",
// certificate: "/path/to/certificate",
// privateKey: "/path/to/privateKey"
// },
// {
// policy: "http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep",
// certificate: "/path/to/certificate",
// privateKey: "/path/to/privateKey"
// }
// ],
// secureChannelPKI: {
// trustListFolder: "/path/to/folder",
// issuerListFolder: "/path/to/folder",
// revocationListFolder: "/path/to/folder"
// },
// sessionPKI: {
// trustListFolder: "/path/to/folder",
// issuerListFolder: "/path/to/folder",
// revocationListFolder: "/path/to/folder"
// },
}