Fixed global common variable initialization to properly handle cases where a variable cannot be found in the save-by-name file but does not have an initial value
Made various changes to the GsmPifBld data dictionary builder utility:
Fixed crash during initialization of GsmExpSvr process
Added support for custom probe source DLLs to the ProbeSvr process
Made several additions to the tpriNtRt library:
Added tpriAppThread application thread class
Added StartTimer(), ElapUTimer(..), ElapMTimer(..) and ElapSTimer(..) functions
Added tpriProbeSrcVar class to support custom probe sources
Added tpriXmlFile class to support reading/writing XML files w/ data dictionary
Made various changes to the tpriGsmDDCom class in the tpriNtRt library:
Added additional overloaded mapGsm(..) function
Added structDef::getChild(..) function
Added structDef::getTypeStruct(..) function
Added varDef::getSize(..) function
Fixed getVarXxxPtr(..) functions to return correct size for strings
Added new GetDiagInfo(..), GetConnectInfo(..), and GetStatementInfo(..) functions to the tpriDbio class in the tpriNtRt library
Modified tpriIniFile::extractIniString(..) to replace all \” tokens in the output string with a single double-quotes character
Added code to tpriProcMgr class in the VS2008-version of the tpriNtRt library to force processor affinity to prevent issues related to high-speed clocks for different CPU cores drifting apart on hypervisor systems
Added tpriEgd GE EGD PLC driver class to the tpriPio library
Made various changes to the tpriVmic class in the tpriPio library:
Fixed bytes-per-second calculation to support different variable refresh rates
Fixed board initialization to detect actual memory size from board registers
Added getNodeID() and getMemSize() functions
Removed function declaration of non-existent tpriRdcSer::xmitMsg(..) function from header file to prevent compile & link errors
Fixed tpriTrendSrc::setTrendData(..) function to keep the memory buffer in sync with the disk buffer when the memory buffer rolls over due to a long delay in data collection
Made various changes to the tpriTrendTrig class:
Added VarIniChk utility process to list global common variables not present in a sysVars.ini file
Added VarIniSort utility process to alphabetically sort variables in the sysVars.ini file
Fixed ProbeSvr process to properly handle requests for variable min/max/init values
Fixed TrendMgr process to properly store all in-memory trend data when shutting down
Made various changes to support changing local Tsentry user password:
Added additional command line parameters to the NtRtSvc service process
Added ChangeTsentryPassword.cmd script
Modified CreateTsentryUser.cmd, CreateUser.vbs, and ConfigureTsecurity.cmd scripts
Added InstallNtRtSvc.cmd script for installing main Tsentry service
Made various changes to the TPRI.HMI.Controls.Shape and ActiveShape control:
Integrated codebase together so that ActiveShape inherits from Shape
Fixed Value property so that object is only updated & repainted if the value has changed
Fixed painting routines to prevent double paint calls while shape is blinking
Fixed blinking so that it remains consistent (if possible) when value has changed
Fixed TPRI.DataDictionary.VariableNamePrefix.StartOf(..) function to properly validate inputs
Made various changes to the TPRI.HMI.Controls.BarGraph class:
Added drawing of vertical axis ticks and labels to the TPRI.HMI.Controls.BarGraph control
Fixed various probe source properties to automatically request data for new variable
Added checks to prevent exceptions if multi-dimensional array is returned from host
Added BackBarProber and FrontBarProber properties
Modified TPRI.HMI.Controls.TrendAxisList to set the default axis label as the axis number
Modified TPRI.HMI.Controls.TrendPlayback to inherit BackColor and ForeColor from container
Made various changes to the TPRI.HMI.Controls.TrendCtrl control
Added ColumnWidths property to TPRI.HMI.Controls.LogMsg control
Added new control classes to the TPRI.HMI.Controls namespace in the TPRI.Core.dll assembly:
ActiveGrid
ArraySelector
BarGraphCollection
BlockDrawingBase
GridSetLoader
Label
LabelCollection
LevelDisplay
Line
MinMaxCutoff
MinMaxLimit
Multiplier
NumericUpDown
NumericUpDown2
ProbeGraph
ProbeGraphButton
Prober
ProbeX
SelectButton
StateList
StaticArrayProber
StaticArrayGraph2D
SummingJunction
Toggler
TrendGraph
Added new TPRI.Grid.GridSet class to the TPRI.Core.dll assembly
Added new TPRI.HMI.Forms.ProbeGraphForm class to the TPRI.Core.dll assembly
Added C1.Win.C1FlexGrid.2.dll assembly to distributed files
Made various changes to the TPRI.HMI.Controls.TextBox control:
Added AutoSubmit property
Added WriteValue property
Added EnableSAK property
Added VisibleSAK property
Changed SendBatchUpdates method to use internal probe manager reference is none is passed to the function
Made various changes to the TPRI.HMI.Controls.ComboBox control:
Added AutoSubmit property
Added EnableSAK property
Added VisibleSAK property
Changed SendBatchUpdates method to use internal probe manager reference if none is passed to the function
Made various changes to the TPRI.HMI.Controls.DataSetLoader control:
Added SaveSAK property
Added DeleteSAK property
Changed DataSetName property to be configurable at design time
Added DataSetNameChanged event
Modified Initialize(..) function to automatically load DataSetName file if defined
Added code to reset modified flag when user chooses not to save changes
Fixed data set load sequence so that requested data set is still loaded after user saves unsaved changes to the previous data set
Changed TPRI.HMI.Controls.TriggerDefLoader class so that trigger name is set when the data set name is changed instead of when the file is written to disk
Made various changes to the TPRI.HMI.Controls.CmdButton control
Added SendBatchUpdates property
Added CancelBatchUpdates property
Added EnableSAK property
Added VisibleSAK property
Made various changes to the TPRI.HMI.Controls.LinkLabel control:
Made various changes to the TPRI.HMI.Controls.ToggleButton control
Made numerous changes to the TPRI.HMI.Forms.DataDictForm form to support selection of multiple variables at once
Added new VariableNames property to the TPRI.HMI.Controls.DDVarSelect control
Made various changes to the TrendX screen & support classes:
Updated Gigasoft libraries to pegrp32d.dll v6.0.0.74
Increased the maximum number of trend axes from 6 to 16
Added ability to identify/highlight specific trend variables in graph
Added support for automatically scaling axes in trend graph
Added ability to clip variables to associated axis in multi-axis trends
Enhanced validation of graph width and sampling period in trend setup screen
Fixed determination of the number of significant digits used for the display of trend times
Fixed unhandled exception when setting AxisMin and AxisMax without any axes defined
Changed TrendX.UpdateTrendSet() from a private to a protected function
Made various changes to the ProbeX screen:
Added support for graphing scalar and 1-dimensional arrays to the screen
Added hotkeys for new variable, edit variable, edit new variable, and delete variable
Fixed initialization of format style when changing a comment to a variable
Fixed NtRtProcEd screen so that requested process is always selected by default
Made various changes to the Texplore screen browser:
Added support for automatic download & update of application files from host system
Added support for running in kiosk mode
Added display of date/time to title bar
Added print screen support
Fixed delayed updates of newly added Probe variables in situations where the specific variable had already been requested
Added GetFileSystemInfos(..) function to TPRI.NtRtInfo.INtRtInfo interface and TPRI.NtRtInfo.Host and Client classes
Fixed TPRI.DatabaseIO.DBIOServer and DBIOClient classes so that .NET remoting security is not required
Added global FindKnownColor(..) function to the TPRI.Core.dll
Optimized display update & repaint code in numerous HMI components to minimize CPU overhead and associated flicker when updating display
Added property description and category attributes in numerous HMI components