Mit SIOS unterwegs
Autor: Ulrich Groth

Mit dem SIOSBAS.EXE kann das SIOS-Interface in den Zustand versetzt werden, autonome Anwendungen ohne angeschlossenen PC durchzufhren. Was liegt also nher als die Idee, mit dem SIOS unabhngig wie mit der ZELLE auerhalb der 4 Wnde unterwegs Langzeitmes-sungen durchzufhren.

Aufgabenbeschreibung
Erfassung von  1020 Messdaten mit variablen Messpunktabstnden von Vielfachem einer Sekunde bis mindestens 30 Sekunden - das entspricht  8 1/2 Stdn. Gesamtmessdauer ber einen Sensorkanal - genug fr einen Ausflug.
Starten der Messung ber Triggerung. 
Messzeitpunkt sowie Ende der Messung sollen signalisiert werden.  
Zustzlich sollen nach  Messwerterfassung die erfaten  Daten ausgelesen und mit einem PC weiter verarbeitet werden knnen; aus Datensicherheitsgrnden  soll vor einem endgltigen Programmabschlu immer eine erneute Auslesung der Messdaten durch Entscheidung des Anwenders mglich sein.

Eingesetzte Hardware
1 SIOS-Interface mit Spannungsversorgung ber Akku fr die externe Messung
1 CompuLAB (natrlich ist auch ein zweites SIOS-Interface mglich)
1 Verbindungskabel zwischen SIOS und CompuLAB an ihren Sammelanschlssen (DB25)
Dieses Verbindungskabel mu selbst hergestellt werden; es verbindet die Digitaleingnge           des einen Interfaces mit den Digitalausgngen des anderen und umgekehrt; die Massever-bindung ist ebenfalls durchzuschleifen.
3 Messleitungen mit 2mm Stecker 
 
Eingesetzte Software
Siosbas.exe  (INAD(2).BAS)
Funktion des Programms
Das Programm gliedert sich in die Teile: Initialisierung, Messvorgang, Datenauslese 
Mittels der Variablen S und Z kann die Zeit zwischen den einzelnen Messpunkten variiert werden. S=401 ergab den Wert fr ca 1 Sekunde Schleifendurchlauf; die Variable Z ergibt dann das Vielfache von 1 Sekunde; danach wird der Ausgabeport A0..A7 auf Null-potential gesetzt.Es werden 4 Variablen zu je 255 Datenfeldern initialisiert.  
Nach positiver Triggerung an E0 beginnt der Messvorgang; 
Abhngig von den Zeitverzgerungsschleifen werden die einzelnen Variablenfelder mit den am Sensoreingang AN(2) anliegenden Werten beschickt; die einzelnen Messzeitpunkte wer-den am Datenausgang A0 whrend des Messvorgangs ldf. signalisiert. Das Ende des Mess-vorgangs wird ber den Datenausgang A7 angezeigt.
Ab diesem Zeitpunkt kann die Datenauslese erfolgen; hierzu erwartet das Programm einen lfd. positiven Impuls abwechselnd an den Dateneingngen E1 und E2 - beginnend mit E1. In Abhngigkeit dieses Taktes gibt das Interface an seinen Datenausgngen A0..A7 die einzel-nen 1020 Messdaten aus.
Das Ende der Datenausgabe wird ber OUTPORT=255 am Datenausgang A0..A7 angezeigt; jetzt kann der Anwender das Programm durch positiven Inpuls an E0 beenden oder mittels positivem Impuls an E3 eine erneute Datenauslese ermglichen.



   
ModulLAB fr CompuLAB (INMCLAB.PRG; INWERK.PRC)
Mit diesem Programm kann die Datenauslese erfolgen. Gleichzeitig ist eine Speicherung der ausgelesenen Daten fr nachfolgende Verarbeitungen mit dem Softwarepaket ModulLab fr CompuLAB mglich, was das Arbeiten mit diesem Werkzeug sehr angenehm macht.
 
Ablaufbeispiel 
Datenerfassung
Anschlu SIOS-Interface an PC 
Aufruf unter Siosbas.exe von INAD(2).BAS in die Editorumgebung
Einstellen der Messperiode auf Z = 5 (5 * 1020 / 3600 = 1,42 --> ca. 1,5 Stdn.)
Digitaleingang E0 sollte vorab mittels einer Messleitung auf Nullpotential gelegt werden, um ungewolltes zuflliges Starten der Messung selbst zu vermeiden; mit den zwei verbleibenen Messleitungen werden die Digitaleingnge E1 und E2 ebenfalls auf Nullpotential gelegt, um den richtigen Beginn der spter einsetzenden  Ausleseprozedur der Messdaten sicherzustellen. 
Starten (Run)
Trennen SIOS-Interface vom PC,  danach Abbruch Siosbas.exe 
Jetzt ist das SIOS-Interface fr die Messdatenerfassung am Sensorkanal 1 vorbereitet; das Programm im SIOS wartet ab jetzt auf eine positive Triggerung am Digitaleingang E0.

Messung durchfhren 
Gewnschten Sensor anschlieen; dannNullpotential von E0 lsen und mit der Messleitung E0 positiv triggern.

