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:
|
|
MMSyncSimRegs |
Enables or disables Maintenance Mode simulation register synchronization. Valid Entries: 0 = Disable 1 = Enable (default) NOTES:
|
|
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:
|
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.
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.
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:
|
|
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:
|