แนะนำโมดูลสื่อสารอนุกรม 1769-ASCII
โมดูล 1769-ASCII ทำหน้าที่เป็นสะพานสำคัญระหว่างคอนโทรลเลอร์ CompactLogix กับอุปกรณ์ภาคสนามที่รองรับการสื่อสารแบบอนุกรม โซลูชันอินเทอร์เฟซนี้ช่วยให้แลกเปลี่ยนข้อมูลกับเครื่องสแกนบาร์โค้ด เครื่องพิมพ์ เครื่องชั่งน้ำหนัก และอุปกรณ์วัดแบบเก่าได้อย่างราบรื่น การเข้าใจโครงสร้างคำสั่งอ่าน/เขียนเป็นสิ่งจำเป็นสำหรับวิศวกรควบคุมที่ทำงานในสภาพแวดล้อมอัตโนมัติในโรงงาน
สถาปัตยกรรมฮาร์ดแวร์และมาตรฐานการสื่อสาร
อุปกรณ์เสริม CompactLogix นี้รองรับมาตรฐานชั้นกายภาพสามแบบ ได้แก่ RS-232, RS-422 และ RS-485 ตัวเลือกแต่ละแบบให้ความยืดหยุ่นสำหรับระยะทางและความต้านทานต่อสัญญาณรบกวนที่แตกต่างกัน โมดูลรองรับข้อมูลสูงสุด 1024 ไบต์ต่อการทำธุรกรรม เหมาะสำหรับความต้องการส่งข้อความในอุตสาหกรรมส่วนใหญ่ ระบบบัฟเฟอร์ FIFO ขนาด 2 KB จัดการการไหลของข้อมูลอย่างมีประสิทธิภาพในช่วงเวลาที่มีการส่งข้อมูลสูง วิศวกรสามารถตั้งค่าความเร็วบอด (baud rate), parity, stop bits และความยาวข้อมูลผ่าน Studio 5000
การดำเนินการอ่านด้วยคำสั่ง ASCII
ฟังก์ชันบล็อก ASCII Read (ARD) ดึงข้อมูลอนุกรมที่เข้ามาภายในลอจิกของคอนโทรลเลอร์ ผู้ใช้ต้องกำหนดช่องทาง 0 เป็นพอร์ตสื่อสารหลักสำหรับทุกการทำงาน แท็กปลายทางชนิดสตริงเก็บข้อมูลที่ได้รับ โดยมีความยาวเพียงพอสำหรับขนาดข้อความที่คาดหวัง พารามิเตอร์จำนวนตัวอักษรจำกัดจำนวนไบต์สูงสุดที่ดึงในแต่ละสแกนเพื่อป้องกันบัฟเฟอร์ล้น ตัวอย่างเช่น โปรแกรมเมอร์มักระบุ ARD(Channel:=0, Destination:=MyString, Characters:=80) สำหรับแอปพลิเคชันบาร์โค้ดทั่วไป แต่ละรอบการอ่านใช้เวลาประมาณ 15 ถึง 20 มิลลิวินาทีของเวลาสแกนคอนโทรลเลอร์ สำหรับข้อความที่มีการขึ้นบรรทัด คำสั่ง ASCII Read Line (ARL) จะให้การป้องกันหมดเวลารอ
การส่งข้อมูลผ่านคำสั่งเขียน
คำสั่ง ASCII Write (AWT) ส่งข้อมูลจากคอนโทรลเลอร์ไปยังอุปกรณ์อนุกรมภายนอก แท็กต้นทางเก็บข้อมูลที่ต้องการส่งออก ขณะที่พารามิเตอร์ความยาวกำหนดขนาดการส่ง การใช้งานทั่วไปใช้ AWT(Channel:=0, Source:=OutString, Length:=LEN(OutString)) สำหรับการจัดการข้อความแบบไดนามิก การเขียนเสร็จภายใน 10 มิลลิวินาทีสำหรับแพ็กเก็ตขนาด 256 ไบต์ที่ความเร็วบอดมาตรฐาน เปิดใช้งานตัวเลือก append เพื่อเพิ่ม carriage return และ line feed อัตโนมัติเมื่ออุปกรณ์ที่เชื่อมต่อกำหนด

