วันพฤหัสบดีที่ 19 มีนาคม พ.ศ. 2563

S7-1200 EP.01 พื้นฐานก่อนการใช้งาน PLC S7-1200


รู้จัก Scan cycle

        การที่ CPU ทำงานเป็นรอบ scan cycle ก็เพื่อให้เกิดความมั่นคงของการดำเนินการโปรแกรม และป้องกันการเปลี่ยนสถานะอย่างรวดเร็วของขาเอาท์พุต ที่อาจจะมีเปลี่ยนแปลงรวดเร็วและหลายครั้งในทุกรอบ scan cycle
        ในรอบ scan cycle จะประกอบด้วย ขั้นตอน การอ่านสถานะจากขาอินพุต การดำเนินการประมวลผลโปรแกรมคำสั่ง และการดำเนินการบำรุงรักษาระบบ ภายใต้เงื่อนไขปกติทุกดิจิตอลและแอนาล็อกอินพุต/เอาท์พุต จะใช้พื้นที่หน่วยความจำภายในที่เรียกว่า โปรเซสอิมเมจ(process image) ซึ่งใช้บันทึกค่าสถานะจากขาอินพุตและเอาท์พุต  เรียกว่า หน่วยความจำอินพุต(I memory) และ หน่วยความจำเอาท์พุต (Q memory) 


โหมด Startup
      A  หน่วยความจำอินพุต(I memory) ถูกเคลียร์ 
      B  เอาต์พุตทำงานด้วยค่าสุดท้าย
      C  ลอจิกสตาร์ทอัพ(บรรจุไปด้วยบล็อกคำสั่งพิเศษ) ทำงาน
      D  สถานะของขาอินพุต ถูกคัดลอกไปที่หน่วยความจำอินพุต (I memory)
      E  เหตุการณ์อินเตอรัพท์ (interrupt events)  ถูกจัดคิวสำหรับประมวผลในช่วง RUN mode
      F  การเขียนสถานะในหน่วยความจำเอาท์พุต (Q memory) ไปที่ขาเอาท์พุตถูกเปิดใช้งาน
โหมด Run
       สถานะในหน่วยความจำเอาท์พุต (Q memory) ถูกเขียนไปที่ขาเอาท์พุต
        สถานะของขาอินพุต ถูกคัดลอกไปที่หน่วยความจำอินพุต (I memory)
        โปรแกรมดำเนินการประมวลผล 
        ดำเนินการ การเทสตัวเอง RUN mode
        อินเตอรัพท์(Interrupts) ดำเนินการอยู่ตลอดช่วงของ scan cycle 


          CPU รุ่น S7-1200 จะไม่มีสวิตช์สำหรับเปลี่ยนโหมดการทำงาน (STOP หรือ RUN) เมื่อผู้ใช้กำหนดค่า(คอนฟิก)  CPU ในหน้าต่าง device configuration ผู้ใช้สามารถกำหนดรูปแบบการสตาร์อัพใน properties ของ CPU ในซอฟแวร์ The STEP 7 Basic จะมีหน้าต่างสำหรับเปลี่ยนโหมดการทำงานด้วยการ Online CPU



สีของสถานะ RUN/STOP แสดงสถานะโหมดการทำงานของ CPU ณ ขณะนั้น
        สีเหลือง : อยู่ในโหมด STOP
        สีเขียว :    อยู่ในโหมด RUN
        ไฟกระพริบ : โหมด STARTUP



การเก็บข้อมูลดิจิดอลใน bits, bytes, words, Double word

            หน่วยข้อมูลที่เล็กที่สุดของระบบดิจิตอลที่เรารู้จักกันดีคือ บิต(bit) ในหนึ่งบิตจะบรรจุตัวเลข 1 หลัก ที่เป็นได้เพียง 2 ค่า คือ 0 และ 1 (เรียกว่าเลขฐานสอง)  เลข 0 แทนสถานะลอจิกเท็จ(false หรือ not true) และเลข 1 แทนสถานะจริง(true)  ตัวอย่างที่เห็นง่ายๆ ของระบบเลขฐาน 2 คือ สวิตช์ไฟที่มีเพียง 2 สถานะคือ สถานะเปิดและสถานะปิด ค่าดิจิตอลคือคำตอบของลอจิก "สวิตช์ On อยู่หรือเปล่า?"  ถ้าสวิตช์ on ("จริง") แทนค่าด้วย 1   ถ้าสวิตช์ off ("ไม่จริง") แทนค่าด้วย 0
           CPU จัดการจัด bits ข้อมูลรวมเป็นกลุ่ม กลุ่มละ 8 บิต เราจะเรียกว่า ไบต์(Bite) ทุกบิตในไบต์จะได้รับการกำหนดแอดเดรสโดยเฉพาะของมันเอง โดยจะมีไบต์แอดเดรสและบิตแอดเดรสตั้งแต่ 0 to 7. 
           กลุ่มข้อมูล 2 ไบต์จะถูกเรียกว่า เวิร์ด(word)  และ 2 เวิร์ด เราจะเรียกว่า ดับเบิ้ลเวิร์ด (double word) ซึ่งมี 4 ไบต์
           ชึ่ง CPU จะใช้ระบบเลขฐานสองสำหรับการคำนวน  1 เวิร์ด สามารถแทนค่า จำนวนเต็มได้ตั้งแต่ -32768 to +32767 โดยบิตที่ 15 จะใช้ในการบอกเครื่องหมายของตัวเลข บิตที่ 15 มีค่าเป็น 1 แสดงว่าค่าของเวิร์ดนี้มีค่าเป็นลบ




