Drucker über SPS ansteuern

blueColt

Level-1
Beiträge
90
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich muss einen cab a4+ Etikettendrucker über die SPS ansteuern. Habe dazu auch eine RS 232 Schnittstelle (CP 340). SPS ist eine 314C-2DP. Hab mich jetzt schon etwas in das Thema reingelesen. Ich muss das Etikett mit der Software (CAPLABEL R2 PRO) erstellen, und es dann als ASCII Datei "drucken". Nur hab ich irgendwie keinen blassen schimmer, wie ich das erstellte Label als Datei drucken soll. Diese Option kann ich irgendwie nirgends wählen.
Probedruck direkt vom PC aus über USB klappt schon.

Anschließend muss ich diese ASCII Datei nur noch in einen DB eintippen und diesen dann per SEND FB (welchem denn da genau?) an die SPS schicken?

besten Dank schonmal
 
Hallo blueColt,

habe schon CAB-Etikettendrucker eingesetzt. Die Daten für das Etikett
würden auf den Visu (ProTool/RT) PC gesendet, da war auch der
Drucker angeschlossen. Per SPS wurde nur der Etikettendrucker
gestartet und der Vorschub geregelt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich Deinen Drucker nicht.

Ich haben das bei anderen Systemen schon so gesehen,
dass man am PC das Label erstellt, ggf. mit einem Platzhalter
und das wird auf dem Drucker gespeichert. Per SPS wird
dann nur die Label-Nr. und Variable übergeben.

Nur so als Idee.
 
Ich hab mir das hier ja auch nur erlesen. PC hab ich an der Anlage dann nicht zur verfügung. Lediglich ein TP177b , den drucker und die SPS halt
 
Ich hab mir das hier ja auch nur erlesen. PC hab ich an der Anlage dann nicht zur verfügung. Lediglich ein TP177b , den drucker und die SPS halt

In diesem Fall müssen die "Formulare" bereits im Drucker archiviert sein und werden nur noch über die SPS ausgewählt. Dass das komplette Ettiket in der SPS abgelegt ist und mit übertragen wird, kann ich mir nicht vorstellen. Wie sollen die Binärdaten in die SPS (z.B. in einen DB) gelangen?
 
Na prima, wenn das der Drucker ist und die Software dies unterstützt, dann klappt das ja. Allerdings sicher nicht mit USB (außer, wenn es sich um einen USB-Seriell-Wandler handelt).
Aber jabba greift hier sicher mit seiner Erfahrung helfend ein. Oder ihm eine pn schicken, damit er auf diesen Thread aufmerksam wird.
 
Ich kenne das Ding zwar nicht , ist aber eigentlich auch nicht wichtig.

1. Muss der Drucker ja über eine Serielle Schnittstelle verfügen
2. Wenn er dies hat, solltest Du in der Cab Software auch diesen mit der Seriellen Schnittstelle verbinden können.
3. Wenn der Drucker an die Serielle Schnittstelle angebunden wurde, kannst du diesen in den Druckereigenschaften von Seriell auf Datei umstellen.
Somit kommen die Daten nun in der von mir beschriebenen Datei an.

Wenn Das Label sehr umfangreich ist, sollte man aber den von mir beschrieben Trick benutzen, und mit dem PC in die SPS "drucken". Also Drucker testen mit seriellem Kabel vom PC aus. Wenn dieses alles passt, das Kabel vom Drucker ab und auf die CP stecken. In der SPS sen FB2 P_Rec Receive einbinden, und die Daten in einen DB laden. Somit steht das gesamte Label im DB.

Aber vorab muß man sich für einen der beiden Wege entscheiden.

1. Alle Daten , also das komplette Etikett liegen in der SPS
Vorteil: Beim Austausch des Drucker braucht auch nach Jahren keiner wissen wie man z.B. das Makro nachladen kann
Nachteil : Eventuell langsames Senden da viele Daten, und Änderung des Etiketts quasi nicht mehr möglich, bzw sehr aufwändig
2. Makro liegt im Drucker, SPS sendet nur die Daten
Vorteil : Nur wenige Daten zu senden, Sehr flexibel erweiterbar
Etiketten können sehr komfortabel geändert werden
Nachteil: Man muss jemanden im betrieb haben der das kann. Oft laufen die Dinger mehrere jahre, und dann weiss keiner mehr wo die Software oder die Datei für das label ist .

Alles Geschackssache : Ich nehme meist die erste Lösung, ist aber meine persönliche Auffassung. Technisch sinnvoller und besser ist die zweite Lösung.

In J-Script für den CAB Drucker sieht ein Label z.B. so aus
Code:
J Job Start
H 100 Speed (100 mm/s)
O R Orientation rotated by 180°
S I1;0,0,68,70,100 Size of label (100x68 mm, gap 2 mm)
T 10,10,0,5,pt20;sample Text object/font: Swiss bold, 20 pt
B 10,20,0,EAN-13,SC2;401234512345 Barcode EAN 13, size SC 2
G 8,3.5,0;R:30,9,0.3,0.3 Graphic, box 30 x 9 mm,
Line strength 0.3 mm
A 1 Number of labels (in this example 1)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hab mir das Ding mal angesehen, hab vor jahren mal einen in der Anlage gehabt.

Das Ding kann auf jeden Fall die Etiketten im Drucker speichern, das solltest Du dir überlegen. Es hängt wie oben beschrieben halt immer davon ob, ob du z.B. selber für das Gerät zuständig bist, oder ob es z.B. nach China geliefert wird, da spielen die kleinen Chinesenhände mal gerne an allem rum und löschen mal so eben das Etikett.

Wenn Du das Etikett im Drucker speicherst, braucht Du nur einen DB zu erstellen der die Variablenfelder sendet.
 
