DAQFactory Revision History

Release 22.1

Upgrade notes:

  • System. and Page. functions now require parentheses, for example System.Quit() instead of System.Quit. A document that uses the bare form will stop with "Invalid Name / Function access" at runtime. Properties such as Page.CurrentPage are not affected.
  • Script assignments that fail, such as an out-of-range value or a write to a read-only property, now raise an error that try/catch can handle instead of failing silently.
  • Device and protocol drivers are now built into DAQFactory instead of shipping as separate DLLs. OPC UA is still a separate OPCUA.dll.

Changes:

  • Native OPC UA client support
  • fGet() and fPost() accept HTTP 201 and 202 as success.
  • Removed obsolete menu items.
  • Fixed: Email, FTP and POP3 object members not resolving.
  • Fixed: POP3.GetMessageText() returning garbage or crashing.
  • Fixed: crash on exit after the server dropped a POP3 connection.
  • Fixed: I/O Type list wrong or empty on new and imported channel rows.
  • Fixed: window title not updating after File > New or a failed load.
  • Fixed: a failed development-mode password could still switch the runtime mode.

Release 21.1

  • Combo box for preset selection in properties windows
  • Clamp(x, bottom, top) function
  • SortArray(array, by, [descending]) function
  • Ethernet/IP protocol support
  • Modbus setMode() function
  • Reset Workspace and other window positions from the menu
  • HTTP.Post() function
  • CursorPositionMarker in graphs
  • Legend location in graphs can be set to None
  • Logarithmic Linear Gauge option.
  • Ability to export and import Presets.
  • Fixed: OPC reinit() function issues
  • Fixed: script access to gauge colors
  • Fixed: parentObject not working in events
  • Fixed: image opacity in image component
  • Fixed: issue with file. functions accessed from multiple threads
  • Fixed: presets not clearing with new document
  • Fixed: menu appearing in runtime (even though it did not function)
  • Fixed: issue with right click event coordinates

Release 20.7

  • Basic / Advanced Component Properties.
  • Component Click Action.
  • Scroll bars for pages.
  • Fixed: memory leak when deleting components.
  • Fixed: OnContextMenu providing wrong coordinates.
  • Fixed: intellisense not completing when Enter pressed.
  • Fixed: issue with timestamps lost when getting channel without full history and array math.
  • Fixed: PrintPDF flipping text and drawing panels.
  • Fixed: Slider with reverse ranges.
  • Fixed: Issues with manual unlock.

Release 20.5

  • Symbol Factory 3.0. Newer, cleaner symbols.
  • Old Symbol Control can be Edit-Replace(d) into new Symbol Control.
  • Fixed: issue with Express limits carrying over to Lite.

Release 20.4

  • DAQFactory Express is back! Channels limited to 8, no OOP.
  • TreeList.SelectItem(0) will unselect the tree.
  • Error generated when doing assignment to undeclared variable. Sequence.checkAssignmentUndeclared variable changes this behavior.
  • Edit box with Numeric enabled won't submit if edit box is empty.
  • Local variables in classes can be marked private.
  • Linked component
  • Fixed issue with ModbusSlave and setting values
  • Fixed issue with full screen on start trimming channels to 1
  • Refactored LabJackM driver for further improvements
  • Fixed issue logging streamed data

Release 20.3

  • System.SecondInstanceCheck() function.
  • Improved code completion for user objects
  • fixed: parent object reference when recursed up class tree would crash DAQFactory
  • fixed: help window browser size on start
  • fixed: ctrl-W would display help window as well as Workspace
  • Fixed: issue with help window pinned at startup

Release 20.2

  • RSearch() function (reverse search()).
  • Alert variables available in OnAlert
  • IntSum variable in PID loops
  • Optimized overall DAQFactory memory use
  • Can't click on component that is not visible
  • Fixed calendar not closing when click on another calendar
  • Fixed properties sub-popups (for example multibrush) appearing in random screen locations, sometimes off screen.
  • Fixed left/right click events for Spin Button

