Zum Inhalt

Schnittstelle: Bystronic BySoft


Allgemein

Die Schnittstelle zwischen Octoflex und BySoft 7 bildet folgende Funktionen ab
Lagerimport - Die Gesamtbestände vom Octoflex werden nach BySoft übertragen. Octoflex ist das bestandsführende System. Restbleche verbleiben im BySoft.
Einlasten / Auslasten eines Laserteils - Beim Einlasten eines Laserteils im Octoflex wird ein Job erzeugt. Beim Auslasten wird ein Storno erzeugt.
Jobrückmeldung - Der geschachtelte Job wird an das Octoflex übertragen und Bleche werden vom Lager abgebucht. Chargen werden z.Zt. nicht unterstützt.
Fertigmeldung - abgearbeitete Jobs werden an das Octoflex übertragen

Die Schnittstelle ist seitens Bystronic in folgenden Dokumenten beschrieben
PMC_InterfacesSpec_2.0.pdf (Jobimport/export)
05_05_PMC_storage_import_V01_de.pdf (Lagerimport)

Es gibt zwei Ausführungen der Schnittstelle:

Alt

Standard

  • Zu Beginn der Kommunikation zwischen Octoflex und BySoft gab es seitens BySoft lediglich eine JobExport Rückmeldung nach dem Schneiden (ohne Status und CutPlansCount > 0) der den Verbrauch, die Menge, die Laserzeit in Octoflex setzt und eine (manuell ausgelößte) Rückmeldung vor dem Schneiden (CutPlansCount = 0) die für die Reservierung der Tafel verwendet wurde.

Kann das BySoft in diesem Modus bereits Rückmeldungen pro Status erzeugen, sollte in diesem Modus nur die Rückmeldung für Cut aktiviert werden.

  • Der Status In Arbeit in Octoflex wurde aus der ErpExport Datei ausgelesen.

Neu

Hinweis

Muss in Octoflex seperat aktiviert werden

Mittlerweile werden die Status Prepared, Released, SendToMachine, Cut, Cleared, Finished von BySoft übermittelt und von Octoflex ausgwertet.

Hierbei ist zu berücksichtigen, dass in diesem Modus auf jeden Fall die Abräumen-Funktion in BySoft genutzt werden muss, da hierdurch u.U. Ausschuss bemerkt wird und erst dann die Menge der Gut-Teile an BySoft und somit an Octoflex zurückgemeldet wird.

Die Status werden von Octoflex wie folgt verarbeitet.

Prepared

  • Reservierung für Tafel wird gelöscht (Falls ein Job aus einem höheren Status zurückgesetzt wurde)

Released

  • Octoflex setzt Status In Arbeit
  • Tafel wird reserviert

SentToMachine

  • Name des Lasers wird in den Status der einzelnen Laserteile in übernommen
  • Optional: Arbeitskarte wird automatisch auf Drucker ausgegeben

Cut

  • Start und Endzeit der Tafel wird in Octoflex übernommen

Cleared

  • Menge der Gut-Teile wird in Octflex übernommen
  • Materialverbrauch und Laserzeit wird in Octoflex übernommen
  • Reservierung für Tafel wird gelöscht
  • Tafel wird vom Lagerabgebucht
  • Optional: Arbeitskarte wird automatisch auf Drucker ausgegeben

Finished

  • Keine Aktion notwendig

Deleted

  • Status ist erst kürzlich in BySoft hinzugekommen und in der aktuellen Schnittstelle noch nicht berücksichtigt.

Voraussetzungen

Schnittstellenbeschreibung

Der Datenaustausch erfolgt dateibasiert über XML-Dateien, z.B. über das Verzeichnis C:\BystronicData\BySoft7\Pmc
Unterhalb von dem Verzeichnis PMC werden folgende Unterverzeichnisse erwartet: StorageImport, ErpImport, ErpImport\Cad, ErpImport\Config, JobExport, ErpExport

StorageImport

Octoflex schreibt die Datei Bestand.invent in der die Bestände übermittelt werden.
Artikel werden nach folgenden Kriterien gefiltert:
Artikel ist Lagerartikel
Artikel ist nicht Bestandsverwaltung in Fremdsystem
Artikel hat ein Rohmaterial hinterlegt
Artikel ist in der Warengruppe, die durch den Configuration-Value BYSOFT_PMC_LAGERIMPORT_WG oder BYSOFT_PMC_LAGERIMPORT_WG_IDS (s.o.) festgelegt wurde
Artikel hat als Lagereinheit Tafel (Abbuchung durch Schnittstelle erfolgt immer über die Lagereinheit in Menge 1 pro Sheet)