กลยุทธ์การจัดการบัฟเฟอร์เพื่อการไหลของข้อมูลที่เชื่อถือได้
บัฟเฟอร์อินพุตและเอาต์พุตแยกกัน แต่ละบัฟเฟอร์เก็บข้อมูลได้ 1024 ไบต์ จัดการการสื่อสารสองทิศทาง บิตสถานะที่ 5 แจ้งสถานะบัฟเฟอร์เต็ม เตือนโปรแกรมเมอร์ถึงความเสี่ยงการสูญเสียข้อมูล คำสั่ง ASCII Clear Buffer (ACB) ล้างข้อมูลที่ยังไม่ได้อ่านเมื่อจำเป็น วิศวกรต้องจับคู่ช่วงเวลาการโพลกับความเร็วบอดเพื่อประสิทธิภาพสูงสุด ที่ 9600 baud โมดูลประมวลผลข้อมูลประมาณ 960 ไบต์ต่อวินาที การใช้ RTS/CTS handshaking ช่วยควบคุมการไหลของข้อมูลอย่างมั่นคงในสภาพแวดล้อมอุตสาหกรรมที่มีสัญญาณรบกวน
รหัสวินิจฉัยและเทคนิคแก้ไขข้อผิดพลาด
โมดูลรายงานสถานะข้อผิดพลาดผ่าน Status word ที่ออฟเซ็ตที่อยู่ 0 รหัสข้อผิดพลาด 0x0001 หมายถึงข้อผิดพลาด framing จากการตั้งค่าความเร็วบอดไม่ถูกต้อง รหัส 0x0002 แจ้งสถานะ overrun เมื่อข้อมูลเข้ามามากกว่าความจุบัฟเฟอร์ ความไม่ตรงกันของ parity สร้างข้อผิดพลาด 0x0004 ต้องตรวจสอบการตั้งค่าอุปกรณ์ การตรวจสอบบิต Active (บิต 0) ยืนยันการทำงานปกติของโมดูล คำสั่ง Get System Value (GSV) ดึงข้อมูลสถานะโดยละเอียดสำหรับการแก้ไขปัญหา
การใช้งานจริง: การเชื่อมต่อเครื่องสแกนบาร์โค้ด
ตั้งค่าโมดูล 1769-ASCII ที่ 9600 baud, 8 data bits, no parity และ 1 stop bit เมื่อเชื่อมต่อกับเครื่องสแกนบาร์โค้ดมาตรฐาน กำหนดความยาวการอ่านเป็น 50 ตัวอักษรเพื่อจับรหัสประจำสินค้าทั่วไป ดำเนินการคำสั่ง ARD ภายในงานที่ทำซ้ำทุก 100 มิลลิวินาทีเพื่อประสิทธิภาพการสแกนที่สม่ำเสมอ เก็บข้อมูลที่รับในแท็กสตริงชื่อ Barcode_Data สำหรับการประมวลผลต่อไป ใช้คำสั่ง MID และ FIND เพื่อแยกและตรวจสอบข้อมูลที่สแกน สุดท้ายส่งคำสั่งเขียนเพื่อยืนยันการสแกนสำเร็จด้วยข้อความตอบกลับ
ตัวอย่างแอปพลิเคชัน: การสื่อสารกับเครื่องพิมพ์อนุกรม
เริ่มต้นการเชื่อมต่อเครื่องพิมพ์ที่ 19200 baud พร้อมเปิดใช้งานการควบคุมการไหลของฮาร์ดแวร์เพื่อความน่าเชื่อถือในการผลิตฉลาก สร้างแท็กสตริง Print_Buffer ที่เก็บข้อมูลรายงานในรูปแบบที่จัดเตรียมไว้ ดำเนินการคำสั่ง AWT ด้วยความยาว 200 ตัวอักษรสำหรับรูปแบบฉลากมาตรฐาน เพิ่มตัวอักษร line feed (0x0A) เป็นลำดับสิ้นสุดที่เครื่องพิมพ์ส่วนใหญ่คาดหวัง ตรวจสอบบิต Done เพื่อยืนยันการส่งข้อมูลสำเร็จ ใช้ตัวนับการลองใหม่เพื่อจัดการกับความล้มเหลวในการเขียนเป็นครั้งคราวโดยไม่รบกวนการผลิต
การปรับแต่งประสิทธิภาพสำหรับแอปพลิเคชันความเร็วสูง
ลดความยาวการอ่านเหลือ 20 ไบต์เมื่อทำงานที่ความเร็วเกิน 115200 baud เพื่อเพิ่มอัตราการส่งข้อมูลสูงสุด การอ่านแบบอะซิงโครนัสโดยใช้บิต DN ป้องกันการบล็อกลูปหลักในระหว่างรอบการสื่อสาร รวมคำสั่งเขียนหลายคำสั่งเป็นสตริงรวมเพื่อลดจำนวนการเรียกคำสั่งและภาระงาน ที่ 115200 baud อัตราการส่งข้อมูลทฤษฎีสูงถึงประมาณ 11,520 ไบต์ต่อวินาที ปรับช่วงเวลาภาระงานระบบเป็น 20% เพื่อสมดุลประสิทธิภาพในทุกงาน ใช้เครื่องมือ Task Monitor ใน Studio 5000 เพื่อติดตามผลกระทบของเวลาสแกน
การตั้งค่าขั้นสูงด้วยคำสั่ง MSG
คำสั่ง MSG ช่วยให้เปลี่ยนการตั้งค่าแบบไดนามิกโดยไม่ต้องเขียนโปรแกรมคอนโทรลเลอร์ใหม่ กำหนดข้อความ Generic Get Attribute Single ด้วยรหัสคลาส 0x04 และหมายเลขอินสแตนซ์ที่ตรงกับตำแหน่งสลอต แอตทริบิวต์ 0x64 คืนค่าการตั้งค่าพอร์ตอนุกรมปัจจุบันเพื่อตรวจสอบ ใช้ Generic Set Attribute Single กับแอตทริบิวต์ 0x65 เพื่อแก้ไขการตั้งค่าแบบทันที วิธีนี้ช่วยให้เปลี่ยนความเร็วบอดระหว่างการทำงาน เพิ่มความยืดหยุ่นของระบบ

