Step 5 Uhr stellen CPU95 / CPU103

ggsg68

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen!
Step 5 ist bei mir lang her, ich musste damals auch den Maschinen auch keine Tages/Wochenzeiten beibringen, weill die immer gearbeitet haben....
Die Aufgabe: Am ersten Samstag im Monat um 12:02-12:04 Uhr soll die Verarbeitung eines Einganges 0.1 (32.1) unterdrückt werden. Dieser Eingang würde im Normalfall ein Feuerwehrgerätehaus zum Leben erwecken. An dem Samstag ist Probealarm, da soll das Haus weiterschlafen.
Jeden Mittwoch ist Punkt 19:02 für andere 4 Eingänge Proberuf. Der erste Eingang 0.0 (32.0)signalisiert, dass es sich um Proberufe handelt. Diesen Eingang möchte ich dazu nutzen, die Uhr immer (also wöchentlich) auf 19:02 Uhr zu stellen.

Statuswort 102, Uhrenbaustein DB75, Uhr läuft, Wenn Wert in DB 1 geändert wird, wird er bei Stop>Run auch übernommen.
Verwendete Software: PG 2000.

Stellen der Uhrzeit durch "Steuern Variablen":
Änderung in DB 75 > 6:KH=0019 und 7:KH=0200
Steuern Variablen: MW 102 KM 00000000 00000100
= Uhrzeit wird gestellt.
DB75 : Neue Uhrzeit vorhanden, Stellwerte bleiben erhalten.
Erneutes Ausführen Steuern Variablen: Uhrzeit wird nicht gestellt. Stellwerte bleiben erhalten

Das Beispiel aus dem Handbuch der CPU95:
Identisch abgetippt, Statuswort übernommen, DB angepasst, also alles 1:1:
Uhr wird nicht gestellt, Stellwerte in DB werden durch 0000 ersetzt (gelöscht).

Ich blick einfach nicht, warum auch mit "Steuern Variablen" der Wert nur einmal übernommen wird..... es fehlt wohl am Horizont.....
Vielleicht hat jemand eine Idee.... spiele mit der CPU95 weiter....

Beste Grüße
Jürgen
 
Hinweise, daß das Uhr stellen nicht korrekt ausgeführt wurde:
- das Fehler-Bit 0 im Statuswort ist gesetzt
- das Auftrags-Bit 2 im Statuswort ist nicht zurückgesetzt (bleibt gesetzt)

Zum Uhr stellen müssen ALLE 4 Worte 4 bis 7 der Stellwertvorgabe mit zulässigen Werten belegt sein, insbesondere Tag, Monat und Wochentag dürfen nicht 0 sein. Wenn die Uhr schon mit dem korrekten Datum läuft und man nur die Uhrzeit stellen will, dann kann man die Werte, die nicht verändert werden sollen, mit FF belegen.

Die 4 Worte der Stellwertvorgabe Datum/Uhrzeit müssen bei Dir also so belegt werden:

Code:
Wort 4: KH=FFFF  // --- + Wochentag (Mittwoch = 04)
Wort 5: KH=FFFF  // Tag + Monat
Wort 6: KH=FF19  // Jahr + Stunde
Wort 7: KH=0200  // Minute + Sekunde
M103.2: KM=0     // Auftrags-Bit: auf 1 setzen zum Uhr stellen, muß danach wieder auf 0 gehen
M103.0: KM=0     // Fehler-Bit: muß nach Uhr stellen auf 0 sein

Achtung: das Programmbeispiel im 95U-Systemhandbuch arbeitet mit MW10 als Statuswort.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank, der Depp sitzt vor dem Bildschirm. FF steht ja auch im Handbuch........ jedoch:

wird im DB75 nun Wort 4 mit FF00 und Wort 5-7 mit 0000 überschrieben... Die Uhrzeit wird nicht einmal gesetzt.....
Code:
     0:     KH = 0006;                                                                                                          
     1:     KH = 0803;                                                                                                          
     2:     KH = 1420;                                                                                                          
     3:     KH = 3836;                                                                                                          
     4:     KH = FF00;                                                                                                          
     5:     KH = 0000;                                                                                                          
     6:     KH = 0000;                                                                                                          
     7:     KH = 0000;                                                                                                          
     8:     KH = 0000;     ....
Habe DB1 auf Statuswort 10 geändert (M11.2, M11.0), damit konform mit Handbuch...nur dB75 möchte ich nicht ändern....

M10.2 wird nicht zurückgesetzt, steht also auf 1, M10.0 steht auch auf 0

Im Handbuch steht im FB10 ein SPB auf "VORM". Das will hier die Büchse nicht und führt dafür ein M002 ein, und natürlich einen M003. In der Abfolge kommt nun M002 vor M001, die Marken sind aber korrekt.
Code:
  ....
   :T    DR   5                                                                                                               
     :L    =JAHR                                                                                                                
     :T    DL   6                                                                                                               
     :L    =STD                                                                                                                 
     :ON   =AMPM                                                                                                                
     :ON   =MODE                                                                                                                
     :SPB  =M002                                                                                                                
     :L    KH 0080         [Das ist doch 128 Dezimal, wofür das?]                                                                                                      
     :OW                                                                                                                        
