ARIES PLC110[M02]-MS4, HMI, OPC และ SCADA หรือปริมาณชาคาโมมายล์ที่บุคคลต้องการ ส่วนที่ 1

สวัสดีตอนบ่ายผู้อ่านบทความนี้ที่รัก ฉันกำลังเขียนสิ่งนี้ในรูปแบบการทบทวน

คำเตือนเล็กน้อยฉันขอเตือนคุณว่าหากคุณเข้าใจทันทีถึงสิ่งที่เรากำลังพูดถึงจากชื่อเรื่อง ฉันขอแนะนำให้คุณเปลี่ยนจุดแรก (จริงๆ แล้วคือแกน PLC) เป็นอะไรก็ได้จากหมวดหมู่ราคาที่สูงกว่าหนึ่งขั้น
การประหยัดเงินไม่คุ้มค่ากับความเครียดมากนัก

สำหรับผู้ที่ไม่กลัวผมหงอกเล็กน้อยและอาการกระตุกประสาทฉันจะอธิบายรายละเอียดในภายหลังว่าปาฏิหาริย์ทางเทคโนโลยีนี้ถูกสร้างขึ้นได้อย่างไร บทความนี้นำเสนอการวิเคราะห์โดยย่อของโครงการพร้อมคำวิจารณ์จำนวนหนึ่ง

ต้นทาง. การกำหนดปัญหา

จริงๆ แล้ว ฉันทำงานในสำนักออกแบบ และเราทดสอบอุปกรณ์อัตโนมัติเพื่อรวมเข้ากับโรงงานแบบครบวงจรของเรา เมื่อเร็วๆ นี้ อุปกรณ์ของ OWEN มาถึงคลังสินค้า และได้ตัดสินใจที่จะประกอบม้านั่งทดสอบจากคลังสินค้า:

  • PLC110[M02]-MS4 (สภาพแวดล้อมสำหรับผู้บริหาร MasterSCADA 4D)
  • แผงควบคุมการทำงาน SP307
  • โมดูลอินพุตสัญญาณอะนาล็อกสากล МВ110-224.2А
  • โมดูลอินพุตสัญญาณสเตรนเกจ MV110-4TD
  • โมดูลวัดไฟฟ้า MV110-220.3M

