config.json

Sepasoft MES Module Suite

Configuration Settings

The following settings are stored in the MES module resources in the Ignition gateway data directory:

<Ignition data directory>/config/resources/core/productiongateway/

Unix = data/config/resources/core/productiongateway/<feature>/config.json

The examples below illustrate valid configuration values. Replace example names, identifiers, paths, and values with those appropriate for your system.



production-settings/config.json

MES module settings for the user source, analysis database, analysis cache, and permissions for editing MES scripts.

JSON
{
  "analysisDatasourceName": "AnalysisDB",
  "analysisQueryCacheExpireDuration": 300,
  "analysisReadLockTimeout": 30,
  "authProfileName": "default",
  "authProfileAutoSync": true,
  "authProfileRefreshRate": 3600,
  "cacheInactiveMesObjectThreshold": 60,
  "cacheMaxMesObjectCount": 10000,
  "requiredRolesEditScripts": [
    "Administrator",
    "MESEngineer"
  ]
}


Name

Type

Description

analysisDatasourceName

string

Name of the Ignition database connection that stores historical analysis data. Multiple sites can share one analysis database for enterprise reporting. Stop production runs before changing this setting. Example: "AnalysisDB".

analysisQueryCacheExpireDuration

number

Number of seconds to keep analysis query results in cache. A larger value can reduce database load but increases the amount of time before new production data appears in analysis results. Example: 300 keeps results in the cache for five minutes.

analysisReadLockTimeout

number

Number of seconds to wait for the analysis engine when its configuration is being updated. Configuration updates can occur when equipment, equipment modes, equipment states, counters, or additional factors change. Example: 30.

authProfileName

string

Name of the Ignition user source used by the MES modules. Example: "default". A named user source is also valid, for example "EnterpriseUserSource".

authProfileAutoSync

boolean

When true, MES personnel are automatically synchronized with users in the configured user source. Example: true.

authProfileRefreshRate

number

Number of seconds between automatic user synchronizations. Used only when authProfileAutoSync is true. Minimum value: 300. Example: 3600 synchronizes users once per hour.

cacheInactiveMesObjectThreshold

number

Number of seconds an MES object can remain unaccessed in the cache before it is eligible to be removed. If the cache reaches its maximum size, objects can be removed sooner. Example: 60.

cacheMaxMesObjectCount

number

Maximum number of MES objects held in the cache. Increasing this value can reduce database reads but requires more memory. Example: 10000.

requiredRolesEditScripts

array of string

Roles allowed to edit MES event scripts in the Designer. A user must have at least one of the listed roles. An empty list allows users with any role to edit MES event scripts. Only the Enterprise Root can change this setting. Example: ["Administrator", "MESEngineer"].




enterprise-settings/config.json

Settings that define where the gateway resides in the enterprise hierarchy and control advanced synchronization, retention, and monitoring behavior.

JSON
{
  "enterprise": true,
  "parentGateway": "0:0:ParentGateway",
  "enterpriseGateway": "EnterpriseGateway",
  "equipmentServerSettings": [
    {
      "parentEquipmentPath": "Enterprise\\Site1",
      "equipmentName": "ProductionLine1",
      "equipmentUUID": "11111111-2222-3333-4444-555555555555"    
    }
    
  ],
  "knownChildGateways": [
    {
      "serverId": "0:0:ChildGateway",
      "equipmentServerSettings": [
        {
          "parentEquipmentPath": "Enterprise",
          "equipmentName": "Site2",
          "equipmentUUID": null        
        }
        
      ]
      
    }
    
  ],
  "localGateway": "0:0:LocalGateway",
  "previousLocalGateway": "0:0:PreviousGatewayName",
  "uniqueGatewayIdentifier": "SITE1",
  "isDataRetentionEnabled": true,
  "retentionPeriodInDays": 365,
  "verticalSyncLoopTime": 60000,
  "verticalSyncMaxPendingSaves": 10000,
  "threadCount": 4,
  "maxSyncKeys": 1000,
  "objectSyncCheckInterval": 15,
  "objectSyncChangeCount": 10000,
  "maxArtifactSizeKB": 10000,
  "isMonitoringEnabled": true,
  "isMonitoringDebugEnabled": false
}


Name

Type

Description

enterprise

boolean

Specifies whether the gateway is the Enterprise Root. When true, the gateway is the root of the enterprise. An Enterprise Root must have exactly one equipment item, and that item must have a name. Example: true. Use false for a non-root gateway.

parentGateway

string

Gateway Network address of the gateway's parent. An empty value means the gateway has no parent. A non-root gateway with a parent must also have equipment settings configured. Example: "0:0:ParentGateway". Use "" for a gateway without a parent.

