5.4.0 Release Notes

ForgeOS 5.4.0 returns support for ABB robots and adds several features needed to support web apps and complex task programming.

Forge/OS - General

[ADDITION] System Backup and Restore - all user-generated data, including devices, tasks, rulesets, and system settings can be backed up to a USB drive and restored to the Forge system or another system on the same Forge version. The restore process performs a complete system overwrite with the backed up data. Forge licenses are not included in the backup and will not be overwritten by a restore.

[ADDITION] The three pinned taskbar applications can be changed to any three applications on the system, or they can be set to “dynamic” which organizes the applications based on most recently used, with the currently open application in the rightmost position. The setting is available in System Settings > Applications.

[ADDITION] List Variables - new complex variable type, consisting of an ordered list of simple types (int, float, bool, string) with additional read and write commands to determine how values are added to and pulled from the list.

[ADDITION] Parameter Info pop-up - clicking the parameter icon in any parameter field will open a pop-up that displays information about that value, including full name, source, default value, and parameter-specific information such as frames and coordinates for waypoints.

[ADDITION] Filter function added to tables. Predetermined categories can now be hidden or shown for easier organization and navigation. Currently only implemented on Notification table.

[UPDATE] Rebranding - new home screen background logo, new loading spinner logo, new colors for variables and parameters based on source.

[UPDATE] Integers are now 64 bit instead of 32 bit.

[UPDATE] Help button icon updated to blue for visibility.

[UPDATE] Notification panel updated with historical alarm table. Notifications can be acknowledged, searched, and sorted. Up to 1,000 notifications will persist until system is powered off.

[UPDATE] KEBA slideout panel for robot jogging is now labeled with the current robot name, TCP, frame, jog type, and speed. The panel will automatically appear when a KEBA button is pressed for longer than 250ms. A new button on the taskbar opens and closes the panel without the need for swiping the screen. Legend icons have updated styling to better differentiate from active buttons.

[UPDATE] Tables now allow changes to search criteria while maintaining selection. A user can search, select, search for something else, and then modify all selections at once.

[UPDATE] Date-time variable now has seconds and milliseconds and can be used with integer and float variables. Values will be represented in integers and floats as milliseconds in Unix Epoch time.

[UPDATE] Natural sort for alphanumerical lists. No more numerical sorting 1, 10, 11… 2, 20, 21… 3, 30; numbers now sort 1, 2, 3… 10, 11, 12… 20, 21 etc.

[UPDATE] Parameter fields now act as hitboxes for parameter selection button when no typeable value is possible.

[UPDATE] Added Info button to Login screen, where user can view ForgeOS system information.

[UPDATE] Added loading spinner to Help screens.

[FIX] Japanese text fixes.

[FIX] Date/time readout on taskbar won’t change width when values change.

[FIX] Swipe-to-open for Notification and KEBA legend panels could only be closed with swipe. Added click-out as acceptable close behavior.

[FIX] Certain jog and task control commands from KEBA buttons could still register when in Remote Mode; all KEBA buttons are now disabled in Remote Mode.

[FIX] Table “Select All” button behavior is now consistent with iconography and other 3-state checkboxes. When some items in the able are selected, pressing the Select All button de-selects all.

[FIX] Table sorting order preserved when viewing sub-values.

Device Configuration

[ADDITION] ABB 6DOF robots - ABB robots are available for Forge. Configuration supports robots on the IRC5 controller.

[ADDITION] All 6DOF robots - user can select a TCP and Payload from Device Configuration to be “Active on Boot”. The configured TCP and Payload will be active whenever the device is enabled.

[ADDITION] All 6DOF robots - active TCP and Payload are now displayed on the device status panel.

[ADDITION] EtherNet/IP IOLink devices - added support for big-endian INT, UINT, and FLOAT data types. Swap is performed on Rx and Tx and can be set for each signal in device configuration..

[ADDITION] New icon added to show that bits within a byte are selected for Device Control.

[UPDATE] All 6DOF robots - robots which do not require hardware switching between TEACH and RUN mode, such as keyless robots and some collaboratives, will always startup in RUN mode to better support Remote Control.

[UPDATE] All 6DOF robots - robots with previously unlimited amounts of TCPs and Payloads now limited to 100 each for system stability.

[UPDATE] All 6DOF robots - degree and radian precision updated to 2 digits after the decimal.

[UPDATE] MODBUS device - text validation added for signal address fields.

[UPDATE] Clearlink device - enabled bit selection on certain CCIO input and output integers.

[UPDATE] Remote Control Device - added Forge web service to consideration where only a single remote control device can be enabled at a time.

[FIX] Yaskawa HC10 - fixed possible state where device was quickly enabled but showed as disabled.

[FIX] “Unknown” removed as possible data type size in EtherNet/IP Generic Device.

Device Control

