schieberegister für INT

ladychaos

Level-1
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo forengemeinde!
ich bin ganz neu hier und hoffe, meine frage ist im richtigen bereich...

ich bin gerade dabei, mich etwas im simotion scout einzuarbeiten. für mein programm benötige ich ein schieberegister, das INT-werte verschiebt.

momentan habe ich in einem MCC-Chart ein array mit 105 feldern (format INT) und kann jedes feld mit einem pointer beschreiben. das klappt alles wunderbar, allerdings würde sich für meinen weiteren "plan" ein schiebearray deutlich besser eigenen.

das ganze soll für eine ablaufsteuerung eine art "anweisungsliste" werden. bei jedem takt (die steuerung wird für ein presswerkzeug) der presse soll ein feld mit werten zw. 0 und 3 gefüllt werden. die einzelnen werte dienen über die gesamte arraylänge der ansteuerung für weitere herstellungsschritte.
steht z.b. im feld 83 eine "2", sollte ein entsprechendes werkzeug an dieser stelle ausklappen.

fürs auslesen der einzelnen positionen lasse ich pointer im programm taktverschoben mitlaufen, allerdings klappt das nicht sonderlich gut mit der flankenauswertung des takts. mir wäre lieber, die einzelnen positionen können immer auf ein feld sehen, und die werte ändern sich, statt jedes mal das feld zu wechseln.

im moment beschreibe ich das array ganz einfach:

if (...
schieberegister[k] := 1
k := k+1
)
...
if (...
schieberegister[k] := 3
k :=k+1
)
usw.
wird k größer als 105, fängt der pointer wieder bei feld 1 an.

mit den schiebefunktionen geht es leider nicht, weil man nur BOOLsche werte um n verschieben darf.
kann mir jemand helfen?
 
Hallo und Willkommen hier im Forum,

mit den schiebefunktionen geht es leider nicht, weil man nur BOOLsche werte um n verschieben darf.
kann mir jemand helfen?

ich arbeite nicht mit SimotionScout. In S7 ist der "FC 91 --REG_SCHW Schieberegister, wortweise".

sollte doch in einer Bibliothek zu finden sein.
 
Zurück
Oben