Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Saia DB zugriff

  1. #1
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.642
    Danke
    787
    Erhielt 654 Danke für 497 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe hier ein Kurioses Problem

    Ich habe einen Wert im DB4001 Element 3
    Diesen Wert überschreibe ich mit 0 Wenn in einem Register (R 2000) eine 0 Erkannt wird

    Das funktioniert tadellos wenn ich das über das Watch Windows mache.
    Register bekommt 0. 0 wird in DB geschrieben, und beim Auslesen ist eine 0 drin.

    Ich habe im Programm aber jetzt noch ne Abfrage drin welche eine 0 aufs Register schreibt wenn dieses Register den Wert 324 beinhaltet.
    Das funktioniert nicht. Sondern der inhalt des Registers wird ständig mit dem Inhalt des DB überschrieben (Flackert im Watchwindow zwischen 0 und 324) und im DB selbst bleibt der Wert 324 Erhalten und wird durch die Systemfunktion nicht mehr überschrieben.

    Mache ich da einen Denkfehler?

    Hier mal der relevante Programmausschnitt.

    Code:
                COB    COB_Main            ; Cyclic Organisation Block Hauptprogramm
                       0
    
                CMP    R 2000
                       K 0
                ACC    Z
                DYN    DYNFLAG[1]
                CSF    H    S.SF.DBLIB.Library ;Library number
                       S.SF.DBLIB.SetDBItem ;Write a single DB item
                       4001                ;1 R|K IN, DB number (any DB number)
                       K 3                 ;2 R|K IN, DB item
                       R 2000 ;3 R|K IN, Value to be written
                         
                CSF    L S.SF.DBLIB.Library ;Library number
                       S.SF.DBLIB.GetDBItem ;Read a single DB item
                       4001                ;1 R|K IN, DB number (any DB number)
                       K 3                 ;2 R|K IN, DB item
                       R 2000 ;3 R OUT, Value read
    
        
    ; Hier wird das register 2000 auf 0 gesetzt wenn der Inhalt 324 ist.
                   
            CMP    R 2000
                       324
                JR     Z test1
    
                JR     TEST2
    test1:
                LD     R 2000
                    K 0
                 
                INC    R 1000
    
    
    TEST2:       NOP
    
    ECOB
    Zitieren Zitieren Saia DB zugriff  

  2. #2
    Avatar von vollmi
    vollmi ist gerade online Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.642
    Danke
    787
    Erhielt 654 Danke für 497 Beiträge

    Standard

    Ich bin jetzt offiziell ein DEPP.

    Verständnisproblem. Wenn ich aus dem DB den Wert auslese und der ist 324, wird er auf 0 zurückgesetzt und am anfang des Programms mit dem Compare 0 verglichen und per Flankenerkennung wieder in den DB geschrieben. Nur die flankenerkennung merkt ja von dem wechsel 0 -> 324 -> 0 garnix weil ja alles noch im selben Zyklus stattfindet.

    Ich habs jetzt so gemacht. Nach dem Lesen des DBs vergleiche ich mit 0, wenn ungleich null setze ich ein Flag.

    Am Anfang des Programms überprüfe ich auf 324 und setze auf 0 zurück.

    beim DB schreiben überprüfe ich ob gleich 0 UND Flagmerker True wenn ja setze Flagmerker zurück und schreibe 0 in DB.

    Code:
                COB    COB_Main            ; Cyclic Organisation Block Hauptprogramm
                       0
                  
                      
                CPB    PB_Test1            ; Soll CmdHandLokal wieder auf 0 schreiben wenn vorher Wert 324 hatte
                CPB    PB_Test2            ; Soll DB auslesen und beschreiben wenn jemand 0 auf CmdHandLokal geschrieben hat.
     
    
             
    
                ECOB
    
             
                PB     PB_Test1 ; Externes Programm um zu testen ob 0 von Extern auf CmdHandLokal korrekt funktioniert
    
                CMP    R 2000     ; Hier überprüfen ob Wert 324
                       324
                JR     Z test1                   ; Wenn Ja springen zu Wert auf 0 Setzen
                JR     TEST2
                         
    test1:
    
                GET    Register ; enthält 0
                       R 2000
                INC    R 1000              ; Zähler incrementieren um zu prüfen ob Sprung durchgeführt wurde
    TEST2:
    ; Ende Testprogramm
                EPB
    
    
                PB     PB_Test2
    
    ; Programm das in einem eigenen FB laufen soll.
    
                CMP    R 2000  ; hier überprüfen ob CmdHandLokal 0 ist
                       0
                ACC    Z
                ANH    DYNFLAG[1]          ;nur wenn sich Wert auf 0 geändert hat
                JR     H TEST4             ; springen zum DB Beschreiben
                JR     TEST3               ; sonst immer weiter zu DB lesen
    
    TEST4:      RES    DYNFLAG[1]
                TFR    R 2000 ; Dieses nur einmal ausführen wenn jemand 0 ins CmdHandLokal geschrieben hat.
                       DB4001
                       K 3
                INC    R 1001
    TEST3:
    
                
                TFR    DB4001
                       K 3
                       R 2000
                         
                CMP    0
                       R 2000 ; hier überprüfen ob CmdHandLokal 0 ist
                ACC    N
                SET    DYNFLAG[1]
    
                EPB
    mfG René
    Geändert von vollmi (21.02.2013 um 12:03 Uhr)

  3. #3
    Registriert seit
    27.09.2010
    Beiträge
    516
    Danke
    36
    Erhielt 63 Danke für 56 Beiträge

    Standard

    Hallo vollmi,

    darf ich fragen (hat nichts mit deinem problem zutun, programmiere selbst seit ca. 10 Jahren Saia-Steuerungen) weshalb du das in il programmierst?

    Die Frage zielt auf den Programmierstil ab und soll keine Wertung der Qualität abgeben.

    Ich selbst versuche bei Saia im Fupla zu bleiben, bei Bedarf programmiere ich mir FBoxen welche das nötige tun.
    Kompetenz ist mehr als nur (Halb-)Wissen

    --

    Tools und Software unter http://vs208210.vserver.de/dlf

  4. #4
    Avatar von vollmi
    vollmi ist gerade online Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.642
    Danke
    787
    Erhielt 654 Danke für 497 Beiträge

    Standard

    Bisher habe ich Saia auch immer in Fupla programmiert. Für HLK ist das super, vor allem weil die Fuplabibliotheken für HLK, Kommunikation etc. wirklich mächtig sind.

    Allerdings ist das derzeitige Projekt so dermassen umfangreich was die Anzahl Unterstationen angeht das ich alles im Text halte und so dann eine Anweisungsliste habe die man dann automatisch aus der Datenpunktliste exportieren könnte.

    Auch Suchen ersetzen von Datenpunkten geht in IL wesenlich besser von der Hand (in Notepad++) Als wenn man das in Fupla machen müsste.

    Aber ich gebe zu IL von Saia ist IMHO wesentlich komplexer zu programieren als z.B. AWL bei Siemens. Man stolpert da immer über Sachen die man nicht erwartet.

    z.B. das

    Code:
    LD Testregister
    Testregister3
    Einem nicht den inhalt von Testregister3 in Testregister läd, sondern die Absolute dynamische Adresse.

    für das andere braucht man Put oder Get.

    Für daten Rumschupsen gibt es gefühlte 20 Befehle, um einen Vergleich anzustellen nur einen Befehl, welcher dann dafür mit diversen Statusbits ausgewertet werden muss.

    mfG René

  5. #5
    Registriert seit
    27.09.2010
    Beiträge
    516
    Danke
    36
    Erhielt 63 Danke für 56 Beiträge

    Standard

    jo, ist wohl wahr, aber was die adressierung angeht hab ich keine probleme, mit welchem pg5 arbeitest du? readressierung in fupla geht zu mindest in pg52.0 und pg52.1 total einfach.

    Geht wie mit Excel.

    Was die Libs angeht ist saia im bereich hlk zwar mächtig und umfangreich, kommunikation mache ich aber komplett mit selbstgeschriebenen sbus-bausteinen, transferieren tu ich nur arrays (hab mir dazu ne lib gebaut die das händeln von arrays so stark vereinfacht, das man nicht mehr drüber nachdenken muß. funktioniert so wie das alarming-prinzip fürs sweb von den fboxen her.


    setzt du sweb ein?
    Kompetenz ist mehr als nur (Halb-)Wissen

    --

    Tools und Software unter http://vs208210.vserver.de/dlf

  6. #6
    Avatar von vollmi
    vollmi ist gerade online Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.642
    Danke
    787
    Erhielt 654 Danke für 497 Beiträge

    Standard

    Ich nutze 5.2.0.220. Hm wie man readressiert sozusagen wie das umverdrahten bei Siemens hab ich noch nicht rausgefunden, vor allem wenn die Adresse dann dynamisch ist.

    Ich nutze auch sWeb und ich kanns kaum erwarten bis Editor v5 gegen v8 tauschen. Was haben sie wohl mit v6 und v7 gemacht ^^

    Aber auch die sWeb alarming mach ich oft in IL, weil die Alarmbearbeitung direkt aus Excel Macroartig rausgehauen wird und ich dann alles in einem Textfile habe.

    Ich fänds also schon super wenn Saia sich mal um einen SCL Editor kümmern würde.

    mfG René

  7. #7
    Registriert seit
    27.09.2010
    Beiträge
    516
    Danke
    36
    Erhielt 63 Danke für 56 Beiträge

    Standard

    der c-editor wird wohl so schnell nicht kommen.

    v8 kommt bald mit pg 5.2.1.0 (rev 100?).

    ich hab ihn schon, aber im moment finger weg davon.

    was ist mit v.6 und v7 geschehen?

    nichts, v5 war eine entwicklung des schweizer programmierers Peter Brückner (IniNet) auch bekannt als spidercontrol, und ist exakt das selbe. EDIT: Also Sweb v5 und spidercontrol sind identisch, v8 ist eine neuentwicklung von Matt Harvey, SBC CH)

    Saia hat sich dazu entschlossen die entwicklung selbst zu machen, die namensgebung ist kaufmännischer natur.

    ein umverdrahten wie du es meinst gibt es bei saia nicht, aber wenn du mit fxp´s arbeitest kannst du die anlagen mit prefix-tausch replizieren. bis zur io-ebene klappt das wunderbar wenn man sich schon beim variablen-generieren der ios gedanken darüber macht, manko hierbei ist der importdialog. aber das wird nie mehr besser werden.

    was das alarming mit il angeht, habe ich einfach folgende bauchschmerzen, es müßen 5 weitere mitarbeiter verstehen.
    Geändert von Markus Rupp (22.02.2013 um 13:54 Uhr)
    Kompetenz ist mehr als nur (Halb-)Wissen

    --

    Tools und Software unter http://vs208210.vserver.de/dlf

  8. #8
    Avatar von vollmi
    vollmi ist gerade online Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.642
    Danke
    787
    Erhielt 654 Danke für 497 Beiträge

    Standard

    Hehe na dann war es wohl gut ging der neue Editor erst jetzt in die Pilotphase.
    Ich persönlich komme mit dem 5er einigermassen zurecht, auch wenn mir etwas die Uebung fehlt. Trotzdem will ich von den Textterminals wegkommen.

    Ich hoffe allerdings das sich Saia mit V8 nicht zuviel vorgenommen hat. Wäre schön wenn die Schwächen von V5 nicht ergänzt sondern verbessert werden.

    Zum IL.
    Es ist schon so das IL etwas mehr umsicht erfordert um es verständlich für andere zu halten. Dafür ist es zum Teil etwas übersichtlicher und platzsparender.

    Bei Sowas in Fup:
    Code:
    ;ALARMBIT ANSTEHEND    
    AA1:        SEI    K 0
    AA2:        STHX   A800
                OUT    F1602
                JR     H AM1
                INI    K 169
                JR     H AA2
                OUT    F1602
         
    ;ALARMBIT ANSTEHEND    
    AM1:        SEI    K 0
    AM2:        STHX   AQ1000
                OUT    F1601
                JR     H AQ1
                INI    K 169
                JR     H AM2
         
    ;ALARMQUITTIERUNG SCHALTSCHRANK    
    AQ1:        SEI    K 0
                STH    DE4
                JR     L LB
    AQ2:        RESX   AQ1000
                INI    K 199
                JR     H AQ2
         
    ;LAMPE ALARM BRAND ANSTEHEND    
    LB:         RES    F1603
                STH    A801
                OUT    F1603
    Würde wohl so mancher Bildschirm zusammenbrechen

    Toll finde ich am 5.2 auch das man XLS dateien direkt als Symbolliste nutzen kann, ohne regelmässigen import. Find ich richtig gut gelöst.

    Den FBox Editor hab ich zwar, die Schulung dazu allerdings noch nicht in Anspruch genommen. Spare ich mir auf bis ich mal wirklich FBoxen machen will für ne grössere Anlage. Haben wir bei der aktuellen etwas verpasst. Da sind wir zu zweit dran und kommen da eigentlich gut anneinander vorbei.

    mfG René
    Geändert von vollmi (22.02.2013 um 14:48 Uhr)

  9. #9
    Registriert seit
    27.09.2010
    Beiträge
    516
    Danke
    36
    Erhielt 63 Danke für 56 Beiträge

    Standard

    Du hast zwar recht bezüglich der überischtlichkeit, aber bezugnehmend auf debugging und parametrierung der fbox-innerein ist fupla doch deutlich schicker.

    zum thema sweb v8 vs. v5:

    Die Bugs aus V5 sind nicht mehr existent (wie den auch, ist eine neue, andere software, die mit spidercontrol ausser dem namen nichts gemein hat da von grund auf neu programiert)

    aber dafür zuhauf neue bugs, eine liste würde den rahmen sprengen.

    die texterminals mache ich garnicht mehr, zu teuer und unflexibl für die heutigen anforderungen der planer / architekten. evtl. noch in industrie wegen lebensdauer
    Kompetenz ist mehr als nur (Halb-)Wissen

    --

    Tools und Software unter http://vs208210.vserver.de/dlf

  10. #10
    Registriert seit
    27.09.2010
    Beiträge
    516
    Danke
    36
    Erhielt 63 Danke für 56 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Mit welchen Libs realisiert du deine Anlagen? DDC-Suite?
    Kompetenz ist mehr als nur (Halb-)Wissen

    --

    Tools und Software unter http://vs208210.vserver.de/dlf

Ähnliche Themen

  1. Saia PCD 4
    Von Imudo im Forum Sonstige Steuerungen
    Antworten: 5
    Letzter Beitrag: 23.04.2009, 20:10
  2. Saia PCD - DBs in Saia AWL
    Von Schetter im Forum Sonstige Steuerungen
    Antworten: 7
    Letzter Beitrag: 18.11.2008, 17:09
  3. SAIA Burgess
    Von poolcat im Forum Sonstige Steuerungen
    Antworten: 5
    Letzter Beitrag: 02.09.2008, 13:38
  4. SAIA IL
    Von Mathias im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 29.03.2006, 23:14
  5. SAIA-Burgess
    Von smoe im Forum Sonstige Steuerungen
    Antworten: 8
    Letzter Beitrag: 26.02.2005, 21:35

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •