ScadaWorks "Readme"

This README.HTML file documents the changes made to the ScadaWorks development kit, a product of Industrial Control Links, Inc. of Auburn California, USA.




3.10

Summary

    Maintenance release.

New Features/Changes

  • Changed FTP transfers to set the FTP fail flag to true and not retry when a source file does not exist on the local side.
  • Added TrigInitDelaySet() to holdoff the initialization of triggers at startup.
  • Added incremental and duration retrigger options to RTC triggers.
  • Added array support in ISaGRAF REDUNDNT block.
  • Added Bricknet access to Digital Output PWM registers on Microbricks that support the feature.
  • Added ability to disable automatic "makes" in ISaGRAF when programs are downloaded.
  • Added HTML Help to all controls, menus as well as making the manuals available on-line. Expanded manual, updated screen shots, added ISaGRAF ICL functions section as well as a hierarchy overview section.
  • Quickstart guides are also in HTML Help format.
  • Added serial TUI mouse navigation for those TUI controls that support it.
  • Added self-triggering Network Events to all master protocols--not just Modbus Master.
  • Added DNS retry and retry time parameters to the Node | Settings | Ethernet/Serial IP tab.
  • Changed ISaGRAF data memory model to allow for larger than 64K program control files. Limit is now available memory in the controller.

Fixed Problems

  • Advanta was not configured to properly detect when the Real Time Clock battery was bad. Reading may have been arbitrary.
  • Thermal type devices that supported negative ranges would not read negative.
  • In the dialer feature, long messages would cause a sample overflow. This manifested itself as playing the remaining samples in the wave file.
  • Timings between phone numbers and phone number lists were not being set making it impossible to pause between calls.
  • Netevents configured as "Regmode | Auto" were always delivered as signed numbers.
  • Telnet TUI management on different TCP/IP port numbers did not listen properly.
  • TUI fields get shifted when blank label lines are used.
  • Redundnt block programs with large scan times could not complete data transfers properly.
  • Blocks doing Real Time Clock writes were not accounting for the Daylight Savings Time flag.
  • RTCSECWR function where it was not compensating for the century properly.
  • RUNTIME function block was not updating it's internal time while block was disabled. It also would not set the time unless the digital input was on.
  • TOTALIZE function block was not updating it's internal time while block was disabled.
  • Two Modbus TCP Slave sessions could not simultaneously monitor for communication on two TCP/IP port numbers.
  • Fixed problem where RS-485 trail delay could be affected by excessive sockets activity causing timeouts to remote I/O talking over RS-485 links.
  • Fixed problem where DNS lookups could cause the controller to stall for long periods of time on a failed lookup.
  • Fixed problem where high latency TCP/IP networks would cause monitoring sockets to stop accepting connections.

3.00


Summary

    Feature release.