Release 20.1

  • No more Express mode.
  • Toolbox, onscreen keyboard, notes bar, analysis menu and DAQConnect menu items removed
  • Improved component group editing
  • Rescaling a group rescales included components
  • Many new controls, removal of some old controls
  • Component.Invalidate() to force redraw of component
  • Code snippets in events in place of Actions
  • "Windows" replace page popups
  • alarm.DisplayAlarms() function
  • Time / Goto removed from script
  • Eliminated device commands (will only affect LabJack U12 specialized support)
  • Removed MakeNaN() and graph capture
  • Error in ? does not cause script to stop
  • New command/alert window with levels, ?, ??, ??? and ???? print commands
  • System.debugMode along with ASSERT() function
  • IsNumber / IsObject / isString / IsKindof functions for variable type determination
  • FromJson() with no classname parameter will still create an object of generic type
  • new() with no classname creates a generic and empty object
  • {} can describe an object directly in script using json
  • double clicking on alert items will jump to appropriate script
  • wait() now synonymous with delay()
  • Sequences and Pages can be grouped in the workspace
  • SetupPersist() function allows persist capability in variables
  • AssignDoesAddValue() function causes assignment to a variable to act like addValue()
  • expVisible / expCanInteract / expParentObject properties of all components
  • Established, lastTransmitTime, lastReceiveTime variables of serial / ethernet devices
  • Class declarations appear in the Workspace under the Sequence in which they are declared
  • Presets for changing colors, brushes and fonts for components
  • Doing return(1) from an event will stop event processing to underlying components
  • system.AppPath() function
  • Updated browser component with latest Chromium
  • FormatDateTime() works on arrays
  • Speed keys back for pages, but default to none
  • Channel.StopAll() will stop all Timings in channels until Restart() or change of channel info
  • Time of last mouse move / click available from Window object
  • Space across/down works better
  • QueryToClassArray() returns an object for each record
  • Tree Component adds sorted, individual item colorization and other customizations
  • Table component adds the ability to colorize rows based on an expression
  • global. will force access to the global namespace (instead of the local object)
  • Window.LastPageDrawTime
  • System.GetDAQFactoryVersion() / GetWindowsVersion()
  • GraphToPixel() and PixelToGraph() functions of 2d graphs
  • External files option for sequences and pages
  • System.ShowPaintMouseErrors option
  • Subset lookup, i.e. x[{3,5,6}] returns the 4th, 6th and 7th elements of x
  • ... and much more ...

Release 19.1

  • Modbus Slave events: OnMBSlaveUpdate / OnMBSlaveGetValue
  • System.DetailedErrorMessages = 1 gives more detailed error messages from script
  • strLastErrorDetail in catch()
  • Unflatten() function
  • Between() function
  • InvertArray() function
  • Ability to set TreeList font size
  • File.GetFileCreateTime() / GetFileModifiedTIme()
  • File.FolderSelectDialog()
  • System.PasswordEntryDialog()
  • Fixed issue with 3d graphs
  • Removed 2nd instance check notice
  • Removed speed keys from pages.

Release 18.1

(SmartScreen may appear during install due to renewal of code signing certificate)

  • Lock Mouse Selection of Components
  • Page Scaling
  • Page.ScreenWidth / ScreenHeight variables
  • Page.WaitForClosePopup() to make user popups blocking
  • Resize constraints (with shift key)
  • ComponentName variable inside components
  • PNG/GIF support, LoadImage() function for Symbol Component
  • GetPixel() / GetPixels() in Canvas Component
  • Graphs init without having to view page
  • Plus/Minus key to cycle trace marker is attached to
  • Visible parameter for graph traces
  • Graph.PauseDataUpdate() for viewing non-real-time data efficiently
  • OPC supports writing to read tags
  • Variable.AliasFor() function to connect variable to channel
  • Variable.MakeNaN() function
  • HTTP.Get() with additional headers
  • System.SaveWithData() function

Release 17.1

  • Resolved issue addressed in ICSA-17-241-01
  • Fixed issue with file path list function
  • Fixed other minor issues

Release 16.3

  • Added user application licensing / copy protection feature (see 3.9 in User's Guide)
  • Fixed issue registry variables not writing to registry

Release 16.2

  • Added ability to bypass devices that are offline (see 6.13 in User's Guide)
  • Fixed issue with pure virtual call error on shutdown in some instances
  • Fixed issue with graph refresh rate slow when page refresh rate is fast
  • Fixed issue with OEM runtime not displaying proper title
  • Embedded chrome browser doesn't initialize unless used

Release 16.1

  • Redo of graphing for better stability.
  • system.SetFocus() function.
  • Webcam driver
  • Image component can handle JPEG's
  • Multiple attachments in email
  • AddColor/ClearColors() functions for graph traces
  • Screen draw time displayed in status bar.
  • Changed DDE timeout to 0.5 from 0.1
  • DDE supports single channel for both in/out
  • Fixed time stamp resolution issue with alarm logging to database
  • Fixed issue with right axis naming to 7-12
  • Fixed issue with compile leaking memory when a compile error
  • Fixed issue with line annotations not disappearing when deleted or out of range
  • Fixed issue with refresh rate too fast
  • Fixed issue where multicolors would stick when switch to single color
  • Fixed issue with derived classes and parent variables
  • Fixed issue where transparent backgrounds show white in captured jpegs.

Release 5.91

  • LabJackM (T7) streaming support.
  • New Flatten() function for arrays.
  • Updated embedded chrome browser
  • Added priority to script dump
  • Internal performance enhancements

Release 5.90

Release 5.90.9

  • CEmail email object
  • CFTP FTP object
  • System.messagePump() function
  • Alarms.ListAll() function
  • Ability to duplicate alarms
  • LeftCol and TopRow variables for Table component
  • Log files automatically close (and thus can be opened by another program) when logging is stopped
  • Fixed issue compiling classes if not indented
  • Fixed issue with GetHistory
  • Replaced external socket encryption with internal
  • Fixed issue with hidden group's components still processing clicks
  • Fixed issue with ReadDelim. Now properly strips enclosing "" and ''
  • Fixed issue with Pop3 improperly returning body of email
  • Fixed issue with Knob serialization causing .ctl files to appear corrupted

Release 5.90.8

  • SSL Email out
  • Renamed LabJackM function calls to LJM_eReadName / LJM_eWriteName
  • using("device.labjack") will bring both LabJack UD and M functions into global scope
  • Fixed issue with Starter versions limiting to 2 pages

Release 5.90.7

  • Added LabJackM function calls for eReadName / eWriteName
  • Added graph functions: saveJPEG, saveToFile, loadFromFile
  • Added hexstring functions to To. and From. groups
  • OnChange events for input controls
  • Custom baud rate
  • Script access to alarm priority
  • System.FullScreen variable
  • Improved DAQConnect access
  • Fixed issue with fromJson and arrays of strings
  • Allowed readDelim() to process quotes as strings

Release 5.90.6

  • Updated VC redistributables
  • Fixed potential issue with current page tracking
  • Fixed issue with deleting components when overlaid pages are displayed

Release 5.90.5

  • Fixed issue resource leak with alert icon

Release 5.90.4

  • Fixed issue with rendering that would cause crash

Release 5.90.3

  • Browser components now run as multi-process for better performance and stability
  • Additional files for remote browser debugging

Release 5.90.2

  • Fixed issue with floating control bars (from menu)

Release 5.90.1

  • Fixed bug in Ethernet Server when an error occurs trying to create the socket
  • Fixed bug when OnCreate script in component tries to access another component
  • Fixed bug with Start/EndThread functions
  • Fixed issue with installer where old DLL's would not get overwritten
  • Fixed issue with cut/copy/paste of components

Release 5.90

  • Built under newer compiler
  • Embedded Browser component with remote debug option
  • Logging/Export set custom time format, and time formatting in log file name
  • Toolbox for drag / drop components
  • Updated status bar with Edit/Operate mode switch
  • Ability to dump all script to a single text file for review outside DAQFactory
  • Starts in Edit mode if new doc, Operate if loading doc
  • Components on pages appear in Workspace, allowing easy selection,
  • Selection of components in a group without ungrouping using Workspace
  • Box appears around each selected component making it easier to tell what is actually selected
  • LabJack T7 support (preliminary)
  • Device number can now be a string (only used by T7 currently)
  • No longer switches to Express on expire or if hardware key removed
  • Separate shortcut to run in Express mode (-runAsExpress flag)
  • New installer
  • Fixed bug where doc editing password would clear out if edited doc settings

Release 5.87c (Dec 8, 2014)

  • Fixed issue with printPDF() and character sets to allow for proper display.
  • Fixed issue with Starter documents loading as Express.

Release 5.87b (May 11, 2014)

  • Split Express and regular based on startup flag. Regular will actually expire, with express only accessible from its shortcut.
  • Fixed issue connecting to DAQConnect initially (selecting data source)

Release 5.87

  • SetFocus/GetFocus functions on components
  • Web service call function
  • Ability to hide the cursor with system.displayCursor variable
  • Department Teaching Site license
  • Fixed bug in scroll bar when mouse moves away without releasing mouse button
  • Fixed bug in tree list causing it to jump to top and display nothing at random scroll points

Release 5.86

  • When trial expires, it becomes licensed version of Express for free
  • Improved DAQConnect connectivity user interface
  • Safe mode now restricts access to File., db., extern and shellExecute
  • Updated help with new guided tours
  • Eliminated built in web server for new apps and corresponding menu
  • Fixed bug with exposed 20034 UDP port

Release 5.85

  • Encryption for DAQFactory networking (Standard and higher)
  • Networking defaults to disabled in new documents
  • New option to disable remote reboot / restart, default is disabled (Standard and higher)
  • New JSON support for persisting object structures
  • New channel.read() and channel.readGroup() functions
  • New push() / pop() functions for variables
  • New system.minimize() / maximize() functions
  • New option to disable the 2nd instance check on DAQFactory startup
  • Fixed bug in TCP clients when continuously reiniting the port
  • Fixed bug in OOP when doing something like: c[0].z(a[1].b[2])

Release 5.84

  • Control capability from DAQConnect (from the web)
  • Change in device config for LabJack to remove confusion point

Release 5.83a

  • Minor bug when shutting down and DAQConnect push from 5.83

Release 5.83

  • Updated installer to properly overwrite older files
  • Fixed bug in stddev() function
  • Fixed minor bug in DAQConnect connection

Release 5.82

  • Support for the LabJack U6
  • Fixed minor bug in format() function

Release 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)

Release 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

Release 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

Release 5.77

  • Added rbfloat to To. and From. functions
  • Bug fix: TCPslave properly echoes transaction ID
  • Bug fix: memory grabs by serial and alert windows
  • Bug fix: db.CloseQuery()

Release 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

Release 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

Release 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

Release 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

Release 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

Release 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

Release 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 an element based on criteria
  • 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 interpreted as newline
  • Bug fix: // in string were interpreted as comment

Release 5.40

  • removed locale specific settings of 5.38 because of issues introduced for international users because of different format for decimal point ("," vs ".")

Release 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

Release 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

Release 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

Release 5.36

  • Small bug fixes

Release 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

Release 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

Release 5.33

  • Fixed bug in ModbusTCP in writing outputs
  • Fixed bug with events and channels (renaming and duplicating channels)

Release 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

Release 5.31

  • Ability to capture a page to a .jpeg file from script
  • New free QuickMod Modbus scanning tool

Release 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 persistence 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 almost 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.

Release 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 work around 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

Release 5.12

  • Trial version allows selection of version to try
  • Removed Online Help

Release 5.11

  • Fixed logging issue

Release 5.10

  • DAQFactory Developer
  • DAQFactory Express
  • Online Help
  • Fixed speed key issue

Release 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

Release 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

Release 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

Release 5.02

  • Fixed sequence issue: "readone()" getting interpreted as "read()"

Release 5.01

  • Fixed problem unlocking Lite version

Release 5.0

  • A major new release with too many features to list here. Download it now and give it a try!

Release 4.11

  • OPC servers now available bundled with DAQFactory
  • Transfer license to expired trial

Release 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

Release 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

Release 3.55

  • Added multiple actions for when clicking a Component
  • Persistence (save with data and autosave), keeps graph data between restarts
  • Multiple local conditional logging sets

Release 3.53

  • Eliminated network requirement for 98/Me

Release 3.52

  • Enabled Images and Advanced Graphing features in Lite and OEM versions

Release 3.51

  • Added ability to send comments in trial mode

Release 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

Release 3.11

  • Added Control Local Logging

Release 3.10

  • Sequence table columns change with Command to reflect 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

Release 3.09

  • Automated (and much easier manual) unlocking

Release 3.05

  • Sorted drop downs in sequence grid

Release 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

Release 3.0 (Dec 15, 2001)

  • First public release.