Datenauslese
Nachdem nun das SIOS-Interface mit den gespeicherten Messwerten vorliegt, ist die Hard-ware fr die anstehende Datenauslese wie folgt vorzubereiten:
Anschlu CompuLAB an PC und Aufruf ModulLAB fr CompuLAB.
Unbedingt jetzt vorab eine gemeinsame Masseverbindung zwischen dem SIOS Interface und dem CompuLAB mit einer freien Messleitung herstellen und dann erst beide Interfaces ber ihre Sammelanschlsse mit dem o.a. besonderen Verbindungskabel verbinden.
Jetzt kann Programm INMCLAB.PRG gestartet werden. Das Programm luft in einer Warteschleife bis ein beliebiger Tastendruck eintrifft.
Vor dem Starten der Auswertung mit Tastendruck sind aber die Messleitungen an E1 und E2 am SIOS-Interface (Nullpotential !! - Kurzschlugefahr !!) unbedingt zu entfernen.  
Nun Tastendruck - und die Datenauslese beginnt.
Wenn alle LED am Ausgangsport aufleuchten, ist die Datenauslese beendet.
Das Programm wird beendet mit Triggerung am Dateneingang E0; eine erneute Datenauslese lt sich jedoch auch - durch Triggerung an E3 - statt dessen veranlassen.
Die ausgelesenen Daten lassen sich als eigene Datei abspeichern und so fr nachfolgende Auswertungen oder weitere Verarbeitungen sichern.




Programm INAD(2).BAS
Initialisierung
10     CLEAR  : S=401 : Z=5     S=401 entspricht etwa 1 Sekunde; Z=5 ergibt  
15    OUTPORT=0                 eine Messzeitdifferenz von 5 Sekunden
20     DIM A1(254)              Maximalwert je Variable 0..254 
22     DIM A2(254)              insgesamt 255 * 4 = 1020 Messwerte mglich
24     DIM A3(254)
26     DIM A4(254)
Messvorgang 
50     IF (INPORT.AND.1)<>1 THEN  GOTO 50   Warte auf +Triggerung an E0  
60     FOR I=0 TO 254
70    A1(I)=AD(2)
80    OUTPORT=1                 Signal Messzeitpunkt an A0
85     FOR N=1 TO Z
90     FOR V=1 TO S
100   OUTPORT=0                 Messzeitpunkt durchlaufen 
110    NEXT V
115    NEXT N
120    NEXT I
130    FOR I=0 TO 254
140   A2(I)=AD(2)                usw. ....... 
150   OUTPORT=1                       .
155    FOR N=1 TO Z                   .
 .                                                     .
 .                                                     .
260    NEXT I                                .
270    FOR I=0 TO 254            bis letzte Variable beschickt 
280   A4(I)=AD(2)                wird     
290   OUTPORT=1
295    FOR N=1 TO Z
300    FOR V=1 TO S
310   OUTPORT=0
320    NEXT V
325    NEXT N
330    NEXT I
640   OUTPORT=128              Signal Ende der Messung an A7  
650   N=0
Datenauslese
660    IF (INPORT.AND.2)<>2 THEN  GOTO 660 warten auf Taktsignal an E1 
680   OUTPORT=A1(N)                        zum Auslesen der Daten 
690    IF (INPORT.AND.4)<>4 THEN  GOTO 690 warten auf Taktsignal an E2   
710   N=N+1                                zum Auslesen der Daten 
720    IF N=255 THEN  GOTO 750             ber CompuLAB 
730    GOTO 660
750   N=0
760    IF (INPORT.AND.2)<>2 THEN  GOTO 760 usw. mit Datenauslese A2(N)....
780   OUTPORT=A2(N)                                                    .
800    IF (INPORT.AND.4)<>4 THEN  GOTO 800          . 
 .                                                                                           .
 .                                                                                           .
1000   IF (INPORT.AND.4)<>4 THEN  GOTO 1000       .
1010  N=N+1                                                                      .
1020   IF N=255 THEN  GOTO 1040                                . 
1030   GOTO 960                             bis letzte Variable A4(N)
1040  N=0                                   ausgelesen ist
1050  OUTPORT=255                   Signal Ende der Datenausgabe A0..A7
1060   IF (INPORT.AND.1)=1 THEN  GOTO 1090  entweder jetzt Programmende (E0)
1070   IF (INPORT.AND.8)=8 THEN  GOTO 640   oder Datenauslese nochmal  (E3)  
1080   GOTO 1060
1090  OUTPORT=0
1500   END



INMCLAB.PRG
Hauptprogramm
PROGRAMM
 Speicher 3 = 0
 Wiederhole 
	 Ausgnge = oooooooo
 Bis Tastendruck
 Wiederhole 
	 Einlesen
	 Speicher 3 + 1
 Bis Speicher 3 = 4
ENDE.


INWERK.PRC
PROZEDUR Einlesen
 Speicher 1 = 0
 Ausgnge = oooooooo
 Wiederhole 
	 Ausgang 2 = O
	 Ausgang 1 = I
	 Speicher 2 = Eingnge
	 Schreibe Speicher 2 D
	 Speicher 1 + 1
	 Ausgang 1 = O
	 Ausgang 2 = I
 Bis Speicher 1 = 255
ENDE;



 

   
 
27.4.1999 - 50933 Kln, Aachener Str. 329  
 


