Einarbeiten in TwinCAT

Zuviel Werbung?
-> Hier kostenlos registrieren
Externe Peripherie die über ein Bussystem Zugriff auf bestimmte Variablen benötigt.

Verstehe ich das richtig, dass du Variablen hast, die du über den System Manager mit der externen Peripherie verknüpfen willst?
Das machst du so, dass du die Variablen wieder dort anlegst wo du sie brauchst: Brauchst du sie nur in einem Programm, FB oder FUN, dann deklarierst du sie in diesem; brauchst du sie in mehreren, deklarierst du sie unter den globalen Variablen.

Diese Variablen, die mit der Peripherie verknüpft werden, werden wie folgt deklariert:
Code:
Eingang: BOOL AT %I*; (*digitaler Eingang*)
Ausgang: BOOL AT %Q*; (*digitaler Ausgang*)
In diesem Fall brauchst du dich nicht um die Adress-Vergabe kümmern.

Wenn du dann nach dem Übersetzen des Projekts die .tpy-Datei im System-Manager einfügst, dann werden genau diese Variablen dort angezeigt und du kannst sie mit der entsprechenden Peripherie verknüpfen.
 
Hallo zusammen

Strukturen gehören nicht ins Ressourcenregister, sondern unter das Datentypenregister!
(Im Anhang, hab ich das Register gekennzeichnet...)

Das VAR_GLOBAL und END_VAR kannst du dann weglassen.
Da Datentypen immer global verarbeite werden!

Von wo hast du den das mit der Abkürzung Per und dem : :confused:
Also wenn du Persistente Variablen hast, muss das so aussehen

Code:
TYPE <Strukturname>:
    STRUCT PERSISTENT
    <Variablendeklaration 1> . .  <Variablendeklaration n>
    END_STRUCT
END_TYPE

Das mit dem Punkt-Strich nach der Variablendeklaration stimmt schon, doch ich würde erst nachher den Kommentar dazu schreiben, dann wird der Punkt-Strich weniger schnell vergessen.

Code:
Testvariable : Bool := TRUE; (* Das ist mein Beispiel *)
Gruess Roman
 

Anhänge

  • Datentypen.jpg
    Datentypen.jpg
    232 KB · Aufrufe: 34
Hab da mal wieder ein kleines Problem. :ROFLMAO:
Also als ich mein erstes Projekt fertig hatte habe ich mir das zusätzlich als Bibliothek abgelegt um den darin enthaltenen FB Taktgenerator nutzen zu können.
Wenn ich jetzt einen neuen FB anlege, schreibt der mir in die Variablendeklaration genau die Variablen von dem Taktgenerator rein.
Das macht der nur beim FB, ruf ich einen neuen FC oder PROG auf ist alles leer wie es sein sollte. Das macht der auch in neuen Projekten wo die Bibliothek nicht eingebunden ist.
Das Phänomen ist auch unabhängig von der Programmiersprache in der der neue FB erstellt wird.
Hab bereits TwinCat schon einmal drüber installiert. Hat auch nichts gebracht.

Ich hoffe ihr könnt mir helfen. Mein Vorarbeiter ist da auch ganz ratlos.

MfG. Golden Egg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also jetzt mal zum Verständnis, dass ich dein Problem nicht falsch verstehe:

Du hast dein Programm mit dem FB Taktgenerator als .lib abgelegt. Nun machst du ein neues Programm auf und erstellst einen neuen FB. Tritt in diesem der beschriebene Fehler auf? Hast du davor die .lib als Bibliothek eingefügt?
 
Das tritt auch auf wenn die Bibliothek nicht im Projekt integriert ist.
"Rechtsklick-->Objekt einfügen-->FB (Programmiersprache ist egal)"
Wenn ich dann oben in die Variablendeklaration des neuen FB´s schau stehen dann die von dem Taktbaustein drin.
 
Also das ist echt ein ganz komisches Phänomen. Hab selber auch schon mehrere Libs programmiert, aber bei mir ist es noch nie aufgetreten.

Tritt dieses Problem auch nach einem Neustart des Rechners auf?
 
Nicht ganz. Du hast doch in deiner Startleiste rechts das TwinCAT-Symbol. Wenn du da draufklickst und dann auf Eigenschaften gehst, bekommst du ein Fenster wie im Anhang. Was steht da für ein Build drin?
 

Anhänge

  • TwinCAT.jpg
    TwinCAT.jpg
    27,2 KB · Aufrufe: 13
Ok, das ist die neueste Software-Version. Die hab ich auch. Habs grad nochmal bei mir probiert. Kann den Fehler nicht nachvollziehen. Komisch!
 
Weis selber auch nicht wie ich das nun angestellt hab.....:sad:

Naja dann steht halt wenigstens immer was drin in meinen neuen FB´s. Wird´s nicht so langweilig...;)
 
Nein. Hab grad mal ein neues Projekt mit einem FB erstellt, als Bibliothek gespeichert und in einem neuen Projekt eingebunden. Erstellt immer noch die FB´s mit der Variablendeklaration vom Taktgenerator.
Kein Plan wie ich das angestellt habe.
 
Hast du schon mal den Beckhoff-Support nach diesem Problem befragt? Was anderes fällt mir auch nicht mehr dazu ein.
 
Zurück
Oben