Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 9 von 9

Thema: TwinCAT Programmieren

  1. #1
    Registriert seit
    10.05.2010
    Beiträge
    32
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute, habe wieder eine frage bezüglich TwinCAT und programmiermöglichkeiten.

    Also ich habe folgendes vor.

    Ich schicke einen Befehl 'ID' an eine Kamera, Die Kamera Antwortet mir 'ID 2' als beispiel. Jetzt wollte ich es so machen. Die Kamera hat nur folgende Funktionen. LED beleuchtung darf nur bis 60% hochgedreht werden, sie kann rein und raus zoome und Fokusieren nah/fern.

    Ist es möglich, anhand der Antwort, dass die Kamera eien ID 2 hat. Die oben gennanten Funktionen zur verfügung zu stellen? Sprich, dass sich die CPU die notwendigen (vorher programmierte) Funktion/Bausteine usw. raussucht und verarbeitet?

    Evtl, wirden im MAIN Programm nur die erlaubten Funktionen angesprochen, der rest bleibt unertastet oder so?

    Bitte hilft mir, und sagt auch in welcher sprache das den am einfachsten zu lösen ist?
    Zitieren Zitieren TwinCAT Programmieren  

  2. #2
    egor ist offline Benutzer
    Themenstarter
    Registriert seit
    10.05.2010
    Beiträge
    32
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Würde das den evtl mit den CASE anweisung funktionieren?

    Also da wäre die Bedingung einfach die ID Nummer, und die anweisung wäre eifnach ein Unterprogramm aufzurufen mit den notwendigen Funktionen?

  3. #3
    Registriert seit
    19.11.2006
    Beiträge
    1.346
    Danke
    6
    Erhielt 254 Danke für 231 Beiträge

    Standard

    Das sollte mit irgendeiner bedingten Ausführung gehen.
    CASE oder IF

    Je nach Bedingung FB 1 oder FB 2 ausführen, bzw. bei nur einem FM andere Parameter verwenden.

  4. #4
    egor ist offline Benutzer
    Themenstarter
    Registriert seit
    10.05.2010
    Beiträge
    32
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    jo habs mit case probiert, das geht.

    habe nru ein kleiens Problem,

    ich wollte das anhand der ID Automatisch machen lassen. Das Problem ist ich bokmme die ID_Nummer als String geschickt. Der Empfang für den String lautet 'I 2$R$N'. jetzt muss ich nur och irgendwie die nur die Ziffer '2' rauslesen und als Bedingung in die Case schleife rienpacken. Ich weiß baer nicht wie ich einen String in seine einzelne Zeichen zerlege und nur bestimmte zeichen weitverarbeite. Gibts dafür irgendwie einen Trick?

    also Befehl sieht so aus

    stRecievedString:='I 2$R$N'
    ID_Nummer:= die Ziffer aus dem String.... weiß aber nicht wie ich das rauslesen kann, also nur die ziffer. Ich kann einstellen wo der String anfängt, das wäre bei der '2' aber diese $R$S kommt trotzdem mit.
    Case ID_Nummer OF
    1:Anweisung();
    2:Anweisung2();
    END_CASE

  5. #5
    Registriert seit
    16.11.2007
    Beiträge
    179
    Danke
    11
    Erhielt 53 Danke für 39 Beiträge

    Standard

    Hallo egor,

    lad dir doch mal die OSCAT.LIB und unter www.oscat.de .

    Diese Bibliothek stellt umfangreiche String-Operationen zur Verfügung.

    Das Handbuch gleich mit downloaden, dort sind die Funktionen erklärt.


    mfG JAn
    Zitieren Zitieren String-Funktionen  

  6. Folgender Benutzer sagt Danke zu Mr.Spok für den nützlichen Beitrag:

    egor (21.05.2010)

  7. #6
    Registriert seit
    16.11.2007
    Beiträge
    179
    Danke
    11
    Erhielt 53 Danke für 39 Beiträge

    Standard

    habe grad mal in der LIB geschaut,

    die Funktion DEC_TO_INT mach genau das was Du willst, als Eingangsvariabe den String 'I 2$R$N', am Funktionausgang bekommst
    Du dann die 2 als INT.


    mfG Jan

  8. Folgender Benutzer sagt Danke zu Mr.Spok für den nützlichen Beitrag:

    egor (21.05.2010)

  9. #7
    egor ist offline Benutzer
    Themenstarter
    Registriert seit
    10.05.2010
    Beiträge
    32
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    jop hab auch grad geschaut.

    die Funktion CLEAN müsste auch gehen

    danke dir, ich probiers gleich mal aus!

  10. #8
    egor ist offline Benutzer
    Themenstarter
    Registriert seit
    10.05.2010
    Beiträge
    32
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    haha der geht

    DEC_TO_INT klappt wunderbar, danke dir!

    hmm kann ich die FUN irgendwie erweitern? weil der DEC:String(10) ist auf (10) begrenzt. Ich kann aber mti meiner schnitstelle (22) übetragen, dies ist zwar noch nicht augeschöpft, aber würde doch gerne auf (22) erweitern.

  11. #9
    Registriert seit
    16.11.2007
    Beiträge
    179
    Danke
    11
    Erhielt 53 Danke für 39 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die LIB ist opensource, --> Projekt öffen --> *.lib auswählen, LIB öffnen.
    Dann kannst du den Code sehen und bearbeiten.


    mfG Jan

Ähnliche Themen

  1. TwinCAT PLC CANOpen Schnittstelle programmieren
    Von Sale im Forum CODESYS und IEC61131
    Antworten: 10
    Letzter Beitrag: 10.04.2011, 10:35
  2. TwinCAT stürzt ab sobald TwinCAT System gestartet wird
    Von HK09 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 23.09.2010, 10:02
  3. Antworten: 4
    Letzter Beitrag: 03.11.2009, 14:05
  4. TwinCAT und BC9000: wie einbinden & programmieren?
    Von ThomasF im Forum CODESYS und IEC61131
    Antworten: 17
    Letzter Beitrag: 21.01.2009, 16:01
  5. OBs in S7-300 programmieren
    Von Syntaxfehler im Forum Programmierstrategien
    Antworten: 6
    Letzter Beitrag: 21.09.2006, 19:21

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •