Omron CX-Programmer with Zebra ZT610 Printer Issues

kevilay

Member
Join Date
Feb 2009
Location
Ontario
Posts
174
Hello !

I am trying to use an omron cj2m-cpu33 with a CP1W-CIF01 plug in serial connector to talk to a zebra ZT610 printer. I am getting the data light flashing on the serial card but not getting the data light on the printer itself.

I have wired the serial cable as follows
PLC (DTE) Printer (DCE)
2 (TXD) -----------------> 3 (RXD)
3 (RXD) -----------------> 2 (TXD)
9 (GND) -----------------> 5 (GND)
PLC pin 4/5 are jumped

I have tested this cable for shorts and continuity with a volt meter.

For the PLC I am using a TXD instruction. My control word is all set to 0 as I am using the CPU plug in module. I have the number of bytes set to &57 and my "TestString" variable contains the following:
^XA^CF0,40^FX Upper text^FO0,0^TBN,299.974,66.802^FD0,0^FS^XZ

The above string works from the zebra printer ultility using ethernet communication.

Here is my PLC Settings under Serial Port:

Custom Baud 9600 Format 8,1,E
Mode RS-232C
Start Code Disable
End Code Receieved Bytes 256
Delay 0

Here is my printer configuration:
+10.0 DARKNESS
0.5 IPS PRINT SPEED
+000 TEAR OFF ADJUST
TEAR OFF PRINT MODE
GAP/NOTCH MEDIA TYPE
TRANSMISSIVE SENSOR SELECT
THERMAL-TRANS. PRINT METHOD
480 PRINT WIDTH
0400 LABEL LENGTH
P1085889/00948 6 PRINT HEAD ID
15.0IN 380MM MAXIMUM LENGTH
MAINT. OFF EARLY WARNING
NOT CONNECTED USB COMM.
BIDIRECTIONAL PARALLEL COMM.
RS232 SERIAL COMM.
9600 BAUD
8 BITS DATA BITS
EVEN PARITY
XON/XOFF HOST HANDSHAKE
NONE PROTOCOL
NORMAL MODE COMMUNICATIONS
<~> 7EH CONTROL PREFIX
<^> 5EH FORMAT PREFIX
<,> 2CH DELIMITER CHAR
ZPL II ZPL MODE
INACTIVE COMMAND OVERRIDE
CALIBRATION MEDIA POWER UP
CALIBRATION HEAD CLOSE
DEFAULT BACKFEED
+000 LABEL TOP
+0000 LEFT POSITION
OFF APPLICATOR PORT
ENABLED ERROR ON PAUSE
PULSE MODE START PRINT SIG
DISABLED REPRINT MODE
047 WEB SENSOR
080 MEDIA SENSOR
055 RIBBON SENSOR
255 TAKE LABEL
027 MARK SENSOR
027 MARK MED SENSOR
002 TRANS GAIN
006 TRANS BASE
035 TRANS LED
013 RIBBON GAIN
002 MARK GAIN
053 MARK LED
DPCSWFXM MODES ENABLED
........ MODES DISABLED
2496 24/MM FULL RESOLUTION
6.4 LINK-OS VERSION
V80.20.23Z <- FIRMWARE
1.3 XML SCHEMA
6.6.0 22.98 HARDWARE ID
32768k...........R: RAM
524288k..........E: ONBOARD FLASH
NONE FORMAT CONVERT
FW VERSION IDLE DISPLAY
02/29/24 RTC DATE
21:47 RTC TIME
DISABLED ZBI
2.1 ZBI VERSION
READY ZBI STATUS
228 LABELS NONRESET CNTR
228 LABELS RESET CNTR1
228 LABELS RESET CNTR2
506 IN NONRESET CNTR
507 IN RESET CNTR1
507 IN RESET CNTR2
1,287 CM NONRESET CNTR
1,287 CM RESET CNTR1
1,287 CM RESET CNTR2
*** EMPTY SLOT 1
*** EMPTY SLOT 2
0 MASS STORAGE COUNT
0 HID COUNT
OFF USB HOST LOCK OUT

Please let me know if you have any suggestions or ideas
Kevin
 
If you are dealing with serial why tested with Ethernet? Get Putty to test it.

Change both sides to 7 data bit,1stop bit ,Even.
 
To L33er's point, you should get the printer working on the serial port first with a terminal program. Putty works, I prefer Realterm because it shows the carriage returns and line feeds. There are many to choose from.

Next, use the terminal program to read from the PLC using the TXD instruction.

When they both look good, put them together.
 
I agree with both of you. I have tried doing 7/1/E as well. However I just didn't have a serial interface on my laptop to test with. The cable itself would need to be different as well.
 
I did realize that I needed to hook up pin 2 to pin 2 on the printer and 3 to 3. The actual pin outs are flipped on the printer. Now I have a data received light, but it doesnt shut off and still no label.
 
I did realize that I needed to hook up pin 2 to pin 2 on the printer and 3 to 3. The actual pin outs are flipped on the printer. Now I have a data received light, but it doesnt shut off and still no label.
So now I am sucessfully creating a label. Even tho I was sending 57 characters setting the bytes to 57 was causing the light to be stuck on. When I set the length to 255 it prints correctly.

Now the next step is to figure out how to take the 310 character ZPL language and make it work with a 255 character limit on the omron serial port. Do you know if you can break up ZPL?
 
Why not use the direct Ethernet comm.?
For a couple reasons. Ethernet IP is not supported unless you buy some special module for the printer that takes a long time. Its not really a great solution when you have so many printers in a facility. The printer does support TCP/IP which is good for a newer NX102 or something like that but the CJ2M-CPU33 doesnt support TCP/IP unless you buy the ethernet module (around 1000$) so serial seems like a good option for this old processors.
 
So now I am sucessfully creating a label. Even tho I was sending 57 characters setting the bytes to 57 was causing the light to be stuck on. When I set the length to 255 it prints correctly.

Now the next step is to figure out how to take the 310 character ZPL language and make it work with a 255 character limit on the omron serial port. Do you know if you can break up ZPL?
I was able to get this working by sending two strings back to back with 100ms delay
 

Similar Topics

I am using a function block that has a in/out parameter that is a structure. The structure has an array as one of the elements. I can index the...
Replies
1
Views
738
Is there a way in CX-Programmer to call Ladder Instructions from a structured text program? I can see several functions in the autocomplete...
Replies
3
Views
1,974
Is there a way in CX-Programmer to call functions from a structured text program? I have found this manual that seems to describe the process...
Replies
1
Views
1,062
Is there a way in CX-Programmer to initialise an array? Set all values to zero or false depending on the data type Solutions in Ladder and...
Replies
2
Views
1,293
Is there a way in CX-Programmer to ad UINTs together with an instruction without a compiler warning. Ladder Rung: Warning: Instructions...
Replies
2
Views
1,255
Back
Top Bottom