PLC คืออะไร?
Programmable Logic Controller เครื่องควบคุมเชิงตรรกที่สามารถโปรแกรมได้
PLC : Programmable Logic Controller (มีต้นกำ เนิดจากประเทศสหรัฐอเมริกา) เป็นเครื่องควบคุมอัตโนมัติในโรงงานอุตสาหกรรม
ที่
สามารถจะโปรแกรมได้ ถูกสร้างและพัฒนาขึ้นมาเพื่อทดแทนวงจรรีเลย์
อันเนื่องมาจากความต้องการที่อยากจะได้เครื่องควบ
คุมที่มีราคาถูกสามารถใช้งานได้อย่างเอนกประสงค์
และสามารถเรียนรู้การใช้งานได้ง่าย
ข้อแตกต่างระหว่าง PLC กับ COMPUTER1. PLC ถูกออกแบบ และสร้างขึ้นเพื่อให้ทนต่อสภาพแวดล้อมในโรงงานอุตสาหกรรมโดยเฉพาะ
2. การโปรแกรมและการใช้งาน PLC ทำได้ง่ายไม่ยุ่งยากเหมือนคอมพิวเตอร์ทั่วไป PLC มีระบบการตรวจสอบตัวเองตั้งแต่ช่วงติดตั้ง
จนถึงช่วงการใช้งานทำให้การบำรุงรักษาทำได้ง่าย
3. PLCถูกพัฒนาให้มีความสามารถในการตัดสินใจสูงขึ้นเรื่อยๆทำให้การใช้งานสะดวกขณะที่วิธีใช้คอมพิวเตอร์ยุ่งยากและซับซ้อนขึ้น
ประวัติ PLC
ค.ศ.1969
PLCได้ถูกพัฒนาขึ้นมาครั้งแรกโดย
บริษัท Bedford Associates โดยใช้ชื่อว่า Modular Digital
Controller(Modicon) ให้กับโรงงานผลิตรถยนต์ในอเมริกาชื่อ General Motors
Hydramatic Division บริษัท Allen-Bradley
ได้เสนอระบบควบคุมโดยใช้ชื่อว่า PLC
ค.ศ.1970-1979
ได้มีการพัฒนาให ้PLC มีการ
ประมวลผลที่เร็วมากขึ้นตามการเปลี่ยนแปลงของ Microprocessor ความสามารถใน
การสื่อสารข้อมูลระหว่าง PLC กับ PLC โดยระบบแรก
คือ Modbus ของ Modicon เริ่มมีการใช้อินพุท/เอาท์พุทที่เป็นสัญญาณ Analog
ค.ศ.1980-1989
มีความพยายามที่จะสร้างมาตรฐานใน
การสื่อสารข้อมูลของ PLC โดยบริษัท General
Motor ได้สร้างโปรโตคอลที่เรียกว่า manufacturing automation protocal
(MAP) ขนาดของ PLC ลดลงเรื่อย
ๆผลิตซอฟแวร์ที่สามารถโปรแกรม PLC ด้วยภาษา symbolic โดยสามารถโปรแกรมผ่าน
ทาง personal computer แทนที่จะโปรแกรมผ่านทาง handheld หรือ programing
terminal
ค.ศ.1990-ปัจัจจุบัน
ได้มีความพยายามในการที่จะ
ทำให้ภาษาที่ใช้ในการโปรแกรม PLC มีมาตราฐานเดียวกันโดยใช้
มาตรฐาน IEC1131-3 สามารถโปรแกรม PLC ได้ด้วย
- IL (Instruction List)
- LD (Ladder Diagrams)
- FBD (Function Block Diagrams)
- SFC (Sequential Function Chart)
- ST (Structured Text)
โครงสร้างโดยทั่วไปของ PLC
ลักษณะโครงสร้างภายในของ PLC ซึ่งประกอบด้วย
1.ตัวประมวลผล(CPU)
ทำ
หน้าที่คำนวณเเละควบคุม ซึ้งเปรียบเสมือนสมองของ PLC
ภายในประกอบด้วยวงจรลอจิกหลายชนิดและมีไมโครโปรเซสเซอร์เบส (Micro
Processor Based)ใช้แทนอุปกรณ์จำพวกรีเลย์ เคาน์เตอร์/ไทม์เมอร์
และซีเควนเซอร์ เพื่อให้ผู้ใช้สามารถออกแบบวงจรโดยใช้ Relay Ladder Diagram
ได้ CPU จะยอมรับข้อมูลจากอุปกรณ์อินพุทต่างๆ
จากนั้นจะทำการประมวลผลและเก็บข้อมูลโดยใช้โปรแกรมจากหน่วยความจำ
หลังจากนั้นจะส่งส่งข้อมูลที่เหมาะสมและถูกต้องออกไปยังอุปกรณ์เอาท์พุท
2.หน่วยความจำ(Memory Unit)
ทำ
หน้าที่เก็บรักษาโปรแกรมและข้อมูลที่ใช้ในการทำงาน
โดยขนาดของหน่วยความจำจะถูกแบ่งออกเป็นบิตข้อมูล(Data Bit)
ภายในหน่วยความจำ 1 บิต ก็จะมีค่าสภาวะทางลอจิก 0 หรือ
1แตกต่างกันแล้วแต่คำสั่ง ซึ่ง PLC ประกอบด้วยหน่วยความจำสองชนิดคือ ROM
และRAM
RAM
ทำหน้าที่เก็บโปรแกรมของผู้ใช้และข้อมูลที่ใช้ในการปฏิบัติงานของ PLC
หน่วยความจำประเภทนี้จะมีแบตเตอรี่เล็กๆ
ต่อไว้เพื่อใช้เป็นไฟเลี้ยงข้อมูลเมื่อเกิดไฟดับ
การอ่านและการเขียนข้อมูลลงใน RAM ทำได้ง่ายมาก
เพราะฉะนั้นจึ่งเหมากับงานในระยะทดลองเครื่องที่มีการเปลี่ยนแปลงแก้ไข
โปรแกรมอยู่บ่อยๆ
ROM
ทำหน้าที่เก็บโปรแกรมสำหรับใช้ในการปฏิบัติงานของ PLC ตามโปรแกรมของผู้ใช้
หน่วยความจำแบบ ROM ยังสามารถแบ่งได้เป็น EPROM
ซึ่งจะต้องใช้อุปกรณ์พิเศษในการเขียนและลบโปรแกรม
เหมาะกับงานที่ไม่ต้องการเปลี่ยนแปลงโปรแกรม นอกจากนี้ยังมีแบบ EEPROM
หน่วยความจำประเภทนี้ไม่ต้องใช้เครื่องมือพิเศษในการเขียนและลบโปรแกรม
สามารถใช้งานได้เหมือนกับ RAM แต่ไม่ต้องใช้แบตเตอรี่สำรอง
แต่ราคาจะแพงกว่าเนื่องจากรวมคุณสมบัติของ ROM และ RAM ไว้ด้วยกัน
3.หน่วยอินพุต-เอาต์พุต (Input-Output Unit) หน่วยอินพุต ทำหน้าที่รับสัญญาณจากอุปกรณ์ภายนอกแล้วแปลงสัญญาณให้เป็นสัญญาณที่เหมาะสมแล้วส่งให้หน่วยประมวลผลต่อไป
หน่วยเอาต์พุต ทำหน้าที่รับข้อมูลจากตัวประมวลผลแล้วส่งต่อข้อมูลไปควบคุมอุปกรณ์ภายนอกเช่น ควบคุมหลอดไฟ มอเตอร์ และวาล์ว เป็นต้น
4.แหล่งจ่ายไฟ (Power Supply)
ทำหน้าที่จ่ายพลังงานและรักษาระดับแรงดันไฟฟ้ากระแสตรงให้กับ CPU Unit หน่วยความจำและหน่วยอินพุท/ เอาท์พุท
5.อุปกรณ์ต่อร่วม (Peripheral Devices) • PROGRAMMING CONSOLE
• EPROM WRITER
• PRINTER
• GRAPHIC PROGRAMMING
• CRT MONITOR
• HANDHELD
• etc
PLC ทำ งานอย่างไร?
ตัวอย่าง ระบบ PLC
ระบบการทำงานของ PLC Logrammable Logic Controller
ระบบการทำงานของ PLC Programmable Logrammable Logic Controller
(รวม
ร่วมจากหนังสือ ทฤษฎีและการใช้งาน(PC/PLC) เรียบเรียงโดย พรจิต
ประทุมสุวรรณ หนังสือเรียนรู้ PLC ชั้นกลางด้วยตนเอง เรียบเรียงโดย
รศ.ธีรศิลป์ ทุมวิภาต,สุภาพร จำปาทอง หนังสือระบบ PLC(Programmable Logic
Controller) เรียบเรียงโดย ณรงค์ ตันชีวะวงศ์ หนังสือเรียนรู้และใช้งาน
PLC ฉบับสมบูรณ์ เรียบเรียงโดย ผศ.ปฏิพัทธ์ หงษ์สุวรรณ )
ความสามารถของ PLC Programmable Logic Control สามารถควบคุมได้ 2 ประเภท คือ แบบ CLOSED LOOP
และ OPEN LOOP
ระบบการควบคุม CLOSED LOOP
เป็น
ระบบควบคุมแบบหนึ่ง ซึ่งสัญญาณทางด้านเอ้าท์พุทมีผลโดยต้องการควบคุม
ดังนั้นการควบคุมแบบ CLOSED LOOP ก็คือการควบคุมแบบป้อนกลับ (FEEDBACK
CONTROL) สัญญาณป้อนกลับนี้อาจจะเป็นสัญญาณเอ้าท์พุทโดยตรง
หรือสัญญาณที่เป็นฟังก์ชั่นของสัญญาณเอ้าท์พุทหรือค่าอนุพันธ์ของสัญญาณ
เอ้าท์พุทก็ได้
ระบบ
การควบคุมแบบ CLOSED LOOP
นั้นสามารถพบเห็นได้ทั่วไปทั้งในงานอุสาหกรรมหรือตามบ้านเรือน
ตัวอย่างการควบคุมแบบ CLOSE LOOP ได้แก่ การควบคุมอุณหภูมิ การควบคุมแรงดัน
การควบคุมอัตราการไหล ระบบการควบคุมกระบวนการตู้เย็นที่ใช้ตามบ้านเรือน
ระบบการควบคุมแบบ OPEN LOOP
สำหรับ
ระบบการควบคุมแบบ OPEN LOOP เป็นระบบควบคุม
ที่เอ้าท์พุทของระบบจะไม่มีผลต่อการควบคุมเลย
นั้นคือในกรณีของระบบการควบคุมแบบ OPEN LOOP
ซึ่งเอ้าท์พุทของระบบควบคุมของระบบจะไม่ถูกทำการวัดหรือป้อนกลับเพื่อที่จะ
นำมาเปรียบเทียบกับอินพุท การควบคุมการเปิดปิดไฟ
สัญญาณไฟจราจรการควบคุมสายพานลำเลียง ฯลฯ
สำหรับ
การควบคุมแบบ OPEN LOOP นั้นเอ้าท์พุทไม่ได้นำมาเปรียบเทียบกับอินพุท
ดังนั้นความเที่ยงตรงของระบบจะขึ้นอยู่กับการปรับเทียบ
ในทางปฏิบัติแล้วเราสามารถใช้การควบคุมแบบ OPEN LOOP
ได้ถ้าเราทราบถึงความสัมพันธุ์ระหว่างอินพุทและเอ้าท์พุทระบบ
และระบบควบคุมที่ทำตามเวลาที่กำหนดไว้ จะเป็นการควบคุมแบบ OPEN LOOP
การดูแบบวงจรรีเลย์
สำหรับแบบในงานควบคุมเครื่องกลไฟฟ้าเพราะเราจะใช้พื้นฐานตรงนี้มาเป็นตัวอย่างในการออกแบบและการเขียนโปรแกรม PLC
แบบสำหรับงานควบคุมเครื่องกลไฟฟ้าแบ่งออกเป็น 4 แบบ คือ
1. แบบงานจริงหรือแบบสมบูรณ์(Working diagram or wiring diagram)
2.แบบแสดงการทำงาน(Schematic diagram)
3.แบบวงจรสายเดียว(one line diagram)
4.แบบวงจรประกอบการติดตั้ง(Constructional wiring diagram)
แบบงานจริงหรือแบบสมบูรณ์(Working diagram or wiring diagram)
แบบวงจรชนิดนี้จะเขียนคล้ายลักษณะงานจริง คืออุปกรณ์ใดๆ จะเขียนเป็นชิ้นเดียว
ไม่แยกออกจากกัน และสายต่างๆ จะต่อกันที่จุดเข้าสาย
ของอุปกรณ์เท่านั้น
ซึ่งจะเหมือนกับลักษณะงานจริงๆ
แบบแสดงการทำงาน(Schematic diagram)
แบบชนิดนี้แบ่งตามลักษณะตามแบบวงจรได้ 2 แบบวงจรด้วยกัน
แบบวงจรควบคุม
แบบวงจรควบคุมคือแบบที่ได้จับเอาวงจรจริงยืดออกเป็นเส้นตรง สายแยกต่างๆจะเขียนในแนวดิ่งและแนวระนาบเท่านั้น สำหรับส่วนประกอบของอุปกรณ์ก็นำมาเขียนเฉพาะในส่วนที่ใช้ในวงจรควบคุมเท่านั้น
แบบวงจรกำลัง
สำหรับ
แบบวงจรชนิดนี้เป็นการนำเอามาเฉพาะส่วนของวงจรกำลังเท่านั้นในส่วนของคอน
แทคโอเวอร์โหลดก็จะเขียนเฉพาะในส่วนของวงจรกำลังเท่านั้นในส่วนของวงจรควบ
คุมที่ไม่เกี่ยวข้องก็จะไม่นำมา
แบบวงจรประกอบการติดตั้ง(Constructional wiring diagram)
ในระบบควบคุมที่เราทราบกันดีนั้นจะประกอบด้วยแผงควบคุม ตู้สวิทซ์บอร์ดและโหลดที่ต้องการควบคุมซึ่งมักจะแยกกันอยู่ในที่ ต่างกันออกไป ในส่วนต่างๆเหล่านี้จะเขียนรายละเอียดด้วยวงจรงานจริง
วงจรควบคุมมอเตอร์เบื้องต้น
สำหรับ
ตอนนี้ก็จะกล่าวถึงในส่วนของวงจรควบคุมมอเตอร์เบี้ยงต้นเท่านั้น
เพราะจะเป็นพื้นฐานสำคัญสำหรับการออกแบบการควบคุมในระดับสูงต่อไป
วงจรปิด-เปิด (ON-OFF Circuit)
จาก
รูปสภาวะเปิดวงจร
สภาวะปกติคอนแทคเตอร์ยังไม่ทำงานเนื่องจากกระแสไฟฟ้ายังไม่ครยวงจรแต่เมื่อ
มีการกดสวิทซ์ Selector Switch
กระแสไฟฟ้าก็จะไหลผ่านคอนแทคเตอร์ครบวงจรคอนแทคแทคเตอร์ก็จะทำงานดังรูปที่
สภาวะปิดวงจร
วงจรทำงานชั่วขณะ(Instantaneous Circuit)
สำหรับ
การทำงานในส่วนของวงจรนี้ลักษณะการทำงานก็จะคล้ายในส่วนของวงจรแสดงแบบ
ปิด-เปิด(ON-OFF Circuit)
จะต่างกันที่ลักษณะการทำงานชั่วขณะสวิทซ์ที่ใช้ในการควบคุมเป็นสวิทซ์ปุ่มกด
หรือ Push button Switch
การทำงานของคอนแทคเตอร์จะขึ้นอยู่กับการกดหรือปล่อยสวิทซ์
วงจรรักษาสภาพ (Self Holding)
จาก
วงจรการทำงานชั่วขณะนั้นถ้าต้องการให้คอนแทคเตอร์ทำงานค้างก็จะต้องกดสวิทซ์
ค้างตลอดเวลาซึ่งเป็นไปไม่ได้ที่เราจะกดสวิทซ์นานๆเป็นชั่วโมง
ดังนั้นจึงได้มีการออกแบบวงจรให้มีการทำงานให้คอนแทคเตอร์มีการทำงานค้างโดย
ไม่ต้องกดสวิทซ์ค้างซึ่งจะใช้คอนแทคช่วยแบบกดปกติเปิด(NC)ของรีเลย์หรือคอน
แทคเตอร์นำมาต่อขนานกับสวิทซ์ S2 ดังรูป
วงจรป้องกันการทำงานพร้อมกัน(Interlock Circuit)
จาก
วงจรเราจะสังเกตเห็นว่าเราจะใช้สวิทซ์แบบปิดสองตัวต่อป้องกันการทำงานของคอน
แทคเตอร์ที่พร้อมกันโดยให้คอนแทคทั้งสองชุดจะถูกต่อใช้งาน
สำหรับรูปด้านขวาแสดงให้เห็นว่าเมื่อมีการกดสวิทซ์S1คอนแทคเตอร์K2ไม่สามารถ
ทำงานได้เนื่องจากถูกตัดด้วยคอนแทคเตอร์ของสวิทซ์S1และคอนแทคช่วยK1
วงจรหน่วงเวลา(Time Delay Circuit)
จาก
วงจรจะสังเกตเห็นว่าในการทำงานของวงจรมีอุปกรณ์หน่วงเวลาเมื่อทำการก
ดสวิทซ์S1คอนแทคเตอร์K1ยังทำงานแต่อุปกรณ์หน่วงเวลาที่เรียกว่าไทม์เมอร์รี
เลย์K2Tทำงานและเริ่มหน่วงเวลาจนถึงเวลาที่กำหนดK2Tจะสั่งให้คอนแทค
เตอร์K1เริ่มทำงานดังรูปด้านขวา
วงจรการควบคุมมอเตอร์ในแบบต่างๆ
วงจรการสตาร์ทมอเตอร์โดยตรง
จาก
วงจรการสตาร์ทมอเตอร์โดยตรงนั้นเป็นพื้นฐานในการควบคุมมอเตอร์โดยการใช้วงจร
รีเลย์มาควบคุม ซึ่งหลักการทำงาน เมื่อกด S2 Contactor K1
ทำงานหน้าสัมผัสช่วย K1 ทำหน้าที่ Self Holding ให้ Contactor k1
ทำงานค้างตลอด
มอเตอร์เริ่มการทำงานหลอดสภาวะการทำงานH1ติดเมื่อต้องการหยุดการทำงานของ
มอเตอร์ให้ทำการกด S2 เพื่อหยุดการทำงานของมอเตอร์
วงจรกลับทางหมุนมอเตอร์แบบ 3 เฟส
ในการกลับทางหมุนของมอเตอร์ 3 เฟส โดยใช้วงจรรีเลย์ในการควบคุมจะมีการใช้งานคอนแทคเตอร์ 2 ชุดในการทำงานซึ่งในการควบคุมการทำงานคอนแทคเตอร์ 2 ตัวต้องทำงานไปพร้อมกัน และจากวงจรควบคุมจะมีการต่อไม่ว่าจะเป็นNC Contact ของ K1หรือk2หรือS2และS3ที่มีการ Inter Lock ซึ่งกันและกัน หรือเมื่อมีการกดS2และS3พร้อมกันก็จะไม่มีการทำงานเกิดขึ้น
การควบคุมมอเตอร์ทำงานตามลำดับ
จากวงจรกำลังและวงจรควบคุมเป็นวงจรเริ่มการทำงานของมอเตอร์แบบเรียงลำดับการทำงานเมื่อกดS2แล้วK1ทำงานมอเตอร์M1ทำงานมีการนำTimer Delay มาใช้ร่วมในการหน่วงเวลาเริ่มการทำงานของมอเตอร์ตัวถัดไปคือM2และM3 เป็นแบบอัตโนมัติ เมื่อต้องการหยุดการทำงาน กด S1
วงจรการสตาร์ทมอเตอร์แบบสตาร์ - เดลต้า (Y/D)
ในการเริ่มการทำงานของมอเตอร์ 3 เฟส ที่มีขนาดใหญ่นั้นในการทำงานต้องมีการสตาร์ทแบบสตาร์/เดลต้าซึ่งจากวงจรควบคุมจะมี Contactor K1 และ k2 เริ่มการทำงานมอเตอร์เริ่มการทำงานเป็นสตาร์ และเมื่อกด S3 Contactor K2 หยุดทำงานK3 เริ่มทำงานมอเตอร์จะมีการทำงานเป็นเดลต้า ถ้าต้องการหยุดการทำงานกด S1
ในการควบคุมแบบวงจรรีเลย์นั้นจัดว่าเป็นพื้นฐานที่สำคัญในการออกแบบการ
ควบคุมในระดับสูงต่อไปซึ่งที่ได้กล่าวแล้วคร่าวๆในข้างต้น
และรวมทั้งตัวอย่างวงจรควบคุมในบางวงจรก็สามารถที่จะเป็นตัวอย่างที่ทำให้
มองเห็นแนวทางในการฝึกเขียนโปรแกรรม PLC
ในการควบคุมในภาษาๆหนึ่งที่มีความสำคัญมากและที่เป็นที่นิยมในการเขียน
ซึ่งในรายละเอียดเกี่ยวกับควบคุมโดยใช้PLCในรูปแบบต่างๆ
โครงสร้างพื้นฐาน PLC
ประกอบด้วยส่วนหลัก ดังนี้
หน่วย
อินพุท (Input Unit)
จะทำหน้าที่รับอุปกรณ์อินพุทเข้ามาและส่งสัญญาณต่อไปยังหน่วยประมวลผล (CPU)
เพือนำไปประมวลผลต่อไปโดยสัญญาณที่รับเข้ามาจะเป็นในรูปแบบของสัญญาณ
ON/OFF หรือสัญญาณ Analog
หน่วย
ประมวลผล (CPU) จะทำหน้าที่ควบคุมและจัดการระบบการทำงานทั้งหมดภายในระบบ
PLC เช่นการสั่งให้ระบบ PLC ทำงานตามคำสั่งที่ถูกโปรแกรรมไว้ในหน่วยความจำ
CPU หน่วยความจำและภาคอินพุทและเอาท์พุทเป็นต้น
หน่วย
ความจำ (Memory)
จะทำหน้าที่เก็บรักษาโปรแกรรมและข้อมูลที่ใช้ในการทำงานโดยขนาดของหน่วยความ
จำถูกแบ่งออกเป็นบิดข้อมูล (Data bit)
ภายในหน่วยความจำ1บิตก็จะมีค่าสภาวะทางลอจิก0หรือ1แตกต่างกันแล้วแต่คำสั่ง
ซึ่ง PL Cประกอบด้วยหน่วยความจำ 2 ชนิด ROM และ RAM
ROM
ทำหน้าที่โปรแกรรมสำหรับใช้ในการปฏิบัติงานของ PLC ตามโปรแกรรมของผู้ใช้
หน่วยความจำ ROM ยังสามารถแบ่งได้เป็น EPROM
ซึ่งต้องใช้อุปกรณ์พิเศษในการเขียนและลบโปรแกรรม
เหมาะสำหรับงานที่ไม่ต้องการเปลี่ยนแปลงโปรแกรรม
RAM
ทำหน้าที่เก็บโปรแกรรมของผู้ใช้ และข้อมูลในการปฏิบัติงานของ PLC
หน่วยความจำประเภทนี้จะต้องมีแบตเตอรี่เล็กๆ
เพื่อใช้เป็นไฟเลี้ยงข้อมูลเมื่อเกิดไฟดับการอ่านและเขียนข้อมูลทำได้ง่าย
มาก
เพราะฉนั้นจึงเหมาะกับงานในระยะทดลองเครื่องที่มีการเปลี่ยนแปลงแก้ไขอยู่
บ่อยๆ
E
PROM เป็นรูปแบบของหน่วยความจำที่ได้รับการพัฒนาให้มีความสามารถที่ดีขึ้น
คือ สามารถเขียน และอ่านข้อมูลได้โดยใช้สัญญาณไฟฟ้าเท่านั้น
ในขณะเดียวกันก็สามารถเก็บข้อมูลครั้งล่าสุดได้โดยไม่จำเป็นต้องใช้ไฟเลี้ยง
จึงเหมาะสำหรับเป็นหน่วยความจำสำหรับเก็บโปรแกรรมการควบคุมของ PLC
หน่วย
เอาท์พุท (Output Unit) ทำหน้าที่รับข้อมูลจาก CPU
และส่งสัญญาณไปควบคุมการทำงานของอุปกรณ์ที่ต่อร่วมภายนอก อาทิ เช่น
ควบคุมการทำงานของหลอดไฟ รีเลย์ คอนแทคเตอร์ โซลิตเสตทรีเลย์ มอเตอร์
และโซลินอยล์ เป็นต้น
แหล่งจ่ายไฟ (Power Supply) ทำหน้าที่จ่ายพลังงานและรักษาระดับแรงดันไฟตรงให้กับ CPU หน่วยความจำ และหน่วยอินพุท/เอาท์พุท
อุปกรณ์อินพุท (Input Devices)
ใน
ปัจจุบัน PLC
ได้มีการพัฒนาให้มีความสามารถและประสิทธิภาพสูงขึ้นมากซึ่งสามารถรับสัญญาณ
ได้ทั้งสัญญาณในรูปแบบ ON/OFF และสัญญาณ Analog ที่เป็นสัญญาณมาตรฐานต่างๆ
เช่น 4-20mA 1-5V หรือ 0-10V ซึ่งอุปกรณ์อินพุทที่ให้สัญญาณได้แก่ Switch
Proximity,Switch Photo Sensor,Encoder Pressure Sensor,Thumbwheel Switch
และ Temperature Sensor เป็นต้น
อุปกรณ์เอาท์ (Output Device)
สำหรับ
ในส่วนของอุปกรณ์เอาท์พุทเป็นอุปกรณ์ทีต้องทำการขยายสัญญาณก่อนที่จะต่อใช้
งานกับอุปกรณ์ในการทำงานหรือโหลดที่ต้องใช้กำลังไฟฟ้าสูงๆ เช่น มอเตอร์
ฮีตเตอร์ กระบอกสูบในระบบนิวเมติกส์ เนื่องจากในส่วนเอาท์พุทของ PLC
ไม่ว่าจะแบบรีเลย์
หรือทรานซิลเตอร์นั้นมีความสามารถที่จะจ่ายหรือทนกระแสไฟฟ้าได้น้อย
ดังนั้นจึงต้องมีการนำอุปกรณ์เอาท์พุทมาต่อใช้งานร่วมด้วย ได้แก่
รีเลย์กำลังคอนแทคเตอร์ โซลินอยล์วาล์ว หลอดไฟ และคอนโทรลวาล์ว เป็นต้น
ระบบข้อมูลใน PLC และคอมพิวเตอร์
ข้อมูล
แบบ bit และมีความเกี่ยวเนื่องกับแบบ byte และ word
อย่างไรก็จะขออธิบายความหมายในระบบข้อมูลต่างๆในส่วนนี้ในการเรียกขานหรือ
เปรียบเทียบข้อมูลแบบต่างๆมีดังนี้
ข้อมูล 1 digit มีค่าเท่ากับ 4 bit
1 byte มีค่าเท่ากับ 8 bit
1 word มีค่าเท่ากับ 16 bit
1 word มีค่าเท่ากับ 1 channal
หน่วยดิจิตอล Input/Output
ในส่วนของ หน่วยดิจิตอล Input/Output ซึ่งจะเป็นการจำแนกให้ชัดเจนในส่วน Digital I/O ของ PLC ที่มีใช้งานกันในปัจจุบัน
ประเภทอินพุทของ PLC
ใน
ส่วนของ ON/OFF Input หรือที่เราเรียกว่า Digital Input นั่นเอง
อินพุทประเภทนี้จะมีสภาวะการทำงานเพียง 2 สภาวะการทำงานเท่านั้นคือ
"เปิด"(ON)หรือ"1"และ"ปิด"(OFF)หรือ"0"นอกจากนี้ยังแบ่งย่อยได้อีกตามแรงดัน
การใช้คือ AC Input และ DC Input
Analog Input
สำหรับ
อนาล็อกอินพุทก็คืออินพุทที่สามารถรับแบบอนาล็อกที่มีลักษณะเป็นสัญญาณต่อ
เนื่อง
ซึ่งในปัจจุบันได้มีการกำหนดสัญญาณมาตรฐานไว้หลายชนิดและสัญญาณมาตรฐานที่
ได้รับความนิยมได้แก่ สัญญาณกระแส มาตรฐาน 4-20 mA และสัญญาณแรงดันมาตรฐาน
1-5V,0-10Vซึ่งในรายละเอียดและหลักการเกี่ยวการรับสัญญาณอนาล็อก
อินพุทพิเศษเฉพาะงาน
อินพุท
แบบนี้ออกแบบมาเป็นพิเศษเพื่อเพิ่มความสามารถในการทำงานของ PLC
ให้สูงขึ้นได้แก่ พัลซ์อินพุท (Pulse Input) จ่ายสัญญาณทำให้PLC
มีความสามารถในการรับสัญญาณอินพุทที่มีความถี่สูงๆได้อุปกรณ์ที่จะใช้กับ
อินพุทแบบพิเศษนี้ได้แก่ Encoder
ประเภทของเอาท์พุทของ PLC
Digital
Output สำหรับแบบ ON/OFF Output ก็จะมีลักษณะการทำงานเป็นอย่างเดียวกับ
Input นั่นก็คือ มีลักษณะการทำงานเพียง 2 สภาวะเท่านั้นคือ
"เปิด"(ON)และ"ปิด"(OFF)
ซึ่งจากนี้ยังแบ่งย่อยออกไปอีกตามชนิดของอุปกรณ์ที่ทำหน้าที่ในการON/OFF
Relay Output
เอาท์พุทประเภทนี้ค่อนข้างได้รับความนิยมสูง
เนื่องจากการใช้ง่ายและสามารถควบคุมโหลดทั้ง DC และ AC
ได้และยังเป็นเอาท์พุทที่สามารถจ่ายกระแสโหลดได้สูง
สุดเมื่อเทียบกับเอาท์พุทประเภทอื่น
Transister Output ในส่วนเอาท์พุทแบบนี้ใช้อุปกรณ์สารกึ่งตัวนำที่มีชือว่า "ทรานซิสเตอร์"ทำหน้าที่เป็นสวิทซ์ มีข้อดีคือมีความเร็วในการทำงานที่สูงกว่าแบบ Relay เนื่องจากไม่มีส่วนเคลื่อนไหวทางแมคคานิกส์ แต่เอาท์พุทประเภทนี้สามารถใช้กับโหลด DC เท่านั้น
Triac Output สำหรับ Triac Output จะเป็นเอ้าท์พุทที่ใช้สารกึ่งตัวนำที่เรียกว่าไทรแอดซึ่งเป็นอุปกรณ์ที่มีหน้าที่ในการ ON/OFF ซึ่งเอ้าท์พุทประเภทนี้เหมาะสมกับโหลดแบบ AC ซึ่งมีข้อดีเช่นเดียวกับ Transister Output คือสามารถทำงาน(ON/OFF)
Analog Output อนาล็อกเอาท์พุทจะเป็นลักษณะการให้สัญญาณออกมาในรูปแบบของสัญญาณต่อเนื่องที่เป็นสัญญาณมาตรฐานได้แก่สัญญาณด้านกระแส 4-20mAสัญญาณแรงดันมาตรฐาน 0-5V,1-5V,0-10Vฯลฯ
เอ้าท์พุทพิเศษเฉพาะงาน เอ้าท์พุทพิเศษเฉพาะงานก็จะเป็นเอาท์พุทที่ออกแบบมาเป็นพิเศษเพื่อเพิ่มความสามารถPLC ให้สูงขึ้น ได้แก่ พัลซ์เอ้าท์พุท (Pulse Output)อันเป็นประโยชน์ทำให้ PLC มีความสามารถในการส่งสัญญาณเอ้าท์พุทออกมาเป็นพัลซ์ได้ ซึ่งประโยชน์ของพัลซ์เอ้าพุทนี้ สามารถนำไปควบคุมความเร็วของมอเตอร์หรืออาจจะนำไปควบคุมตำแหน่งที่มีความละเอียดโดยผ่านชุดไดร์ฟได้ ด้วยวิธี Pulse Train Output (PTO) หรือ Pulse PWM...
ลักษณะการเขียนโปรแกรรม 3 แบบดังนี้
การเขียนโปรแกรรมแบบ Ladder Logic Editor (LAD Editor)
ในการเขียนหรือการสร้างโปรแกรรมแบบ LAD Editor นักเขียนโปรแกรมทุกๆ
คคนคงจะรู้จักกันดีก็จะเหมือนกับการสร้างไดอะแกรมการเดินสายไฟเป็นแบบที่
นิยมใช้กันมาก ทางเดินของกระแสไฟจะเรียกว่า Network การสร้าง Project
จะเริ่มจากซ้ายไปขวาและจากด้านบนลงล่าง
การเขียนโปรแกรรมแบบ Function Block Diagram Editor
สำหรับการเขียนโปรแกรรมแบบ FBD Editor เหมาะสำหรับผู้ที่มีพื้นฐานทาง
อิเล็กทรอนิกส์ ซึ่งจะเป็นการสร้าง หรือเขียนโปรแกรรม โดยเราจะใช้ชุดคำสั่ง Logic
Boxes ที่มีความคล้ายกับลอจิกเกทโดยไม่มีสัญญาลักษณ์ Contact และ coil
เหมือนการสร้างแบบ LAD Editor แต่จะมีชุดคำสั่งที่ใกล้เคียงกันแสดงอยู่ใน
ฺBox คำสั่งและการสร้างจะสร้างในลักษณะการนําแต่ละ block มาต่อกัน
การเขียนโปรแกรรมแบบ Statement List Editor (STL Editor)
เป็นการสร้าง หรือเขียนโปรแกรรม โดยใช้คำสั่งเป็นแบบภาษาเครื่อง โดยทั่ว
ไป การสร้าง Project แบบนี้ผู้ใช้มักจะเป็นโปรแกรรมเมอร์ที่มีความเชี่ยวชาญและ
มีประสบการณ์ทางด้านPLCและการโปรแกรรม Logic Project โปรแกรรมที่ถูก
สร้างแบบ STL Editor นี้อาจจะไม่สามารถแปลงให้อยู่ในรูปแบบของ LAD Editor
หรือ FBD Editor ได้ทุกโปรแกรรม
การนำ PLC มาใช้งาน
การนำ PLC มาใช้งานในการควบคุมเครื่องจักรอุสาหกรรม ผู้ใช้จะต้องศึกษา
ลักษณะการทำงานของระบบที่จะนำ PLC มาใช้งานแทนวงจรควบคุมแบบรีเลย์อย่าง
ละเอียด และเลือกชนิดของ PLC ให้เหมาะกับงาน ออกแบบวงจรควบคุมกำหนด
จำนวนอินพุท เอ้าท์พุท และเขียนวงจรแลดเดอร์
การเลือกชนิดของ PLC เพื่อนำมาใช้งาน
นับจำนวนอินพุทและเอ้าท์พุท ในการเลือกขนาดและรุ่นของPLCผู้ใช้จะต้องทราบ
ถึงจำนวนอินพุทและเอ้าท์พุทของการควบคุมเครื่องจักรก่อน โดยการนับจำนวนอุปกรณ์
อินพุทและจำนวนอุปกรณ์เอาท์พุทที่ต่อเข้ากับ PLC เนื่องจาก PLC มีให้เลือกใช้
งานหลากหลายขนาดและประเภทจำนวนอินพุทและเอาท์พุทของ PLC ก็มีให้เลือก
ตามความเหมาะสมตามการใช้งาน จึงต้องเลือกให้อินพุทและเอ้าท์พุทไม่น้อยหรือ
มากเกินไป
การเลือกแบบของแหล่งจ่ายไฟให้แก่ PLC ในปัจจุบันสามารถใช้ไฟได้ตั้งแต่ 100-240V
และ 12-24V ผู้ใช้ต้องศึกษารายละเอียดของ PLC ที่เลือกใช้อย่างละเอียดเพื่อ
จ่ายไฟให้ถูกต้องการใช้งานPLC
การเลือกชนิดของอินพุทและเลือกแหล่งจ่ายไฟให้กับวงจรอินพุท การเลือกจ่ายไฟ
ให้อินพุท PLC ซึ่งโดยปกติแรงดันไฟด้านอินพุตจะใช้ไฟกระแสตรง 24VDC แต่มี
PLC บางประเภทที่รับแรงดันไฟฟ้ากระแสสลับ 100VAC หรือ 220VAC ซึ่งจะนำมา
ใช้ในกรณีที่สายอินพุทจำเป็นต้องยาวมากๆและมีสัญญาณรบกวนสูง โดยทั่วไป
การต่อแหล่งจ่ายไฟให้กับอินพุทPLC ขนาดเล็กที่รับแรงดันไฟกระแสตรง 24VDC
สามารถเลือกต่อได้แบบ SINKหรือแบบ SOURCE
การต่อวงจรอินพุทแบบ SINK TYPE
ภาพแสดงการต่ออุปกรณ์อินพุทและการต่อสาย(Wiring) ของอุปกรณ์อินพุทแบบ
สวิตซ์เข้ากับ PLC โดยอาศัยแหล่งกำเนิดพลังงาน(Power Supply) ภายในตัว PLC เป็นแหล่ง
จ่ายไฟให้แก่วงจรอินพุท การพิจารณาเพื่อต่อวงจรอินพุทผู้ใช้จะต้องศึกษาว่า Proximity Switch
ที่เลือกนำมาต่อในวงจร อินพุทเป็แบบใดหากเป็นแบบ SINK TYPE
หลักการต่อวงจรอินพุทแบบ SINK TYPE ทำได้โดยการนำขั้วไฟบวก +24V
จากตัว PLC ต่อเข้าที่ขั้วS/S(Common)และต่อขั้ว 0V เข้ากับขั้วด้านหนึ่งของอุปกรณ์
และอีกขั้วของอุปกรณ์อินพุทต่อเข้ากับขั้วอินพุทของ PLC
การต่อวงจรอินพุทแบบ SOURCE TYPE
ภาพแสดงการต่ออุปกรณ์อินพุทและการต่อสาย(Wiring)ของอุปกรณ์อินพุทแบบสวิตซ์เข้ากับ PLC
โดยอาศัยแหล่งกำเนิดพลังงาน(Power Supply) ภายในตัว PLC เป็นแหล่งจ่ายไฟให้แก่วงจร
อินพุท หากProximity Switch ที่เลือกนำมาต่อในวงจรอินพุทเป็นแบบ PNP แล้วให้ต่อวงจร
อินพุทแบบ SOURCE TYPE
หลักการต่อวงจรอินพุทแบบ SOURCE TYPE ทำได้โดยการนำขั้วไฟบวก 0V
จากตัว PLC ต่อเข้าที่ขั้วS/S(Common) และขั้ว +24V เข้ากับขั้วด้านหนึ่งของ
อุปกรณ์อินพุท และอีกขั้วของอุปกรณ์อินพุทต่อเข้ากับขั้วอินพุทของ PLC
การออกแบบ PLC เพื่อนำไปใช้งาน
เมื่อเลือกชนิดของPLCเพื่อนำไปใช้งานได้แล้ว ขั้นต่อไปผู้ใช้จะต้องออกแบบ
PLCเพื่อนำไปใช้ในการควบคุมการทำงานของเครื่องจักรหรือระบบให้ทำงานแบบ
กึ่งอัตโนมัติหรือแบบอัตโนมัติโดยมีขั้นตอนดังต่อไปนี้
การกำหนดเบอร์อินพุทและอุปกรณ์เอ้าท์พุท เป็นการกำหนดเบอร์ขั้วเข้าและเบอร์ขั้ว
ออกของPLCที่จะต่อกับอุปกรณ์อินพุทและอุปกรณ์เอ้าท์พุทดังตัวอย่างการทำงาน
การ เปิด-ปิดประตูโรงจอดรถ ในรูปแสดงลิมิตสวิตซ์และเซนเซอร์ของตัวอย่าง
การทำงานการเปิด-ปิดประตูโรงจอดรถ
อุปกรณ์อินพุท เบอร์อินพุทรีเลย์ คำอธิบาย
Sensor1(ss1) x001 สวิตซ์เซนเซอร์ตรวจจับรถด้านหน้าโรงจอดรถ
Sensor2(ss2) x003 สวิตซ์เซนเซอร์ตรวจจับรถด้านในโรงจอดรถ
Limit1(LS1) x005 ลิมิตสวิตซ์ประตูด้านบนเมื่อประตูเปิดสุด
Limit2(LS2) x007 ลิมิตสวิตซ์ประตูด้านล่างเมื่อประตูปิดสุด
อุปกรณ์เอ้าท์พุท เบอร์เอ้าท์พุทรีเลย์ คำอธิบาย
Motor Up y005 มอเตอร์เลื่อนประตูโรงรถเปิด
Motor Down y007 มอเตอร์เลื่อนประตูโรงปิด
การต่อวงจรภายนอกของ PLC เป็นการต่อสายวงจรภายนอกระหว่างPLC
อุปกรณ์อินพุตและอุปกรณ์เอ้าท์พุท โดยเลือกชนิดการต่อวงจรแหล่งจ่าย
อินพุทแบบSINKหรือSOURCE ตัวอย่างการทำงานการเปิด-ปิดประตู
โรงจอดรถ โดนต่อแบบ SINK
ออกแบบวงจรแลดเดอร์ภายใน PLC วาดรูปวงจรแลดเดอร์โดยแปลงจากวงจร
รีเลย์เดิมใส่เบอร์อุปกรณ์ที่หน้าสัมผัสอุปกรณ์อินพุท และคอยล์อุปกรณ์เอ้าท์พุท
ให้ถูกต้องโดยดูจากตารางให้เบอร์อุปกรณ์อินพุทและเอ้าท์พุทและกำหนดเบอร์
ตัวตั้งเวลา และรีเลย์เป็น T1,T2,M1,M2 ตามลำดับ
คำสั่งพื้นฐานในวงจรแลดเดอร์(Ladder)ที่ควรทราบมีดังนี้
คำสั่ง Load และ Load Inverse
คำสั่ง Load (LD) และLoad Inverse (LDI) เป็นคำสั่งที่เริ่มต้นในแต่ละ Line
โดยจะเชื่อมต่อกับเส้นแนวตั้งทางด้านซ้าย ใช้กับหน้าสัมผัสประเภทอินพุท(X)
เอ้าท์พุท(Y)อุปกรณ์รีเลย์(M,S)อุปกรณ์ตั้งเวลา(T)และอุปกรณ์นับจำนวน(C)
เป็นตัวสั่งงานเพื่อขับ Load ในบรรทัศนั้นๆ
คำสั่งโหลด จะใช้กับหน้าสัมผัสแบบปกติเปิด (Nomally Open :NO)สัญลักษณ์
ที่ใช้ในภาษาInstruction List คือ LD และมีโปรแกรม Steps เท่ากับ 1
รูป คำสั่ง Load หน้าสัมผัสปกติเปิดอินพุต X000
คำสั่ง Load Inverse จะใช้กับหน้าสัมผัสแบบปกติ(Nomally Closed:NC)
เสมอ สัญลักษณ์ ที่ใช้ในภาษา Instruction List คือ LDI และมีโปรแกรรม
Step เท่ากับ 1
เป็นคำสั่ง Load Inverse หน้าสัมผัสปกติปิดอินพุต X001
คำสั่ง Out
คำสั่ง Out เป็นคำสั่งที่สิ้นสุดในแต่ละ Line โดยจะเชื่อมต่อกับเส้นแนว
ตั้งทางด้านขวา ใช้กับคอปกรณ์ยล์ประเภทเอาต์พุท(Y)อุปกรณ์รีเลย์ช่วย(M,S)
อุปกรณ์ตั้งเวลา(T)และอุปกรณ์นับจำนวน(C)โดยที่คำสั่งOutสามารถเชื่อมต่อ
แบบขนานได้หลายตัว และทำงานพร้อมกันเมื่อคำสั่งLoadสั่งงานจ่ายกระแสไฟ
มาขับสัญลักษณ์ที่ใช้ในภาษา Instruction Listคือ OUT
รูป คำสั่ง Out ประเภทต่างๆ
คำสั่ง And และ And Inverse
คำสั่ง And (AND) และ And Inverse (ANI)เป็นคำสั่งที่ใช้ในการต่อหน้าสัมผัสในคำสั่ง
ที่ใช้หน้าสัมผัสประเภทอินพุท (X)เอ้าท์พุท (Y) อุปกรณ์รีเลย์ช่วย(M,S) อุปกรณ์ตั้งเวลา(T)
และอุปกรณ์นับจำนวน(C)มาต่อนุกรณ์และสามารถต่อหน้าสัมผัสได้อย่างไม่จำกัดจำนวน
แต่ไม่เกิน10หน้าสัมผัสในหนึ่งบรรทัดเพื่อใช้เป็นเงื่อนไข"และ"เพิ่มเติมจากคำสั่ง Load
หรือLoadInverse ในการสั่งงานขับ Load ในบรรทัดนั้นๆ
คำสั่ง And จะใช้กับหน้าสัมผัสแบ บปกติเปิด (Nomally Open:No) เสมอ
สัญลักษณ์ที่ใช้ในภาษาInstruction List คือ AND และมีโปรแกรรม Steps เท่ากับ 1
รูปการใช้งานคำสั่ง AND หลายๆหน้าสัมผัส
จากรูป โปรแกรมจะมีขั้นตอนกาารทำงานโดยหากคอยล์ Y001 จะ ON ได้ต่อเมื่อมีการ
สั่งงานให้หน้าสัมผัสอินพุท X001,X002,X003,X004,X005และหน้าสัมผัสอุปกรณ์
ตั้งเวลา T001 ทำงานพร้อมกันและคอยล์Y002 จะON ต่อเมื่อ Y001 ON และหน้า
สัมผัสเอ้าท์พุท Y003 ON ด้วยพร้อมกัน
คำสั่ง And Inverse จะใช้กับหน้าสัมผัสแบบปกติปิด (Nomally Closed:NC)เสมอ
สัญลักษณ์ที่ใช้ในภาษา Instruction List คือ ANI และโปรแกรรม Steps เท่านั้น 1
รูป การใช้งานคำสั่ง ANI หลายๆหน้าสัมผัส
โกรแกรรมจะมีขั้นตอนการทำงาน โดยตำแหน่งปกติหากหน้าสัมผัส X001 ทำงานจะทำให้
คอยล์ Yoo1 และ Y002 ON แต่หากคอยล์ Y003 ON หน้าสัมผัสเอาต์พุต Y003 เปิดจะทำ
ให้คอยล์ Y002 OFF และถ้าหากหน้าสัมผัสอินพุท X002 ทำงานหน้าสัมผัสเปิด คอยล์ Y001
Y002 ก็จะ OFF ทันที เนื่องจากไม่มีกระแสไฟฟ้าส่งถึงคอยล์เหล่านั้น
คำสั่ง Or(OR) และOr Inverse (ORI)
เป็นคำสั่งที่ใช้ในการต่อหน้าสัมผัสแบบขนาน โดยต่อขนานกับหน้าสัมผัสในคำสั่ง Load
หรือ Load Inverse ต่อขนานกับวงจรที่มีการใช้คำสั่ง And หรือ And Inverse ซึ่งสามารถ
ใช้สัมผัสประเภทอินพุต (X) เอาต์พุต (Y) อุปกรณ์รีเลย์ช่วย(M,S) อุปกรณ์ตั้งเวลา (T) และ
อุปกรณ์นับจำนวน (C) มาต่อขนานมาต่อขนาน โดยทางด้านซ้ายมือของคำสั่ง or หรือ
or inverse นี้สามารถต่อหน้าสัมผัสได้อย่างไม่จำกัดจำนวน แต่ต้องไม่เกิน 24 แถวใช้เป็นเงื่อนไข
“หรือ” เพิ่มเติมจากคำสั่ง Load หรือ Load Inverse ในการสั่งงานเพื่อขับ Load ในบรรทัดนั้นๆ
List คือ OR และมีโปรแกรม Stepsคำสั่ง Or Inverse ใช้กับหน้าสัมผัสแบบปกติปิด (Nomally Closed:NC)
เสมอ สัญลักษณ์ที่ใช้ในภาษา Instruction List คือ ORI และมีโปรแกรม Steps เท่ากับ 1
การใช้งานคำสั่ง OR and ORI หลายๆหน้าสัมผัส
จากรูปโปรแกรมจะมีขั้นตอนการทำงานโดนคอยล์ Y001 จะ ON ได้ต่อเมื่อหน้าสัมผัสอินพุท X001 หรือ X003หรือ X004
ทำงาน ซึ่ง X001X003 และ X004 เป็นต่อขนาด ซึ่งแต่ละหน้าสัมผัสเป็นแบบปกติเปิดจึงเป็นชนิดคำสั่ง or Inverse
ผลของการต่อแบบนี้ช่วยให้การเริ่มต้นของวงจรหรือเครื่องจักรที่ออกแบบวงจรแบบคำสั่ง or Inverse สามารถเลือก
สั่งงานที่หน้าสัมผัสใดก็ได้ โดยมีการออกแบบให้เป็นสวิตซ์ปุ่มกดที่อยู่ในที่ต่างกันได้ แต่เมื่อใดที่หน้าสัมผัส X002 ทำงาน
หน้าสัมผัสเปิด คอยล์ Y001 จะหยุดทำงานทันที่ในบรรทัดถัดมาเป็นเป็นต่อวงจรแบบ or Inverse โดยที่คอยล์ Y002 จะ
ทำงานอยู่ตลอดเนื่องจากหน้าสัมผัส X006 เป็นแบบปกติปิด ซึ่งส่วนใหญ่จะออกแบบหน้าสัมผัสอินพุต X006
เป็นประเภทเซนเซอร์ หรือลิมิตสวิตซ์ เป็นต้น
คำสั่ง Load Pulse (LDP) และ Load Trailing Pulse (LDF)
เป็นคำสั่งที่เริ่มต้นในแต่ละ Line ซึ่งจะแตกต่างจากคำสั่ง Load และ Load Inverse ที่คำสั่ง Load และ Load Inverse
จะทำงานสถานะค้างตำแหน่ง แต่คำสั่ง Load Pulse และ Load Trailing Pulse จะทำงานเพียงแค่ 1 Scantime และจะ
หยุดส่งสัญญาณกระแสให้กับ Load โดยจะเชื่อมต่อกับเส้นแนวตั้งทางด้านซ้ายคำสั่ง Load Pulse และ Load Trailing Pulse
ใช้กับหน้าสัมผัสประเภทอินพุต (X) เอาต์พุต (Y) อุปกรณ์รีเลย์ช่วย (M,S)อุปกรณ์ตั้งเวลา (T) และอุปกรณ์นับจำนวน (C)
เป็นตัวสั่งงานเพื่อขับ Load ในบรรทัดนั้นๆคำสั่ง Load Pulse จะใช้กับหน้าสัมผัส แบบปกติเปิดชนิดสัญญาณจังหวะ
(Rising Pulse)เสมอ โดยจะเปลี่ยนสถานะหน้าสัมผัส OFF เป็น NO สัญลักษณ์ที่ใช้ในภาษา Instruction List คือ LDP และ
มีโปรแกรม Steps เท่ากับ 2
จากรูป เมื่อคำสั่งที่อินพุตหน้าสัมผัส X001 จะเกิดสัญญาณ Pulse 1 จังหวะ ส่งไปขับคอยล์ Y001 ให้ทำงาน
และหยุดใน 1 Scantime ทำให้คอยล์ Y001 หยุดทำงาน
จากรูป ในตำแหน่งปกติ X000 จะอยู่ในตำแหน่ง ON แต่เนื่องจาก X000 เป็นหน้าสัมผัสแบบปกติปิด ชนิดสัญญาณ
จังหวะ (Falling Pulse) จึงทำให้ยังไม่มีสัญญาณผ่านออกไปจนกว่าจะมีการสั่งงานที่หน้าสัมผัส 2 ครั้ง
จาก ON เป็น OFF และจาก OFF เป็น ON จะเกิดสัญญาณ Pulse 1 จังหวะ และหากหน้าสัมผัสอินพุต X001
และX002 ON หรือหน้าสัมผัสอินพุต X003 ON กระแสไฟฟ้าจะถูกส่งไปขับคอยล์ Y000 ให้ทำงาน และจะหยุด
ใน 1 Scantime ทำให้คอยล์ Y000 หยุดทำงาน
คำสั่ง And Pulse (ANDP) และ And Trailing Pulse (ANDF)
เป็นคำสั่งใช้ในการต่อหน้าสัมผัสแบบอนุกรม ซึ่งสามารถใช้หน้าสัมผัสประเภทอินพุต (X) เอาต์พุต (Y) อุปกรณ์รีเลย์
ช่วย (M,S)อุปกรณ์ตั้งเวลา(T)และอุปกรณ์นับจำนวน (C) ประเภท Pulse หรือ Trailing Pulse มาต่ออนุกรม และสามารถ
ต่อหน้าสัมผัสได้อย่างไม่จำกัดจำนวนแต่ต้องไม่เกิน 10 หน้าสัมผัสในหนึ่งบรรทัด เพื่อใช้เป็นเงื่อนไข “และ” เพิ่มเติมจากคำสั่ง
Load หรือ Load Inverse หรือ Load Pulse หรือ Load Trailng Pulse ในการสั่งงานเพื่อบังคับ Load ในบรรทัศนั้น
คำสั่ง And Pulse จะใช้กับหน้าสัมผัสแบบปกติเปิดชนิดสัญญาณจังหวะ (Rising Pulse) เสมอ สัญลักษณ์ที่ใช้ในภาษา
Instruction List คือ ANDP และมีโปรแกรม Steps เท่ากับ 2
คำสั่ง And Trailing Pulse จะใช้กับหน้าสัมผัสแบบปกติปิดชนิดสัญญาณจังหวะ (Falling Pulse) เสมอสัญลักษณ์ที่ใช้
ในภาษา Instruction List คือ ANDF และมีโปรแกรม Steps เท่ากับ 2
คำสั่ง Or Pulse, Or Trailing Pulse
คำสั่ง Or Pulse (ORP) และ Or Trailing Pulse (ORF) เป็นคำสั่งที่ใช้ในการต่อหน้าสัมผัสแบบขนาน ซึ่งสามารถใช้
หน้าสัมผัสประเภทอินพุตอินพุต (X) เอาต์พุต (Y) อุปกรณ์รีเลย์ช่วย (M,S)อุปกรณ์ตั้งเวลา(T)และอุปกรณ์นับจำนวน (C)
ประเภท Pulse หรือ Trailing Pulse มาต่อขนาน และสามารถต่อหน้าสัมผัสได้อย่างไม่จำกัดจำนวนแต่ต้องไม่เกิน 24
หน้าสัมผัสในหนึ่งบรรทัด เพื่อใช้เป็นเงื่อนไข “หรือ” เพิ่มเติมจากคำสั่ง Load หรือ Load Inverse หรือ Load Pulse หรือ
Load Trailing Pulse ในการสั่งงานเพื่อบังคับ Load ในบรรทัดนั้นๆ
คำสั่ง Or Pulse, Or Trailing
คำสั่ง Or Pulse จะใช้กับหน้าสัมผัสแบบปกติเปิดชนิดสัญญาณจังหวะ (Rising
Pulse) เสมอสัญลักษณ์ที่ใช้ในภาษา Instruction List คือ ORP และมีโปรแกรม
Steps เท่ากับ 2
คำสั่ง Or Trailing Pulse จะใช้กับหน้าสัมผัสแบบปกติปิดชนิดสัญญาณจังหวะ
(Falling Pulse) เสมอ สัญลักษณ์ที่ใช้ในภาษา Instruction List คือ ORF
และมีโปรแกรม Steps เท่ากับ 2
คำสั่ง Or Block, And Block
คำสั่ง Or Block (ORB) และ And Block (ANB)
เป็นคำสั่งที่ใช้ในการรวมชุดหน้าสัมผัสที่ต่อเข้าด้วยกันโดยคำสั่ง Or Block
จะใช้การรวมชุดของหน้าสัมผัสที่ต่อเข้าด้วยกันแบบขนาน ส่วน And Block
จะใช้ในการรวมชุดของหน้าสัมผัสที่ต่อเข้าด้วยกันแบบอนุกรม
ในแลดเดอร์ไดอะแกรม And Block จะเป็นตัวที่เชื่อมชุดวงจรที่มีลักษณะ Block
2 วงจรเข้าด้วยกันในลักษณะอนุกรม และ Or Block จะเป็นลักษณะแบบขนาน
ซึ่งทั้ง 2 คำสั่งจะเป็นคำสั่งอิสระที่ไม่ต้องตามด้วยเบอร์อุปกรณ์
และจะไม่แสดงในรูปแลดเดอร์ไดอะแกรม แต่จะแสดงในแต่ละช่วงของปล็อกใน
Instruction List
จากรูปการใช้คำสั่ง Or Block, And Block
คำสั่ง Master Control, Reset
คำสั่ง Master Control, Reset (MC,MCR)
เป็นคำสั่งที่ใช้ควบคุมการทำงานของชุดวงจรให้เป็นไปตามลำดับขั้นการทำงาน
ซึ่งในแต่ละชุดลำดับจะถูกควบคุมด้วยคำสั่ง MC busline
ซึ่งทำหน้าที่เปรียบเสมือนเป็นการสร้างเส้นทางไฟขึ้นใหม่ในวงจร
คำสั่ง MC
จะมีหน้าสัมผัสที่ทำหน้าที่ในการสั่งงานให้ชุดควบคุมต่อไฟเลี้ยงลูปทำงาน N
ซึ่งลูปทำงาน N จะมีหมายเลขกำกับแต่ละลูป เช่น (MC NO M100)
จะเป็นการสั่งงานให้ลูป NO ทำงาน รีเลย์ M100
จะต่อสัญญาณไฟไปรอขับชุดการทำงานที่อยู่ในลูปนั้นๆ
และจะสิ้นสุดหรือยกเลิกการทำงานเมื่อหน้าสัมผัสที่สั่งงานคำสั่ง MC เป็น
Off
คำสั่ง MCR รีเซลลูป ทำให้อุปกรณ์หรือโหลดในลูปนั้นๆ หยุดการทำงาน ยกเว้นอุปกรณ์ประเภท Retentive Time (ชนิดเวลาสะสม)
คำ
สั่ง MC จะสามารถซ้อนลูปภายในได้ 8 ชั้น กำหนดโดย NO-N7 (ลูปนัมเบอร์)
โดยคำสั่ง MC มี โปรแกรม Steps เท่ากับ 3
ใช้สั่งงานหน้าสัมผัสประเภทเอาต์พุต(Y) อุปกรณ์รีเลย์ช่วย (M) และคำสั่ง
MCR มีโปรแกรม Steps เท่ากับ 2 ใช้ในการสั่งรีเซตลูป
จากรูปที่ 1 สามารถอธิบายการทำงานได้ดังนี้
เริ่ม
ต้นการทำงานหน้าสัมผัส X000 ON คำสั่ง MC จะสั่งให้ลูป NO ทำงานรีเลย์ M100
จะถูกสั่งงานทำให้มีกระแสไฟฟ้าส่งไปที่หน้าสัมผัส X002 ON จะทำให้คอยล์
Output Y000 ทำงานดังรูปที่ 2 แต่หากหน้าสัมผัส X000 Off
เมื่อใดจะให้หน้าคำสั่ง MC Reret คอยล์ Output Y000 หยุดทำงาน
จากรูปที่ 2 การสั่งงานคอลย์ Y000
เมื่อ
หน้าสัมผัส X000 ON นอกจากจะส่งกระแสไฟไปขับโหลด Y000 แล้ว
ยังส่งกระแสไฟมาที่หน้าสัมผัส X003 ด้วย และเมื่อหน้าสัมผัส X003 ON
จะสั่งให้ลูป N1 ทำงานรีเลย์ M101
จะถูกสั่งงานทำให้มีกระแสไฟส่งไปที่หน้าสัมผัส X004
ซึ่งเป็นหน้าสัมผัสแบบปกติปิด ทำให้คอยล์ Output Y001 ทำงานดังรูป 3
แต่หากหน้าสัมผัส X003 หรือ X000 Off เมื่อใดจะทำให้คำสั่ง MC Reset คอยล์
Output Y001 หยุดทำงาน แต่จะไม่ขึ้นอยู่กับหน้าสัมผัส X002 ดังรูป 4
แสดงการสั่งงานคอยล์ Y001
แสดงการยกเลิกสั่งงานคอยล์ Y001
คำสั่ง Set, Reset
คำสั่ง Set and Reset (SET, RST)
เป็นคำสั่งที่ใช้ควบคุมการทำงานของอุปกรณ์ โดยคำสั่ง Set
จะทำงานเมื่อมีกระแสไฟจ่ายให้คำสั่ง Set
ซึ่งอาจจะมาจากหน้าสัมผัสปกติเปิดหรือปกติปิด โดยคำสั่ง Set จะส่งค่าสัญญาณ
1 เพื่อสั่งงานให้อุปกรณ์ที่ถูกควบคุม ON และจะค้างตำแหน่ง ON
ไปตลอดแม้ว่าคำสั่ง Set จะไม่มีกระแสไฟเลี้ยงแล้วก็ตาม
อุปกรณ์ที่ถูกควบคุมจะ OFF ได้ก็ต่อเมื่อมีคำสั่ง Reset ส่งค่าสัญญาณ 1
มากระทำอีกครั้ง
คำสั่ง Set และ Reset สามารถใช้กับอุปกรณ์เบอร์เดียวกันได้หลายครั้ง
และคำสั่ง Reset สามารถใช้ในการรีเซตข้อมูลที่บรรจุในอุปกรณ์ต่างๆ เช่น
อุปกรณ์เก็บข้อมูลเชิงตัวเลข (Data Registers:d)เป็นต้น โดยคำสั่งเ Set
สามารถใช้สั่งงานประเภทเอาต์พุต (Y) อุปกรณ์รีเลย์ช่วย อุปกรณ์รีเลย์ช่วย
(M, S) มีโปรแกรม Steps สำหรับหน้าสัมผัสประเภทเอาต์พุต (Y)
อุปกรณ์รีเลย์ช่วย (M)
เท่ากับ 1 อุปกรณ์รีเลย์ช่วย (S) และรีเลย์ช่วยพิเศษ (Special Relay : M)
เท่ากับ 2 ส่วนคำสั่ง Reset ใช้สั่งงานหน้าสัมผัสประเภทเอาต์พุต (Y)
อุปกรณ์รีเลย์ช่วย (M,S) อุปกรณ์เก็บข้อมูลเชิงตัวเลข (D) อุปกรณ์ตั้งเวลา
(T) และอุปกรณ์นับจำนวน (C) มีโปรแกรม Steps สำหรับหน้าสัมผัส
ประเภทเอาต์พุต (Y) อุปกรณ์รีเลย์ช่วย (M) เท่ากับ 1
อุปกรณ์เก็บข้อมูลเชิงตัวเลข (Data Registers:D) เท่ากับ 3
รูปการทำงานคำสั่ง SET, RESET
คำสั่ง Timer, Counter (Reset)
คำสั่ง Reset Timer, Reset Counter (RST)
เป็นคำสั่งที่ใช้ควบคุมการทำงานของอุปกรณ์ประเภทอุปกรณ์ตั้งเวลา (T)
และอุปกรณ์นับจำนวน (C)
โดยเมื่อหน้าสัมผัสที่ควบคุมการทำงานอุปกรณ์ตั้งเวลา (T)
หรืออุปกรณ์นับจำนวน (C)
สั่งงานทำให้อุปกรณ์นับเวลาหรือจำนวนจนกระทั้งครบตามที่ตั้งไว้
หน้าสัมผัสของอุปกรณ์ตั้งเวลา (T) หรืออุปกรณ์นับจำนวน (C)
จะสั่งงานให้คอยล์เอาต์พุตทำงาน และเมื่อ Reset อุปกรณ์ตั้งเวลา (T)
หรืออุปกรณ์นับจำนวน(C)
จะทำให้อุปกรณ์เหล่านั้นหยุดการทำงานและหน้าสัมผัสของอุปกรณ์ตั้งเวลา (T)
หรืออุปกรณ์นับจำนวน (C) จะหยุดสั่งงานทำให้คลอย์เอาต์พุตหยุดทำงานด้วย
โดยคำสั่ง RST มีโปรแกรม Steps เท่ากับ 3
รูปตัวอย่างการทำงาน Timer,Counter
จากรูปสามารถอธิบายการทำงานดังนี้
(1)
เริ่มต้นการทำงานหน้าสัมผัส X000 ON คำสั่ง RST จะสั่งรีเซต T1
ทำให้อุปกรณ์และหน้าสัมผัส T1 หยุดทำงาน หากต้องการให้อุปกรณ์นับเวลา T1
เริ่มต้นต้องยกเลิกการรีเซตโดยสั่งให้หน้าสัมผัส X000 OFF
และสั่งให้หน้าสัมผัส X001 ON อุปกรณ์นับเวลา T1 จะเริ่มนับเวลาตามค่าคงที K
100 มีค่าเท่ากับ 100 msec หรือ 10 วินาที
เมื่อครบตามเวลาที่ตั้งไว้หน้าสัมผัส T1 จะสั่งงานให้คอยต์เอาต์พุต Y000
ทำงาน และจะหยุดทำงานต่อเมื่อหน้าสัมผัส X000 ON คำสั่ง RST ทำงานอีกครั้ง
(2)
การรีเซตอุปกรณ์นับจำนวน โดยสั่งงานให้หน้าสัมผัสอินพุต X003 ON คำสั่ง
RST จะสั่งรีเซต C200 ทำให้อุปกรณ์และหน้าสัมผัส C200 หยุดทำงาน
หากต้องการให้อุปกรณ์นับจำนวน C200 เริ่มต้นทำงานต้องการยกเลิกการรีเซต
โดยสั่งให้หน้าสัมผัส X003 OFF และสั่งงานให้หน้าสัมผัส X004 ON
อุปกรณ์นับเวลา C200 จะเริ่มนับเวลาตามค่าคงที่ K 10 มีค่าเท่ากับ 10 ครั้ง
โดนนับจำนวนครั้งการ ON-OFF ของหน้าสัมผัสอินพุต X004 ซึ่งอุปกรณ์นับจำนวน
C200 เป็นชนิด 32 bit(ชนิดนับขึ้น,นับลง) โดยใช้รีเลย์ช่วยพิเศษ M8200
เมื่อ M8200 อุปกรณ์นับจำนวนที่ทำงานต่อจาก M8200 จะเป็นแบบนับลง ดังนั้น
จากภาพหน้าสัมผัสอินพุต X002 ทำงาน ทำให้ M8002 ON ทำให้อุปกรณ์นับจำนวน
C200 นับจาก 0 ไปหา -10 ตามค่าคงที่ k10 เมื่อครบตามจำนวนที่ตั้งไว้
หน้าสัมผัส C200 จะสั่งงานให้คอยล์เอาต์พุต Y001
ทำงานและจะหยุดทำงานต่อเมื่อหน้าสัมผัส X003 ON คำสั่ง RST ทำงานอีกครั้ง
อุปกรณ์พื้นฐานกับการทำงานของ PLC
อุปกรณ์อินพุต (Inputs: I/P)
อุปกรณ์อินพุต
หรือหน้่สัมผัสอินพุต ใช้สัญลักษณ์ X ตามด้วยลำดับที่ของอินพุต
โดยใช้เลขฐานแปด สำหรับรุ่น FX1N เช่น X000, X001, X002,...,X007,X010
และเลขฐานสิบหกสำหรับรุ่นอื่นๆ หน้าสัมผัสจะเป็นแบบปกติเปิด NO
และแบบปกติปิดNC
ซึ่งหน้าสัมผัสอินพุตจะเป็นอุปกรณ์ประเภทที่สามารถมองเห็นได้และสามารถจับ
ต้องได้ เป็นอุปกรณ์จำพวกสวิตซ์ต่างๆ รวมไปถึงจำพวกเซนเซอร์ที่ควบคุม
โดยอุปกรณ์นี้จะต่ออยู่ภายนอก PLC เช่น
1. Proximity Switch 2. Switches 3
. Photoelectric Sensor 4.Limit Switch 5.Temperature Controller
6. Encoder 7.Digital Signal Controller
อุปกรณ์เอาต์พุต (Output: O/P)
อุปกรณ์เอาต์พุต(คอยล์
หน้าสัมผัส รีเลย์) ใช้สัญลักษณ์ Y ตามด้วยลำดับที่ของเอาต์พุต
โดยใช้เลขฐานแปดสำหรับ รุ่น FX1N เช่น X000, X001, X002,...,X007,X010
และเลขฐานสิบหกสำหรับรุ่นอื่นๆ หน้าสัมผัสจะเป็นแบบปกติเปิด NO
และแบบปกติปิดNC ส่วนคอยล์ (Output Coil)
ซึ่งหน้าสัมผัสอินพุตจะเป็นอุปกรณ์ประเภทที่สามารถมองเห็นได้และสามารถจับ
ต้องได้ นอกจากนี้ยังมีอุปกรณ์จำพวกหลอดไฟ มอเตอร์ไฟฟ้า คอนแทร็คเตอร์
หรือหลอดไฟต่างๆ ซึ่งอุปกรณ์นี้จะต่ออยู่ภายนอก PLC เช่น
รีเลย์ช่วย (Auxiliary Relays)
รีเลย์ช่วยใช้สัญลักษณ์ M
ตามด้วยลำดับที่ของอุปกรณ์ รีเลย์ช่วยเป็นเลขฐานสิบ เช่น M001-M009,M500
เป็นต้น
โดยอุปกรณ์รีเลย์ช่วยสามารถแบ่งได้เป็นหน้าสัมผัสแบบปกติเปิดNOและแบบปกติ
ปิดNC ส่วนคอนล์(Output Coil)
ซึ่งอุปกรณ์ช่วยจะเป็นอุปกรณ์ที่ไม่สามารถมองเห็นได้
อุปกรณ์นี้จะต่ออยู่ภายใน PLC
ใช้อุปกรณ์ทำให้การออกแบบโปรแกรมเป็นการควบคุมทางอ้อมนั่นคือ
อินพุตจะสั่งงานผ่านรีเลย์ช่วย และรีเลย์ช่วยจะสั่งงานเอาต์พุตต่อไป
อุปกรณ์รีเลย์ช่วยที่ใช้ในการเขียนโปรแกรม PLC มีอยู่ด้วยกัน 3 ประเภทใหญ่ๆ
คือ รีเลย์ช่วยแบบทั่วไป(General Relay) รีเลย์ช่วยแบบ Latch (Latch
Relay) และรีเลย์ช่วยพิเศษ (Special Relay)
รีเลย์ช่วยแบบทั่วไป (General Relay)
รีเลย์ช่วยประเภทนี้เป็นแบบปกติ
ทั่วไป
โดยรีเลย์ปรัเภทนี้จะทำงานหรือหยุดทำงานขึ้นอยู่กับการควบคุมโดยการทำงานของ
โปรแกรม
ซึ่งรีเลย์ช่วยแบบทั่วไปนี้จะเป็นรีเลย์ช่วยทำหน้าที่เป็นหน้าสัมผัสแบบปกติ
เปิดและแบบปกติปิดที่ช่วยสั่งงานตามขั้นตอนโปรแกรม PLC
โดยจะต้องถูกขับผ่านคอยล์เพื่อสั่งงานหน้าสัมผัสให้ทำงาน
หากเกิดสภาวะไฟดับหรือวงจรคอยล์รีเลย์ไม่มีกระแสไฟจ่ายไปที่คอยล์รีเลย์หน้า
สัมผัสของรีเลย์ช่วยตัวนั้นจะหยุดทำงานหรือกลับสู่สภาวะปกติของหน้าสัมผัส
และ
เมื่อมีกระแสไฟจ่ายไปที่คอยล์รีเลย์หน้าสัมผัสจะเริ่มทำงานตามโปรแกรมที่ควบ
คุม
ตัวอย่างอุปกรณ์รีเลย์ช่วยแบบทั่วไป
รีเลย์ช่วยแบบ Latch (Latch Relay)
รีเลย์ช่วยประเภทนี้เป็นแบบจำค่า
โดยมีแบตเตอร์รี่สำรองที่ทำหน้านี้ในการจำค่า (Keep Relays) ในสภาวะไฟดับ
หรือจัดเก็บในหน่วยความจำชนิด EEPROM การทำงานช่วยแบบ Latch
จะทำหน้าที่เหมือนรีเลย์ช่วยทั่วไป
ทำหน้าที่เป็นหน้าสัมผัสแบบปกติปิดที่ช่วยสั่งงานตามขั้นตอนโปรแกรม PLC
โดยจะต้องถูกขับผ่านคอยล์เพื่อสั่งงานหน้าสัมผัสให้ทำงาน
แต่เมื่อเกิดสภาวะไฟดับในขณะที่ PLC
กำลังทำงานอยู่รีเลย์ช่วยประเภทนี้จะยังสามารถจำสถานะเดิมของตัวมันเองได้
และเมื่อไฟกลับมาสู่สภาวะปกติรีเลย์ช่วยแบบ Latch จะยังแสดงสถานะเดิม
เหมือนตอนที่ PLC ทำงานก่อนที่จะเกิดสภาวะไฟดับ
ตัวอย่างการต่ออุปกรณ์รีเลย์ช่วยแบบ Latch
รีเลย์ช่วยแบบพิเศษ (Special Relay)
รีเลย์ช่วยแบบพิเศษเป็นรีเลย์ที่
ทำงานโดยขี้นอยู่กับสภาวะการทำงานในตัว PLC โดย PLC
จะมีรีเลย์ช่วยพิเศษที่ทำหน้าที่แตกต่างกันออกไป โดยมีหมายเลขตั้งแต่ M8000
เป็นต้นไป สามารถแบ่งออกได้เป็น 2 ชนิดคือ
1.ใช้หน้าสัมผัสของรีเลย์ช่วย
คอยล์จะถูกขับอัตโนมัติโดย PLC ตลอดเวลา
ซึ่งผู้ใช้จะสามารถเลือกหน้าสัมผัสของคอยล์นั้นๆมาใช้งานได้โดยไม่ต้องมีการ
สั่งงานคอยล์รีเลย์ตัวอย่าง เช่น
M 8000 จะเป็นรีเลย์ช่วยพิเศษที่ทำงานทันทีเมื่อ PLC เริ่มทำงาน (Run Monitor)
M 8002 จะทำงานเป็นสัญญาณจังหวะ Pulse เป็นเวลาสั้นๆ หลังจาก PLC เริ่ม RUN (lnital Pulse)
M 8005
จะทำงานเมื่อแบตเตอรี่อยู่ภายใน PLC
มีแรงดันไฟต่ำกว่ามาตรฐานที่กำหนดไว้ถ้าแรงดันไฟภายใน PLC
ยังอยู่ในเกณฑ์ที่กำหนดไว้ รีเลย์พิเศษนี้จะยังทำงาน
2.ใช้คอยล์ของรีเลย์ช่วยพิเศษ
คอยล์ของรีเลย์ช่วยพิเศษจะถูกกำหนดในโปรแกรมเมื่อใดที่คอยล์รีเลย์ช่วยพิเศษ
ทำงาน โปรแกรมจะถูกสั่งงานตามหน้าที่ของคอยล์รีเลย์ช่วยพิเศษนั้นๆ ตัวอย่าง
เช่น
M8034 เอาต์พุตทุกตัวจะไม่สามารถทำงานได้
ตัวอย่างการต่ออุปกรณ์รีเลย์ช่วยแบบพิเศษ
อุปกรณ์ควบคุมการไหลของโปรแกรม (Pointers)
อุปกรณ์ควบคุมการไหลของโปรแกรม
ใช้สัญลักษณ์ P ตามด้วยลำดับที่ของ Pointer เป็นเลขฐานสิบ เช่น P001-P009,
P500 เป็นต้น โดย Pointer จะเป็นการกำหนดให้การทำงานกระโดดอย่างมีเงื่อนไง
(CJ Function) ไปยังลำดับที่ของ Pointer ที่ควบคุมบรรทัดนั้นๆ
โดยจะกำหนดไว้ด้านซ้ายมือของเส้นแนวตั้งด้านซ้ายในโปรแกรมแลดเดอร์
ประโยชน์ของอุปกรณ์ควบคุมการไหลของโปรแกรม (Pointer) เพื่อกำหนด
หรือสั่งการทำงานให้โปรแกรมข้ามไปทำงานในโปรแกรมย่อย
โดยที่จะต้องมีเงื่อนไขในการกระโดดเพื่อเลือกการทำงานของโปรแกรมย่อย (Sub
Program)
รูปตัวอย่างการทำงานอุปกรณ์ควบคุมการไหลของโปรแกรม (Pointer)
คำสั่งแสดงค่าคงที่
คำสั่งแสดงค่าคงที่เลขฐานสิบ
(Constant K) ใช้สัญลักษณ์ K
ตามด้วยจำนวนค่าของตัวเลขในระบบเลขฐานสิบโดยเมื่อใช้ข้อมูลเป็นแบบ 16 บิต
ค่าของตัวเลขที่ใช้จะมีค่าตั้งแต่ -32,768 ถึง + 32,767 ได้จากค่า 2
ยกกำลัง 16 เท่ากับ 65,536 จำนวน ดังนั้น จึงมีค่าเท่ากับ 0 ถึง 32,767
(32,768 จำนวน) และ -32,768 ถึง –(32,768 จำนวน) ถ้าข้อมูลเป็นแบบ 32 บิต
ค่าของตัวเลขที่จะใช้เท่ากับ 2 ยกกำลัง 32 มีค่าเท่ากับ 4,294,967,296
จำนวน โดยมีค่าตั้งแต่ -2,147,483,648 ถึง +2,147,483,647
โดยค่าจำนวนในเลขฐานสิบที่กำหนดค่าต่อท้ายสัญลักษณ์ K
นี้จะเป็นตัวกำหนดค่าต่างๆ ซึ่งขึ้นอยู่กับว่าค่า K
ใช้ในการกำหนดค่าคงที่ของอุปกรณ์นับจำนวน (Counter) หรือ อุปกรณ์นับเวลา
(Timer) เช่น อุปกรณ์นับจำนวน C0 K100
โปรแกรมจะนับจำนวนหน้าสัมผัสอินพุตจนกระทั่งครบ 100 ครั้ง
หน้าสัมผัสอุปกรณ์นับจำนวนจึงจะทำงาน หรืออุปกรณ์นับเวลา T200 K1000
อุปกรณ์นับเวลาเป็นชนิดนับ 10 msec ดังนั้น K1000 มีค่าเท่ากับ 10 วินาที่
เป็นต้น
รูปตัวอย่างการกำหนดค่าคงที่ K สำหรับอุปกรณ์นับจำนวนและอุปกรณ์นับเวลา
คำสั่งแสดงค่าคงที่เลขฐานสิบหก
(Constant H) ใช้สัญลักษณ์ H ตามด้วยจำนวนค่าของตัวเลขในระบบเลขฐานสิบหก
โดยเมื่อใช้ข้อมูลเป็นแบบ 16 บิต ค่าของตัวเลขที่ใช้จะมีค่าตั้งแต่ 0 ถึง
FFFF และถ้าข้อมูลเป็นแบบ 32 บิต ค่าของตัวเลขที่ใช้จะมีค่าตั้งแต่ 0 ถึง
FFFFFFFF โดยคำสั่งแสดงค่าคงที่เลขฐานสิบหกจะนำไปใช้ร่วมกับคำสั่งประยุกต์
อุปกรณ์หน่วงค่าเวลา (Timers)
อุปกรณ์หน่วงค่าเวลา (Timers)
ใช้สัญลักษณ์ T ตามด้วยลำดับที่ของอุปกรณ์ตั้งเวลา
และเว้นวรรคตามด้วยค่าคงที่เลขฐานสิบของเวลา K เช่น T000 K100, T001, K10
เป็นต้น โดยเป็นอุปกรณ์ที่ใช้ในการหน่วงค่าเวลา
สามารถแบ่งได้เป็นหน้าสัมผัสแบบปกติเปิด (Nomally Open : NO)
และหน้าสัมผัสแบบปกติปิด (Nomally Closed : NC) และคอยล์ (Output Coil)
อุปกรณ์หน่วงค่าเวลาจะทำงานโดยการนับสัญญาณเวลาตามจำนวนค่าเวลาที่กำหนดไว้
ในค่าคงที่เลขฐานสิบ (K) เมื่อครบตามจำนวนเวลาหน่วง
หน้าสัมผัสเอาต์พุตของอุปกรณ์หน่วงค่าเวลาจะทำงาน
ซึ่งอุปกรณ์หน่วงค่าเวลาจะเป็นอุปกรณ์ประเภทที่ไม่สามารถมอบเห็นได้
และสามารถจับต้องได้ อุปกรณ์หน่วงค่าเวลาที่ใช้ในการเขียนโปรแกรม PLC
มีอยู่ 2 แบบคือ
1. อุปกรณ์หน่วงค่าเวลาทั่วไป
(General Timer) จะทำงานตามลำดับขั้นตอนการทำงานของโปรแกรม
เมื่อเกิดสภาวะไฟดับในขณะที่ PLC
กำลังทำงานอยู่อุปกรณ์หน่วงค่าเวลาทั่วไปจะเซตค่าที่หน่วงกลับไปเริ่มต้นที่
0 ใหม่อีกครั้ง และเมื่อ PLC
มีกระแสไฟจ่ายมาเลี้ยงอีกครั้งอุปกรณ์หน่วงค่าเวลาทั่วไปจะทำงานตามลำดับ
ขึ้นการทำงานของโปรแกรมอีกครั้งหนึ่ง
2. อุปกรณ์หน่วงค่าเวลาแบบจำค่า
(Retentive Timer) จะทำงานตามลำดับขั้นการทำงานของโปรแกรม
เมื่อเกิดสภาวะไฟดับหรือไม่มีการจ่ายกระแสไฟมาเลี้ยงคอยล์
อุปกรณ์หน่วงเวลาในขณะที่ PLC กำลังทำงานอยู่ อุปกรณ์หน่วงค่าเวลาแบบจำค่า
โดยจำหน่วงค่าค้างไว้และเมื่อ PLC มีกระแสไฟจ่ายมาเลี้ยงอีกครั้งหนึ่ง
อุปกรณ์หน่วงค่าเวลาแบบจำค่าจะทำงานตามลำดับขั้นการทำงานของโปรแกรมอีกครั้ง
หนึ่ง และนับเวลาต่อเนื่องจากที่หยุดค้างไว้ก่อนที่จะเกิดสภาวะไฟดับ
อุปกรณ์หน่วงค่าเวลาแบบจำค่า จะเซตค่าที่หน่วงกลับไปเริ่มต้นที่ 0
ใหม่อีกครั้งหนึ่งได้ต้องมีคำสั่ง Reset (RST)
ตามด้วยเบอร์ของอุปกรณ์หน่วงค่าเวลาแบบจำค่า เช่น [RST T250]
ตัวอย่างค่าความละเอียดของอุปกรณ์หน่วงค่าเวลา RLC Mitsubishi FX1N, FX2N, FX3U
อุปกรณ์หน่วงค่าเวลา (timers)
ชนิด 16 บิต
|
ค่าความละเอียดของอุปกรณ์หน่วงค่าเวลา PLC Mitsubishi FX1N, FX2N
|
100 msec
|
10 msec
|
1 msec
|
อุปกรณ์หน่วงค่าเวลาทั่วไป
|
T0-T199
|
T200-T245
|
T246-T249
|
อุปกรณ์หน่วงค่าเวลาแบบจำค่า
|
T250-T255
|
-
|
-
|
รูปตัวอย่างการทำงานอุปกรณ์หน่วงค่าเวลา
การคำนวณหาค่าคงที่เลขฐานสิบ (K)
ที่ใช้สำหรับหน่วงเวลาในอุปกรณ์หน่วงค่าเวลา
เนื่องจากอุปกรณ์หน่วงค่าเวลาของ PLC เป็นแบบ 16 บิต
จึงมีช่วงของจำนวนในการตั้งค่าเวลาเท่ากับ -32, 768 ถึง + 32, 767
และอุปกรณ์หน่วงค่าเวลาได้ถูกแบ่งความละเอียดของการหน่วงค่าเวลาออกเป็น 3
แบบด้วยกันคือ 100 msec, 10 msec, และ 1 msec ดังตารางที่ 5.2 ดังนั้น
ค่าคงที่เลขฐานสิบ (K)
ที่ใช้ในการกำหนดค่าจึงต้องมีการคำนวณและกำหนดค่าให้เหมาะสมกับชนิดของ
อุปกรณ์หน่วงค่าเวลาดังนี้
ค่าคงที่เลขฐานสิบ (K) อุปกรณ์หน่วงค่าเวลา
ชนิด 100 msec = เวลาที่ต้องการหน่วง X 10
ชนิด 10 msec = เวลาที่ต้องการหน่วง X 100
ชนิด 1 msec = เวลาที่ต้องการหน่วง X 1,000
ตัวอย่างที่ 5.1 ต้องการทำการหน่วงเวลา 50 วินาที
T250 ชนิด 100 msec ดังนั้น ค่า K = 50 x 10 = 500 ใช้คำสั่ง (T250 K500)
T210 ชนิด 10 msec ดังนั้น ค่า K = 50 x 100 = 5,000 ใช้คำสั่ง (T210 K5000)
T246 ชนิด 1 msec ดังนั้น ค่า K = 50 x 1000 = 50,000 ใช้คำสั่ง (ค่าสูงสุดไม่เกิน 32,767)
ต้องใช้อุปกรณ์หน่วงค่าเวลาชนิด 1 msec 2 ตัว คำสั่ง (T246 K30000), (T247 K20000)
รูปตัวอย่างการทำงานอุปกรณ์หน่วงค่าเวลาทั้ง 3 แบบ
อุปกรณ์นับจำนวนเปิด-ปิดหน้าสัมผัส (Counters)
อุปกรณ์นับจำนวนเปิด-ปิดหน้าสัมผัส (Counters) ใช้สัญลักษณ์ C
ตามด้วยลำดับที่ของอุปกรณ์จำนวน
และเว้นวรรคตามด้วยค่าคงที่เลขฐานสิบของจำนวน K เช่น C000 K150 K300
เป็นต้น อุปกรณ์ที่ใช้ในการนับจำนวนสามารถแบ่งได้เป็นหน้าสัมผัสแบบปกติเปิด
(Nomally Open : NO) และห้าสัมผัสแบบปกติปิด (Nomally Closed : NC)
และคอยล์ (Output Coil)
อุปกรณ์นับจำนวนจะทำงานโดยการนับสัญญาณเปิด-ปิด (ON-OFF)
ตามจำนวนค่าที่กำหนดไว้ในค่าคงที่เลขฐานสิบ (K) เมื่อครบตามจำนวนครั้ง
หน้าสัมผัสเอาต์พุตของอุปกรณ์นับจำนวนจะทำงาน
การใช้คำสั่งในการนับจำนวนต้องใช้ควบคู่กับคำสั่งรีเสตเสมอ เช่น [RST C10]
ซึ่งอุปกรณ์นับจำนวนจะเป็นอุปกรณ์ประเภทที่ไม่สามารถมองเห็นได้และสามารถจับ
ต้องได้
อุปกรณ์นับจำนวนที่ใช้ในการเขียนโปรแกรม PLC มีอยู่ 2 แบบคือ 16 บิต
ค่าของตัวเลขที่ใช้จะมีค่าตั้งแต่ -32,768 ถึง +32,767 และ 32 บิต
มีค่าตัวเลขที่ใช้จะมีตั้งแต่ -2,147,483,648 ถึง +2,147,483,647
และจะแบ่งเป็นอุปกรณ์นับจำนวนทั่วไป (General Counter)
และอุปกรณ์นับจำนวนจำค่าได้ (Latched Counter)
อุปกรณ์นับจำนวน (Counters)
|
อุปกรณ์นับจำนวน PLC Mitsubishi FX1N, FX2N
|
ชนิด 16 บิต
(-32,768 ถึง +32,767
|
ชนิด 32 บิต แบบนับขึ้นและนับลง
(-2,147,438,648 ถึง +2,147,438,647)
|
อุปกรณ์นับจำนวนทั่วไป
|
C0-C99
|
C200-C219
|
อุปกรณ์นับจำนวนแบบจำค่า
|
C100-C199
|
C220-C234
|
อุปกรณ์นับจำนวนเปิด-ปิดหน้าสัมผัส (Counters) แบบนับจำนวนทั่วไปและแบบนับจำนวนจำค่าชนิด 16 บิต
ตัวอย่างในรูปที่ 5.14
การทำงานของอุปกรณ์นับจำนวนชนิดนี้จะทำงานโดยค่าของ Counter
จะเพิ่มขึ้นทุกๆ ครั้งที่คอยล์ Counter NO (C0)
และจะเพิ่มขึ้นจนกระทั่งถึงค่าคงที่เลขฐานสิบ (K20)
ที่ตั้งไว้โดยตรงหรือใช้ข้อมูลตัวเลขที่เก็บไว้ใน Data Register (D)
ซึ่งเป็นแบบทางอ้อม หน้าสัมผัส Counter (C0) จะ ON
ทำงานจ่ายกระแสไฟไปขับคอยล์เอาต์พุต (Y000) ซึ่งหลังจากนี้คอยล์ Counter
จะไม่เปลี่ยนแปลงค่านับและคอยล์เอาต์พุตจะทำงานตลอด จนกระทั่งโปรแกรมจะสั่ง
Reset ค่า Counter โดยใช้หน้าสัมผัส X000 สั่ง Reset Counter C0 คอยล์
Counter C0 จะกลับไปเริ่มต้นที่ 0 อีกครั้งและคอยล์เอาต์พุต Y000 จะ OFF
โดยอุปกรณ์นับจำนวนเปิด-ปิดหน้า
สัมผัส (Counters) แบบนับจำนวนทั่วไป (General Counter 16 bit) รุ่น
FX1N,FX 2N จะมี Count ตั้งแต่หมายเลข 0-99
โดยจะเป็นชนิดที่นับค่าขึ้นทิศทางเดียวไม่สามารถนับค่าแบบลดลงได้ และเมื่อ
PLC ไม่มีไฟมาเลี้ยง Counter ชนิดนี้จะ Set ค่าเป็น 0 ทันที
อุปกรณ์นับจำนวนแบบจำค่า
(Latched Counter 16 bit) รุ่น FX1N,FX 2N จะมี Counter ตั้งแต่หมายเลข
100-199 โดยจะเป็นชนิดที่นับค่าขึ้นทิศทางเดียงไม่สามารถนับค่าแบบลดลงได้
และเมื่อ PLC ไม่มีไฟมาเลี้ยง Counter ชนิดนี้จะสามารถเก็บข้อมูลได้
เมื่อป้อนไฟให้กับ PLC อีกครั้ง
อุปกรณ์นับจำนวนแบบจำค่าจะนับค่านับเดิมที่เก็บไว้ก่อนไฟดับมาใช้แล้วนับค่า
ต่อจากเดิม
รูปตัวอย่างการทำงานอุปกรณ์นับจำนวนเปิดปิดหน้าสัมผัส(Counters)แบบนับจำนวนทั่วไป(GeneralCounter16 bit)
อุปกรณ์นับจำนวนเปิด-ปิดหน้าสัมผัส (Counters) แบบนับจำนวนทั่วไปและแบบนับจำนวนค่าชนิด 32 บิต 2 ทิศทางการนับ
การทำงานของอุปกรณ์นับจำนวนชนิดนี้จะทำงานลักษณะเดียวกับอุปกรณ์จำนวน 16
บิต แต่อุปกรณ์นับจำนวนชนิด 32 บิต
จะสามารถทำงานได้ทั้งแบบนับเดินหน้าและนับถอยหลัง โดยอาศัยรีเลย์ช่วยพิเศษ
M8200-M8234 เป็นตัวกำหนดทิศทางการนับ หากรีเลย์ช่วยพิเศษ ON
อุปกรณ์นับจำนวนจะนับถอยหลังและถ้ารีเลย์ช่วยพิเศษ OFF
อุปกรณ์นับจำนวนจะนับเดินหน้า หน้าสัมผัส Counter (C200) จะ ON
ต่อเมื่อการนับเป็นแบบนับเดินหน้า
ตัวอย่างในรูป 5.16
เมื่ออุปกรณ์นับจำนวนนับถอยหลัง -7, -8 คอยล์ Counter จะยังคง OFF
แต่หากสั่งงานให้รีเลย์ช่วยพิเศษ OFF อุปกรณ์นับจำนวนจะนับเดินหน้าจาก -9,
-8 คอยล์ Counter จะ ON และหน้าสัมผัส Counter (C200) จะ ON
ทำงานจ่ายกระแสไฟไปขับคอยล์เอาต์พุต (Y000)
คอยล์เอาต์พุตจะทำงานตลอดจนกระทั่งโปรแกรมจะสั่ง Reset ค่า Counter
โดยใช้หน้าสัมผัส X000 สั่ง Rest Counter C200 คอยล์ Counter C200
จะกลับไปเริ่มต้นที่ 0 อีกครั้งและคอยล์เอาต์พุต Y000 จะ OFF
โดยอุปกรณ์นับจำนวนเปิด-ปิดหน้า
สัมผัส (Counter) แบบนับจำนวนทั่วไป (General Counter 32 Bit) รุ่น FX1N,FX
2N จะมี Counter ตั้งแต่หมายเลข 200-219 โดยจะเป็นชนิดที่นับค่าได้ 2
ทิศทางทั้งแบบนับเดินหน้าและนับถอยหลัง และเมื่อ PLC ไม่มีไฟมาเลี้ยง
Counter ชนิดนี้จะ Set ค่าเป็น 0 ทันที
อุปกรณ์นับจำนวนแบบจำค่า
(Latched Counter 16 bit) รุ่น FX1N,FX 2N จะมี Counter ตั้งแต่หมายเลข
220-234 โดยจะเป็นชนิดที่นับค่าได้ 2
ทิศทางทั้งแบบนับเดินหน้าและนับถอยหลัง และเมื่อ PLC ไม่มีไฟมาเลี้ยง
Counter ชนิดนี้จะสามารถเก็บข้อมูลได้ เมื่อป้อนไฟให้กับ PLC อีกครั้ง
อุปกรณ์นับจำนวนแบบจำค่าจะนำค่านับเดิมที่เก็บไว้ก่อนไฟดับมาใช้แล้วนับค่า
ต่อจากของเดิม
การนับจำนวนแบบ 2 ทิศทาง
(Bi-directional Counters) เป็นการใช้อุปกรณ์นับจำนวนแบบ 32 บิต
ซึ่งมีค่าอยู่ในช่วง -2,147,483,647 ถึง +2,147,483,648
โดยอาศัยรีเลย์ช่วยพิเศษ M8200 ถึง M8234
เป็นตัวช่วยกำหนดทิศทางของการนับหากรีเลย์ช่วยพิเศษ ON
การนับจะเป็นการนับถอยหลัง และหากการนับจำนวนถึงค่า -2,147,483,647
อุปกรณ์นับจำนวนจะนับค่า +2,147,483,648
เป็นลำดับถัดไปและนับค่าถอยหลังต่อไปเรื่อยๆ และหากรีเลย์ช่วยพิเศษ OFF
การนับจะเป็นการนับเดินหน้า จำนวนถึงค่า +2,147,483,648
อุปกรณ์นับจำนวนจะนับค่า -2,147,483,647
เป็นลำดับถัดไปและนับค่าเดินหน้าต่อไปเรื่อยๆ
รูปตัวอย่างการทำงานอุปกรณ์นับจำนวนเปิด-ปิดหน้าสัมผัส (Counters) แบบนับจำนวนทั่วไป(General Counter 32 bit Bi-direction)
อุปกรณ์เก็บข้อมูลแบบตัวเลข (Data Registers)
อุปกรณ์เก็บข้อมูลแบบตัวเลข
(Data Registers) ใช้สัญลักษณ์ D
ตามด้วยลำดับที่ของอุปกรณ์เก็บข้อมูลแบบตัวเลขเป็นฐานสิบ เช่น D001-D009,
D019 เป็นต้น โดยอุปกรณ์เก็บข้อมูลแบบตัวเลขเป็นอุปกรณ์ที่ใช้เก็บข้อมูล
(Data) แบบตัวเลขหรือข้อมูลในรูปแบบของ 16 บิต/32 บิต
สามารถใช้เป็นค่าตัวเลขตั้งค่าให้กับอุปกรหน่วงค่าเวลาหรืออุปกรณ์นับจำนวน
เราสามารถแบ่งเป็นอุปกรณ์เก็บ
ข้อมูลตัวเลขทั่วไป (General use registers),
อุปกรณ์เก็บข้อมูลแบบตัวเลขจำค่าได้ (Latched registers)
อุปกรณ์เก็บข้อมูลชนิดพิเศษ (Diagnostic registers)
อุปกรณ์เก็บข้อมูลแบบตัวเลขชนิดเก็บข้อมูลในหน่วยความจำ (File Registers)
และอุปกรณ์เก็บข้อมูลแบบตัวเลขภายนอก (Externally Adjusted Registers)
ตัวอย่างอุปกรณ์เก็บข้อมูลแบบตัวเลข PLC Mitsubishi FX1N, FX2N, FX3U
ชนิดอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป/PLC
|
FX1N
|
FX2N
|
FX3U
|
อุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป
|
200 (D0D199)
|
512 (D0D511)
|
อุปกรณ์เก็บข้อมูลแบบตัวเลขจำค่าได้
|
312
(D200-D512)
|
7800
(D200-D7999)
|
7488
(D512-D7999)
|
อุปกรณ์เก็บข้อมูลชนิดพิเศษ
|
256 (D8000-8255)
|
512
(D800-D8511)
|
อุปกรณ์เก็บข้อมูลแบบตัวเลขชนิดเก็บ
ข้อมูลในหน่วยความจำ
|
2000
(D1000-D2999)
|
700
(D1000-D7999)
|
อุปกรณ์เก็บข้อมูลแบบตัวเลขภายนอก
|
|
|
|
อุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป (General use registers)
อุปกรณ์เก็บข้อมูลแบบตัวเลขทั่ว
ไปใช้เก็บข้อมูลที่แปลงเป็นตัวเลขหรือชุดอนุกรมของบิต ซึ่งเป็น ON หรือ OFF
อุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป 1 ตัวจะประกอบด้วย 16 บิตหรือ 1 เวิร์ด
และอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป 2
ตัวติดต่อกันสามารถใช้เป็นอุปกรณ์แบบ 32 บิต (Double Word)
ข้อมูลแบบตัวเลขจะถูกเขียนลงในอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป
ค่าของข้อมูลในอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไปจะไม่เปลี่ยนแปลงจนกว่ามี
การเปลี่ยนสถานะจาก RUN เป็น STOP ข้อมูลจึงจะถูกแก้ไขตามค่าที่กำหนด
รูปตัวอย่างการทำงานอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป (General use registers 16 bit)
จากตัวอย่างในรูป
เป็นการนำอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไปมาใช้ในการเก็บค่าคงที่ของ
อุปกรณ์หน่วงเวลา (Timer) โดยการใช้ร่วมกับคำสั่ง MOVE (MOV)
นำค่าคงที่เลขฐานสิบ K10 จำนวนเท่ากับ 10
เก็บไว้ในอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป D0 และสั่งให้อุปกรณ์หน่วงเวลา
T0 หน่วงเวลาตามค่าของอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป ซึ่งจะมีค่าเท่ากับ
10 โดยที่ในตัวอย่างรูปที่ 5.18 จะเป็นการทำงานในรูปแบบของข้อมูล 16
บิตนั่นคือ มีค่าไม่เกินตั้งแต่ -32,768 ถึง +32,767
รูปตัวอย่างการทำงานอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป (General use registers 32 bit)
จากตัวอย่างในรูป
เป็นการนำอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไปมาใช้ในการเก็บค่าคงที่แบบ 32
บิต โดยการใช้ร่วมกับคำสั่ง MOVE (DMOV) เป็นคำสั่งในรูปแบบของข้อมูล 32
บิต ซึ่งสามารถกำหนดค่าข้อมูลได้มากกว่า -32,768 ถึง +32,767
แต่ไม่เกินช่วง -2,147,483,467 ถึง +2,147,483,648 นำค่าคงที่เลขฐานสิบ K10
จำนวนเท่ากับ 40,000 เก็บไว้ในอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป D0 และ D2
โดยค่าที่เกิน 32,767
จะถูกเก็บในอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไปหมายเลขถัดไปคือ D1 และ D3
ตามลำดับ แล้วนำค่าที่ได้ไปใช้งานด้วยคำสั่งคำนวณผลรวมทางคณิตศาสตร์แบบ 32
บิต ADD (DADD) นำผลที่ได้จัดเก็บในอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไป D4
ซึ่งผลที่ได้มีค่าเท่ากับ 80,000
อุปกรณ์เก็บข้อมูลแบบตัวเลขแบบจำค่า (Latch Data registers)
อุปกรณ์เก็บข้อมูลแบบตัวเลขแบบจำ
ค่าใช้เก็บข้อมูลที่แปลงเป็นตัวเลขหรือชุดอนุกรมของบิดเช่นเดียวกับอุปกรณ์
เก็บข้อมูลแบบตัวเลขทั่วไป
ข้อมูลแบตัวเลขจะถูกเขียนลงในอุปกรณ์เก็บข้อมูลแบบตัวเลขแบบจำค่า
ค่าของข้อมูลในอุปกรณ์เก็บข้อมูลแบบตัวเลขทั่วไปจะไม่เปลี่ยนแปลงจนกว่ามี
การเขียนข้อมูลทับลงไป ซึ่งจะไม่ขึ้นกับการเปลี่ยนแปลงสถานะจาก RUN เป็น
STOP ข้อมูลก็จะไม่ถูกแก้ไขค่า
อุปกรณ์ตรวจสอบสถานการณ์ทำงานและความผิดพลาด (Diagnostic Devices)
การใช้งาน PLC
สามารถตรวจสอบสถานการณ์ทำงานปัจจุบัน และความผิดพลาดหรือ Error
ที่อาจเกิดขึ้นซึ่งการทำงานและการใช้อุปกรณ์ตรวจสอบสถานการณ์ทำงานและความ
ผิดพลาดเป็นการใช้อุปกรณ์พิเศษภายในประกอบด้วย รีเลย์ช่วยพิเศษ (M800
ขึ้นไป) และอุปกรณ์เก็บข้อมูลชนิดพิเศษ (Data Register : D800 ขึ้นไป)
โดยที่อุปกรณ์รีเลย์ช่วยพิเศษชนิดนี้คอยล์จะไม่สามารถขับออกได้
แต่หน้าสัมผัสจะสามารถอ่านและทำงานได้ และสำหรับอุปกรณ์เก็บข้อมูลชนิดพิเศษ
(data Register : D) จะไม่สามารถเขียนค่าลงไปในอุปกรณ์ได้
แต่ค่าภายในอุปกรณ์จะสามารถนำมาใช้ในการเปรียบเทียบได้ เช่น
อุปกรณ์ตรวจสอบสถานะการทำงานของ
PLC (PLC Stats) ประกอบด้วยการใช้อุปกรณ์พิเศษภายในประเภทรีเลย์ช่วยพิเศษ
M800 – M8009 โดยหน้าสัมผัส M800 – M8009 จะทำงานตามสภาวะการทำงานของ PLC
เช่น หน้าสัมผัส M8000 ON (Nomally Open Contact) เมื่อ PLC ทำงาน
หรือหน้าสัมผัส M8005 ON เมื่อพลังงามแบตเตอรี่ Voltage
ต่ำกว่าค่าที่ตังไว้ใน D8006 เป็นต้น และอุปกรณ์เก็บข้อมูลชนิดพิเศษ D800 –
D8009 เป็นการแสงสถานะของ PLC ณ ปัจจุบัน เพื่อเป็นการแสดงถึงสถานะของชุด
PLC ที่ใช้ เช่น D8003 จะแสดงค่าสถานะชนิดหน่วยความจำเป็นที่ใช้ว่าเป็นชนิด
RAM, EPROM, EEPROM เป็นต้น หรือ D8005 แสดงค่าพลังงาน Battery Voltage
เป็นต้น
อุปกรณ์แสดงสถานการณ์ทำงานของค่า
เวลา (Clock Devices)
ประกอบด้วยการใช้อุปกรณ์พิเศษภายในประเภทรีเลย์ช่วยพิเศษ M8010-M8019
โดยหน้าสัมผัส M8010-M8019 เป็นการทำงานในส่วนของการตั้งค่าและการใช้งาน
Real Time Clock (RTC) เช่น หน้าสัมผัส M815 เมื่อสั่งให้ ON
เป็นการหยุดการทำงานของนาฬิกา และเมื่อสั่งให้หน้าสัมผัส M8015 OFF
นาฬิกาเริ่มทำงานอีกครั้ง หรือเมื่อสั่งให้หน้าสัมผัส M8016 ON จะทำให้
D8013-D8019 หยุดแต่นาฬิกายังคงทำงานอย่างต่อเนื่อง เป็นต้น
และอุปกรณ์เก็บข้อมูลชนิดพิเศษ D8000-D8009
เป็นการแสดงสถานการณ์ทำงานของค่าเวลา Real Time Clock (RTC) เช่น D8013
เป็นการแสดงข้อมูลเวลา Real Time Clock (RTC) แสดงข้อมูลวินาที่ (0-59
วินาที) หรือ D8016 เป็นการแสดงข้อมูลเวลา Real Time Clock (RTC)
แสดงข้อมูลวันที่ (วันที่ 1-31) เป็นต้น
อุปกรณ์การตั้งค่าและการใช้งาน
ร่วมกับคำสั่งพิเศษแบบ Arithemtic and Logical Operations (Operation
Flags) ประกอบด้วยการใช้อุปกรณ์พิเศษภายในประเภทรีเลย์ช่วยพิเศษ
M8020-M8029 โดยหน้าสัมผัส M8020-M8029
เป็นการทำงานในส่วนของการตั้งค่าและการใช้งานร่วมกับคำสั่งพิเศษแบบ
Arithmetic and Logical Operations เช่น หน้าสัมผัส M8020 ON
เมื่อผลของการบวกหรือลบเท่ากับ 0 ในชุดคำสั่งพิเศษ Addition (ADD) และ
Subtraction (SUB) และอุปกรณ์เก็บข้อมูลแบบชนิดพิเศษ D8020-D8029
เป็นการตั้งค่าอินพุตฟิลเตอร์ (Input Filter) ที่ใช้กับหน่วยประมวลผลหนัง
ซึ่งใช้กับอินพุตประเภท 24 VDC
อุปกรณ์ควบคุมการทำงาน (PC
Operation Mode)
ประกอบด้วยการใช้อุปกรณ์ชนิดพิเศษภายในประเภทรีเลย์ช่วยพิเศษ M8030-M8039
โดยหน้าสัมผัส M8030-M8039 และอุปกรณ์เก็บข้อมูลชนิดพิเศษ D8030-D8039
เป็นการทำงานในส่วนการควบคุมกระบวนการทำงาน PLC เช่น คอยล์ M8034 ON
การทำงานของอุปกรณ์เอาต์พุตทั้งหมดของระบบจะหยุดทำงาน
ซึ่งโปรแกรมยังคงทำงานปกติแต่คอยล์เอาต์พุตจะหยุดทำงาน
อุปกรณ์ตรวจสอบความผิดพลาด
(Error Detection Devices)
ประกอบด้วยการใช้อุปกรณ์พิเศษภายในประเภทรีเลย์ช่วยพิเศษ M8060-M8069
และอุปกรณ์เก็บข้อมูลชนิดพิเศษ D8060-D8069
เป็นการทำงานในส่วนของการตรวจสอบหาข้อผิดพลาดในการทำงานของ PLC เช่น D8061
เป็นการแสดงให้ทราบว่าเกิดการผิดพลาดในส่วนของ PLC (Hardware Error)
นอกจากตัวอย่างที่กล่าวมาข้างต้น
PLC แต่ละรุ่นจะมีรีเลย์ช่วยพิเศษ
และอุปกรณ์เก็บข้อมูลชนิดพิเศษจำนวนที่แตกต่างกันไปผู้ใช้จะต้องศึกษาจากคู่
มือการทำงานของ PLC รุ่นนั้นๆ
เพื่อที่จะสามารถนำอุปกรณ์และคำสั่งที่มีอยู่ใน PLC
มาใช้งานได้อย่างเต็มประสิทธิภาพ
คำสั่งประยุกต์ (Applied Instructions)
การใช้งาน PLC
นอกจากผู้ใช้ต้องทราบถึงพื้นฐานการออกแบบโปรแกรมและคำสั่งพื้นฐานแล้ว
ยังต้องทราบและเข้าใจหลักการทำงานและการใช้งานคำสั่งประยุกต์ด้วย
คำสั่งประยุกต์คือ
คำสั่งพิเศษของ PLC ใช้ในการจัดการข้อมูลที่มีความซับซ้อน
และมีเงื่อนไขในการทำงานที่ซับซ้อนหลายขั้นตอน การคำนวณทางคณิตศาสตร์
เป็นต้น
คำสั่งประยุกต์จะแบ่งออกเป็น 3
ระดับคือ 16 บิต (Single), 32 บิต (Double) และสัญญาณจังหวัด (Pulse)
โดยที่การใช้งานในรูปแบบของ 16 บิต (Single) สามารถใช้คำสั่งได้โดยตรง
ขณะที่การใช้งานในรูปแบบ 32 บิตจะทำโดยเพิ่ม “D” ลงไปด้านหน้าของคำสี่ง
เช่น คำสั่ง MOV ในรูปแบบ 16 บิต และหากเป็น 32 บิต จะเป็น “DMOV”
และการใช้งานสัญญาณจังหวะ (Pulse)
จะเป็นการทำคำสั่งที่ขาขึ้นของสัญญาณอินพุตคือ คำสั่งจะขับสัญญาณ ON
เป็นระยะเวลา 1 Scantime ดังนั้น แม้ว่าเงื่อนไขอินพุตยังคง ON อยู่
ผลของคำสั่งจำไม่ทำงานจนกว่าคำสั่งเหล่านั้นจะเปลี่ยนสถานะจาก OFF เป็น ON
อีกครั้ง
คำสั่งประยุกต์ในวงจร Ladder ที่ควรทราบมีดังนี้
คำสั่ง Program Flow
คำสั่ง Move, Compare
คำสั่ง Arithmetic, Logical Operations
คำสั่ง Data Operation
คำสั่ง Floating Point
คำสั่ง Trigonometry
คำสั่ง Real Time Clock
คำสั่ง Program Flow
คำสั่ง Program Flow
เป็นคำสั่งประยุกต์ที่ใช้ในการควบคุมการทำงานของโปรแกรมให้สามารถเลือกช่วง
การทำงานที่ต้องการได้ตามแต่ลักษณะของคำสั่ง ซึ่งคำสั่ง Program Flow
นี้จะสามารถเลือกใช้คำสั่งได้หลากหลายฟังก์ชันคือ
สัญลักษณ์คำสั่ง คำสั่งประยุกต์
CJ = Conditional Jump
CALL = Call Subroutine
SRET = Subroutine Return
IRET = Interrupt Return
EI = Enable Interrupt
DI = Disable Interrupt
FEND = First end
WDT = Watchdog Timer
ฟังก์ชัน Conditional Jump : CJ
คำสั่งประยุกต์ประเภทนี้เป็นคำ
สั่งที่ใช้ให้การทำงานของแต่ละขั้นตอนกระโดดข้ามไปสู่ สเต็ปที่กำหนดเอาไว้
ซึ่งเป็นการใช้ร่วมกับอุปกรณ์ควบคุมการไหลของโปรแกรม (Pointers)
(รายละเอียดบทที่ 5) ในขณะที่กระโดดข้ามไปยังสเต็ปที่กำหนด
โปรแกรมที่อยู่ระหว่างช่วงที่ข้ามกระโดดจะไม่ทำงาน
ซึ่งจะทำให้วัฏจักการทำงาน 1 รอบ ของโปรแกรมสั้นลง
การทำงานจะรวดเร็วมากขึ้น
คำสั่งประยุกต์ Conditional Jump
จะใช้ร่วมกับ jump Pointer เสมอ สัญลักษณ์ที่ใช้ในภาษา Instructional List
สำหรับ Conditional Jump คือ CJ และ Condition Jump pulse คือ CJP
มีโปรแกรม Steps เท่ากับ 3 ส่วน อุปกรณ์ควบคุมการไหลของโปรแกรม (Pointers)
มีโปรแกรม Steps เท่ากับ 1
รูปตัวอย่างการใช้งานในขณะที่ไม่ใช้คำสั่งประยุกต์ Conditional Jump : CJ
ตัวอย่างการเขียนภาษา Instruction List คำสั่งประยุกต์ Conditional Jump : CJ
Steps
0 LD X000
1 CJ P0
4 LD X001
5 OUT Y000
6 LD X002
7 OUT TO K100
10 P0
11 LD X003
12 OR T0
13 OUT Y001v
14 END
จากตัวอย่าง
แสดงการทำงานในขณะที่ไม่ใช้คำสั่งประยุกต์ Conditional Jump : CJ
โปรแกรมจะทำงานตามขั้นตอนปกติ โดยเมื่อหน้าสัมผัสอินพุต X100 ON
จะทำให้คอยล์เอาต์พุต Y000 ON และเมื่อหน้าสัมผัสอินพุต X002 ON
จะทำให้คอยล์ (Output Coil) อุปกรณ์หน่วงค่าเวลา T0 ON จะทำงาน 10 วินาที
หน้าสัมผัส T0 ON ทำให้คอยล์เอาต์พุต Y001 ON ด้วย แต่เมื่อหน้าสัมผัส X000
ON ดังตัวอย่างในรูปที่ 6.2 แสดงการทำงานในขณะที่ใช้คำสั่งประยุกต์
Conditional Jump : CJ
โปรแกรมจะสั่งงานให้กระโดดข้ามไปยังสเต็ปที่มีอุปกรณ์ควบคุมการไหลของ
โปรแกรม (Pointers) ควบคุมอยู่ [PJ P0]
ซึ่งขั้นตอนที่อยู่ในช่วยที่กระโดดข้ามจะหยุดทำงานแม้ว่าหน้าสัมผัสอินพุต
X001 และ X002 จะ ON แต่ทว่าคอยล์เอาต์พุต Y000 และ T0 จะยังคง OFF
รูปตัวอย่างการทำงานในขณะที่ใช้คำสั่งประยุกต์ Conditional Jump : CJ
คำสั่งประยุกต์ Conditional ump :
CJ สามารถกระโดดข้ามไปยังจุดใดๆ
ภายในโปรแกรมหลักซึ่งจะสามารถกระโดดได้ทั่วไปข้างหน้าหรือย้อนหลัง
โดยจะต้องอาศัยอุปกรณ์ควบคุมการไหลของโปรแกรม (Pointers)
เป็นตำแหน่งที่จะกระโดดไป
แต่การทำงานทั้งหมดต้องคำนึงถึงเวลาทำงานของโปรแกรมที่มีการกำหนดค่าเวลา
Scan time จากคำสั่งประยุกต์ Watchdog Timer : WDT ด้วย
หากการทำงานเกินเวลาที่กำหนด PLC จะแสดงสถานะ Error ณ จุดนั้นๆ
และหยุดการทำงาน
ฟังก์ชั่น Call Subroutine : CALL
คำสั่งประยุกต์ประเภทนี้เป็นคำ
สั่งที่ใช้ในการสั่งโปรแกรมให้ทำงานของขั้นตอนกระโดดข้ามไปสู่โปรแกรมย่อย
ที่กำหนดตำแหน่งโดยอุปกรณ์ควบคุมการไหลของโปรแกรม (Pointers)
โดยคำสั่งประยุกต์ CALL ต้องใช้ร่วมกับคำสั่งประยุกต์ First End : FEND
และคำสั่งประยุกต์ Subroutine Return : SRET
โดยโปรแกรมย่อยจะเขียนอยู่ใต้คำสั่ง FEND
และจะทำงานภายใต้โปรแกรมย่อยจนกระทั่งถึงคำสั่ง SRET
โปรแกรมจะกระโดกลับขึ้นไปที่บรรทัดใต้คำสั่งประยุกต์ CALL
คำสั่งประยุกต์ Call Subroutine
จะใช้ร่วมกับ Jump Pointer เสมอ สัญลักษณ์ที่ใช้ในภาษา Instruction List
สำหรับ Call Subroutine คือ CALL และ Call Subroutine pulse คือ CALLP
มีโปรแกรม Steps เท่ากับ 3 ส่วน อุปกรณ์ควบคุมการไหของโปรแกรม (Pointers)
มีโปรแกรม Steps เท่ากับ 1
รูปตัวอย่างการใช้งานคำสั่งประยุกต์ Call subroutine : CALL ก่อนทำงาน
ตัวอย่างการเขียนภาษา Instruction List คำสั่งประยุกต์ Conditional Jump : CJ
Steps
0 LD X000
1 CALL P10
4 LD X001
5 OUT T0 K100
8 LD T0
8 OUT Y000
10 FEND
11 P10
12 LD M8000
13 OUT T1 K100
16 LD T1
17 CALL P11
20 SRET
21 FEND
22 P11
23 LD X003
24 OUT Y001
25 SRET
26 END
จากตัวอย่าง
แสดงการทำงานคำสั่งประยุกต์ Call Subroutine : CALL ก่อนทำงาน
เมื่อเริ่มจ่ายกระแสไฟให้ PLC เริ่มต้นทำงาน คำสั่งรีเลย์ช่วยพิเศษ M8000
(สถานะ ON เมื่อ PLC ON) จะ NO
แต่จะยังไม่มีกระแสไฟไหลผ่านไปสั่งงานคอยล์เอาต์พุต T1
จนกว่าหน้าสัมผัสอินพุต X000 ON
ตัวอย่าง
แสดงการทำงานคำสั่งประยุกต์ Call Subroutine : CALL หลังทำงาน
เมื่อหน้าสัมผัสอินพุต X000 ON คำสั่ง CALL
จะกระโดดไปที่อุปกรณ์ควบคุมการไหลของโปรแกรม (Pointers) P10 [CALL P10]
ซึ่ง P10 จะต้องอยู่ใต้บรรทัดคำสั่งประยุกต์ FEND เสมอ
ซึ่งจะเป็นการเริ่มต้นโปรแกรมย่อย กระแสไฟจะถูกจ่ายผ่านรีเลย์ช่วยพิเศษ
M8000 ทำให้คอยล์เอาต์พุต T1 ทำงานเริ่มต้นนับเวลาตามค่าคงที่เลขฐานสิบ
K100 (10 วินาที) จนครบหน้าสัมผัสอุปกรณ์หน่วงเวลา คำสั่ง CALL
จะกระโดดไปที่อุปกรณ์ควบคุมการไหลของโปรแกรม (Pointers) P11 [CALL P11]
เมื่อหน้าสัมผัสอินพุต X003 ON คอยล์เอาต์พุตทำงาน
เมื่อถึงคำสั่งประยุกต์ SRET
โปรแกรมจะย้อนกลับไปสู่สเต็บที่อยู่ใต้คั่งประยุกต์ CALL P11
ซึ่งจะเป็นสเต็ปของคำสั่งประยุกต์ SRET อีกครั้ง
โปรแกรมจะย้อนกลับไปสู่สเต็ปที่อยู่ใต้คำสั่งประยุกต์ CALL P10
และจะทำงานในขั้นตอนหน้าสัมผัสอินพุต X001 ต่อไป
รูปตัวอย่างการทำงานคำสั่งประยุกต์ Call Subroutine : CALL หลังทำงาน\
ฟังก์ชั่น Subroutine Return : SRET
คำสั่งประยุกต์ประเภทนี้เป็นคำ
สั่งที่ใช้ในการบอกจุดสุดท้ายของโปรแกรมย่อย
และจะกระโดดกลับไปทำงานคำสั่งที่อยู่ในสเต็ปต่อจากคำสั่งประยุกต์ CALL
ที่เรียกโปรแกรมย่อยนั้น
โดยสังเกตจากหมายเลขที่กำกับในอุปกรณ์ควบคุมการไหลของโปรแกรม (Pointers)
โดยที่คำสั่งประยุกต์ SRET จะใช้ร่วมกับคำสั่งประยุกต์ CALL เท่านั้น
และจะเขียนหลังจากสเต็ปของคำสั่งประยุกต์ FEND เสมอ ดังตัวอย่าง
สัญลักษณ์ที่ใช้ในภาษา Instruction List สำหรับ Subroutine Return คือ RET
มีโปรแกรม Steps เท่ากับ 1
ฟังก์ชั่น Interrupt Return : IRET, Enable Interrupt : EI, Disable Interrupt : DI
คำสั่งประยุกต์ประเภทนี้เป็นคำ
สั่งที่ใช้รับสัญญาณอินพุต Interrupt Routine ร่วมกับ Interrupt Pointer
โดยคำสั่ง IRET จะใส่ในโปรแกรมหลังคำสั่ง FEND เสมอ โดยจะมีโปรแกรม Step
เท่ากับ 1
ฟังก์ชั่น First End : FEND
คำสั่งประยุกต์ประเภทนี้เป็นคำ
สั่งที่ใช้ในการแสดงถึงจุดจบส่วนแรกของโปรแกรมหลัก
และเป็นจุดเริ่มต้นของโปรแกรมย่อย ซึ่งคำสั่งประยุกต์ FEN
จะทำหน้าที่คล้ายกับคำสั่ง END โดยที่คำสั่งประยุกต์ FEND
จะใช้ร่วมกับคำสั่งประยุกต์ CJ, DALL, IRET เป็นต้น
และสามารถใช้คำสั่งประยุกต์ FEND ได้หลายตัวใน 1 โปรแกรม
ดังตัวอย่างในรูปที่ 6.3-6.4 คำสั่งประยุกต์ First End
สัญลักษณ์ที่ใช้ในภาษา Instruction List คือ FEND มีโปรแกรม Steps เท่ากับ 1
ฟังก์ชั่น Watchdog Timer : WDT
คำสั่งประยุกต์ WDT
เป็นคำสั่งที่ใช้ในการ Reset ค่า Watchdog Timer โดยค่า Watchdog Timer
จะเช็คเวลา Scan ของโปรแกรมว่าไม่เกินกว่าค่าที่ตั้งไว้ ซึ่งหาก Scan
เกินกว่าที่ตั้งไว้ใน Watchdog Timer จะเกิด Error แสดงขึ้นที่จุดนั้นๆ และ
PLC จะหยุดการทำงานเพื่อป้องกันความผิดพลาดที่เกิดขึ้น
ค่าปกติของ Watchdog Timer
(Default) คือ 100 msec.
โดยเวลานี้ผู้ใช้สามารถเปลี่ยนแปลงค่าได้โดยการใส่ค่าใน Data Register
D8000 (Watchdog Timer Register) [MOV K150 D8000]
แสดงคำสั่งการตั้งค่าเวลา Watchdog Timer จากตัวอย่างในรูปที่6.5
เมื่อการทำงานของโปรแกรมเป็นลักษณะการย้อนกลับโดยกระโดดมาที่ P1
ซึ่งมีค่าหน่วงเวลา K1500 เท่ากับ 150 วินาที ซึ่งมากกว่าค่าของ Watchdog
Timer ที่ตั้งไว้ที่ K150 เท่ากับ 15 วินาที ดังนั้น
ค่าเวลาในการทำงานมีค่ามากกว่า Watchdog Timer ดังนั้น โปรแกรมจึงแสดงสถานะ
WDT Error และหยุดกระบวนการทำงาน
รูปตัวอย่างการใช้งานคำสั่งประยุกต์ Watchdog Timer : WDT
ตัวอย่างการเขียนภาษา Instruction List คำสั่งประยุกต์ Watchdog Timer : WDT
Steps
0 LD M8000
1 MOV K150 D8000
6 LD X000
7 WDT
8 P1
9 LD X001
10 OUT T0 K150
13 LD T0
14 CJ P0
17 LD T1
18 OUT Y000
19 P0
20 LD M8000
21 OUT T1 K1000
24 LD T1
25 CJ P1
28 END
คำสั่งประยุกต์ Watch Dog Timer
สัญลักษณ์ที่ใช้ในภาษา Instruction List สำหรับ Watch Dog Timer คือ WDT
และ Watch Dog Timer pulse คือ WDTP มีโปรแกรม Steps เท่ากับ 1
คำสั่ง Move, Compare
คำสั่ง Move, Compare คำสั่ง
Move, Compare
เป็นคำสั่งประยุกต์ที่ใช้ในการจัดการข้อมูลเชิงตัวเลขของโปรแกรมให้สามารถ
เคลื่อนย้ายจัดเก็บ
หรือเปรียบเทียบข้อมูลตามแต่ละสถานะและเงื่อนไขที่กำหนดซึ่งคำสั่ง Move,
Compare นี้จะสามารถเลือกใช้คำสั่งดังนี้
สัญลักษณ์คำสั่ง คำสั่งประยุกต์
CMP = Compare
ZCP = Zone Compare
MOV = Move
XCH = Exchange
BCD = Binary Coded Decimal
BIN = Binary
ฟังก์ชั่น Compare : CMP
คำ
สั่งประยุกต์ประเภทนี้เป็นคำสั่งที่ใช้ในการเปรียบเทียบข้อมูล
เพื่อนำไปใช้เป็นเงื่อนไขในการสั่งงานของระบบ การใช้คำประยุกต์ Compare :
CMP ที่ใช้ในการเปรียบเทียบข้อมูล ทำได้โดยการใช้คำสั่ง [CMP (S1) (S2)
(D)] โดยค่า S1 และ S2 จะเป็นข้อมูลที่ใช้ในการเปรียบเทียบ
ซึ่งเมื่อเปรียบเทียบค่าผลที่ได้จะเป็นเงื่อนไขในการสั่งงานให้ D ทำงาน
เงื่อนไขการเปรียบเทียบสามารถแบ่งออกได้เป็น 3 สภาวะคือ
ถ้าข้อมูลเชิงตัวเลข S2 < S1 แล้วค่าอุปกรณ์บิต D = ON
ถ้าข้อมูลเชิงตัวเลข S2 < S1 แล้วค่าอุปกรณ์บิต D + 1 = ON
ถ้าข้อมูลเชิงตัวเลข S2 < S1 แล้วค่าอุปกรณ์บิต D + 2 = ON
รูปตัวอย่างการทำงานคำสั่งประยุกต์ Compare : CMP
ตัวอย่างการเขียนภาษา Instruction List คำสั่งประยุกต์ Watchdog Timer : WDT
Steps
0 LD X000
1 CMP K10 C1 M0
8 MPS
9 AND M0
10 OUT Y000
11 MRD
12 AND M1
13 OUT Y001
14 MPP
15 AND M2
16 OUT Y002
17 LD X001
18 OUT C1 X15
21 END
จาก
ตัวอย่างเมื่อหน้าสัมผัสอินพุต X000 ทำงาน คำสั่งประยุกต์เปรียบเทียบ CMP
จะเปรียบเทียบข้อมูลว่า S2 อุปกรณ์นับจำนวน (Counter:C1) มีค่ามากกว่า,
น้อยกว่า หรือเท่ากับ ค่าคงที่เลขฐานสิบ K10 หากมีค่ามากกว่า C01>K10
แล้ว M2 = ON ทำให้คอยล์เอาต์พุต Y002 ทำงาน
คำสั่งประยุกต์ Compare
สัญลักษณ์ที่ใช้ในภาษา Instruction List สำหรับแบบ 16 บิต Compare คือ CMP
และ Compare pulse คือ CMPP มีโปรแกรม Steps เท่ากับ 7 ส่วน 32 บิต Double
Compare คือ DCMP และ Double Compare Pulse คือ DCMPP มีโปรแกรม Steps
เท่ากับ 13
6.3.2 ฟังก์ชั่น Zone Compare : ZCP
คำสั่งประยุกต์ประเภทนี้เป็นคำสั่งที่ใช้ในการเปรียบเทียบข้อมูลเช่นเดียว
กับคำสั่งประยุกต์ Compare : CMP โดยที่คำสั่ง Zone Compare : ZCP
จะมีความแตกต่างในส่วนของข้อมูลที่เปรียบเทียบ
โดยจะเปรียบเทียบในลักษณะช่วงของข้อมูล
และนำค่าที่ได้มาใช้เป็นเงื่อนไขในการสั่งงานของระบบ การช้ำสั่งประยุกต์
ZCP ที่ใช้ในการเปรียบเทียบช่วงของข้อมูล ทำได้โดยการใช้คำสั่ง [ZCP (S1)
(S2) (S3) (D)] โดยค่า S1 และ S2
จะเป็นช่วงของข้อมูลโดยเป็นข้อมูลตัวเลขในลักษณะตัวเลขสูงสุดและต่ำสุด ค่า
S3 เป็นข้อมูลที่นำมาเปรียบเทียบกับช่วงของข้อมูลว่ามีค่าอยู่ในช่วงใด
ซึ่งผลที่ได้จะเป็นเงื่อนไขในการสั่งงาน D ให้ทำงานต่อไป
เงื่อนไขการเปรียบเทียบสามารถแบ่งออกได้เป็น 3 สภาวะคือ
ถ้าข้อมูลเชิงตัวเลข S3 < S1 และ S2 แล้วค่าอุปกรณ์บิต D = ON
ถ้าข้อมูลเชิงตัวเลข S1 <= S3 <=S2 แล้วค่าอุปกรณ์บิต D + 1 = ON
ถ้าข้อมูลเชิงตัวเลข S3 > S1 และ S2 แล้วค่าอุปกรณ์บิต D + 2 = ON
รูปตัวอย่างการใช้งานคำสั่งประยุกต์ Zone Compare : ZCP
ตัวอย่างการเขียนภาษา Instruction List คำสั่งประยุกต์ Zone Compare : ZCP
Steps
0 LD X000
1 ZCP K10 H14 C1 M5
10 MPS
11 AND M5
12 OUT Y000
13 MRD
14 AND M1
15 OUT Y001
16 MPP
17 AND M2
18 OUT Y002
19 LD X001
20 OUT C1 K15
23 END
จาก
ตัวอย่างเมื่อหน้าสัมผัสอินพุต X000 ทำงาน คำสั่งประยุกต์เปรียบเทียบ ZCP
จะเปรียบเทียบข้อมูลว่า S3 อุปกรณ์นับจำนวน (Counter:C1)
ซึ่งมีค่าจากการนับจำนวนเท่ากับ 15
จะทำให้อยู่ในเงื่อนไขการเปรียบเทียบสภาวะที่ 2 K10 <= 15 <= H14
ทำให้ M6 = ON และทำให้คอยล์เอาต์พุต Y001 ทำงาน
คำสั่งประยุกต์ Compare
Zone สัญลักษณ์ที่ใช้ในภาษา Instruction List สำหรับแบบ 16 บิต Compare
Zone คือ ZCP และ Compare Zone pulse คือ ZCPP มีโปรแกรม Steps เท่ากับ 9
ส่อน 32 บิต Compare Zone คือ DZCP และ Double Compare Zone Pulse คือ
DZCPP มีโปรแกรม Steps เท่ากับ 17
ฟังก์ชั่น MOVE : MOV
คำสั่งประยุกต์ประเภทนี้เป็นคำ
สั่งที่ทำหน้าที่ในการนำเข้าข้อมูลย้ายเข้าไปจัดเก็บ ณ จุดที่ต้องการ
การใช้คำสั่งประยุกต์ MOV ที่ใช้ในการเคลื่อนย้ายข้อมูลทำได้โดยการช้ำสั่ง
[MOV (S) (D)] โดยค่า S จะเป็นค่าของข้อมูลเชิงตัวเลขฐานใดๆ
ของอุปกรณ์ต้นทาง ค่า D
เป็นจุดที่เคลื่อนย้ายข้อมูลเชิงตัวเลขซึ่งเป็นอุปกรณ์ปลายทางเพื่อจะนำค่า
ไปใช้ในการสั่งงานอุปกรณ์ให้ทำงานตามจำนวนเชิงตัวเลขที่นำมาเก็บไว้ต่อไป
รูปตัวอย่างการทำงานคำสั่งประยุกต์ MOVE : MOV
ตัวอย่างการเขียนภาษา Instruction List คำสั่งประยุกต์ MOVE : MOV
Steps
0 LD X000
1 MOV H50 D1
6 LD X001
7 OUT T1 D1
10 LD T1
11 OUT Y001
12 END
จากตัวอย่างเมื่อหน้าสัมผัส
อินพุต X000 ทำงาน คำสั่งประยุกต์ MOV จะเคลื่อนย้ายข้อมูล (S)
ที่มีค่าเท่ากับ (H0050) ไปจัดเก็บในอุปกรณ์ปลายทาง (D)
อุปกรณ์เก็บค่าเชิงตัวเลข (Data Register, D01) ซึ่งมีค่าเท่ากับ S
อุปกรณ์ต้นทาง เมื่อหน้าสัมผัสอินพุต X001
ทำงานจะสั่งงานให้อุปกรณ์หน่วงเวลา (Timer:T01)
ทำงานด้วยจำนวนเวลาเท่ากับค่าที่อยู่ในอุปกรณ์เก็บค่าเชิงตัวเลข (Data
Register, D01) จนครบจำนวน
หน้าสัมผัสอุปกรณ์หน่วงเวลาจะสั่งงานให้คอยล์เอาต์พุต Y001 ทำงาน
คำสั่งประยุกต์ MOVE สัญลักษณ์ที่ใช้ในภาษา Instruction List สำหรับแบบ 16
บิต MOVE คือ MOV และ MOVE pulse คือ MOVP มีโปรแกรม Steps เท่ากับ 5 ส่วน
32 บิต Double MOVE คือ DMOV และ Double Move Pulse คือ DMOVP มีโปรแกรม
Steps เท่ากับ 9
ฟังก์ชั่น EXCHANGE : XCH
คำ
สั่งประยุกต์ประเภทนี้เป็นคำสั่งที่ทำหน้าที่ในการแลกเปลี่ยนข้อมูลระหว่าง
อุปกรณ์ต้นทางและอุปกรณ์ปลายทางและจัดเก็บ การใช้คำสั่งประยุกต์ XCH
ที่ใช้ในการแลกเปลี่ยนข้อมูล ทำได้โดยการใช้คำสั่ง [XCH (D1) (D2)] โดยค่า
D1 จะเป็นค่าของข้อมูลเชิงตัวเลขฐานใดๆ ของอุปกรณ์ต้นทาง ค่า D2
จะเป็นค่าของข้อมูลเชิงตัวเลขฐานใดๆ ของอุปกรณ์ปลายทาง
รูปตัวอย่างการทำงานคำสั่งประยุกต์ EXCHANGE : XCH
ตัวอย่างการเขียนภาษา Instruction List คำสั่งประยุกต์ EXCHANGE : XCH
Steps
0 LD M8000
1 MOV H50 D1
6 MOV K100 D10
11 LD X000
12 XCH D1 D10
17 LD X001
18 OUT T1 D1
21 LD T1
22 OUT Y001
23 LD X002
24 OUT T1 D1
27 LD T1
28 OUT Y001
29 END
จากตัวอย่างรูปเป็นการทำงานขณะ
ที่ไม่ใช้ฟังก์ชั่น Exchange : XCH เมื่อ PLC
เริ่มต้นทำงานหน้าสัมผัสรีเลย์ช่วยพิเศษ M800 ทำงาน คำสั่งประยุกต์ MOV
จะเคลื่อนย้ายข้อมูล (S) ที่มีค่าเท่ากับ (K50) ไปจัดเก็บในอุปกรณ์ปลายทาง
(D1) และค่า (K100) ไปจัดเก็บในอุปกรณ์ปลายทาง (D10) เมื่อหน้าสัมผัสอินพุต
X001 ทำงานจะสั่งงานให้อุปกรณ์หน่วงเวลา (Timer : T1)
ทำงานด้วยจำนวนเวลาเท่ากับค่าที่อยู่ในอุปกรณ์เก็บค่าเชิงตัวเลข (Data
Register, D01) จนครบจำนวน
หน้าสัมผัสอุปกรณ์หน่วงเวลาจะสั่งงานให้คอยล์เอาต์พุต Y001 ทำงาน
และหน้าสัมผัสอินพุต X002 ทำงานจะสั่งงานให้อุปกรณ์หน่วงเวลา (Timer:T2)
ทำงานด้วยจำนวนเวลาเท่ากับค่าที่อยู่ในอุปกรณ์เก็บค่าเชิงตัวเลข (Data
Register, D10) จนครบจำนวน
หน้าสัมผัสอุปกรณ์หน่วงเวลาจะสั่งงานให้คอยล์เอาต์พุต Y002 ทำงาน
การทำงานร่วมกับฟังก์ชั่น Exchange : XCH
จะเริ่มทำงานเมื่อหน้าสัมผัสอินพุต X000 ทำงาน คำสั่งประยุกต์ XCH
จะสลับหรือแลกเปลี่ยนค่าของอุปกรณ์ต้นทาง D1 ที่มีค่าเท่ากับ 50
และอุปกรณ์ปลายทาง D2 ที่มีค่าเท่ากับ 100 ดังนั้น เมื่อหน้าสัมผัสอินพุต
X001 และ X002 ทำงาน อุปกรณ์หน่วงเวลา (Timer:T1) จะหน่วงที่ค่า 100
และอุปกรณ์หน่วงเวลา (Timer:T2) จะหน่วงที่ค่า 50
ดังนั้น
คำสั่งประยุกต์ XCH
จึงเหมาะที่จะใช้ในการทำงานของระบบที่จำเป็นต้องมีการเปลี่ยนแปลงค่าการทำ
งานตามสถานะที่เปลี่ยนแปลงของระบบ
คำสั่งประยุกต์ Exchange
สัญลักษณ์ที่ใช้ในภาษา Instruction List สำหรับแบบ 16 บิต Exchange คือ XCH
และ Exchange pulse คือ CXHP มีโปรแกรม Steps เท่ากับ 5 ส่วน 32 บิต
Double Exchange คือ DXCH และ Double Exchange Pulse คือ DXCHP มีโปรแกรม
Steps เท่ากับ 9
6.3.5 ฟังก์ชั่น Binary Coded Decimal : BCD
คำสั่งประยุกต์ประเภทนี้เป็นคำสั่งที่ทำหน้าที่ในการแปลงตัวเลขจากต้นทาง
(S) นำไปเก็บไว้ในอุปกรณ์ตัวเลขในอุปกรณ์ต้นทาง เช่น
อุปกรณ์เก็บค่าเชิงตัวเลขที่ใช้ร่วมกับคำสั่ง (Binary:BIN)
อุปกรณ์หน่วงเวลา หรืออุปกรณ์นับจำนวน ค่า D
จะเป็นตำแหน่งและจำนวนที่แสดงค่าของอุปกรณ์ปลายทาง เช่น K4Y010 ดังตาราง
ตาราง ตัวอย่างสัญลักษณ์คำสั่ง
คำสั่ง จำนวนข้อมูล อินพุตหรือเอาต์พุตที่ถูกใช้งาน
K1Y000 0-9 Y000-Y003
K2Y010 0-99 Y001-Y017
K3Y020 0-999 Y202-Y207, Y030-Y033
K4Y000 0-9999 Y000-Y007, Y010-Y017
K1X000 0-9 X000-X003
K1X010 0-99 X010-X017
KIX020 0-999 X020-X207, X030-X033
K4X020 0-9999 X020-X027, X030-X037
คำ
สั่งประยุกต์ Binary Coded Decimal สัญลักษณ์ที่ใช้ในภาษา Instruction List
สำหรับแบบ 16 บิต Binary Coded Decimal คือ BCD และ Binary Coded Decimal
pulse คือ BCDP มีโปรแกรม Steps เท่ากับ 5 ส่วน 32 บิต Double Binary Coded
Decimal คือ DBCD และ Double Binary Coded Decimal Pulse คือ DBCDP
มีโปรแกรม Steps เท่ากับ 9
Thumbwheel
เช่น K4Y030 ดังตารางค่า D
จะเป็นตำแหน่งอุปกรณ์ปลายทางที่จัดเก็บเช่นอุปกรณ์เก็บค่าเชิงตัวเลข
คำสั่งประยุกต์ Binary สัญลักษณ์ที่ใช้ในภาษา Instruction List สำหรับแบบ
16 บิต Binary คือ BIN และ Binary pulse คือ BINP มีโปรแกรม Steps เท่ากับ 5
ส่วน 32 บิต Double Binary คือ DBIN และ Double Binary Pulse คือ DBINP
มีโปรแกรม Steps เท่ากับ 9
รูปตัวอย่างการใช้งานคำสั่งประยุกต์ Binary Coded Decimal : BCD และ Binary : BIN
ตัวอย่างการเขียนภาษา Instruction List คำสั่งประยุกต์ Binary Coded Decimal : BCD และ Binary : BIN
Steps
0 LD M8000
1 BIN K4X010 D0
6 BCD T2 K4Y000
11 LD X001
12 OUT T1 D0
15 OUT T2 K9990
18 END
จากตัวอย่างเป็นการสั่งงาน
อุปกรณ์หน่วงเวลาตัวแรก (T1)
โดยหน่วงเวลาตามค่าที่ถูกเก็บในอุปกรณ์เก็บข้อมูลเชิงตัวเลข (D0)
ซึ่งอุปกรณ์เก็บข้อมูลเชิงตัวเลข D0 จะรับค่ามาจากต้นทางชนิดปุ่มกด
Thumbwheel แบบ 4 ปุ่มกด (K4X010) โดยใช้อินพุตทั้งสิ้น 16 ตัว (X010-X017,
X020-X027) เมื่อกดปุ่มสวิตซ์ X001
อุปกรณ์หน่วงเวลาจะเริ่มทำงานตามค่าที่กำหนดจากปุ่มกด (Thumbwheel)
ในส่วนอุปกรณ์แสดงค่าตัวเลขจะใช้คำสั่ง BCD โดยเมื่อกดสวิตซ์เริ่มต้นทำงาน
X001 อุปกรณ์หน่วงเวลา T2 จะทำงานด้วยค่าคงที่ K9990 คำสั่ง BCD
จะนำค่าต้นทาง T2 ไปแสดงในอุปกรณ์แสดงค่าตัวเลขชนิด 4 หลัก (K4Y000)
โดยใช้เอาต์พุตทั้งสิ้น 16 ตัว (Y000-Y007, Y010-Y017)
คำสั่ง Arithmetic, Logical Operations
คำสั่ง Arithmetic, Logical Operations คำสั่ง Arithmetic, Logical
Operations
เป็นคำสั่งประยุกต์ที่ใช้ในการจัดการข้อมูลเชิงตัวเลขของโปรแกรมในลักษณะการ
คำนวณทางพืชคณิต
โดยนำค่าที่ได้จากอินพุตต่างๆมาคำนวณผลและนำผลที่ได้ไปใช้ในการประมวลผลและ
สั่งการต่อไป ซึ่งคำสั่ง Arithmetic, Logical Operations
นี้จะสามารถเลือกใช้คำสั่งดังนี้
สัญลักษณ์คำสั่ง คำสั่งประยุกต์
ADD = Addition
USB = Subtraction
MUL = Multiplication
DIV = Division
INC = Increment
DEC = Decrement
ฟังก์ชั่น Addition : ADD
คำสั่งประยุกต์ประเภทนี้เป็นคำสั่งที่ทำหน้าที่ในการรวมค่าของข้อมูลระหว่าง
อุปกรณ์ต้นทางและจัดเก็บที่อุปกรณ์ปลายทาง การใช้คำสั่งประยุกต์ ADD
ที่ใช้ในการรวมค่าข้อมูล ทำได้โดยการใช้คำสั่ง [ADD (S1) (S2) (D)] โดยค่า
S1 และ S2 จะเป็นค่าของข้อมูลเชิงตัวเลขที่ถูกนำมารวมกัน
แล้วนำผลรวมที่ได้ไปเก็บไว้ที่อุปกรณ์ปลายทาง (D) เช่น S1 = -5 และ S2 =-9
ดังนั้น D = S1 +S2 = -5+9 = 4
คำสั่งประยุกต์ Addition
สัญลักษณ์ที่ใช้ในภาษา Instruction List สำหรับแบบ 16 บิต Addition คือ ADD
และ Addition pulse คือ ADDP มีโปรแกรม Steps เท่ากับ 7 ส่วน 32 บิต
Double Addition คือ ADDP และ Double Addition Pulse คือ DADDP มีโปรแกรม
Steps เท่ากับ 13
จากตัวอย่างการประยุกต์ใช้คำสั่งประยุกต์ ดังรูปที่
6.12 ตัวอย่างการทำงานคำสั่งประยุกต์ Addition : ADD เริ่มจากเมื่อ PLC
ทำงาน M8000 จะทำงาน (ON) และจ่ายกระแสไฟสั่งงานให้คำสั่ง Move : MOV
เคลื่อนย้ายข้อมูลไปจัดเก็บในอุปกรณ์เก็บข้อมูลแบบตัวเลข (Data Register :
D) โดยที่จะจัดเก็บค่าดังต่อไปนี้
D1 จัดเก็บค่า H7FFF หรือเท่ากับ +32,767
D2 จัดเก็บค่า K-32,760 หรือเท่ากับ -32,760
D10 จัดเก็บค่า K150 หรือเท่ากับ +150
D11 จัดเก็บค่า K-150 หรือเท่ากับ -150
เข้าสู่กระบวนการฟังก์ชั่นคำสั่งประยุกต์การรวมค่าดังนี้
1.
หน้าสัมผัสอินพุต X000 ทำงานคำสั่งประยุกต์จะรวมค่า D1 + D10
และจัดเก็บในอุปกรณ์ เก็บข้อมูลแบบตัวเลข D100 ซึ่งผลที่ได้คือ 32,767
ไปอีก 150 จำนวน เท่ากับ 0-149 ดังนั้น ผลที่ได้คือมีค่าเท่ากับ 149
2.
หน้าสัมผัสอินพุต X001 ทำงานคำสั่งประยุกต์จะรวมค่า D10 + D11
และจัดเก็บในอุปกรณ์เก็บข้อมูลแบบตัวเลข D101 ซึ่งผลที่ได้คือ 150 + (-150)
ช 0
3. หน้าสัมผัสอินพุต X002 ทำงานคำสั่งประยุกต์จะรวมค่า D2 + D11
และจัดเก็บในอุปกรณ์เก็บข้อมูลแบบตัวเลข D102 ซึ่งผลที่ได้คือ -32,760 +
(-150) = -32,910 ซึ่งค่าที่ได้มีค่ามากกว่า -32,768 (16 บิต) ดังนั้น
จำนวนที่น้อยเกินค่า -32,768 ไปอีก 142 จำนวน เท่ากับ (-0) – (-141)
ดังนั้น ผลที่ได้มีค่าเท่ากับ -141
ตัวอย่างการใช้งานคำสั่งประยุกต์ Addition
M8020 จะถูก SET ON เมื่อผลของการบวกหรือลบเท่ากับ 0 จากคำสั่ง Addition หรือ Subtraction
M8021 จะถูก SET ON
เมื่อผลของการบวกหรือลบมีค่าน้อยกว่าค่าต่ำสุดมีผลลัพธ์เป็นค่าลบ โดยในชนิด
16 บิตมีค่าน้อยกว่า -32,768 และ 32 บิตมีค่าน้อยกว่า -2,147,483,648
จากคำสั่ง Addition หรือ Subtraction
ดังนั้น ในตัวอย่างคอยล์เอาต์พุต Y001 จะทำงานได้เป็น 3 กรณีคือ
- เมื่อ M8020 ON เกิดจากหน้าสัมผัส X001 ON และได้ผลลัพธ์เท่ากับ 0
- เมื่อ M8021 ON เกิดจากหน้าสัมผัส X002 ON และได้ผลลัพธ์เท่ากับ -141 ซึ่งมีค่าน้อยกว่า -32,768 (16 บิต)
- เมื่อ M8022 ON เกิดจากหน้าสัมผัส X000 ON และได้ผลลัพธ์เท่ากับ 149 ซึ่งมีค่ามากหว่า 323,767 (16 บิต)
6.4.2 ฟังก์ชั่น Subtraction : SUB
คำสั่งประยุกต์ประเภทนี้เป็นคำ
สั่งที่ทำหน้าที่ในการลบค่าของข้อมูลระหว่างอุปกรณ์ต้นทาง S1
และลบออกด้วยอุปกรณ์ต้นทาง S2 และจัดเก็บที่อุปกรณ์ปลายทา D
การใช้คำสั่งประยุกต์ SUB ที่ใช้ในการลบค่าข้อมูลทำได้โดยการใช้คำสั่ง [SUB
(S1) (S2) (D)] โดยค่า S1 และ S2
จะเป็นค่าของข้อมูลเชิงตัวเลขที่ถูกนำมาลบกัน
แล้วนำผลรวมที่ได้ไปเก็บไว้ที่อุปกรณ์ปลายทาง (D) เช่น S1 = -5 และ S2 =
-9 ดังนั้น D = S1 – S2 = -5 – 9 = -14
คำสั่งประยุกต์ Subtraction
สัญลักษณ์ที่ใช้ในภาษา Instruction List สำหรับแบบ 16 บิต Subtraction คือ
SUB และ Subtraction pulse คือ SUBP มีโปรแกรม Steps เท่ากับ 7 วน 32 บิต
Double Subtraction คือ DSUB และ Double Subtraction Pulse คือ DSUBP
มีโปรแกรม Steps เท่ากับ 13
จากตัวอย่างการทำงานคำสั่งประยุกต์ Subtraction : SUB จะเข้าสู่กระบวนการฟังก์ชันคำสั่งประยุกต์การลบค่าดังนี้
1. หน้าสัมผัสอินพุต X000
ทำงานคำสั่งประยุกต์จะทำการลบค่า D1-D2
และจัดเก็บในอุปกรณ์เก็บข้อมูลแบบตัวเลข D100 ซึ่งผลที่ได้คือ
32,767-(32,760) = 32,759 ซึ่งค่าที่ได้มีค่ามากกว่า 32,767 (16 บิต)
ดังนั้น จำนวนที่มากเกินค่า 32,767 ไปอีก 32,760 จำนวน เท่ากับ 0-32,759
ดังนั้น ผลที่ได้คือมีค่าเท่ากับ 32,759
2. หน้าสัมผัสอินพุต X001
ทำงานคำสั่งประยุกต์จะลบค่า D10-D11
และจัดเก็บในอุปกรณ์เก็บข้อมูลแบบตัวเลข D101 ซึ่งผลที่ได้คือ 150-150 = 0
3. หน้าสัมผัสอินพุต X002
ทำงานคำสั่งประยุกต์จะลบค่า D2 – D11
และทำการจัดเก็บในอุปกรณ์เก็บข้อมูลแบบตัวเลข D102 ซึ่งผลที่ได้คือ
-32,760-150 = -32,910 ซึ่งค่าที่ได้มีค่ามากกว่า -32,768 (16 บิต) ดังนั้น
จำนวนที่น้อยเกินค่า -32,768 ไปอีก 142 จำนวน เท่ากับ (-0)-(141) ดังนั้น
ผลที่ได้มีค่าเท่ากับ -141
ตัวอย่างการใช้งานคำสั่งประยุกต์ Subtraction
6.13 ตัวอย่างการทำงานคำสั่งประยุกต์ Subtraction : SUB
ตัวอย่างการเขียนภาษา Instruction List คำสั่งประยุกต์ Subtraction : SUB
Steps
0 LD M8000
1 MOV H7FFF D1
6 MOV K150 D10
11 MOV K150 D11
16 MOV K-32760 D2
21 LD X000
22 SUB D1 D2 D100
29 LD X001
30 SUB D10 D11 D101
37 LD X002
38 SUB D2 D11 D102
45 LD M8020
46 OR M8021
47 OR M8022
48 OUT Y001
49 END
ฟังก์ชั่น Multipication : MUL
คำสั่งประยุกต์ประเภทนี้เป็นคำ
สั่งที่ทำหน้าที่ในการคูณค่าของข้อมูลระหว่างอุปกรณ์ต้นทาง S1 และ S2
และจัดเก็บที่อุปกรณ์ปลายทาง D การใช้คำสั่งประยุกต์ MUL
ที่ใช้ในการคูณค่าข้อมูล เมื่อมีการประมวลผลคำสั่ง MUL ในโหมดการทำงานแบบ
16 บิตของอุปกรณ์ต้นทาง 2 ตัว (S1, S2) ที่ถูกนำมาคูณกันผลที่ได้จะเป็นแบบ
32 บิต ซึ่งทำได้โดยการใช้คำสั่ง [MUL (S1) (S2) (D)] โดยค่า S1 และ S2
จะเป็นค่าของข้อมูลเชิงตัวเลขที่ถูกนำมาคูณกัน
แล้วนำผลรวมที่ได้ไปเก็บไว้ที่อุปกรณ์ปลายทาง (D) เช่น S1 = 5 และ S2 = 9
ดังนั้น D = S1 X S2 = 5 X 9 = 45 แบบ 32 บิต
คำสั่งประยุกต์ Multipication
สัญลักษณ์ที่ใช้ในภาษา Instruction List สำหรับ 16 บิต Multipication คือ
MUL และ Multipication Pulse คือ DMULP มีโปรแกรม Steps เท่ากับ 13
ตัวอย่างการใช้งานคำสั่งประยุกต์ Multipication
รูปที่ 6.14 ตัวอย่างการทำงานคำสั่งประยุกต์ Multipication : MUL
รูป
ตัวอย่างการเขียนภาษา Instruction List คำสั่งประยุกต์ Multipication : MUL
Steps
0 LD M8000
1 MOV K10000 D1
6 MOV K15000 D10
11 LD X000
12 MUL D1 D10 D12
19 END