Hi,

ich kenne die CAB-Drucker... haben mich auch schon etwas geärgert.
Im Anhang findest du 2 Bilder vom "Drucken" Menü. Dort kannst du erstmal die Auswahl für in Datei drucken aktivieren und dann dein Label in eine Text-Datei drucken. Den Inhalt der Text-Datei in einen DB tippen und ab damit über RS232 an den Drucker. Achtung: Du mußt exakt darauf achten, dass du nach jeder neuen Zeile ein LF und CR mit schickst (hex0D und hex0A).

Gruß

PhilippL
 

Anhänge

  • Bild_1.JPG
    Bild_1.JPG
    19,7 KB · Aufrufe: 162
  • Bild_2.JPG
    Bild_2.JPG
    42,6 KB · Aufrufe: 150
Hallo :)

Na prima, wenn das der Drucker ist [...]

Nein, ist nicht der Drucker, aber groß unterscheiden vom Prinzip her sollten die sich ja nicht :)

Aber vorab muß man sich für einen der beiden Wege entscheiden.

Soll auf jeden Fall immer alles gesendet werden, da ja sonst beim Druckertausch alles neu eingerichtet werden muss.

Ich probier jetzt erstmal das mit dem FB2, ob ich das hinbekomme :D

Im Anhang findest du 2 Bilder vom "Drucken" Menü. Dort kannst du erstmal die Auswahl für in Datei drucken aktivieren und dann dein Label in eine Text-Datei drucken. Den Inhalt der Text-Datei in einen DB tippen und ab damit über RS232 an den Drucker. Achtung: Du mußt exakt darauf achten, dass du nach jeder neuen Zeile ein LF und CR mit schickst (hex0D und hex0A).

Genau das hab ich gesucht, und nicht gefunden, da es in der Software wegen fehlendem Dongle wohl deaktiviert ist... Naja, in der Lite-Version gehts, reicht zum testen :D
Selber in DB tippen weiß ich grad nich wirklich wie (von der Struktur her), als versuch ichs erstmal "automatisch"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich hab mir jetzt ein "einleseprogramm" gebaut

Code:
      U(    
      O     M      1.0
      ON    M      1.0
      )     
      =     L     20.0
      BLD   103
      CALL  "P_RCV" , DB2
       EN_R  :=L20.0
       R     :=
       LADDR :=272
       DB_NO :=10
       DBB_NO:=0
       NDR   :=
       ERROR :=
       LEN   :=
       STATUS:=
      NOP   0

Sollte sich da nicht der DB10 füllen, wenn ich auf Drucken in der CAB software geh?!
 
Hast Du schon mal einen CP340 in betrieb genommen ?

Wenn nein:
- CD installiert zum parametrieren des CP
- in der Hardware den CP unter Parameter einstellen
- Protokoll ASCII, Baudraute, Parity usw. mit Drucker abgleichen
- nach Änderungen ins AG laden
- gleiches Kabel zum testen vom PC->Drucker genommen
- FB2 geladen
- DB2 geladen
- DB10 geladen
- Beim drucken muss die RCV LED an der Baugruppen kurz flackern.
 
Nein, ist das erste mal ;)

Software ist bereits installiert. Im Drucker kann ich nur Baudrate und Protokoll (hab ich jetzt mal 9600 und XON XOFF gewählt) einstellen. Muss ich da bei der Parität "beliebig" wählen?

Was ist das "AG"?

Kabel musste ich leider ein anderes nehmen, da PC->CP female->female und PC->Drucker female->male ist. Da hab ich einfach das Nullmodemkabel von Siemens jetzt genommen. Hoffe das ist nicht falsch?!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
eben nochmal probiert, RCV leuchtet, aber mein db10 füllt sich einfach nicht mit den daten.
Müssten doch da aber eigentlich zu sehen sein, wenn ich online die brille anmache (also den Beobachtenmodus)
DB 10 ist übrigens noch komplett leer gelassen, ist doch richtig oder muss ich da schon irgend was vorher reinschreiben?
 
eben nochmal probiert, RCV leuchtet, aber mein db10 füllt sich einfach nicht mit den daten.
Müssten doch da aber eigentlich zu sehen sein, wenn ich online die brille anmache (also den Beobachtenmodus)
DB 10 ist übrigens noch komplett leer gelassen, ist doch richtig oder muss ich da schon irgend was vorher reinschreiben?

Wie groß ist der DB 10?
 
siehe anhang, halt ein ganz normaler, leerer DB, auch von der größe her
 

Anhänge

  • Unbenannt1.bmp
    565,6 KB · Aufrufe: 57
Zuviel Werbung?
-> Hier kostenlos registrieren
welches format hat der db, bei einem strin wird nix gespeichert

schreib mal so
Code:
U(    
      O     M      1.0
      ON    M      1.0
      )     
      =     L     20.0
      BLD   103
      CALL  "P_RCV" , DB2
       EN_R  :=L20.0
       R     :=
       LADDR :=272
       DB_NO :=10
       DBB_NO:=0
       NDR   :=[COLOR=Red]m200.0[/COLOR]
       ERROR :=
       LEN   :=[COLOR=Red]mw210[/COLOR]
       STATUS:=
      NOP   0

      [COLOR=Red]U     M    200.0
      FP    M    200.1
      SPBNB nix
      L     MW   210
      T     MW   202      // Länge der empfangenen Daten
      s     m200.2        // Es wurden Daten empfangen
nix : NOP   0[/COLOR]
 
dB db IST FALSCH:
Du musst den so deklarien
DB öffnen
1. Zeile
Daten Array [1..500] of char
 

Anhänge

  • db.jpg
    db.jpg
    13,4 KB · Aufrufe: 66
Zurück
Oben