Step 5 AG115 CPU944/CPU945 ASM Assembler-Code??

rrauch

Level-1
Beiträge
45
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich muß ein altes Projekt für S5 auf neueste Technik portieren.
Bei der Analyse des bestehenden Projektes stoße ich auf ASM-Anweisungen in den Programmbausteinen.
Weiterhin gibt es Fremdbaugruppen, für die Hantierungsbausteine existieren, die anscheinend auch mit Assembler-Anweisungen arbeiten.
Diese Bausteine sehen so aus, das hinter dem BE eine ASM-Anweisung steht und danach noch jede Menge Code (Assembler?) kommt.
Diese Assembler-Erweiterung scheint ja sehr speziell nur auf dem AG115 zu existieren.
Gibt es dazu irgendwelche Dokumentation?

Vielen Dank
 
Ich kenne die ASM-Dinger nur bei SiemensStandardBausteinen, z.B. für die Schnittstelle zur NC.
Da wird ein FB aufgerufen und dieser FB dient als PlatzHalter, damit der FB mit Parametern versorgt werden kann. Der eigentliche Inhalt des FB versteckt sich dann hinter ASM und ist dann für OttoNormalVerbraucher nicht sichtbar. Was der FB tut bzw. tun soll, ist aber in der SiemensDoku nachzulesen.
FB11, (FB23), FB60, FB61, FB62, . . . die Namen der FBs sollten erahnen lassen, was sie tun.
ASM-Anweisungen in PBs kenne ich überhaupt nicht.

PS: Gab es bei der 840C und auch schon bei der 880M - glaube ich.
 
Zuletzt bearbeitet:
Hallo,
es handelt sich um ein Helmholz SAS 525 Serial Interface Modul.
Das ist eigentlich auch ein serieller CP, die Funktionalität geht aber wohl über die vergleichbare Siemens-Baugruppe hinaus.

 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was meintest Du in #1 mit ProgrammBausteinen? PB? oder auch OB, SB, FB, FX?

Kannst Du die entsprechenden Bausteine (FB, FX) in der SiemensDoku wiederfinden?

Gibt es Verwendungen von ASM, die anscheinend oder offensichtlich nicht in SiemensStandardFunktionen auftauchen?
 
also, als Beispiel mal der FB198 aus diesem Projekt. Dies scheint ein Hantierungsbaustein für die Helmholz-Baugruppe zu sein.

Mit dem Tool von IBH Softec sieht das Ganze so aus:

FB198_IBH.jpg

Es fällt auf, dass es einen Sprung zu einer Sprungmarke gibt, die nicht angezeigt wird.

Mit einem anderen Tool kann ich mehr Details zum Baustein anzeigen:

FB198_full.png

Hier sieht man, dass die Sprungmarke nach dem BE Befehl liegt. Es folgt eine ASM-Anweisung und danach Code, der als S5 Code keinen Sinn mehr macht. Hier nehme ich an, es handelt sich um Assembler-Code des internen Prozessors. ( Der folgende Code ist noch deutlich länger als hier im Screenshot angezeigt!)
 
Zuletzt bearbeitet:
Die code ist fur der baustein schutz von die Siemens Standard bausteinen. Met die code konte mann dass programm in die alte Step5 nicht offnen.
Man must zuerst etwas eingeben fur dass bibliotheek nummer und dan hatte man die bausteinkopf in bild met da unter direct BE.
Mann konte mit ein truck toch die baustein offnen , aber dass ist 20 bis 30 jahre zuruck dass ich dass gemacht habe ,in moment weisse ich nicht mer wie ich dass gemacht habe.

Edit: man muste auf ein oder andere manier unter die baustein kopf ein SPA M001 oder und SPB M001 eingeben wenn ich mich richtig ihre.

Joop
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Bausteinschutz ist etwas anderes.
Ich glaube Du meinst:

SPA +2
LKH 6500

dann ist das Bausteinende in der LKH Anweisung "versteckt".

In meinem Fall wird ja der Baustein in WinSPS5 angezeigt und es kommt ja noch ganz viel Code nach dem BE und dem ASM-Befehl. Code der als AWL nicht sehr sinnvoll ist, teilweise ungültige Operationen enthält
 
Wenn es um ein Seriell-Schnittstelle handelt, dann bleibt diese Seriell-Schnittstelle wohl nicht wenn den alten S5 in ein TIA portiert werden soll, oder ?
Wenn es noch ein Seriell-Schnittstelle geben soll in den neuen Steuerung, dann musst du ein S7-1500 Modul wählen, und die dafür notwendige TIA Biblioteksbausteine verwenden. Z.B. für CM PTP für S7-1500.
Es bleibt also kein Bedarf den internen Code in den alten S5 Seriell-Schnittstelle zu portieren.
 
Ich gehe davon aus dass der ASM-Anweisung tatsächlich Assemblerbefehle folgen, jetzt müsste man noch wissen, welcher Prozessor da drin werkelt.
Es ist aber m.E. nach so, dass der ASM-Teil nur angesprungen wird, wenn die CPU eine 941-943 ist (BS42 endet <4) und ansonsten der obere, besser lesbare AWL-Teil.
Diese Unterscheidung hat sicherlich mit Bearbeitungszeiten von Befehlen in den unterschiedlichen CPUs zu tun.
Die TNB-Anweisung, die ja in Schleifen durchlaufen wird, ist in der 944 um ein vielfaches schneller als in den kleineren CPUs.

Grüße von HaDi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
> Die TNB-Anweisung, die ja in Schleifen durchlaufen wird, ist in der 944 um ein vielfaches schneller als in den kleineren CPUs.
Genau so ist da.

Ich war vor 1989 Jahren live dabei.
Der Prozessor ist glaube ein 8085.
Die SAS 525 konnte RS3964 und RK512, ein bis 3 Schnittstellen. Mit RS232 , 422 und 485.
War schon ein tolles Teil, damals.
Habe noch Teile davon im "Museum".
 
Ich war vor 1989 Jahren live dabei.
Warum erinnert mich das an Loki und Smoky?? :ROFLMAO:

Ich glaube, da hat Smoky mal gesagt "Als ich und Gott die Welt erschaffen hatten . . . "

Die SAS 525 konnte RS3964 und RK512, . . .
RK klingt nach RechnerKopplung und 512 nach AS512.
Das S in RS3964 erinnert mich an den "SonderTreiber" (EPROM), mit dem man die AS512 auf das Protokoll 3964R umrüsten konnte.

Irgendwie schwelgen wir jetzt in irrelevanten Erinnerungen, statt auf die Erinnerungen zu stossen, die dem TE weiterhelfen könnten.
Da der TNB den Operanden 1 hat und ich (boch) nicht durchschaut habe, wie oft die ProgrammSchleife durchlaufen wird, halte ich selbst eine Vervielfachung der Geschwindigkeit des TNB für recht unbedeutend!?
In dem FB wird mit MerkerWorten "unbekannten" Inhalts jongliert in Bereichen der CPU, in die ich mich gar nicht einarbeiten möchte, selbst dann nicht, wenn ich die Dokumentation dazu vorliegen hätte.

 
Zuletzt bearbeitet:
Zurück
Oben