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

TIA Umsetzung von AWL-Code in FUP/Kop für S7-1200

$
0
0
Hallo zusammen,
ich plage mich grade mit herum, ein älteres Programm nach einer Migration tauglich zu machen um es in einer S7-1200 laufen zu lassen. Knackpunkt ist der, dass dieses Urprogramm in AWL geschrieben ist und das ja bekanntlich nicht in der S7-1200 läuft. Da ich kein AWL-Gott bin bräuchte ich hier mal Eure Unterstützung.


Kleinere Funktionen bekomme ich hin, schalte in der Ansicht zwischen FUP und AWL HinUndHer, aber hier verlassen mich meine Künste: Kann mir jemand einen Tip geben, wie ich diesen AWL-Roman in Netzwerke splitten kann, dass ich den in FUP darstellen kann???


kurze Info vorab: Ich möchte über einen Deutschmann-Gateway (Profinet/RS232) einen Drucker von Couth-Butzbach ansteuern, konkret einen MC2000T². Die "menschliche Kommunikation" zwischen allen Beteiligten gestaltet sich etwas schwierig, ich habe hier viele Beispielprogramme vorliegen, darin auch ein Step7-Projekt worin ein FB1/FB2 drinnen ist die bezeichnet sind mit "FB1 - Unigate Daten senden" und "FB2 - Unigate Daten emfangen" hat vielleicht jemand schonmal diese Bausteine verwendet und diese in eine Nicht-AWL-version umgetüddelt? Ich habe jetzt gar keine Ahnung, ob diese Bausteine von "Couth-Butzbach stammen, oder ob diese von "Deutschmann" kommen und aus einem Demoprojekt stammen und diese einfach umgestrickt wurden... Zum heulen!


Kennt jemand einen "Konverter" der sowas umsetzen kann, oder kennt jemand einen Umweg über irgendwinen weg, wie ich das Zeugs der S7-1200 schmachhaft machen kann???


Was ich garnicht schnalle sind im FB1 die NW4/5/6/7 und im FB2 die 2/3/4/5, die Block-Move und DPRD/DPWR kann ich mir rausziehen, der Rest sind für mich unverständliche Anweisungen :-(






Anbei der FB1:


FB1 NW1
==========


U #REQ
FP #Flanke
= #Impuls
SPB M100
BE
M100: NOP 0






FB1 NW2
==========


U #Impuls
SPBN M200


L #trigger
L 0
==I
SPBN M201
L 1
T #trigger
SPA M200
M201: L 0
T #trigger
M200: NOP 0






FB1 NW3
==========


L #LADDR
T #add_1
L 128
+I
T #add_2




FB1 NW4
==========


L #LEN
T #laenge




L #laenge
L 224
>I
SPBN M400
L 224
T #laenge
M400: NOP 0




FB1 NW5
==========


LAR1 P##quelle


L B#16#10
T LB [AR1,P#0.0]


L B#16#2
T LB [AR1,P#1.0]


L #laenge
T LW [AR1,P#2.0]


L #DB_NO
T LW [AR1,P#4.0]


L #DBB_NO
SLW 3
L P#DBX 0.0
OW
T LD [AR1,P#6.0]




LAR1 P##ziel


L B#16#10
T LB [AR1,P#0.0]


L B#16#2
T LB [AR1,P#1.0]


L #laenge
T LW [AR1,P#2.0]


L 0
T LW [AR1,P#4.0]


L P##zeichen_1
T LD [AR1,P#6.0]






FB1 NW6
==========


LAR1 P##quelle


L B#16#10
T LB [AR1,P#0.0]


L B#16#2
T LB [AR1,P#1.0]


L 116
T LW [AR1,P#2.0]


L 0
T LW [AR1,P#4.0]


L P##zeichen_127
T LD [AR1,P#6.0]




FB1 NW7
==========


LAR1 P##quelle


L B#16#10
T LB [AR1,P#0.0]


L B#16#2
T LB [AR1,P#1.0]


L 128
T LW [AR1,P#2.0]


L 0
T LW [AR1,P#4.0]


L P##trigger
T LD [AR1,P#6.0]






Da noch der FB2


FB2 NW1
==========


L #LADDR
T #add_1
L 32
+I
T #add_2
L 32
+I
T #add_3
L 32
+I
T #add_4
L 32
+I
T #add_5
L 32
+I
T #add_6
L 32
+I
T #add_7
L 32
+I
T #add_8




FB2 NW2
==========


LAR1 P##quelle


L B#16#10
T LB [AR1,P#0.0]


L B#16#2
T LB [AR1,P#1.0]


L 32
T LW [AR1,P#2.0]


L 0
T LW [AR1,P#4.0]


L P##trigger
T LD [AR1,P#6.0]




CALL "DPRD_DAT"
LADDR :=#add_1
RET_VAL:=#RET_VAL_SFC14
RECORD :=#quelle




FB2 NW3
==========


L #laenge
L 20
>I
SPBN M300
L 20
T #laenge
M300: NOP 0






FB2 NW4
==========




LAR1 P##quelle // Addresse des Quellbereichs


L B#16#10
T LB [AR1,P#0.0]


L B#16#2
T LB [AR1,P#1.0]


L #laenge
T LW [AR1,P#2.0]


L 0
T LW [AR1,P#4.0]


L P##zeichen_1
T LD [AR1,P#6.0]




LAR1 P##ziel


L B#16#10
T LB [AR1,P#0.0]


L B#16#2
T LB [AR1,P#1.0]


L #laenge
T LW [AR1,P#2.0]


L #DB_NO
T LW [AR1,P#4.0]


L #DBB_NO
SLW 3
L P#DBX 0.0
OW
T LD [AR1,P#6.0]




CALL "BLKMOV"
SRCBLK :=#quelle
RET_VAL:=#RET_VAL_SFC14
DSTBLK :=#ziel


L #laenge
T #LEN




FB2 NW5
==========


L #tigger_alt
L #trigger
<>I
= #NDR


L #trigger
T #tigger_alt



Ein konverter wäre warscheinlich die einfachste Lösung, aber finde nix auf die schnelle... Ein Tip von Euch???

DDDAAAANNNNKKKEEE!

Viewing all articles
Browse latest Browse all 47363


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>