<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Barcodeleser an Wago 750-841</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/492815f676/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/492815f676/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/492815f676/</id><updated>2020-02-28T09:39:24.594000Z</updated><subtitle>Recent posts to Barcodeleser an Wago 750-841</subtitle><entry><title>Barcodeleser an Wago 750-841</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/492815f676/?limit=25#7a32" rel="alternate"/><published>2020-02-28T09:39:24.594000Z</published><updated>2020-02-28T09:39:24.594000Z</updated><author><name>isom</name><uri>https://forge.codesys.com/u/isom/</uri></author><id>https://forge.codesys.com31cb87c7beaa5449b4c969f4bc821b628470cef7</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hi blackenslaver666!&lt;/p&gt;
&lt;p&gt;Danke vielmals für deine ausführliche Erklärung! Habe nun eine konkrete Vorstellung wie ich mit meiner Aufgabenstellung fertig werde. &lt;strong&gt;DANKE!&lt;/strong&gt; &lt;strong&gt;MERCI! GRAZIE! &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Euch allen einen schönen Abend!&lt;br/&gt;
isom&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Barcodeleser an Wago 750-841</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/492815f676/?limit=25#a03b" rel="alternate"/><published>2020-02-28T09:39:21.909000Z</published><updated>2020-02-28T09:39:21.909000Z</updated><author><name>Anonymous</name><uri>https://forge.codesys.com/u/*anonymous/</uri></author><id>https://forge.codesys.com6f70314b7fe4614312f4f3f18ee27984e1999f11</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;em&gt;Originally created by:&lt;/em&gt; blackenslaver666&lt;/p&gt;
&lt;p&gt;Hi.&lt;br/&gt;
In deinem Fall lege dir eine benutzerdefinierte Datenstruktur an, das geht im Reiter "Datentypen". Ich würde idealerweise diese als "Material" bezeichnen, z.B.&lt;br/&gt;
so:&lt;/p&gt;
&lt;p&gt;TYPE Material&lt;br/&gt;
STRUCT&lt;br/&gt;
 Status : BOOL; (&lt;em&gt; 0 = ausgeliehen, 1 = verfügbar &lt;/em&gt;)&lt;br/&gt;
 IdNummer : STRING; (&lt;em&gt; Id-Nummer vom Mitarbeiter: Barcode &lt;/em&gt;)&lt;br/&gt;
 ...&lt;br/&gt;
