วันเสาร์ที่ 2 กุมภาพันธ์ พ.ศ. 2556

ระบบ PLC คืออะไร

                                             PDF พิมพ์ อีเมล
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)  สัญญาณป้อนกลับนี้อาจจะเป็นสัญญาณเอ้าท์พุทโดยตรง หรือสัญญาณที่เป็นฟังก์ชั่นของสัญญาณเอ้าท์พุทหรือค่าอนุพันธ์ของสัญญาณ เอ้าท์พุทก็ได้

ระบบการควบคุมแบบ CLOSE LOOP
ระบบ การควบคุมแบบ CLOSED LOOP นั้นสามารถพบเห็นได้ทั่วไปทั้งในงานอุสาหกรรมหรือตามบ้านเรือน ตัวอย่างการควบคุมแบบ CLOSE LOOP ได้แก่ การควบคุมอุณหภูมิ การควบคุมแรงดัน การควบคุมอัตราการไหล ระบบการควบคุมกระบวนการตู้เย็นที่ใช้ตามบ้านเรือน
ระบบการควบคุมแบบ OPEN 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)
วงจรควบคุมการทำงานแบบ Jogging
จาก วงจรเราจะสังเกตเห็นว่าเราจะใช้สวิทซ์แบบปิดสองตัวต่อป้องกันการทำงานของคอน แทคเตอร์ที่พร้อมกันโดยให้คอนแทคทั้งสองชุดจะถูกต่อใช้งาน สำหรับรูปด้านขวาแสดงให้เห็นว่าเมื่อมีการกดสวิทซ์S1คอนแทคเตอร์K2ไม่สามารถ ทำงานได้เนื่องจากถูกตัดด้วยคอนแทคเตอร์ของสวิทซ์S1และคอนแทคช่วยK1
วงจรหน่วงเวลา(Time Delay Circuit)

วงจรควบคุมที่ใช้อุปกรณ์หน่วงเวลาในการทำงาน
จาก วงจรจะสังเกตเห็นว่าในการทำงานของวงจรมีอุปกรณ์หน่วงเวลาเมื่อทำการก ดสวิทซ์S1คอนแทคเตอร์K1ยังทำงานแต่อุปกรณ์หน่วงเวลาที่เรียกว่าไทม์เมอร์รี เลย์K2Tทำงานและเริ่มหน่วงเวลาจนถึงเวลาที่กำหนดK2Tจะสั่งให้คอนแทค เตอร์K1เริ่มทำงานดังรูปด้านขวา
วงจรการควบคุมมอเตอร์ในแบบต่างๆ
วงจรการสตาร์ทมอเตอร์โดยตรง

วงจรการสตาร์มอเตอร์โดยตรง
จาก วงจรการสตาร์ทมอเตอร์โดยตรงนั้นเป็นพื้นฐานในการควบคุมมอเตอร์โดยการใช้วงจร รีเลย์มาควบคุม ซึ่งหลักการทำงาน เมื่อกด S2 Contactor K1 ทำงานหน้าสัมผัสช่วย K1 ทำหน้าที่ Self Holding ให้ Contactor k1 ทำงานค้างตลอด มอเตอร์เริ่มการทำงานหลอดสภาวะการทำงานH1ติดเมื่อต้องการหยุดการทำงานของ มอเตอร์ให้ทำการกด S2 เพื่อหยุดการทำงานของมอเตอร์
วงจรกลับทางหมุนมอเตอร์แบบ 3 เฟส

วงจรการกลับทางหมุนมอเตอร์แบบ 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
วงจรรีเลย์ Ootput
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
การต่อวงจรอินพุทแบบ SINK TYPE
 ภาพแสดงการต่ออุปกรณ์อินพุทและการต่อสาย(Wiring) ของอุปกรณ์อินพุทแบบ
สวิตซ์เข้ากับ PLC โดยอาศัยแหล่งกำเนิดพลังงาน(Power Supply) ภายในตัว PLC เป็นแหล่ง
จ่ายไฟให้แก่วงจรอินพุท การพิจารณาเพื่อต่อวงจรอินพุทผู้ใช้จะต้องศึกษาว่า Proximity Switch
 ที่เลือกนำมาต่อในวงจร อินพุทเป็แบบใดหากเป็นแบบ SINK TYPE 
 หลักการต่อวงจรอินพุทแบบ SINK TYPE ทำได้โดยการนำขั้วไฟบวก +24V
จากตัว PLC ต่อเข้าที่ขั้วS/S(Common)และต่อขั้ว 0V เข้ากับขั้วด้านหนึ่งของอุปกรณ์
และอีกขั้วของอุปกรณ์อินพุทต่อเข้ากับขั้วอินพุทของ PLC
การต่อวงจรอินพุทแบบ SOURCE TYPE 
การต่อวงจรอินพุทแบบ 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 เป็นการต่อสายวงจรภายนอกระหว่างPLC
อุปกรณ์อินพุตและอุปกรณ์เอ้าท์พุท โดยเลือกชนิดการต่อวงจรแหล่งจ่าย
อินพุทแบบSINKหรือSOURCE ตัวอย่างการทำงานการเปิด-ปิดประตู
โรงจอดรถ โดนต่อแบบ SINK
แบบวงจรแลดเดอร์ภายใน PLC
ออกแบบวงจรแลดเดอร์ภายใน 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 กรณีคือ
  1. เมื่อ M8020 ON เกิดจากหน้าสัมผัส X001 ON และได้ผลลัพธ์เท่ากับ 0
  2. เมื่อ M8021 ON เกิดจากหน้าสัมผัส X002 ON และได้ผลลัพธ์เท่ากับ -141 ซึ่งมีค่าน้อยกว่า -32,768 (16 บิต)
  3. เมื่อ 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

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็น