New Features and Milestones
List of the most important new features:
6.1.0
Automation Studio V6
Automation Studio V6 is supported.
6.0.0
UPact
With this version new testrunners for UPact are released. These new testrunners allow testing with UPact on all platforms supported by UP. In the documentation you will find descriptions on how to use the new testrunners.
Here are the two methods currently available to run UPact test scenarios:
Another possibility to execute tests directly from the ServiceUi will be released soon.
Note
TestControls and UserActions are no longer supported.
5.0.0
Facelift
UP and UPstudio have undergone an extensive facelift. Several areas were revised in the process:
- Complete redesign of all diagrams and icons
- Standardised package structure of the generated code across all target platforms
- Reactivity and functionality of Content Assist completely revised
- Various bug fixes in all areas of the metamodel
Standardisation of code output
Standardised package structure
The package structure was standardised across all target platforms. Care was taken to ensure consistent separation of application and framework.
Standardised prefixes
The prefixes have been standardized as much as possible. UP has adopted the policy of not assigning prefixes to basic data types, resulting in all variables related to architecture and framework being generated without prefixes. However, exceptions exist for certain libraries, which are being converted gradually. Nonetheless, it remains possible to assign custom prefixes to all variables and data types specific to a particular domain model.
New colour themes for diagrams and editors
There are two styles optimised for UP:
UP-dark
UP-bright
Own colour profiles
All colours in the diagrams can now also be defined by the user:
Newly created themes can also be exchanged or reintroduced in newly created workspaces. All you have to do is copy the corresponding theme file:
.metadata\.plugins\ch.actifsource.ui.widget\themes\Theme 2008\themeXY.xml
New ContentAssist
ContentAssist has undergone a comprehensive overhaul. Performance and reactivity have been greatly improved. In addition, a fuzzy search function has been implemented to ensure that search results are displayed even if the spelling is not quite correct.
4.5.0
Content assist paging
4.4.5
New states in derived state machine
It is now possible to introduce new states both at the highest level and in extended states. In addition, the starting point can be overwritten so that the newly created states can also be accessed directly from the start.
4.4.2
Junction OOP
A junction can be extended in the extended controller. The junction that is extended basically remains as it is. It can simply be extended by transitions. It is also possible to overwrite single transitions.
4.4.1
Java 17
In preparation for the update to a current Eclipse version, the change to the current Java LTS version was necessary. For this reason this UP version is now based on Java 17. More details about the used Java JDK version can be found under the following link:
4.3.3
Additional State in controller extension
Additional flat states can be created in extended controllers.
4.2.0
Diagram for extended state machine
4.0.0 MS
UPstudio
UPstudio is the reworked development environment of UP. It is based on Eclipse but tailored to the needs of UP developers.
In contrast to the previous versions, future updates will no longer be made via the update site. From now on, each version (patch, minor and major) will be delivered as a complete package via AVM Cloud..
Type safety
When using the code snippet editor there is a possibility to activate a type validation:
Type conversion
With the newly introduced type conversion, it is possible to perform explicit type conversion:
3.30.0
Extensions of Controller Actions
Model constant
3.29.0
Statemachine Junction
Codesnippet improvement
Delete single characters with backspace
Until now, a blue underlined element (resource) in a code snippet could only be deleted as a whole. Now, a single character can be deleted using the backspace key. This converts the resource back into text and it can then be processed with Content Assist.
Autolinking of resources
Until now, each resource in a code snippet had to be selected using content assist. Only in this way was it underlined in blue and thus linked correctly.
Clearly assignable resources no longer need to be selected with content assist. They are linked automatically.
The reactivity of the autolinker can be set via parameter:
Copy in diagrams
3.28.3
Formal pass through parameter for controllers
3.27.5
Extension of interface variables
Interface Variables from implemented interfaces can be extended. The requirement is that all variable paths of the base variable are contained in the extension in addition to the new fields. Only the names are important, not the types.
3.27.4
Value conversion methods
A new set of methods allows the conversion of values directly on the variable or on the method.
Example:
variable.toBool()
method().toUdint()
3.27.2
Message methods using handle
A new set of methods enables the handling of messages using message handles. This makes it possible to use message methods within class methods or functions.
3.25.0
Message & Logger over MQTT with B&R platform
Logger persistence
3.24.0 MS
Beckhoff integration
Beckhoff as new platform supported.
Reference Methods
UP now offers the possibility to create references to variables. New common methods have been introduced for this purpose:
3.21.6
Controller Methods
A controller method, as the name implies, serves as a method with the controller scope. All local and interface variables are members of this method.
A controller method can call inherited methods by means of a super call. In addition, a method can also overwrite inherited methods using the overwrite mechanism.
Method local variables are only visible within the method.
Log Common Method
With the new method "log.add" a log information can be sent at any time.
3.21.0
UPoo - State overwrite
In the area of state machine extension several new possibilities have been added:
- complete overwriting of a state including super call of existing functions
- add additional transitions
- overwrite state without additional sub-states
New Eclipse Version 4.17
https://www.eclipse.org/eclipse/news/4.17/
New Actifsource Version 10.11.0
http://actifsource.com/download/release_notes/10_11_0.html
3.20.0 MS
State machine support
Recursive Statemachine (B&R) no longer supported.
3.19.3
Child Iterator
Got to the doc article: UP - ChildIterator
3.19.0
3-Way-Merge-View
In addition to the window for the version in the repository and the version in the workspace, there is now a new display of the common ancestor.
Extended context menu
Create the most important resources via the context menu.
If the context menu is called on a controller, you can directly create local variables, messages etc.
Code usage search
For variables, messages etc. a usage search in the code can be made via the context menu. The code snippet line is displayed in the result. For nested calls across different sharedfunctions the hierarchy is displayed.
3.18.0
Search/Replace with scope parameter
A scope can now also be specified in the search dialog:
Resource
Search within the current resource (e.g. CodeSnippet)
Root Resource
Search within a Root Resource (e.g. all elements of a controller or the ControllerTree).
Action to open extended state machine diagrams
With an extended controller, a dialog opens in the ControllerTree with a double click if several statecharts are available.
ClassType visible in ServiceUI
The members of a ClassType variable are now visible in the ServiceUI
3.17.0
New state machine implementation
New and more efficient state machine with non-recursive design
Search/Replace within Codesnippet
With ctrl-F the search dialog is opened with which you can search and replace elements within a code snippet (no matter if resource or text).
Super-State: state function/simulation function
Super-State: entry-, state-, exit-function visible in diagram
3.16.3
Unit configuration
Got to the doc article: UP - Unit System
3.15.0
CodeSnippetFieldSelector
Go to the doc article: UP - AFieldSelector
Improved global search
The search results are displayed in a more comprehensible way and a double-click takes you to the location used. This also applies to usages within a CodeSnippet.
Improved base and user library management
Go to the Confluence article: UP - LibraryConfig
3.14.0
ClassType
The ClassType is a new type within the DatatypeLibrary. The ClassType enables new object-oriented development patterns.
Search View
The new SearchView shows more exactly where a resource was found.
Double-clicking on a search result takes you directly to the location used (even within a code snippet).
Dark Mode
Under Window-->Preferences-->General→Apperance:
Select dark theme
Under Window-->Preferences→Actifsource→StyleConfiguration:
Select dark
After the restart, the view looks as follows:
Annotations
Annotations can be placed in any comment field. These are displayed in the Model Inconsistencies view.
3.13.0
Fullscreen Codesnippet Editor
With the full screen CodeSnippet Editor the work in a CodeSnippet becomes much clearer. Each CodeSnippet can be extended to the full desktop. This makes it easier to work even with very large CodeSnippets.
before:
after clicking on 'CodeSnippet' in the breadcrumb:
Performance improvements
Performance improvements in various areas make working with UP easier.
- Reduction of memory requirements by approx. 50%.
- No more delays when working in very large CodesSnippets
- Exporting Precompiled CodeSnippets greatly reduces the time needed to start UP
3.11.1
Context Help
By selecting a resource in the project explorer and pressing F1 you get to the context help.
3.11.0
Inheritance of controllers
By introducing object orientation, controllers can be derived and extended by new states, functions and guards.
Transition shared functions, shared guards and child controllers can also be overwritten.
3.10.1
Custom Prefix
Customer-specific prefixes can be assigned for all elements in the domain model. These are automatically assigned to variables, data types, function blocks, and so on.
3.10.0 MS
S7 Tia Generator
The first version of the S7 generator is released. There are still some functionalities that are not yet available compared to the B&R solution.
IFC Extension
The Common Interface can be extended by own elements:
Codesnippet Key Bindings
Various key bindings to manipulate CodeSnippets:
VC ServiceVisu support
VC Service visualisation (B&R) no longer supported.
AVM_MessageHandler support
AVM_MessageHandler (B&R) no longer supported.
3.9.3
Custom Data Groups
The Specific Interface IFS can be customized with Custom Data Groups.
3.9.1 MS
ServiceUI
With the web-based ServiceUi all analysis tools (ControllerTree, Logger, Animation,...) can be operated with a browser.
3.8.0
Graphical Merge/Compare for CodeSnippets
3.5.0
Switch to OpenJ9
Due to the changed license conditions of the Oracle JVM, we switched to the open JVM of Eclipse (OpenJ9). This also has the advantage that the Garbage Collector works much more efficiently in combination with UP.
3.2.1
Text Management
With the integrated text management different languages can be kept in the model. By means of an export/import mechanism, the texts can be delivered to a translator and then imported back again.
3.0.0
UPact
UPact is a unit test framework to test controllers and functions automatically.
Any number of tests can be modelled and executed at the push of a button.
3.0.0
Common Function
So-called Common Functions simplify various aspects in the model. There is Common Function for the areas: Message handling, state machine, parent child relationship and logging.
2.3.0
UserObjectWrapper
With a UserObjectWrapper it is possible to execute customer specific function blocks in a definable task context.
A connection between a controller and a UserObjectWrapper can easily be created by a relation in the ControllerTree.
2.0.0
Controller as function blocks
In the B&R implementation, the controllers are no longer mapped as programs, but as function blocks. This greatly reduces the time required for compilation in Automation Studio.
Configurable logger
The logger service is now part of the metamodel and can be configured via the application.