|
VB (Visual Basic) in CHEMCAD beinhaltet verschiedene Anwendungen, bei denen VB (genauer VBA) verwendet wird.
Übersicht:
1. VB-Unit führt eine frei programmierbare Berechnung als Unit Operation aus. Die Programmierung erfolgt ausschließlich in VB. VB ist fest integriert in CC6. Excel ist nicht erforderlich. Dies ist ein wesentlicher Unterschied zur Excel Unit. Die Befehle liefern grundsätzlich alle Daten in internen CHEMCAD Maßeinheiten. Da das Umrechnen sehr aufwendig ist, wird empfohlen, in diesen Einheiten zu rechnen. Beispiel: Flash.
Beispiel: Eine VB-Unit wird zunächst als Rechtecksymbol aus der Palette ausgewählt. Die ausgewählte VB-Unit erhält 2 Feedströme und einen Produktstrom. Klickt man nun die VB-Unit an, erscheint ein kleines Auswahlmenü, in dem sich der Name StreamMixer befindet, den man auswählt. Nun kann man damit 2 Feedströme mischen. Diese VB-Unit benötigt kein Eingabemenü, dennoch erscheint standardmäßig ein solches. Damit ist bereits die VB-Unit fertig. Will man den Programmcode sehen, wählt man im "CHEMCAD Explorer", "Visual Basic" und klickt auf "UnitOps", "StreamMixer". VB öffnet und zeigt den Programmcode.
2. Excel-Unit führt eine frei programmierbare Berechnung als Unit Operation aus. Die Programmierung kann in VBA oder in Excel-Zellen durchgeführt werden. Üblicherweise wird häufig die Zellenprogrammierung in Kombination mit VBA Funktionen benutzt. Damit lassen sich eigene Berechnung in Excel leicht als Unit Operation in eine Simulation einbinden. Die Befehle liefern grundsätzlich alle Daten in internen CHEMCAD Maßeinheiten. Da das Umrechnen programmtechnisch etwas aufwendig ist, wird empfohlen, in den internen Einheiten zu rechnen.
3. Economics berechnet die Wirtschaftlichkeit eines Prozesses auf der Basis eines VBA Programms. Dazu ist das Kostenberechnen der Unit Operations erforderlich. Autor: David Hill. Änderungen des VB-Programms sind hier nicht vorgesehen. Dieses Tool kann aber zum Kennenlernen diverser VB Befehle dienen.
4. SpecSheet Für viele Unit Operations kann man sich Spezifikationsdatenblätter einrichten (Report, Spec Sheet), s. Beschreibung im Help. Änderungen des VB-Programms sind hier nicht vorgesehen. Dieses Tool kann aber zum Kennenlernen diverser VB Befehle dienen.
5. VBClient Mit VBClient.xls bearbeitet man jeden beliebigen Job von Excel aus. Die Datei findet man in dem Ordner, in welchem sich CHEMCAD befindet: programme\chemstations\chemcad. Es ist empfehlenswert, VBClient.xls anzuwenden und mit F11 das VB-Programm anzusehen. Man kann das Programm leicht testen, indem man Programmzeilen mit F9 markiert und somit zum Halten bringt. Dabei werden die Daten von Variablen angezeigt, sobald man diese mit der Maus berührt.
6. Mapping Das ist die beliebteste Anwendung, um Daten zwischen einem Job und Excel auszutauschen. Zu allen Schritten gibt es die passenden Menüs. Eigenleistung an Dateien oder Excel ist nicht erforderlich. Für geringe Datenmengen ist diese Methode ideal. Sie wird auch unterstützt im CHEMCAD Explorerfenster"Simulation". Die Daten werden nach jeder Berechnung automatisch ausgetauscht. Manuelle Eingriffe sind nicht erforderlich. Will man Excel gleichzeitig mit CHEMCAD öffnen, ist darauf zu achten, dass genügend Speicherkapazität vorhanden ist. Die zum Job gehörende Exceldatei öffnet man entweder im Datamap Menü über Open oder Browse (r.M. Öffnen mit). Es kann sein, dass der PC die Open -Methode nicht unterstützt.
7. xlChemcadMenu xlChemcadMenu ist eine xla Datei, welche man in Excel über Add Ins aus dem Programmordner von CHEMCAD oder dem Add Ins Ordner laden kann. Damit wird Excel so erweitert, dass man CHEMCAD Jobs laden und starten kann. Häufige Anwendung sind solche Jobs, die ein Mapping zu einer Excel Datei haben. Es ist empfehlenswert, sich mit diesem Tool in VB einzuarbeiten: F11. Auch hier kann man mit F9 das Programm an beliebigen Stellen anhalten.
Dokumentation:
1. CC5class.pdf
Alle o.g. Anwendungen haben gemeinsam, dass die in CC5class.pdf aufgeführten VB-Befehle verwendet werden. Daher sollen hier die wichtigsten VB-Befehle aufgeführt werden.
VB-Befehle, Übersicht Die Auflistung dieser Befehle vermittelt nur einen ersten Eindruck von dem was möglich ist, kann aber keine Programmieranleitung sein.
1. Startbefehle Zu Beginn eines jeden VB-Programms muß eine Verbindung zu CHEMCAD hergestellt werden. Dies erfolgt auf der Basis des MS-COM-Standards. Beim Installieren von CHEMCAD erfährt Windows, dass CHEMCAD COM kompatibel ist. In CHEMCAD befinden sich Programme, die über COM als Open Source verwendet werden können. Die Namen dieser Programme sind mit den Programmnamen in VB identisch.
Der Startbefehl einer VB-Unit lautet: Sub StreamMixer(entry As ChemCADEntry) Der Startbefehl der Excel Unit lautet: Sub OnEntry(ByVal ChemCADEntry As Object) Bei VBClient und xlCHEMCADMenu lautet der Startbefehle wie folgt : Set objCHEMCAD = CreateObject("CHEMCAD.VBServer")
Mit diesen Befehlen wird die Verbindung zu CHEMCAD hergestellt, sodass VB auf die COM-Open Source Programme Zugriff hat.
2. Flowsheetbefehle
2.1 Zahl der Components: compCount = strInfo.GetNoOfComponents, Dim strInfo As Object. 2.2 Componentname: compName = strInfo.GetComponentNameByPosBaseOne(compIndex), Dim compName As String 2.3 ComponentID: compID = strInfo.GetComponentIDByPosBaseOne(compIndex), Dim compID As Integer
3. Unit Operation Befehle 3.1 Zahl der Inlets: nInlets = curUnitOp.GetNoOfInlets, Dim nInlets As Integer 3.2 Inlet Nr.: InletID: check = curUnitOp.GetInletIDs(inletIDs), Dim inletIDs(1 To SIZE_STREAM_ARRAY) As Integer 3.3 Daten der UOP: check = uopInfo.GetUnitOpSpecByID(myID, myPar) 3.4 Zahl der Parameter: parCount = uopConv.GetNoOfParameters(myID), Dim parCount As Integer 3.5 Stromdaten: check = strInfo.GetStreamInCurUserUnitByID(id, temperature, pressure, enthalpy, vapFrac, moleRate, massRate, stdLRate, stdVRate, compRate)
4. Stoffdatenbefehle Damit lassen sich Daten für die im Job verwendeten Components aus der Datenbank direkt lesen.
Beispiele:
1. Mixer
2. Flash
Da zum Erstellen eigener Units sowohl verfahrenstechnische als auch mathematische Kenntnisse erforderlich sind, versuchen wir dies soweit wie möglich zu unterstützen.
|