Note : CPU ยังสามารถใช้กับข้อมูล 8 ไบท์ สำหรับชนิดข้อมูล "long real" (LReal) สำหรับเก็บข้อมูลที่มีความละเอียดแม่นยำสูง โดยช่วงของชนิดข้อมูล LReal คือ +/-2.23 x 10^-308 to +/- 1.79 x 10^308


ชนิดข้อมูลที่ใช้ได้กับ S7-1200

          ชนิดข้อมูลไม่ใช่แค่ระบุขนาดของข้อมูลเท่านั้น แต่ยังหมายถึงรูปแบบที่แตกต่างกันของข้อมูลแต่ละชนิดด้วย โดย CPU รุ่น S7-1200 จะรองรับชนิดข้อมูลต่างๆ ดังนี้


Note ข้อมูลชนิด DTL เป็นโครงสร้าง 12 ไบท์ที่บันทึกข้อมูล วัน เดือน ปี และเวลา ผู้ใช้สามารถกำหนด DTL ในหน่วยความจำชั่วคราว(Temp memory ) ของทั้ง Program block และใน Data block


พื้นที่หน่วยความจำของ S7-1200 

Note การใช้ symbolic addresses แทน absolute addresses
          ซอฟท์แวร์ STEP7 ช่วยอำนวยความสะดวกในการเขียนโปรแกรมเชิงสัญลักษณ์(symbolic programming) ผู้ใช้สามารถสร้างชื่อของสัญลักณ์ (symbolic names) หรือที่เราเรียกว่า tag 

 I  (Process image input )
       CPU จะคัดลอกสถานะของขาอินพุตไปยัง I memory ในตอนเริ่มต้นของ scan cycle หากต้องการเข้าถึงแบบทันที หรือ force ขาอินพุต ให้ต่อท้ายแท็กหรือแอดเดรสด้วย ":P"  (เช่น "Start:P" หรือ I0.3:P)

Q (Process image output) 
       CPU จะคัดลอกสถานะของ Q memory ขาอินพุตไปยังขาเอาท์พุต ในตอนเริ่มต้นของ scan cycle หากต้องการเข้าถึงแบบทันที หรือ force ขาอินพุต ให้ต่อท้ายแท็กหรือแอดเดรสด้วย ":P" (เช่น "Stop:P" หรือ  Q0.3:P)

M (Bit memory)
       user program อ่านและเขียนข้อมูลที่เก็บอยู่ใน M memory หลายโค๊ดบล็อกสามารถเข้าถึง M memory ผู้ใช้สามารถกำหนดให้แอดเดรสภายใน M memory รักษาค่าไว้หากไม่มีไฟจ่ายได้ด้วย

 L "Temp" memory 
       เมื่อใดก็ตามที่โค๊ดบล็อกถูกเรียกใช้งาน CPU จะจัดสรรหน่วยความจำชั่วคราวหรือโลคอล  Local memory (L) จะถูกใช้ระหว่างการทำงานของโค๊ดบลอค เมื่อโค๊ดบล็อคนั้นๆ ทำงานเสร็จ CPU ก็จะจัดสรรคืนหน่วยความจำส่วนนี้ไปใช้ที่โค๊ดบล็อคอื่น

DB Data block 
         DB Data หรือ DB memory มีไว้สำหรับจัดเก็บหลายชิดข้อมูล รวมถึงสถานะที่เป็นสื่อกลางของการดำเนินการ หรือพารามิเตอร์การควบคุมอื่น ๆ สำหรับฟังชันก์บล็อค(FB) และโครงสร้างข้อมูลที่หลายคำสั่งต้องใช้ เช่น  timers และ counters ผู้ใช้สามารถกำหนด data block ให้เป็นได้ทั้ง read/write หรือ read อย่างเดียว  และสามารถเข้าถึงหน่วยความจำ data block ทั้งบิต ไบต์ เวิร์ด และดับเบิ้ลเวิร์ด 

        Note ไม่ว่าจะใช้แท็ก เช่น"Start" or "Stop" หรือ แอดเดรสจริง(absolute address) เช่น "I0.3" or "Q1.7" การอ้างอิงถึงอินพุต (I) หรือเอาท์พุต (Q) การเข้าถึงหน่วยความจำก็เป็นการเข้าถึงที่โปรเซสอิมเมจ ไม่ใช่ขาอินพุตและเอาท์พุตโดยตรง หากต้องการเข้าถึงแบบทันที หรือ force ขาอินพุต ให้ต่อท้ายแท็กหรือแอดเดรสด้วย ":P" (เช่น "Stop:P" หรือ  Q0.3:P) 

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

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

S7-1200 EP.01 พื้นฐานก่อนการใช้งาน PLC S7-1200

รู้จัก Scan cycle         การที่ CPU ทำงานเป็นรอบ scan cycle ก็เพื่อให้เกิดความมั่นคงของการดำเนินการโปรแกรม และป้องกันการเปลี่ยนสถานะอ...