Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 46422

TIA Allgeime Diskusion -> TIA V14 SCL Lesen und Schreiben von Daten in DB´s

$
0
0
Hallo Miteinander,

ich habe zwar einige Themen zum o.g. Thema gefunden, aber keines dieser Beiträge befriedigt mich persönlich ;)

Zur Zeit beschäftige ich mich im TIA Portal V14 und versuche meine eigenen Grundprojekte in dieses zu Migrieren. Mit der Siemens eigenen Migrationsfunktion habe ich es aufgegeben. Funktioniert genau so gut, wie damals die Migration von S5 auf S7 :rolleyes:

Zurück zum Thema. Mir geht es hauptsächlich um das Thema Datenbausteine und SCL..

Hier mal ein kleiner Auszug aus einem meiner Bausteine.

Code:


VAR_INPUT
    Scheibenkl_DB: BLOCK_DB;    //Datenbaustein 
    Mkm_TeileProt_DB: BLOCK_DB; //Datenbaustein 
    Messsystem_DB: BLOCK_DB;    //Datenbaustein
    MessHardw_DB: BLOCK_DB;    //Datenbaustein
END_VAR

~~~~~~~~~~

 IF Scheibenkl_DB.DX[(tmp_schleife*60+1),0] = TRUE THEN                IF Scheibenkl_DB.DD[(tmp_schleife*60+2)] = REAL_TO_DWORD(tmp_istwert) THEN 
                   
                    Mkm_TeileProt_DB.DD[(tmp_50_abweichung+4)]:= Scheibenkl_DB.DD[(tmp_schleife*60+2)]; // Übrgabe Scheibensollwert
                    Mkm_TeileProt_DB.DD[(tmp_50_abweichung+12)]:= Scheibenkl_DB.DD[(tmp_schleife*60+10)]; // Übrgabe Scheiben OTG
                    Mkm_TeileProt_DB.DD[(tmp_50_abweichung+16)]:= Scheibenkl_DB.DD[(tmp_schleife*60+6)]; // Übrgabe Scheiben UTG       
                    // Übergabe Abweichung (Zeilenanzeige)
                    Mkm_TeileProt_DB.DD[(tmp_50_abweichung+8)]:= REAL_TO_DWORD( DWORD_TO_REAL(Mkm_TeileProt_DB.DD[(tmp_50_abweichung+0)]) - DWORD_TO_REAL(Mkm_TeileProt_DB.DD[(tmp_50_abweichung+4)]) );
                   
                    tmp_Toleranzgrenze:= DWORD_TO_REAL(Scheibenkl_DB.DD[(tmp_schleife*60+10)]) - DWORD_TO_REAL(Scheibenkl_DB.DD[(tmp_schleife*60+2)]);
                    Mkm_TeileProt_DB.DD[(tmp_50_abweichung+28)]:= REAL_TO_DWORD(tmp_Toleranzgrenze);                   
                    tmp_Balken_Grenze:= (tmp_Toleranzgrenze + (tmp_Toleranzgrenze*100/50));
                    Mkm_TeileProt_DB.DD[(tmp_50_abweichung+20)]:= REAL_TO_DWORD(tmp_Balken_Grenze);
                   
                    tmp_Toleranzgrenze:= DWORD_TO_REAL(Scheibenkl_DB.DD[(tmp_schleife*60+2)]) - DWORD_TO_REAL(Scheibenkl_DB.DD[(tmp_schleife*60+10)]);
                    Mkm_TeileProt_DB.DD[(tmp_50_abweichung+32)]:= REAL_TO_DWORD(tmp_Toleranzgrenze);
                    tmp_Balken_Grenze:= (tmp_Toleranzgrenze + (tmp_Toleranzgrenze*100/50));
                    Mkm_TeileProt_DB.DD[(tmp_50_abweichung+24)]:= REAL_TO_DWORD(tmp_Balken_Grenze);


                    Mkm_TeileProt_DB.DD[(tmp_50_abweichung+36)]:= Mkm_TeileProt_DB.DD[(tmp_50_abweichung+8)];


                END_IF;

Ganz bewusst geht es mir dabei um die Ehemals einfache Funktion, dass ich Variabel Daten von einem DB in einen anderen DB schreiben konnte.

Warum hat Siemens das ist TIA fas unmöglich gemacht. Da liest man was von PEEK und POKE. Aber mal einfach geht es nicht mehr.


Oder hat jemand eine zündende Idee ?


Grüße
Matze. K.

Viewing all articles
Browse latest Browse all 46422