Customizing the Synchronization Process with SCADASync.ini

The SCADASync.ini file controls many aspects of the synchronization process. Some of the items you can customize include how log files are created and the frequency of synchronization. By default, the SCADASync.ini is located in the iFIX LOCAL directory. An example of the SCADASync.ini file appears below:

[SyncManager]

; EnableSIMFailureButtons=0

EnablePDBSyncButtons=1

TimeSyncRateMilliSeconds=15000

Port=53014

;IMPORTANT: On the Primary SCADA, this value must match the 'Port' setting on the Secondary SCADA

PartnerPort=53014

;WARNING: Changing this setting to disable PDB compression during synchronization can cause

;significant delays and undesirable behavior, especially with larger databases (PDBs).

UsePDBCompression=1

;Retry and Timeout settings for file synchronization messages

FileSendRetries=5

FileSendTimeOut=20000

 

;MMSync parameters govern synchronization from secondary to primary when Maintenance Mode is exited.

;By default, alarm acknowledgement sync and simulation register sync are enabled and the sync timeout is set to 60 seconds.

;See Electronic Books for more information about these parameters.

;MMSyncAlarmAcks=1

;MMSyncSimRegs=1

;MMSyncTimeout=60

 

[ScadaRoleMgr]

; default: 0 - to prevent this SCADA from checking client connections.

; Client pulling after failover should now be done by CONMGR. Old default was 60 seconds

ClientConnectionsCheckInterval=0

DelayAutomaticAfterManualSwitch=5

 

[FileSync0]

FIXDIR=PDBPATH

Inclusion="*.*"

Exclusion="*.TMP;*.EVS;~*.*;*.foo"

IdleTime=5000

Recursive=1

 

;Settings affecting the ScadaSync.log file

[LogFile]

DeleteOnStartup=1

;Set DebugLevel to 0 to minimize messages logged to file, 255 to write all debug messages in the log file

DebugLevel=0

;Set DailyLog to 1 to generate a log file with a new name each day

DailyLog=0

;Uncommenting this next line will force communication failure messages to be logged to the ScadaSync.log file,

;regardless of the DebugLevel setting. It will also override the DeleteOnStartup value to 1/Enabled

;Type=Comm

Key Descriptions of SCADASync.ini

The following table describes the keys available in the SCADASync.ini for customizing the SCADA synchronization process:

Section

Key

Description

[SyncManager]

EnableSIMFailureButtons

Specifies whether you allow a user to simulate a communication failure for the corresponding transport.

If the value is 1, buttons are enabled on the SCADA Sync Monitor Transport page and users are allowed to simulate a communication failure for the corresponding transport. A value of 1 is recommended only in a test environment.

If the value is 0 (the default), this simulation cannot occur.

Valid Entries: 0 or 1. The default value is 0.

EnablePDBSyncButtons

Specifies whether the Maintenance Mode button is available on the PDB Synchronization Information page of the SCADA Sync Monitor.

If the value is 1, the Enable/Disable Maintenance Mode button is available on the primary node.

If the value is 0, the Enable/Disable Maintenance Mode button is unavailable.

Valid Entries: 0 or 1. The default value is 1.

 

FileSendRetries

Specifies how many times a failed file transfer from the Primary to the Secondary will be retried.

Valid entries: 0 to 20.  The default value is 5.

 

FileSendTimeOut

 

Specifies the amount of time, in milliseconds, that the Primary waits for the Secondary to acknowledge receipt of a file being transferred.

Valid entries: 5000 to 60000. The default value is 20000.

 

MMSyncAlarmAcks

 

Enables or disables Maintenance Mode alarm acknowledgment synchronization.

Valid Entries:

 0 = Disable

 1 = Enable (default)

NOTES:

  • Absence of the parameter or setting the parameter to a non-zero value, enables the feature.  
  • This key is ignored on the secondary node.

 

MMSyncSimRegs

Enables or disables Maintenance Mode simulation register synchronization.

Valid Entries:

 0 = Disable

 1 = Enable (default)

NOTES:

  • Absence of the parameter or setting the parameter to a non-zero value, enables the feature.  
  • This key is ignored on the secondary node.

 

MMSyncTimeout

 

Enables, disables, or sets the timeout period for the simulation register synchronization. This key governs how long to wait for the simulation register synchronization to complete.

When disabled, the primary SCADA node waits indefinitely and will not exit Maintenance Mode until simulation register synchronization is completed.

Valid Entries:

 0 = Disable

 n = 1 to 300 seconds (default=60 seconds)