การหลีกเลี่ยงข้อผิดพลาดทั่วไปในการใช้งาน
ตรวจสอบขาเชื่อมต่อสายเคเบิลให้ตรงกับการตั้งค่า DTE หรือ DCE ของโมดูลก่อนเชื่อมต่ออุปกรณ์ การต่อกราวด์อย่างถูกต้องช่วยป้องกันข้อผิดพลาดจากสัญญาณรบกวนที่ทำให้การสื่อสารอนุกรมเสียหาย ล้างแท็กสตริงปลายทางก่อนการอ่านแต่ละครั้งเพื่อกำจัดข้อมูลตกค้าง ใช้เวลาหมดเวลา 500 มิลลิวินาทีเพื่อป้องกันการรอคอยไม่สิ้นสุดในสภาพแวดล้อมที่มีสัญญาณรบกวนทางไฟฟ้า ยืนยันเวอร์ชันเฟิร์มแวร์รองรับคำสั่งทั้งหมดที่ต้องการเพื่อการทำงานที่เชื่อถือได้ ทดสอบวงจรย้อนกลับด้วยสายจัมเปอร์เพื่อตรวจสอบความสมบูรณ์ของฮาร์ดแวร์ก่อนใช้งานจริง
ตัวชี้วัดประสิทธิภาพจากสภาพแวดล้อมการผลิต
การทดสอบภาคสนามแสดงอัตราความสำเร็จในการอ่าน 99.7% สำหรับข้อมูลที่มีความยาวต่ำกว่า 50 ตัวอักษร ความล้มเหลวในการเขียนเกิดขึ้นน้อยกว่า 0.5% ของการทำงานที่ 38400 baud เวลาตอบสนองเฉลี่ยวัดได้ 18 มิลลิวินาทีสำหรับการอ่านและ 12 มิลลิวินาทีสำหรับการเขียนภายใต้สภาวะปกติ การใช้งานบัฟเฟอร์อยู่ต่ำกว่า 40% ในสถานการณ์การผลิตทั่วไป ภาระงาน CPU เพิ่มขึ้นประมาณ 3% เมื่อดำเนินการคำสั่ง ASCII ในงานที่ใช้เวลา 10 มิลลิวินาที ตัวชี้วัดเหล่านี้สะท้อนการทดสอบในสภาพแวดล้อมการผลิตกว่า 500 ชั่วโมง
ข้อควรพิจารณาเกี่ยวกับเฟิร์มแวร์และความเข้ากันได้ของเวอร์ชัน
เฟิร์มแวร์เวอร์ชัน 3.002 ขึ้นไปรองรับความยาวสตริงขยายสูงสุดถึง 2048 ไบต์ เวอร์ชันเก่าจำกัดจำนวนตัวอักษรไว้ที่ 82 ไบต์ต่อคำสั่ง จำกัดขนาดข้อความ ไฟ LED แสดงสถานะด้วยสีเขียวหมายถึงการสื่อสารปกติ ขณะที่ไฟแดงกระพริบหมายถึงการตั้งค่าที่ไม่ตรงกัน ดูเอกสาร Rockwell Automation หมายเลข 1769-UM004 สำหรับข้อมูลทางเทคนิคครบถ้วน ควรสำรองข้อมูลโปรเจกต์ก่อนอัปเกรดเฟิร์มแวร์เพื่อป้องกันการสูญหายของข้อมูล
แนวทางปฏิบัติที่ดีที่สุดสำหรับการเขียนโปรแกรมสื่อสาร ASCII
จัดโครงสร้างโค้ดด้วยรูทีนจัดการ ASCII โดยเฉพาะเพื่อความชัดเจนและง่ายต่อการบำรุงรักษา ใช้ตรรกะเครื่องสถานะเพื่อจัดการลำดับการอ่าน/เขียนอย่างเชื่อถือได้ตลอดรอบสแกน บันทึกพารามิเตอร์การตั้งค่าทั้งหมดในฐานข้อมูลแท็กของคอนโทรลเลอร์เพื่ออ้างอิงในอนาคต ทดสอบคำสั่งแต่ละคำสั่งแยกกันก่อนรวมเข้ากับลอจิกทั้งหมด ตรวจสอบตัวนับข้อผิดพลาดเป็นประจำเพื่อระบุปัญหาที่เกิดขึ้นล่วงหน้า ส่งข้อความ heartbeat ทุกนาทีเพื่อตรวจสอบการเชื่อมต่ออุปกรณ์และสุขภาพของระบบ
สถานการณ์การใช้งาน: การรวมระบบ Manufacturing Execution System
ผู้ผลิตชิ้นส่วนยานยนต์ได้รวมโมดูล 1769-ASCII เพื่อเชื่อมต่อเครื่องสแกนบาร์โค้ดที่สถานีประกอบ ระบบอ่านหมายเลขประจำรถและส่งข้อมูลไปยังฐานข้อมูล MES กลาง คำสั่งเขียนส่งคำสั่งการผลิตกลับไปยังเทอร์มินัลผู้ปฏิบัติงาน การใช้งานนี้ลดข้อผิดพลาดในการป้อนข้อมูลลง 95% และเพิ่มความสามารถในการติดตามได้อย่างมีประสิทธิภาพ โซลูชันรองรับการสแกนมากกว่า 500 ครั้งต่อกะด้วยความน่าเชื่อถือ 99.9%
คำถามที่พบบ่อย
ถาม 1: ขนาดข้อมูลสูงสุดสำหรับการอ่าน/เขียนของ 1769-ASCII คือเท่าไร?
โมดูลรองรับข้อมูลสูงสุด 1024 ไบต์ต่อการอ่านหรือเขียนด้วยเฟิร์มแวร์เวอร์ชัน 3.002 ขึ้นไป เวอร์ชันเก่าจำกัดการถ่ายโอนที่ 82 ไบต์ต่อคำสั่ง
ถาม 2: จะจัดการกับสถานะบัฟเฟอร์ล้นอย่างไร?
ตรวจสอบบิตสถานะที่ 5 เพื่อดูสัญญาณบัฟเฟอร์เต็ม ใช้คำสั่ง ACB เพื่อล้างข้อมูลที่ยังไม่ได้อ่าน และใช้การจับมือ RTS/CTS เพื่อป้องกันสถานการณ์บัฟเฟอร์ล้น
ถาม 3: สาเหตุของข้อผิดพลาด framing บนโมดูล 1769-ASCII คืออะไร?
ข้อผิดพลาด framing (รหัส 0x0001) มักเกิดจากความไม่ตรงกันของความเร็วบอดระหว่างโมดูลกับอุปกรณ์ที่เชื่อมต่อ ตรวจสอบให้แน่ใจว่าอุปกรณ์ทั้งสองใช้ความเร็วบอด, จำนวนบิตข้อมูล, parity และ stop bit เหมือนกัน
ถาม 4: สามารถเปลี่ยนการตั้งค่าพอร์ตอนุกรมโดยไม่ต้องเขียนโปรแกรมใหม่ได้หรือไม่?
ได้ ใช้คำสั่ง MSG กับ Generic Set Attribute Single เพื่อแก้ไขพารามิเตอร์การตั้งค่าในขณะรันไทม์ วิธีนี้ช่วยให้เปลี่ยนความเร็วบอดและการตั้งค่าอื่น ๆ ได้โดยไม่ต้องเขียนโปรแกรมคอนโทรลเลอร์ใหม่
ถาม 5: คำสั่ง ASCII ใช้เวลาสแกนเท่าไร?
การอ่านทั่วไปใช้เวลาประมาณ 15-20 มิลลิวินาทีของเวลาสแกนคอนโทรลเลอร์ ขณะที่การเขียนเสร็จภายใน 10 มิลลิวินาทีสำหรับข้อมูลมาตรฐาน ค่านี้ขึ้นอยู่กับความเร็วบอดและความยาวข้อความ
ข้อมูลติดต่อ
สำหรับการสนับสนุนทางเทคนิคและสอบถามผลิตภัณฑ์:
อีเมล: sales@nex-auto.com
WhatsApp: +86 153 9242 9628
พันธมิตร
NexAuto Technology Limited: https://www.nex-auto.com/
ตรวจสอบสินค้ายอดนิยมด้านล่างสำหรับข้อมูลเพิ่มเติมที่ AutoNex Controls














