# CoDeSys - Move



## mark_ (1 Juni 2007)

In der CoDeSys CAA gibt es den Baustein MOVE. Diesen wollte ich benutzen, um verschiedene Sollwerte in ein Merkerwort zu schreiben.
Im Gegensatz zur Hilfe hat der MOVE-Baustein keinen Enable-Eingang.

Die Frage ist warum nicht ? bzw. Was für Möglichkeiten habe ich im FUP noch, diese Sollwerte zu verschieben ?

Ich danke für Anregungen


----------



## J Schohaus (1 Juni 2007)

Hallo mark

Mein Vorschlag sieht zwar komisch aus funktioniert aber.

benutz ein SEL Baustein
am Eingang 1 die Bedingung für Transfer (EN)
am Eingang 2 die Variable die auch als ausgang verwendet wird 
(Prinzip selbshaltung)
am Eingang 3 den Wert den du verschieben möchtest wenn die "EN" auf true ist.

Möglichkeit zwei ein eigenen Basuetin schreiben wäre aber nur für ein Variablentype.


----------



## zotos (1 Juni 2007)

ja ist eine Schande:

http://forum.3s-software.com/viewtopic.php?p=83&sid=c40184c278e2f0cfc41c331a964f72cf


----------



## trinitaucher (1 Juni 2007)

Muss es in FUP sein?

Nimm doch ST und dann:


```
IF Freigabe THEN (*Freigabe: BOOL;*)
%MW0 := Sollwert;(*Sollwert: INT;*)
END_IF;
```
Oder bastel die nen FB mit dem Code, den du dann in FUP einbindest


----------



## zotos (1 Juni 2007)

trinitaucher schrieb:


> ...
> Oder bastel die nen FB mit dem Code, den du dann in FUP einbindest




Aber wie macht er dies für verschiedene Dateitypen dann mus er nicht einen sondern mehere FC nehmen.

Für was willst Du da einen FB nehmen da reicht locker eine Funktion ohne statische variablen.


----------



## zotos (1 Juni 2007)

ich hab das gerade mal in Kop erstellt mit EN und nach FUP konvertiert has Ergebnis sieht unbefriedigend aus eben die Sprung lösung mit drei Netzwerken ;o(


----------



## mark_ (4 Juni 2007)

*Jau......so gehts !*

Danke für eure Hilfe.

Ich habe jetzt was in ST gebastelt. Muss man sich mit beschäftigen, dann geht es aber sehr gut.

Auch den SEL Baustein in FUP habe ich getestet, funktioniert auch.

Bleibt die Frage, warum der Move Baustein in der Hilfe zwar beschrieben ist, in der Realität aber anders aussieht !?!


----------



## zotos (4 Juni 2007)

mark_ schrieb:


> Danke für eure Hilfe.
> 
> Ich habe jetzt was in ST gebastelt. Muss man sich mit beschäftigen, dann geht es aber sehr gut.
> 
> ...



Ich noch mal.

Der Move Baustein ist ja in KOP/FUP/ST/AWL/CFC vorhanden.

Nur die EN/ENO Funktionalität ist leider nur in KOP und CFC anwählbar.

In der Hilfe steht das leider immer noch falsch drin das die EN/ENO Funktionalität in KOP/FUP/CFC vorhanden wäre. Und das bei einer Sache die schon seit min. zwei Jahren bekannt ist ;o(

Der SEL Baustein den J Schohaus angesprochen hat ist sicher in vielen Fällen eine gut Wahl da man dies ähnlich dem ELSE Pfad einer IF Anweisung verwenden kann.

Für die ST Lösung würde ich einen FC wählen (den ENO Ausgang braucht man eh oft nicht):


```
FUNCTION myMove : INT
VAR_INPUT
    EN :BOOL;
    IN :INT;
END_VAR
```


```
IF EN THEN
    myMove := IN;
END_IF
```


----------

