16. Februar 2021

Neuigkeiten aus der INOSIM Softwareentwicklung, 1. Quartal 2021

Neuigkeiten aus der INOSIM Softwareentwicklung, 1. Quartal 2021

Das neue INOSIM 13 wird im Laufe dieses Jahres erscheinen. Die Software für die Prozesssimulation kommt mit einer Vielzahl neuer Features und sinnvoller Verbesserungen. Einen ersten Ausblick erhalten Sie hier.

Ausblick auf INOSIM Version 13

Vereinheitlichung von Steuerungen und Ereignissen

In V12 gab es nur für manche Steuerungstypen entsprechende Ereignisprozeduren. In V13 wurden die Ereignisprozeduren vervollständigt und die Steuerungen angepasst. Dadurch ändern sich einige Steuerungen. Das folgende Beispiel zeigt eine Poolbelegungssteuerung in V12.

Function UnitPoolAllocation_V12(proc As ProcedureInstance, u As Unit) As Boolean
    ' ...
End Function

In V13 sind alle Steuerungen durchgängig Prozeduren. Steuerungen, die einen Rückgabewert hatten, haben nun einen zusätzlichen Referenzparameter. Das obige Beispiel sieht dann so aus:

Sub UnitPoolAllocation_V13(proc As ProcedureInstance, p As UnitPool, u As Unit, ByRef allocate As Boolean)
    ' ...
End Sub

Der zusätzliche Parameter allocate übernimmt die Rolle des Rückgabewerts. Der zweite zusätzliche Parameter p ist eine Erweiterung in V12.
Durch die Änderung verwenden Steuerungen und Ereignisprozeduren identische Parameter. Es ist nun auch möglich, gleichzeitig eine Steuerung und eine oder mehrerer Ereignisprozeduren einzubinden. So könnte im obigen Beispiel eine Ereignisprozedur den Wert des Parameters allocate ändern, der zuvor von einer Steuerung gesetzt wurde (Ereignisprozeduren werden immer nach einer Steuerung ausgeführt).

Alte Steuerungen werden in V13 weiter unterstützt, so dass eine sofortige Anpassung von bestehenden Projekten in der Regel nicht notwendig ist.

Inline-Bearbeitung von benutzerdefinierten Attributen

Die Werte benutzerdefinierter Attribute lassen sich jetzt direkt auf der Registerkarte des jeweiligen Eigenschaftsdialogs ändern.

„Kontinuierliche“ Transfers werden flexibler

In einem Teilgrundrezept können in V13 neben einem kontinuierlichen Transfer (mit influx-, outflux– und startTransfer-Operationen) beliebig viele transfer-Operationen aktiv sein, die zu kontinuierlichen Transfers aus anderen Teilgrundrezepten gehören.

Was bedeutet die neue .NET-Unterstützung für die Basic-Programmierung in INOSIM?

V13 unterstützt neben der bekannten Basic-Sprache eine neue Sprachvariante mit dem Namen WWB.NET. Diese orientiert sich an VB.NET, ist aber nicht vollkommen identisch. Sie lässt sich durch einen #Language-Kommentar aktivieren.

'#Language "WWB.NET"

Sub Main
End Sub

Makros ohne #Language-Kommentar verwenden die alte Sprachvariante.

Sub Main
End Sub

Die alte Sprachvariante, die den Namen WWB.COM trägt, lässt sich auch explizit auswählen.

'#Language "WWB.COM"

Sub Main
End Sub

Für bestehende Projekte bedeutet das zum einen, dass der vorhandene Code nicht geändert werden muss. Zum anderen kann ein Projekt sowohl Makros der alten Sprachvariante als auch der neuen Sprachvariante enthalten. Das vereinfacht eine Umstellung, wenn diese gewünscht ist.

Nutzung des .NET-Framework

Die Basic-Sprachvariante WWB.NET in V13 erlaubt die Nutzung des .NET-Frameworks. Dieses ist unter Windows vorinstalliert und enthält nützliche Klassen, die die Programmierung vereinfachen können.

Das folgende Beispiel verwendet die Listen-Klasse System.Collections.Generic.List. Sie verhält sich wie ein Array, das das Einfügen und Löschen von Elementen an einer beliebigen Position unterstützt.

'#Language "WWB.NET"

Option Explicit

Private Sub Simulation_Init() Handles Simulation.Init
    ' Aufträge in ein List-Objekt schreiben
    Dim l As New System.Collections.Generic.List(Of Order)
    Dim o As Order
    For Each o In Orders
        l.Add o
    Next

    ' Erstes Element entnehmen und entfernen
    If l.Count > 0 Then
        o = l(0)
        l.RemoveAt(0)
        Console.Print "Auftrag " & o.Name & " wurde aus Liste entnommen"
    End If
End Sub

Die Klassen des .NET-Frameworks sind ausführlich dokumentiert. Details zur List-Klasse sind hier zu finden.

Weitere .NET-Komponenten lassen sich über den Dialog Referenzen im Basic-Fenster in INOSIM einbinden.

Sie haben noch Fragen oder wünschen weitere Informationen? Bitte nehmen Sie Kontakt mit uns auf.

Array ( [posts_per_page] => 3 [post_type] => [category__in] => Array ( [0] => 164 [1] => 170 [2] => 89 ) [orderby] => rand [order] => DESC )

INOSIM Kontakt

Zu den lokalen Geschäftszeiten

Deutschland +49 231 97 00 250