โครงสร้างระบบ ถูกเลือกโดยแยกเครือข่ายตามวัตถุประสงค์:

  1. Modbus RTU ที่ใช้ RS-485 - การสื่อสารระหว่าง PLC และอุปกรณ์ทาส (โมดูล, ตัวแปลงความถี่, เซ็นเซอร์อัจฉริยะ, แผง HMI SP307), เครือข่ายหลัก PLC
  2. Modbus TCP ที่ใช้อีเธอร์เน็ต - การสื่อสารของ PLC ที่แตกต่างกันระหว่างกันและกับเซิร์ฟเวอร์ OPC
  3. เซิร์ฟเวอร์พีซีระบบ OPC และ SCADA เป็นเกตเวย์ระหว่างเครือข่ายสองเครือข่ายที่แตกต่างกันพร้อมกัน (LAN องค์กรขององค์กรและเครือข่ายตัวควบคุม Modbus TCP (อะแดปเตอร์เครือข่ายสองตัวพร้อมการกำหนดเส้นทางข้อมูลโดยใช้เครื่องมือ Windows มาตรฐาน)
  4. LAN ขององค์กรมีการเข้าถึงอินเทอร์เน็ตผ่านพร็อกซีเซิร์ฟเวอร์

โครงสร้างทั่วไปของระบบแสดงอยู่ในภาพด้านล่าง:

ARIES PLC110[M02]-MS4, HMI, OPC และ SCADA หรือปริมาณชาคาโมมายล์ที่บุคคลต้องการ ส่วนที่ 1

ฟังก์ชั่นในตัว

  • การรวบรวมและการเปลี่ยนเส้นทางข้อมูลจาก PLC ไปยังเซิร์ฟเวอร์ OPC
  • การควบคุมและการตรวจสอบในพื้นที่ผ่านแผง HMI
  • ควบคุมและตรวจสอบจาก SCADA ผ่านเซิร์ฟเวอร์ OPC
  • ควบคุมจากพีซีทุกเครื่องจาก LAN ขององค์กรและผ่านทางอินเทอร์เน็ตโดยใช้ไคลเอนต์ SCADA
  • การเชื่อมต่อจอภาพ OPC มือถือผ่าน LAN และอินเทอร์เน็ต
  • แน่นอนว่าการเก็บถาวรและการสร้างรายงาน

ดูเหมือนไม่มีอะไรพลาดเลย มีคำอธิบายทั่วไปของระบบและตอนนี้จริง ๆ แล้วในหัวข้อ (ฉันจะอธิบายวิธีการกำจัดในบทความที่มีการใช้งานแต่ละโหนด):

ความยากลำบากที่พบเจอ

1. เอกสารเกี่ยวกับ PLC

การทดสอบเบต้าของ PLC ที่ประกาศไว้บนแกน MasterSCADA 4D ได้รับการระบุโดยผู้ผลิตในปี 2012 แม้ว่าแนวคิดจะมีอายุการใช้งานที่น่าประทับใจ แต่สิ่งที่นักพัฒนามีในปี 2019 ก็คือคู่มือการเขียนโปรแกรมความยาว 28 หน้า (!?) ซึ่งมีข้อมูลที่เป็นประโยชน์น้อยกว่าไม่มีเลยเล็กน้อย และภาพหน้าจอในคู่มือนั้นมาจาก MasterSCADA 3D ซึ่งค่อนข้างตลกเมื่อคำนึงถึงอินเทอร์เฟซที่เปลี่ยนไป

กระทู้ในฟอรั่ม 20 หัวข้อยังได้รับการสนับสนุนจากสมาชิกสามคนและผู้จัดการฝ่ายขายหนึ่งคน

2. สถาปัตยกรรมของโมดูล PLC

นี่เป็นหัวข้อแยกต่างหากสำหรับการสนทนา โดยสรุป: PLC สื่อสารกับโมดูลต่างๆ เป็นอุปกรณ์ทาส Modbus RTU ซึ่งยูทิลิตีจะต้องกำหนดค่าแยกกันก่อน โดยเชื่อมต่อแต่ละโมดูลกับพีซีผ่านตัวแปลง RS-485

แน่นอนว่าคนฉลาดอาจรู้วิธีการทำเช่นนี้โดยไม่ต้องใช้ตัวแปลงผ่าน PLC เชื่อมต่อโมดูลกับเครือข่ายตามลำดับและเขียนรีจิสเตอร์ที่จำเป็น แต่สิ่งนี้มาพร้อมกับประสบการณ์และความเจ็บปวดมากมาย

สำหรับนักพัฒนาที่เห็นสถาปัตยกรรมดังกล่าวเป็นครั้งแรก สถาปัตยกรรมนี้ไม่เป็นมิตรกับผู้ใช้เลย
นอกจากนี้โมดูลแอนะล็อกทั้งหมดชอบที่จะล้มเหลวโดยไม่ทราบสาเหตุโดยนำเครือข่าย RS-485 ทั้งหมดใน Terra Incognita ติดตัวไปด้วย แต่ฉันก็อยากจะพูดถึงเรื่องนี้แยกกันซึ่งเป็นมหากาพย์ทั้งหมด อย่างไรก็ตามปัญหาคือ 10 ปีผู้ผลิตก็หัวเราะเยาะ “เราต้องยอมรับว่าเทมเพลตใช้ไม่ได้สำหรับเรา”อย่างไรก็ตาม นี่เป็นอินเทอร์เฟซเดียวสำหรับการสื่อสารกับโมดูล และผู้คนได้เขียนการใช้งาน Modbus RTU ของตนมาเป็นเวลานานแล้ว

ในขณะเดียวกันชาคาโมมายล์ก็กำลังจะหมดลง... พระอาทิตย์กำลังตกดิน

3. IDE MasterSCADA

เราจะไม่พูดถึงเครื่องมือกราฟิก ฉันไม่ได้ทดสอบมันอย่างกว้างขวาง แต่ฉันจะบอกทันทีว่าฉันไม่ชอบมัน

เรากำลังพูดถึงการดำเนินการแลกเปลี่ยนข้อมูลและภาษามาตรฐาน IEC:

อินพุตและเอาต์พุตทางกายภาพของคอนโทรลเลอร์ไม่ใช่ตัวแปรร่วม และไม่สามารถเข้าถึงได้จากส่วนใดๆ ของโปรแกรมโดยการเขียนนามแฝง เช่น "DI1" คุณควรลากสิ่งนี้ลงในแต่ละโปรแกรมโดยใช้ตัวจัดการ ตัวแปรท้องถิ่นจะถูกสร้างขึ้นที่นั่น ซึ่งจะสืบทอดหรือถ่ายโอนค่า เหล่านั้น. ในวิสัยทัศน์ของฉันสาระสำคัญของ PLC นั้นหายไปเล็กน้อย: อุปกรณ์ควรลดความซับซ้อนในการเขียนโปรแกรมตรรกะของการทำงานของช่องทางทางกายภาพให้อยู่ในระดับ “หากอินพุต DI1 ถูกทริกเกอร์ ให้เปิดเอาต์พุต DO1”และดูเหมือนว่านี้ "อินพุต DI1 - ตัวแปร LI1 - ตัวแปร LO1 - เอาต์พุต DO1"นอกจากนี้เนื่องจากความเพิกเฉยต่อหลักการ IDE นี้ คุณสามารถได้รับคำเตือนที่น่ายินดีว่า "การแปลงแบบบูลีน-บูลีนเป็นไปไม่ได้" (เป็นไปได้มากว่าหนึ่งในนั้นคือตัวชี้ แต่ฉันจินตนาการว่าบรรณาธิการของผู้สร้างจะมีความสามัคคีมากกว่า) .

ไลบรารีของภาษา ST, FBD, SFC มีขนาดค่อนข้างใหญ่และมีตัวเลือกเพื่อความสะดวกในการเขียนโปรแกรมอย่างไรก็ตามส่วนประกอบเหล่านี้ไม่ใช่ฟังก์ชัน แต่เป็นคลาสที่ฝังวิธีการไว้และประการที่สองส่วนใหญ่ไม่มีความช่วยเหลือในการอธิบาย ฟังก์ชั่นและประเภทข้อมูล ความคงอยู่นำฉันไปสู่ไลบรารีเคอร์เนล CodeSys ซึ่งฟังก์ชันเหล่านี้ถูกนำมาจากความช่วยเหลือของพวกเขา

4. แลกเปลี่ยนกับแผง SP307

ค่อนข้างเป็นงานที่น่าสนใจสำหรับผู้ที่ไม่มีที่จะใช้เวลาสองสามวัน

การทดสอบ GUI มาตรฐาน (HMI หรือ SCADA) สำหรับฉันคือทำการทดสอบ 6 รายการ:

  1. การอ่านสัญญาณแบบไม่ต่อเนื่อง
  2. บันทึกสัญญาณแบบแยกส่วน
  3. การอ่านค่าจำนวนเต็ม
  4. การเขียนค่าจำนวนเต็ม
  5. การอ่านคุณค่าที่แท้จริง
  6. การเขียนคุณค่าที่แท้จริง

ดังนั้น ฉันจึงวาดส่วนประกอบพื้นฐาน 6 ชิ้นบนหน้าจอ และตรวจสอบส่วนประกอบแต่ละชิ้นตามลำดับ
การแลกเปลี่ยนนั้นเหมือนกับโมดูลอย่างแน่นอน แต่จากพอร์ต PLC RS-232/485 แยกต่างหากและดูเหมือนว่าจะมีเสถียรภาพมากกว่า เนื่องจากมันเป็นทาส HMI ฉันจึงเขียนถึงมันโดยการเปลี่ยนแปลง และอ่านมันในการโพล 500 มิลลิวินาที เพื่อไม่ให้พลาดการกระทำของผู้ปฏิบัติงาน

4 แต้มแรกสมบูรณ์ดี แต่ 5 แต้ม 6 เกิดปัญหา

เราส่งข้อมูลประเภท Single Float แสดงบนหน้าจอและพบว่าข้อมูลไม่เหมือนกัน แม้ว่าการตั้งค่าเอาท์พุตทั้งหมด (Float, มิติ 1 รีจิสเตอร์ ฯลฯ) ถูกต้องก็ตาม คงจะเป็นเรื่องโกหกที่จะบอกว่าแบบอย่างไม่ได้อธิบายไว้ในเอกสารประกอบ แต่ลองค้นหาว่าอันไหนและที่ไหนมันตลกจากภายนอก

หลังจากการค้นหาการตั้งค่าทั้งหมดที่เกี่ยวข้องกับข้อมูลและการส่งอย่างลึกลับ เราเขียนถึงฝ่ายสนับสนุนด้านเทคนิค ตอบกลับโดยเฉลี่ย 5-6 วันตามปฏิทิน เราทำงานตามสคริปต์สนับสนุนทางเทคนิคมาตรฐาน “ตรวจสอบว่าเปิดเครื่องอยู่ - ตรวจสอบเวอร์ชันซอฟต์แวร์ - โปรดรออีกหนึ่งสัปดาห์ - ลองคิดดูเอง ”.

โดยวิธีการตัดสินใจโดยการติดตั้งหนึ่งขีดในสถานที่ที่ไม่เพียงพออย่างแน่นอนและมีลายเซ็นไม่เพียงพออย่างแน่นอน

ในฟังก์ชั่นหน้าจอ ไม่รวมอินพุตสัญญาณอะนาล็อกในรูปแบบ "Slider"สามารถป้อนได้ในช่องข้อความโดยใช้ตัวเลขเท่านั้น นี่เป็นเรื่องที่น่าทึ่งมาก ไม่ว่าเราจะเขียนปุ่ม “±” และสคริปต์เอง หรือเราจะป้อนตัวเลขจากแป้นพิมพ์ และลืมการควบคุมแบบนุ่มนวลของไดรฟ์บางตัวไปได้เลย

ฉันจะไม่โหลดบทความมากเกินไป ดังนั้นฉันจะอธิบายปัญหาเกี่ยวกับระดับบนสุดในตอนที่ 2

โดยสรุป ฉันต้องการทราบว่าฉันมีอิสระเพียงพอและมีเวลามากในการแก้ปัญหาเหล่านี้ ซึ่งเมื่อมองแวบแรกอาจดูตลกแต่ทำให้เหยื่อเจ็บปวดมาก ในสภาวะที่มีเวลาจำกัด การเผชิญกับปัญหาดังกล่าวถือเป็นสิ่งสำคัญ

ป.ล.: วิทยานิพนธ์ทั้งหมดที่นำเสนอที่นี่เป็นเพียงความพยายามที่จะเตือนผู้ที่ไม่ได้เตรียมตัวและจะไม่เลือกปฏิบัติต่อผู้ผลิต ฉันขอให้คุณนำบทความนี้มาจากมุมมองนี้

ส่วนที่สองอยู่ที่นี่แล้ว: คลิก

ที่มา: will.com

เพิ่มความคิดเห็น