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

Page 1 of 2 12 LastLast
Results 1 to 10 of 14

Thread: Polariät von Leitung prüfen

  1. #1
    Join Date
    16.12.2008
    Posts
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Forum,

    ich lese schon einige Zeit in eurem Forum mit und habe nun auch ein paar Fragen. Ich bin absoluter Anfänger was SPS-Programmierung angeht.
    Ich habe eine Steuerung von Mitsubishi FX1N-24MR-DS und möchte die Polarität bzw. den Durchgang von Leitungen, die mit einem Stecker und einer Kupplung verbunden sind, prüfen.

    Also, die Leitungen habe ich so an die Steuerung angeschlossen:

    Leitung 1:

    Stecker +: X1
    Kupplung +: Y1
    Stecker -: X2
    Kupplung -: Y2

    Leitung 2:

    Stecker +: X3
    Kupplung +: Y3
    Stecker -: X4
    Kupplung -: Y4

    Mein Plan ist es einen Funktionsbaustein zu erstellen, den ich immer wieder aufrufen kann, der die Leitungen dann so testet:

    Input: i INT (i-te Leitung)
    Output: Merker[0..3] BOOL (Array, bei 1 ok, bei 0 verpolt)
    -------------------------------------
    Yi & Xi -> setze Merker[0,i]
    -------------------------------------
    Yi & nicht Xi+1 -> setze Merker[1,i]
    -------------------------------------
    Yi+1 & Xi+1 -> setze Merker[2,i]
    -------------------------------------
    Yi+1 & nicht Xi -> setze Merker[3,i]
    -------------------------------------

    Kann man das überhaupt so machen? Also so, dass die Ausgänge variabel gesetzt werden? Und falls ja, wie? Ich hoffe, ich hab mich einigermaßen verständlich ausgedrückt.
    Viele Grüße und Danke.
    Last edited by Else_Eifrig; 22.01.2009 at 10:40.
    Reply With Quote Reply With Quote Polariät von Leitung prüfen  

  2. #2
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    Quote Originally Posted by Else_Eifrig View Post
    Also so, dass die Ausgänge variabel gesetzt werden? Und falls ja, wie?
    jopp, kann man ... es gibt unterschiedliche möglichkeiten.

    1. die einfache q&d: du setzt das "richtige" bit entsprechend deiner bedingung und setzt die anderen 3 zurück
    2. die elegante: du schreibst abhängig von der verknüpfung ein bitmuster in den speicherbereich. für Yi+1 & Xi+1 z.b.: 0100
    3. die aufwändige: du schiebst das nibble nach links oder rechts entsprechend der stellen, die vom letzten zustand her notwendig sind um an die richtige stelle zu kommen

    ich tendiere zu 1.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Else_Eifrig is offline Neuer Benutzer
    Themenstarter
    Join Date
    16.12.2008
    Posts
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Hallo!
    "Einfach" ist immer gut. Ich verstehe nur nicht, was du damit meinst, wenn du sagst das "richtige" bit setzten und die anderen 3 zurück setzten?!
    Was wäre denn das bit? i? Oder Yi? ..hilfe

  4. #4
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    Quote Originally Posted by Else_Eifrig View Post
    Was wäre denn das bit?
    ich bezog mich auf merker bzw. die elemente des output-array
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #5
    Else_Eifrig is offline Neuer Benutzer
    Themenstarter
    Join Date
    16.12.2008
    Posts
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Ich kapier das nicht.

    Ich will bei jeder Leitung überprüfen ob Stecker + und Kupplung + und Stecker - und Kupplung - einen Durchgang hat. Und das Stecker + und Kupplung - und Stecker - und Kupplung + keinen Durchgang haben. Und das soll für mehrere Leitungen nacheinander funktionieren, deswegen wollte ich eine Funktion erstellen, die ich dann bei z.B. 4 Leitungen 4 mal aufrufen kann. Wie gesagt, ich bin Anfänger. Kannst du mir das mal ausführlicher erklären? Zum Beispiel wie ich die Variablen definieren muss..

  6. #6
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    irgendwie reden wir doch an einander vorbei...

    und das prob ist, dass ich keine software für mutsibishi zur verfügung habe ...

    also: du hast vier eingangs-bit, richtig?
    und du möchtest diese vier bit entsprechend deiner spezifikation verknüpfen und damit ein bestimmtes bitmuster ausgeben? das geht, soweit ich mir das jetzt erstmal vorstellen kann nur auf ein eindimensionales array, die einzelnen arrays müssteste dann noch zusammen kopieren ...

    sind grundsätzlich die bitmuster 0000 über 1010 bis 1111 vorstellbar oder ist im nibble immer nur ein bit zu erwarten ...

    so richtig kann ich noch nicht nachvollziehen, wie die prüfung von statten gehen soll
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #7
    Else_Eifrig is offline Neuer Benutzer
    Themenstarter
    Join Date
    16.12.2008
    Posts
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Also, Bitmuster und nibble sagt mir nichts. Das sollte ich erstmal nachlesen. Ich versuche nochmal meine Aufgabe zu erklären. Ich bin kein Elektriker oder Techniker.

    Es soll der Durchgang von Leitungen überprüft werden (genauer gesagt von Thermoelementen). Es soll so laufen, dass ich an meine Steuerung z.B. 2 oder 4 oder max. 16 Thermoelemente anschließe und dann soll überprüft werden, ob an den Steckern und Kupplungen die Leitungen richtig angeschlossen ist also + an + und - an -.
    Probeweise habe ich jetzt 2 Leitungen an die Steuerung dran geschraubt.

    Stecker von Leitung 1: Pluspol auf Eingang X1 und Minuspol auf Eingang X2.
    Kupplung von Leitung 1: Pluspol auf Ausgang Y1 und Minuspol auf Ausgang Y2.

    Stecker von Leitung 2: Pluspol auf Eingang X3 und Minuspol auf Eingang X4.
    Kupplung von Leitung 2: Pluspol auf Ausgang Y3 und Minuspol auf Ausgang Y4.

    Wenn ich jetzt Stecker und Kupplung der Leitungen zusammen stecke, dann soll überprüft werden ob die Teile richtig verbunden sind, also + auf + und – auf -.

    Weil es später so sein soll, dass ich 16 Thermoelemente damit überprüfen will, wollte ich eine Funktion erstellen, die für jede Leitung aufgerufen werden kann. Vielleicht habe ich da auch ne falsche Denkweise. Bisher habe ich hauptsächlich Skripte mit Matlab und ein bisschen C++ programmiert.

    Wenn ich eine Leitung überprüfen will, klappt es auch mit meinem Programm, aber dann eben nur für die jeweiligen Ein- und Ausgänge, also so:

    Y1 & X1 -> setze Merker[0] % Prüfung auf + +
    -------------------------------------
    Y1 & nicht X2-> setze Merker[1] % Prüfung auf + -
    -------------------------------------
    Y2 & X2 -> setze Merker[2] % Prüfung auf - -
    -------------------------------------
    Y2 & nicht X1 -> setze Merker[3] % Prüfung auf - +

    Dann bekomme ich Merker = [1 1 1 1] zurück, wenn nichts verpolt ist.

    Wenn ich jetzt aber 16 Leitungen überprüfen will, sollte das aber so laufen, dass ich der Funktion die Nummer der aktuellen Leitung übergebe, also das i, und dann damit die jeweiligen Ein- und Ausgänge überprüft werden.

  8. #8
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    verstehe

    ... jetzt bräuchten wir einen experten, der sagen kann ob die mitsubishi auch indirekte adressen kennt ... das was ich bisher da gesehen hab, war eher nicht soooo schön

    ein nibble ist ein block von vier bit, also dein array ... und das bitmuster ist die kombination aus 0 und 1, die in diesem nibble gespeichert ist ... dein nibble "GUT" ist 1111 ... das nibble "total mies" wäre 0000 (glaub ich)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #9
    Else_Eifrig is offline Neuer Benutzer
    Themenstarter
    Join Date
    16.12.2008
    Posts
    9
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Default

    Ja, genau!

    Gibts hier solche Experten im Forum? Ansonsten schlage ich so lange mal indirekte Adressen nach und hoffe, dass ich fündig werde.

  10. #10
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Quote Originally Posted by Else_Eifrig View Post
    Ja, genau!

    Gibts hier solche Experten im Forum? Ansonsten schlage ich so lange mal indirekte Adressen nach und hoffe, dass ich fündig werde.
    mutsibishi ist hier im forum eher der außenseiter ... ich hatte grad versucht zu googlen, aber hab nichts gefunden...

    eine andere möglichkeit wäre, dass du die schnittstelle vier byte breit machst...und den baustein 16mal aufrufst...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Similar Threads

  1. Replies: 6
    Last Post: 12.08.2014, 15:08
  2. Replies: 2
    Last Post: 01.01.2014, 11:45
  3. Ereichbarkeit von Ethernet-Geräten Prüfen
    By borsti87 in forum CODESYS und IEC61131
    Replies: 15
    Last Post: 23.04.2011, 13:04
  4. Prüfen der Parametrierung von FBs
    By SPSKILLER in forum Simatic
    Replies: 5
    Last Post: 17.07.2008, 20:33
  5. Leitung zeitabhängig auf einen von 8 Kontakten schalten?
    By Anonymous in forum Sonstige Steuerungen
    Replies: 27
    Last Post: 26.08.2005, 13:59

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •