การตั้งชื่อแท็กและเทมเพลตวิศวกรรมสำหรับโครงการ SCADA ขนาดใหญ่
ชื่อแท็กที่ตั้งเร่งในเดือนแรกกลายเป็นภาษีของทุกการเปลี่ยนแปลงหลังจากนั้น โครงการ SCADA ขนาดใหญ่แทบไม่พังที่ภาพแรก แต่พังเมื่อต่อไลน์ที่สอง เมื่อส่งออกรายการแจ้งเตือน หรือเมื่อผู้รับเหมาใหม่บอกไม่ได้ว่าแท็กเป็นของมอเตอร์เครื่องใด ในโรงงานผลิตทั่วไป ไม่ว่าโถงจะเต็มด้วยเครื่องจักรแบบไม่ต่อเนื่องหรือห้องยูทิลิตี้ แบบแผนนี้เหมือนกัน บทความนี้รวบรวมราคาของชื่อที่ยุ่งเหยิงหลังคอมมิชชัน ฟิลด์ที่กฎต้องครอบคลุม และเหตุผลที่ตารางจัดสรร I/O รายการจุด และสเปกหน้าจอต้องมีก่อนใครวาดจอ
ชื่อแท็กยุ่งเหยิงแล้วต้องจ่ายอะไรในงานหลัง
- ชื่อซ้ำและชนกัน: สองสถานีมี Pump1_Run ทั้งคู่ รายงานปนกัน และบอกไม่ได้ว่าเหตุการณ์มาจากไซต์ใด
- จอกับแท็กแยกทาง: ป้ายบน HMI ถูกแก้แล้ว แต่แท็กจริงยังเป็นตัวย่อของช่างไฟฟ้า การหาสาเหตุต้องใช้คำศัพท์สองชุด
- สร้างข้อความแจ้งเตือนจากชื่อแท็กไม่ได้: แต่ละข้อความพิมพ์มือ การเปลี่ยนชื่อฝั่งกระบวนการจึงไม่ถึงรายการแจ้งเตือน
- การขยายคัดลอกความยุ่งเหยิง: พื้นที่ถัดไปโคลนจากพื้นที่แรก พร้อมชื่อที่ไม่ดี ต้นทุนเก็บกวาดโตตามทุกไลน์ที่เพิ่ม
- การส่งมอบกลายเป็นความรู้ปากต่อปาก: มีเพียงวิศวกรคนแรกที่รู้ว่า T12 คืออุณหภูมิด้านจ่ายของปั๊ม A และคนนั้นไม่อยู่หน้างานแล้ว
ห้าต้นทุนนี้ปรากฏหลังคอมมิชชัน ไม่ใช่ระหว่างคอมมิชชัน เพราะฉะนั้นจึงเลื่อนง่ายและพลิกกลับแพง กฎการตั้งชื่อถูกถ้าล็อกในสัปดาห์แรก การเปลี่ยนชื่อแท็กหลายหมื่นจุดหลัง HMI เดินแล้วไม่ใช่งานปริมาณเดียวกัน
ฟิลด์ที่กฎการตั้งชื่อต้องครอบคลุม: พื้นที่ อุปกรณ์ สัญญาณ ประเภท
กฎการตั้งชื่อไม่ใช่เรื่องรสนิยม แต่เป็นสัญญาที่แท็กทุกจุด ข้อความแจ้งเตือนทุกบรรทัด และวัตถุบนจอทุกชิ้นควรอนุมานได้ หากขาดฟิลด์ สคริปต์ภายหลังจะกรองตามพื้นที่ไม่ได้ สร้างข้อความแจ้งเตือนไม่ได้ และแยกค่ากระบวนการจากคำสั่งไม่ได้
สี่ฟิลด์ด้านล่างคือเส้นล่างที่ต้องตัดสินก่อนสร้างแท็กแรก ตัวคั่น ความยาว และชุดอักขระอยู่ในกฎชุดเดียวกัน เพราะ PLC หลายยี่ห้อปนกันและการส่งออกฐานข้อมูลภายหลังจะลงโทษการสะกดแบบไม่เป็นทางการ เราเคยเก็บใกล้ 80,000 ตัวแปร จากอุปกรณ์ 366 เครื่องบนเครือข่ายเดียวในโครงการเดียว ตัวเลขนี้บรรยายงานเฉพาะ ไม่ใช่ขนาดโครงการทั่วไป และไม่ใช่เพดานจำนวนจุดที่ประกาศในทุกสัญญา สิ่งที่มันชี้คือกฎต้องยังใช้ได้เมื่อจำนวนจุดมาก ไม่ใช่แค่ดูดีบนไลน์นำร่องไม่กี่ร้อยจุด
- พื้นที่ (ไซต์ ไลน์ หรืออาคาร): สินทรัพย์สังกัดภูมิศาสตร์ใด — โรงงาน เวิร์กช็อป ไลน์ หรือรหัสสถานีสูบ หากไม่มี สองเครื่องรุ่นเดียวกันในคนละโถงจะชนชื่อ
- อุปกรณ์ (ยูนิต สคิด หรือเครื่อง): ตัวสินทรัพย์เอง — คอมเพรสเซอร์ สายพาน ชุดปั๊ม — เพื่อให้สัญญาณของเครื่องเดียวกันเรียงด้วยกัน
- สัญญาณ (ค่าวัดหรือฟังก์ชัน): อ่านหรือเขียนอะไร — ฟีดแบ็กเดิน แรงดันด้านจ่าย ฟอลต์ ค่าตั้ง
- ประเภท (คลาส): อินพุตแอนะล็อก เอาต์พุตแอนะล็อก อินพุตดิจิทัล เอาต์พุตดิจิทัล จุดคำนวณ แจ้งเตือน ค่าตั้ง — เพื่อให้ฮิสโทเรียน จอ และเอนจินแจ้งเตือนจัดการจุดตามลักษณะ
- ตัวคั่น ความยาว และชุดอักขระ: ตัวคั่นเดียว (ขีดล่างเป็นแนวทางที่ใช้กัน) ความยาวที่ PLC สั้นที่สุดและฮิสโทเรียนรับได้ทั้งคู่ ไม่มีช่องว่างหรือเครื่องหมายท้องถิ่นที่ทำให้การส่งออกพังในชื่อแท็ก
เทมเพลตวิศวกรรมที่ต้องมีก่อนจอแรก: จัดสรร I/O รายการจุด สเปก HMI
จอเป็นส่วนที่มองเห็นได้ของโครงการ SCADA จึงมักถูกคุยก่อน ในงานขนาดใหญ่ลำดับกลับกัน: ตารางจัดสรร I/O รายการจุด และสเปก HMI ต้องมีก่อนใครวาด หากไม่มีสามอย่างนี้ จอถัดไปจะคิดชื่อขึ้นเอง และระบบที่เดินอยู่ไม่มีต้นฉบับให้ตรวจทาน
นอกจากขนาดการเก็บข้างต้น เราเคยทำวิศวกรรมการแจ้งเตือนในโครงการขนาดใกล้ 30,000 จุดแจ้งเตือน ตัวเลขเหล่านี้เป็นหลักฐานจากงานเฉพาะ ไม่ใช่ขนาดที่คาดจากทุกไซต์ และไม่ใช่คำโฆษณาว่าแพลตฟอร์มรับกี่จุดในทุกสัญญา ขีดจำกัดบนของจำนวนแท็กบนเซ็กเมนต์เครือข่ายตามมาจากแบนด์วิดท์ คาบโพล และเฮดรูมเซิร์ฟเวอร์ เขียนไว้ในเทมเพลตด้านล่าง ไม่ใช่ไปพบตอนคอมมิชชัน
- ตารางจัดสรร I/O: ตู้ สล็อต ช่อง ประเภทสัญญาณ ช่วงวิศวกรรม และชื่อแท็กปลายทาง แช่แข็งก่อนเริ่มกำหนดแอดเดรส PLC
- รายการจุด (ตารางแท็ก): ต้นฉบับ — ชื่อแท็ก คำอธิบาย พื้นที่ อุปกรณ์ แอดเดรส ชนิดข้อมูล คลาสสแกน หน่วย ธงแจ้งเตือน หนึ่งจุดหนึ่งแถว ไฟล์มีเจ้าของคนเดียว
- สเปก HMI / หน้าจอ: มีจอใดบ้าง ผูกแท็กใด การนำทางและการแสดงแจ้งเตือน — เขียนก่อนงานกราฟิก ไม่ใช่หลังวาดเสร็จ
- แผนที่แอดเดรสและเครือข่าย: คอนโทรลเลอร์ใดถือช่วงใด มีกี่เครื่องร่วมเซ็กเมนต์ และขีดจำกัดบนจำนวนแท็กที่เซ็กเมนต์นั้นรับได้ที่คาบโพลที่ตกลง
ชื่อที่ไม่ดี ปัญหาที่เกิด และโครงสร้างที่แนะนำ
ตารางด้านล่างเป็นรายการตรวจที่ใช้ได้จริง ไม่ใช่มาตรฐานสากล รูปแบบคอลัมน์สามคือ AREA_EQ_SIGNAL_TYPE กรอกสี่ฟิลด์ตามโรงงานตน แล้วล็อกการสะกด ตัวคั่น และความยาว ให้การนำเข้าครั้งต่อ ๆ ไปใช้สัญญาเดียวกัน
| ชื่อที่ไม่ดี | ปัญหาที่เกิด | โครงสร้างที่แนะนำ |
|---|---|---|
| งานเดียวปน Pump1_Run, Pump1Run และ P1R | สัญญาณเดียวกันสะกดสามแบบ การค้นกับสคริปต์พลาดสองแบบ | รูปแบบเดียว ตัวคั่นเดียว เช่น P2_PU01_RUN_DI (พื้นที่_อุปกรณ์_สัญญาณ_ประเภท) |
| T12, AI03, MtrA | รหัสที่คนเขียนเดิมเท่านั้นถอดได้ การส่งมอบพึ่งความจำ | ใส่พื้นที่กับอุปกรณ์ในชื่อ ความหมายไว้ที่ฟิลด์คำอธิบาย อย่าซ่อนในรหัสส่วนตัว |
| Line2_Temp ใช้ทั้งค่ากระบวนการและแจ้งเตือน | ฮิสโทเรียน HMI และรายการแจ้งเตือนแย่งจุดเดียว ตัวกรองแยกไม่ได้ | จุดกระบวนการกับจุดแจ้งเตือนเป็นคนละแท็ก ฟิลด์ประเภทแยก PV จาก ALM |
| Compressor_Discharge_Pressure_High_High_Alarm_SP | ชื่อยาวเกิน PLC และฮิสโทเรียน การตัดท้ายชนกันโดยไม่ส่งเสียง | จำกัดความยาวในกฎ คำขยายไว้ที่ประเภทและคำอธิบาย อย่าต่อเป็นสายไม่จบ |
| รายการเดียวปน 1号炉_温度 กับ Furnace1_Temp | การส่งออก เส้นทาง OPC และ SQL พังที่อักขระท้องถิ่นหรือช่องว่าง | ชื่อแท็กใช้ภาษาเดียว (ตัวระบุภาษาอังกฤษเป็นแนวทางที่ใช้กัน) ภาษาท้องถิ่นอยู่ในคำอธิบาย |
โครงสร้างที่แนะนำเป็นเทมเพลตตั้งต้น ชุดอักขระ ความยาว และรหัสพื้นที่กับอุปกรณ์ต้องตกลงกับทีมหน้างานตามยี่ห้อ PLC และฮิสโทเรียนที่ใช้จริง
จุดแจ้งเตือนกับจุดกระบวนการต้องบริหารแยกกัน
จุดกระบวนการตอบว่าค่าเป็นเท่าไร จุดแจ้งเตือนตอบว่ามีคนต้องลงมือหรือไม่ การปนในแท็กเดียวดูประหยัดเมื่อมีไม่กี่ร้อยจุด และบริหารไม่ไหวเมื่อมีหลายพันจุด รายการแจ้งเตือนจะรับช่วงทางลัดการตั้งชื่อทั้งหมดจากรายการกระบวนการ และการจัดระเบียบภายหลังไม่มีรายการที่สะอาดให้ทำงาน
ระดับความสำคัญ การกลบ และการเก็บประวัติรีเซ็ตเป็นงานออกแบบอีกชุด เราเขียนไว้ในคอลัมน์เรื่องการจัดระเบียบการแจ้งเตือน SCADA ส่วนนี้ไม่ทบทวนบทเรียนจัดระดับนั้น สิ่งที่ต้องล็อกที่นี่คือการแยกที่ทำให้งานนั้นเป็นไปได้: สองกลุ่มจุด สองเจ้าของ สัญญาการตั้งชื่อชุดเดียวที่สร้างข้อความแจ้งเตือนจากพื้นที่ อุปกรณ์ และสัญญาณได้
- แยกกลุ่ม: แท็กกระบวนการที่ต้องมีการแจ้งเตือนมีแท็กแจ้งเตือนคู่ หรือระเบียนแจ้งเตือนผูกด้วยชื่อ — ไม่ทำจุดทำสองหน้าที่
- ข้อความแจ้งเตือนสร้างจากฟิลด์ชื่อ: พื้นที่ อุปกรณ์ สัญญาณประกอบเป็นข้อความอ่านได้ การเปลี่ยนชื่อจึงอัปเดตทั้งแท็กและข้อความ
- เจ้าของต่างกัน: แท็กกระบวนการอยู่กับ I/O และฮิสโทเรียน แท็กแจ้งเตือนอยู่กับการเดินเครื่อง พร้อมระดับและกฎปิดงาน สองรายการทบทวนคนละจังหวะ
- อย่าคัดลอกคลาสแจ้งเตือนใส่ทุกชื่อจุดกระบวนการ: คลาสอยู่ในระเบียนแจ้งเตือน การใส่ HH H L LL ลงแท็กกระบวนการหลายพันจุดทำให้การจัดระดับใหม่กลายเป็นการเปลี่ยนชื่อครั้งใหญ่
ในโครงการขนาดใกล้ 30,000 จุดแจ้งเตือน สิ่งที่ประคองงานได้คือการแยกนี้ ไม่ใช่จอที่ใหญ่ขึ้น โรงงานส่วนใหญ่จะไม่ถึงจำนวนนั้น การแยกกลุ่มยังคุ้มค่าตั้งแต่ไม่กี่ร้อยรายการ เพราะตอนนั้นต้นทุนยังต่ำ
สรุป
โครงการ SCADA ขนาดใหญ่บริหารด้วยชื่อและเทมเพลต ไม่ใช่ภาพแรก ตัดสินฟิลด์ — พื้นที่ อุปกรณ์ สัญญาณ ประเภท — ออกตารางจัดสรร I/O รายการจุด และสเปก HMI และดึงจุดแจ้งเตือนออกจากรายการกระบวนการ หากข้ามขั้นเหล่านี้ สิ่งที่จ่ายในงานหลังไม่ใช่การวาด แต่เป็นการเปลี่ยนชื่อ
หากชื่อปนอยู่แล้ว ให้ส่งออกรายการแท็กที่เดินอยู่ ทำตารางจุดชนและฟิลด์ที่ขาด แล้วล็อกกฎก่อนเพิ่มพื้นที่ถัดไป การต่อไลน์เพิ่มภายใต้กฎถูกกว่าการเก็บกวาดทั้งโรงงานภายหลัง
ตรวจรายการแท็กของคุณ
ส่งตัวอย่างชื่อแท็กปัจจุบันและตารางจัดสรร I/O มาได้ เราจะช่วยทำเครื่องหมายจุดชน ฟิลด์ที่ขาด และเสนอโครงสร้างการตั้งชื่อก่อนสร้างพื้นที่ถัดไป
ติดต่อเรา