Step 7 Schieberegister

Zuviel Werbung?
-> Hier kostenlos registrieren
Weil man dann indirekte Adressierung braucht und die geht bei S7-300 bekanntlich nicht in FUP/KOP.

Harald

natürlich... vergessen... schon lange nicht mehr rein FUP programmiert :rolleyes:

auch sonst muß ich Dir zustimmen: Die MOVE sind übersichtlicher als Blockmove... da man direkt die Variablen sieht, die verschoben werden und nicht erst die Adressen "überdenken" muß, um das zu verstehen
 
Echt? Ausgerechnet Du störst Dich an dem bissle Kopfrechnen? ...
Er hat 3 Bereiche zu 36 Byte(10 Werte), davon müssen jeweils 32 Byte(9 Werte) verschoben werden.
Du lieferst ein gutes Beispiel dafür, dass manchmal schon ein "bissle Kopfrechnen" zum Kopfzerbrechen führen kann, escride1! ;)
Es geht hier um 3 Bereiche von 40 Byte, von denen jeweils 36 Byte verschoben werden!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du lieferst ein gutes Beispiel dafür, dass manchmal schon ein "bissle Kopfrechnen" zum Kopfzerbrechen führen kann, escride1! ;)
Es geht hier um 3 Bereiche von 40 Byte, von denen jeweils 36 Byte verschoben werden!

Lol, der is gut, fällt aber auch ned jedem auf :D 9x4 ^^...
 
Für 10 Positionen mag das ja noch gehen, wenn man das "diskret" programmiert, meiner Erfahrung nach wird so etwas gerne im Nachhinein erweitert oder bei der nächsten Maschine aufgebohrt (die dann wieder eine "Kopie" ist). Irgendwann wird es richtig hässlich und fehleranfällig. Bei der Version mit den beiden BlockMoves kontrolliere ich den Anfang und das Ende und weiß dass alles dazwischen funktioniert, bei der diskreten Version muss ich alles einzeln kontrollieren. Die Schieberegister in meinen Maschinen sind auch gerne mal 500 lang, da kommt keiner auf die Idee so etwas diskret programmieren zu wollen.
 
Wenn es mal mehr Elemente werden: Bei der "diskreten" Version sieht man irgendwie am besten, wie man den Code mit einer Schleife in SCL verbessern kann. :cool:
Und wie ich schon schrieb: irgendwann muß das mal jemand für eine neuere CPU nach TIA portieren. Natürlich in "optimierte" DB. Der vollsymbolische "diskrete" Code und die SCL-Schleife portieren sich automatisch quasi von alleine. Den BLKMOV muß man händisch nacharbeiten.

Die Schieberegister in meinen Maschinen sind auch gerne mal 500 lang, da kommt keiner auf die Idee so etwas diskret programmieren zu wollen.
Da würde ich vermutlich einen Ringpuffer verwenden anstatt zu schieben.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da würde ich vermutlich einen Ringpuffer verwenden anstatt zu schieben.

In meinem Fall repräsentiert das Register das Transportsystem meiner Maschine. Es gibt diverse Station darin wo ich diverse Eigenschaften aus dem Register lesen muss und auch neue Attribute setzen muss, da muss ich wissen was an Position x von der Maschine sprich vom Register Sache ist, da hilft kein Ringpuffer.
 
In meinem Fall repräsentiert das Register das Transportsystem meiner Maschine. Es gibt diverse Station darin wo ich diverse Eigenschaften aus dem Register lesen muss und auch neue Attribute setzen muss, da muss ich wissen was an Position x von der Maschine sprich vom Register Sache ist, da hilft kein Ringpuffer.

Eigentlich schon. Das Transportsystem ist doch bestimmt irgendwie gekennzeichnet/nummeriert, oder? Da kann man dann gezielt Daten mit einem bestimmten Index bearbeiten. So hab ich das bei meinen Rundschalttischen umgesetzt.
 
Zurück
Oben