ระบบเก็บข้อมูลและควบคุมการปฏิบัติงาน (ระบบ SCADA)
คำว่า Supervisory Control and Data Acquisition System หรือ SCADA system ปรากฏขึ้นในช่วงปลายทศวรรษที่ 1980 ศตวรรษที่ XX พร้อมกันกับความพยายามครั้งแรกในการใช้คอมพิวเตอร์ส่วนบุคคลที่มีแอปพลิเคชันกราฟิกติดตั้งเป็นคอนโซลควบคุม
ระบบ SCADA แรกได้รับการพัฒนาสำหรับระบบปฏิบัติการ DOS หรือ Unix และมีความสามารถค่อนข้างน้อย ทั้งเนื่องจากข้อจำกัดด้านฮาร์ดแวร์ของฮาร์ดแวร์และความสามารถด้านกราฟิกของระบบปฏิบัติการ ระบบ SCADA เริ่มแพร่หลายไปพร้อม ๆ กับการปรากฏตัวของอินเทอร์เฟซแบบกราฟิกเช่น Windows 3.11, X-Windows, Phantom และฮาร์ดแวร์ที่ช่วยให้คุณบรรลุความเร็วที่จำเป็นในการดำเนินการของกระบวนการในโหมดมัลติทาสกิ้ง
เหตุผลของการเกิดขึ้นของระบบ SCADA ในฐานะเครื่องมือพัฒนาซอฟต์แวร์ระดับบนนั้นคล้ายกับเหตุผลของการเกิดขึ้นของระบบเช่น Borland Delphi และระบบการเขียนโปรแกรมด้วยภาพอื่นๆงานหลักของพวกเขาคือการลดภาระให้กับนักพัฒนาซอฟต์แวร์จากกิจวัตรและภาระที่ไร้ประโยชน์อย่างแท้จริงในการอธิบายอินเทอร์เฟซและฟังก์ชันมาตรฐาน ในขณะเดียวกัน ควรเข้าใจว่าการใช้ระบบ SCADA ไม่ได้หมายความถึงการลดข้อกำหนดสำหรับคุณสมบัติของนักพัฒนาตามที่พวกเขาพยายามจินตนาการ
แยกแยะความแตกต่างของระบบ MMI (ส่วนต่อประสานระหว่างคนกับเครื่องจักร) และ สกาด้าเนื่องจากทั้งคู่ประสบความสำเร็จในการพัฒนาโดยอิสระจากกัน โดยครองตลาดเฉพาะที่แตกต่างกันในตลาดอุปกรณ์ HMI (อินเทอร์เฟซสำหรับมนุษย์).
ระบบ MMI แท้จริงแล้วคือแผงควบคุมภายในเครื่องสำหรับอุปกรณ์แต่ละชิ้นหรือการติดตั้งทางเทคโนโลยี ซึ่งติดตั้งหน้าจอแบบตัวอักษรและตัวเลขและแป้นพิมพ์หรือกราฟิก ซึ่งโดยปกติจะเป็นหน้าจอสัมผัส
ในกรณีส่วนใหญ่ อุปกรณ์ MMI จะถูกใช้งานโดยใช้ตัวควบคุมพิเศษ และส่วนของซอฟต์แวร์นั้นไม่ได้หมายความถึงการดัดแปลงหรือการเปลี่ยนแปลงเพิ่มเติมใดๆ
ในเวลาเดียวกัน ระบบ SCADA รวมถึงการใช้คอมพิวเตอร์ส่วนบุคคลมาตรฐานและระบบปฏิบัติการ ใช้เพื่อทำให้กระบวนการจัดการกระบวนการทางเทคโนโลยีขนาดใหญ่เป็นไปโดยอัตโนมัติ ซึ่งเกี่ยวข้องกับอุปกรณ์ผู้บริหารและหน่วยเทคโนโลยีจำนวนมาก และยังสนับสนุนความเป็นไปได้ของ การใช้แอปพลิเคชันแบบกระจาย (โดยใช้คอนโซลตัวดำเนินการหลายตัว) …
เป็นไปไม่ได้ที่จะวาดเส้นที่ชัดเจนระหว่างระบบ MMI และ SCADA เนื่องจากการมีอยู่ของระบบการเขียนโปรแกรมแบบ end-to-end ซึ่งมักไม่มีความแตกต่างระหว่างเครื่องมือพัฒนาซอฟต์แวร์สำหรับระดับต่างๆ ของระบบควบคุม
การขาดมาตรฐานเดียวที่อธิบายวัตถุประสงค์และองค์ประกอบการทำงานของระบบ SCADA และความแตกต่างในการตีความคำว่า "SCADA" ทำให้การจำแนกประเภทและการเปรียบเทียบระบบของคลาสนี้ซับซ้อนขึ้น
กลุ่มหลักของระบบ SCADA สามารถแยกแยะได้ดังต่อไปนี้:
-
ระบบ SCADA ที่พัฒนาโดยผู้ผลิตคอนโทรลเลอร์
-
ระบบ SCADA ที่พัฒนาโดยผู้ผลิตอิสระ
-
ระบบ SCADA เป็นส่วนประกอบของระบบการเขียนโปรแกรมแบบ end-to-end
งานของผู้ผลิตอุปกรณ์คอนโทรลเลอร์ในการพัฒนาระบบ SCADA ของตนเองคือการจัดหาเครื่องมือสำหรับการพัฒนาแอปพลิเคชันการสร้างภาพข้อมูลให้กับผู้ใช้ปลายทางโดยใช้ตัวควบคุมจากผู้ผลิตรายนั้น
ลักษณะสำคัญของระบบดังกล่าวสามารถแยกแยะได้ดังต่อไปนี้:
-
อินเทอร์เฟซของระบบเหล่านี้ทำซ้ำอินเทอร์เฟซของวิธีการเขียนซอฟต์แวร์สำหรับอุปกรณ์ควบคุม
-
ส่วนประกอบของระบบ SCADA ได้รับการปรับแต่งให้ทำงานร่วมกับข้อมูลที่ได้รับจากอุปกรณ์ควบคุมของผู้ผลิตรายใดรายหนึ่ง
-
อินเทอร์เฟซสำหรับการแลกเปลี่ยนข้อมูลกับอุปกรณ์จากผู้ผลิตรายอื่นมีการใช้งานไม่ดีหรือใช้งานยาก
ตัวอย่างคลาสสิกของระบบดังกล่าวคือ ซีเมนส์ WinCC… ในแง่หนึ่ง การใช้ระบบที่เป็นกรรมสิทธิ์ดังกล่าว ช่วยลดค่าใช้จ่ายในการฝึกอบรมผู้เชี่ยวชาญด้านการพัฒนาซอฟต์แวร์ แต่ในทางกลับกัน จะเป็นการผูกมัดทั้งผู้พัฒนาและผู้ใช้ปลายทางของระบบกับผู้ผลิตรายใดรายหนึ่งหรือแม้แต่กับผู้ผลิตรายใดรายหนึ่งอย่างเคร่งครัด สายอุปกรณ์จากผู้ผลิตรายหนึ่ง
นอกจากนี้ ผู้ผลิตอุปกรณ์ควบคุมจำนวนหนึ่งถูกบังคับให้พัฒนาระบบ SCADA ของตนเองเพื่อวัตถุประสงค์ทางการตลาดโดยไม่ได้จัดเตรียมผลิตภัณฑ์ซอฟต์แวร์ของตนด้วยการสนับสนุนและการบำรุงรักษาในระดับที่จำเป็น
ระบบ SCADA ของบุคคลที่สามเป็นเครื่องมือที่ยืดหยุ่นที่สุดสำหรับการสร้างการแสดงภาพกระบวนการและแอปพลิเคชันการควบคุม ข้อได้เปรียบของพวกเขา ได้แก่ การรองรับฟังก์ชันจำนวนมากสำหรับการสร้างระบบควบคุมแบบกระจายอำนาจและแบบกระจาย เช่นเดียวกับความสามารถในการรวมอุปกรณ์จากผู้ผลิตที่แตกต่างกัน รวมถึงคู่แข่งเข้าไว้ในระบบเดียว
ในการแลกเปลี่ยนข้อมูลกับอุปกรณ์สำหรับผู้บริหาร ระบบดังกล่าวจะใช้ซอฟต์แวร์เซิร์ฟเวอร์ I/O ที่ใช้อินเทอร์เฟซ DDE หรือ OPC การแพร่กระจายของระบบ SCADA ดังกล่าว ตลอดจนความจำเป็นในการปฏิบัติตามมาตรฐานเครื่องมืออัตโนมัติ ทำให้ผู้พัฒนาอุปกรณ์คอนโทรลเลอร์ทั้งหมดมีอุปกรณ์ของตนเอง เซิร์ฟเวอร์ซอฟต์แวร์ OPC หรือ DDEที่จัดส่งพร้อมอุปกรณ์ครบชุดหรือตามสั่ง
เนื่องจากระบบการตั้งโปรแกรมแบบ end-to-end รวมถึงการพัฒนาสถานีผู้ปฏิบัติงานเป็นส่วนสำคัญของระบบควบคุม จึงประกอบด้วยส่วนประกอบแยกต่างหากของระบบ SCADA เสมอ อย่างไรก็ตาม เนื่องจากระบบทั้งหมดทำงานโดยรวม ส่วนประกอบเหล่านี้จึงอาจเป็นส่วนประกอบของโมดูลอื่นๆ ของระบบการเขียนโปรแกรมแบบ end-to-end หรืออาจเป็นไปไม่ได้ที่จะแยกระบบ SCADA ในรูปแบบบริสุทธิ์ออกเป็นผลิตภัณฑ์ซอฟต์แวร์
ระบบดังกล่าวมีข้อดีและข้อเสียเช่นเดียวกับระบบ SCADA ที่พัฒนาโดยผู้ผลิตคอนโทรลเลอร์ โดยคำนึงถึงความแตกต่างหลักสองประการ:
-
ระบบ SCADA ซึ่งเป็นส่วนสำคัญของระบบการเขียนโปรแกรมแบบ end-to-end ไม่มีการทำงานร่วมกันกับซอฟต์แวร์และฮาร์ดแวร์จากผู้ผลิตรายอื่น
-
บทบาทของระบบ SCADA ในแอปพลิเคชันดังกล่าวจำกัดอยู่ที่การพัฒนาอินเทอร์เฟซแบบกราฟิก
องค์ประกอบและโครงสร้างของระบบ SCADA
องค์ประกอบและโครงสร้างของระบบ SCADA
โดยทั่วไปแล้ว ระบบ SCADA ประกอบด้วยผลิตภัณฑ์ซอฟต์แวร์สองชุดแยกกัน: สภาพแวดล้อมการพัฒนาและสภาพแวดล้อมการดำเนินการ
การพัฒนาสภาพแวดล้อม เรียกว่าชุดที่มีการออกแบบและกำหนดค่าสภาพแวดล้อมสำหรับการแสดงภาพของกระบวนการทางเทคโนโลยี
สภาพแวดล้อมระหว่างการทำงาน — นี่คือชุดของผลิตภัณฑ์ซอฟต์แวร์ที่จำเป็นสำหรับการทำงานในโครงการของโปรแกรมสำหรับการแสดงภาพของกระบวนการทางเทคโนโลยีในสถานีของผู้ปฏิบัติงาน
ควรพิจารณาประเด็นของการโต้ตอบระหว่างสภาพแวดล้อมการพัฒนาและสภาพแวดล้อมรันไทม์ระหว่างการทำงานกับโครงการเดียวกันของผู้พัฒนาและผู้ดำเนินการ:
1. การเปลี่ยนแปลงที่ทำโดยผู้พัฒนาจะมีผลทันที
2. รันไทม์แสดงถึงการเปลี่ยนแปลงที่เกิดขึ้นตามที่พบในซอร์สโค้ดของโครงการ
3. การเปลี่ยนแปลงจะมีผลที่รันไทม์เมื่อรีบูตหรือบังคับ
การใช้ปฏิสัมพันธ์ประเภทแรกทำให้สามารถแสดงความสามารถของผลิตภัณฑ์ได้ค่อนข้างชัดเจนและมีประสิทธิภาพในการนำเสนอเชิงพาณิชย์ ดังนั้นบางครั้งจึงมีการใช้งานในผลิตภัณฑ์ซอฟต์แวร์ขั้นสุดท้าย อย่างไรก็ตาม เมื่อทำงานกับโปรเจ็กต์จริง อาจมีอันตรายที่อาจเกิดขึ้นจากส่วนที่ขาดหายไปของอินเทอร์เฟซแบบกราฟิกหรือการเคลื่อนไหวแบบไดนามิกของการควบคุม ในเรื่องนี้การโต้ตอบประเภทที่สองและสามหรือการรวมกันนั้นแพร่หลายที่สุด
สามารถแยกแยะส่วนหลักของระบบ SCADA ได้ดังต่อไปนี้:
-
ฐานแท็ก
-
โมดูลแสดงผลกราฟิก
-
ตัวประมวลผลสคริปต์
-
ระบบเตือนภัยและเตือนภัย
-
โมดูลสำหรับการเก็บถาวรพารามิเตอร์กระบวนการทางเทคโนโลยี
แท็กระบบ SCADA เป็นวัตถุสำหรับจัดเก็บค่าของพารามิเตอร์กระบวนการทางเทคโนโลยีและคุณสมบัติของมัน ป้ายกำกับบางครั้งเรียกว่า "ตัวแปร" อย่างไม่ถูกต้อง ในขณะเดียวกัน แนวคิดของเลเบลก็ใกล้เคียงกับคำจำกัดความของคลาสในภาษาโปรแกรมเชิงวัตถุมากที่สุด
โมดูลการแสดงผลแบบกราฟิกใช้อินเทอร์เฟซแบบกราฟิกของโครงการ ตามกฎแล้วอินเทอร์เฟซแบบกราฟิกคือชุดของรูปแบบหน้าจอที่มีองค์ประกอบกราฟิกวางอยู่ งานในการสร้างหน้าจอจะลดลงเหลือเพียงการวางองค์ประกอบกราฟิกบนรูปร่างหน้าจอและตั้งค่าคุณสมบัติ
ในกระบวนการเรียก การแสดง และการปิดแบบฟอร์มหน้าจอ เมื่อคลิกที่วัตถุกราฟิก การเปลี่ยนแปลงคุณสมบัติหรือค่าของแต่ละแท็ก จำเป็นต้องทำการคำนวณหรือการดำเนินการที่มี เครื่องยนต์สคริปต์… สคริปต์เรียกอีกอย่างว่า “มาโคร” หรือ “สคริปต์” ในบางระบบ
สคริปต์ระบบ SCADA ส่วนใหญ่ที่ใช้อินเทอร์เฟซแบบกราฟิกของเวิร์กสเตชันตัวดำเนินการอัตโนมัติคือตัวจัดการการคลิกเมาส์บนองค์ประกอบกราฟิก
สำหรับสคริปต์ ระบบ SCADA จากผู้ผลิตหลายรายเสนอภาษาตั้งแต่หนึ่งภาษาขึ้นไป ระบบที่พัฒนาโดยผู้ผลิตคอนโทรลเลอร์หรือเป็นส่วนหนึ่งของระบบโปรแกรมแบบ end-to-end มักจะเสนอภาษาโปรแกรมเดียวกันสำหรับการเขียนสคริปต์และสำหรับการเขียน ซอฟต์แวร์ควบคุม… ระบบ SCADA ของบุคคลที่สามมักเสนอภาษาสคริปต์แมโครพิเศษ
การใช้ภาษาการเขียนโปรแกรมเพื่อวัตถุประสงค์ทั่วไปทำให้คุณสามารถใช้ส่วนต่อประสานผู้ใช้ที่ซับซ้อนและวิธีการทำงานกับข้อมูลที่ไม่ได้มาตรฐานโดยการเข้าถึงไลบรารีและ API เพิ่มเติม
ในเวลาเดียวกัน นักพัฒนาจะต้องอยู่ในไลบรารีฟังก์ชันกรณีศึกษาสำหรับการทำงานกับส่วนประกอบของระบบ SCADA ในลักษณะเดียวกับที่มีการศึกษาภาษามาโคร และโค้ดที่นำไปใช้อาจเป็นอันตรายหรือสืบทอดข้อผิดพลาดจากฟังก์ชันของบุคคลที่สาม ห้องสมุด
ระบบเตือนภัย มีวัตถุประสงค์เพื่อแจ้งให้ผู้ปฏิบัติงานทราบถึงค่าของพารามิเตอร์กระบวนการที่อยู่นอกขอบเขตที่อนุญาต ตามกฎแล้วสำหรับพารามิเตอร์ทางเทคโนโลยีแต่ละตัวสามารถตั้งค่าได้ 2 ประเภทตามที่การแจ้งเตือนจะปรากฏขึ้น: การตั้งค่าฉุกเฉินและคำเตือนตามลำดับ
ขึ้นอยู่กับความสามารถของระบบ การตั้งค่าเหล่านี้ถูกตั้งค่าตามเกณฑ์อย่างน้อยหนึ่งเกณฑ์:
-
ไม่อยู่ในขอบเขต. ในกรณีนี้คือ: ค่าเตือนบนและล่าง และค่าเตือนบนและล่าง
-
ค่าเบี่ยงเบนจากค่าเล็กน้อยของค่าบางค่า กระจายค่าเบี่ยงเบนขั้นต่ำและสูงสุดที่อนุญาตจากค่าที่ตั้งไว้
-
การตั้งค่าอัตราการเปลี่ยนแปลงสูงสุดที่อนุญาตของค่าพารามิเตอร์กระบวนการ ค่าของการตั้งค่าช่วงที่อนุญาตจะระบุไว้ในหน่วยสัมบูรณ์ และค่าเบี่ยงเบนจากค่าเล็กน้อยและอัตราการเปลี่ยนแปลงสามารถระบุได้ทั้งในหน่วยสัมบูรณ์และเป็นเปอร์เซ็นต์ของค่าปัจจุบันหรือค่าที่ตั้งไว้
เนื่องจากความจริงที่ว่าสำหรับกระบวนการทางเทคโนโลยีหนึ่งๆ จำนวนของพารามิเตอร์สำหรับการตั้งค่าเหตุฉุกเฉินและการเตือนอาจมีขนาดใหญ่ได้ ในระบบ SCADA จึงเป็นไปได้ที่จะรวมพารามิเตอร์ที่ควบคุมโดยเทคโนโลยีเข้าไว้ในกลุ่มต่างๆ ตลอดจนกำหนดระดับความสำคัญของสิ่งใดสิ่งหนึ่ง จุดเตรียมตัว.
งานหลัก โมดูลสำรอง — ให้ความสามารถในการแสดงกราฟของพารามิเตอร์ทางเทคโนโลยี (แนวโน้ม) บนหน้าจอมอนิเตอร์ในช่วงเวลาสั้น ๆ รวมถึงการสร้างรายงานอย่างง่าย ๆ โมดูลสำหรับการเก็บถาวรค่าของระบบ SCADA ควรมีฟังก์ชันดังต่อไปนี้:
-
การเก็บถาวรค่าในฐานข้อมูลท้องถิ่นด้วยความถี่หรือการเปลี่ยนแปลงที่แน่นอน
-
เมื่อเก็บค่าตามการเปลี่ยนแปลง - ความเป็นไปได้ในการตั้งค่าโซนตายสำหรับการเก็บถาวร
-
กำหนดขีดจำกัดขนาดฐานข้อมูลในเครื่อง
-
การตั้งเวลาเก็บค่า
-
ดำเนินการบำรุงรักษาตามปกติเพื่อลบค่าที่ล้าสมัยหรือเร็วที่สุดเมื่อเกินเวลาจัดเก็บหรือขนาดฐานข้อมูลในโหมดอัตโนมัติ
-
ความพร้อมใช้งานของอินเทอร์เฟซสำหรับสร้างกราฟของค่าที่เก็บถาวรและดู
-
ความพร้อมใช้งานของระบบสำหรับการส่งออกค่าพารามิเตอร์สำหรับช่วงเวลาที่ระบุในรูปแบบของตารางค่า