Skip to content

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:

Style configuration

UP-dark

dark theme

UP-bright

bight theme

Own colour profiles

All colours in the diagrams can now also be defined by the user:

own theme

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

UP - CodeSnippet Editor

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:

IBM Developer

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

UP - StatemachineExtension

image2022-11-2_9-26-42

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:

Datatype validation

Type conversion

With the newly introduced type conversion, it is possible to perform explicit type conversion:

Type conversion

3.30.0

Extensions of Controller Actions

UP - ControllerActions

image2022-6-20_13-6-50

Model constant

UP - ModelConstant

model-constant

3.29.0

Statemachine Junction

UP - Junction

image2022-5-24_7-56-33

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:

image2022-5-24_8-6-29

Copy in diagrams

image2022-5-24_7-54-17

3.28.3

Formal pass through parameter for controllers

UP - PassThroughParameter

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.

image2022-2-3_6-38-32

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

CMF - convertMethods

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.

msg.methods

3.25.0

Message & Logger over MQTT with B&R platform

Logger persistence

UP - 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:

UP - ReferenceLocalVariable

3.21.6

Controller Methods

UP - ControllerMethod

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.

image2021-1-11_7-37-18

Log Common Method

With the new method "log.add" a log information can be sent at any time.

image2021-1-11_8-15-52

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

image2020-10-16_21-47-50

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.

image2020-5-7_22-37-5

Extended context menu

Create the most important resources via the context menu.

image2020-5-7_22-29-9

If the context menu is called on a controller, you can directly create local variables, messages etc.

image2020-5-14_22-1-27

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.

image2020-5-14_22-14-22

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

image2020-4-15_12-54-5

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.

image2020-4-15_12-59-4

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

image2020-3-18_20-15-30

Super-State: state function/simulation function

image2020-3-18_20-24-59

Super-State: entry-, state-, exit-function visible in diagram

image2020-3-18_20-23-55

3.16.3

Unit configuration

Got to the doc article: UP - Unit System

3.15.0

CodeSnippetFieldSelector

Go to the doc article: UP - AFieldSelector

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.

image2019-12-17_12-9-23

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.

image2019-11-6_15-37-46

Double-clicking on a search result takes you directly to the location used (even within a code snippet).

image2019-11-6_16-13-56

Dark Mode

Under Window-->Preferences-->General→Apperance:

Select dark theme

image2019-11-6_16-26-23

Under Window-->Preferences→Actifsource→StyleConfiguration:

Select dark

image2019-11-6_16-28-8

After the restart, the view looks as follows:

image2019-11-6_16-29-41

Annotations

Annotations can be placed in any comment field. These are displayed in the Model Inconsistencies view.

image2019-11-6_16-23-19

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:

image2019-10-22_14-34-33

after clicking on 'CodeSnippet' in the breadcrumb:

image2019-10-22_14-33-5

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.

image2019-10-22_14-48-22

3.11.0

Inheritance of controllers

By introducing object orientation, controllers can be derived and extended by new states, functions and guards.

image2019-10-22_11-35-8

Transition shared functions, shared guards and child controllers can also be overwritten.

image2019-10-22_14-53-38

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.

image2019-10-22_14-56-48

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:

image2019-10-22_15-14-17

image2019-10-22_15-12-17

Codesnippet Key Bindings

Various key bindings to manipulate CodeSnippets:

image2019-10-22_15-52-8

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.

image2019-10-22_15-20-37

3.9.1 MS

ServiceUI

With the web-based ServiceUi all analysis tools (ControllerTree, Logger, Animation,...) can be operated with a browser.

image2019-10-22_15-30-20

image2019-10-22_15-30-41

image2019-10-22_15-38-23

3.8.0

Graphical Merge/Compare for CodeSnippets

image2019-10-22_16-50-33

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.

image2019-10-22_15-56-15

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.

image2019-10-22_16-3-32

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.

Common Model Functions

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.

image2019-10-22_16-7-29

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.