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.
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.
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;
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.