Version 5.84:
 Control capability from DAQConnect (from the web)
 Change in device config for LabJack to remove confusion point
Version 5.83a:
 Minor bug when shutting down and DAQConnect push from 5.83
Version 5.83:
 Updated installer to properly overwrite older files
 Fixed bug in stddev() function
 Fixed minor bug in DAQConnect connection
Version 5.82:
 Support for the LabJack U6
 Fixed minor bug in format() function
Version 5.80:
 Easy real time web access from browser: support for DAQConnect service (www.daqconnect.com)
 Set/Clearcommbreak() functions
 Auto-updating version number of documents (system.appversion)
Version 5.79:
 5.79a: fixed: not all screen components available from Starter
 New QuickMod Pro
 Added CurrentScaleFrom/To to graph axes variables
 Remote help link in DAQFactory menu
 Added confirmation window for transfer license to hard key
 Added lastupdatetime variable to slave protocols
 Ethernet client doesn't init if port = 0
 modbus drivers display full error messages
 two copies of DF can now run on single PC
 Bug fix: ethernet server reinits better
 Bug fix: actions no longer active when component invisible
 Bug fix: actions of components under some controls fixed
 Bug fix: graph properly scales even when no data available
 Bug fix: compiler generates proper error when (, { or [ not closed properly
 Bug fix: server not resolved error on dev runtimes on non-networked pcs
Version 5.78:
 5.78a: Updated QuickMod to fit in 3 pages for DAQFactory-Starter
 Added System.IsDST() to return daylight savings flag
 Added System.IsRuntime() to return if in runtime mode
 Added strSetToValue for user protocols and devices
 Switch to runtime password entry now hidden
 New DAQFactory-Starter
 Changed default TAPI voice to "Sample TTS" for Vista support
 Made bitwise functions support full 32 bits
 Bug fix: memory problems with OPC client
 Bug fix: using() and subsetting in function calls
 Bug fix: negative exponents
Version 5.77:
 Added rbfloat to To. and From. functions
 Bug fix: TCPslave properly echoes transaction ID
 Bug fix: memory grabsby serial and alert windows
 Bug fix: db.CloseQuery()
Version 5.76:
 Added Abort function to terminate an FTP transfer
 Bug fix: hardware key issue
 Bug fix: user protocol bug when applied to multiple ports
Version 5.75:
 Updated LabJack driver and new Guide
 RemoveAt() now defaults to quantity 1
 Added option to Add Host in OPC browser
 Sockets / serial ports don't init in safe mode
 OnAlert system event
 I = 0 in PID causes I term not to be used
 Copy available from Command/Alert and Comm monitor
 TAPI only inits if used
 Watch window only refreshes if visible
 Bug fix: hardware key issues
 Bug fix: db.close()
 Bug fix: arrow keys move markers in runtime
 Bug fix: acces I/O wizard
 Bug fix: DF1 driver and the value 784
 Bug fix: d in hex values misinterpreted
 Bug fix: deleting of serial ports with capital letters
 Bug fix: history interval with persist
 Bug fix: .Time issue
 Bug fix: tcpslave not always responding correctly
 Bug fix: alarm list sorting
Version 5.74:
 Format() function now accepts arrays
 automatic scroll bars for table component
 if -f command parameter used, full screen only
 Bug fix: remote connections wouldn't establish on first try
 Bug fix: CR in expression wouldn't evaluate
 Bug fix: statics were redefining each time
 Bug fix: remote channels creating local persist files
 Bug fix: menu appears coming out of full screen in runtime
 Bug fix: memory leak in modbus / FX optimization
 Bug fix: memory build up in variable creation
Version 5.73:
 5.73b Release: Installer Bug fix
 5.73a Release: Bug fix: Modbus output fix
 Bug fix: UDP support under all non-Express releases
 Bug fix: Table component displays NULL column blank instead of duplicating previous column
Version 5.72:
 OPC driver supports string outputs
 Support for new hardware key
 Bug fix: global x clears out existing variable fixed
 Bug fix: doubletostr() occasionally getting too much precision
 Bug fix: channel table issue when first select Test device and I/O type selection
 Bug fix: setting IP of ethernet connection to "" will actually close existing connection
Version 5.71:
 New Filter() function
 Parse() with -1 Index returns array with fully parsed string
 Bug fix: Development runtimes coming up in trial
 Bug fix: space between function and ( would cause error
 Bug fix: subsetting immediately following a function would return wrong value
 Bug fix in 5.71a: Sidebar help failing under IE7
Version 5.70:
 New script editor
 New auto-hide docking windows and other general GUI enhancements
 FTP capability
 POP3 capability (SMTP already available)
 Serial monitor docking window
 Grouping of components and creation of user components
 ModbusTCP slave and Ethernet server
 ModbusTCP and RTU now allow single channel for input and output
 Component events and properties, with docking window
 Mean/Sum and other similar functions ignore NaN
 UpdateEdits() for comboboxes and editboxes
 AddValue, Append, InsertAt, RemoveAt() functions for variables
 Setting serial port to 0 disables, same with Ethernet (and address to "")
 global and private variables will now redefine if declaration rerun
 ClearGlobals() function
 True/False define 1/0
 Right click on command/alert window allows clear
 Alerts from channels include timing/offset info
 include() function to pull in constants from .h files
 using() function to put internal functions into the global namespace
 edit mode for those that don't like to hold down the Ctrl key
 Alarm import / export
 Action page of components improved with Expand option
 Component name autoincrement when duplicated
 Programmatic starting of threads (separate to sequences)
 Modbus autoaddressing improvement
 Password edit box
 System.SaveDocument() to programmatically save a document
 LabJack driver improved to make it look very similar to their samples
 Help changed to docking window / Flash driven
 Fullscreen mode is a document setting
 Persist file path is a document setting
 Xon/Xoff option for serial port
 Client UDP support
 LoadJPEG() function allows loading of symbols at runtime
 new types for FFI to align with C
 Mitsubishi Melsec A/Q protocol driver
 Easy multi-language support
 DataForth IsoLynx protocol driver
 StrToTime() function
 Search() function for finding the index of based on a criterea
 iif() function: inline if.
 startup flags to trigger runtime, fullscreen, or for user definable flags
 db.Execute() function for non-SELECT queries
 expression parser updated
 return() works without ()
 NumRows, Cols, Depth() returns 0 if a null value
 x = NULL will actually set x to an empty value
 Added newline option in comm monitor for ASCII streams
 Exportset no longer fails if a column is empty
 Bug fix: = in comment after declaration mistakenly taken as assignment
 Bug fix: in optimization for protocols that optimize
 Bug fix: subsetting by time correctly excludes first point past range
 Bug fix: \ in comment would be interpretted as newline
 Bug fix: // in string were interpretted as comment
Version 5.40:
 removed locale specific settings of 5.38 because of issues introduced for international users because of different format for decimal point ("," vs ".")
Version 5.39:
 new functions for easily reading and writing delimited and binary files
 file.closeall() function
 modbus setdelay() function for slower devices
 System.HideSystemMenu() function to prevent closing of Runtime
 PDF creation directly from Page.PrintPageDirect()
 StrToDouble() returns NaN when invalid string passed
 Checkbox component adds array of checkboxes feature
 fixed bug with reverse slider introduced in 5.38
 fixed bug with alarm log overwriting existing files
 fixed bug with defines used in code compiled before define executed
 fixed bug in modbus protocol for 40,000 style notation
Version 5.38:
 User's locale properly detected for number / date display etc.
 Encryption of sequence text in document
 Ability to set property of multiple components with same name, global or page
 Updated slider control to fix issues
 ODBC read will load NULL's as NaN
 Table component displays NaN's properly
 Fixed bug with %G and %E in format()
 Fixed bug when debugging sequence and a user function is in the watch
 fixed bug when modbus ID is set to 0 leaving port locked
 hardware key detection extended to 5 seconds to remove occasional glitches
 fixed bug with channel.time and made more efficient
Version 5.37:
 Individual component movement lock
 Modbus auto-addressing
 Modbus optimized reads from channels
 Disable alarm logging option
 Knob fixes and improvements: jog function
 Component.x.y will affect all components of same name
 Locals visible globally
 Can delete user comm devices
 Debug-Start / F5 saves, compiles and restarts sequence
 Separate sequence editor windows
 Alert bar no longer flashes from ?
 Fixed max history bug
Version 5.36:
 Small bug fixes
Version 5.35:
 Fixed speed issue starting event code
 Fixed issue with popups with specified locations not painting
 Fixed issue with old serial driver not saving parameters
 Added code to ensure positive delay / wait / waitfor parameters
 Fixed QuickMod output window
Version 5.34:
 New serial / ethernet communications guide
 Added update rate option for sliders and knobs
 Added Modbus ASCII Slave protocol driver
 Added variable sized shading of symbols
 To. functions accept 1D array
 Communication speed improved
Version 5.33:
 Fixed bug in ModbusTCP in writing outputs
 Fixed bug with events and channels (renaming and duplicating channels)
Version 5.32:
 New Mitsubishi FX protocol driver
 Automatic Poll function added to user poll protocol
 strLastError in catch block, throw() rethrows error
 Improved error handling and display in user protocols
 Fixed persist problems with ClearHistory and History Interval
 Fixed comment dialog not accepting CR
 Fixed Close button becoming default in serial monitor
Version 5.31:
 Ability to capture a page to a .jpeg file from script
 New free QuickMod Modbus scanning tool
Version 5.30:
 System events like OnKeyDown, OnMouseMove, OnShutDown, etc.
 Combined runtime into development executable to allow easy switch between two modes
 TAPI support for auto-dialer apps, text to speech and other voice modem features
 Format specifier and serial monitor now accept backslash modifiers for CR, LF and tab (\r,\n,\t)
 Functions that used to have to be called from main thread can now be called from a sequence
 Trigger comm monitor from sequence
 Added To and From.Bit() functions for splitting bytes/words into bits and back
 New ModbusRTU/TCP protocol allows comm on multiple ports
 New AB DF1 SLC5 protocol allows comm on multiple ports, fixes issues with floats and bit settings
 New ModbusRTU slave protocol makes DF into a modbus slave
 Ability to import/export channel list to text file
 Duplicate channel will increment a channel name that ends in a number, as well as a Specifier
 Ability to control when alarms are checked (for apps with large # of alarms)
 String declaration (eliminated "str" prefix requirement)
 Functions can be declared to define parameter names, + argc option
 Concat takes a variable number of args
 Component position functions for easy component movement
 Eliminated component paste offset except for duplicate
 Channel persistance allows seamless access to archived data
 New command line interface added to alert window
 ? command in sequences and flag to turn all ?'s off (debugging tool)
 Ability to read data from an ODBC database
 New execute() statement for running scripts stored in strings. Evaluate fixed to work with privates
 Dynamic creation, deletion of channels, ability to list channels into string array
 Script access to channel properties
 Popup + popupmodeless allow location and keep user from closing with X
 Define function to create defined constants for compiler
 To and From functions to convert byte arrays to real values and back
 Improved PID with integral limit, new algorithm option and detailed display
 Regular expressions search in strings and ReadUntil serial comm
 ErrorMessage() function
 Easier selection of overlapped screen components
 New serial and Ethernet communications with new monitor,
 User definable protocols using scripting and more
 New canvas component for scripted drawing to the screen
 Ability to load and call most any external DLL from within DAQFactory without any wrapping.
 New device support can be created by the user using DAQFactory scripting
 Declaration of variables instead of using Var. and Private. notation
 Watch now displays private variables during debugging
 New ShellExecute() function allows starting other apps from within DAQFactory
 New Xor operator (#)
 Format function now supports non-floating types and multiple arguments
 StrToDouble accepts hex and binary notated strings
 New Find / Replace on components makes it easy to change the properties of components
 Channel table remembers column widths
 Sequence functions are now properly reentrant
 PrintPageDirect() function for printing without prompting the user
 Tool tips with function prototypes on all functions
 Printing pages now works on all printers
 Charset set correctly for displaying non-english character sets
 Fixed bug with graphs in popups
 Fixed PID dropout issue when viewing PID graph
 Fixed problem with watch when a watch returns an error
 Fixed Channels as second parameter to sequence function bug
 Fixed issue with AddValue and multiple rows being flipped
 Fixed doubling of displayed component variables when the component is duplicated
 ...and many other improvements and bug fixes.
Version 5.15:
 Added Modbus TCP driver
 Added LabJack UE9 driver
 Removed trial version allows selection of version to try
 Replaced Robohelp with HTML help because of XP-SP2
 Fixed date/time component bug when only time displayed
 Fixed combobox programmatic adding of choices
 added 3D graph component
 added tree list component
 added TimeOffset variable for logging to workaround a bug in MS-SQL
 added SQL string variables to allow adjusting SQL commands
 negative align threshold now ignores alignment by time
 fixed issue with Private. used as subsetting on the left side of an assignment
 fixed/improved a variety of user interface issues, especially with the sequence editor
Version 5.12:
 Trial version allows selection of version to try
 Removed Online Help
Version 5.11:
 Fixed logging issue
Version 5.10:
 DAQFactory Developer
 DAQFactory Express
 Online Help
 Fixed speed key issue
Version 5.05:
 Mouse down event for "jog" style controls
 Logging restart on error option
 .MarkerX variable returns in DF time
 ClearTime() channel function
 Fixed some component refreshes in popups
 Fixed marx key refresh
 Enhanced modbus driver optimizes reads/writes on contiguous blocks
Version 5.04:
 Sequence loop check disabled in runtime
 DF no longer case sensitive
 Block indenting, find/replace added to sequence editor
 Sequences: block comment, backslash for line continuation
 Max page refresh up to 30/sec
Version 5.03:
 Table component
 "ignore" sequence command
 B+W images
 Flash window / alert box in preferences
 Limited continuous alert generation
 Initial page property
 Autonaming in logging sets can use date. Postfix put before the file extension.
 Component variables
Version 5.02:
 Fixed sequence issue: "readone()" getting interpretted as "read()"
Version 5.01:
 Fixed problem unlocking Lite version
Version 5.0:
 A major new release with too many features to list here. Download it now and give it a try!
Version 4.11:
 OPC servers now available bundled with DAQFactory
 Transfer license to expired trial
Version 4.10:
 Full text string support as data type and in function parser
 Addition of Edit Box component
 Device wizards for LabJack, OPC, and Serial
 New advanced serial driver with live monitor
 Database logging in Local Conditional Logging
 New bitwise functions: TestBit, ClearBit, SetBit
 New thermocouple conversion functions
 Comments in sequences
 Driver versioning
Version 4.00:
 Changed name to DAQFactory
 DAQFactory X - DAQFactory in an ActiveX control
 DDE client and server capability
 ODBC database logging
 New web based installer
 Simplified LabJack stream mode
Version 3.55:
 Added multiple actions for when clicking a Component
 Persistance (save with data and autosave), keeps graph data between restarts
 Multiple local conditional logging sets
Version 3.53:
 Eliminated network requirement for 98/Me
Version 3.52:
 Enabled Images and Advanced Graphing features in Lite and OEM versions
Version 3.51:
 Added ability to send comments in trial mode
Version 3.5:
 Now works with 98/Me
 Combined Acquire and Control into single program with option of running as two programs
 Added Concat function and SortTime
 Changed image rendering routine for 98 support
 New help system
 New unlock mechanism - single program download
 Many minor changes
Version 3.11:
 Added Control Local Logging
Version 3.10:
 Sequence table columns change with Command to refect their meaning
 Added quick note / special to channel table and froze 1st column (name)
 Timing of 0 no longer executes once at startup
 Added sequence ordering
 Stream data mode + channel commands
 Extended demo to 25 days
 800 more images
 Tutorial + start-up dialog
Version 3.09:
 Automated (and much easier manual) unlocking
Version 3.05:
 Sorted drop downs in sequence grid
Version 3.03:
 Removed .dds requirement. Device info downloaded from Acquire
 Fixed Quick Add Channel and Add Sequence
 Added image rotation and flipping
 Sequences not stopped on Save, must stop and restart to accept changes
 Control does not automatically open maximized, instead it restores to the last state
Version 3.0: (Dec 15, 2001)
 First public release.