LÖSUNG DER ERWEITERTEN AUFGABENSTELLUNG:


Zunaechst wird mittels GTS die automatische Messwerterfassung fuer
Maschine 2 und Arbeitsplan 1020 aktiviert. Dann wird die Programm-
datei erweitert: Da zwei Diagramme zu erstellen sind, werden zwei
BDE-Dateien erzeugt und mit den entsprechenden Messdaten gefuellt.

Modelldatei bdeanla2.cpp:

#include <stdio.h>
#include "sfxprg.h"                    // enthaelt die Funktionen der C-Schnittstelle

const int Maschine1     = 1;
const int Maschine2     = 2;
const int Verteilwagen  = 3;
const int BdeBst        = 10;
const int BdeSchreiben  = 999;

char Ausl_BDE[] = "d:\\sfx3d-seminar\\bde\\Ausl_bde.out";
char DLZ_BDE[] = "d:\\sfx3d-seminar\\bde\\DLZ_bde.out";
FILE *Ausl_BdeDatei = NULL;
FILE *DLZ_BdeDatei = NULL;

void _impexp init_prog () {
  Ausl_BdeDatei = fopen (Ausl_BDE, "w");
  fclose (Ausl_BdeDatei);
  DLZ_BdeDatei = fopen (DLZ_BDE, "w");
  fclose (DLZ_BdeDatei);
  installProg (999);
  planeEin (SimTime::convertMinutes (12.0), ETprogramm, BdeBst, BdeSchreiben);
}

void _impexp prog_999 () {             // BDE-Programm auf Baustein 10
  Ausl_BdeDatei = fopen (Ausl_BDE, "a");
  fprintf (Ausl_BdeDatei, "%5.2f ; %5.2f ; %5.2f ; %5.2f\n",
           Modellzeit ().inHours (), MitAuslastung (Maschine1), 
           MitAuslastung (Maschine2), MitAuslastung (Verteilwagen));
  fclose (Ausl_BdeDatei);
  
  DLZ_BdeDatei = fopen (DLZ_BDE, "a");
  fprintf (DLZ_BdeDatei, "%5.2f ; %5.2f ; %5.2f ; %5.2f ; %5.2f ; %5.2f ; %5.2f \n",
           Modellzeit ().inHours (), MinDurchlaufzeit (1010).inMinutes (),
           MitDurchlaufzeit (1010).inMinutes (), MaxDurchlaufzeit (1010).inMinutes (), 
           MinDurchlaufzeit (1020).inMinutes (), MitDurchlaufzeit (1020).inMinutes (), 
           MaxDurchlaufzeit (1020).inMinutes ());
  fclose (DLZ_BdeDatei);

  if (Modellzeit () < Modellende ())
    planeDelta (SimTime::convertMinutes (12.0), ETprogramm, BdeBst, BdeSchreiben);
  else
    simAbbruch ();
}

void _impexp exit_prog () {
}