New Features/Changes

  • General Operation
    • Added intelligent Make prompt to automatically detect when the user needs to do an ISaGRAF make according to what has changed in the application.
    • Added the ability to create Registers, Triggers, Alarms, and Network Sessions on the fly from other records that might need these data elements.
    • Added ability to configure local PC address temporarily to access node under development. Prompts user before changing IP address on PC.
    • Added viewer capability in the Tools | FTP Transfer dialog with configurable viewable files.
    • Added TCP/IP WAN address for downloading to something other than the primary Ethernet address. The WAN address can also be a site name string.
    • Added ability to synchronize Real Time Clock over FTP from ScadaBuilder.
    • Eliminated need to pre-create Network Ports. All ports are available (if not already used for debugging) for configuration at any time.
    • Changed Project Options to "Project Settings".
    • Changed Node Options to "Node Settings" to better reflect operations for node configuration.
    • Downloads will only prompt once during a download operation should "Prompt" be selected in Node | Settings | FTP/HTTP tab.
    • Added serial comport TCP/IP configuration to the Node | Settings | TCP/IP tab.
    • Added a comport download feature to the Node | Settings | General tab to supersede the project's comport download configuration.
    • In places where register block sizes apply, the user can now select the end register by name.
    • Eliminated the use of the NOCON executable. Code is now embedded into the ISaGRAF kernel.
    • Power Fail Interrupt now recovers from a brown out condition without resetting the controller. This is supported on Etherlogic and ScadaFlex Plus controllers only.
  • ISaGRAF Function Blocks
    • Changed day_time function to use more efficient means of reading real time clock.
    • Added Totalize function block for totalizing any real numbered analog based on time.
    • Added Runtime for function block totalized time while any boolean point remains true.
    • Added Pack16 and Unpack16 function blocks for packing and unpacking booleans into and out of an integer register.
    • Added DiskMgt function block to allow user to programatically get the amount of free space on the controller flash disk, create a directory and change to a directory.
  • Network Features
    • Added UDP feature to the Modbus TCP Master and Slave protocol.
    • Added "Dropped Carrier" modem statistic.
    • Added the ability to skip a number in a phone number list if a single "0" is in the list when operating from message buffers.
    • Added DNP3 protocol master and slave (this is still a beta feature).
    • Added support so a Bricket monitor session will update it's global stats for all associated sessions. Address net stats from associated Bricknet sessions are re-mapped to the monitoring Bricknet session.
    • Added support for DF1 0x0F:0xAB (protected typed logical write w/ mask) command function.
    • Added support for DF1 diagnostic status message.
    • Added support for automatically disabling the console if the port is used by a net session.
    • Added dropped carrier diagnostic to modem.
  • Voice
    • Dialer and VUI interfaces may have standard messages reprogrammed to customize the voice application. See Node | Generate Voice and click on the "Customize" button.
    • Support for multilingual voices has been added for French, Spanish, German and Portuguese.
    • Added Month/Day or Day/Month date annunciation.
    • Added gain configuration for voice generation.
  • Register Editing
    • Registers of integer, real, or boolean may have indexes of up to 65535. Messages (buffers) are still limited to 1-9999.
    • Registers may be created with prefix, enumeration, suffix, and another enumeration.
    • All Register drop down boxes now include a tree which displays the data type and the register index (AKA network address).
    • Registers can be created using template files for common functions.
    • A Register display has been added to examine usage and indexing.
    • Registers can be created from any drop down box in the ScadaBuilder system that uses registers.
  • Mappings
    • General purpose register mappings have been moved to their own branch in the ScadaBuilder tree. These mappings include:
      • Time Zone
      • Daylight Savings
      • Reboot
      • Memory Available
      • Status LED
      • Clock Speed Set
      • Serial number (MSB and LSB)
      • Low Battery
  • Triggers
    • State Triggers now handle all edge triggering as well. Old applications will be updated to the new format automatically.
    • Triggers now have sperate on/off debounce times. Consolidated some common trigger setup functions.
  • Alarms
    • Added an integer map to specify the current alarm state in an integer register
  • Logfiles
    • Log events may have a register block size for "on the fly" configuration for the number of contiguous registers logged.
    • Added ability to configure a multi-line Log Entry by hitting enter at the end of each line within the Log Entry.
  • E-mail
    • Added secure login authentication.
  • Network Events
    • Events now show a "register map" where applicable to show exactly what registers are being accessed locally and remotely.
    • Added RTC Set and RTC Get events for Modbus and Bricknet protocols.
  • Textual User Interface (TUI)
    • Added Group feature to better facilitate navigation using CTRL P and CTRL N functionality. Also applies to PREV and NEXT on the ScadaFlex Viewpoint
    • Added Security levels to all pages in system.
    • Added Security to all fields in system.
    • Added attributes to Text Fields, Value List labels and Page Links.
    • Added 8 bit and 16 bit signed modes to numeric controls to allow the proper display of negative numbers.
    • Added Telnet terminal for use with Ethernet version of the TUI feature.
    • Enhanced TUI parsing speed for large TUI applications.
    • Reduced memory use and allocation.
    • Added TUI Telnet timeout parameter.
    • Added support to run the same TUI on two different ports.
    • Added support to hide the cursor in lower-right corner of the TUI, instead of just line 25.
  • Voice User Interface (VUI)
    • Added "Number of rings before answer" feature.

