Printer & Spool
Concept
การพิมพ์ จะต้องมีองค์ประกอบขั้นต้นตามนี้A. สร้าง Printer Device
จับคู่ Printer เครื่องจริง กับ ชื่อ Printer Device (iSeries มองผ่าน ชื่อนี้)
B. สั่งให้ Printer Device ทำงาน
จับคู่ Printer Device + Output Queue (OutQ) + Message Queue (MsgQ)
- OutQ = ที่เก็บ Spool File มักจะสร้างให้เรียกใช้/จำง่าย
เช่น ชื่อเหมือน Printer Device เป็นต้น - MsgQ = ช่องทางที่ iSeries จะพูดผ่าน ("ให้ตั้งกระดาษ ก่อนแล้วกด I" เป็นต้น)
เช่น *Default = QSYSOPR , MsgQ ของ UserProfile , MsgQ ของ WorkStation
D. จัดการกับ "กระดาษ" (Form)
A. สร้าง Printer Device
ปรกติ จะทำโดย SysOpr - Dev ก็แค่รู้ไว้ครับ บางจุดถ้ารู้ก็จัดการได้
ทำได้หลายวิธี
สร้างผ่าน sw: CA/400 ทำเหมือนกับ สร้าง WorkStation
โดยเปลี่ยน จาก Display เป็น Printer
เมื่อกด [Setup] จะปรากฏหน้าจอนี้
(แทนหน้าจอ เข้าใช้งาน)
*** จุดนี้ จะ auto ทำข้อ B. ให้ด้วย โดยสร้าง OutQ ที่ชื่อเหมือน Printer ให้
ด้าน iSeries จะสร้าง Printer Device โดยสามารถดูได้ผ่าน คำสั่งนี้ (cmd)
DSPDEVD QBP034A

เนื่องจากตอนสร้าง ระบุ MsgQ = QSYSOPR จะบันทึกตามนั้น

การสร้างแบบนี้ CA/400 จะ auto Start Printer Writer ให้ (ทำข้อ B. ให้ด้วย)
B. สั่งให้ Printer Device ทำงาน
# จากข้างต้น มันทำงานไปแล้ว ต้อง หยุดการทำงานก่อน
ด้วยคำสั่ง (cmd) EndWtr QBP034A
สั่งผ่านคำสั่ง(cmd) StrPrtWtr QBP034A

OutQ = *DEV หมายถึง ชื่อใช้ตาม DEV (ด้านบน)
MsgQ = *DEVD หมายถึง ไปดูที่ Device Description
การตรวจดูสถานะ ด้วยคำสั่ง WrkCfgSts *Dev QBP034A