enterpriseGateway

string

Name of the Enterprise Root gateway. Example: "EnterpriseGateway".

equipmentServerSettings

array

Equipment settings that place the gateway in the enterprise equipment tree. Equipment paths must be unique across gateways. An empty list is valid when the gateway is not part of an enterprise.

 parentEquipmentPath

string

Parent equipment path for this gateway's equipment item. Example: "Enterprise\\Site1".

 equipmentName

string

Local equipment name. Example: "ProductionLine1".

 equipmentUUID

string

Optional equipment UUID. Example: "11111111-2222-3333-4444-555555555555". May be null.

knownChildGateways

array

Child gateways already known to this gateway, including equipment settings recorded for each child. An empty list indicates that no child gateways are recorded.

 serverId

string

Gateway Network server ID of the child gateway. Example: "0:0:ChildGateway".

 equipmentServerSettings

array

Equipment settings recorded for that child.

  parentEquipmentPath

string

Parent equipment path for the child equipment item. Example: "Enterprise".

  equipmentName

string

Equipment name recorded for the child. Example: "Site2".

  equipmentUUID

string

Optional equipment UUID for the child. May be null.

localGateway

string

Current Gateway Network server ID for the local gateway. Example: "0:0:LocalGateway".

previousLocalGateway

string

Gateway Network server ID used by this gateway before its most recent local address change. Example: "0:0:PreviousGatewayName". An unchanged gateway might contain "".

uniqueGatewayIdentifier

string

Identifier used as a prefix for automatically generated lot numbers. It also distinguishes users originating from different gateways. The same identifier cannot be used by two gateways within the same enterprise. Example: "SITE1".

isDataRetentionEnabled

boolean

Enables or disables the data-retention cleaner. Example: true.

retentionPeriodInDays

number

Number of days to retain data. -1 means data is never deleted based on age. Example: 365. Use -1 to retain data indefinitely.

verticalSyncLoopTime

number

Interval, in milliseconds, at which the gateway sends values to its parent gateway. Allowed range: 100 to 3600000. Example: 60000.

verticalSyncMaxPendingSaves

number

Maximum number of value records that can wait to be saved during vertical synchronization. Minimum value: 1000. Example: 10000.

threadCount

number

Number of threads used for enterprise processing. Allowed range: 1 to 8. Example: 4.

maxSyncKeys

number

Maximum number of tag collectors checked during one synchronization pass. Minimum value: 10. Example: 1000.

objectSyncCheckInterval

number

Number of seconds between checks for MES object changes that need to be sent to other gateways. Allowed range: 1 to 3600. Example: 15.

objectSyncChangeCount

number

Maximum number of MES object changes sent during one synchronization pass. Allowed range: 1000 to 100000. Example: 10000.

maxArtifactSizeKB

number

Maximum artifact size, in kilobytes, handled by enterprise synchronization. Allowed range: 1 to 1048574. Example: 10000.

isMonitoringEnabled

boolean

Enables or disables MES monitoring. Example: true.

isMonitoringDebugEnabled

boolean

Enables or disables MES monitoring debug output. Example: false.





task-route-settings/config.json

Settings that determine which gateway executes analysis tasks and which gateway executes runtime tasks. An empty gateway name means the local gateway performs that work.

JSON
{
  "analysisGatewayName": "0:0:AnalysisGateway",
  "runtimeGatewayName": "0:0:RuntimeGateway"
}


Name

Type

Description

analysisGatewayName

string

Gateway Network name of the gateway that hosts analysis tasks. Example: "0:0:AnalysisGateway". Use "" to run analysis tasks on the local gateway.

runtimeGatewayName

string

Gateway Network name of the gateway that hosts runtime tasks. Example: "0:0:RuntimeGateway". Use "" to run runtime tasks on the local gateway.





mes-meta-data/config.json

Settings that identify the gateway in MES metadata.

JSON
{
  "changesetEnabled": true,
  "gatewayUUID": "12345678-abcd-4abc-9def-123456789abc"
}


Name

Type

Description

changesetEnabled

boolean

Specifies whether the gateway records MES object change sets. Example: true.

gatewayUUID

string

Stable UUID that identifies the gateway. The UUID is stored with MES metadata and recorded on change-log entries so changes originating from different gateways can be distinguished. If an ID does not already exist, the gateway uses the UUID associated with its enterprise equipment or generates a UUID. Example: "12345678-abcd-4abc-9def-123456789abc". Each gateway should have its own UUID.



Sepasoft MES Module Suite