Fixed Problems

  • Fixed problem in Node Options (now Node Settings) TCP/IP tab where the Max Number of Sockets parameter would get reset to 8 whenever the dialog closed. This prevented the user from changing it when needed.
  • Fixed problem where Logfile Entries could overflow the logfile write buffer should large block sizes be used.
  • Fixed Delta Triggers from registers where a zero in the set point would cause a constant trigger. A zero in the set point register now disables the Delta Trigger.
  • Etherlogic and ScadaFlex Plus controllers can now recover from a brown-out condition (Power Fail Interrupt) without resetting.
  • Fixed problem where function blocks (such as the average block) could be configured in such a way to have other function block's data overwriting its values. This manifested intself in the average block because it had the largest data target for the misconfigured function blocks to corrupt.
  • Fixed problems in Advanta, Integra and Ultima Etherlogics where DI and PI Rates were not getting updated/configured properly at runtime.
  • Fixed problem where Bricknet dialup systems with multiple destinations or sessions would not be able to monitor and share the dialup modem properly. This caused problems for units dialing in.
  • Fixed problem where a logged alarm being acknowledged from a Dialer could cause system instability.
  • Fixed problem where telemetry file transfers used the wrong file specification for destination file.
  • Fixed problem where listening sockets could get out of sync between a listen and an open. This now monitored and flagged as a "listen error" which is recorded in the system.log file.
  • Fixed problem where the watchdog (when enabled) would cause a reset of the controller after a clean exit from the program. This caused download problems from ScadaBuilder.

v2.01

Summary

    Maintenance release.

New Features/Changes

  • Changed Modbus RTU system to work from message gaps thus eliminating rewind feature.
  • Added FTP status buffer update that shows how many bytes have been sent during the current transfer. Works with both Ethernet and PPP connections.
  • Added the ability to detect a failure on an FTP transfer no matter the reason for the file not being delivered (ie. loss of carrier or remote server disconnected).

Fixed Problems

  • Mapping DI Counters was indexed improperly in the Integra I/O driver.
  • Logfiles that were set to not overwrite archives could potentially archive every time the archive file was deleted or transfered off the controller.
  • Modbus RTU task could operate on unitialized data should a receive timeout occur causing the task to stop. No other protocols were affected.
  • Dialup Modbus sessions no longer pass token to other dialup sessions while a file transfer is active over the dialup link. The transfer will finish or fail out before the system moves on.
  • When using voice, it was possible that the system would not shutdown properly when doing a reset or termination of the program.
  • ISaGRAF 3.54 licensing would not work on some workstations and laptops.
  • TCP/IP would shutdown over a long period of time.


v2.00


Summary

    Major feature release.

