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

Ergebnis 1 bis 9 von 9

Thema: EL6021 Ansprechen

  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
    Guten Tag Community,

    ich habe da ein Problem. Bin ganz neu in der SPS Welt und habe hier das Beckhoff System von mir.

    Ich will eine Kommunikation zwischen SPS und einem µController realisieren. Der µController reagiert auf Zeichenbefehle wie z.B T_1_5 (er weiß was das bedeutet).

    Meine Frage:
    Wie kann ich das mit TwinCAT programmtechnisch lösen? Ich will einen String mit dem Inhalt 'T_1_5' runter zum µController senden. Die RS 484 Schnittstelle ist default eigenstellt, das passt auch soweit mit 9600 baud, 8/1 no pre. Und ich habe auch die ComLib.lib von beckhoff besorgt. Aber ich komme einfahc nicht weiter weil in Hilfen viel zu wenig drin steht.

    Hoffe Ihr könnt mir helfen.

    MfG
    egor
    Zitieren Zitieren EL6021 Ansprechen  

  2. #2
    Registriert seit
    09.01.2008
    Beiträge
    85
    Danke
    5
    Erhielt 13 Danke für 12 Beiträge

    Standard

    Hallo Egor,

    Das Kommando "T_1_5" ist wahrscheinlich ein µC spezifisches Kommando. Keine Ahnung was das bedeutet.

    Zur Kommunikation:
    Verwende aus der ComLib die Bausteine "SerialLineControl" zur Herstellung der Verbindung, und den Baustein "SendString" zum senden einens String, bzw. eines Kommandos über die Serielle Schnittstelle. Wie die Bausteine verwendet und Beschaltet werden, kannst Du hier nachlesen:

    http://infosys.beckhoff.com/index.ph...ontrol.htm&id=

    http://infosys.beckhoff.com/index.ph...String.htm&id=

    Gruß Scrat

  3. Folgender Benutzer sagt Danke zu Scrat für den nützlichen Beitrag:

    egor (12.05.2010)

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

    Standard

    Danke für Antwort, also bin ich auf dem richtigen weg. Habe mir die bausteine schon gestern angeschaut, und konnte erstmal ne Verbindung von Computer zu Computer herstellen. und auch nen string senden.

    eine weitere frage:

    kann man einen String irgendwie zerreißen?

    also das ich sowas senden kann als ein String?

    Hallo[Zeilenumbruch]
    [Zeilenumbruch]
    Welt[Zeilenumbruch]
    [Zeilenumbruch]

    darf das so ausschene
    string := 'Hallo $0D$0A Welt $0D$0A'

    oder wie wird das gemacht?

  5. #4
    Registriert seit
    09.01.2008
    Beiträge
    85
    Danke
    5
    Erhielt 13 Danke für 12 Beiträge

    Standard

    Hallo,

    ja das sollte so in etwa funktionieren.
    Ich würde für den Befehl CR '\r'
    und für den Befehl LF '\n' verwenden.

    Gruß Scrat

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

    Standard

    Kann mir einer weiterhelfen?

    Ich habe hier folgendes Programm:

    IF fokus_plus THEN
    ststringtosend:= 'T_1_5';
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ELSIF fokus_minus THEN
    ststringtosend:= 'T_2_5';
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ELSIF fern THEN
    ststringtosend:='T_3_5';
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ELSIF nah THEN
    ststringtosend:='T_4_5';
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ELSIF blende_auf THEN
    ststringtosend:='T_5_5';
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ELSIF blende_zu THEN
    ststringtosend:='T_6_5';
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ELSIF kreisen_rechts THEN
    ststringtosend:='T_7_5';
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ELSIF kreisen_links THEN
    ststringtosend:='T_8_5';
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ELSIF blende_auto THEN
    ststringtosend:='T_9_5';
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ELSIF blende_man THEN
    ststringtosend:='T_10_5';
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    ststringtosend:= CONCAT (ststringtosend, EndofCode);
    END_IF

    IF stStringJustSend <> stStringToSend THEN
    fbSendStringEl6021( (*FB "SendString" aufrufen*)
    SendString:=stStringToSend , (*Eingngsvariable*)
    TXbuffer:=El6021ComBufferOut); (*Sende Buffer*)
    END_IF




    Sobald ich eine Taste drücke, dann kommt auch der gewünschte text raus, nur ist das so. Dieser String wird die ganze zeit weiter gesendet.

    Wie kann ich machen, damit er nur so lange gesendet wird, wie der schalter gedrückt wird?

  7. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Hallo,
    für den Stringvergleich :
    Code:
    IF stStringJustSend <> stStringToSend THEN
    die entsprechende Vergleichsroutine benutzen und nicht '<>' ... Jedenfalls wäre das bei SCL der Weg ...

    Gruß
    LL

  8. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    egor (17.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

    danke dir. hat geklappt.

  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

    Hmm ich stehe schon wieder vor einem Problem.

    Also ich will eine ID bei dem µController abfragen. Mit dem String 'ID', das klappt auch, ich bekomme dann z.b die 'ID 4' als antwort zurück.

    Mein Problem ist jetz, wie kann ich es einrichten, dass er mir sagt.

    WEnn ID 1, als antwort kommt, ist es dann Typ X und wenn ID 2, Typ y usw.
    Es geht um Kamera Typen.

    Und ist es möglich mit TwinCAT automatisch, gespriebene Programme anhand einer ID automatisch in die CPU zu laden? Also die CPU hat 5 verschiedene Programmer zu Steeuerung, mit minimal unterschiedlichen Parametern. und als Beispiel soll bei der ID 2, der Typ2 ermittelt werden, und somit auch das Programm 2 zur verfügung stehen.

  11. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    meine Antwort ist eigentlich Steuerungs-unabhängig :
    Wenn du mit mehreren unterschiedlichen datensätzen arbeiten willst, so solltest du die (nach meiner Meinung) auch alle gleichzeitig greifbar sein - vielleicht in einem ARRAY_of_STRUCT (oder wie auch immer). Mit der zurückkommenden Meldung baust du dir entweder einen Index auf dieses Array oder du durchsuchst die relevanten Stellen des Array's nach Übereinstimmung mit der Vorgabe und nimmst bei gefundenem Index die nachfolgenden Parameter für die weitere Be-/Verarbeitung ...

    Gruß
    LL

Ähnliche Themen

  1. Helfen Sie dem Neuling (EL6021 + RS-485)
    Von zima im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 20.12.2010, 15:48
  2. Bit in Bytevariable ansprechen
    Von Gerri im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 24.02.2009, 10:22
  3. Jemand Erfahrung mit EL6021 von Beckhoff??
    Von Cerberus im Forum CODESYS und IEC61131
    Antworten: 15
    Letzter Beitrag: 19.02.2008, 09:53
  4. Von SPS aus TP177 ansprechen?
    Von ottopaul im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 20.01.2007, 21:38
  5. Von SPS aus TP177 ansprechen?
    Von ottopaul im Forum HMI
    Antworten: 0
    Letzter Beitrag: 20.01.2007, 19:25

Lesezeichen

Berechtigungen

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