האיצו את הקוד שלכם: כך תגרמו לאלגוריתמים שלכם לרוץ מהר יותר עם ייעוץ אישי ממומחי MATLAB

זה בדיוק הזמן לשדרג את הקוד שלכם – ולקבל ייעוץ אישי של 30 דקות עם מהנדסי האפליקציה של סיסטמטיקס ללא עלות. לחצו כאן לקביעת פגישה

בפגישת הייעוץ נעבור יחד על הקוד שלכם, נאתר צווארי בקבוק, ונספק לכם טיפים פרקטיים להאצת ביצועים – מבוססי כלים מתקדמים של MATLAB ו-Simulink.

בפוסט מעמיק זה, נסקור את הטכניקות בהן ניתן להשתמש על מנת להאיץ את אלגוריתמים ואפליקציות שפותחו ב-MATLAB.

בין היתר נעבור על נושאים כגון:

  • כיצד להעריך את ביצועי הקוד?
  • שיטות ששווה לאמץ על מנת לכתוב בצורה יעילה יותר קוד טורי
  • עבודה בגישה של OOP ושימוש ב-System Objects
  • מינוף משאבי החומרה שבידנו, ויישום עיבוד מקבילי על CPUs ו-GPUs
  • ייצור קוד C

אז ניגש ישר לעניין – איך גורמים לקוד MATLAB שלכם לרוץ מהר יותר?

כדי לשפר ביצועים – צריך קודם להבין איפה להשקיע מאמץ.
להלן עיקרי השלבים, השיטות והכלים שיעזרו לכם לשפר את הביצועים, צעד אחר צעד:

הערכת ביצועי הקוד

לפני שבכלל נבצע שינויים בקוד, קודם עלינו לקבוע היכן למקד את מירב המאמצים.
שני כלים קריטיים לתמיכה בתהליך זה הם ה-Code Analyzer ו-MATLAB Profiler.
ה-Code Analyzer נמצא על גבי ה-MATLAB Editor, והוא מבצע בדיקות על הקוד בצורה דינאמית תוך כדי שהקוד נכתב. הוא מנתח את הקוד, מזהה בעיות פוטנציאליות, ובהתאם ממליץ על שינויים כדי למקסם את הביצועים ואת תחזוקת הקוד.
ניתן להריץ דוחות וניתוחים של ה-Code Analyzer על גבי תיקיות שלמות, מה שמאפשר להציג את כל המסקנות של ה-Code Analyzer עבור קבצים רבים, תחת מסמך אחד.

בעזרת MATLAB Profiler, ניתן לגלות בצורה אינטרקטיבית, נוחה וגרפית את זמני הביצועים של הקוד, מה שעוזר לנו לחקור את הקוד ולראות היכן טמונים צווארי הבקבוק בקוד – ובהתאם, לשנות את אותם המקטעים הבעייתיים.

הכלי מפיק דוח שמסכם את ביצועי הקוד, כולל רשימה של כל הפונקציות שבוצעו אליהן קריאות, מספר הפעמים שכל פונקציה נקראה, והזמן הכולל שהוקדש לכל פונקציה.

כמו כן הכלי מספק גם מידע על התזמון הפנימי בכל כל פונקציה, כגון אילו שורות קוד דורשות את זמן העיבוד הרב ביותר.  

אחרי שהצלחנו לזהות את צווארי הבקבוק, נוכל להתמקד בשיטות לשיפור הביצועים של מקטעים ספציפיים אלו בקוד. לאחר שניישם את השיפורים שלנו, ה-Profiler יוכל לעזור לנו למדוד כמותית את השיפור בזמנים.

אימוץ שיטות לכתיבה יעילה של קוד טורי

לפני שניגש לשיטות מתקדמות להאצת ביצועים של הקוד שלנו, כדאי שראשית ניישם שיטות שונות לאופטימיזציה של הקוד, כך שירוץ בצורה המהירה ביותר באופן טורי.

שתי טכניקות תכנות יעילות במיוחד לשם כך הן ווקטוריזציה (Vectorization) ופרה-אלוקציה (Pre-allocation).

פרה-אלוקציה הכוונה לאתחול המערך באמצעות הקצאה של הגודל הסופי הנדרש עבור אותו מערך. יישום הקצאת הזכרון מראש עוזרת להימנע משינוי דינמי של גודל מערכים, במיוחד כאשר הקוד מכיל לולאות for ו-while.
מכיוון שמערכים ב-MATLAB מוחזקים בגושי זיכרון רציפים, שינוי גודלם של מערכים לעתים קרובות מחייב את MATLAB לבזבז זמן בחיפוש אחר בלוקים רציפים גדולים יותר של זיכרון ואז להעביר את המערך לאותם בלוקים. על ידי ביצוע הקצאה מראש של מערכים, ניתן להימנע מפעולות זיכרון מיותרות אלו ולהביא לשיפור בזמן הביצוע הכולל.

