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.