วันพฤหัสบดีที่ 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) 

Siemens EP.01 ซอฟท์แวร์ต่างๆที่ใช้กับอุปกรณ์ Automation ของ Siemens

          
          ปัญหาแรกๆ ของผู้ที่เริ่มต้นศึกษาการใช้งานอุปกรณ์ออโตเมชัน คือ ยังไม่รู้ว่าต้องจะลง software อะไรบ้าง บทความนี้จะอธิบายให้มีความเข้าใจในเบื้องต้นเกี่ยวกับซอฟแวร์ต่างๆ ที่ต้องติดตั้งเพื่อใช้งานกับอุปกรณ์ออโตเมชันของ Siemens ที่เราต้องการ
          ซอฟแวร์ของ Siemens แบ่งออกเป็น 2 กลุ่มใหญ่ๆ คือ กลุ่มซอฟแวร์รุ่นเก่า และแพลทฟอร์มใหม่
         -กลุ่มซอฟแวร์รุ่นเก่า แต่ละซอฟแวร์และแยกจากกัน เช่น STEP7 V5.X สำหรับ PLC,  WinCC 7.x สำหรับ SCADA , WinCC Flexible สำหรับ HMI, Starter สำหรับเซ็ตค่าไดร์ฟ
         -แพลทฟอร์มใหม่ จะรวมซอฟแวร์ต่างๆ ไว้ด้วยกัน ในแพลทฟอร์มที่มีชื่อว่า TIA Portal เพื่อให้สะดวกในการใช้งานโดยการสร้างในโปรเจคเดียวกัน แต่การติดตั้งซอฟแวร์ก็ยังต้องติดตั้งทีละซอฟแวร์ตามอุปกรณ์ที่ใช้งาน เช่น Step7 (Basic/professional), WinCC (Basic, Comfort,professional), Start drive โดยครั้งแรกที่เราติดตั้งซอฟแวร์ใดก็ตาม TIA Portal จะถูกติดตั้งโดยอัตโนมัติ และเมื่อติดตั้งซอฟแวร์อื่นในเวอร์ชันเดียวกัน ก็จะมารวมอยู่ใน แพลทฟอร์ม TIA Portal


STEP7-MicroWin4.0 สำหรับ PLC รุ่น S7-200

           S7-200 เป็น PLC รุ่นเก่าที่หยุดทำการตลาดแล้วในปัจจุบัน แต่ยังคงมีใช้ในโรงงาน ซอฟแวร์ที่ใช้เป็นซอฟแวร์ฟรี ที่ชื่อว่า STEP7-MicroWin4.0  โดยเวอร์ชันล่าสุดคือ  STEP7-MicroWin4.0 SP9  สำหรับผู้เริ่มต้นและต้องการซื้อ PLC มือสองมาทดลอง ผู้เขียนไม่แนะนำให้ซื้อ  S7-200 เนื่องจากรูปแบบซอฟแวร์และฟังก์ชันมีความแตกต่างจากรุ่นใหม่ๆ ค่อนของมาก
        Note  S7-200 SMART เป็นรุ่นพิเศษที่ใช้ในจีนเท่านั้น แม้ว่าหน้าตาจะเหมือน S7-200 แต่ใช้ซอฟแวร์เฉพาะที่ต้องใช้บนวินโดวส์ Windows ภาษาจีนเท่านั้น หากโรงงานของท่านซื้อเครื่องจักรมาจากจีนและใช้ PLC รุ่น S7-200 SMART เมื่อมีปัญหาท่านจะแทบจะทำอะไรไม่ได้เลย นอกจากต้องรอผู้ขายจากประเทศจีน




S7-200

S7-200 SMART



หน้าตาของซอฟแวร์ STEP7-MicroWIN4.0

STEP7 V5.X สำหรับ PLC รุ่น S7-300 และ S7-400

          S7-300 เป็นรุ่นกลาง ได้รับความนิยมและใช้กันแพร่หลายเพราะมีผลิตมานานมาก ส่วน S7-400 เป็นรุ่นใหญ่และมีประสิทธิภาพสูงที่สุด และมีรุ่มพิเศษที่มีฟังก์ชัน Redundancy (ใช้ CPU 2 ตัว หากตัวหลักมีหยุดทำงาน อีกตัวจะทำงานทันที โดยที่ระบบไม่ล่ม)
         S7-300 และ S7--400 ใช้ซอฟแวร์ในแพลทฟอร์มเก่า คือ ที่ใช้คือ STEP7 เวอร์ชันล่าสุดคือ STEP7 V5.6  นอกจากนี้ยังใช้บนแพลทฟอร์ม TIA portal ได้ด้วย แต่โปรแกรมเมอร์ที่คุ้นเคยกับ STEP7 ก็คงใช้งานอยู่ เนื่องจากไม่กินสเปคเครื่องมาก การทำงานของซอฟแวร์จึงเร็วกว่า TIA portal
