Suchergebnisse

Suchergebnisse 1-11 von insgesamt 11.

  • Benutzer-Avatarbild

    Hallo zusammen, ich habe den Auftrag eine bestehende Anwendung in zu erweitern. Es geht um eine Anwendung für eine Anlage durch die diverse Werkstücke laufen, auf welche ein Aufdruck aufgebracht wird. Der Drucker dazu wird durch den Leitrechner, bzw durch das Programm angesteuert. Die Erweiterung besteht daraus, eine Auftragsnummer in eine SQL-Tabelle zu schreiben(Rückmeldung). Ganz grob gesagt gibt es zwei Subs (HandleDrucker und HandleRückmeldung). Diese beiden Subs werden zyklisch durch einen…

  • Benutzer-Avatarbild

    @ Yanbel: Hättest du da ein Beispiel für mich? Events müsste bei mir eigentlich die SPS werfen.

  • Benutzer-Avatarbild

    Aufeinander reagieren die beiden eigentlich nicht. Ich versuche es kurz zu beschreiben, ohne allzu tief ins Detail zu gehen: Timer ruft Sub Zyklus() auf in Sub Zyklus() HandleDrucker() HandleRückmeldung() End Sub in Sub HandleRückmeldung() Hole Wert aus SPS If Wert<>0 then schreibe Wert in sql-Tabelle Schreibe in SPS Wert=0 End Sub @ErfinderDesRades: Das Zeitintensive an HandleRückmeldung() ist der SPS-Zugriff. Die 100ms für den SQL-Befehl kommen ziemlich gut hin.

  • Benutzer-Avatarbild

    @Rod: das Problem ist scheinbar die Zeit für die Ausführung von HandleDrucker Deswegen möchte ich ja die Sub HandleRückmeldung parallel dazu laufen lassen, da keiner auf den anderen warten muss. Mir geht es nur darum zu erfahren, welche von den genannten Methoden in meinem Fall die Bessere wäre. Ein Trigger-Signal gibt es von der SPS nicht. Ist ein etwas älteres Modell (keine Siemens-SPS).

  • Benutzer-Avatarbild

    @xmise: die Daten für den Druck werden erst durch den Trigger geholt. die Abfrage erfolgt über eine Applicom (PCI)-Karte mit dem Ethway-Protokoll (Telemecanique Eigenentwicklung, etwas älter) @ErfinderDesRades: Würde Zyklus() dann auf das Abarbeiten von HandleRückmeldung() warten oder verstehe ich das falsch? Habe mich bisher noch nicht weiter mit Async auseinandergesetzt.

  • Benutzer-Avatarbild

    @Rod: Die Prozedur liest aus der SPS ob ein neuer Auftrag benötigt wird, sucht aus einer sql-datenbank die passenden Werte zum Auftrag raus und schickt diese an den Drucker. Danach wird in die SPS geschrieben, dass der Drucker Daten bekommen hat. (stark vereinfacht) @ErfinderDesRades: Dann bin ich doch aber an demselben Punkt wie vorher, oder läuft HandleRückmeldung dann tatsächlich parallel zu HandleDrucker? Mir fehlt irgendwie so ein Schlagwort bei dieser Art der parallelen Verarbeitung. Sowas…

  • Benutzer-Avatarbild

    @Rod: Sub HandleDrucker() Lese Merker aus SPS ob neuer Druckauftrag benötigt wird If MerkerDruckerBrauchtAuftrag=0 Then End Sub Else Mach mit dem Rest weiter (Auftragsdaten aus SQL-Tabelle lesen, etc) End Sub So in etwa.

  • Benutzer-Avatarbild

    Ich weiß nicht ob mein Zeitvorteil dadurch groß genug wäre. Kann man alle drei parallel laufen lassen? Also HandleRückmeldung parallel zu HandleDrucker und beide parallel zum Hauptthread. Wie gesagt, es sind beide Prozeduren (HandleDrucker und HandleRückmeldung) vollkommen unabhängig voneinander und greifen auf keine gemeinsamen Ressourcen zu. Der eine Prozess müsste also nicht auf den Abschluss des Anderen warten.

  • Benutzer-Avatarbild

    HandleDrucker fragt "zyklisch" in der SPS an, ob ein neuer Druckauftrag benötigt wird. HandleRückmeldung findet nicht an der Stelle statt, an der gedruckt wird, sondern im Maschinenablauf zwei Stationen später. Das meinte ich damit, dass kein Prozess auf den anderen wartet. HandleRückmeldung ist es vollkommen egal, ob ein Aufdruck auf dem Werkstück ist. Das wird an anderer Stelle durch einen Scanner kontrolliert.

  • Benutzer-Avatarbild

    @ErfinderDesRades : Ich habe es noch nicht ausprobiert. Lese mich gerade erst etwas in die Thematik Async/Await ein. Zu Post #12 noch kurz: Eine SPS ist eine SpeicherProgrammierbare Steuerung. Durch das Gerät werden die Anlagen gesteuert. Bekanntester Vertreter ist wahrscheinlich die Siemens S7. @xmise: Die Daten der Rückmeldung kommen auch aus der SPS. Ist aber "nur" ein Doppelwort an der Stelle. @RodFromGermany: Inwiefern kommt dir das bekannt vor? Kennen wir uns womöglich? Die Anforderung kur…

  • Benutzer-Avatarbild

    Zitat von RodFromGermany: „Wenn die nichts miteinander zu tun haben (x und y) ist das nicht erforderlich!“ Anscheinend ja doch. Sonst wäre der Drucker nicht durcheinander gekommen bei der linearen Verarbeitung. Wenn er nicht rechtzeitig einen neuen Auftrag für das Werkstück geschickt bekommt, druckt er einfach das Vorherige nochmal. Irgendwo bei diesen magischen 6s muss der Knackpunkt liegen. Ich werde das in den nächsten Tagen mal ausprobieren. Genug Input habt ihr mir ja gegeben Danke erstmal …