New Features/Changes

  • Added support for Etherlogic Ultima and Integra model controllers.
  • Added support for multiple internal modems on Integra model controllers.
  • Added file transfer over Bricknet and Modbus.
    • This feature allows users to download new applications "over the air". This feature is also known as Remote File Hosting.
  • Added file export utility for Ergoview tag databases.
  • Added replacement dictionary editor for ISaGRAF dictionary to better control deletion problems within ScadaBuilder (ISaGRAF dictionary access is still supported from ISaGRAF Workbench.)
  • Added support for faster serial clocks on models that require voice.
  • Added FTP custom command support for rebooting over FTP link.
  • Added modem scripting functions to allow ICL and customers to interface to more types and styles of dialup and cell type modems.
    • Added modem script to support Multitech MTSMC-G-F2 cellular modem (T-Mobile version).
    • Added modem script to support V32 mode connection for internal and external Radicom dialup modems.
  • Added the ability to disable probe checks in Network Sessions.
  • Added capability of downloading over Zmodem without hitting the reset button.
  • Added ability to specify FTP "active" mode for some Microsoft servers that do not support passive mode.
  • Added the ability to configure PPP dialup links to initiate remote CHAP authentication.
  • Added ability to configure an optional gateway for PPP configurations.
  • Added VUI feature to list unacknowledged and acknowledged dialer alarms with key code entry.
  • Added VUI feature to list read-only registers with one key code entry.
  • Added support for MAXIO module U16/6 and D24/16..
  • Added support for mapping GPS delta time and distance to registers with a configurable delta threshold.
  • Added support to manually trigger the archive of a log file.
  • Added support in Logfile Events that allows a user specified register to change the block size of a log entry at runtime.
  • Added ability to configure up to 64 sockets for TCP/IP use.
  • Added function blocks to ISaGRAF including:
    • f_delete for deleting files.
    • f_rename for renaming files.
    • f_exist to check if file exists.
    • rtcsecwr to write to the real time clock in seconds since midnight 1/1/1970.
    • redundnt to allow customers to setup identical controller programs to hot swap control with a master/slave configuration.
    • read_sw to read hardware address switch from controllers that support it.
  • Updated ISaGRAF Workbench to version 3.54. New features in this version:
    • Up to 32 character variable names.
    • Grep function for finding text and symbols throughout a project.
  • Added support for triggering from and logging status buffers for diagnostic purposes.
  • Added String (message) data type to Modbus protocols.
  • Added feature where outgoing dialup TCP/IP protocols have appropriate routes automatically created.
  • Significantly reduced kernel size allowing more memory to be allocated for customer application.
  • Added ability to monitor TUI and HTTP activity status while connected over a serial or dialup connection to allow the connection to continue and not time out.
  • Added ability to configure multiple TUI instances over Telnet. As many as four users are supported.
  • Added ablility to auto-configure NVRAM from application file to facilitate network and over-the-air application updates. No external NVRAM update is now necessary. Controller will reboot automatically if NVRAM is increased.
  • Added PDF Report Generator to allow the documentation of ScadaBuilder setup.
  • Added WYSIWYG veiwer and editor for the TUI and ability to configure line, dot or no grid.
  • Added Group Copy and Group Paste capability for copying multiple controls from one TUI page to another--even if they are on a separate TUI.
  • Added the ability to automatically use NOCON when the console port is used for telemetry.
  • Added the ability to configure blocks of registers within a logfile.
  • Added Excel time, tick time, elapsed time, count and delimiter fields to the logfile configuration.
  • Added ability to switch between monitor and outgoing events more often when master and slave sessions use the same port.
  • Added block definitions for entries in datalog files so that large contiguous blocks of registers can be easily configured.
  • Added Excel format time stamps to logfile.
  • Added support for dynamically changing system time for Daylight Savings from a boolean.
  • Added support for dynamically changing a Modbus TCP Network Event TCP/IP destination address from a buffer at run-time.
  • Revamped Modbus address translation routing to allow for multiple routes in a single system and to more closely match Picobrick and Microbrick routing schemes.
  • Revamped Bricknet routing and eliminated alternate Netsessions while simplifying setup of path-based routing architecture..
  • Added ability to individually map selected address comm statistics and added Current Path ID statistic.
  • Added support for HART protocol.
  • Added In Progress map for net events.
  • Communication Manager upgrades:
    • All Network Sessions are handled in separate tasks.
    • Added PPP connection layer to better manage dialup TCP/IP connections. This fixed a problem where PPP connections were still being attempted after the modem was offline. This caused some modem response timeouts and could cause a modem lock up.
    • Added PPP connection timeout.
    • Eliminated need for NULL Network Session. Activity timeouts can now be set in TCP/IP serial server configuration area under the Network Port.
  • Added ability to display and format time in dd-mm-yy and dd-mm-yyyy formats.
  • Added Update BIOS option on Target menu.
  • Prompt user to generate voice file before ISaGRAF make if voice file has changed.
  • Automatically create triggers for TUI Buttons.

Fixed Problems

  • Fixed problem where writing message buffers to the database wrote the wrong length information. Problem would show in TUI editting of message buffers.
  • Fixed race condition that could cause command line arguments to be corrupted at startup of the ISaGRAF runtime kernel.
  • Fixed problem where remote scaling wrote to floating point registers and would only write values to the left of the decimal point truncating the value to a whole number. Remote Scaling also had a false limit of 8 scales per session that was removed.
  • Fixed problem where logfile archiving was not writing the first entry of a new log file uncompressed after an archive had been done. This would have caused difficulty for anyone attempting to parse and decompress a logfile.
  • Fix problem in Pid_al function block where proportional term was only being updated at sample time instead of constantly as it should.
  • Fixed problem where alarm dialers would reset phone number list sequencing when a second alarm is annunciated.
  • Fixed problem where logfiles and/or heavy sockets activity would interfere with voice playback.
  • Fixed problem where a race condition could occur when doing an FTP Tranfer event.
  • Fixed problem where a remote could close a socket connection and leave the client in an undetermined state.
  • Fixed problem where PPP connection could attempt to connect before an IP address was designated from a PPP server.

v1.10


Summary

    Feature release.

