================================================================================ CyBroScgiServer version history ================================================================================ legend: + - new feature * - change/update ! - bug fix ? - known issue - - deleted feature written for Python 3.8 -------------------------------------------------------------------------------- v3.1.3, 17.1.2022, Davor ! Datalogger sampling period was calculated wrong. -------------------------------------------------------------------------------- v3.1.2, 9.12.2021, Davor ! Writing to float variable was chrashing the server. -------------------------------------------------------------------------------- v3.1.1, 7.4.2021, Zlatko ! Writing float constant to int variable caused error. ! Exception when plc program is resent, timedate conversion failed. -------------------------------------------------------------------------------- v3.1.0, 11.2.2021, Zlatko + HTTPS encryption for SCGI requests. + Detect that confing.ini is modified and automatically restart. ! Variable sys.server_uptime is now displayed in correct format. - Variable sys.plc_status removed, due to impact on performance. -------------------------------------------------------------------------------- v3.0.6, 16.11.2020, Studio6dof/Zeljko ! Added error handling to plc_head deserialization (when timestamp is FFFFFFFF). ! Added additional check for plc program, after alc file is read. -------------------------------------------------------------------------------- v3.0.5, 3.11.2020, Zlatko ! Reading and writing negative integers was unsigned, instead of signed. -------------------------------------------------------------------------------- v3.0.4, 30.10.2020, Zlatko ! Dbase access was always active, because enable tag in config.ini had wrong name. -------------------------------------------------------------------------------- v3.0.3, 26.10.2020, Zlatko ! Dbase, alarms.priority column was missing (introduced in 3.0.0). ! Dbase, alarm/event priority went into alarms.type, instead of alarms.priority. ! Empty http request caused an exception. + SQL script to create dbase exclusively for SCGI added. -------------------------------------------------------------------------------- v3.0.2, Studio6dof/Zeljko ! Data logger, support for events was broken. ! Command line utility cybro_com_server.py was not working. -------------------------------------------------------------------------------- v3.0.1, Studio6dof/Zeljko * Configuration options simplified and more precisely documented. + CAN interface added, it is now possible to connect controller using IEX bus. - Option UseHTTPProtocol removed, plain TCP requests not supported any more. -------------------------------------------------------------------------------- v3.0.0, 15.9.2020, Studio6dof/Zeljko * Code fully rewritten and optimized. * Python version upgraded from 2.6 to 3.8. ? To distinguish between two programs, server now uses allocation crc (plc_head.alloc_crc, 16-bit) instead of timestamp (plc_head.transfer, 32-bit). As the crc is short, there is a chance that two programs may have the same crc (10 programs: 0.1%, 20 programs: 0.3%, 40 programs: 1%, 100 programs: 8%). In such case, both reading and writing may produce unpredictable results. This only apply to number of different programs, not number of controllers. The solution with 32-bit plc_head.alloc_crc is already implemented and commented. -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- v2.3.3, 10.0.2019, 3-Port ! UDP proxy, old socket is now closed before the new one is open, otherwise messages are discarded. -------------------------------------------------------------------------------- v2.3.2, 15.11.2016, 3-Port ! Properly escaping descriptions (&, <, >) to prevent invalid XML response. -------------------------------------------------------------------------------- v2.3.0, 27.3.2015, 3-Port * Performance improvements ! Push timeout was not working. -------------------------------------------------------------------------------- v2.2.8, 30.12.2013, 3-Port + Hrvoje ! Communication with controllers in local network is now working fine. -------------------------------------------------------------------------------- v2.2.7, 28.7.2013, Hrvoje * File scgi_server.ini is now optional, default parameters are in sys_config.py. * Reading sys.nad_list system tag is now performing autodetect. ! When timeout expires, controller is now removed from push list. + Option to disable push server, parameter PushEnable in sys_config.py. ! When ReadAllocAfterPush=False, alc file download is corrected. * Push acknowledge address removed from configuration file. ! When asking for an unexisting controller, error_code=3 is now returned. ! When scgi_server.ini contains nonempty content, server was unable to startup. -------------------------------------------------------------------------------- v2.2.6, 11.9.2012, Damir (relased with Web Scada v1.1.4) ! Scgi server, reading alc file fails if ID column contain hex digits. * Default broadcast address set to limited broadcast (255.255.255.255). -------------------------------------------------------------------------------- v2.2.4, 27.5.2011, Eden (relased with Web Scada v1.1.1) + Data logger. + Relay server. + Server now returns variable descriptions. * Minor bugs and fixes. -------------------------------------------------------------------------------- v2.0.9, 11.5.2010, Goran * CyBro NAD added to log messages. -------------------------------------------------------------------------------- v2.0.8, 16.3.2010, Eden * Improved handling of deleted controllers from config.ini. + Utility program XYNTService to run server as NT service. -------------------------------------------------------------------------------- v2.0.7, 11.3.2010, Damir * cybro_com_server: when started from command-line, two-line header (content-type) is not produced, so output is now pure and valid xml. * PushAckAddress removed from config.ini, still configurable in sys_config.py. -------------------------------------------------------------------------------- v2.0.6, 26.2.2010, Eden * Write request now generates a following read request, so actual value is returned with xml response. -------------------------------------------------------------------------------- v2.0.5, 25.2.2010, Damir + Added cybro_com_server.py, for command line and CGI access. ! Closing tag was missing when debug print is off. ! Write was not working when debug print is off. -------------------------------------------------------------------------------- v2.0.4, 9.2.2010, Eden + CacheRequest system implemented. ! Exceptions on NSLU2. -------------------------------------------------------------------------------- v2.0.3, 7.2.2010, Eden ! Reloading config.ini didn't update password tag. ! Byte order changed from 'native' to 'little endian'. -------------------------------------------------------------------------------- v2.0.2, 26.1.2010, Eden ! Server uptime counts up to 24 hours. ! Request counter was not working properly. ! Server periodically locked-up, push server didn't receive messages. -------------------------------------------------------------------------------- v2.0.1, 28.12.2009, Damir ! System tag sys.cache_valid was not working. ! System tag sys.server_version was not working. * Changed push list format. -------------------------------------------------------------------------------- v2.0.0, 23.12.2009, Eden * Completely rewritten in Python 2.6. + Read/write request array implemented, to boost performance. -------------------------------------------------------------------------------- v1.0.0, 4.11.2009, Ivica + First internal release, Win32 Delphi application. --------------------------------------------------------------------------------