[UPDATE] All 6DOF robots - standardized axis and joint label sizing across motion modes.

[FIX] All 6DOF robots - user could enter non-numerical and non-signed characters into Jump and Position fields. Now only allowing 0-9 and +, -.

[FIX] Ethernet/IP devices - now enforcing proper field limits for integer fields.

Parameter Manager

[ADDITION] Variable creation workflow now asks for variable type before defining the variable.

[ADDITION] Added FTL support for complex variables such as lists and waypoints.

[UPDATE] Added default value column to global user variable table, matched format to Task Canvas variable manager.

[UPDATE] Expandable and complex parameters, such as lists and waypoints, now have additional table to view sub-values.

[UPDATE] Standardized variable creation/modification interface between Parameter Manager and Task Canvas.

[UPDATE] Boolean variable UI updated with radio buttons and HIGH/LOW language for consistency.

[FIX] All 6DOF robots - attempts to execute a jog from the KEBA buttons when a notification dialog is on screen are suppressed to prevent stacking dialogs.

[FIX] Epson 6DOF robots - rotational jogging speed was not scaling properly with speed slider.

[FIX] Could open application and create global variables before existing global variables were loaded.

[FIX] Global variables with space at the end of name were rejected as invalid; space is now truncated.

Rule Engine

[ADDITION] Two values from Rule Engine added to global parameter database. “Ruleset Executing” is a boolean, HIGH when a ruleset is executing; “Ruleset Name” is a string, reads the name of the loaded or executing ruleset.

Task Canvas

[ADDITION] FTL Import and Merge - Forge Task Language will merge imported tasks into existing tasks by overwriting locked subtasks and ignoring unlocked subtasks.

[ADDITION] Saving a task displays a brief confirmation message, “Task saved”.

[ADDITION] Variable, Waypoint, and Frame Managers - when duplicating a global parameter, Forge will prompt the user if the new parameter should be global to the system or local to the task.

[ADDITION] Subtask locking/unlocking - added a File menu option to “lock subtask” which prevents user modification and allows it to be overwritten by FTL import/merge. Subtasks are unlocked by default and an unlocked subtask cannot be overwritten. A “lock” icon appears in the corner of locked subtasks.

[ADDITION] Jump to Subtask - a dropdown on the subtask tab bar shows a searchable and scrollable list of all subtasks, enabling much quicker navigation through tabs.

[ADDITION] Reorder Subtasks - added an option in the File dropdown to change the order of the subtask tabs. Changes are saved with the task. New subtasks are always added to the rightmost position.

[ADDITION] Block Notifications - blocks can generate system notifications on execution, including custom title and body text and notification severity level. The “Notify” button on the canvas menu adds and edits notifications, and an icon on the block indicates it will generate a notification.

[ADDITION] Subtask by variable - Subtasks can be referenced in all Subtask blocks using a string or integer variable, where the value of the variable is looked up against the subtask names. If the variable value matches a subtask name, the block action (start, stop, etc.) will execute on that subtask.

[ADDITION] Count On variable - a Count block can use an integer variable for its “count on” value. The block will increment the variable by 1 and reset it when it reaches the “count to” value. This variable can be referenced and used elsewhere in the task.

[ADDITION] Set blocks - added a “Publish” option on a new “Advanced” tab, which will bypass any synchronization delays and immediately broadcast the changed values from the block. This is not necessary to guarantee that value changes are synchronized within Task Canvas before use.

[ADDITION] Parameter fields - functions for processing list variables. When placing a list variable in a field, the parameter selector will present options on where to place or pull the value into or from the list.

[ADDITION] When the Start Task button when is disabled for any reason, a notification icon and dialog will inform the user why. The icon disappears when the Start Task button is available.

[UPDATE] When Importing a task, the name collision warning will clarify if the existing task is an autosave.

[UPDATE] FTL Import of tasks can now look for and map to existing global variables on system.

[UPDATE] Waypoint, Frame, and Variable Managers - added “Duplicate” to tables. New value will by identical to existing value with “-copy” added to end of name.

[UPDATE] Waypoint and Frame Managers - “Set Frame” and “Set TCP” changed to “Reassign” for clarity.

[UPDATE] Waypoints and frames from disabled devices now have a warning pop up if user tries to modify.

[UPDATE] Help button added to New/Modify dialogs for waypoints, frames, and variables.

[UPDATE] The “Main task” subtask can now be paused and resumed from parallel subtasks during normal execution. When executing, the Main task will still be the final call on when a task ends.

[UPDATE] Canvas editing menu reordered so that more frequently used options are above the “More” menu. Cut and Copy are now in the major leagues; Undo, Redo, and State are playing triple-A.

[UPDATE] “State” button can now directly modify a variable value when that variable is used as a block index.

[UPDATE] Cut/Paste - a warning pop up will notify the user if the cut or paste operation will disconnect paths that cannot be automatically reconnected.