หน้าตาของซอฟแวร์ STEP7

S7-400

S7-300

TIA Portal

          ข้อดีของซอฟแวร์รุ่นใหม่คือ ทุกซอฟแวร์ใช้งานอยู่บนบนแพลทฟอร์มเดียวกัน TIA portal และสามารถสร้างโปรเจคโดยอุปกรณ์ต่างรวมอยู่ในไฟล์โปรเจคเดียวกัน และการใช้งานก็ง่ายมากกว่าซอฟแวร์รุ่นเก่า และมีหน้าตาที่สวยงามขึ้น แต่ก็มีข้อเสียคือใช้สเปคของคอมพิวเตอร์สูง ทำให้ซอฟแวร์ทำงานช้ากว่ารุ่นเก่า และอาจยังไม่มีฟังก์ชันบางอย่างที่มีในซอฟแวร์รุ่นเก่า ซึ่งแน่นอนว่าการอัพเดทเวอร์ชันของ TIA portal เรื่อยๆ จะมีความสามารถทดแทนและเหนือกว่าซอฟแวร์รุ่นเก่าในที่สุด
     เวอร์ชันปัจจุบันของซอฟแวร์บน TIA Portal คือ V16 แล้ว แต่เนื่องจากเพิ่มเวอร์ชันค่อนข้างเร็ว ผู้ใช้ก็ไม่จำเป็นใช้เวอร์ชันใหม่สุดเสมอ หากไม่ต้องการที่ใช้ฟังก์ชันใหม่ที่เพิ่มขึ้น โดยส่วนใหญ่ที่ใช้กันก็จะเป็น V13, V13 SP1, V13 SP2, V14 และ V14 SP1

STEP7 

          ซอฟแวร์ STEP7 มีให้เลือก 2 รุ่น คือ
          STEP7 Basic : ใช้เขียน S7-1200 ได้เท่านั้น
          STEP7 Professional : ใช้เขียน PLC ได้ทุกรุ่น ทั้ง S7-1200, S7-1500, S7-300 และ S7-400

WinCC 

          เป็น software ที่ใช้เขียน HMI/SCADA โดยรุ่นของจอที่เขียนได้ แบ่งตามรุ่นย่อยของ WinCC ดังนี้
          WinCC Basic : ใช้เขียน Basic Panel เท่านั้น ซึ่งปกติแล้วตัว WinCC Basic มักไม่ค่อยมีคนซื้อ เพราะว่าหากเราลง STEP7 ไม่ว่าจะเป็น Basic หรือ Professional ก็ตาม จะแถม WinCC Basic มาให้ด้วย
          WinCC Comfort : ใช้เขียนจอ Comfort Panel และใช้ยังใช้กับรุ่นต่ำได้ คือ Basic Panel ได้ด้วย
          WinCC Advanced : ใช้เขียนจอ HMI ที่จำลองให้ทำงานบน PC และใช้เขียน Basic และ Comfort Panel ได้
          WinCC Professional : ถือเป็นตัวสูงสุดทำหน้าที่เป็น SCADA และใช้เขียนจอ HMI ได้ทุกรุ่น
รูปข้างล่างนี้ จะทำให้เราเข้าใจความสัมพันธ์ของทั้ง STEP7 และ WinCC ได้ง่ายขึ้น

StartDrive 

         เป็น software ที่ใช้ตั้งค่าเซตพารามิเตอร์ไดรฟหรืออินเวอร์เตอร์ โดยเน้นที่ตระกูล G120
NOTE 
      - การลง software บน TIA Portal platform นั้น software ทุกตัวที่ลงต้องเป็น version เดียวกัน เช่น หากเราลง WinCC Comfort V14 SP1 แล้วต้องการลง StartDrive ก็ต้องลง StartDrive V14 SP1 ด้วย
      -หากก่อนหน้าเราใช้งาน STEP7 Basic V13 และ WinCC Comfort V13 ไปแล้ว แล้วเราไปทำการ upgrade STEP7 Basic เป็น V13 SP2 ก็ต้องทำการ upgrade WinCC Comfort ให้เป็น V13 SP2 ด้วย ไม่เช่นนั้นจะไม่สามารถเปิดโปรแกรมใดๆได้เลย

หน้าตาของ TIA ใน Portal View

หน้าตาของ TIA ใน Project View




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

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