New Features/Changes

  • Updated ISaGRAF Kernel code to version 3.40 library.
  • Removed ISACFG file support to reduce kernel size. Only the ScadaBuilder configuration file (node.sbr) is supported.
  • Reduced code size of ISaGRAF kernel (ISA.EXE) to free memory for other functions.
  • Added additional functions and function blocks to ICL library:
    • GpsRD function to read GPS time from a GPS interface configured in ScadaBuilder.
    • LogAna function to allow user to configure a set of contiguous integer registers as a block of logging entries.
    • LogReal the same as LogAna only with real (floating point) registers.
    • PID_AL simpleintegrated PID block.
    • RTCSecs function to read the controller's real time clock and convert the output to UNIX compatible seconds since Jan. 1, 1970. May be used for relative timestamping or file naming.
    • Charctrz function allows user to specify curve characterization for analog inputs from two contiguous blocks of registers in the dictionary--one block is for the X axis and one for the Y axis.
    • Scaler function for traditional proportional linear scaling with offset.
    • FlipFlop function for transition alternation.
    • TrackHld is a track and hold function for holding values based on an input flag.
    • RateLim limits rate of change of an analog input based on a time value.
  • Added RTC option for Timer Trigger.
  • Added FTP Transfer Events.
  • Added Complete Controller Download Option in Target Menu.
  • Added Data Logging features:
    • Separated log file writes and log buffering into separate tasks to prevent impact on system when doing a file write to the flash disk.
    • New log architecture allows user to set buffer size.
    • Added disable overwrites option.
    • Added force new header at startup.
    • Added log count.
    • Register, Date and Time can now be inserted into log file headers.
    • New dialog interface for configuring log file message/headers.
    • Added register mapping of archive flag to tell the user when an archive has been done (copy lg1 to lg2).
    • Added logfile compression when data does not change.
    • Added maximum number of records archive setting.
  • Added DF1 Master and Slave protocols.
  • Added support for Modbus/TCP Master and Slave to use TCP ports other than the default 502 port.
  • Added capability for slave IP addresses to be referenced by Netevents directly.
  • Added GPS Interface support.
    • Added Real Time Clock synchronization support.
    • Added Daylight Savings Time support.
    • Added timezone offset support from GMT.
    • The timezone and daylight savings support is also for Emails
  • Added self-triggering Netevents from communication writes or from TUI writes.
  • Added network statistics for individual slave numbers under any master protocol.
  • Added mapping to registers to disable communication by slave number for any master protocol.
  • Added AI Priority function to support faster analog input scanning on ScadaFlex Plus.
  • Added capability to archive and restore projects to and from controllers with optional password protection.
  • Added default warning dialog when exiting ScadaBuilder that the user has not archived project to controller.
  • Added capability to export and import individual node archives to and from controllers.
  • Added ISaGRAF Make and Debug hot buttons.
  • Added "Lightning" hot button that will automatically start controller after a controller configuration update.
  • Added the ability to send ISaGRAF program and ScadaBuilder node files with the Target|Send Startup Config menu option.
  • Added file browser/download/upload tool for file management on controllers.
  • Changed I/O configuration dialogs to support mapping, unmapping, scaling and unscaling in blocks.
  • Added on-line help reference for all controls and features.

Fixed Problems

  • Fixed problem where sockets would never get deallocated once they where interrupted during a RST. Problem was most prevalent during Ergoview access.
  • Fixed problem where TUI log history was not set.
  • Changed the default FTP Client timeout to 30 seconds. Was 0 seconds which would always cause a race condition between the FTP handler and the FTP server.
  • Netalarms were not resetting phone number lists properly after all Alarms were acknowledged. The next Alarm would dial the number in the list where the last Alarm left off.
  • Fixed bug in TUI RTC field when am/pm field would inadvertenly change when moved to for editing.


v1.01


Summary

    Feature release.

New Features/Changes

  • New Radicom Dialup modem Support.
  • Point-to Point Protocol (PPP) for both Dial Out (client) and Dial In (server) support.
  • Email.
  • DHCP capability.
  • Voice Alarming.
  • Voice User Interface.
  • FTP target updates (for updating voice files over Ethernet for example).
  • Multiple Textual User Interfaces (TUI’s).
  • EtherLogic LC Support.
  • Made minor modification to ICL-4300 API to support modems on any port.
  • Fixed Alarm annunciation issue where a retriggered unacknowledged alarm would start a VUI dialup list over again.
  • New terminal software and removed Green Leaf Terminal and comm. port drivers.
  • Http support with access permissions.
  • DNS services.

Fixed Problems

  • Fixed null string problem when a blank name was entered for a new record.
  • Changed communication library used for downloads and terminal access.
  • Email from a config file was broken in a previous beta version.
  • Timer Triggers were not being initialized to seconds value passed in from ScadaBuilder.
  • Fixed problem where Modbus TCP session could cause sockets to be allocated but never deallocated causing unit to stop responding to TCP connections.