รวบรวมโปรแกรมควบคุมสำหรับตัวควบคุมที่ตั้งโปรแกรมได้
ตัวควบคุมแบบตั้งโปรแกรมได้ได้รับการออกแบบมาสำหรับการควบคุมเครื่องตัดโลหะและอุปกรณ์เทคโนโลยีต่างๆ ตามวงจร โดยติดตั้งเซ็นเซอร์และแอคทูเอเตอร์ที่ทำงานบนหลักการ "เปิด-ปิด" สองตำแหน่ง ในบทความ กระบวนการคอมไพล์โปรแกรมควบคุมได้รับการพิจารณาจากตัวอย่างคอนโทรลเลอร์ของรุ่น MKP-1
คอนโทรลเลอร์นี้ให้คุณควบคุมอุปกรณ์ได้ 16, 32 หรือ 48 เครื่อง ขึ้นอยู่กับเวอร์ชัน จำนวนวงจรอินพุตสำหรับเชื่อมต่อเซ็นเซอร์สอดคล้องกับจำนวนเอาต์พุต แต่ละอินพุตและเอาต์พุตมีแอดเดรสของตัวเอง
คอนโทรลเลอร์ให้การควบคุมไดรฟ์, รับข้อมูลจากเซ็นเซอร์เกี่ยวกับสถานะของอุปกรณ์, สร้างความล่าช้า, จัดระเบียบการเปลี่ยนแบบมีเงื่อนไขและไม่มีเงื่อนไขตามโปรแกรมควบคุมและยังทำหน้าที่อื่น ๆ
การออกแบบอุปกรณ์ควบคุมลดลงเป็นสองขั้นตอน: 1 - วาดไดอะแกรมสำหรับเชื่อมต่อเซ็นเซอร์และแอคทูเอเตอร์กับคอนโทรลเลอร์ 2 - วาดโปรแกรมควบคุมตามรูปแบบอัลกอริทึม
การเชื่อมต่อเซ็นเซอร์
ปุ่ม DIP และเซ็นเซอร์เชื่อมต่อกับขั้วต่ออินพุตของคอนโทรลเลอร์ตามตารางที่ 1 แต่ละอินพุตมีแอดเดรสของตัวเอง
ในการจ่ายไฟให้กับวงจรอินพุตจำเป็นต้องใช้แหล่งจ่ายไฟที่มีแรงดันเอาต์พุต Un = 20 … 30 V การกระตุ้นเซ็นเซอร์จะสอดคล้องกับการปิดของวงจรอินพุต (ระดับไบนารี 1) สถานะเปิดของวงจรจะเทียบเท่ากับระดับไบนารี 0 .
ตัวอย่างของการเชื่อมต่อหน้าสัมผัสเซ็นเซอร์กับอินพุตคอนโทรลเลอร์แสดงในรูปที่ 1
รูปที่. 1. แผนภาพการเชื่อมต่อของหน้าสัมผัสเซ็นเซอร์
ตารางที่ 1. วงจรอินพุตคอนโทรลเลอร์
การเชื่อมต่ออุปกรณ์ผู้บริหาร
แอคชูเอเตอร์ (คอยล์รีเลย์, วงจรอินพุตของอุปกรณ์ที่ไม่สัมผัส) เชื่อมต่อกับขั้วต่อเอาต์พุตของคอนโทรลเลอร์ตามตารางที่ 2
ตารางที่ 2. วงจรเอาท์พุตของคอนโทรลเลอร์
ตัวอย่างของการเชื่อมต่อคอยล์รีเลย์เข้ากับเอาต์พุตของคอนโทรลเลอร์แสดงในรูปที่ 2.
รูปที่. 2. แผนภาพการเดินสายไฟของคอยล์รีเลย์
ตัวอย่างโครงร่างที่สมบูรณ์สำหรับการเชื่อมต่ออุปกรณ์ภายนอกกับคอนโทรลเลอร์
ตัวควบคุมระบบดิจิตอล
คอนโทรลเลอร์ทำงานร่วมกับตัวเลขที่แสดงในรูปแบบเลขฐานสิบหก พื้นฐานของระบบคือเลขฐานสิบ 16 ตัวอักษรประกอบด้วยตัวเลขสิบหลัก (0 ... 9) และตัวอักษรละตินหกตัว (A, B, C, D, E, F) ตัวอักษรสอดคล้องกับเลขฐานสิบ 10, 11, 12, 13, 14, 15
เรียนรู้เพิ่มเติมเกี่ยวกับระบบเลขฐานสิบหก: ระบบตัวเลข
ในระหว่างการเขียนโปรแกรม ค่าตัวเลขทั้งหมดจะถูกระบุเป็นเลขฐานสิบหก ตารางที่ 3 แสดงช่วงของตัวเลขเป็นเลขฐานสิบหก N16 และทศนิยมเทียบเท่า Nl0
ตารางที่ 3. ตัวเลขในรูปแบบเลขฐานสิบหก
ชุดคำสั่งควบคุม
ตัวควบคุมแบบตั้งโปรแกรมได้มาพร้อมกับระบบควบคุมที่ออกแบบมาเพื่อแก้ปัญหาการควบคุมซอฟต์แวร์ ตารางที่ 4 แสดงส่วนเล็กๆ ของคำสั่งคอนโทรลเลอร์
คำสั่งประกอบด้วยสองส่วน: รหัสของการดำเนินการที่จะดำเนินการ (CPC) และตัวถูกดำเนินการซึ่งระบุที่อยู่ของวัตถุที่ดำเนินการ ในกรณีนี้ ทั้งเซ็นเซอร์และแอคชูเอเตอร์และคำสั่งของโปรแกรมเองก็ทำหน้าที่เป็นวัตถุดังกล่าว เมื่อระบุช่วงเวลา ตัวถูกดำเนินการคือระยะเวลาของช่วงเวลาเหล่านั้น
ตารางที่ 4. ชุดคำสั่งคอนโทรลเลอร์
ไดอะแกรมของอัลกอริทึม
ลำดับการทำงานของแต่ละอุปกรณ์สามารถอธิบายได้โดยใช้สัญลักษณ์กราฟิกที่สร้างไดอะแกรมอัลกอริทึม สามารถใช้สัญลักษณ์สี่ประเภทที่เรียกว่าจุดยอดเมื่อสร้างไดอะแกรม (รูปที่ 3)
ข้าว. 3. จุดยอดของโครงร่างอัลกอริทึม
จุดยอด «เริ่ม» สอดคล้องกับสถานะเริ่มต้นของอุปกรณ์ควบคุมก่อนที่ตัวควบคุมจะได้รับผลกระทบ เช่น ปุ่ม «เริ่ม»
จุดยอด "สิ้นสุด" ตรงกับจุดสิ้นสุดของกระบวนการควบคุม เช่น หลังจากกดปุ่ม "หยุด"
จุดปฏิบัติการสอดคล้องกับการดำเนินการเบื้องต้นบางอย่างของอุปกรณ์ที่ประกอบเป็นอุปกรณ์ควบคุม เช่น การเปิดหรือปิดรีเลย์ การดำเนินการที่ดำเนินการจะถูกบันทึกไว้ในแผนภูมิภายในไอคอนด้านบน
จุดยอดที่มีเงื่อนไขกำหนดเงื่อนไขสำหรับการย้ายจากจุดยอดปฏิบัติการหนึ่งไปยังอีกจุดหนึ่ง เงื่อนไขถูกกำหนดโดยเซ็นเซอร์ ปุ่มควบคุม หรืออุปกรณ์อื่นๆ สถานะของเซ็นเซอร์หรือปุ่มและเอาต์พุตของจุดยอด ตามลำดับ จะแสดงด้วยตัวเลข 1 หรือ 0
ตัวอย่างเช่น: สวิตช์การเคลื่อนไหว «เปิด» — 1; "ปิด" — 0
การคอมไพล์ไดอะแกรมอัลกอริทึมจะลดลงเป็นการเชื่อมต่อจุดยอดตามลำดับการทำงานของอุปกรณ์อัตโนมัติ ส่วนของไดอะแกรมของอัลกอริทึมแสดงในรูปที่ 4. ในแผนภาพ สัญลักษณ์ X1 หมายถึงสวิตช์ Δt คือช่วงเวลา
การรวบรวมโปรแกรมควบคุม
แต่ละคำสั่งในโปรแกรมเขียนขึ้นภายใต้หมายเลขประจำเครื่องซึ่งเป็นที่อยู่ของมัน โปรแกรมถูกรวบรวมตามโครงร่างของอัลกอริทึมและต้องมีชุดคำสั่งที่ดำเนินการทั้งหมดที่ระบุในโครงร่าง
ก่อนที่จะพัฒนาโปรแกรม จำเป็นต้องวาดไดอะแกรมการเชื่อมต่อของเซ็นเซอร์และไดรฟ์ พวกเขาจะได้รับหมายเลขของตัวเองซึ่งเป็นที่อยู่ในโปรแกรมทั้งนี้ขึ้นอยู่กับตำแหน่งที่เชื่อมต่ออุปกรณ์เหล่านี้
การสร้างโปรแกรมควรเริ่มจากด้านบนของไดอะแกรม «Start» จากนั้นจึงตั้งโปรแกรมการทำงานตามลำดับไปที่ด้านบนสุด «End»
หากดำเนินการหลังจากปุ่ม ลิมิตสวิตช์ หรือเซ็นเซอร์อื่นๆ ถูกสั่งงาน คำสั่ง 02 จะถูกตั้งค่าและหมายเลขของเซ็นเซอร์นั้นจะถูกเขียนเป็นตัวถูกดำเนินการ ในกรณีนี้ ตัวควบคุมจะดำเนินการคำสั่งเปิดหรือปิดอุปกรณ์ผู้บริหารหลังจากได้รับสัญญาณทริกเกอร์จากเซ็นเซอร์นี้เท่านั้น
อุปกรณ์จะเปิดหรือปิดด้วยคำสั่ง 05 หรือ 06 ตามลำดับ หมายเลขของอุปกรณ์ที่เปิดอยู่จะถูกเขียนไปยังตัวถูกดำเนินการ
ช่วงเวลาถูกกำหนดโดยใช้คำสั่ง 07 ค่าสัมประสิทธิ์ถูกเขียนด้วยตัวถูกดำเนินการ ซึ่งเมื่อคูณด้วย 0.1 วินาที ให้เวลาล่าช้าที่จำเป็น
ตัวอย่างเช่น เมื่อตั้งค่า t = 2.6 วินาทีตัวถูกดำเนินการประกอบด้วยตัวเลข 1A (26 ในเครื่องหมายทศนิยม) การหน่วงเวลาสูงสุดที่กำหนดโดยคำสั่ง 07 เดียวคือ 25.5 วินาที (คำสั่ง 07 FF) หากจำเป็นต้องได้รับการหน่วงเวลามากกว่า 25.5 วินาที คำสั่ง 07 หลายคำสั่งจะต้องรวมไว้ในโปรแกรมควบคุมอย่างต่อเนื่อง โดยระบุช่วงเวลาที่ต้องการพร้อมกัน
หากต้องการใช้การกระโดดแบบมีเงื่อนไขในโปรแกรม (ในแผนภาพอัลกอริทึม จุดยอดแบบมีเงื่อนไขที่มีการดำเนินการทั้ง «1» และ «0») ก่อนอื่นคุณต้องตั้งค่าคำสั่งตรวจสอบเป็นจุดสุดยอด 04 นี้
หากเซ็นเซอร์ที่ตรงกับจุดยอดนี้อยู่ในสถานะ «1» เงื่อนไขบิต BU = 1 จะถูกสร้างขึ้น หากเซ็นเซอร์อยู่ในสถานะ «0» ดังนั้น BU = 0 จะถูกสร้างขึ้น
จากนั้นจึงออกคำสั่ง OA ซึ่งถ้า BU = 1 ถูกตั้งค่าในคำสั่งก่อนหน้า จะเปลี่ยนตัวควบคุมเพื่อดำเนินการคำสั่งที่ระบุในตัวถูกดำเนินการของคำสั่งนั้น
ด้วย BU = 0 คอนโทรลเลอร์จะดำเนินการคำสั่งหลังจากคำสั่ง OA
เมื่อคอมไพล์โปรแกรม อันดับแรก แนะนำให้เขียนลำดับคำสั่งสำหรับคอนโทรลเลอร์เพื่อดำเนินการเมื่อ BU = 0 โดยไม่ต้องระบุตัวถูกดำเนินการในคำสั่ง OA หลังจากคำสั่งทั้งหมดที่รันโดยคอนโทรลเลอร์ตามเงื่อนไข «0» คือ เขียน คำสั่ง สำเร็จตามเงื่อนไข «1» ถูกป้อนลงในโปรแกรม ที่อยู่ของคำสั่งนี้ถูกระบุในตัวดำเนินการของคำสั่ง OA
หมายเหตุ: สำหรับบิตเงื่อนไข สถานะเริ่มต้นคือ BU = 1 ซึ่งตั้งค่าหลังจากเปิดคอนโทรลเลอร์และหลังจากดำเนินการคำสั่งกระโดดแบบมีเงื่อนไข
ตัวอย่างการเขียนโปรแกรมสำหรับส่วนของอัลกอริทึมไดอะแกรมในรูปที่ 4 แสดงในตารางที่ 5
ข้าว. 4. ส่วนของไดอะแกรมของอัลกอริทึม
ตารางที่ 5. ส่วนของโปรแกรมการจัดการ