ווקטוריזציה הוא תהליך המרת הקוד משימוש בלולאות לשימוש במטריצות ובפעולות ווקטוריות.
MATLAB הינה שפה שנוצרה במקור לחישוב בעיות של אלגברה לינארית, והיא אופטימלית לחישובים וביצוע מניפולציות שונות על מטריצות ווקטורים.
לכן, לעיתים קרובות ניתן לשפר את הביצועים של הקוד על ידי ביצוע ווקטוריזציה של הקוד.

ניקח בחשבון שחישובים הכוללים ווקטורים גדולים ומערכי ענק יכולים להיות מועמדים טובים להאצה באמצעות GPU. במקרים בהם לא ניתן לעשות ווקטוריזציה של לולאות for, לעתים קרובות נוכל להחליף את לולאת ה-for בלולאת for מקבילית (parfor), וכן נוכל גם להחליף את מקטעי קוד ה-MATLAB בקוד C, בכדי להאיץ את האלגוריתם.
תוכלו לעיין בסעיפים על מחשוב מקבילי ויצירת קוד C מ-MATLAB לפרטים נוספים על טכניקות אלו.

עבודה בגישה של OOP ושימוש ב-System Objects

ניתן להשתמש ב-System Objects כדי להאיץ את הקוד שלנו.
System Objects הם אובייקטים שנכתבו ב-MATLAB בגישת Object-Oriented Programming (OOP). למעשה מדובר בקלאסים (Classes) שעל ידי שימוש בהם ניתן לבצע את האלגוריתמים בצורה מהירה יותר. הם מתוכננים במיוחד להטמעה ולריצה בסימולציות במערכות דינאמיות עם קלטים שמשתנים לאורך הזמן.

אובייקטים אלו אידאליים עבור חישובים איטרטיביים אשר מעבדים כמויות גדולות של דאטה, וכן בעלי היכולת לעבד נתונים שמגיעים באופן רציף (Streaming). היתרון המובהק שמתקיים עקב עובדות אלו, הוא שלא צריך להחזיק כמויות גדולות של נתונים בזיכרון כלל, בכל שלב על גבי שולחן העבודה שלנו.

בנוסף ל-System Objects שמגיעים ביחיד עם הכלים השונים של MATLAB ו-Simulink, ניתן ליצור System Objects חדשים משלנו. 

מינוף משאבי החומרה שבידנו, ויישום עיבוד מקבילי על CPUs ו-GPUs
עד כה תיארנו דרכים ללאפטם את הקוד שלנו בצורה טורית. ניתן גם להשיג האצה בביצועים על ידי ניצול כל המשאבים ולמנף את היכולות של החומרה שבידנו באופן מקסימלי.
באמצעות MATLAB ו-Simulink ניתן לבצע חישובים בקנה מידה גדול, לבצע סימולציות ולפתור בעיות עתירות נתונים זאת על ידי שימוש במעבדים מרובי ליבות (Multi-core), מעבדים גרפיים (GPUs) וכן על גבי קלאסטרים (Clusters) של מחשבים.

באמצעות Parallel Computing Toolbox ניתן לשלוט על CPUs GPUs מרובי ליבות לוקליים על מנת להאיץ את עבודתנו. באמצעות יכולת זו, ניתן לנצל את כוח העיבוד המלא של משאבי המחשוב הלוקליים שברשותנו, תוך כדי דאגה לביזור היישומים שיופעלו מ-MATLAB על גבי Workers – בשפה של MathWorks, הכוונה ל MATLAB computational engines-שרצים לוקלית במחשב שלנו במקביל.

הידע שנדרש לשם כך הוא מינימלי – אין צורך בידע מקדים בכתיבת קוד CUDA או תכנות ב-MPI לצורך ביצוע המיקבול על גבי ה-MATLAB או להריץ סימולציות שונות של Simulink במקביל.

MATLAB Parallel Server מאפשר ביצוע scaling up ליישומים שנבנו ב- MATLABולסימולציות בSimulink- לקלאסטרים מרוחקים ולענן.
באמצעות יכולת זו, ניתן לבנות אבטיפוס של היישומים והסימולציות הקיימים על גבי שולחן העבודה, ולאחר מכן לבצע scaling up לקלאסטרים ולענן – עם שינוי קוד מינימלי בלבד.  

למעשה, כלי זה דואג להריץ את התוכניות והסימולציות הקיימות כיישומים מתוזמנים מבלי שנצטרך לדאוג מהבדלים במערכות ההפעלה, סביבות שונות ובמתזמנים.
הכלי משתמש לשם כך במתזמן המאופטם של MATLAB (Job Scheduler) שמסופק על ידי הכלי, או שניתן גם לבחור במתזמן משלכם.

