อ่าน 3 นาที
อินเทอร์เฟซจำลองการทำงาน
อินเทอร์เฟซจำลองการทำงาน (Functional Mock-up InterfaceหรือFMI ) กำหนดอินเทอร์เฟซ มาตรฐาน ที่จะใช้ในการจำลองด้วยคอมพิวเตอร์เพื่อพัฒนาระบบไซเบอร์-กายภาพ ที่ ซับซ้อน
อินเทอร์เฟซจำลองการทำงาน
| อินเทอร์เฟซจำลองการทำงาน | |
|---|---|
| คำย่อ | เอฟเอ็มไอ |
| สถานะ | ที่ตีพิมพ์ |
| ปีเริ่มต้น | 2010 |
| เวอร์ชั่นล่าสุด | 3.0.2 [ 1 ] 27 พฤศจิกายน 2024 |
| องค์กร | โครงการสมาคมโมเดลลิกา (MAP) |
| มาตรฐานที่เกี่ยวข้อง | การจำลองร่วม |
| โดเมน | การจำลองด้วยคอมพิวเตอร์ |
| ใบอนุญาต | ซีซี บีวาย-เอสเอ-4.0 |
| เว็บไซต์ | เว็บไซต์ FMI |
อินเทอร์เฟซจำลองการทำงาน (Functional Mock-up InterfaceหรือFMI ) กำหนดอินเทอร์เฟซ มาตรฐาน ที่จะใช้ในการจำลองด้วยคอมพิวเตอร์เพื่อพัฒนาระบบไซเบอร์-กายภาพ ที่ ซับซ้อน
วิสัยทัศน์ของ FMI คือการสนับสนุนแนวทางนี้: หากผลิตภัณฑ์จริงต้องประกอบขึ้นจากชิ้นส่วนจำนวนมากที่ทำงานร่วมกันอย่างซับซ้อน โดยแต่ละชิ้นส่วนถูกควบคุมด้วยชุดกฎทางฟิสิกส์ ที่ซับซ้อน ก็ควรเป็นไปได้ที่จะสร้างผลิตภัณฑ์เสมือนจริงที่สามารถประกอบขึ้นจากชุดแบบจำลอง ซึ่งแต่ละแบบจำลองแสดงถึงการรวมกันของชิ้นส่วน โดยแต่ละแบบจำลองเป็นทั้งแบบจำลองของกฎทางฟิสิกส์และแบบจำลองของระบบควบคุม (โดยใช้อุปกรณ์อิเล็กทรอนิกส์ระบบไฮดรอลิกและซอฟต์แวร์ ดิจิทัล ) ที่ประกอบขึ้นในรูปแบบดิจิทัล มาตรฐาน FMI จึงเป็นเครื่องมือสำหรับการพัฒนาแบบจำลองของระบบ และใช้สำหรับการออกแบบฟังก์ชันที่ขับเคลื่อนด้วยอุปกรณ์อิเล็กทรอนิกส์ภายในยานพาหนะ (เช่น ตัวควบคุม ESP ระบบความปลอดภัยเชิงรุก ตัวควบคุมการเผาไหม้) กิจกรรมต่างๆ ตั้งแต่การสร้างแบบจำลองระบบ การจำลอง การตรวจสอบความถูกต้อง และการทดสอบ สามารถครอบคลุมได้ด้วยแนวทางที่อิงตาม FMI
ในการสร้างมาตรฐาน FMI นั้น บริษัทซอฟต์แวร์และศูนย์วิจัยจำนวนมากได้ร่วมมือกันในโครงการที่จัดตั้งขึ้นผ่านกลุ่มพันธมิตรยุโรป ซึ่งดำเนินการโดยDassault Systèmesภายใต้ชื่อMODELISARโครงการ MODELISAR เริ่มต้นในปี 2008 เพื่อกำหนดข้อกำหนดของ FMI ดำเนินการศึกษาด้านเทคโนโลยี พิสูจน์แนวคิดของ FMI ผ่านกรณีการใช้งานที่จัดทำโดยพันธมิตรในกลุ่มพันธมิตร และช่วยให้ผู้จำหน่ายเครื่องมือสามารถสร้างต้นแบบขั้นสูง หรือในบางกรณีอาจถึงขั้นสร้างผลิตภัณฑ์ได้ การพัฒนาข้อกำหนดของ FMI นั้นได้รับการประสานงานโดยDaimler AGหลังจากสิ้นสุดโครงการ MODELISAR ในปี 2011 FMI จึงได้รับการจัดการและพัฒนาในฐานะโครงการของสมาคม Modelica (MAP )
มาตรฐาน FMI กำหนดประเภทอินเทอร์เฟซสามประเภทสำหรับแง่มุมต่างๆ ของโมเดล:
- FMI สำหรับการแลกเปลี่ยนโมเดล
- FMI สำหรับ การ จำลองร่วม
- FMI สำหรับการดำเนินการตามกำหนดเวลา (ตั้งแต่ FMI เวอร์ชัน 3.0)
ในทางปฏิบัติ การนำ FMI ไปใช้โดยเครื่องมือสร้างแบบจำลองซอฟต์แวร์ช่วยให้สามารถสร้างแบบจำลองการจำลองที่สามารถเชื่อมต่อกันได้ หรือสร้างไลบรารีซอฟต์แวร์ที่เรียกว่า FMU (Functional Mock-up Unit) [ 2 ]
แนวทาง FMI
วิธีการ FMI ทั่วไปมีขั้นตอนดังต่อไปนี้:
- สภาพแวดล้อมการสร้างแบบจำลองอธิบายระบบย่อยของผลิตภัณฑ์โดยใช้สมการเชิงอนุพันธ์ พีชคณิต และสมการแบบไม่ต่อเนื่อง โดยมีตัวแปรเวลา สถานะ และเหตุการณ์แบบขั้นบันได แบบจำลองเหล่านี้อาจมีขนาดใหญ่สำหรับการใช้งานในการจำลองแบบออฟไลน์หรือออนไลน์ หรือสามารถใช้ในระบบควบคุมแบบฝังตัวได้
- อีกทางเลือกหนึ่งคือ เครื่องมือทางวิศวกรรมจะกำหนดรหัสควบคุมสำหรับควบคุมระบบยานยนต์
- เครื่องมือดังกล่าวสร้างและส่งออกส่วนประกอบในรูปแบบ FMU (Functional Mock-up Unit)
- จากนั้นสามารถนำ FMU เข้าสู่สภาพแวดล้อมอื่นเพื่อเรียกใช้งานได้
- ด้วยวิธีนี้ FMU หลายตัวสามารถทำงานร่วมกันได้ในระหว่างการทำงานผ่านสภาพแวดล้อมการจำลองร่วม โดยอาศัยคำจำกัดความ FMI ของอินเทอร์เฟซต่างๆ
ใบอนุญาต
ข้อกำหนดของ FMI เผยแพร่ภายใต้ใบอนุญาตโอเพนซอร์ส:
- ข้อกำหนดเหล่านี้ได้รับอนุญาตภายใต้สัญญาอนุญาต CC BY-SA (Creative Commons Attribution-Sharealike 4.0 )
- ไฟล์ C-header และ XML-schema ที่แนบมากับเอกสารนี้อยู่ภายใต้ สัญญาอนุญาต BSDโดยมีข้อกำหนดเพิ่มเติมว่า การแก้ไขใดๆ ก็ต้องอยู่ภายใต้สัญญาอนุญาต BSD ด้วยเช่นกัน
สถาปัตยกรรม
แต่ละ FMU (Functional Mock-up Unit) จะถูกแจกจ่ายในไฟล์ zipที่มีนามสกุล ".fmu" ซึ่งประกอบด้วย: [ 2 ]
- ไฟล์ XML ซึ่งประกอบด้วยข้อมูลต่างๆ รวมถึงคำจำกัดความของตัวแปรที่ใช้โดย FMU;
- สมการทั้งหมดที่ใช้โดยแบบจำลอง (กำหนดเป็นชุดของ ฟังก์ชัน C );
- ข้อมูลเพิ่มเติมอื่นๆ เช่น ตารางพารามิเตอร์ ส่วนติดต่อผู้ใช้ เอกสารประกอบ ซึ่งอาจจำเป็นสำหรับแบบจำลอง (เป็นทางเลือก)
ตัวอย่าง
ด้าน ล่าง นี้คือตัวอย่างคำอธิบายแบบจำลอง FMI ที่ออกโดยModelica
<?xml version="1.0" encoding="UTF8"?> <fmiModelDescription fmiVersion= "1.0" modelName= "ModelicaExample" modelIdentifier= "ModelicaExample_Friction" > ... <UnitDefinitions> <BaseUnit unit= "rad" > <DisplayUnitDefinition displayUnit= "deg" gain= "23.26" /> </BaseUnit> </UnitDefinitions> <TypeDefinitions> <Type name= "Modelica.SIunits.AngularVelocity" > <RealType quantity= "AngularVelocity" unit= "rad/s" /> </Type> </TypeDefinitions> <ModelVariables> <ScalarVariable name= "inertia1.J" valueReference= "16777217" description= "Moment of inertia" variability= "parameter" > <Real declaredType= "Modelica.SIunits.Torque" start= "1" /> </ScalarVariable> ... </ModelVariables> </fmiModelDescription>การเปรียบเทียบกับฟังก์ชัน S ของ Simulink
FMI มักถูกเปรียบเทียบกับSimulink S-Functions เนื่องจากทั้งสองเทคโนโลยีสามารถใช้เพื่อรวมเครื่องมือของบุคคลที่สามเข้าด้วยกันได้ S-Functions ใช้เพื่อระบุ คำอธิบาย ภาษาคอมพิวเตอร์ของระบบไดนามิก โดยจะถูกคอมไพล์เป็นไฟล์ MEX ที่เชื่อมโยงแบบไดนามิกเข้ากับMATLABเมื่อจำเป็น S-Functions ใช้ไวยากรณ์การเรียกที่โต้ตอบกับตัวแก้สมการของ Simulink การโต้ตอบนี้คล้ายกับการโต้ตอบที่เกิดขึ้นระหว่างบล็อกในตัวของ Simulink และตัวแก้สมการ[ 3 ]
ผู้สนับสนุน FMI อธิบายว่าโมเดล FMI มีข้อดีหลายประการเหนือฟังก์ชัน S ของ Simulink: [ 4 ]
- รูปแบบ S-Functions เป็นกรรมสิทธิ์เฉพาะ ในขณะที่ส คีมา FMI ได้รับอนุญาตภายใต้ใบอนุญาต BSD
- ส่วนประกอบพื้นฐานของ S-Functions นั้นซับซ้อนกว่า FMI มาก ทำให้การบูรณาการเข้ากับโปรแกรมจำลองอื่นๆ นอกเหนือจาก Simulink นั้นทำได้ยากมาก
- นอกจากนี้ รูปแบบ S-Functions ยังเป็นรูปแบบเฉพาะสำหรับ Simulink อีกด้วย
- ฟังก์ชัน S ไม่เหมาะสำหรับระบบฝังตัวเนื่องจากฟังก์ชัน S ใช้หน่วยความจำมากเกินไป
| โครงสร้างระบบและการกำหนดพารามิเตอร์ | |
|---|---|
| คำย่อ | เอสเอสพี |
| สถานะ | ที่ตีพิมพ์ |
| เวอร์ชั่นล่าสุด | 2.0 [ 5 ] |
| องค์กร | โครงการสมาคมโมเดลลิกา (MAP) |
| มาตรฐานที่เกี่ยวข้อง | การจำลองร่วม |
| โดเมน | การจำลองด้วยคอมพิวเตอร์ |
| ใบอนุญาต | ซีซี บีวาย-เอสเอ-4.0 |
| เว็บไซต์ | เว็บไซต์ SSP |
โครงสร้างระบบและการกำหนดพารามิเตอร์ (SSP)
โครงสร้างระบบและการกำหนดพารามิเตอร์ ( SSP ) [ 6 ]เป็นมาตรฐานเสริมของ FMI ที่กำหนดรูปแบบไฟล์แบบเปิดมาตรฐานเพื่ออธิบายระบบที่ซับซ้อนและมีลำดับชั้น (ทางเทคนิค) ซึ่งสามารถจำลองได้ ไฟล์ SSP ประกอบด้วยคำจำกัดความสำหรับสถาปัตยกรรมระบบ อินเทอร์เฟซขององค์ประกอบระบบ และการเชื่อมต่อและการกำหนดพารามิเตอร์ จุดมุ่งหมายของ SSP คือการทำให้การแลกเปลี่ยนและการบูรณาการองค์ประกอบระบบที่ใช้ในการ พัฒนาแบบกระจายของระบบที่จะจำลองโดยใช้เครื่องมือที่หลากหลายนั้นง่ายขึ้น [ 7 ]
SSP กำลังได้รับการพัฒนาในฐานะโครงการของสมาคม Modelica และอิงตามข้อกำหนด FMI FMI ช่วยให้สามารถแลกเปลี่ยนส่วนประกอบการจำลองแต่ละส่วนได้ ในขณะที่ SSP ช่วยให้สามารถแลกเปลี่ยนระบบการจำลองที่สมบูรณ์ รวมถึงรูปแบบต่างๆ และการกำหนดพารามิเตอร์ได้ ส่วนประกอบการจำลองของระบบการจำลองที่อธิบายไว้ใน SSP ยังสามารถเป็นอิสระจาก FMI และสามารถแมปไปยังการใช้งานอื่นๆ ได้ด้วย
SSP สามารถขยายเพื่อรองรับข้อกำหนดเฉพาะหรือส่วนขยายเฉพาะด้านได้ เช่น OSI, การจัดทำเอกสารข้อกำหนด, การตรวจสอบย้อนกลับ หรือขั้นตอนกระบวนการ เป็นต้น SSP เปิดกว้างในส่วนของรูปแบบส่วนประกอบ แม้ว่าจะอิงตาม FMI แต่ก็สามารถใช้กับข้อกำหนดส่วนประกอบในรูปแบบอื่น ๆ ได้เช่นกัน
มาตรฐานและข้อแนะนำที่เกี่ยวข้อง
ในเดือนพฤษภาคม พ.ศ. 2557 กลุ่มโครงการ Smart Systems Engineering (SmartSE) ของ สมาคม ProSTEP iViPได้เผยแพร่คำแนะนำ PSI 11 สำหรับการแลกเปลี่ยนแบบจำลองพฤติกรรมข้ามบริษัท[ 8 ]โดย FMI เป็นพื้นฐานทางเทคโนโลยี PSI 11 ระบุสถานการณ์การโต้ตอบ กรณีการใช้งาน กระบวนการอ้างอิง และแม่แบบ ซึ่งจะช่วยให้การประยุกต์ใช้ในอุตสาหกรรมง่ายขึ้น ในช่วงปลายปี พ.ศ. 2559 กลุ่มได้เผยแพร่ภาพยนตร์ซึ่งเน้นถึงประโยชน์ทางอุตสาหกรรม[ 9 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- เว็บไซต์หลักของ FMI
- เว็บไซต์หลักของ SSP
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ อินเทอร์เฟซจำลองการทำงาน
อินเทอร์เฟซจำลองการทำงาน (Functional Mock-up InterfaceหรือFMI ) กำหนดอินเทอร์เฟซ มาตรฐาน ที่จะใช้ในการจำลองด้วยคอมพิวเตอร์เพื่อพัฒนาระบบไซเบอร์-กายภาพ ที่ ซับซ้อน
ใบอนุญาต
ข้อกำหนดของ FMI เผยแพร่ภายใต้ใบอนุญาตโอเพนซอร์ส:
สถาปัตยกรรม
แต่ละ FMU (Functional Mock-up Unit) จะถูกแจกจ่ายใน ไฟล์ zip ที่มีนามสกุล ".fmu" ซึ่งประกอบด้วย: [ 2 ]
ตัวอย่าง
ด้าน ล่าง นี้คือตัวอย่างคำอธิบายแบบจำลอง FMI ที่ออกโดย Modelica