TSENTRY Real-time Control System Platform
http://www.tsentry.com
Version, Change, and Upgrade Information
TelePro, Inc.
3811 Illinois Ave. Suite 100
St. Charles, IL 60174
(630) 513-9790
(630) 513-9794 Fax
http://www.tpri.comFollowing is information about each official TSENTRY release, including a description of all the changes included with each release and instructions for upgrading from one version to the next.
...
Upgrading TSENTRY
Expand |
---|
|
In general, upgrading TSENTRY from one version to another requires the following steps: Stop any running TSENTRY processes Backup existing TSENTRY files Install new version of TSENTRY For versions 2.29 and below, copy new \tpriNtRt\ directory over existing directory For versions 3.00 and above, run the install wizard
Rebuild all application processes, screens, and the data dictionary
In some cases, however, additional changes are required; these are listed below by version. In some cases some steps must be taken before performing the above instructions, so please read below before continuing. If upgrading across more than one version (e.g. v1.4 to 2.0), steps for intermediate versions must also be performed. |
TSENTRY Versions
Expand |
---|
|
The major TSENTRY versions reflect support for the various versions of the Microsoft Visual Studio compiler: Visual Studio Version | TSENTRY Version | Visual Studio 2017 | TSENTRY v9.xx.x.xxxx | Visual Studio 2015 | TSENTRY v8.xx.xxxx | Visual Studio 2013 | TSENTRY v7.xx.xx | Visual Studio 2010 | TSENTRY v6.xx.xx | Visual Studio 2008 | TSENTRY v5.xx.xx | Visual Studio 2005 | TSENTRY v4.xx.xx | Visual Studio .NET 2003 | TSENTRY v3.xx.xx | Visual Studio 6.0 | TSENTRY v2.xx & v1.xx |
|
Version Details
Version Details
Expand |
---|
title | 2022/12/6 - v9.48.0.734 |
---|
|
Changes: Upgrade Instructions: Code Block |
---|
[Produce]
ProducerId=10.0.0.1
ProducerPort=18246
ThreadPriority=101 (typically this will be higher than the task's priority)
ThreadInterval=25 (ms rate) |
|
Expand |
---|
title | 2022/7/20 - v9.47.6.718 |
---|
|
Changes: |
Expand |
---|
title | 2022/6/6 - v9.47.5.703 |
---|
|
Changes: Made various changes to the ProbeSvr task: Added check to prevent message buffer overrun (TSEN-21) Added requirement for Initialize(..) and Shutdown(..) methods in custom probe sources (TSEN-23) Added support for writing new values back to custom probe sources (TSEN-27) Added support for relaying requests to other probe servers (TSEN-25) Fix server variable reference counting (TSEN-24)
Added new ProbeMir standard task (TSEN-29) Increased maximum allowed sizes for data dictionary (TSEN-28) Modified ControlLogix Producer/Consumer driver to use PLC’s Requested Packet Interval (RPI) when producing messages sent to PLC (TSEN-26) Fixed unhandled exception in tpriGsmDDCom::saveAllStructs(..) (TSEN-30) Fixed save/restore of bool types in data dictionary (TSEN-31) Restructured LogMsg library to facilitate usage outside of Tsentry (TSEN-35) Refactored tpriCreateTimer(..) so that multiple independent timers can be created from a single task (TSEN-36) Updated RTX64 4.1 à → 4.2
|
Expand |
---|
title | 2021/9/28 - v9.47.4.613 |
---|
|
Changes: Automatically set Windows timer resolution for tasks with rep rates less than 50 ms (TSEN-20) Added a ValidatingClick event to SelectButton, CmdButton, LinkLabel, and Shape (TSEN-22) Added deployment of OPC library and Client+Server applications (for x86 only) Updated RTX64 4.0 à → 4.1
|
Expand |
---|
title | 2020/11/13 - v9.47.2 |
---|
|
Changes: Added overload to TPRI.Process.GetState(..) in TPRI.NtRtControl.dll to specify application name Fixed converting legacy trend data files Removed support for v1.70 and older trend data files Enable graphics double-buffering for LevelDisplay HMI control Fixed 64-bit issue in ControlLogix producer/consumer library
|
Expand |
---|
|
Changes: Added support for RTX64 4.0 Updated tpriProcMgr tracking of active processes Created new wrapper methods in tpriNtRtEx.dll tpriCreateProcess tpriOpenProcess tpriGetExitCodeProcess tpriCloseHandle tpriTerminateProcess
Added various enhancements to the data dictionary & GsmPifBld: Added support for bool types Added support for bitfields Added support for embedded structures
Added various enhancements to the GsmCsBld utility: Added support for bool types & bitfields Added helper methods to every structure class: Added FromHexString(..) extension for strings
Added new tpriTimer functions: Act*Timer(..) Exp*Timer(..)
|
Expand |
---|
|
Changes: Fixed trending structures size for compatibility between 32-bit and 64-bit library versions Added Cryptor class to NtRtControl Made various changes in the GsmCsBld utility: Add IEnumerable<T> interface to array classes Add comments to generated C# code using data dictionary variable descriptions Add GSM boolean extension methods
Made various changes to GePlc driver: Retry logic for handling errors during sending data Additional debug log messages Do not explicitly set socket to non-blocking Set initial connection port pseudo-randomly
Added logging of Tsentry uptime Increased limit of files paths used in sysProcs.ini file
|
Expand |
---|
title | 2019/2/26 - v9.43 / v8.43 |
---|
|
Changes: Added GsmCsBld utility Exposed various methods in TPRI.NtRtControl.dll required for C# Tsentry tasks: Added support for Tsentry restart request Added DelayBool utility function Added 'Localizable' attribute to the text properties of various HMI controls Added ability to update Texplore titlebar text
|
Expand |
---|
title | 2018/6/28 - v9.42 / v8.42 / v7.42 |
---|
|
Changes: Added support for VS2017 & 64-bit Made various changes in the TPRI.NtRtControl assembly: Changed Tsecurity authentication to call LogonUser(..) using LOGON32_LOGON_NETWORK instead of LOGON32_LOGON_INTERACTIVE Fixed LogData(..) to properly handle buffer as binary data instead of a text string Fixed ProbeSvr to prevent data corruption resulting from network delays and/or time skew Removed DbgHelp.lib from Tsentry installation (now included on all Windows platforms)
|
Expand |
---|
title | 2017/1/16 - v8.41 / v7.41 |
---|
|
Changes: Added support for VS2015 & RTX2016 Made various changes to the Texplore application: Fixed download of Texplore assemblies from host to prevent conflict if Texplore is already running with an older version of the assemblies Fixed sequencing to return to ‘Connect’ screen if unable to start an HMI application Fixed initialization of window positions from .ini file when automatically connecting via command line parameters Fixed initialization of window size and position for normal, maximized, and kiosk modes Disabled popup message if exception while saving Texplore settings to .xml file Added option to specify different computer (from HMI host) for retrieving probe data
Made various changes to the ProbeX control/screen: Allowed paste of a textual list of variable names Fixed flickering/delay when adding or removing a large number of variables from the list Fixed corruption of grid data when loading a very large probeset Fixed display of 0’th element of array in graph Fixed cut/copy/paste shortcut keys when editing variable names & values Fixed left-justify of all text in cells
Made various changes to the TPRI.Debug class in the TPRI.NtRtControl assembly: Added TPRI.GsmDDCom.SetVariable(..) method in the TPRI.NtRtControl assembly Added auto-validation of min/max to TPRI.HMI.Controls.TextBox Fixed TPRI.HMI.Controls.ComboBox auto-submit logic so that new value is only sent to host after the selection change is committed Fixed TPRI.HMI.Controls.StateList to support use of control on sub-panels instead of only on forms Fixed TPRI.HMI.Controls.DataSetLoader to ignore the mouse wheel when the dropdown list is collapsed Fixed TPRI.HMI.Controls.LogMsg control so that it automatically reconnects if LogMsgName is changed at runtime Fixed TPRI.HMI.Controls.StaticArrayGraph2D control so that data at x=0 is properly displayed Added TPRI.HMI.Controls.DBViewer control Removed deprecated controls and dependencies from the TPRI.Core assembly Updated ComponentOne version to v2.6.20073.357 Made various changes to the ProbeSvr process: Converted connection handling from dedicated threads to a thread pool Fixed TCP/IP listen logic so that all pending connections are accepted at once instead of once per loop of the main thread Fixed memory leak when handling requests for array or string variables Added delay before retry if error opening listen socket
Fixed printing of Unicode text when displaying current NtRtSvc configuration parameters Made various changes to the tpriGsmDDCom library: Added support for message number, object name, and user to the LogMsg(..) function library Fixed concurrency issue when calling LogMsg(..) from multiple threads Fixed tpriGsmOpcItem::ReadGsmOpcItem(..) so that value is only written back to global common if quality is ‘good’ Updated tpriVmic driver so that latest VMIC 5565 drivers are used in Win32 mode Made various changes to the Tsentry and Tsecurity installers: Fixed tpriProc::Create(..) so that the C runtime error report mode is set properly when compiling applications in debug mode vs. the release version of tpriNtRt.lib Change RDCHANDLE typedef used by tpriRdc classes from unsigned to signed in order to support legacy code setting the value to -1 Fixed logging of stack trace information after crash (bug introduced with conversion to Unicode) Fixed parsing of historical trend trigger files with headers larger than 16 kB
|
Expand |
---|
title | 2014/8/13 - v7.40.00 |
---|
|
Changes: Initial release for VS2013 Modified installer to deploy Release-mode versions of all executables and libraries Rebuilt all executables and libraries for Unicode instead of MBCS Changed all projects to use CRT and MFC as shared DLLs instead of static libraries
Upgrade Upgrade Instructions: |
Expand |
---|
title | 2014/5/30 - v6.35.00 |
---|
|
Changes: Made various changes to the Texplore application: Moved Texplore.exe.config file from same folder as Texplore.exe to user-specific folder Fixed restore of minimized/maximized window state when application is stopped & restarted Added automatic retry of host connection after error Fixed display of new & old windows when spawning a new instance of the executable Automatically download all sub-folders and files when downloading application to client workstation
Removed user interface window from TrendSrv process Fixed cleanup of socket handles in tpriCleip class
Upgrade Instructions: |
Expand |
---|
title | 2013/12/18 - v4.34.00 / v5.34.00 / v6.34.00 |
---|
|
Changes: Made various changes to the TrendX screen & controls: Changed automatic axis rescaling to use data between cursors rather than entire trend width Added Rescale all axes popup menu item Reworked logic for reallocating axis percentages when changing value for single axis Fixed automatic update of displayed axis percentage when dragging axis in graph Fixed TrendX error message following restarts when playing data backwards in ‘<’ mode Fixed bug in auto-abbreviation of variable names listed in a trendset Fixed display of time & axis min/max popup boxes when viewing on non-primary monitor
Fixed data dictionary form to properly display dictionary browser popup window when viewing on non-primary monitor Fixed Texplore/Tsecurity handling of DefaultPrivileges key in application configuration XML files when Tsecurity is disabled Made various changes to the Tsecurity GetPrivileges(..) function: Fixed bug that would incorrectly set an error flag in SAK instead of return status Added code to reset returned SAK and privileges upon function entry so that default values are returned in these variables in case of error
Fixed crash in Tsecurity service when authenticating domain users on Windows 2008 and later Made various changes to the Texplore application: Changed TPRI.HMI.Controls.Prober class ProberUpdated event declaration to explicitly specify a ProberUpdatedEventArgs argument instead of the generic EventArgs Changed NtRtInfo.ReadFile(..) to open file for both read & write sharing Added popup message to TPRI.HMI.Controls.LogMsg if error retrieving LogMsg text file Added Prober and WriteProber properties to the TPRI.HMI.Controls.SelectButton class Added new tpriLicense::VerifyWithPCName(..) and TPRI.License.VerifyWithPCName(..) functions Added new tpriOpcClient class library Added new TPRI.NtRtControl assembly Fixed buffer overruns when logging messages longer than 512 bytes via LogMsg(..) Made various changes to the tpriProc class: Made various changes to the tpriGsmDDCom class: Changed getVarDesc(..) function so that structure-based description is returned if variable is defined in the sysVars.ini file but description is left empty Added new getVarTypeName(..) overloaded method Added new getBaseVType(..) method Added structDef::getStruct(..) method Added structDef::getBaseStruct(..) method Modified getVarArrDim(..) and getVarArrDimCnt(..) to retrieve parameters for base structure type to support cases where one structure is typedef’ed to another Changed structDef::getBaseVType(..) to set VT_ARRAY bit instead of returning VT_ILLEGAL for array types Added new additional optional parameters to the writeVariant(..) function Added new logWriteVar(..) function
Fixed size of buffer passed to getsockopt(..) functions in tpriRdcTcp::open(..) function Made various changes to the GsmPifBld process: Added code to replace defines after closing braces (‘}’) and before the end of the line to remove attribute decorators required by non-Microsoft compilers Fixed handling of commented pre-compiler directives in sections of header files already excluded due to a previous #if xxx statement Fixed handling of #elif defined statements Fixed parsing of compiler directives to prevent buffer overrun Fixed string manipulation routines to guarantee proper null termination
Fixed NtRtMgr process so that process groups are correctly shown as stopped when shutting down the system Fixed tpriCleanDir(..) function to prevent corruption of passed search pattern buffer Fixed buffer overrun bug in tpriTrigFile::readTriggerDef(..) that would use previously loaded data for the current file Added optional parameter to tpriCleip::SetTimeOut(..) function to set the internal polling interval Changed buffer pointer parameter in DumpHex(..) function from signed/unsigned char * to void * Added new tpriPing class to tpriNtRt and tpriNtRtApp libraries Added support for hard real-time RTX 2012 under VS2010 Changed installers from Astrum to NSIS
|
Expand |
---|
title | 2011/5/3 v4.33.00 / v5.33.00 / v6.33.00 |
---|
|
Changes: Fixed TPRI.PIO.ControlLogix class to force cleanup of unmanaged memory Added new tpriLicense class to the tpriNtRt library Added new TPRI.License class to the TPRI.NtRtNET library Fixed internal probe libraries to properly handle non-ASCII characters in string variables Removed tpriCryptor class from RTSS version of tpriNtRt and tpriNtRtApp libraries Fixed internal handling of process Pulse Timeout parameter to correct operation in various scenarios Decreased priority of RTSS timer and shutdown threads from 127 to 120 to prevent conflict with higher-priority interrupt handlers Removed dynamic memory allocation from LogMsg(..) function internals Fixed TsecurityCfg application to prevent crash while editing browse users Remove digital signature from ComponentOne assembly to prevent delay when opening HMI screens on computers w/out an internet connection
|
Expand |
---|
title | 2011/3/8 - v4.32.00 / v5.32.00 / v6.32.00 |
---|
|
Changes: Added functions to convert TrendSets to ProbeSets and vice-versa and added popup menu links to TrendCtrl and ProbeX TPRI.HMI.Controls classes Fixed logic asking user to save changes to ProbeSet/TrendSet/TriggerDef to first check if user has privileges to save file Fixed internal screen history tracking logic in Texplore when screen change is cancelled Fixed initialization of internal pointers within TPRI.Trending.TrendSet classes Added logic to TPRI.HMI.Controls.TrendCom to automatically resize internal buffers for extremely large TrendSets Optimized grid repainting when performing multiple row operations in the TPRI.HMI.Controls.ProbeX control Added GetLogMsgList(..) method to the TPRI.NtRtInfo.INtRtInfo interface and host/client classes Added popup menu items to the TPRI.HMI.Controls.LogMsg control to support the download and display of old log files Made numerous changes to the TPRI.HMI.Controls.TrendCtrl control: Changed logic for default variable label to use shortest possible unique string instead of fully qualified variable name Fixed axis min/max/pct editor control to automatically place focus in axis minimum cell rather than leaving active edit on axis label cell Modified popup menu to display current trend source as part of text for “Change Trend Source” menu item
Modified initialization TPRI.HMI.Forms.TrendSrcSelectForm to automatically highlight last selected trend source Modified NtRtMgr process and TPRI.NtRtCmd.ShutdownSystem(..) HMI function to support completely shutting down or rebooting the host system Made various changes to the GsmPifBld process: Added support for header file-based variable descriptions stored in the sysStruct.ini file for use by the data dictionary Fixed processing of comments within compiler directives Added support for #if defined, #if !defined, and #if !XXX compiler directives Added deadlock detection to prevent process from entering infinite loop
Made various changes to the tpriGsmDDCom class: Added & modified numerous functions to add support for header file-based variable descriptions Increased size of memory allocated for data dictionary global common Added static parseValue(..) functions to each varDef-derived class Fixed internal data dictionary lookup function to properly indicate when a structure or variable property is not defined Changed varDef::getDefaultFormat(..) to return simplified formatting strings Changed formatting for double-precision floating point variable return by varDef::getDefaultFormat(..) to explicitly request 16 digits of precision Fixed parsing of sysVars.ini file to truncate variable descriptions longer than the maximum allowed string length rather than generating an error
Fixed parsing of long command line parameters from sysProcs.ini in the tpriProcMgr class Made various changes to the VarIniChk application Added code to automatically populate variable descriptions using new data dictionary functions that extract comments from header files Corrected default formatting string for 64-bit integers to “%I64d” Changed default formatting string for single (4-byte) floating point variables to “%g” Changed default formatting string for double (8-byte) floating point variables to “%.16g”
Fixed tpriIniFile::extractIniString(..) to prevent accessing outside of original string when called repeatedly processing a single buffer Modified tpriXmlFile::WriteNodeStruct(..) to support outputting structure entries directly under the root XML node Made numerous changes to probe system components: Modified client-side message processing to prevent deadlocks when both client and server have large amounts of data to transmit Fixed client-side mutual exclusion bug that could cause application to crash while processing variable updates from host Modified tpriProbeSrcVar class to add support for locally-allocated variable data and updated internals of ProbeSvr process to support these variables Optimized memory allocation and functions for internal variable collections Added SendTimeout parameter to sysProbe.ini initialization file for ProbeSvr process
Made numerous changes to historical trending components: Fixed playback routines so that variables recorded at different rates are properly synchronized in time when displayed in TrendX Fixed data collection so that variables are saved to the historical trending file at the requested sampling period Fixed timestamps of real-time data buffered to disk-based circular files Fixed timestamps of recorded data so that they are not skewed by the extra invalid points added to the end of the file to fill the final 8-point block Fixed routines that convert binary historical trend file to text so that invalid data points at the end of the buffer are omitted from the output text file Fixed TriggerConditionList and TriggerTrendList to properly configure trend source for first variable when adding multiple variables with different trend sources from data dictionary
Made numerous changes to various Tsecurity components: Added support for named privileges defined in the ASCF’s Added GetPrivileges(..) and GetAppPrivileges(..) functions to the TPRI.Tsecurity.ITsecurity interface Added Connect(..), GetPrivileges(..), and GetAppPrivileges(..) functions to the TPRI.Tsecurity.Client class Added TPRI.Tsecurity.Controls.PrivilegePropertyEditor class for use in selecting required privilege levels in properties of numerous HMI controls Added storage of full user names in ASCF’s Added user access report generation in the ASCFEditor application Added HostName, Initialized, and Connected properties to the TPRI.Tsecurity.Client class Added NotConnected to the list of TPRI.Tsecurity.ErrorCode enumerated values Modified ASCFEditor to automatically fill in user name and domain based on current Windows login credentials
Replaced old VB6 function calls with official .NET equivalents in various sections of code
|
Expand |
---|
title | 2010/10/11 - v4.31.00 / v5.31.00 |
---|
|
Changes: Fixed TPRI.HMI.Controls.TrendCom control to force IPv4 connection to host system Fixed unhandled exception when deleting last axis in TPRI.HMI.Controls.TrendCtrl control Changed display of date/time in trend source selection form to use 24-hour display of time rather than 12-hour with AM/PM Added DefaultSource property to numerous TPRI.HMI.Controls and TPRI.HMI.Forms trending-related classes Fixed popup message question in numerous TPRI.HMI.Controls classes when expansion of data dictionary name would produce too many new entries Fixed display of [+/-] tree expansion icon for array variables in TPRI.HMI.Controls.ProbeX control after disconnecting and reconnecting to host Changed all TPRI.DataDictionary.VariableNamePrefix known prefix constants from single characters to strings Disabled display of historical trends when selecting trend source in TPRI.HMI.Controls.TriggerConditionList and TriggerTrendList controls Made various changes to the NtRtMgr HMI screen: Made various changes to the Texplore application: Added support for dynamically-created IProber objects added to collection of HMI application variables Fixed auto-update functionality so that automatic updates will continue work after disconnecting from an HMI application
Modified tpriTimer routines so that absolute timer values can be referenced between machines using the wall clock at the time of system startup Fixed memory leak in tpriTrigFile class Fixed possible string buffer overrun while saving list of active triggers in tpriTrigTrend class Change routines used to convert historical trend files to ASCII to format dates using 4-digit year Made various changes to the tpriCleanDir function: Added new tpriCleanDirThread function Made various changes to the tpriGsmDDCom class:
|
Expand |
---|
title | 2010/5/4 - v4.30.00 / v5.30.00 |
---|
|
Changes: |
Expand |
---|
title | 2010/5/1 - v4.29.00 / v5.29.00 |
---|
|
Changes: Added new classes to the TPRI.DataDictionary namespace: Made various changes to the TPRI.DataDictionary.TranslateVariableEventArgs class: Added Variables As DataDictVariableCollection property to both the TPRI.HMI.Forms.DataDictForm and TPRI.HMI.Controls.DDVarSelect classes and updated dependent classes to take advantage of additional variable source (dictionary) information Added TrendSetChanged events to both TPRI.HMI.Controls.TrendCtrl and TrendGraph controls Changed BackColor property of TPRI.HMI.Controls.TextSelectBox and DDVarSelect controls to default to ambient value instead of White Made various changes to the TPRI.HMI.Controls.TriggerScalarList control: Fixed initialization of TPRI.HMI.Controls.TriggerEditor class to force File Tag entry field to use “TsentryGsm” data dictionary Added TrendSourceChanged event to TPRI.HMI.Controls.TrendCtrl control Made various changes to the TPRI.HMI.Controls.StaticArrayGraph3D control: Made various changes to certain StringCollection-type properties in numerous TPRI.HMI.Controls classes: Changed property designer serialization to save content rather than using resource files Added property editor attribute to use standard .NET StringCollectionEditor Added checks for setting property value to Nothing and instead reset to empty collection
Made various changes to the tpriGsmDDCom::fmtVar(..) function: Fixed handling of shutdown options in NtRtMgr process to prevent application exception when shutting system down via Texplore with the console GUI disabled
|
Expand |
---|
title | 2010/4/13 - v4.28.00 / v5.28.00 |
---|
|
Changes: Made various changes to the NtRtInfo service and TPRI.NtRtInfo.INtRtInfo class: Made various changes to the TPRI.NtRtInfo.Client class: Modified Probe client objects to increase stale data timeout from 1 second to 3 seconds
Upgrade Instructions: |
Expand |
---|
title | 2010/4/5 - v4.27.00 / v5.27.00 |
---|
|
Changes: Made various changes to the TPRI.HMI.Controls.Prober class: Implemented IAdjustableDataSource interface Added new EnableAdjustDataSources property Modified ProberName property to return class name if located on a form
Made various changes to the TPRI.HMI.Controls.StaticArrayProber class: Implemented IAdjustableDataSource interface Renamed MinInterval property to RequestDelayInterval Added RequestDelayCount property Added attributes to all designer properties so that the designer code for the parent object is correctly updated when a property value is changed
Removed IAdjustableDataSource interface from TPRI.HMI.Controls.StaticArrayGraphBase class Made various changes to the TPRI.HMI.Controls.StaticArrayGraph2D class: Changed internal graph object from standard to scientific graph Fixed X-axis labels when ArrayStep is set to a value other than zero Fixed cleanup of graph display when array data is reset Added Autoscale option to right-click popup menu Added numerous properties to support graph configuration in designer
Made various changes to the TPRI.HMI.Controls.StaticArrayGraph3D class: Made various changes to the TPRI.HMI.Controls.StaticArrayGraphContour class: Added code to hide null data values Added maximize and customization items to popup menu Added numerous properties to support graph configuration in designer
Made various changes to the TPRI.HMI.Controls.ProbeGraph class: Changed internal graph object from standard to scientific graph Added support for automatically retrieving x-axis labels via new XPosProbeSource property Added support for multiple plotted arrays with new AttachProber(..) method Added code to automatically redraw the graph when changing the GridLineControl property Removed IAdjustableDataSource interface (now directly handled by Prober)
Updated TPRI.HMI.Controls.ProbeGraphButton control for changes to underlying ProbeGraph Made various changes to the TPRI.HMI.Controls.TrendCtrl class: Added support for cut/copy/paste/delete of variables and axes Fixed bugs in “Set Current Scaling as Original Scaling” functionality Fixed bugs in auto-scale functionality Automatically use last trend source when adding new variables Added support for showing metadata for historical trends Set graph font size to large Fixed grid initialization to correctly use ColumnWidths property values Updated trend variable color selector user interface Added fixes to internal forms to prevent loss of focus when editing trendset
Made various changes to the TPRI.HMI.Controls.TrendGraph class: Added Initialized property to the TPRI.HMI.Controls.DataSetLoader control Made various changes to the TPRI.HMI.Controls.ActiveGrid control Modified initialization sequencing so that GridSetLoader is only initialized once Added support for multiple data source adjustment functions Added Grid property to expose reference to internal grid object
Modified default values for TPRI.HMI.Controls.Shape ShapeFill and ShapeBorder properties to prevent Empty colors from appearing in designer code Added new TPRI.DataDictionary.ExpandOptions enumerated type to the TPRI.Core.dll assembly and replaced ExpandArray properties in various classes with new ExpandOptions properties Made various changes to the TPRI.HMI.Forms.TreeDataDict class: Made various changes to the TPRI.HMI.Forms.VariableNamePrefix class: Made various changes to the TPRI.HMI.Forms.DataDictForm class: Optimized internal functions to improve performance when working with large data dictionaries and historical trend files Modified data dictionary search functionality to allow dots and brackets in search strings Fixed internal logic to prevent variable expansion if multiple variables are not allowed Changed list of available data dictionaries to use sortable multi-column display
Modified TPRI.HMI.Forms.TrendSrcSelectForm to use sortable multi-column display for list of historical trend files Made various changes to the TPRI.NtRtInfo classes: Added new control classes to the TPRI.HMI.Controls namespace in the TPRI.Core.dll assembly: Added new TPRI.Trending.TriggerFile class to the TPRI.NtRtNET.dll assembly Modified TPRI.HMI.Controls.ArraySelector MinIndex and MaxIndex properties to automatically adjust Index if outside new min/max Added new global function TPRI.HMI.Controls.FormatValue(..) Modified TPRI.HMI.Application.Explorer.AdjustVariableIndex(..) function to check for forward slashes in the variable name and ignore all characters preceding the slash Added new TPRI.HMI.Application.Explorer.AdjustDataSourceDelegateCollection class to the TPRI.Core.dll assembly Removed TPRI.HMI.Forms.TrendInsDelForm class from TPRI.Core.dll assembly Added BadValue to the TPRI.Probe.ErrorCode enumerated type Made various changes to the TPRI.Probe.ProbeMgr class: Modified NtRtMgr screen to support small display sizes Fixed NtRtProcEd screen to support extremely long file names Made various changes to the ProbeX screen: Made various changes to the Texplore application: Fixed Texplore.AdjustDataSources(..) function to find all objects implementing the IAdjustableDataSource interface (instead of only finding child controls controls) Fixed auto-download functions to prevent exception if %APPDATA% environment variable does not exist Updated ‘Tools’ toolbar icon
Modified NtRtInfo and Tsecurity service installers to support running as LocalSystem, LocalService, or NetworkService accounts Modified NtRtSvc service to support installation for LocalSystem user Made various changes to the historical trending functionality: Added support naming historical trend files using variable values from global common Added support for recording scalar variable values Added [MetaData] section to historical trend data files Added ability to drag-and-drop rows in various grids of historical trigger editor screen Increased maximum number of triggers from 100 to 1000
Fixed string overrun exception in TrendSrv process Fixed tpriXmlFile::ReadNodeStruct(..) to properly validate child node data Added new tpriVmic::getMemAddr() function Made various changes to the tpriGsmDDCom class: Updated version of Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package included with installer Updated various procedures & scripts to support installation on Windows XP Embedded
Upgrade Instructions: |
Expand |
---|
title | 2009/12/21 - v4.26.00 / v5.26.00 |
---|
|
Changes: Modified TPRI.Tscreen.TscreenMgr class so that SDI forms are completely docked to the MDIClient and use the AutoScroll and AutoScrollMinimumSize properties instead of manually trying to resize the form and enable/disable scroll bars Modified TPRI.Tscreen.TscreenInfo class to use the form’s MinimumSize property if configured before defaulting to the form’s initial size when determining the minimum size for scroll bars Made various changes to the TPRI.NtRtInfo.INtRtInfo interface and the TPRI.NtRtInfo.Host and Client classes: Replaced WriteFileOptions class with NtRtFileInfo class Deprecated existing GetFileSystemInfos(..) method and replaced with new method using NtRtFileInfo class (all calls to original GetFileSystemInfos(..) now return ‘NotSupported’)
Fixed various TPRI.Trending.TrendSet classes to properly set variable references to parent axes when serializing from form designer code Modified internal storage of trend variable data in the TPRI.HMI.Controls.TrendCtrl class to improve performance and reliability
|
Expand |
---|
title | 2009/12/13 - v4.25.00 / v5.25.00 |
---|
|
Changes: Made various changes to Texplore Fixed login panel to auto-display current user domain even if domain is not in list Added display of variable dictionary (source) to list of returned variables Added functions to automatically show/hide and resize various items for narrow displays Force application to run in 32-bit mode even on 64-bit systems (required for run-time compatibility with TPRI.NtRtNet.dll assembly on 64-bit systems)
Changed type of TPRI.Tscreen.ActivateInfo.Argument property from String to Object Made numerous changes to the TrendX screen and related controls to improve ease-of-use Made numerous changes to the TriggerMgr screen and related controls to improve ease-of-use Made various changes to the ProbeX screen: Changed background color on all standard Tsentry screens to black Added new control classes to the TPRI.HMI.Controls namespace in the TPRI.Core.dll assembly: ColorPicker StaticArrayGraphBase StaticArrayGraph3D StaticArrayGraphContour
Changed TPRI.HMI.Controls.StaticArrayProber from Control to Component to be consistent with standard Prober object Modified TPRI.HMI.Controls.StaticArrayGraph2D to inherit from StaticArrayGraphBase Fixed TPRI.HMI.Controls.Prober to completely disconnect from probe manager when requested Changed TPRI.Probe.ProbeMgrBase to call DisconnectProbes(..) on IProber objects passing Nothing for the probe manager reference when trying to disconnect permanently from an IProber Changed TPRI.Tscreen.TscreenMgr to call Form.Dispose when trying to remove screen from memory Added BarWidths and BarWidthsProber properties to the TPRI.HMI.Controls.BarGraph class Added CounterRotate property to the TPRI.HMI.Controls.LevelDisplay control Modified TPRI.HMI.Controls.ActiveGrid to use BackColor property to set grid background color Made various changes to the TPRI.HMI.Forms.DataDictForm form Fixed handling of double-click on variable to add variable to list rather than replacing list Added display of variable dictionary (source) to list of returned variables Added ExpandArray property Added TranslateVariable event
Made various changes to the TPRI.NtRtInfo.INtRtInfo interface and the TPRI.NtRtInfo.Host and Client classes: Added new DirectoryExists(..) functions Added new CreateDirectory(..) functions Added new DeleteFile(..) functions Added new MoveFile(..) functions Added new SharedFolderExists(..) functions Added overloaded WriteFile(..) functions to support additional write options Added new ParseSharedFolder(..) function to TPRI.NtRtInfo.Client class
Fixed numerous TPRI.HMI.Controls classes to remove links to external object when disposed in order to eliminate event handlers from preventing garbage collection of in-memory objects Fixed TPRI.HMI.Forms.TrendSrcSelect to enable use of the historical trend Filter function Made various changes to the TrendTrig process & libraries: Added support for configurable sampling periods for trended variables Added code to set minimum values for pre- and post-trigger trend times to 1 second to prevent trigger data collection restarts due to jitter in non-real-time data collection
Made various changes to the tpriXmlFile library: Added ReadTableStruct(..) and WriteTableStruct(..) functions Added support for environment variables in file names Optimized various functions to improve processing speed
Changed tpriIniFile class to use local buffers for calls to tpriEnvStr(..) instead of relying on the shared/static buffer inside of tpriEnvStr(..)
|
...
Expand |
---|
title | 2009/9/25 - v4.24.00 / v5.24.00 |
---|
|
Changes: 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 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:
|
...
...
...
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:
|
...
...
...
...
...
...
...
...
...
...
...
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 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:
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
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
|
...
...
...
...
...
...
...
...
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:
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
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
|
Expand |
---|
title | 2008/10/23 - v4.23.00 / v5.03.00 |
---|
|
Changes: Added TPRI.DataDictionary.VariableNamePrefix class to encapsulate data dictionary naming prefixes and functionality Fixed automatic expansion of data dictionary variable names (e.g. in ProbeX) to check for and handle variable name prefixes Changed ProbeX, TrendX, and TriggerMgr screens to check for unsaved changes prior to navigating away from the screen Fixed validation of trigger definitions on TriggerMgr screen to prevent infinite error loop Fixed TPRI.HMI.Application.Explorer.AdjustVariableIndex(..) to support variable name prefixes Changed TPRI.Tscreen.ScreenChangedEventArgs class AllowChange property from read-only to read/write Modified TPRI.Tscreen.TscreenMgr to raise BeforeScreenChanged event before deactivating old screen Made various changes to the GsmPifBld data dictionary builder utility:
|
...
...
...
...
...
...
...
...
...
Fixed TrendMgr bug causing trend data to be improperly buffered to disk files Modified TrendTrig so that temporary historical trend buffer files are closed in between read/write operations rather than continuously holding files open Fixed tpriIniFile::setKeyValue(..) to properly place key entry after section name when saving to a completely new section Added SAFE_DELETE(..) and SAFE_DELETE_ARRAY(..) macros to tpriUtilMacs.h Modified VmicDrv to read/write variables to reflective memory at individually specified frequencies Added SetTsentrySystem.cmd and SetEnvVariable.vbs scripts to the distributed procedures Fixed TsentryConfig.cmd script to forcibly uninstall the NtRtInfo service before reinstalling in order to support changes to the installation directory Modified TsentryConfig.cmd script to write results to disk log file (%TSENTRY_SYSDIR%\%TSENTRY_SYSNAME%\logs\TsentryInstall.log) Cleaned up TSENTRY and Tsecurity command-line scripts Modified TSENTRY installer to support runtime-only installations
Upgrade Instructions: Code Block |
---|
# ------------------------------------------------------------------------
# Variable definitions
# ------------------------------------------------------------------------
[VarDef]
#VariableName #Read/Write #Offset #RefreshPeriod(ms) #RemoteType
MyWriteStruct.MyWriteVar W 0x1000 20
MyReadStruct.MyReadVar R 0x2000 100 VT_I2 |
|
Expand |
---|
title | 2008/8/4 - v4.22.00 / v5.02.00 |
---|
|
Changes: |
...
...
...
...
...
...
...
...
...
Added support to ProbeX screen for use of up/down arrow buttons while editing a variable value Fixed Probe client to eliminate unnecessary expansions of the receive buffer size Made various changes to the TPRI.HMI.Controls.TrendCtrl class:
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Removed default value from TPRI.HMI.Controls.TextBox BackColor property Completely reworked the TPRI.HMI.Controls.CoverageBar class for use under VB.NET Added numerous control property description and category attributes Fixed tpriIniFile class to replace environment variables in the file name before saving the file Fixed tpriTrendTrig class to support trigger definitions whose names contain spaces when restoring the active triggers following a system restart Added additional error logging to VmicDrv when unable to map physical memory Made various fixes to the GsmPifBld process:
|
...
...
Expand |
---|
title | 2008/4/14 - v4.21.00 / v5.01.00 |
---|
|
Changes: Added GrantThreadAccessToConsole() function to tpriNtRtApp static library Changed various static variables in tpriRdc libraries to class variables so that multiple instances of the same class in a single process each have their own copy of data Added support for PCI-5565 card to the tpriVmic process I/O library class Added new VmicDrv Win32 and RTSS processes Made various changes to the ProbeSvr process:
|
...
...
...
...
Fixed Probe client so that it will properly process multiple incoming messages in a single pass Added new TPRI.Process class to TPRI.NtRtNET assembly Fixed IOComp licensing in Texplore so child screens do not display licensing dialog Made various changes to the TPRI.Tsecurity.TsecurityAD class:
|
...
...
...
...
...
Code Block |
---|
#--------------------------------------------------------------
# General probe parameters
#--------------------------------------------------------------
[General]
# Specify the local host to which the ProbeSvr server socket should bind,
# or leave blank to bind the socket without specifying a local host.
LocalHost=192.168.0.1
# Specify the LogMsg queue for text-based variable change logging,
# or leave blank to disable text-based change logging.
TextChangeLog=LogMsg
# Specify the LogMsg queue for binary variable change logging,
# or leave blank to disable binary change logging.
BinaryChangeLog=ProbeLog |
|
...
Expand |
---|
title | 2008/1/29 - v4.20.00 / v5.00.00 |
---|
|
Changes: Added TPRI.Tsecurity.EncryptedTcpChannel class to allow encrypting of .NET Remoting channels without requiring authentication Changed all .NET Remoting servers & clients (Tsecurity, NtRtInfo, etc.) to use the above new TPRI.Tsecurity.EncryptedTcpChannel class to encrypt data rather than registering channels using the default .NET Remoting security (which only allows authenticated domain users to connect) Added monitor icon to Texplore resources Removed encoding specification from of default Tsecurity.exe.config file Modified and added various logged messages in tpriProbe libraries to enhance debugging Fixed parsing of MaxDays parameter for custom LogMsg queues in sysLogs.ini file so that old log files for custom queues will be properly deleted from the hard drive Added function prototypes for DumpHex(..) functions to LogMsg.inl inline header file for use with tpriNtRtApp.lib Fixed tpriProcMgr::Destroy(..) function so that it properly returns zero if successful Made various changes to the tpriIniFile class:
|
...
...
...
...
...
...
...
...
...
Modified TSENTRY installer so that Hard-Real Time installation option will not be presented if not supported by a specific version of TSENTRY Modified TSENTRY and Texplore installers to use Microsoft Visual C++ 2005 Redistributable Package (x86) rather than manually installing required Visual C++ assemblies onto target system
Upgrade Instructions: Modify any applications that employ custom .NET Remoting components in addition to Tsecurity, DBIO, or NtRtInfo so that the custom .NET Remoting channels are registered with the enableSecurity flag set to False (reversing the change required by TSENTRY v4.11.00 and v4.12.00) If installing over a previous version of TSENTRY, modify the Tsecurity.exe.config file to replace the first line of the file:
Code Block |
---|
<?xml version="1.0" encoding="Windows-1252"?>
with:
<?xml version="1.0"?> |
|
Expand |
---|
title | 2007/11/26 - v4.13.00 |
---|
|
Changes: Fixed tpriRdcTcp class to prevent socket creation if unable to resolve host name Changed probe server and client libraries to use getaddrinfo(..) rather than gethostbyname(..) Modified ProbeSvr process to add support for specifying a local host name for the TCP/IP server via the LocalHost parameter in the [General] section of the .ini file. Fixed ProbeX screen to properly process changes to multiple elements of multi-dimension arrays Updated all code to use StopWatch class rather than system clock for internal timing in order to prevent errors when the system clock is changed or daylight savings transitions occur Made various fixes to the TPRI.HMI.Controls.ActiveShape class:
|
...
...
...
...
...
...
...
...
...
...
Added shadowed Enabled property to the TPRI.HMI.Controls.ToggleButton class to support disabling the control completely regardless of whether or not it is receiving live data Removed TPRI.Tsecurity.Controls.AutoCompleteComboBox class as the AutoComplete functionality is now provided directly by the System.Windows.Forms.ComboBox class Made various fixes to the TPRI.Tsecurity.TsecurityDomainsList class (and the Tsecurity service):
|
...
...
Expand |
---|
title | 2007/9/28 - v4.12.00 |
---|
|
Changes: Added Enabled property to the TPRI.HMI.Application.Explorer.IndicatorMgr class to enable/disable automatic indications Modified the TPRI.HMI.Application.Explorer.IDataSourceIndicator interface to add new EnableDataSourceIndicator property and modified all classes implementing this interface accordingly Made various fixes to the TPRI.HMI.Controls.ActiveShape class:
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Modified Converter class for TPRI.Shape.ShapeBorder class to provide more meaningful information when converting to a string Modified Converter class for TPRI.Shape.ShapeFill class to provide more meaningful information when converting to a string Modified signatures of events generated by the ActiveShapeCollection, CmdButtonCollection, ComboBoxCollection, ShapeCollection, TextBoxCollection, ToggleButtonCollection, and TrendVarSelectCollection classes in the TPRI.HMI.Controls namespace to change the ‘sender’ parameter from ByRef to ByVal in order to be consistent with .NET coding standards Added TPRI.HMI.Application.Explorer.AdjustVariableIndex(..) function Reworked NtRtProcEd screen to support new HMI control objects Modified GsmPifBld process to ignore ‘volatile’ variable specifier Fixed various calls to vsnprintf_s(..) and snprintf_s(..) throughout code to prevent buffer overrun exceptions by forcing truncation of the output strings if the output buffer is too small
|
Expand |
---|
title | 2007/9/18 - v4.11.00 |
---|
|
Changes: |
...
...
...
...
...
Added checks to TPRI.Probe.ProbeClientVar class to return an error if attempting to write an updated variable value that cannot be converted to the original variable type Fixed TPRI.Probe.ProbeMgrBase class to prevent internal corruption when an IProber with only probe changes the variable name associated with a given tag Made various fixes to the TPRI.HMI.Controls.ActiveShapeSetup class:
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Added TPRI.HMI.Forms.ComboBoxItemsEditorForm and TPRI.HMI.Controls.ComboBoxItemsPropertyEditor classes to support new ComboBox class Removed events from TPRI.HMI.Controls.ComboBoxCollection class Fixed internal logic for TPRI.HMI.Controls.ToggleButton.DisplayMode when ProbeSource is set to an empty string Added TPRI.HMI.Controls.LimitDisplay classes Made numerous changes to the TPRI.Shape.ShapeBorder, TPRI.Shape.ShapeFill, and TPRI.HMI.Controls.Shape classes in order to improve serialization in the designer Fixed TPRI.HMI.Controls.TrendCom class to prevent error if passed an invalid host name Added TPRI.HMI.Application.Explorer.FindSubControls(..) utility function Made various changes to ProbeX screen:
|
...
...
Changed NtRtInfo service Host and Client classes to use a pure TCP channel rather than an HTTP channel in order to support encryption and security Enabled security & encryption for all .NET Remoting connections Replaced various deprecated .NET functions in code with new .NET functions Modified tpriCleip class to increase maximum allowed size of file name and host name strings Changed RTSS builds of TrendGsm and MillSim to use the fast floating point model (/fp:fast) for improved real-time performance Upgraded Glacial Components GlacialTreeList to v2.5.1.22512 Upgraded Glacial Components GlacialListView to v2.1.0.22283
Upgrade Instructions: Modify any applications that employ custom .NET Remoting components in addition to Tsecurity, DBIO, or NtRtInfo so that the custom .NET Remoting channels are registered with the enableSecurity flag set to True (see the MSDN documentation for the ChannelServices.RegisterChannel(..) method)
|
...
...
...
...
...
Added LogData(..) global functions to logging binary data to LogMsg queues Modified various internal functions to support LogData(..) functionality Increased size of LogMsg message buffer size from 256 bytes to 512 bytes Modified tpriLogMsg class and sysLogs.ini file format to support LogMsg queues that do not generate files on disk Fixed DumpHex(..) functions to send logs to requested queues rather than always only to default “LogMsg” queue Made various fixes to the tpriCryptor class:
|
...
...
Changed LogMsg for receive data timeout in tpriRdc class from DBERR to DBSEQ Fixed tpriDbio::ExecSql(..) to dynamically allocate local buffer for SQL statement to prevent buffer overruns Rewrote tpriEnvStr(..) function to eliminate buffer size and reentrancy issues Fixed GsmPifBld process to delay replacement of a matched #define string that falls at the end of the read buffer until more data has been read from the file Added EncryptString(..) and DecryptString(..) functions to the TPRI.Cryptor class Made various fixes to the TPRI.NtRtInfo.Client class:
|
...
...
...
...
Modified TPRI.NtRtInfo.Host.GetTrendSourceList(..) function to return the list of real-time trends even if unable to retrieve the list of historical trends Fixed TPRI.DataDictionary.TreeDataDict to prevent unhandled exception if an empty variable is added to a ProbeX ProbeSet Updated TPRI.HMI.Controls.DataSetLoader GUI to make it more intuitive for users Made various fixes to the TPRI.HMI.Controls.TextBox class:
|
...
...
...
...
...
...
...
...
...
...
Fixed TPRI.HMI.Controls.TrendAxisList to prevent unhandled exception if internal timer to check axis percents runs before a trend set has been defined Changed TPRI.HMI.Controls.TrendCom, TrendCtrl, TrendPlayback, TriggerEditor, and TriggerStatusList classes to inherit from System.Windows.Forms.UserControl rather than TPRI.HMI.Controls.BaseControl Removed TPRI.HMI.Controls.BaseControl and TPRI.HMI.Controls.OpcMgr classes Fixed tracking of the internal ‘modified’ flag in the TPRI.HMI.Controls.ProbeSetLoader, TrendSetLoader, and TriggerDefLoader classes Added Changed event to the TPRI.HMI.Controls.TriggerEditor class Modified ProbeX, TrendX, and TriggerMgr screens to ask the user to save unsaved changes when leaving the screen Made various fixes to the ProbeX screen:
|
...
...
...
...
...
...
...
...
Modified TrendX screen so that new TrendSets will be created by default with a single axis containing a single empty variable Modified TriggerMgr screen so that new trigger definitions will be created by default with a single empty condition and a single empty trend Modified TPRI.Trending.TriggerDef class to initialize MaxTrendTime to 3600 seconds by default Modified TPRI.HMI.Forms.TrendSetupForm class to display an error message to the user if unable to retrieve the list of available trend sources from the host system Added design-time support for data dictionary window when selecting variable name for control properties such as TextBox.ProbeSource and modified various TPRI.HMI.Controls classes to use this object for design-time selection of variable names Removed pauses from installation scripts so that installer now runs to completion without periodically requiring key presses to continue Made various fixes to the Tsentry development and release environment:
|
...
...
...
...
...
...
Code Block |
---|
#--------------------------------------------------------------
# LogMsg Initialization File
#--------------------------------------------------------------
[General]
# LogMsg file directory
LogMsgDir=%TSENTRY_SYSDIR%\%TSENTRY_SYSNAME%\Logs
[Queues]
ProbeLog *
- Create and configure sysProbe.ini configuration file for the ProbeSvr process and specify the new LogMsg added above:
#--------------------------------------------------------------
# ProbeSvr Initialization File
#--------------------------------------------------------------
#--------------------------------------------------------------
# General probe parameters
#--------------------------------------------------------------
[General]
# Specify the LogMsg queue for variable change logging
LogMsgQueue=ProbeLog
|
|
Expand |
---|
title | 2007/1/14 - v4.06.00 |
---|
|
Changes: Modified tpriCryptor class to add new functions utilizing true encryption/decryption Removed deprecated TPRI.HMI.Screens.BaseScreen class Added GetVarArrDimCnt(..) and GetVarArrDim(..) functions to TPRI.DataDictionary.GsmDDCom class Added VariableArrayDimensions(..) to TPRI.DataDictionary.IDataDict interface Added VariableArrayDimensions(..) to TPRI.DataDictionary.ListDataDict class Added VariableArrayDimensions(..) and ExpandAllVariables(..) functions to TPRI.DataDictionary.TreeDataDict class Made various fixes to the TPRI.HMI.Screens.ProbeX screen:
|
...
...
...
Modified TPRI.HMI.Forms.DataDictForm so that array indices will be kept if possible when changing from one variable to another in the tree Fixed tpriGsmDDCom::getVarArrDim(..) function to correctly find array dimension for variable names corresponding to multi-dimensional arrays with only partially filled array indices Fixed TsecurityCfg application to correctly process changes to various user lists Fixed Texplore login screen to display language-specific labels & buttons Added additional exception handling to Tsecurity service functions that search for available domains
|
Expand |
---|
title | 2006/11/29 - v4.05.00 |
---|
|
Changes: |
...
...
Fixed TPRI.HMI.Application.LoginMgr.LoginNotRequired(..) function to correctly set internal property values to prevent subsequent security timeouts Added TestSAK(..) function to TPRI.Tsecurity.LoginSession class Made various fixes to the TPRI.HMI.Controls.ActiveShape class:
|
...
...
...
...
...
...
...
...
...
...
...
...
Added overridable properties ServerName, PortNumber, and HostType to the TPRI.DatabaseIO.DBIOServer class to allow derived classes to customize the specification of the various connection parameters Made various changes to the TPRI.DatabaseIO.DBIOClient class:
|
...
...
Modified tpriGsmDDCom class to add additional error handling while formatting global common variable values with formatting strings listed in sysVars.ini Modified tpriProc class to move initialization of crash & invalid parameter handlers from Create(..) function to the class constructor to support special case uses of class Fixed restoration of TRENDCOM buffers in tpriTrendMgr to eliminate incorrect error messages
|
Expand |
---|
|
Changes: Fixed bug in Tsecurity that would occasionally return authentication failure even when proper credentials are supplied Added TPRI.HMI.Controls.BarGraph and TPRI.HMI.Controls.RotatedLabel class Made various fixes to the TPRI.HMI.Controls.TextBox class:
|
...
...
Modified TPRI.HMI.Forms.DataDictForm to remember and restore previous variable name and search string Fixed TPRI.HMI.Controls.TriggerConditionList and TPRI.HMI.Controls.TriggerTrendList to properly update display after change to cell values Numerous changes to trending HMI components to internally store times as integers rather than floating point numbers Made various fixes to the TPRI.HMI.Controls.TrendPlayback class:
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Renamed TPRI.Trending.PB_1SECPERSEC constant to PB_REGULATESPEED Fixed TPRI.Trending.TrendSetConverter classes to prevent exception when loading empty TrendSet Fixed TPRI.Trending.TriggerDef and TPRI.HMI.Controls.TriggerStatusList classes to properly read and write trigger save times in various disk files Fixed TPRI.HMI.Screens.TriggerMgr screen to correctly lock down Activate and Deactivate buttons based on user’s security level Modified tpriLogMsg class to allow shared read operations when opening log files Modified tpriIniFile::extractIniFileString(..) to return an error if a quote-delimited string is not immediately followed by a whitespace character Added RemXTimer(..) functions to tpriTimer libraries Added dynamic trend time and dynamic trend timeout variables to TRENDCOM global common Made various changes to tpriTrendSrv class:
|
...
...
Modified tpriTrendMgr to parse both dynamic trend time and dynamic trend timeout variables from sysTrend.ini file into TRENDCOM global common Fixed tpriGsmDDCom data dictionary initialization to remove check and warning message during parsing of variable formatting string as error detection is now in tpriIniFile::extractIniFileString(..) Fixed parsing of __int64 variable init/min/max values during data dictionary initialization Added error messages to tpriProc::shutdownMgr(..) if invalid mode passed to function Changed shutdown request processing in NtRtMgr to use InitiateSystemShutdownEx(..)rather than ExitWindowsEx(..)to shutdown and/or reboot the system Made various changes to GsmPifBld process:
|
...
...
...
...
...
...
...
...
...
...
Expand |
---|
title | 2006/5/25 - v4.03.00 |
---|
|
Changes: Fixed TPRI.HMI.Screens.NtRtMgr class to prevent exceptions when right-clicking on white space in the process list Fixed TPRI.Tscreen.TscreenMgr class to initialize ScreenTrackingEnabled to True by default Fixed TPRI.Languages.LanguageTable class to trap exceptions generated by passing an invalid culture name to the class constructor Added additional exception trapping to TPRI.NtRtInfo.Host for reading HMI configuration files Added additional error messages displayed to user in Texplore while attempting to connect to a given host and application Made various fixes to the TPRI.HMI.Screens.ProbeX class:
|
...
...
Expand |
---|
title | 2006/5/12 - v4.02.00 |
---|
|
Changes: Modified NtRtMgr initialization logic so that if there is an error processing the sysVars.ini file but the system is allowed to start anyway (AllowBadDDComVars=Yes) then the warning message box will not be displayed and the system will start immediately (LogMsg will still be called) Modified GsmOpcRSvr so that it cannot be registered as a server (passing /regserver on the command line is now equivalent to /regclient) Modified GsmOpcSvr to use true path to executable for registering service rather than default path Fixed internal variable initialization and logic error causing occasional exceptions in TPRI.HMI.Controls.OpcMgr.WriteTscItem(..) Fixed bug ProbeX screen that would display the Format selection box for elements within an array Added Cut, Copy, & Paste operations to ProbeX screen Added Cut operation to TPRI.HMI.Controls.TrendVarList for TrendX screen Fixed internal function shared by TPRI.HMI.Controls.CmdButton and ...LinkLabel to correctly return whether or not the link to a new screen has been handled Fixed bug in Texplore that would occasionally prevent the application from closing Added VerifyAppClose property to TPRI.HMI.Application.Explorer.TexploreSettings class and added code to Texplore to check app.config file setting before asking user to verify close requests Added support for changing user password to Texplore Fixed TPRI.DatabaseIO.DBIOHost class destructor to prevent exception generated if database has already been closed Renamed and changed scope of friend class TPRI.HMI.Forms.SharedFolderListForm to public class TPRI.HMI.Forms.OpenSharedFileForm and made various internal changes to add greater flexibility in use Changed scope of TPRI.NtRtCommand.NtRtCmd class from private to public to facilitate generation of LogMsg messages from HMI screens Added TPRI.NtRtCommand.DebugLevel enumeration for generating LogMsg messages Updated the TPRI.HMI.Controls.RpsEditor class to be fully compatible with NtRtInfo service Fixed TPRI.HMI.Controls.TrendingVarList, TPRI.HMI.Controls.TriggerStatusList, and TPRI.Tsecurity.Controls.AppSecurityEditor classes so that the tool tip text is not immediately displayed when the mouse moves over various nodes Changed copies of tpriNtRtApp.lib and tpriNtRtNET.lib distributed with Tsentry from Debug to Release versions Upgraded Glacial Components GlacialTreeList to v2.5.0.18486 Upgraded Glacial Components GlacialListView to v2.1.0.22279
|
...
...
Modified macros in tpriUtilMacs.h to surround all function arguments with parentheses to prevent unexpected results when calling functions as part of a larger expression Fixed Release versions of tpriNtRtApp.lib and tpriNtRtNET.lib to correctly use 32-bit time functions rather than new 64-bit time functions Made various changes to the NtRtMgr process:
|
...
...
...
...
Fixed non-RTX version of tpriCreateSharedMemory(..) to properly set the last error code to ERROR_ALREADY_EXISTS when shared memory already exists Fixed TPRI.HMI.Controls.ActiveShape to force text and shape to be visible when changing from an blinking state to a non-blinking state Modified TPRI.HMI.Controls.TextBox so that text will not be automatically reset when OPC disconnects if the tDataSource member is an empty string Added TPRI.Trending.TrendMgrStatus enumeration Added Status property to TPRI.HMI.Controls.TrendCom class Added TPRI.Trending.ProbeMgrStatus enumeration Added Status property to TPRI.HMI.Controls.TrendCom class Made various changes to the TPRI.HMI.Controls.TrendVarList class:
|
...
Fixed the Trend Setup form on the TrendX screen to update the trend sources displayed on the Trend Variable list when the Set All Variables button is clicked Changed the data dictionary form so that it is not displayed in the Windows taskbar Created new TPRI.HMI.Controls.TextSelectBox class as base class for text box with a [*] button to display popup selection box and completely reworked DDVarSelect and TrendSrcSelect classes to inherit from this parent class Made various changes to the TPRI.HMI.Controls.OpcMgr class:
|
...
...
Fixed TPRI.HMI.Screens.ProbeX screen to properly display elements of multi-dimensional arrays Fixed TPRI.HMI.Screens.TrendFileMgr screen to use correct shared folder name for historical trend data files Added TPRI.NtRtCommand namespace and ShutdownOptions, AppShutdownOption, and AppShutdownOptionCollection classes as well as AppShutdownOptionType and AppShutdownOptionFunction enumerated types to that namespace Modified TPRI.NtRtInfo.INtRtInfo interface and TPRI.NtRtInfo.Client and TPRI.NtRtInfo.Host classes to add GetShutdownOptions(..) functions Added Shutdown button and code to send request to host to TPRI.HMI.Screens.NtRtMgr form Fixed TPRI.HMI.Application.TsecurityMgr so that Accessed events raised by secured objects only reset the expiration time if the object is not yet expired Made various changes to the Texplore application:
|
...
...
...
...
...
...
...
Added code to TPRI.Tscreen.TscreenMgr to detect when the parent container is closing and disable auto-navigation that is normally processed when the active form is closed Added additional error handling to TPRI.Tscreen.TscreenInfo to trap exceptions during creation of custom application screens Added icons to Tsecurity and TsecurityCfg processes Updated code base to use various secure CRT functions under VS2005
Upgrade Instructions: Code Block |
---|
<SharedFile>
<Name>SysIni</Name>
<Path>%TSENTRY_SYSDIR%\%TSENTRY_SYSNAME%\pif\%TSENTRY_SYSNAME%.ini</Path>
</SharedFile> |
|
Expand |
---|
title | 2006/1/31 - v4.00.00 |
---|
|
Changes: |
...
...
...
...
All application file shares (DataSet, Trigger, NtRtCmd, etc.) no longer required as the NtRtInfo service now provides enhanced functionality
|
...
...
...
...
...
...
...
Added links to ASCFEditor and TsecurityCfg application to both TSENTRY and Tsecurity installers Updated Workstation Configuration document in TsentryHelp to support Texplore installation Integrated classes from TPRI.Cryptor assembly into TPRI.NtRtNET assembly Updated all scripts to require and use the .NET Framework v2.0 rather than v1.1 Moved .NET components from tpriNtRt.lib into separate tpriNtRtNET.lib library Removed CreateShares.cmd, ExportDataDict.cmd, InstallFiles.cmd, InstallIISCustom.cmd, InstallIISCustomFiles.cmd, and InstallIISCustomSite.cmd scripts Added TPRI.HMI.Application.AppVariableCollection class Made various changes to the TPRI.HMI.Application.AppConfig class:
|
...
...
...
Removed LoadStringDictionary(..) function from TPRI.HMI.Application.AppLib module Added TPRI.HMI.Application.Explorer namespace, including ITexplore interface and FindExplorer(..) function Added LinkLabel class to TPRI.HMI.Controls namespace Added TPRI.HMI.Application.TsecurableObject class Moved login-releated portions of TPRI.HMI.Application.TsecurityMgr into new LoginMgr class and reworked TsecurityMgr to better manage security session Moved shape-related enumerated types and classes into TPRI.Shape class Renamed TPRI.Shape.Shapes enumerated type to TPRI.Shape.ShapeTypes Updated TPRI.HMI.Controls.ActiveShape and TPRI.HMI.Controls.BarGraph classes to work with new TPRI.Shape namespace Made various changes to the TPRI.HMI.Controls.CmdButton class:
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Removed TPRI.HMI.Screens.BaseScreen class Implemented internals of TPRI.NtRtInfo.Host.GetHmiConfig(..) function Added TPRI.DatabaseIO namespace and classes
Upgrade Instructions: |
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Expand |
---|
title | 2006/1/30 - v3.12.00 |
---|
|
Changes: |
...
...
...
...
...
Fixed AddXTimer(..) function prototypes in tpriTimer.h Changed LogMsg(..) so that displayed process name is taken from sysProcs.ini file or executable file name rather than first passed function name Fixed logging of memory buffer rollovers in TrendMgr to log correct memory buffer size Changed calling parameters to tpriGsmDDCom::varDef::fmtXXX(..) functions to include size of destination buffer Removed try/catch from tpriGsmDDCom::varDef::fmtXXX(..) in tpriNtRt.RTSS.lib library Removed tpriLogMsg::fileLogMsgs(..) function from tpriNtRt.RTSS.lib library Fixed tpriGetClockTime(..) function to correctly use RTX timer for Win32 processes on an RTX system so that absolute timer values are consistent between Win32 and RTSS processes Fixed non-RTX version of tpriCreateSharedMemory(..) to properly set the last error code before function returns Increased size of error message buffer in tpriSvrSock constructor to prevent buffer overruns Made various changes to the GsmPifBld process:
|
...
...
Reorganized code in main(..) function of NtRtSvc to clean up sequencing Fixed Tsecurity installer to include Interop.ADSecurity.dll in \bin\ folder Fixed TPRI.Tsecurity.Client class so that internal .NET remoting channel is properly disposed Made various changes to the TPRI.Tsecurity.LoginSession class:
|
...
...
...
...
...
Changed default property values in TPRI.Tsecurity.TsecuritySettings class from shared properties to simple public constants Modified TPRI.Tsecurity.Host class so that user information will not be removed from the cache if authentication fails because the network is unreachable Fixed HMI security functions in SecurityDef module to properly treat SAK as a 64-bit integer Changed securityLevel parameter on all SecurityScreen(..) functions to a 64-bit integer Upgraded Glacial Components to GlacialListview v2.0.3.2204 and GlacialTreeList v2.3.2.21597 Fixed TPRI.DataDictionary.TreeDataDict class to properly create, track, and destroy references to the tpriGsmDDCom classes Made various changes to the TPRI.HMI.Application.AppConfig class:
|
...
...
...
...
...
Added BarGraph, ComboBox, ComboBoxCollection, CoverageBar, and LogMsg classes to TPRI.HMI.Controls namespace Made various changes to the TPRI.HMI.Controls.DDVarSelect class:
|
...
...
...
Added check to TPRI.HMI.Controls.OpcMgr to verify valid internal references before processing data updates to eliminate potential null reference exception Added Remove(..) method to TPRI.HMI.Controls.TextBoxCollection class (shadowed Remove(..) base class function) to unhook event handlers when removing items from collection Completely reworked all trend-related classes in TPRI.HMI.Controls namespace to use GlacialControls lists and trees rather than TelePro-developed objects Removed TrendVarListBase, TrendingVarListBase, TrendingVarDateTimeList, ListViewEditor, and OwnerDrawnListView from TPRI.HMI.Controls namespace Fixed TPRI.HMI.Controls.TriggerStatusList.ColumnWidths property set method to validate inputs Made various changes to the TPRI.HMI.Forms.DataDictForm class:
|
...
...
Changed name of TPRI.HMI.Forms.QueryContinueForm.Continue property to Result in order to avoid conflict with known keyword ‘Continue’ Implemented ISerializable interface and added constructor for serialization to TPRI.Languages.LanguageTable class Made various changes to the TPRI.Languages.LanguageTable class:
|
...
...
...
...
...
Changed ServiceName of NtRtInfo service from Service1 to NtRtInfo Fixed TPRI.Probe.ProbeSet class to properly read/write Format string from/to ProbeSet files Added Tag property to TPRI.Trending.TrendSet class and completely reworked helper classes Changed name of TPRI.Trending.TriggerDef.Operator property to Comparator in order to avoid conflict with known keyword ‘Operator’ Made various changes to TPRI.HMI.Screens.ProbeX class
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Changed scope of PopulateHostTriggers() and PopulateLocalTriggers() methods in TPRI.HMI.Screens.TriggerFileMgr class from public to private Moved TPRI.OpcCom class into the TPRI.Probe.OPC namespace Added TPRI.Tscreen.ActivateInfo class Made various changes to the TPRI.Tscreen.ITscreen interface:
|
...
...
Added TPRI.Tscreen.FindTscreen public function Modified TPRI.Tscreen.ScreenChangingEventArgs and TPRI.Tscreen.ScreenChangedEventArgs classes to use ActivateInfo rather than TscreenInfo as primary data class Made various changes to the TPRI.Tscreen.TscreenHistory class:
|
...
...
...
Added TPRI.Tscreen.TscreenResizeStyle enumerated type Added new TPRI.Tscreen.TscreenInitInfo class Made various changes to the TPRI.Tscreen.TscreenInfo class:
|
...
...
...
...
...
...
...
Added RemoveByID(..), RemoveByClass(..), and RemoveAt(..) methods to the TPRI.Tscreen.TscreenInfoCollection class Made various changes to the TPRI.Tscreen.TscreenMgr class:
|
...
Added ActivateInfo, AllowAutoRegister, ScreenInitInfo, CanGoBack, CanGoForward, and ScreenTrackingEnabled class properties
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Expand |
---|
title | 2005/10/28 - v3.11.00 |
---|
|
Changes: Made various changes to NtRtMgr process: Modified process initialization to check for failure to create data dictionary GSM and display message to user Modified initialization of LogMsg window update timer so that it runs on a non-zero interval under all conditions
Made various changes to GsmPifBld process: Replaced code to evaluate mathematical expressions with true expression processor Changed processing of #defines to hold off replacing text until required so that handling of header files with #undef statements are processed correctly Changed code so that mathematical expressions in #defines are not evaluated until they are used so that compound expressions in #defines are evaluated correctly Fixed incorrect calculations for structure alignment under certain circumstances Added support for hexadecimal array indices
Added check to TrendGsm initialization to verify that all global commons are properly mapped Made various changes to tpriGsmDDCom class: Fixed historical trend data collection so that if one or more of the recorded variables in a trigger must be reset (e.g. if another trigger requires larger data buffers) the trigger will properly clean up its internal data, close the historical trend file file, and reinitialize without crashing Fixed calculation of process interval percent utilization in tpriProc class so that changes to RepRate update filter constant in smoothing filter accordingly Added AddXTimer(..) function to tpriTimer library Modified NtRtHmiSetup installer so that OPC DLLs are always updated with version from installer, and hence are always registered upon the completion of the installer Made various changes to TPRI.Core.dll assembly: Modified TPRI.HMI.Controls.OpcMgr so that it can find TPRI.HMI.Controls.BaseControl-derived objects stored in sub-objects (e.g. GroupBox’es) on the parent form Added following new namespaces, classes, & modules TPRI.HMI.Controls.ToggleButton and TPRI.HMI.Controls.ToggleButtonCollection TPRI.HMI.Controls.ProbeSetLoader TPRI.Probe.ProbeSet, TPRI.Probe.ProbeSetConverter, and TPRI.Probe.ProbeLib TPRI.HMI.Screens.ProbeX TPRI.HMI.Application.AppConfig, TPRI.HMI.Application.AppLib, TPRI.HMI.Application.LoginConfig, and TPRI.HMI.Application.TsecurityMgr TPRI.Languages.LanguageTable and TPRI.Languages.LanguageTableCollection
Renamed ShapeArray class to ShapeCollection and moved into TPRI.HMI.Controls namespace Moved ActiveShapeCollection, ShapeCollection, and TextBoxCollection in TPRI.Core.dll assembly into TPRI.HMI.Controls namespace Improved error logging in TPRI.HMI.Controls.DataSetLoader class Modified TPRI.HMI.Screens.BaseScreen so that security is disabled until the screen is actually started in order to prevent errors during development Added support for security on TPRI.HMI.Screens.TrendFileMgr screen Added readonly ActiveInfo property to TPRI.Tscreen.TscreenMgr class Numerous minor code fixes to eliminate errors during strict compilation
Integrated TPRI.Cryptor and TPRI.CryptClient classes into TPRI.NtRtNet.dll assembly Made various changes to Tsecurity service: Changed logging of login errors to display error string instead of error number Fixed caching of user info so that data is not inadvertently removed from the cache file if a login fails with a bad password that does not match the hashed password stored in the cache Fixed calculation of password expiration date for a given user so that the user flags are first checked to determine if the password is set never to expire Fixed security hole in encryption/decryption of values in cached user info file Added DisableAuthentication key to Tsecurity service to facilitate testing Modified algorithm to search for available domains so that trusted domains will always be included Added TsecurityDomains lists to configuration file to support filtering of available domains Moved location of available domains file into same folder as service executable Removed LocalMachineDomain parameter from configuration file and added code to automatically determine correct value Moved ASCFFolder and PortNumber parameters into TsecuritySettings class
Made various changes to ASCFEditor application: Modified application close sequence to ask user to save unsaved changes Changed various domain comboboxes to allow user-entry of domains Fixed saving of known Tsecurity hosts to ASCFEditor.exe.config file Improved error logging Remove various sections of unused code
Added TsecurityCfg application for configuring the Tsecurity service Made various changes to the TPRI.Tsecurity.dll assembly in addition to those required for the above changes: Moved all Tsecurity Application and ASCF related classes into the TPRI.Tsecurity.TsecurityApps namespace Moved all controls into the TPRI.Tsecurity.Controls namespace Renamed all “Dialog” classes as “Form” classes and moved into the TPRI.Tsecurity.Forms namespace Added TPRI.Tsecurity.BrowseUser and TPRI.Tsecurity.BrowseUserCollection classes Added TPRI.Tsecurity.TsecurityDomainList and TPRI.Tsecurity.TsecurityDomains classes Added TPRI.Tsecurity.Client.GetDomains(..) overloaded function to retrieve domains as a TsecurityDomains list Modified TPRI.Tsecurity.TsecuritySettings class to allow direct access to data outside of application configuration files Added NoNetwork error code and code to detect condition during user authentication Modified TPRI.Tsecurity.TsecurityApps.ASCF class to retrieve ASCFs from arbitrary folder not specified by registry key Moved various utility functions from specific classes into the TPRI.Tsecurity.UtilLib module
Completely redesigned HMI Login page: Reworked Login page as a true ASP.NET page Moved all configuration from tpriScreens.ini file to application-specific web.config file Added various Login sequencing configuration options Removed all references to tpriScreens.ini file from tpriNtRtAdmin, installers, and procedures Removed all references to TSENTRY_HMI_PIF and TSENTRY_HMI_LOG system environment variables Modified tpriScreens.net.htm.template for compatibility with new Login architecture
Updated CleanExtinctTsentryComponents.cmd script for latest changes Added ntrights.exe to distributed \Procs\ folder and modified CreateTsentryUser.cmd script to call ntrights.exe to give Tsentry user the right to log on as a service Added DeleteByDate.vbs scripts to distributed \Procs\ folder Made various modifications to .NET screen htm/aspx template: Migrated help documentation to new Web Works platform
Upgrade Instructions: |
Expand |
---|
|
Changes: Modified TrendTrig process to successfully initialize if sysTrend.ini file does not contain [TrendTrigDefs] section Added tpriTrigText to tpriNtRt libraries Fixed domain filtering on HMI login screens Modified tpriTrendSrc::setTrendData(..) to add checks for valid input parameters Added NtRtInfo service for exposing data from TSENTRY host Renamed TsecurityUser to TsentryUser to generalize user for multiple uses Modified CreateUser.vbs script to accept command line arguments and move DeleteUser code into its own script DeleteUser.vbs Added scripts to clean up extinct Tsentry and Tsecurity components and modified installer to call scripts during installation/uninstallation Added tpriTrendSrc::isCompactVarBuf(..) function to return if a trend buffer is fully compacted Added createSection(..) functions to tpriIniFile class for creating a new section in an ini file Made various changes to tpriTrendTrig class:
|
...
...
...
...
...
Added tpriTrend::getTrendVarStatusMessage(..) function to get text description of trend status Modified TrendTrig process to save trigger list after any changes, not just when process exits Added DynamicTrendTimeout parameter to sysTrend.ini file to specify max timeout for dynamic variables and modified tpriTrendMgr class to parse this parameter from the ini file Added checks to timestamp subtraction operator overload functions to prevent negative values Created TPRI.Core.dll VB.NET assembly to provide many common objects in a single assembly
|
...
...
...
Modified existing TrendX and TriggerMgr screens to use TPRI.Core.dll assembly and classes rather than older individual assemblies Created new TrendFileMgr screen for managing historical trend files Updated NtRtMenu screen to include link to TrendFileMgr screen
|
...
...
Removed TSecurityAD.dll, TSecurityASCF.dll, TSecurityClient.dll, and ITSecurity.dll assemblies from distribution
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Added tpriGsmDDCom::getTypeFromTypeName(..) function to parse type strings Fixed binary & hex formatting on Probe/ProbeA/ProbeV to display values properly Temporarily reversed v3.08.00 change to tpriNtRtEx.dll so that RTX timers are only used if running under RTSS
Upgrade Instructions: Before installing the new version of TSENTRY, completely remove any previous Tsecurity installation as follows: First, uninstall the old TsecurityService application by running the uninstall script:
<InstallDir>\Procs\UninstallTsecurityService.cmd <InstallDir>\bin where <InstallDir> is replaced with the base installation directory of the old version of Tsecurity, such as D:\tpriNtRt\Tsecurity
If the latest version of TSENTRY has already been installed before removing the previous version of Tsecurity, the above uninstall script may not work; in this case, the old TsecurityService service can be removed by manually executing the following two commands from the command prompt:
cd /d %Windir%\Microsoft.NET\Framework\v1.1.4322
installUtil.exe /u <InstallDir>\bin\TsecurityService.exe where <InstallDir> is replaced with the base installation directory of the old version of Tsecurity, such as D:\tpriNtRt\Tsecurity
If the old Tsecurity package was uninstalled before the uninstall script was executed, the TsecurityService entry in the service control manager can only be removed by deleting the following entries from the registry: Uninstall the old Tsecurity package through the Control Panel→Add/Remove Programs Rename the old Tsecurity installation directory; this directory may be deleted if no Application Security Configuration Files (ASCFs) are to be transferred to the new installation
Once the new version of TSENTRY has been installed, configure the Tsecurity administrator by inserting the appropriate user as an Owner into the Tsecurity.xml file in the \ASCF\ subdirectory in the Tsecurity installation directory For each existing ASCF that is to be transferred to the new system: Copy the existing ASCF from the old Tsecurity installation directory tree (renamed above) into the new installation directory tree (in both cases the ASCF file should be located in the \ASCF\ subdirectory off of the installation directory) Modify the copied ASCF to conform to the new ASCF file format; use ExampleASCF.xml as a template for the proper file format Verify proper ASCF format by using the ASCFEditor to view the file and check all configuration settings (must log in to the ASCFEditor as the Tsecurity administrator or as the application owner for the ASCF in question)
Modify any existing Tsecurity client applications using the TPRI.TsecurityClient class in the TsecurityClient.dll assembly to instead use the TPRI.Tsecurity.Client class provided in the Tsecurity.dll assembly
|
Expand |
---|
title | 2004/11/4 - v3.08.00 |
---|
|
Changes: Rearranged this TsentryVersion.rtf document so that the most recent changes are listed at the top Fixed buffering of trend variables to disk to properly initialize disk-based trend buffers Modified tpriPublisher to process ASP.NET pages Added encryption and decryption functions to tpriNtRt.lib Made all required changes to implement new TSECURITY package
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Fixed tpriTrigText to properly process multiple variables from historical trend data files Removed calls to unnecessary security auditing functions in GrantThreadAccessToConsole(..) to speed execution of function Fixed tpriConnSock class to dynamically allocate large enough buffer size as needed Added option to tpriNtRtAdmin task for creating a new task that uses managed extensions Fixed tpriNtRtAdmin VB.NET screen template to properly reference HMI library DLLs in \tbin\ Created SHUTDOWNMGR_XXX defines as flag to pass to tpriProc::shutdownMgr(..) function Added tpriLiteralStr(..) function for processing literal character sequences from strings Fixed tpriStringToChar(..) to correctly check for valid passed buffer size Changed calling format of HmiShare functions to pass-by-value rather than pass-by-reference Added GetFiles(..) function to TPRI.DataDict assembly to expose data dictionary files Made various changes to variable compare function library (cmpVar):
|
...
...
...
...
...
Added fmtVar(..) function for printing variables of a specified type Added variable operator function library (oprVar) Added tpriVop class for parsing and processing arbitrary variable operations Added rules processing system (tpriRpsXXX) classes and functionality Added TPRI.RpsHmi assembly for rules processing system HMI functionality Updated documentation for rules processing system Added TSECURITY_MODIFYRPSRULE security mask to TPRI.SecurityDef HMI library class Added checks to timestamp structure operator functions to avoid divide-by-zero exceptions Added float and double multiply operator functions to timestamp structure Fixed parsing of AllowBadDDComVars flag from sys.ini file during initialization Fixed both tpriDataSetInfo.ocx control and TPRI.DataSetInfo.dll assembly so that axis settings are properly parsed from dataset files Updated workstation configuration instructions on NtRtHmiSetup.aspx web page Moved LogMsg queue definition parameters from s_LOGMSGCOM structure into new s_LogMsgInfo substructure Added tpriLogMsg::getLogMsgInfo(..) function to retrieve info about LogMsg commons Added non-static functions to tpriLogMsg class so it can be used as base class for classes requiring internal logging and message storage functionality Added LogMsg list popup menu in main NtRtMgr application to allow user to easily view current LogMsg queue disk file or explore log file directory Added tpriNtRtApp.lib library for applications requiring access to subset of tpriNtRt.lib functions without requiring TSENTRY running in background Added LogMsg.inl file to standard distribution to provide dummy LogMsg functions for use by applications referencing tpriNtRtApp.lib Added optional parameter to DumpHex(..) to optionally compress output for repeated bytes Fixed binary search of tpriGsmDDCom structure types to correctly set upper bounds of search Modified tpriTrend::reqTrendVar(..) function so that the buffer sizes are not decreased when replacing an existing trend variable that is not forced to the passed trend parameters Made various fixes to tpriTrendTrig class (affecting TrendTrig process):
|
...
...
...
Upgrade Instructions: Before installing, delete all existing files and subdirectories from tpriNtRt\wwwroot and application wwwroot shares Change all screen links to use the .aspx extension instead of .asp Unregister obsolete file: regsvr32 /u %SYSTEMROOT%\system32\TPRI.Cryptcom.dll Delete obsolete files from %SYSTEMROOT%\system32\: TPRI.Cryptcom.dll, TPRI.ADSecurity.dll, TPRI.ADSecurity.tlb, and Interop.ADSecurity.dll If HMI security is enabled:
|
...
...
...
...
Upgrade the %TSENTRY_HMI_PIF%\tpriScreens.ini file to the newest template in \tpriNtRt\Apps\tpriNtRtAdmin\template\ ; instructions for each key, new or old, in the file are contained in the comments of the file Republish all screens with the new screen template using tpriPublisher Review any flat htm screens (e.g. menu pages) files to verify desired named sections match corresponding named sections in specified screen templates
|
Expand |
---|
title | 2004/5/27 - v3.07.00 |
---|
|
Changes: Fixed tpriPublisher command line processing to print instructions if no valid options are supplied Changed tpriNtRtEx.dll to use RTX timers if running under RTX, not just if running under RTSS Fixed cleanup of existing Win32 timers so that changing process rep rate properly works Fixed buffering of trend variables to disk to prevent overflows under rare circumstances Fixed trend server to prevent long delays and high cpu utilization processing variables that have failed to properly buffer values to disk Fixed exception during trend graph initialization for backwards playback under conditions where data returned for different variables have very different timestamps Fixed color of left cursor in TPRI.TrendCtrl (and TrendX) to match background of values Fixed TPRI.TrendCtrl to properly format all internationalized dates and times Moved calcSigDigs(..) function from TPRI.TrendCom object to TPRI.TrendDef module Fixed tpriSvrConn library to prevent ALT-F4 closures when user is not allowed to close window Changed format of NtRtCmd/LogMsg files generated by NtRtMgr screen to support empty strings Changed tpriProcMgr class to parse new NtRtCmd/LogMsg file format Made various changes/fixes to TPRI.BaseControl:
|
...
...
...
Changed TPRI.OpcMgr to use ActiveMode property to decide which objects to manage Changed TPRI.DataDict and TPRI.TriggerEd to use .txt extension for data dictionary initialization filenames and configured default value attributes for object properties Changed ExportDataDict.cmd script to export data dictionary files with .txt extension Comment out commands in ExportDataDict.cmd script to copy data dictionary files to application wwwroot directory Made various changes/fixes to tpriPublisher:
|
...
...
...
...
...
...
...
...
Removed login requirement from NtRtMenu and NtRtHmiSetup screens Fixed TPRI.DataSetInfo to properly save/restore files on internationalized systems Made various changes/fixes to TPRI.TriggerEd:
|
...
...
Modified CreateUser.vb script to check for existing account instead of deleting old Modified CheckValidation.inc script to display useful message when passing through security using an unauthenticated account Added savePersistByList(..) and restorePersistByList(..) functions to tpriGsmDDCom class Made various fixes to variable persistence functions in tpriGsmDDCom class Fixed tpriTrendCtrl ActiveX object to properly format international dates and times Fixed tpriTrendCtrl to reference correct web locations and names for data dictionary files Built new tpriStdControls.cab file to distribute tpriTrendCtrl fixes Add tpriStringToChar(..) .NET function to tpriNtRt.lib library Add tpriUtilNet.h header file to distribution for .NET utility function prototypes Fixed NtRtMgr dialog object to reduce flicker in other applications when updating LogMsgs
Upgrade Instructions: Delete \bin\ subdirectories from all wwwroot shares Delete gsmStruct.ini and gsmVars.ini files from \pif\ subdirectories in all wwwroot shares For each application screen project:
|
...
...
...
...
...
...
...
Expand |
---|
|
Changes: TSENTRY version numbers changed to x.xx.xx format Fixed TPRI.TrendCtrl to properly track cursor values Fixed tpriABPlc connection logic to return connect successful on WSAEISCONN Fixed refresh of file name display as installation is being executed Minor cosmetic fixes to installer Changed TPRI.TriggerEd to use TPRI.DDVarSelectArray class rather than internal private class Modify various scripts to run without prompting for user input Fixed credential conflict problem in TPRI.ADSecurity.dll when executing SetSecurityLevel method for a domain account other than APMSDG account (in mfGetSecurityLevelOther) Added command line version of tpriPublisher (tpriPublisher.com) Modified scripts in NtRtHmiSetup to check for .NET framework installed
|
Expand |
---|
|
Changes: Modified ExportDataDict.cmd script to use fully qualified instead of relative paths Modified ExportDataDict.cmd script to print description of operations Modified data dictionary project template to remove description of Post-Build event Made various changes/fixes to InstallIISComponents.cmd:
|
...
...
...
Moved contents of InstallIISCustom.cmd into two separate scripts InstallIISCustomFiles.cmd and InstallIISCustomSite.cmd to facilitate manual execution of scripts on target systems Added user callable procedure TsentryConfig.cmd that will re-configure Tsentry after a change in the TSENTRY_SYSNAME variable Fixed all issues installing TSENTRY on an arbitrary drive instead of always on the D: drive Made various changes/fixes to TSENTRY installer package:
|
...
...
Added option to copy required screen updates (Login, Probe, TrendX, NtRtMgr,...) to application virtual directory
|
...
Fixed CreateShares.cmd to ensure read/write/change access rights properly set for user tpriHmi on shares DataSet, NtRtCmd, and Trigger Fixed memory leak cleaning up internal variables in tpriTrendSrc class Added error detection and handling to tpriConnSock class to prevent invalid memory access Fixed tpriTrend library to restrict a request for a dynamic variable if a previous request for that variable has yet to be serviced Fixed tpriTrend library to properly destroy a requested variable that hasn’t yet been serviced Modified tpriTrendMgr library to more aggressively clean dead/unused trend variables as trend variable resources become more scarce Fixed tpriLogMsg class to make sure file is open before logging lost messages to the disk Fixed infinite loop in tpriHtm class handling pages with fields exceeding the size of internal buffer Fixed logic in GsmPifBld for handling embedded parentheses in #define math Modified WtClient.dll to optimize speed while reading items from local cache Made various changes/fixes to tpriPublisher app:
|
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Upgrade Instructions: Review above change descriptions for all HMI libraries and make corresponding required changes to screen code (any problems will be listed as errors when HMI screens are rebuilt) Reinstall NtRtHmiSetup package from the NtRtHmiSetup.asp page on all HMI clients
|
Expand |
---|
|
Changes: Fixed TPRI.TrendCtrl and TPRI.ActiveShape objects to correctly persist properties on web pages Modified TPRI.ActiveShape to move Font property into ActiveShapeSetup class Added ActiveShapeArray class to TPRI.ActiveShape.dll Fixed logic in ActiveShape to properly detect value updates following an opc reconnect Added CmdButtonArray class to TPRI.CmdButton.dll Changed TPRI.CmdButton Click event handler parameters to include Sender and EventArgs Improved error handling and logging in TPRI.OpcMgr object Changed name of BaseScreen.Link(..) function to BaseScreen.LinkTo(..) Added BaseScreen.LinkToMenu() and BaseScreen.LinkBack() functions for screen navigation Removed tURL property from TPRI.ActiveShape object Modified various timestamp class functions to prevent overflows and negative timestamps Modified NtRtMgr process so that NtRtCmd files are only processed at most twice per second Modified tpriNtRtAdmin task to allow underscores in system IDs, task names, and screen names Added display and check for system environment variables to tpriNtRtAdmin task Fixed buffer overrun in GsmPifBld process causing #defines to be incorrectly parsed Fixed logic in GsmPifBld process for matching #defines that contain underscore characters Modified InstallIISComponents.cmd script to grant tpriHmi user access to TPRI.CryptCom.dll Moved inline functions from timestamp.h into timestamp.inl Updated TSENTRY class overheads and TSENTRY exercises documents with latest information Updated TSENTRY documentation to reflect above changes and various .NET changes
|
Expand |
---|
|
Changes: Modified tpriNtRtAdmin task to allow creating a new system into a directory structure that already exists (as that created by the Tsentry installer) Modified tpriEnvStr(..) function to assume default buffer size if third parameter is not passed Fixed ValidateUser.asp and PwdChange.asp scripts to correctly reference TPRI.ADSecurity object Fixed TPRI.TriggerStat object to handle conditions where status file does not exist Fixed tpriLogMsg class so that disk file is only opened when messages need to be written Modified NtRtMgr process so that messages are only logged to disk at most twice per second Decreased width of status column of process listbox display on NtRtMgr so scroll bars are not displayed by default Fixed validation errors in NtRtMgr process options editor when various waits and delays are set less than zero Fixed virtual web directory creation script to properly setup tpriHmi user password Fixed virtual web directory creation script to properly set application friendly name Fixed installation script to ensure \pif\ subdirectories exist in various \wwwroot\ directories Fixed TPRI.CryptCom.dll version number to match TSENTRY version number
|
...
...
...
...
...
...
...
...
...
Updated tpriADSecurity.dll to .NET and renamed as TPRI.ADSecurity.dll Fixed bug in TPRI.ADSecurity.dll for handling users whose passwords never expire Updated tpriCyptCom.dll to .NET and renamed as TPRI.Cryptcom.dll Changed name of virtual web directory for standard VB.6 distributions from ‘std’ to ‘tsentry’
|
...
...
...
Rebuilt VC.6 tpriDataDict control to incorporate changes made to data dictionary library in v2.29 but which were mistakenly not included in the tpriDataDict control released with v3.01 Changed NtRtMenu screen from VB-based screen to pure .asp page Added new NtRtHmiSetup page to provide links for HMI client setup Added links on NtRtMenu screen to NtRtHmiSetup page and TsentryHelp documentation Modified TPRI.DataDict control to pre-download data dictionary upon initialization Updated WtOpcSvr.dll and WtClient.dll source code to Visual Studio.NET 2003 Added GetSvrShutdown() exported function to WtClient.dll Fixed tpriTrend library to use default buffer sizes if trend global common is not mapped as in applications like tpriTrigText Removed $(RtxSdkDir)\include from include path for Debug and Release versions of tpriNtRtAdmin task project file template Updated tpriTrigText to convert multiple files in a single batch Fixed NtRtMgr screen to immediately update active process info when process goes inactive Modify tpriProc and tpriProcMgr classes to put an RTSS task into error state if attempt is made to activate task w/out RTSS support Fixed NtRtMgr process to allow changing of process options for processes with Start Order >= 50 Fixed tpriGsmDDCom table searching functions to correctly compare passed names in cases where one complete element name matches the beginning of another (e.g. MYCOM and MYCOM1) Increased maximum allowed structure definitions in data dictionary from 5000 to 7500 Modified LogMsg text logged when internal clocks drift too far from wall clock Fixed tpriProc::getWallTime(..) function to ensure reported time never runs backwards Modified calling parameters to tpriEnvStr(..) to force caller to pass size of optional buffer Added tpriRdcSer serial driver class to tpriRdc library Added tpriRdcTcp::listen(..) TCP/IP server function to library Document list of “C” constructs not supported by GsmPifBld and data dictionary Merged TsentryVersion.doc with TsentryUpgrade.doc and converted to TsentryVersion.rtf Modified installer to display TsentryReadme.rtf as readme during installation Fixed tpriPublisher and tpriNtRtAdmin tasks to display correct version number in help dialog Added optional third parameter to tpriEnvStr(..) function to specify buffer size
Upgrade Instructions: sysDataDictionary → Properties → Build Events → Post-Build Event → Command Line and replace with the following command (or alternative batch procedure for systems with non-standard file naming conventions): Code Block |
---|
..\..\..\tpriNtRt\procs\ExportDataDict.cmd |
|
...
...
...
This will prevent Visual studio from examining the data dictionary project while looking for projects that are out of date before starting a debugging session. However, the data dictionary will need to be manually rebuilt when header files are changed. |
Expand |
---|
|
Changes: Included changes for v2.29 that were excluded from v3.00 Modified tpriLogMsg control to display date along with time Fixed formatting of time difference in tpriTrendCtrl to support international use of commas instead of decimal points for representing fractional seconds Fixed compiler options for RTSS versions of tpriPio and tpriRdc libraries Updated to support VenturCom RT-TCP/IP v2.0 Removed RtxTcpIp.lib from TSENTRY distribution libraries Changed all tpriPio.rtss.lib classes using sockets to call WSAStartup(..) for RTX TCP/IP v2 Removed tpriGePlc setsockopt() call to turn the IPPROTO_TCP timestamp off since this is not supported in RTX TCP/IP v2 Fixed TCP/IP connection routines in A/B PLC, A/B ControlLogix, GE PLC, and Modnet PLC drivers to use select(..) calls for detecting success of non-blocking connection attempts Modified A/B ControlLogix driver to add readClCip(..) and writClCip(..) functions Added detailed error messages during connects, reads, writes, and disconnects to A/B ControlLogix driver Eliminated long delays when authenticating foreign domains for HMI security Fixed tpriTriggerStat control to map share directory before attempting to read status file Modified tpriHmi.bas module to attempt to connect with password tpri#1Hmi before trying old password tpriHmi Rebuilt tpriDataSetInfo, tpriTriggerSrc, tpriTriggerEd, and tpriTriggerStat to include above change to tpriHmi.bas module Fixed HMI security to properly authenticate local machine accounts and user groups Modified GsmOpcRSvr to eliminate requirements for MFC and MSVC runtime DLLs Modified tpriCryptCl.dll to eliminate requirement for ATL runtime DLLs Added checks to tpriPublisher to verify all constituent files exist before building an included cab Added delay when automatically restarting TSENTRY to allow O/S to clean up killed processes Added numerous checks to tpriGsmDDCom functions to verify global common is already mapped Removed chapter and section numbers from TSENTRY manual Made copious corrections to TSENTRY manual to reflect latest installation procedures
Upgrade Instructions: |
...
...
...
...
...
...
...
...
...
...
Expand |
---|
|
Changes: Note: v2.29 was release after v3.00, so the changes listed for v2.29 were not included in v3.00 Initial release under Visual Studio .Net 2003 Updated tpriNtRtAdmin task and templates to support Visual.Net 2003 Fixed bug in tpriNtRtAdmin task failing to properly create tpriScreens.ini file from template when generating a new system Updated to support VenturCom RTX 5.5 (RT-TCP/IP not supported) Fixed calculation of timer interval percent for processes with non-zero timer delay but with rep rate set to zero Added support for ProEssentials graphs v5, including cab files and tpriPublisher templates Upgraded TrendX and ProbeV to use ProEssentials graphs v5 Increased max updates per request on TrendX to 600 to support 1 ms trending Fixed tpriActiveShape to properly format text via the tFormat property Added tpriProc::isValidProc(..) function to check for valid application names Added application-defined shutdown options to NtRtMgr dialog Optimized portions of GsmPifBldr to speed data dictionary builds for very large systems Fixed tpriTrend::getDataValidPtr(..) to check return value before setting bit index Modified NtRtMgr task to display date along with time Fixed tpriTrendCtrl control to support trending NaN values Add log of description of failure in case of error mapping shared memory Modified TrendGsm and TrendTrig processes to set process into error state if failure to map shared memory occurs and TrendMgr task is not up and running
Upgrade Instructions: Open existing tasks development workspace in Visual.Net 2003 and convert all existing project configurations to Visual Studio .Net 2003 Verify that project settings for RTSS versions of all processes have the following Configuration Properties set in the Project Properties dialog:
|
...
...
...
...
...
...
...
...
Upgrade any existing screens using ProEssentials v3 to use v5 controls. Alternatively, if v3 is still desired, verify that all screen sections in %SYSTEMROOT%\system32\tpriNtRtAdmin.ini file have a includeCabs key value that includes pe3, such as:
Code Block |
---|
includeCabs=tpriStdControls,pe3 |
|
Expand |
---|
|
Changes: Added GrantThreadAccessToConsole(..) function for to allow threads to access the console desktop while running NtRtSvc service Modified tpriSvrConn library to call GrantThreadAccessToConsole(..) function for all threads to prevent TrendSrv and GsmExpSvr crashes when running NtRtSvc Fixed all tpriSvrConn, TrendSrv, and GsmExpSvr derived classes to call default constructors Added event logging to NtRtSvc for errors and start/stop Added checks for running out of data dictionary memory Increased scratch memory size for data dictionary
|
Expand |
---|
|
Changes: Fix tpriProcMgr class to correctly delay starting a process with startTime > 0 Increased maximum number of processes from 50 to 100 Optimized tpriDataSetInfo control to parse data sets more quickly Fixed tpriTrendCom control to handle sporadic errors when server disconnects unexpectedly Added automatic system restart option to NtRtMgr Fixed tpriTriggerEd control to handle errors saving trigger files Fixed tpriTriggerEd control to always read and write fully qualified variable names Added TriggerStat.txt status file output from historical trend system Created tpriTriggerStat control for displaying trend trigger status files Added tpriTriggerStat control to TriggerEd screen to display trigger status files Added documentation for setting up Windows XP clients to connect to OPC Fixed tpriDataSetInfo control to use correct %APPDATA% define for locating local disk files Fixed tpriDataSetInfo and tpriTriggerEd controls to handle errors writing files to controller Fixed tpriSecurity.bas module to support various internationalized time formats Fixed Menu button on NtRtProcEd screen to correctly link to previous menu Changed return value from tpriCleip::Disconnect(..) to indicate if FwdClose operation failed Corrected string formatting of time in tpriTrend.bas module to prevent rounding fractional seconds up over the one second boundary Added timestamp::to1601(..) function to convert timestamps to FILETIME values Added function tpriCleanDir() to tpriNtRt library to delete all files in a directory older than a specified time Added options to sysLogs.ini file to specify maximum number of days to keep log files on disk Modified sysLogs.template.ini file to add default values for above option Added ‘/q’ option to installSystem32-XXX.bat procedures to run without user intervention Fixed bug in trending system causing application crashes when using > 25% of trend memory Fixed bug in NtRtProcEd screen failing to reset debug level after submitting changes Added data validation for priority and rep rate on NtRtProcEd screen Added feedback for submit button on NtRtProcEd screen Added support to WtOpcSvr.dll for registration with a NULL string provided for executable path Added /regclient support to GsmOpcSvr/GsmOpcRSvr Changed tpriStdControls.cab to install GsmOpcRSvr using /regclient parameter Changed tpriGsmDDCom initialization to check for sysVars.ini file errors after reading entire table and sorting for fast searches Rebuilt tpriDataDict control to reflect changes to initialization of tpriGsmDDCom class Fixed bug in tpriGsmDDCom::getVarType(..) occasioning incorrectly returning VT_ARRAY Added optional parameter to tpriGsmDDCom::getVarTypeName(..) to request the structure name instead of the base type name Added getVarArrDimCnt(..) and getVarArrDim(..) functions to tpriGsmDDCom class Added calls to tpriProcMgr::updTime(..) during NtRtMgr initialization so LogMsg’s display the correct time following long operations Modified NtRtSvc to parse environment variable strings from command line arguments Added ability from HMI security to change user password (if using Active Directory) Added support for incomplete tpriScreens.ini file as long as security is disabled Modified tpriADSecurity.dll to reduce window for credential collision errors
Upgrade Instructions: |
...
sysLogs.ini file to specify max number of days to keep log files similar to template \tpriNtRt\apps\tpriNtRtAdmin\template\sysLogs.ini file
Delete all temporary files in \locNtRt\sys\temp\* Integrate the existing \sys\pif\tpriScreens.ini file with the latest template file \tpriNtRt\apps\tpriNtRtAdmin\template\tpriScreens.ini.template
|
...
...
...
...
...
...
...
...
...
Expand |
---|
|
Changes: Added trending cursor differences column to tpriTrendCtrl Changed tpriProc::getWallTime(..) function to return approximate UTC wall time as last value set in global common by NtRtMgr Added tpriProc::getUndriftedClockTime(..) function to return UTC wall time estimated from real-time clock with drifting effects taken into account Restored Probe.ocx CLSID to that used in versions <= v2.22 Added support for user-defined HMI security and timeout groups Changed security level variable from 2-byte integer to a 4-byte integer Changed use of security level from an incremental number to a bitmask for various different rights Implemented new security rights on all TSENTRY screens Updated tpriScreens.htm.template to call checkValidation(..) on screen startup Updated A/B Control Logix PLC driver to support additional variable types and forward close Added tpriSvrApp::getPortNum(..) function to return current port number Corrected tpriConnThread::AttachSocket(..) to properly convert port numbers from TCP/IP network byte order to host byte order Modified NtRtProcEd screen to edit and write to the procs.ini file all configurable parameters also available through the console NtRtMgr Added documentation for NtRtProcEd screen Changed TrendX to force unpause when changing trend source Removed pre-fetch from tpriLogMsg control to eliminate improper message display Fixed WtClient.dll to prevent crashes during repeated disconnects/reconnects Add code signing tools to tpriPublisher distribution Removed various customer-specific documentation from Tsentry documentation
Upgrade Instructions: |
...
...
...
...
...
...
...
...
...
...
...
...
Expand |
---|
|
Changes: Removed tpriProc::time(..) and tpriProc::ftime(..) functions Changed tpriProc::lcltime(..) to tpriProc::localtime(..) Added tpriProc::getWallTime(..) functions to retrieve current UTC wall time Modified Win32 internals of tpriNtRtEx.dll function tpriGetClockTime(..) to use performance counters instead of ftime(..) function Corrected tpriTrend RTX timers to account for drift in RTX clock vs. wall clock Added timestamp::from1601(..) function to convert FILETIME times to timestamps Changed trending system to make the number of trend sources, number of trend variables, and overall size of global common configurable via sysTrend.ini file Updated trend system documentation to reflect ini file additions Modified sysTrend.ini.template file to include new parameters to support above changes Changed TrendMgr to provide warnings and suggestions when near capacity of internal buffers Optimized tpriLogMsg class to reduce overhead involved in opening and closing files Implemented domain-based security on TSENTRY HMI web pages Added security modifications to tpriNtRtAdmin screen templates Changed location of distributed tpriNtRtEx.dll to accommodate additional dll’s Added ‘installSystem32-XXX’ batch files to automatically install required system32 components Fixed tpriPublisher to support new client encryption/decryption dll Modified tpriPublisher to add ‘Cancel’ button for most errors Updated tpriNtRtAdmin to create tpriScreens.ini from template when generating a new system Updated tpriNtRtAdmin to instruct use of ‘installSystem32-XXX’ batch files Added Insert/Delete form to tpriTrendCtrl to allow insertion/deletion of multiple rows and special array insertion Added button to tpriTrendCtrl to sort variables according to the axis to which they are assigned Added tpriProc functions to set process priority and rep rate Modified NtRtMgr to allow modification of all configurable process options and option to write parameters back to procs.ini file Added functionality to ProbeA and ProbeV to view arrays larger than 128 elements Added button to reset trending cursors to outside boundaries of current view Fixed tpriDataDict control to remove requirement for additional undistributed msvcp60.dll
Upgrade Instructions: Clean out \tpriNtRt\bin\ directory before installing new \tpriNtRt\ directory Copy \tpriNtRt\apps\tpriNtRtAdmin\template\tpriScreens.ini.template to system pif directory as \sys\pif\tpriScreens.ini Create system environment variable TSENTRY_HMI_PIF and set its value to the fully qualified directory name of your \sys\pif directory (no trailing backslash) Modify all application screens to support security Add module ..\..\..\tpriNtRt\modules\tpriSecurity.bas to screen Add timer to screen, set its name to tmrSecurity, and set its interval to 10000 Add the following two functions to the screen code
Code Block |
---|
' This event is raised by the timer to periodically check if
' the screen's security mask has timed out
Private Sub tmrSecurity_Timer()
If (checkSecurityTimeout) Then
' timeout has occurred, so reset screen controls
Call secureScreen(getSecurityLevel)
End If
End Sub
' Lock down the controls that should be locked based on the security mask
Private Sub secureScreen(ByVal securityLevel As Long)
' lock down controls as desired
End Sub |
Code Block |
---|
' initialize security
Call initSecurity(window.location.hostname)
Call secureScreen(getSecurityLevel) |
Copy the following files from the tpriNtRt\wwwroot\ distribution to your application \locNtRt\sys\screens\wwwroot\ directory: global.asa Logout.asp Login.asa ValidateUser.asp include\*
Delete all application screen *.htm & *.asp files and re-publish using tpriPublisher
|
Expand |
---|
|
Changes: Fixed tpriVmic improper variable indexing for checking overlaps Fixed Allen-Bradley handler to properly read and write large buffers containing short integer data types Fixed benign buffer error in NtRtMgr that caused message on startup under Visual.NET Fixed tpriIniFile class to prevent possible infinite loops when searching for key/value pairs Added additional error messages to tpriPublisher when specifying non-existent htm templates Fixed bug in GsmPifBld processing #defines that equate to negative values Fixed bug in GsmPifBld mistaking bad variable definitions for function definitions Added property to tpriDataSetInfo control to allow disabling of save/delete buttons Added ReadWriteCookie.bas VB module
|
Expand |
---|
|
Changes: Further modifications to tpriSvrConn library to manage multithreaded windows issues Add variable descriptions as tooltips to Probe/ProbeA/ProbeV pages Corrected error in binary display of certain numbers in Probe/ProbeA/ProbeV Fixed tpriGsmDDCom to correctly retrieve min/max/init variants for variable names with undefined indices Corrected typo in tpriNtRtAdmin.ini.template file Added additional error messages to tpriPublisher Added LogMsg to indicate when NtRtMgr is shut down from console Added tpriVmic support for new PCI-5576 card Added tpriVmic ini file parameter to automatically write the I/O description table and to set endian swap settings Added tpriVmic support for bit explode/implode to and from vmic memory Added bit set and reset write types to tpriVmic driver Added VmicDrv example driver process to samples Added TsentryUpgrade.doc document for version upgrade instructions Changed tpriLogMsg control to pre-fetch LogMsgs to speed updates Reworked tpriOpcMgr and all opc-enabled controls to migrate control-specific updates back into the controls themselves Added events to opc-based tpriStdControls to allow screen to translate variable requests Add environment variable processing for #include files in GsmPifBld process Corrected data dictionary sorting and variable initialization for generalized indices Corrected errors in trend trigger subsystem for triggers with zero post-trigger trending times Fixed tpriTriggerEd control to display an error for bad trending times Changed tpriCtrl::findParentControls to not accept empty control names, fixing bugs in tpriTrendCtrl, tpriTextBox, and tpriComboBox Fixed memory leak in tpriOpcCom control Modified GsmOpcSvr self-registration for Windows XP support Changed tpriBarGraph control to improve initial update speed Changed tpriTrendCtrl to display a border on the trend color indicator if the trend color is the same as the tpriTrendCtrl background color Added sys.ini file parameter ‘AllowBadDDComVars’ to allow system to start even if bad variables exist in sysVars.ini file Added tpriIniFile::getFileName() function to return current file name, if available Added tpriIniFile::getSectName() function to return current section name, if available Added tpriIniFile::findNextSection() function to find the next section, if one exists Fixed tpriTextBox control to format times correctly Updated Allen Bradley Plc driver with additional methods for PLC reads and writes Updated Tsentry Class Overheads to v4 Updated and expanded TsentryExercises Fixed tpriProcMgr process alive detection to support processes that have terminated but still have process handles open Removed unnecessary logging from tpriTimer routines Fixed Clear Error process command from NtRtMgr web page Added form feed and LogMsg buttons to NtRtMgr web page Various code-level changes to support Visual.NET Removed debug level DEBUG from dbgdef.h Changed maximum opc connections to 100 Added display of number of static and dynamic variables to TrendGsm status line Added additional time formatting to tpriTextBox controls Changed tpriDataDict control to recover if vars.ini file contains errors
Upgrade Instructions: Check for and fix typo in c:\winnt\system32\tpriNtRtAdmin.ini file ; section name should read [tpriStdControls], not [tpriStdContarols] Create NtRtCmd/LogMsg subdirectory in your \sys\ directory or equivalent Change all LogMsg calls using debug level DEBUG to some other debug level (e.g. DBDEBUG)
|
Expand |
---|
|
Changes: Added error messages to NtRtMgr startup Updated command line help for GsmPifBld Updated tpriTextBox and tpriComboBox for tooltips and special time formatting Changed to tpriPublisher to allow user cab files Improved tpriPublisher error reporting Added optional parameter to tpriEnvStr function to export modified string Added process priority to both NtRtMgr displays Fixed trend display bug pausing/restarting/unpausing and not getting any data Changed tpriTrendPlayback control to automatically unpause when user pushes reset button and to adjust real-time playback rate as user updates value Changed tpriTrendCom to not update display if playback mode has changed since last request Modified tpriSvrConn library to prevent ASSERT errors when creating new connection windows Updated NtRtScreen.htm.template to provide a more descriptive error if screen fails to load
Upgrade Instructions: Clean out \tpriNtRt\Docs\ directory before installing new \tpriNtRt\ directory Copy [tpriStdControls], [vs7], and [pe3] full sections from template configuration file \tpriNtRt\apps\tpriNtRtAdmin\template\tpriNtRtAdmin.ini.template into active configuration file c:\winnt\system32\tpriNtRtAdmin.ini Delete all application screen *.htm & *.asp files and re-publish using tpriPublisher
|
Expand |
---|
|
Changes: Added error messages to NtRtMgr startup Fixed error activating/deactivating/etc process names containing .’s from web page Added error messages if failure processing NtRtMgr web page commands Added error messages if failure activating/deactivating group from NtRtMgr console Fixed GsmPifBld bug detecting false end-of-file conditions Fixed GsmPifBld parsing bug for structs/unions/etc spanning multiple lines Added optional parameter to tpriGsmDDCom::searchTree(..) to specify searching only variable names or descriptions Added seconds timer function SetSTimer(..) Fixed $LIBPATH$ and $INCPATH$ template processing in tpriNtRtAdmin task Changed tpriDataSetInfo to store files in c:\Documents and Settings\user\Application Data\TPRI Fixed tpriLogMsg class for 100% cpu utilization when invalid LogMsg directory is specified Added mutual exclusion in multithreaded sections of tpriConnSvr library to prevent ASSERT Cleaned up thread shutdown sequence in tpriConnSvr library Added tpriEnvStr function to translate environment variables Changed tpriProcMgr to parse environment variables from procs.ini file Changed tpriIniFile to parse environment variables from file name before opening (Win32 only) Changed tpriTrendMgr to parse environment variables from trend directories Changed tpriLogMsg to parse environment variables from LogMsg directories Change NtRtMgr to parse environment variables from command line and splash image file name Changed tpriPublisher to parse environment variables from the tpriNtRtAdmin.ini file Added getKeyValueEnv(..) functions to tpriIniFile class Fixed tpriIniFile::deleteSection(..) to not destroy the file if the section doesn’t exist Added tpriModPlc::SetPduMaxIoDataBytes(..) to set max data bytes in a single Ethernet frame
Upgrade Instructions: Manually fix $LIBPATH$ directory specifier in link options of any applications created from template with v2.20 version of tpriNtRtAdmin.exe Manually fix $INCPATH$ directory specifier in include directory options of any applications created from template with v2.20 version of tpriNtRtAdmin.exe
|
Expand |
---|
|
Changes: Added support for include directories to GsmPifBld command line parameters Modified return type of TstTimer(..) function for backward compatibility Updated tpriGePlc driver for tpriTimer changes Fixed process group startup sequence when group contains no processes Changed variable persistence to avoid processing variables set for no persistence Fixed getVarInit/Min/Max functions for variable names without fully qualified indices Changed tpriConnSock to use non-static buffer for TCP/IP receives Added ini parameter to turn off the option to kill existing processes when starting system Added LogMsgs when starting a system while one already exists Added check in NtRtMgr for invalid LogMsg times to display as ‘Unknown’ Fixed VC++ project template to link Win32 Debug and Release processes against user32.lib Fixed WtOpcSvr.dll to prevent removal of OPC variables on fast disconnect/reconnects Filled in the holes in 04StandardTasks.doc Added NtRtProcEd screen to list of standard screens Updated NtRtMgr screen to support process control via web screen Added tpriComboBox control to standard controls Updated tpriOpcMgr to support tpriComboBox control Add cursors to TrendX displays Updated documentation for trending system Added user selectable destination directories for task generation in tpriNtRtAdmin task Added optional compiler and linker flags to tpriNtRtAdmin task Added creation of NtRtCmd directories and shares to tpriNtRtAdmin task Added tpriNtRtVersion identifier to text portion of historical trend files Added ‘-display’ option to NtRtSvc to print current command line Added TSENTRY web-based help to standard distribution
Upgrade Instructions: |
Expand |
---|
|
Changes: Additional optimization to tpriActiveShape control Added additional tpriPci::findPci(..) override function to allow scanning for device ID range Fixed tpriPci::findPci(..) to properly handle index parameter Modified DumpHex(..) to add LogMsg queue support Modified DumpHex(..) to check debug level up front Added additional DumpHex(..) override functions Updated AllenBradly ControlLogix driver Added Modicon PLC driver over TCP/IP network under Win32 only (RTSS not yet supported) Updated tpriHmi VB module to speed up establishing shared connections Fixed tpriVmic library to correctly produce variable I/O maps Added ppLed(..) function to tpriNtRt library
|
Expand |
---|
|
Changes: Increased maximum number of trends on a screen and variables in a data set from 256 to 768 Added unhandled exception processing to optionally provide process crash information Added pulse timer to detect when a process becomes non-responsive Added NtRtMtr task for high-priority process monitor functions Modified NtRtMgr to allow editing of Trap Crash flags and Pulse Timeout value Modified sysProcs.ini template file for Trap Crash and Pulse Timeout support Updated documentation for Trap Crash and Pulse Timeout ini parameters Added GsmPifBld support for #define statements spanning more than one line Optimized tpriActiveShape to minimize CPU requirements for updates Optimized tpriTextBox to minimize CPU requirements for updates
Upgrade Instructions: Add user32.lib to link libraries for all Win32 Debug and Release project settings Modify sysProcs.ini file to support new file type using \tpriNtRt\apps\tpriNtRtAdmin\template\sysProcs.ini.template as example: Import updated comments in file header from template file Change ‘Record’ column to ‘Trap Crash’ Add ‘Pulse TmOut’ column between ‘Kill Wait’ and ‘CTail’ Add NtRtMtr task to list of system processes
|
Expand |
---|
|
Changes: Added Allen-Bradley Control Logix PLC handler to the tpriPio library Corrected tree traversal in tpriGsmDDCom for array variables Added wait cursors around long drive mappings in standard controls Changed tpriHmiMap to use localhost\tpriHmi so function doesn’t try a domain logon Changed tpriDataSetInfo, tpriTrendSrcSelect, and tpriTriggerEd to keep share connections open Added standard timer functions to tpriNtRt library Corrected startup sequencing error waiting for tasks to initialize Fixed bug in tpriRdcTcp::rdClean(..) when > 256 bytes exist to be read Updated GE PLC handler for Win32 non-blocking connections Added check in GsmPifBld to prevent setting default packing size to zero
|
Expand |
---|
|
Changes: Added fix to ignore ‘Esc’ key processing in NtRtMgr if running with GuiOption=NoStopSystem Added support for CoBox terminal servers to tpriRdc classes Updated documentation for tpriRdcCbx class Fixed overflow error in tpriLogMsg control Optimize tpriOpcMgr control to use binary searching on OPC updates Corrected GsmExpRcv to allocate large enough receive buffer before sending initial request Modified NtRtSvc to allow running service as specified user
|
Expand |
---|
|
Changes: Add NoConsoleLogMsg as GUI option Fixed OPC dll to allow requests for the same variable twice on a single connection Move check for debug level earlier in LogMsg to speed no-op return Modified tpriProcMgr to support group-based process management Modified template sysProcs.ini to support group-based process management Added tpriProc functions to start and stop process groups Modified NtRtMgr.exe to support user-defined process groups Added tpriProc function to completely stop system and optionally shutdown or restart Windows Modified NtRtStop process for new tpriProc shutdown API Fixed initialization of init/min/max for string variables that do not completely specify the buffer Added tpriGsmDDCom function to initialize all variables in a GSM to their initial values Fixed NtRtMgr to recognize difference between session logging off and system shutting down
Upgrade Instructions: |
Expand |
---|
|
Changes: New website commissioned at http://www.tsentry.com Implemented RTX v5.1.1 official release Updated tpriDataDict control to support data dictionary fixes in v2.12 Enhanced tpriDataDict variable search to allow quotes, commas, and spaces Fixed tpriProc::setDispStatus(..) to prevent access violation if tpriProc not initialized Changed tpriTrendCom to work around ProEssentials bug when setting full screen of trend data Fixed tpriTrendCtrl to prevent rescroll of trend variable list when deleting or inserting Changed name of save trending buffer file to TRENDCOM.bin Fixed restoring of TRENDCOM to allow a source to change its base period Prevent restoring of trend variables whose sampling period is incompatible with the base period Set tpriSvrConn classes to set keep-alives on client connections Updated documentation for NtRtMgr web page Updated documentation for GsmExpSvr and GsmExpRcv tasks Updated courseware slides with some cosmetic fixes Updated documentation for tpriIniFile class Added more instructions on tpriNtRtAdmin Generate XXX windows Added explanations each of the sections in the courseware exercise cookbook Cosmetic changes to default process NtRtTask.cpp.template Fixed OPC DLLs so that the number of OPC client connections does not grow unchecked Fixed OPC DLLs to prevent segment faults under numerous connects and disconnects Updated OPC DLLs to radically improve variable update speed Fixed GsmOpcSvr to prevent referencing item handle after its removal Updated GsmOpcSvr to update variables using lists Fixed tpriGsmDDCom::mapGsm(..) to use the GSM variable name, not GSMName Changed interface of tpriGsmDDCom to simplify internals and updated documentation Fixed incorrect variable sizing for typdef’d arrays in data dictionary Fixed improper lookup of min/max/init value when GSM and structure have different names Added sorting and binary search to data dictionary to radically improve lookup speed Added data dictionary support for unions Added logging for errors parsing/creating data dictionary variables Corrected data dictionary to always give true variant type, if appropriate Trap exceptions caused by inappropriate format strings assigned to data dictionary variables Corrected GsmPifBld crash parsing structures with no members Changed command line parameters to GsmPifBld Do not allow process to initialize itself if another instance is running Corrected LogMsg to correctly handle printing strings that contain formatting strings themselves Fixed LogMsg to correct timestamping for skew in RTX clock Fixed LogMsg to prevent crash from passing strings that are too long Updated VB screen template to reference latest tpriLogMsg control Changed title of NtRtMgr to show TSENTRY version number Fixed crash when starting NtRtMgr while other processes are active Added check to prevent NtRtMgr from being suspended Fixed failure to display files when loading DataSet Added optional text display to tpriToggleButton Added config file options to modify GUI options Fixed NtRtStop to properly stop system in various non-standard cases Added automatic startup with system via NtRtSvc service Added automatic creation of \cab\ directory by tpriPublisher if it doesn’t already exist
Upgrade Instructions |
Expand |
---|
|
Changes: Changed intervalPct process common variable to intervalPctAvg Added intervalPct value to process common for storage of current interval Corrected intervalPctAvg and intervalPctMax statistic calculations Update NtRtMgr.ocx to reflect intervalPct changes Fix improper removal of unrequested variables on all three Probe screens Turned down logging to DBLOG of invalid trend buffer points to disk Add ability to configure length of build timeouts in tpriPublisher Increase timeout of dynamic trend variables to 60 minutes Removed call to WSAStartup(..) from RTSS I/O drivers and examples Added base sampling period to trend source definition to fix logic forcing new dynamic trends Fixed problem restoring requested but unclaimed variables Fixed problem logging messages to disk when message buffer gets overrun Fixed data dictionary to allow tabs in vars.ini file Enhanced data dictionary to allow different specifications of init/min/max variables Increased max number of variable definitions in data dictionary Increased minimum trend time to 10 min for dynamic trigger & historical trend variables Initial release of GsmExpSvr and GsmExpRcv data mirroring processes
Upgrade Instructions: |
Expand |
---|
|
Changes: Implemented RTX v5.1 official and patch Fixed initialization of trend width, sampling period, and line color in tpriDataSetInfo control Fixed tpriTrendCom control to request proper sampling period Allowed dynamic trends to reinitialize upon request with faster trending periods Fixed Flat Win32 tpriNtRtEx.dll to create “Global\xxx” GSM segments Added JWC Honorary LogMsg button to NtRtMgr console Changed tpriLogMsg class to store date/time, process, function, and text independently Upated tpriLogMsg documentation to reflect new interface Changed tpriLogMsg and tpriOpcMgr controls to handle new tpriLogMsg class interface Updated ini file error reporting for tpriPublisher Update error handling for tpriIniFile class Fixed VC++ project template to define UNDER_RTSS properly
Upgrade Instructions: Upgrade RTX-enabled systems to RTX v5.1 Ensure all RTSS_Debug and RTSS_Release build settings define UNDER_RTSS, not _UNDER_RTSS
|
Expand |
---|
|
Changes: Fixed call to WSAGetLastError() if WSAStartup fails in tpriRdcLts examples Fixed tpriProc::Deactivate(..) logic that was occasionally returning a mistaken error Added check not to start RTSS tasks under w/ Flat Win32 version of tpriNtRtEx.dll Prevent tasks marked as tpriProcError from being automatically restarted Add console option to clear error associated with a process Added reconnect delay for tpriRdc classes Fixed detection of disconnect during tpriRdcTcp::read(..) Updated documentation for standard libraries Fixed error handling on system startup, added more descriptive messages Corrected VMIC driver for true RTSS operation Added remote address and port number member variables to tpriConnThread class Pulled out debug statements from tpriRdc classes to prevent forced logging
|
Expand |
---|
|
Changes: Handle #pragma pack (x) directives in data dictionary header files Removed use of strtok(..) from LogMsg functions Fixed LogMsg parsing of multiple queues Add number of opc variables to GsmOpcSvr process status string Added/changed many tpriProc functions to make static and useful Changed creation of shared memory to give everyone full access Changed tpriProcMgr to assume process is alive if security failure opening process handle Fix return value for non-blocking tpriRdcTcp::read when no data is present Changed non-blocking tpriRdcTcp::open to use select(..) to detect connection completion Increased maximum number of GSM structure entries from 3000 to 5000 Change GsmPifBld to ignore #include files that it cannot find Added tpriRdcLts::resetConn(..) function to tpriRdc library Added getLineCount(..) functions to tpriIniFile class Added option for connection thread timers in tpriSvrConn library
|
Expand |
---|
|
Changes: Expanded max OPC items per page Added support for multiple LogMsg queues Changed tpriNtRtAdmin templates to include sysLogs.ini template file Added tpriLogMsg to standard ActiveX controls Added documentation for tpriLogMsg class and control Various other documentation fixes and touch-ups Added process common to data dictionary Added NtRtMgr web screen (system observation only) Implemented RTX v5.1 beta-release Removed kernel32.lib from link list in template process makefile Added RTSS shutdown handler for Windows BSODs Added tpriVmic process I/O driver and documentation
Upgrade Instructions: Remove kernel32.lib from link list in RTSS_Debug and RTSS_Release build settings for all application processes Add tpriProc.h and tpriLogMsg.h to data dictionary root header file as shown in \tpriNtRt\apps\tpriNtRtAdmin\template\sysGsm.ini.template
|
Expand |
---|
|
Changes: Initial deployment of website http://www.tpri.com/tsentry Fixed Public Function ‘Link’ in VB screen template tpriCmdButton handles error if no Link function is provided in parent function Updated documentation for adding new user in Windows 2000 Updated documentation for installation of Windows 2000 Server system (errors in VCI install) Updated documentation for installation of RT-TCP/IP stack and configuration of 2nd NIC Updated documentation for configuring GsmOpcSrv for access via web screens loaded in terminal services sessions Added no-items indication on tpriOpcMgr control Fixed min/max validation in tpriTextControl Turn off redundant messages from TrendSrv if historical variable doesn’t exist
|
Expand |
---|
|
Changes: Trending documentation revised with screen shots Revised v2 of class notes Class exercises enhanced with screen shots Cosmetic fixes to various screen and task templates Updated release of WinTech OPC dll’s Added tpriOpcMgr property to allow connection to alternate OPC servers Initial release of static interface to Lantronix terminal server with example Initial release of RDC interface to Lantronix terminal server with example Added support for GE PLC RTSS driver
|
Expand |
---|
|
Changes: First official release of TSENTRY Initial release of soft real-time and development versions running w/ tpriNtRtEx.dll Added tpriNtRtAdmin process to facilitate creating a new system/task/screen Added class notes and exercises Initial release of Win32 GE PLC driver
|