ייצור קוד C

ישנם מקרים בהם ווקטוריזציה אינה אפשרית, או שתיקח זמן רב. במקרים כאלה, ייצור קוד C בצורה אוטומטית והחלפת מקטעים מקוד ה-MATLAB יכולה להביא להאצת מהירות הביצוע של הקוד.

באמצעות כלי ה-MATLAB Coder, ניתן ליצור קוד C קריא ונייד, לאחר מכן ניתן לקמפל אותו לפונקציית MEX אשר מחליפה את החלק המקביל באלגוריתם ה-MATLAB. קוד MEX הוא למעשה קוד C אשר עטוף במעטפת המאפשרת להאיץ את הקוד ישירות מ-MATLAB.

לסיכום, בכל אחת מהשיטות השונות קיים פוטנציאל לעזור לנו להשיג האצה בזמני הריצה של הקוד, ובמקרים רבים גם נוכל לנקוט בשילוב בין השיטות השונות שפורטו לעיל על מנת להאיץ באופן משמעותי יותר את הקוד שברשותנו.
היופי הוא שכל זה אפשרי מבלי לשנות את הלוגיקה של הקוד, אלא רק ללטש את הדרך בה הוא רץ.

 רוצים לגלות איך להאיץ את הקוד שלכם?

אנו מזמינים אתכם לשיחת ייעוץ אישית עם מהנדס אפליקציה שלנו:

  • נבחן יחד את הקוד או האלגוריתם שלכם.
  • נאתר הזדמנויות לשיפור ביצועים.
  • ונספק המלצות ממוקדות לשדרוג העבודה ב-MATLAB ו Simulink.

מדריך להוספת רישיון לשרת רישיונות

חשוב להדגיש! ישנם שני מקרים של הוספת רשיונות:

  • קבלת מספר סריאלי חדש שיש להוסיף לשרת הרשיונות בנוסף לרשיונות שכבר בשימוש. הצעדים מטה מראים צעד אחר צעד מה צריך לעשות.
  • הוספת רשיונות למספר שכבר קיים ואז צריך רק לבצע אקטיבציה מחדש לרשיון על מנת לראות את העדכון במספר הרשיונות. במקרה הזה יש לוותר על סעיפים 6 ו-7 ופשוט להמשיך בתהליך האקטיבציה.

