# Beckhoff Twincat Symbolik



## Anaconda55 (29 September 2008)

Hallo.

Ich soll in Beckhoff eine Symbolik anlegen, habe vorher nur Visualisierung mit Beckhoff gemacht.

Soll auf jeden Fall eine Symbolik für die Ein- und Ausgänge anlegen.

Könnt ihr mir weiterhelfen?


----------



## Neals (29 September 2008)

In Beckhoff? Du meinst in CoDeSys!? Was meinst du mit Symbolik? Ein bestimmtes Zeichen das für einen bestimmten I/O gilt oder was?


----------



## Anaconda55 (29 September 2008)

Nein ich meine in TwinCat PLC die Symbolik...


----------



## trinitaucher (30 September 2008)

Anaconda55 schrieb:


> Nein ich meine in TwinCat PLC die Symbolik...


Meinst du "Variablen deklarieren" (analog zur "Symbolik" in Step 7)


----------



## Anaconda55 (30 September 2008)

Ja meine ich ... Geht das?


----------



## Anaconda55 (30 September 2008)

Ich denke ich hab es raus. Die Frage ich ob ich nun auch das richtige definiere und was anderes.

Hier ein Beispielcode.
Wenn ihr Variablen definiert mit Twincat, macht ihr es genau so unter TwinCat im Register "Ressourcen"???


```
VAR_GLOBAL

  (* +++++ INPUT +++++ *)
    (* IB 140 *)
    i_Pos140Stopper_Flasher_vor     AT %IX140.0 : BOOL;
    i_Pos140Vorstop_Eckums_vor     AT %IX140.1 : BOOL;
    i_Pos140Arbeits_Eckums_vor     AT %IX140.2 : BOOL;
    i_Pos140Res14203         AT %IX140.3 : BOOL;

    (* IB 141 *)
    i_Pos140Scheibe_vor_Flasher     AT %IX141.0 : BOOL;
    i_Pos140Scheibe_in_Eckums      AT %IX141.1 : BOOL;
    i_Pos140Scheibe_nach_Eckums      AT %IX141.2 : BOOL;
    i_Pos140Eckumsetzer_0Grad     AT %IX141.3 : BOOL;
    i_Pos140Eckumsetzer_90Grad     AT %IX141.4 : BOOL;
    i_Pos140Res15215         AT %IX141.4 : BOOL;
    i_Pos140Taser_Freig_Flasher      AT %IX141.5 : BOOL;
    i_Pos140Res15217               AT %IX141.6 : BOOL;


    (* +++++ OUTPUT +++++ *)
    (* OB 140 *)
    i_Pos140Stopper_vor_Flasher      AT %QX140.0 : BOOL;
    i_Pos140Vorstopper_Eckumsetz     AT %QX140.1 : BOOL;
    i_Pos140Arbeits_Eckumsetz     AT %QX140.2 : BOOL;
    i_Pos140Meldeleuchte_Freig       AT %QX140.3 : BOOL;

END_VAR
```


----------



## trinitaucher (30 September 2008)

Soweit erstmal richtig.
Anhand deiner Fragen denke ich, dass du dich zunächst mal näher mit TwinCAT (bzw. CoDeSys) auseinandersetzen solltest.

Variablendeklaration kann man machen...
- in den Ressourcen (Globale Variablen)
- im (Haupt)Programm (lokale Variablen des Hauptprogramms)
- in den Funktionsbausteinen (FBs) und Funktionen (lokale Variablen)

Wo du das nun genau machst, bleibt deine Sache. Ist alles eine Frage des Programmierstils.


----------



## Anaconda55 (1 Oktober 2008)

Gibt es bei z.B.

```
i_Pos110Dreht_Grundst_0_Grad AT %IX111.1 : BOOL;
```
nur IX und QX oder gibt es da noch was anderes zu deklarieren?
Bzw. wo finde ich eine Übersicht? In der Hilfe hab ich nichts gefunden ...


----------



## drfunfrock (1 Oktober 2008)

Ich mache das so

i_Pos110Dreht_Grundst_0_Grad AT %IX* : BOOL;
Dann wird die Adresse automatisch festgelegt und ich brauche mich nicht darum zu kümmern. Es gibt auch noch andere. Schau in der Hilfe unter Twincat PLC Control-> Appendix->Operands->Variables->Adresses


----------



## Anaconda55 (1 Oktober 2008)

Vielen Dank.

Aber später muss man trotzdem noch im TwinCat Systemmanager die Variablen mit den Kanälen von den Klemmen verknüpfen oder?


----------



## Cerberus (1 Oktober 2008)

Ja diese Verknüpfungen musst du noch machen. Aber die Adresszuweisung der Variablen wird trotzdem vom Programm automatisch durchgeführt.


----------



## Anaconda55 (1 Oktober 2008)

Okay. Habe gerade gesehen das ich das nicht automatisch vergeben lassen kann, da ich die Adressen vom EPlan vorgegeben bekommen habe.

Jetzt hat es mit der Variablendeklariation erstmal "klack" gemacht.

Ich danke euch!


----------