A1: Thai SysOpr มักจะเปลี่ยนชื่อ PC เป็น นำหน้าด้วย "Q"
Q2: จะพิมพ์ ต้องส่ง/โอน Spool ไปที่ OutQ ชื่ออะไร (ที่ผูกกับ Printer Device นี้)
A2: ถ้า Printer Dev Start แล้ว ใช้คำสั่ง WrkWtr xxxx ดูว่า OutQ อะไร ผูกกับ Printer
ถ้า Printer Dev ยังไม่ Start สั่ง Start ด้วย StrPrtWtr xxxx เปลี่ยน OutQ ที่จุดนี้ได้
Q3: ทำอย่างไร ก็ไม่พิมพ์ (ทำข้างบนครบแล้ว)
A3: ตรวจเพิ่ม รายละเอียด (ปรกติไม่ตรวจกัน)
Printer Dev ถูกลบ หรือ Vary Off ? ,มีใคร Hold Writer ,Hold OutQ หรือไม่ ?
Q4: ตั้งกระดาษ ยุ่งยากมาก มีวิธี "ลดเวลามั๊ย"
A4: ชนิดกระดาษ มีไม่กี่แบบ และ ตำแหน่งกระดาษเริ่มต้น มักจะตายตัว
เมื่อตั้งถูกต้องแล้ว ให้ "ขีดเส้น" จุดเริ่มต้นไว้
A. สร้าง Printer Device
จับคู่ Printer เครื่องจริง กับ ชื่อ Printer Device
ปรกติ จะทำโดย SysOpr - Dev ก็แค่รู้ไว้ครับ บางจุดถ้ารู้ก็จัดการได้ทำได้หลายวิธี
- (ใช้บ่อย) ต่อ Printer เครื่องจริง ผ่าน PC ที่ลง sw: CA/400
sw จะทำหน้าที่ติดต่อกับ iSeries ให้ (ถ้าปิด PC ก็จะพิมพ์ไม่ได้) - ผ่าน กล่องเล็กๆ (Network Emulator) ต่อหลัง Printer เครื่องจริง มีช่องใส่สาย Network
กล่องเล็กๆ ทำหน้าที่ "ตั้งชื่อ IP Address" (แทนการใช้ sw:CA/400)
- มักใช้กับ Line Printer (เครื่องพิมพ์ ความเร็วสูง) หรือ ไม่ต้องการต่อกับ PC - (วิธีเก่า น่าจะไม่มีให้เห็นแล้ว) การต่อสายโดยตรงจาก iSeries มาที่ Printer
ตัวสายโดยตรงจาก iSeries จะมี รหัสติดต่อ เช่น ControllerID=?
Printer จะต้องมีการ Set Address (ระหว่าง 0-7) ที่ตัว Printer (รุ่นเก่า ด้วย dip switch, รุ่นถัดมา Printer จะมีหน้าจอให้ Set, ถัดไป ทำผ่าน Telnet หรือ remote ไปที่ กล่อง/printer)
สร้างผ่าน sw: CA/400 ทำเหมือนกับ สร้าง WorkStation
โดยเปลี่ยน จาก Display เป็น Printer
เมื่อกด [Setup] จะปรากฏหน้าจอนี้
เมื่อสร้างเสร็จ
CA/400 จะแสดงหน้าจอ Panel (Printer) และ หน้าจอ Config ของ Printer Device(แทนหน้าจอ เข้าใช้งาน)
*** จุดนี้ จะ auto ทำข้อ B. ให้ด้วย โดยสร้าง OutQ ที่ชื่อเหมือน Printer ให้
- Panel Printer - กด Start/Stop ได้
ด้าน iSeries จะสร้าง Printer Device โดยสามารถดูได้ผ่าน คำสั่งนี้ (cmd)
DSPDEVD QBP034A
เนื่องจากตอนสร้าง ระบุ MsgQ = QSYSOPR จะบันทึกตามนั้น
การสร้างแบบนี้ CA/400 จะ auto Start Printer Writer ให้ (ทำข้อ B. ให้ด้วย)
B. สั่งให้ Printer Device ทำงาน
จับคู่ Printer Device + Output Queue (OutQ) + Message Queue (MsgQ)
# จากข้างต้น มันทำงานไปแล้ว ต้อง หยุดการทำงานก่อนด้วยคำสั่ง (cmd) EndWtr QBP034A
สั่งผ่านคำสั่ง(cmd) StrPrtWtr QBP034A
OutQ = *DEV หมายถึง ชื่อใช้ตาม DEV (ด้านบน)
MsgQ = *DEVD หมายถึง ไปดูที่ Device Description
การตรวจดูสถานะ ด้วยคำสั่ง WrkCfgSts *Dev QBP034A
D. จัดการกับ "กระดาษ" (Form ,MsgQ)
iSeries จะไม่รู้ว่า
- "ใส่กระดาษ" ถูกต้องหรือไม่ ?
Printer จำขนาดกระดาษถูกต้องหรือไม่ ?
กระดาษ A4 ยาว 11.7 นิ้ว, B4 ยาว 13.9 นิ้ว, กระดาษ Inv-Tag ยาว ...
Printer ต้อง Load (จำ) ความยาว เมื่อ กดปุ่ม FormFeed จะ เลื่อนกระดาษตามที่จำไว้
Tip รูปแบบกระดาษ ควรจะตั้งชื่อ FormType - "(ตรวจ) บรรทัดแรก "พิมพ์" ถูกตำแหน่งหรือไม่ ?"
ถ้าไม่ตรง ก็ปรับแล้ว ทดสอบพิมพ์ซ้ำ เมื่อตรงให้พิมพ์ปรกติ
วิธีสื่อสารคือ หยุดถาม "คนสั่งพิมพ์" ผ่าน MsgQ
- "ใส่กระดาษ" ถูกต้องหรือไม่ ? Load from Type ...
ตรวจจากชื่อ FormType ใน แต่ละ Spool File
Spool ตัวใหม่ ถ้าพบว่า FormType ไม่เหมือนก่อนหน้า จะถาม
- "(ตรวจ) บรรทัดแรก "พิมพ์" ถูกตำแหน่งหรือไม่ ?" Verify Alignment ...
เปลี่ยน FormType ต้อง "ตรวจเสมอ"
FAQ
Q1: Printer เครื่องจริง นี้ Printer Device ชื่ออะไร ?A1: Thai SysOpr มักจะเปลี่ยนชื่อ PC เป็น นำหน้าด้วย "Q"
Q2: จะพิมพ์ ต้องส่ง/โอน Spool ไปที่ OutQ ชื่ออะไร (ที่ผูกกับ Printer Device นี้)
A2: ถ้า Printer Dev Start แล้ว ใช้คำสั่ง WrkWtr xxxx ดูว่า OutQ อะไร ผูกกับ Printer
ถ้า Printer Dev ยังไม่ Start สั่ง Start ด้วย StrPrtWtr xxxx เปลี่ยน OutQ ที่จุดนี้ได้
Q3: ทำอย่างไร ก็ไม่พิมพ์ (ทำข้างบนครบแล้ว)
A3: ตรวจเพิ่ม รายละเอียด (ปรกติไม่ตรวจกัน)
Printer Dev ถูกลบ หรือ Vary Off ? ,มีใคร Hold Writer ,Hold OutQ หรือไม่ ?
Q4: ตั้งกระดาษ ยุ่งยากมาก มีวิธี "ลดเวลามั๊ย"
A4: ชนิดกระดาษ มีไม่กี่แบบ และ ตำแหน่งกระดาษเริ่มต้น มักจะตายตัว
เมื่อตั้งถูกต้องแล้ว ให้ "ขีดเส้น" จุดเริ่มต้นไว้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น