להלן סדר הפעולות

  1. לחצו על כפתור Start (התחל) וכותבים בחיפוש: SolidNetWork
  2. לחצו על SolidNetWork License Manager Server 20XX (כאשר XX הינו מס' הגרסה) על מנת להיכנס למנהל הרישיונות.

3. בלשונית Server Administration, באזור מידע על הרישיון (License Information), לחצו על Modify.

4. בחרו Activate/Reactivate your product license(s) ולחצו על Next.

5. במסך הבא יופיעו שם המחשב (Computer Name) ומספר פורט  נשאיר את הערכים המוצעים כמו שלהם ונלחץ Next.

6. במסך של Activate/Deactivate Your SOLIDWORKS Product, לחצו על כפתור Add כדי לפתוח את חלון הוספת מספרי רישיון.

7. בחלון הזה תוכלו להקליד או להדביק את מספרי הרישיון שלכם ולהקיש OK כשתסיימו.

8. המספרים החדשים יופיעו כעת ברשימה. כדי להפעיל (Activate) אותם, בחרו אותם ברשימה (או לחצו Select All) ולחצו Next.

בסיום התהליך, נקבל רשימה של כל המוצרים ונוכל ללחוץ על Finish.

במידה ולא הסתדרתם, מוזמנים לפתוח קריאת שירות כאן.

התקנת שרת רישוי ל-SOLIDWORKS צעד אחר צעד

בשלב ראשון יש לבצע התקנה של מנהל הרישיונות במחשב Server שבו ינוהלו הרישיונות השונים של מוצרי SOLIDWORKS.

  • יש לוודא שלכל מחשבי הקצה יש גישה (ping) למחשב זה הפורט הדיפולטי הוא 25734 ו-25735.
  • הגרסה הנוכחית של מנהל הרישיונות תומכת גם בגרסאות ישנות יותר של SOLIDWORKS.
  • התחל את ההתקנה על ידי לחיצה על
  • בחר ב- Administrative/Server installations וסמן את האפשרות-
    Install SolidNetWork License Manager:
  • הקלד את המספר הסידורי.
    אם יש יותר ממספר סריאלי אחד, יש להזין את המספרים אחד אחרי השני מופרדים עם פסיק.
  • אשר את תנאי השימוש ולחץ על Install Now:
  •  מהלך ההתקנה:
  • בסיום ההתקנה לחץ על Finish.
  • בפתיחת שרת הרשיונות הוא יבקש לבצע אקטיבציה
  • אם קיים בארגון Firewall, סמן את התיבה המתאימה ולחץ על  Next:

אופציה א': אקטיבציה אוטומטית (מומלץ)

  • בחר Automatically over the internet
  • מלא את ה- email של מבצע האקטיבציה, ולחץ על Next:
  • כעת מתבצע תהליך הרישום וקבלת הרישיון להפעלת התוכנה:

בסיום התהליך מתקבל אישור לרישיון.

  • לאחר לחיצה על Finish ניתן להשתמש בתוכנה.

אופציה ב': אקטיבציה ידנית (רק עבור מחשבים ללא חיבור לאינטרנט)

  • בחר באפשרות השנייה: Manually via e-mail
  • מלא את ה- email של מבצע האקטיבציה, ולחץ על Next:    
  • לחץ על Save כדי לשמור request file:
  • את הקובץ שנשמר העבר למחשב עם גישה לאינטרנט (אחת האפשרויות להעביר את הקובץ למחשב עם גישה לאינרנט היא על ידי התקן נייד כגון דיסק-און-קי)
  • שלח את הקובץ ב-e-mail לכתובת activation@solidworks.com.
  • לאחר מספר רגעים יתקבל מייל חוזר, אליו מצורף קובץ Respond.
  • העבר את הקובץ שהתקבל במייל למחשב בו מותקנת התוכנה.
  • הפעל את מנהל הרשיונות ולחץ על כפתור ה- Open לקריאת קובץ האקטיבציה.
  • בסיום ההתקנה והאקטיבציה תפתח תוכנת ניהול הרישיונות:
  • בלשונית License Usage יוצגו כמויות הרישיונות השונים הקיימים:

עכשיו ניתן להתקין SOLIDWORKS בעמדות הקצה – ניתן להיעזר בסרטון הבא:

במידה ולא הסתדרתם, מוזמנים לפתוח קריאת שירות כאן.

מקרה נפוץ מאוד  – לא מצליחים לבצע אקטיבציה…

הרבה לקוחות מגיעים לשלב הזה באקטיבציה ואז נחסמים

אם תלחצו על NEXT תקבלו את ההודעה הבאה

הודעה זו אומרת שצריך להוסיף כתובת מייל על מנת להשלים את האקטיבציה:

את הכתובת מייל ניתן לראות לאחר מכן באתר האקטיבציות של SOLIDWORKS

במידה ולא הסתדרתם, מוזמנים לפתוח קריאת שירות כאן.

חלון ההתקנה ב-SOLIDWORKS נפתח בגודל לא תקין? כך תפתרו את הבעיה בקלות

בגרסאות חדשות של SOLIDWORKS, משתמשים עם מסכים ברזולוציה גבוהה מדווחים על כך שה-Installation Manager מופיע בחלון קטן מדי, מה שמקשה על התחלת ההתקנה.

בגלל הגודל הקטן, ה-checkbox של "I accept the terms of the SOLIDWORKS License Agreement" מוסתר, ולכן הכפתורים "Download/Install Now" או “Modify Now” מופיעים באפור ולא ניתן ללחוץ עליהם.

(הערה: במקרים מסוימים, כאשר הטקסט מוגדל מאוד, חלון ההתקנה עשוי להיראות מעוות יותר)

פתרון #1 – שינוי גודל הטקסט ב-Windows

  1. סגור את חלון ההתקנה של SOLIDWORKS.
  2. בשורת החיפוש של Windows, הקלד Settings (או הגדרות) כדי לפתוח את הגדרות Windows.
  • בחר בקטגוריית Accessibility (נגישות) ושנה את ההגדרות Text Size (גודל הטקסט) ל-100% ולחץ על Apply (החל).
  • פתח שוב את ה-Installation Manager ונסה להמשיך בהתקנה כרגיל.

פתרון #2 – שימוש במקשי Tab ו-Spacebar

אם שינוי גודל הטקסט לא פתר את הבעיה, ניתן להמשיך בדרך הבאה:

  1. לחץ על חלון ההתקנה כדי וודא שהוא בפוקוס.
  2. לחץ מספר פעמים על מקש Tab במקלדת כדי לנווט בין השדות עד שהבחירה מגיעה ל-checkbox של “I accept the terms of the SOLIDWORKS License Agreement”

(למרות שה-checkbox עצמו לא נראה).

בדרך כלל נדרשות 3-6 לחיצות Tab, תלוי במסך, אך לרוב מדובר ב-Tab בודד אחד ממש אחרי הסימון “Change” בקטגוריית “Hole Wizard Options”.

  • כאשר ה-checkbox מסומן (גם אם לא רואים אותו), לחץ על Spacebar (במקלדת) כדי לאשר.
  • כעת הכפתור “Download\Install Now” או "Modify Now" אמור להיות פעיל, וניתן להמשיך בהתקנה.

תאום דיגיטלי בנמל Corpus Christi: כש-ArcGIS פוגש Unity לבניית תמונת מצב על מסך אחד

העולם שבו תשתיות קריטיות מתוחזקות באמצעות טבלאות, מסכי בקרה מנותקים ומערכות שאינן מדברות זו עם זו – הולך ונעלם. במקומו צומח מודל חדש: תאום דיגיטלי תלת ממדי חי, שמחובר לסנסורים ונתונים בזמן אמת, משלב GIS, חישה מרחוק, וידאו, AI ומנוע גרפי של משחקים.

אחד המימושים המרשימים ביותר לגישה הזו הוא OPTICS – Overall Port Tactical Information Computer System –  התאום הדיגיטלי של נמל  Corpus Christi, שבדרום טקסס, אשר נבנה על גבי ArcGIS ומנוע Unity והוצג כ‑“3D Active Digital Twin” המרכז את כל המידע למסך אחד – גם בחדר הבקרה וגם בשטח.

OPTICS 3D Active Digital Twin מבוסס ArcGIS ומשולב במנוע Unity
(Esri User Conference)

במציאות התפעולית של נמלים ותשתיות:

  • יש אינסוף מערכות: CAD (Computer Aided Dispatch), אבטחה, מערכות AIS למעקב אחרי כלי שיט, מצלמות, תחזוקה, חירום, מזג אוויר, תיעוד תשתיות ועוד.
  • כל מערכת חיה על מסך אחר, בשרת אחר, בדשבורד אחר.

OPTICS  נולד מתוך צורך פשוט:
להפסיק לנהל את הנמל דרך יישומים רבים המחייבים מעבר מתמיד ביניהם ולחבר את כל הנתונים ותהליכי העבודה למבט גאו־מרחבי אחד, מדויק, אינטואיטיבי ותלת־ממדי.

במקום מפעיל שמדלג בין חמישה מסכים, נוצרה סביבת עבודה אחת שמציגה:

  • את כל מתקני הנמל (50 מייל רבוע, מעל 150 מתקנים)
  • את כל כלי השיט (150–400 ספינות באזור בכל רגע נתון)
  • את כל האירועים הביטחוניים
  • כולם ביחד, על גבי מפה וסצנה תלת ממדית אחת, ברמת דיוק של GIS ובחוויית שימוש של משחק מחשב.

שלדת המערכת : ArcGIS + Unity = 3D Active Digital Twin

OPTICS – תאום דיגיטלי תלת ממדי פעיל מבוסס ArcGIS ומשולב ב Unity
(2025 Unity Industry Summit)

ArcGIS שכבת האמת המרחבית

ArcGIS  משמש כבסיס הגאו-מרחבי:

  • מפות בסיס  ותצלומי לוויין/רחפן –  תשתית הרקע של הנמל, במעבר גמיש בין תצוגת ריאליסטית למפות טופוגרפיות ומפות כבישים.
  • Scene Layers (SLPK)  מודלים תלת-ממדיים של מבנים, גשרים, רציפים, מתקנים – כולם ממוקמים בדיוק גאו־מרחבי, לא רק “נראים טוב”.
  • Feature Layers  – שכבות נוספות כמו צפיפות אוכלוסייה, תשתיות, נתוני רקע ממערכות אחרות.

יתרון ה- GIS : מספק את הדיוק, התקן ומודל הנתונים, כך שכל ההקשר המרחבי הבסיסי נשען על פלטפורמה מוכרת, מקובלת ומנוהלת.

Unity הנו כלי נפוץ לבניית סביבות עבור משחקי מחשב (Game Engine). באמצעות תוסף ה-ArcGIS Maps SDK for Unity , ניתן להפוך את הנתונים הגאו מרחביים לסביבה אינטראקטיבית:

  • תצוגות תלת ממדיות אינטואיטיביות, עם תאורה, ים, מודלים של ספינות, מבנים וגשרים.
  • הצגה בזמן אמת של תנועת כלי שיט, כלי רכב ואירועים.
  • יכולת להריץ את המערכת גם על Desktop  וגם על Mobile ובהמשך גם AR/VR – כך שאותו תאום דיגיטלי חי גם במשרד וגם על הסירה.
  • שימוש ביכולות המוכרות של Unity Collision, Asset Store, Optimization –  לבניית סצנה מרובת אובייקטים (עיר שלמה, אלפי מבנים וספינות) בפרק זמן קצר מאוד.

התוצאה היא ממשק שנראה כמו משחק – אבל מנהל תשתית אמיתית.

המפתחים מגיעים מעולם הגיימינג – ומביאים איתם יתרון עצום: שנות ניסיון בתכנון UI/UX שמאפשרים להבין סיטואציה מורכבת בשבריר שנייה.

OPTICS מחבר שלושה מקורות נתונים בזמן-אמת עיקריים, ועוד כמה “תוספות חכמות”:

  1. הדמאות  רחפנים ולוויינות
    משמשים כבסיס לבנייה המרחבית: מבנים, דרכים, מסופים, שטחי אחסון, מתקנים לוגיסטיים ועוד.
  2. Computer Aided Dispatch (CAD)  – מערכת השיטור של הנמל
    מספקת נתוני קריאות, סוג אירוע, סטטוס, יחידות מוקצות, מיקום כלי רכב וסירות ביטחון.
    כל אירוע כזה מופיע בתלת ממד בסמל אדום עם סימן קריאה, עם יכולת לפתוח את כל פרטי האירוע מתוך התאום.
  3. AIS – Automatic Identification System
    משדרי רדיו על כלי השיט שמספקים:
    • סוג כלי השיט
    • גודל
    • שם
    • מהירות וכיוון
    • מיקום בזמן אמת

עם המידע הזה Unity מציג מודלים תלת־ממדיים של ספינות, שזזים במסלולם האמיתי לאורך ערוצי השיט, ומופיעים ביחס מדויק למתקנים, גשרים, רציפים ומים.

אליהם מצטרפים:

  • נתוני מזג אוויר (NOAA) – עננות, רוחות, מצבי ים.
  • רמת MARSEC של משמר החופים – מדד מצב ביטחוני ימי.
  • בהמשך הדרך תגיע גם  טלמטריה של כלי רכב באמצעות ווידאו ממצלמות אבטח,  סנסורים ועוד.

כל הזרמים הללו מתואמים על ידי שרת תאום דיגיטלי ייעודי (Project Gemini) שמחזיק את מצב העולם, ומזין את לקוחות Unity בנתונים עדכניים.

אחד האתגרים המעניינים בפרויקט הגיע דווקא מהדבר הכי “תמים”: תצלומי לוויין.

תצלום לוויין הוא צילום של רגע. אם באותו רגע עברו ספינות או ניצבו מכולות בשטח – הן “צרובות” בתמונה.

כאשר מוסיפים על גבי התמונה מודלים תלת־ממדיים של ספינות חיות מתוך AIS מתקבלת תופעה מבלבלת:

  • על המסך נראית ספינה “סטטית” (מהתמונה) לצד ספינה "חיה"  מה‑AIS
  • עבור המפעיל, קשה לדעת מהו האובייקט האמיתי, במיוחד בתרחישים מהירים.

הפתרון שנבחר אינו “פוטושופ” ידני לכל תצלום – זה לא ריאלי, וגם שובר את היתרון של Basemaps  מתעדכנים.

במקום זה:

  • נבנתה שכבת Elevation מותאמת אישית לאורך כל תעלת השיט והקווי חוף (Bathymetry)
  • מעליה הוצגו מים (Ocean Shader) של Unity שמכסים את הייצוגים הישנים של הספינות בצילום.

בדרך זו, הייצוג הסטטי של העצמים מוצג שהוא "נקי" מהאובייקטים המבלבלים, והסצנה מציגה רק את הספינות החיות מה‑AIS מבלי לוותר על יתרונות ה‑Basemaps  המוזרמים בענן.

במבט ראשון,  OPTICS “נראה כמו משחק”. אבל זה לא קוריוז, יש כאן יתרון קוגניטיבי משמעותי:

  • המוח האנושי מכוונן להבין סצנות ריאליסטיות –  עומק, מרחק, יחס בין אובייקטים, תנועה.
  • Dashboard דו ממדי שטוח דורש מאמץ פרשני: סמלים, טבלאות, מספרים.
  • תצוגת תלת ממד ריאליסטית מאפשרת לקלוט במבט אחד:
    • היכן האירוע
    • מה קרוב אליו
    • מי בדרך
    • מי נמצא בסיכון

בנמל, שבו הזמן קובע את איכות התגובה, ההבדל בין “להסתכל על מפה” לבין “להיות בתוך הסצנה” הוא קריטי.

מעבר לתמונת מצב בזמן אמת, OPTICS מתוכנן להיות גם:

  • כלי תחקור (Playback) – לשחזור אירועים בדיעבד, כולל מסלולי ספינות, תנועת כלי רכב, תגובות לכוחות, תנאי מזג אוויר ועוד.
  • פלטפורמת סימולציה והדרכה –  הרצת תרחישי תרגול בין גופי ביטחון וחירום שונים, ללא צורך להביא את כולם לתרגיל פיזי בשטח.
  • מעבד תרחישים חכמים – VXP (Vessel Crossing Prediction) לצפי מוקדם של נקודות חציית מסלולי שיט, ניתוחי סיכון, הדמיות מזג אוויר קיצוני ועוד.

במילים אחרות:
התאום הדיגיטלי אינו רק מראה; הוא הופך למעבדה אסטרטגית.

המאמר של Esri על שימוש בחישה מרחוק ליצירת תשתית מידע הגאו מרחבית עבור תמיכה במערכות מודיעין ותפעול, מוסיף רובד חשוב להבנת ה‑Digital Twin:

  • חישה מרחוק (לוויינים, מטוסים, רחפנים) מספקת שכבת "מציאות גולמית"
  • תהליכי עיבוד ב‑ArcGIS – , כולל Deep Learning , סגמנטציה וכלי AI נוספים – ממירים את ההדמאות לשכבות מידע:
    • כבישים
    • מבנים
    • מתקנים צבאיים/אזרחיים
    • כלי רכב
    • אזורי סיכון
    • שינויים לאורך זמן

עבור גופי מודיעין ותשתיות ביטחוניות, תאום דיגיטלי כמו OPTICS הוא:

  • שכבת בסיס אינטליגנטית שמאפשרת לקלוט חיישנים חדשים SAR, , וידאו, תרמי
  • לבצע גילוי חריגות ואנומליות – ספינות שלא אמורות להיות שם, תנועה חשודה
  • הצלבה עם מודלים קיימים של השטח

נתוני SAR, לדוגמה, מאפשרים לראות שינויים גם בעננות כבדה או בחשיכה, ולהשוות בין תאריכים כדי לזהות תוספת כלי רכב, פעילות חריגה או שינוי בתשתיות – הכל בתוך התאום הדיגיטלי המרחבי.

חיבור כל כך הרבה מערכות קריטיות למסך אחד יוצר אתגר ברור: אבטחה.

ב‑OPTICS הושם דגש על:

  • הצפנת נתונים בצד השרת, בתעבורה ובמכשיר הקצה.
  • עמידה בדרישות CJIS – Criminal Justice Information Services  עבור נתוני משטרה וביטחון.
  • הפרדה בין נתוני אמת לבין הדגמות:
    • בווידאו שהוצג לקהל, האירועים הביטחוניים היו סינתטיים, בדיוק בגלל מגבלות סיווג.

תאום דיגיטלי לסביבות ביטחוניות ותשתיות קריטיות מחויב להיות לא רק מדויק, אלא גם סגור, מוגן ומבוקר.

אחד היעדים המוצהרים של צוות הפיתוח היה לבנות משהו שלא יתאים רק ל‑Corpus Christi,  אלא ישמש כתבנית:

  • כל גוף שכבר עובד עם ArcGIS מחזיק שכבות גיאוגרפיות ותשתיות מרושתות – יכול תיאורטית “להלביש” על Unity ולהפוך את עצמו לתאום דיגיטלי חי.
  • נמלים, שדות תעופה, מתקני אנרגיה, רשתות תחבורה – כולם מועמדים טבעיים.

השילוב בין:

  • פלטפורמת GIS בשלה  (ArcGIS)
  • מנוע משחק איכותי  (Unity)
  • תשתית תאום דיגיטלי לזרמי מידע  (Project Gemini)

מראה שניתן להקים תאום דיגיטלי מקצה לקצה בתוך חודשים ספורים, ולא בשנים.

עבור גופי תשתית, ביטחון, תחבורה ורשויות מקומיות בישראל, הסיפור של OPTICS הוא הרבה מעבר ל‑Case Study  יפה:

  • הוא מדגים איך ההשקעה רבת השנים ב‑GIS  יכולה להתרומם מדרג “מפות ו‑שכבות”  אל מערכות החלטה חיות ודינמיות.
  • הוא מחבר חישה מרחוק, מודיעין, תפעול, בטיחות ושירות לציבור לאותה פלטפורמה.
  • הוא מניח מודל ברור להקמת תאומים דיגיטליים של:
    • נמלים
    • מסופים לוגיסטיים
    • שדות תעופה
    • רשתות רכבות, כבישים
    • תשתיות מים וחשמל

החזון שאותו מתאר ג’ק דנגרמונד, מייסד Esri,  לגבי עתיד ה-GIS  עולם שבו GIS הוא “מערכת העצבים של הפלנטה” – מתממש בפועל בנמל Corpus Christi דרך  OPTICS .

ולמי שעוסק ב‑GIS  בביטחון, בתשתיות או בתכנון – זהו מסר ברור:
הקפיצה מהמפה לתאום הדיגיטלי היא לא שאלה של אם, אלא של מתי ואיך.

למידע נוסף:
Using Remote Sensing to Create Foundational Content for Supporting Intelligence Operations (Esri Industry Blog)

Using Remote Sensing to Create Foundational Content for Supporting Intelligence Operations

רוצים להבין איך אפשר ליישם תאום דיגיטלי תלת – ממדי גם בנמל, רשות מקומית, שדה תעופה או תשתית קריטית בישראל? צוות ה-GIS של סיסטמטיקס מלווה ארגונים בתכנון והקמה של פתרונות מבוססי ArcGIS, חישה מרחוק ותאומים דיגיטליים – משלב הרעיון ועד היישום.

צרו קשר לשיחה מקצועית Left-dir Left-dir קראו עוד על פתרונות ה-GIS שלנו

כיצד למצוא את המיקום המקורי של התקנת SOLIDWORKS

הפתרון –פתחו את Control Panel (לוח הבקרה) של Windows

היכנסו ל־Programs and Features

לחצו באמצעות כפתור ימני של העכבר על שורת הכותרת של הטבלה, ובחרו באפשרות More…

בחלון Details, סמנו את האפשרות Source ולחצו על OK

מצאו את SOLIDWORKS ברשימה. בעמודת Source יוצג הנתיב המלא שממנו בוצעה ההתקנה

הערה:

המיקום המקורי אינו כולל את התיקייה sldIM שבסוף הנתיב, אלא נמצא רמה אחת מעליה.

לדוגמה, במקרה זה המיקום הנכון הוא:

C:\SOLIDWORKS Installs\SOLIDWORKS 2026 SP0

העבירו את קובצי ההתקנה למיקום זה והמשיכו בתהליך ה־Repair כרגיל

במידה ולא הסתדרתם, מוזמנים לפתוח קריאת שירות כאן.

Best Practices for Rigid-Flex Design

במאמר הבא נציג את עקרונות העבודה עם Flex-Rigid ואת הדרכים הנכונות לתכנן אותו ב- Altium Designer עם טיפים שימושיים לכל מתכנן. בואו נתחיל!

אחרי שסיימנו את שלב התכנון והגענו לשלב העריכה,

ניצור מסמך עריכה חדש (.PCBDoc) ע"י  קליק ימין על הפרוייקט << Add New To Project >>PcbDoc

לאחר מכן נפתח את ה- Stackup ע"י Design >> Layer Stack Manager .ונאפשר את ה-Rigid-Flex Design ע"י Tools >>Features >>Rigid Flex (Advanced) .

Stackups – Rigid and Flex

לאחר שנבחר במצב RF Advanced יופיעו לנו אייקונים חדשים ב-Active Bar במצב עריכה של הבורד (מצב 1) –

אחרי שיצרנו את ה-  Stackup הסטדנרטי ל-Rigid, התוכנה מאפשרת ליצור בצורה מהירה מאוד stackup ל-Flex ע"י סימון השכבות שרוצים להעתיק וגרירה שלהם ע"י Shift+Right click :

את ה-Board שלנו נחלק ל-Regions  באמצעות Split Lines , בהתאם לחלקים שנרצה להגדיר אותם כחלק הקשיח והחלק הגמיש.

    בתמונה: מצב עריכה(1) של ה-Board

כדי להגדיר לכל Region את ה-Stackup המתאים(Flex/Rigid)

נלחץ עליו, וב-Properties שלו באפשרות של ה-Layer Stack

נבחר את הבחירה המתאימה(Flex/Rigid)

לאחר שהגדרנו את כל החלקים ב-Board בהתאם ל-Stackup המתאים להם, נוכל להתקדם ולהגדיר Bending Lines כדי לראות שכל החלקים מתקפלים בצורה שאנחנו רוצים ובמידה ולא מתאים לשנות זוויות או חלקים ב-Board Shape.

Bending Lines

נכנס שוב פעם למצב עריכת ה- Board Shape(Board Planning Mode) ובצורה דומה לאיך שהגדרנו Regions נגדיר כעת Bending Lines שכמובן יגידו לבורד איך ,באיזה זווית ואיפה להתקפל.

נכנס ל- PCB Panel ונבחר את ה-Stackup ואת ה-Region הרצויים ונגדיר את ה-Bending Lines לזווית ולרדיוס המתאימים.

עד כאן לבלוג הזה.

אני מזמין אתכם להיכנס לדף הלינקדין שלנו ולהתעדכן בפוסטים מעניינים, בנוסף לדף הוובינרים שלנו ביוטיוב שמתעדכן ברמה שבועית. למידע נוסף צרו איתנו קשר.

תודה שקראתם ונתראה בבלוג הבא,

אביעד סרור