ErpImport

Octoflex schreibt Laseraufträge (Auftrag mit Laserteil wurde eingelastet) in die Datei .erp - Die beim Laserteil hinterlegte CAD-Datei wird in das Verzeichnis ErpImport\Cad kopiert falls Datei mit einlesen gesetzt ist.
Octoflex schreibt Stornierungen (Auftrag mit Laserteil wurde ausgelastet) in die Datei
.erpmod

JobExport

BySoft schreibt Jobrückmeldungen in die Datei JobExportData*.xml
Octoflex verwendet diese Datei um
a) Die verbrauchten Tafeln vom Lager abzubuchen
Für jeden Sheet Eintrag in der xml-Datein wird eine Lagerabbuchung für den Artikel durchgeführt mit dem Vermerk: Abbuchung durch BySoft PMC Job ...
b) Die Ist-Zeit / den Ist-Verbrauch / Ist-Menge in die CombiList zu übernehmen
Dabei wird für jeden Order-Eintrag des Sheet für jeden Part-Knoten
- die Ist-Menge um Part.Count erhöht
- die Ist-Zeit um part.Count* part.ProductionTimeEffective erhöht
- der Verbrauch um part.Count part.AreaWithEffectiveWaste sheet.Thichness * Dichte (des Rohmaterials bzw. des Werkstoffs) erhöht
c) Den Status des Laserteils auf Rot/Grün bzw. Grün zu setzen

ErpExport

BySoft schreibt alle Statusmeldung für Jobs in die Datei ErpExport.erp.
Octoflex benennt diese Datei um (ErpExport+Zeitstempel+erp) und verarbeitet diese.
Octoflex verwendet diese Dateien lediglich um den Begin / Farbstatus des Laserteils zu aktualisieren.
Anschließend wird die Datei ins Log-Verzeichnis verschoben.

Inventur der Reservierungen

U.U. laufen die Reservierungen zwischen BySoft und Octoflex auseinander, denn bei einigen Aktionen wird z.B. ein neuer Job erzeugt, es gibt aber keine weitere Rückmeldung mehr über den alten Job an das Octoflex. Dadurch bleiben die Reservierungen immer enthalten. Abhilfe schafft folgende Lösung.

Aus dem BySoft PMC wird in der Übersicht der aktiven Jobs eine Liste exportiert. Diese wird als CSV-Datei in das JobExport-Verzeichnis kopiert. Diese Liste wird mit den vorhandenen Reservierungen im Octoflex abgeglichen. Reservierungen zu Jobs, die nicht in der Liste sind, werden gelöscht. Es wird eine CSV-Datei mit einem Feld JobName erwartet, die weiteren Felder sind egal und werden ignoriert. Beispiel-Datei

JobName
123_123456
123_123457

Einzelne Reservierung löschen
Ist der JobName bekannt und man möchte eine einzelne Reservierung löschen, so geht dies über die Maske http://server:10080/mandant/api/laser/reservation/ (Octoflex 3.x) oder http://server:10080/mandant/laser/reservation/ (Octoflex 4.x)

Log

Dateien, die Octoflex schreibt, werden als Kopie in diesem Verzeichnis abgelegt.
Dateien die Octoflex verarbeitet, werden in dieses Verzeichnis verschoben.

Installation

Die Schnittstelle ist realisiert über den Dienst oTopsTalk. Da das Verzeichnis für die Übergabe Octoflex -> BySoft und BySoft -> Octoflex i.d.R. identisch ist, muss das Verzeichnis auch zwei mal angegeben werden. Das Programm kann als Konsolenanwendung gestartet oder als Windows-Dienst installiert werden (Siehe otopstalk.exe --help für die Installation als Dienst). Beispielaufruf:

otopstalk.exe
    -host:mandant@server
    -config:BySoftPMC
    -inputpath:C:\BystronicData\BySoft7\Pmc
    -outputpath:C:\BystronicData\BySoft7\Pmc

Hinweis

Bei der Installation des Dienstes ist darauf zu achten, falls das Octoflex Datenverzeichnis oder das BySoft PMC Verzeichnis nicht auf lokalen Laufwerken liegen, einen Dienstkonto zu verwenden, das Schreib-Zugriff auf die jeweiligen Verzeichnisse besitzt.
Sollen die Parameter für den Dienst nachträglich geändert werden, so kann der Dienst deinstalliert / installiert werden oder alternativ manuell über die Registry HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Octoflex.OTopsTalk$instancename(optional)\Parameters angepasst werden.