RSLogix 500: การย้ายค่า ACC ของ Timer ไปยังค่า PRE ของ Timer อีกตัว
การเขียนโปรแกรมตัวตั้งเวลาใน RSLogix 500: จับค่า ACC ของตัวตั้งเวลาที่กำลังทำงาน แล้วโอนไปยังค่า PRE ของตัวตั้งเวลาอีกตัว เพื่อจำลองประตูแบบกลับทิศทางได้พร้อ...
การจำลองการเคลื่อนที่แบบสองทิศทางใน RSLogix 500 มักต้องใช้ตัวตั้งเวลาที่ทำงานเป็นระยะเวลาเท่ากับเวลาที่ใช้เคลื่อนที่ในทิศทางตรงข้ามไปแล้ว กรณีคลาสสิกคือชุดฝึกประตูโรงรถ: หากโฟโตอายทำงานหลังจากเคลื่อนที่ลงไปสามวินาที การเคลื่อนที่ย้อนขึ้นต้องทำงานสามวินาที ไม่ใช่ใช้ค่าพรีเซ็ตหกวินาทีที่กำหนดตายตัว ข้อกำหนดนี้ไม่สามารถทำได้ด้วยการแก้ไขแอคคิวมูเลเตอร์ของตัวตั้งเวลาต้นทาง ค่า .ACC ที่ใช้งานอยู่จะถูกคำสั่งตัวตั้งเวลาเขียนทับในทุกสแกนขณะที่รางเป็นจริง รูปแบบที่คงทนคือจับค่า .ACC ลงในจำนวนเต็มเมื่อเกิดขอบสัญญาณด้วย one-shot จากนั้นเขียนจำนวนเต็มนั้นลงใน .PRE ของตัวตั้งเวลาปลายทางก่อนเปิดใช้งานการเคลื่อนที่ย้อนกลับ
อ่านค่า .ACC พักค่าไว้ผ่าน N7 แล้วเขียนลง .PRE—อย่าถือว่าแอคคิวมูเลเตอร์เป็นค่าตั้งถาวร
โครงสร้างไฟล์ตัวตั้งเวลา
ตัวตั้งเวลา SLC แต่ละตัวใช้สามเวิร์ด ได้แก่ บิตสถานะ (EN/TT/DN), .PRE และ .ACC ฐานเวลาคือ 0.01 วินาที, 0.1 วินาที หรือ 1.0 วินาที หากใช้ฐานเวลา 0.01 วินาที ค่าพรีเซ็ต 600 จะเท่ากับหกวินาที เอกสาร Publication 1747-6.15 อธิบายพฤติกรรมของชุดคำสั่งโดยละเอียด
| องค์ประกอบ | บทบาท | จุดตั้งค่าที่เขียนได้หรือไม่? |
|---|---|---|
| T4:x.PRE | ค่าที่ต้องการ | ใช่ — ปลายทางที่ถูกต้อง |
| T4:x.ACC | ค่าที่นับไปแล้ว | ไม่มีผลคงอยู่ขณะที่ EN เป็นจริง |
| T4:x/TT | ตัวกำหนดคุณสมบัติด้านเวลา | ใช้สำหรับกำกับการจับค่า |
เหตุใดการ MOV ไปยัง .ACC จึงไม่สำเร็จ
ขณะที่ EN เป็นจริง คำสั่ง TON/TOF/RTO จะอัปเดต .ACC ในทุกสแกน ค่า .ACC ที่ผู้ใช้เขียนด้วย MOV จะถูกเขียนทับในสแกนถัดไป (หรือแม้แต่ในสแกนเดียวกัน) การโหลดค่า .ACC ใหม่ก็ไม่ได้กำหนดเป้าหมายการเปรียบเทียบใหม่ เพราะคำสั่งจะเปรียบเทียบ .ACC กับ .PRE การเขียนค่า .PRE ใหม่และเริ่มต้นจาก .ACC = 0 เป็นวิธีที่ควบคุมได้สำหรับการเปลี่ยนระยะเวลา
จับค่าด้วย ONS และถ่ายโอนด้วย MOV
รางจับค่า: XIC Door_Going_Down XIC Down_Timer/TT ONS Capture_Bit MOV T4:2.ACC N7:10 รางโหลดค่าพรีเซ็ต: XIC Capture_Bit MOV N7:10 T4:3.PRE รางลอช: XIC Capture_Bit OTL Preset_Loaded รางค่าดีฟอลต์ (มีเงื่อนไขกำกับ): XIC Door_Idle XIO Preset_Loaded MOV 600 T4:3.PRE รังก์ล้าง: XIC Up_Timer/DN OTU Preset_Loaded
RSLogix 500 จะไม่ยอมรับคำสั่ง MOV ที่ใช้องค์ประกอบตัวตั้งเวลาเดียวกันเป็นทั้งต้นทางและปลายทาง ให้พักค่าผ่านเวิร์ดในไฟล์จำนวนเต็ม เช่น N7:10 เสมอ บิตจัดเก็บของ ONS จะคงการบันทึกค่าไว้ที่ขอบขาขึ้นของลำแสง เพื่อไม่ให้อินพุตที่ค้างอยู่เขียนทับ PRESET ทุกสแกน
เครื่องจักรสถานะรอบการถ่ายโอน
| สถานะ | เงื่อนไขเข้าสถานะ | การทำงาน |
|---|---|---|
| ว่าง | เริ่มจ่ายไฟ / ทั้งสองตัวทำงานเสร็จแล้ว | ล้าง one-shot และบิตทิศทาง |
| กำลังขึ้น | ขอบสัญญาณขาขึ้น | PRESET ขาขึ้นเริ่มต้นหากยังไม่ได้โหลด |
| กำลังลง | ขอบสัญญาณขาลง | PRESET ขาลงเริ่มต้น |
| กำลังย้อนกลับ | ขอบลำแสงขณะกำลังลง | บันทึก ACC → เพิ่มค่า PRE ของขาขึ้น เปิดใช้งานขาขึ้น |
หมายเหตุการย้ายไปใช้ Studio 5000
ตัวตั้งเวลา Logix ใช้ความหมายของ .PRE / .ACC แบบเดียวกัน โดยใช้แอดเดรสแบบแท็ก ให้บันทึกลงใน DINT เขียนค่า .PRE ของตัวตั้งเวลาย้อนกลับ และคงการตรวจจับขอบสัญญาณแบบ one-shot ด้วย ONS หรือเทียบเท่า บทความฐานความรู้ A-43402 อธิบายการย้ายค่าที่สะสมไปยังแท็กอื่นบน ControlLogix โดยบทบาทขององค์ประกอบจะสอดคล้องกับรูปแบบ SLC
การตรวจสอบขอบสัญญาณในการบันทึก ACC และเขียน PRE
ตัดลำแสงเมื่อถึงเวลาที่ผ่านไปตามที่กำหนด แล้วตรวจสอบว่า PRESET ย้อนกลับเท่ากับค่า ACC ที่บันทึกไว้ภายในหนึ่งทิกของฐานเวลา ตรวจสอบว่า PRESET เริ่มต้นจะถูกโหลดก็ต่อเมื่อ Preset_Loaded เป็น false ข้อผิดพลาดที่พบบ่อย ได้แก่ การเขียนค่า .ACC การละเว้นสเตจจำนวนเต็ม การบันทึกค่าโดยไม่มีเงื่อนไข /TT และการปล่อยให้รังก์เริ่มต้นเขียนทับค่า .PRE หลังจากบันทึกแล้ว เมื่อนำลอจิกของเทรนเนอร์ไปยัง Logix ให้จัดทำเอกสารตัวตั้งเวลาให้สอดคล้องกับมาตรฐาน PLC และ PAC อื่น ๆ
เกี่ยวกับผู้เขียน
มาร์ก ทาวน์เซนด์ | วิศวกรระบบอัตโนมัติอาวุโส – ระบบ Allen-Bradley
มาร์ก ทาวน์เซนด์เป็นวิศวกรระบบอัตโนมัติอาวุโสที่มีประสบการณ์กับแพลตฟอร์ม Allen-Bradley มากกว่า 18 ปี ครอบคลุม ControlLogix, CompactLogix และ SLC-500 รุ่นเก่า งานประจำวันของเขาคือการพัฒนาลอจิกด้วย RSLogix / Studio 5000 และการนำ HMI ของ FactoryTalk View ขึ้นใช้งานบนระบบที่มีอายุการใช้งานมากและมีอุปกรณ์หลายรุ่นปะปนกัน