- Created by Luke Cerwin on Jul 26, 2022
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
Version 1 Next »
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.com
Following 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
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
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
Changes:
Fix logging of ProbeSvr variable changes (TSEN-38)
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
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
Changes:
Added TstartMgr utility
Fixed Tsecurity installer to no longer create a local account named LOCALSYSTEM
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
Changes:
Updated versioning to 4 digits (Major.Minor.Build.Rev)
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:
Allocate()
Zero()
Copy(..)
Added FromHexString(..) extension for strings
Added new tpriTimer functions:
Act*Timer(..)
Exp*Timer(..)
Changes:
Fixed variable entry on TriggerMgr screens
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
Changes:
Updated GE PLC handler so Win32 version does not call unsupported setsockopt for timestamp
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:
Modify sysProcs.ini file to support new file type using
\tpriNtRt\apps\tpriNtRtAdmin\template\sysProcs.ini.template
as example:Add [AppGroups] section with keys for all defined application groups
Ensure that TSENTRY processes are listed in [System] group
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
Upgrade RTX-enabled systems to RTX v5.1.1
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:
Add #ifdef UNDER_RTSS and #endif around all calls to WSAStartup(..) in RTSS applications as shown in \Example\Tasks\DemoLts\DemoLts.cpp
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
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
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
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
Changes:
Fixed buffering of trend variables to disk
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
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
Changes:
Fixed OPC for string I/O
Probe/ProbeA/ProbeV fixes for reading/writing binary data
Fixed trend system for backwards playback
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
- No labels