END_STRUCT&lt;br/&gt;
END_TYPE&lt;/p&gt;
&lt;p&gt;Diese selbstdefinierter Datentyp sichert dir also deine Materialeigenschaften, je nach Belieben kannst da noch mehr Var/Infos reinpacken, die Datentypen ändern (z.B. Status : INT; (* 0 = ausgeliehen, 1 = verfügbar, 2 = reserviert usw.)  oder was löschen.&lt;/p&gt;
&lt;p&gt;Jetzt musst du im deinem Programm irgendwo ein ARRAY von diesem selbstdefinierten Datentyp deklarieren, damit der Controller den Speicherbedarf reserviert. Das Array sollte von "0" bis "Anzahl Materialien" laufen. Beispiel: Es gibt nur 2 Materialien: 1 = Bohrmaschine, 2 = Schleifmaschine.&lt;/p&gt;
&lt;p&gt;VAR CONSTANT&lt;br/&gt;
 ANZ_MATERIAL : INT := 2;&lt;br/&gt;
END_VAR&lt;/p&gt;
&lt;p&gt;Array-Deklaration:&lt;/p&gt;
&lt;p&gt;LagerMaterial : ARRAY&lt;span&gt;[0..ANZ_MATERIAL]&lt;/span&gt; OF Material; (&lt;em&gt; Array vom selbstdefinierten Datentyp "Material" für 2 Lagermaterialien &lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Das Schöne an diesen Datentypen ist, dass du über den Index auf jede vorhandene Var des Typs zurückgreifen kannst, indem du den Arraynamen, den Punkt und die symbolischen Identifier aneinanderreihst. Z.B. greift das Kommando &lt;/p&gt;
&lt;p&gt;LagerMaterial&lt;span&gt;[1]&lt;/span&gt;.Status&lt;/p&gt;
&lt;p&gt;den Ausleihstatus der Bohrmaschine ab. Jetzt dann alles noch in einen logischen zeitlichen Zusammenhang gebracht und fertig ist dein Projekt. Ein Ablauf wäre z.B.:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Warten auf Barcode vom Panel&lt;/li&gt;
&lt;li&gt;Barcode erhalten, warten auf Materialauswahl&lt;/li&gt;
&lt;li&gt;Quellcode nach Materialauswahl&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;IF LagerMaterial&lt;span&gt;[Materialauswahl]&lt;/span&gt;.Status THEN (&lt;em&gt; Material ist verfügbar &lt;/em&gt;)&lt;br/&gt;
   LagerMaterial&lt;span&gt;[Materialauswahl]&lt;/span&gt;.IdNummer := Barcode; (&lt;em&gt; Material vom MA "Barcode" ausgeliehen &lt;/em&gt;)&lt;br/&gt;
   LagerMaterial&lt;span&gt;[Materialauswahl]&lt;/span&gt;.Status := FALSE; (&lt;em&gt; Material ist JETZT ausgeliehen &lt;/em&gt;)&lt;br/&gt;
ELSE&lt;br/&gt;
   ; (&lt;em&gt; Nix tun oder Msg am Panel ausgeben wer Material ausgeliehen hat: Material ist schon weg! &lt;/em&gt;)&lt;br/&gt;
END_IF&lt;/p&gt;
&lt;p&gt;Viel Spass damit!  &lt;/p&gt;
&lt;p&gt;Gruss Andy&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Barcodeleser an Wago 750-841</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/492815f676/?limit=25#cd6c" rel="alternate"/><published>2020-02-28T09:39:14.647000Z</published><updated>2020-02-28T09:39:14.647000Z</updated><author><name>isom</name><uri>https://forge.codesys.com/u/isom/</uri></author><id>https://forge.codesys.com48a43a37240c53635620d97dcb427401b39055fd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Danke für deine schnelle Antwort, PAKA!&lt;/p&gt;
&lt;p&gt;Habe schon diverse Sachen programmiert, nur keine Arrays und Structs bis jetzt. Die CoDeSys-Software ist vorhanden. &lt;/p&gt;
&lt;p&gt;Zur Erkennung des Mitarbeiters; ich weiss nicht ob du etwas falsch interpretiert hast, denn der Mitarbeiter identifiziert sich per &lt;strong&gt;persönlichen Barcode &lt;/strong&gt;, der auf seiner Mitarbeiterkarte aufgedruckt ist. Die Erkennung des Mitarbeiters erfolgt also über den Barcodescanner der seriell an die Wago angeschlossen wird. Das Material hat keinen Barcode. Ich muss also nur seinen persönlichen Code zum Material, welches er ausleihen will, schreiben. &lt;/p&gt;
&lt;p&gt;Beispiel eines Ablaufs:&lt;br/&gt;
Herr Müller trifft im Magazin ein. Per Barcodescanner identifiziert sich Herr Müller an der Bedieneroberfläche. Eine Liste mit Materialien erscheint. Er will die Bohrmaschine ausleihen. Falls die Bohrmaschine schon ausgeliehen ist, soll lediglich eine Statusmeldung &lt;span style="color: #FF0000;"&gt;"nicht verfügbar"&lt;/span&gt; und der Name des derzeitigen Besitzers erscheinen. Die Freischaltung der Materialien erfolgt mittels Verschlusszylindern - die Detektierung "&lt;span style="color: #008000;"&gt;verfügbar"&lt;/span&gt;/&lt;span style="color: #FF0000;"&gt;"nicht verfügbar"&lt;/span&gt; mittels Sensoren.  &lt;/p&gt;
&lt;p&gt;Ich hoffe Du kannst Dir nun ein vollkommenes Bild meiner Arbeit machen. &lt;/p&gt;
&lt;p&gt;Ps. Programmiersprache ist frei wählbar.&lt;/p&gt;
&lt;p&gt;Mit Gruss&lt;br/&gt;
isom&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Barcodeleser an Wago 750-841</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/492815f676/?limit=25#8563" rel="alternate"/><published>2020-02-28T09:39:12.141000Z</published><updated>2020-02-28T09:39:12.141000Z</updated><author><name>PAKA</name><uri>https://forge.codesys.com/u/paka/</uri></author><id>https://forge.codesys.comfc0981094ed1343f7ea00fb260dfd1af9bcc9f68</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Am besten du besorgst dir mal ein Buch für die SPS Programmierung, weil wie es aussieht du bei null anfängst. &lt;/p&gt;
&lt;p&gt;Ein Array ist ein Datenfeld, was beschrieben wird mit vordefinierten Variablen. Hast du auch schon die CodeSys Software? Das heißt ja der Mitarbeiter der den Vorgang bearbeitet muss sich irgendwie einloggen ins System bzw. der Mitarbeiter muss sich irgendwie zur Erkennung geben. Dies könnte man über ein Array lösen, wo man die verschiedenen Mitarbeiter einträgt und ihnen eine feste Zahl zum einloggen gibt. Dann weiß das Array durch sucht und gibt die Mitarbeiter Daten aus.&lt;/p&gt;
&lt;p&gt;Wenn ein Vorgang gestartet wird, werden die Daten vom Array gelöscht und wieder neubeschrieben. ARRAY OF Vorgang (Zeitstempel,Mitarbeiter, gebuchte Materialien)&lt;br/&gt;
Nach Beendigung des Vorgangs werden dann die Daten vom Array in einen CSV Datei geschrieben, das sie nicht verloren gehen und man diese nachvollziehen kann.&lt;/p&gt;
&lt;p&gt;Du kannst auch mal direkt bei Wago schauen, da gibt es eine ganze Menge an Programmbeispielen. &lt;/p&gt;
&lt;p&gt;Unbedingt Basic´s schaffen für die Programmierung, Array, Variablen, Structs und allgemeine Sachen.&lt;/p&gt;
&lt;p&gt;In was für einen Sprache sollst du denn programmieren? FUP, CFC, ST?&lt;/p&gt;
&lt;p&gt;MFG&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Barcodeleser an Wago 750-841</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/492815f676/?limit=25#a7a9" rel="alternate"/><published>2020-02-28T09:39:05.097000Z</published><updated>2020-02-28T09:39:05.097000Z</updated><author><name>isom</name><uri>https://forge.codesys.com/u/isom/</uri></author><id>https://forge.codesys.com898abadcf271c84d4fdb95ede4113fca369f4ac6</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo miteinander!&lt;/p&gt;
&lt;p&gt;Erstmals danke für deine Antwort PAKA.&lt;/p&gt;
&lt;p&gt;Blicke im Moment noch nicht ganz durch.   Die Möglichkeit mit Arrays wurde mir von meinem Fachvorgesetzten auch vorgeschlagen. Habe aber noch nicht mit Array's gearbeitet. Hat vielleicht jemand ein Beispielprogramm mit Arrays oder irgendwelche nützliche Informationen? Die Archivierung der Barcodedaten zu den einzelnen Produkten ist sekundär.  Die letzte Ausleihe sollte ersichtlich sein, damit immer gewährleistet ist, welcher Mitarbeiter das Produkt als letzter gebraucht hat.&lt;/p&gt;
&lt;p&gt;Mit Gruss&lt;br/&gt;
isom&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Barcodeleser an Wago 750-841</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/492815f676/?limit=25#bfcd" rel="alternate"/><published>2020-02-28T09:39:02.512000Z</published><updated>2020-02-28T09:39:02.512000Z</updated><author><name>PAKA</name><uri>https://forge.codesys.com/u/paka/</uri></author><id>https://forge.codesys.com818dd3d2dcd7967eb8131da2627dda2dc1c1fb1a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;hallo,&lt;/p&gt;
&lt;p&gt;ich würde es so machen. Die Daten die du über die serielle Schnittstelle ausliest in ein Array packen. Am besten in ein drei dimensionales. &lt;/p&gt;
&lt;p&gt;ARRAY OF Barcode (Barcode, Zeitstempel, Produkt) musst dir denn natürlich ein Struct schrreiben. Dann hast du dein Array gleich geordnet und kannst es danach weiter verarbeiten. Würde als Bedingung nehmen Lesevorgang beendet und dann das Array in ein File schreiben. Das File kannst dann per Mail verschicken oder auf einen FTP Server ablegen.&lt;/p&gt;
&lt;p&gt;MfG&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Barcodeleser an Wago 750-841</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/492815f676/?limit=25#32e2" rel="alternate"/><published>2020-02-28T09:38:55.470000Z</published><updated>2020-02-28T09:38:55.470000Z</updated><author><name>isom</name><uri>https://forge.codesys.com/u/isom/</uri></author><id>https://forge.codesys.com9a1d27a7409bc73529a98d20ba272024edc86f5f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo miteinander&lt;/p&gt;
&lt;p&gt;Ich plane im Moment meine Abschlussarbeit. Grob beschrieben läuft meine Arbeit auf folgendes hinaus: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mitarbeiter trifft im Magazin ein&lt;/li&gt;
&lt;li&gt;Identifiziert sich per Barcode&lt;/li&gt;
&lt;li&gt;Wählt Material aus&lt;/li&gt;
&lt;li&gt;Barcode wird zu Material vermerkt&lt;/li&gt;
&lt;li&gt;Material wird freigegeben&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Den Barcodeleser (z.B. &lt;a class="" href="http://www.sick.com/de/de-de/home/products/product_news/identification_systems/Seiten/clv50x.aspx" rel="nofollow"&gt;http://www.sick.com/de/de-de/home/products/product_news/identification_systems/Seiten/clv50x.aspx&lt;/a&gt;) wird per serieller Schnittstelle (z.B. 750-650/003-000 ) angeschlossen. Der Barcode wird per ASCII-Protokoll gesendet. &lt;br/&gt;
Ich bin mir im Moment im Unklaren, wie ich die Daten weiterverarbeiten kann.   &lt;/p&gt;
&lt;p&gt;Danke für eure Hilfe!&lt;br/&gt;
isom&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>