[UPDATE] Subtasks - removed the rightmost New/Import Subtask button because it’s redundant with the File menu options.

[UPDATE] All blocks - error messages on runtime failures now have more targeted information about the cause of the failure, including for native canvas blocks and device blocks, such as robot motion.

[UPDATE] All blocks - standardized parameter icon colors to better reflect parameter source.

[UPDATE] All blocks - signal values used as variables in blocks display up-to-date values.

[UPDATE] Check, Math blocks - can use date-time variables in float and integer equations and operations.

[UPDATE] All Subtask blocks - added behavior options when a variable name lookup fails, including end the task with an error or ignore the mismatch and continue.

[UPDATE] All motion blocks - added a pop up when a Move To or Reset Position could not be completed due to error.

[UPDATE] Continuous, Array blocks - added “Duplicate” as multi-select option in table. Duplicated items appear directly below their originating rows.

[UPDATE] Grid, Array blocks - updated “Index” field title for greater clarity.

[UPDATE] Grid, Array blocks - added toggle to determine auto-indexing behavior when block is prematurely stopped by “Stop if” conditions.

[UPDATE] Grid blocks - added integer variables as possible grid spacing definition. Values can be changed during execution which will reset the grid to 1.

[FIX] Removed ability to add more than 30 devices to task when some devices were disabled.

[FIX] Fixed issue where tasks with waypoints referenced only in blocks by their subparts could be exported to USB without the full waypoint included in the .task file.

[FIX] Device Remap would sometimes show zero devices on system.

[FIX] Fixed issue where “Save As” appeared to change data in the existing task.

[FIX] Corrected header icons for waypoint and frames manager dialogs.

[FIX] Fixed spacing in 3-point frame dialog that pushed “Try it Out” off screen when errors present.

[FIX] Fixed issue where user could select sub-value from waypoint to assign to sub-value for 3-point frame.

[FIX] Removed “TCP Mismatch” warning when updating joint waypoints, which are not TCP-dependent.

[FIX] Added delay to creation and modification of waypoints and frames if robot driver is not fully loaded.

[FIX] Can now use the sub-value of an existing 3-point frame to define the sub-value of a new 3-point frame.

[FIX] Fixed case where user could navigate away from selected variable in parameter selector, but couldn’t clear selection.

[FIX] Reset All to Start will always center on Main subtask tab and select the tab on the tab bar.

[FIX] Starting a task with the toolbar Device Status panel open will now auto-hide the panel.

[FIX] Fixed issue where some fields would convert large numbers to scientific notation and then present the numbers as “out of range”.

[FIX] Removed “Edit” button when not available for missing parameter.

[FIX] Can now modify block connections even when maximum blocks for a task is reached.

[FIX] Check, Set blocks - using a waypoint on the left side always defaulted to frame selection on the right side, now correctly defaults to waypoint.

[FIX] Set block - setting a waypoint or frame to itself no longer fails. 

[FIX] Grid block - “Index Variable” field on Grid Index tab only allows integer variables.

[FIX] Grid block - Could exceed max of 250,000 positions by duplicating positions in custom order table.

[FIX] Continuous Move block - user could set “Motion Smoothing” to 0 with variable, but 0 is out of range.

[FIX] Reset States and Reset All buttons would sometimes be available when there was nothing to reset.

[FIX] Epson 6DOF with Program Mode - could switch to Program mode while task running, erroring task. Program mode option now disabled during execution.

[FIX] Fanuc 6DOF - disconnecting the robot during continuous move execution resets move but reads as Paused. Icon on block now correctly reads as Last Executed.

[FIX] Staubli 6DOF - fixed issue where task would crash during extended execution.

System Settings

[ADDITION] Added Forge Edge controls to Network section of System Settings, including toggle to enable web service and toggle to enable remote task control through web service.

[ADDITION] Added Applications section with option to select different applications to pin on toolbar next to Home button or enable dynamic applications, where open application appears on right and most recent applications appear to the left.

[ADDITION] Added support for package bundle installations, which can install multiple packages at once.

[UPDATE] Network page updated to include “READY Support Access” control and toggles for Remote Mode and Forge Edge.

[UPDATE] Administrator must change the default password on first boot, IAW California SB-327.

[UPDATE] License table additions for licensed features.

[UPDATE] A status indicator will display for package install and removal.

[UPDATE] Language switch warning now reads in both old and new language and includes option to cancel.

[UPDATE] Package installation will first check for required storage space on the system and return an appropriate error if space is not available.

[FIX] Attempts to install a package that already exists on the system will automatically remove the existing package before processing the install.

[FIX] Attempts to install or remove packages are blocked while an ongoing install or removal is still in process.

[FIX] Fixed gateway issues when using DHCP on wired internet connection.

[FIX] Japanese language tables were not properly collapsing text.