NOTES:

  • Absence of the parameter results in the default value.
  • This key is ignored on the secondary node.
  PartnerPort Specifies the port to connect to on the partner SCADA node for ScadaSync communications (for both UDP and TCP).  If a port is not specified in the INI file, the default value of 53014 will be used.
  Port

Specifies the port to use on this SCADA node for ScadaSync communications (for both UDP and TCP). If a port is not specified in the INI file, the default value of 53014 will be used.

NOTE: If the Port setting on the Secondary SCADA does not match the PartnerPort setting on the Primary SCADA, ScadaSync will not be able to establish communications and synchronization will not occur.

 

TimeSyncRateMilliSeconds

Represents the delay, in milliseconds, between each database synchronization. This setting has a default value of 15000. If your application requires faster updates, modify this setting (removing it will cause synchronization to occur as fast as possible).

IMPORTANT: Use extreme caution when modifying this setting. For example, with a RAMP block, if a data change occurs during this delay, your data may not be accurate when the synchronization occurs. Change this setting only if you have knowledge of the types of data your pictures reference.

  UsePDBCompression

Specifies if the in-memory PDB image will be zipped before being sent to the Standby partner node.

Valid Entries:

0 = Disable

1 = Enable (default)

NOTE: When this setting is enabled, ScadaSync.exe may consume slightly more CPU when it is preparing to send a PDB snapshot to the Standby SCADA.

IMPORTANT: It is recommended this setting be enabled, especially for large PDBs. Disabling this setting can lead to longer PDB synchronization times and delays in role switching.

[ScadaRoleMgr]

ClientConnectionsCheckInterval

The interval, in seconds, for the active SCADA node to verify that the iClients are pointing to the correct node.

The lower you set the time for the interval, the more you increase the network traffic.

This parameter should be set to 0 (disabled) on most SCADA nodes. It is only used on SCADA nodes that communicate with older iClients, which require dynamic connections to "pull" clients to the active SCADA node.

Valid Entries: 10 – 600. The default value is 0 (disabled).

DelayAutomaticAfterManualSwitch

The number of seconds that the SCADA Role Manager waits before it makes any active or standby decisions, after a manual switch.

Valid Entries: 2 – 60. The default value is 5.

[FileSync0]

FIXDIR

The iFIX directory that you want synchronized. iFIX 5.1 only supports the PDBPATH directory.

Valid Entries: PDBPATH

Inclusion

The list of files or a specified filter (each item in this list is separated by a semi-colon (;) mark) to send to the standby node when the file(s) change.

Default Value: “*.*”

Exclusion

The list of files or a specified filter (each item in this list is separated by a semi-colon (;) mark) to be excluded from the file synchronization. iFIX 5.1 only supports: "*.TMP;*.EVS;~*.*;*.foo"

Valid Entries: "*.TMP;*.EVS;~*.*;*.foo"

IdleTime

The number of milliseconds that a PDB file remains unchanged before it is sent from the active to the standby node after a failover occurs. The default value is 5000 milliseconds (5 seconds).

Default Value: 5000

Recursive

Specifies if the synchronization process should monitor sub-directories.

If the value is 0, sub-directories not monitored.

Valid Entries: 0 or 1. The default value is 1, and should not be changed.

NOTE: The sub-directory must exist on both the Primary and Secondary SCADAs for the Recursive setting to function properly.

[LogFile]

 

DebugLevel

Specifies whether debugging messages, shown in the Debug Log of the SCADA Sync Monitor, are sent to the SCADASync.log file.  

  • When the value is 0, no debugging messages are sent to the log file.  
  • When the value is 255, all debugging messages are sent to the log file.  

Valid Entries:  0 or 255.  The default value is 0.  

NOTE: Use this option carefully as there are many debugging messages.  The log file can become very large and fill up the SCADA's hard drive.

 

DeleteOnStartup

Specifies whether the log file is deleted on startup or if messages are added to the existing log when iFIX starts.

  • If the value is 1, the existing SCADASync.log is deleted when iFIX starts.
  • If the value is 0, new messages are appended to the existing SCADASync.log when iFIX starts.

Valid Entries: 0 or 1. The default value is 1.

NOTE: Use this option carefully as this file can become very large and may fill up the SCADA's hard drive.

  DailyLog

Specifies whether a new log file will be created each day, using the date in the file name.

Valid Entries:

  • 0 = Do not create a new log file each day (default).
  • 1 = Create a new log file each day.
  Type

Specifies whether communication failure debug messages should be logged to file, regardless of the DebugLevel setting. It also overrides the DeleteOnStartup setting to ‘1’/Enabled.

Valid Entries:

  • Communication or Comm = Enables described behavior.
  • No value = Disables described behavior (default).

 

See Also