M002 :T    DR   6                                                                                                               
     :L    =MIN                                                                                                                 
     :T    DL   7                                                                                                               
     :L    =SEK                                                                                                                 
     :T    DR   7                                                                                                               
     :UN   M   11.2                                                                                                             
     :S    M   11.2                                                                                                             
     :L    KT 0020.1                                                                                                            
     :SV   T   10                                                                                                               
M001 :U    T   10                                                                                                               
     :BEB                                                                                                                       
     :UN   M   11.2                                                                                                             
     :SPB  =M003                                                                                                                
     :S    =FEHL                                                                                                                
     :BEA                                                                                                                       
M003 :UN   M   11.0                                                                                                             
     :RB   =FEHL                                                                                                                
     :BEB                                                                                                                       
     :S    =FEHL                                                                                                                
     :BE

Oh mei ist das lang her...
Vielen Dank und Beste Grüße
 
Zuletzt bearbeitet:
Habe DB1 auf Statuswort 10 geändert (M11.2, M11.0), damit konform mit Handbuch...nur dB75 möchte ich nicht ändern....

M10.2 wird nicht zurückgesetzt, steht also auf 1, M10.0 steht auch auf 0
Hast Du Dich hier vertippt?
MW10 Bit 0 ist M11.0
MW10 Bit 2 ist M11.2

Code:
     :L    =STD
     :ON   =AMPM
     :ON   =MODE
     :SPB  =M002
     :L    KH 0080         [Das ist doch 128 Dezimal, wofür das?]
     :OW
M002 :T    DR   6
Da wo Du das abgetippt hast, da stand doch Kommentar dran.
Es ist so: wenn die Uhr auf 12-Stunden-Modus eingestellt ist, dann kennzeichnet Bit .7 in der Stundenangabe AM/PM.

Harald
 
Moin!
Joop, Habe mich vertippt. ist MW11.2 High, MW11.0 Low
AM/PM, hab Adressbereich/Darstellungart nochmal durchgelesen, jetzt ist es klar.
Dürfte aber keinen Einfluss auf den Ablauf haben, solange ich den Eingang im Beispiel nicht setze.

Hier der DB1:
Code:
     0:     KC ='DB1 OBA: AI 0 ; OBI:    ';                                                                                     
    12:     KC ='   ; OBC: CAP N     CBP ';                                                                                     
    24:     KC ='N      ;#SL1: SLN 1  SF ';                                                                                     
    36:     KC ='DB2  DW0   EF DB3  DW0  ';                                                                                     
    48:     KC ='  KBE MB100      KBS MB1';                                                                                     
    60:     KC ='01      PGN 1  ;# SDP: N';                                                                                     
    72:     KC ='T 128 PBUS N ; TFB: OB13';                                                                                     
    84:     KC =' 100    ;  CLP: STW MW10';                                                                                     
    96:     KC ='         CLK DB75  DW0  ';                                                                                     
   108:     KC ='  SET 6  08.03.14 19:50:';                                                                                     
   120:     KC ='00    OHS 000000:00:00  ';                                                                                     
   132:     KC ='  TIS 3 01.10. 12:00:00 ';                                                                                     
   144:     KC ='   STP Y SAV Y  CF 00   ';                                                                                     
   156:     KC =' ;  END ';

cu
Juergen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin!
Habe mal den Kopf schief gelegt und mir überlegt, ob das Beispiel im Handbuch einen Sinn ergibt. Ich habe nämlich nicht verstanden, warum ich Daten in einen Accu laden soll etc.....
Den DB01 hab ich nun vorstehend abgebildet. Uhren DB = DB75, Statuswort ist MW10,
Mein Uhren DB75 sieht so aus:
Code:
     0:     KH = 0001;                                                                                                          
     1:     KH = 1003;                                                                                                          
     2:     KH = 1419;                                                                                                          
     3:     KH = 0756;                                                                                                          
     4:     KH = FFFF;                                                                                                          
     5:     KH = FFFF;                                                                                                          
     6:     KH = FF19;                                                                                                          
     7:     KH = 0200;                                                                                                          
     8:     KH = 0000;                                                                                                          
     9:     KH = 0000;                                                                                                          
..... bis 21
Im OB1 steht nun nur noch:
Code:
    ...
     :SPA  FB  10                                                                                                               
Name :UHR-STEL                                                                                                                  
     :BE

Der FB10 macht nun bei E32.0 ein Setzen der Uhrzeit aus DB 75 DW 4-7 durch Setzen des Statusworte M11.2, in diesem Fall setzt er nur die Uhrzeit auf 19:02.00 Uhr. Nicht benötigte Stellwerte wurden durch FF vorbelegt.
Sollte beim Setzen was schief gehen, wird der FehlerBit M11.0 nach Ablauf T10 auf einem Ausgang A32.0 ausgegeben.
Code:
Netzwerk 1 von 1                                                 Bib =                                                          
     :U    E   32.0                                                                                                             
     :S    M   11.2                                                                                                             
     :L    KT 0020.1                                                                                                            
     :SV   T   10                                                                                                               
     :UN   T   10                                                                                                               
     :U    M   11.0                                                                                                             
     :=    A   32.0                                                                                                             
     :BE

Was hat mir das Leben schwer gemacht? Eine CPU103, die einen Schuss hat, undefiniert nach dem Urlöschen DB01 Teile geladen hat, intermitierend auch verschobene Bit&Bytes. Ein Handbuch EWA 4NEB 812 6115-01b Ausgabe 03 , dass mich konsequent vom einfachen Denken abgehalten hat... cu juergen
 
Zurück
Oben