SERVOSILA እንቅስቃሴ መቆጣጠሪያ

ስለ Servosila እንቅስቃሴ መቆጣጠሪያ
Servosila Motion Controller የዘመናዊ ባለብዙ ዘንግ ሮቦት ስርዓቶች እንቅስቃሴን ለመቆጣጠር የሚያስችል ሶፍትዌር የተካተተ ነው። ሶፍትዌሩ በሊኑክስ፣ ዊንዶውስ ወይም በተከተቱ ኤምሲዩዎች ላይ እንደ ፈርምዌር ይሰራል።
Servosila Motion Controller G-codeን ለሚከተሉት ዓላማዎች ይጠቀማል።
- የተቀናጁ እንቅስቃሴዎችን ጂኦሜትሪ በጽሑፍ ቅርጸት ለመግለጽ እንደ መንገድ ፣
- በእንቅስቃሴ መቆጣጠሪያ እና በከፍተኛ ደረጃ የተጠቃሚ መተግበሪያዎች መካከል እንደ ከፍተኛ ደረጃ የግንኙነት ፕሮቶኮል ፣
- ባለብዙ ዘንግ ሮቦት ስርዓቶችን ለማቀናጀት እንደ ቀላል የስክሪፕት ቋንቋ ፣
- ለጄነሬቲቭ AI እና LLMs እንደ ዒላማ ቋንቋ።
የሶፍትዌር አርክቴክቸር
Servosila Motion Controller ከታች ባለው የአርክቴክቸር ንድፍ ላይ እንደ ግራጫ ሳጥን የሚታየው በሊኑክስ ወይም ዊንዶውስ እንደ የጀርባ ሂደት ነው የሚሰራው። ሂደቱ በ CAN ወይም በዩኤስቢ አውታረመረብ ወደ servo drives ይገናኛል። የMotion Controller ሂደት በሥዕላዊ መግለጫው ላይ እንደ ነጭ ሣጥን ከሚታየው ነጠላ የመተግበሪያ ሂደት ጋር በሂደት መካከል ለመግባባት ዝቅተኛ መዘግየት የጋራ ማህደረ ትውስታ በይነገጽ ይሰጣል። የተጋራውን ማህደረ ትውስታ በይነገጽ ውስብስብ ነገሮችን ለማስወገድ፣ Servopilot DLL የተባለ በተለዋዋጭ የተገናኘ ቤተ-መጽሐፍት ከMotion Controller ጋር ቀርቧል። “ቀጭኑ” ዲኤልኤል የጂ ኮድ ትዕዛዞችን ወደ Motion Controller ለማስገባት እና የቴሌሜትሪ እና የሁኔታ መረጃን ለመቀበል በጣም ቀላል የሆነውን ኤፒአይ (ከተጋራ ማህደረ ትውስታ በይነገጽ ጋር ሲነጻጸር) ያጋልጣል። የዲኤልኤል ኤፒአይ በዚህ ሰነድ ውስጥ ተብራርቷል።
ከውስጥ፣ የMotion Controller ሂደት ከመተግበሪያ ሂደት የጂ ኮድ ትዕዛዞችን ለመቀበል ፓይፕ 0 እና ፓይፕ 1 አለው። የቧንቧ መስመሮች ቋሚ መጠን ያላቸው ሳይክሊክ ቋት ናቸው. አስፈላጊ ከሆነ ሁለት ገለልተኛ የጂ ኮድ ትዕዛዞች በትይዩ እንዲከናወኑ ሁለት የቧንቧ መስመሮች አሉ። አዲስ የጂ-ኮድ ትእዛዝ በሚያስገቡበት ጊዜ የመተግበሪያ ሂደት ትዕዛዙን ወደ አንድ የቧንቧ መስመር ወይም ሌላ ለማከል ወይም በቧንቧ ውስጥ ያሉ ትዕዛዞችን በአዲስ የትዕዛዝ ስብስብ ለመተካት ሊመርጥ ይችላል። የጂ-ኮድ ትእዛዞቹ የሚከናወኑት በቨርቹዋል ማሽን፣ የእንቅስቃሴ መቆጣጠሪያ ሂደት ውስጣዊ አካል ነው። የጂ ኮድ ትዕዛዞች የሚቀርቡት በአፕሊኬሽን ሒደት በጽሑፍ መልክ በመሆኑ፣ ጽሑፉን በቨርቹዋል ማሽን ወደ ተረዳው የውስጥ ሁለትዮሽ ኮድ የሚተረጎም ውስጣዊ ማጠናከሪያ አለ። ባለአንድ መስመር የጂ-ኮድ ትዕዛዝ እንዲሁም የተሟላ የጂ-ኮድ ፕሮግራም ጽሁፍ ማስገባት ይቻላል. አቀናባሪው ጽሑፎቹን በመስመር ያስኬዳቸዋል እና ትእዛዞቹን በቨርቹዋል ማሽኑ እንዲፈፀሙ ወደ ቧንቧ መስመሮች ይገፋል። ቨርቹዋል ማሽኑ የቧንቧ መስመሮችን "በመጀመሪያ በመጀመርያ" (FIFO) ላይ ያካሂዳል. የእንቅስቃሴ መቆጣጠሪያው የአጠቃላይ የእንቅስቃሴ ቁጥጥር ስርዓቱን አፈጻጸም የሚቆጣጠር ሊዋቀር የሚችል የመቆጣጠሪያ ዑደት ድግግሞሽ (ለምሳሌ 500 Hz) አለው። ነጠላ የመተግበሪያ ሂደት ከአንድ የእንቅስቃሴ ቁጥጥር ሂደት ጋር ብቻ ማያያዝ ይፈቀድለታል። ልዩ የተጋሩ_memory_id's በመመደብ ብዙ Motion Control ሂደቶችን ማሄድ ይቻላል። የሰርቮፒሎት ዲኤልኤል ኤፒአይ በክር-አስተማማኝ ወይም ዳግም የገባ አይደለም። የመተግበሪያው ፕሮግራሞች በተለዋዋጭ የተገናኙ ቤተ-መጻሕፍትን (DLL) መጫንን በሚደግፍ በማንኛውም የፕሮግራም አወጣጥ ቋንቋ ሊጻፉ ይችላሉ። የተለመዱት ምርጫዎች C++፣ Python፣ C #፣ MATLAB እና Lab ናቸው።View.
Servopilot DLL API
ከእንቅስቃሴ መቆጣጠሪያ ጋር በመገናኘት ላይ
- ውጫዊ "C" ቡል ግንኙነት (int shared_memory_id);
- ውጫዊ የ "C" ቡል ግንኙነት ማቋረጥ ();
የማገናኘት() ተግባር Servopilot DLLን በመተግበሪያ ሂደት እና በእንቅስቃሴ ተቆጣጣሪ ሂደት መካከል ለሚደረገው የእርስ በእርስ ሂደት ግንኙነት ጥቅም ላይ ከሚውለው የተጋራ ማህደረ ትውስታ ክፍል ጋር ያያይዘዋል። የእንቅስቃሴ መቆጣጠሪያ ሂደት ልዩ የተጋራ_memory_id፣ ቀድሞ የተዋቀረ የኢንቲጀር ቁጥር አለው። ተግባሩ ይህንን መታወቂያ እንደ ብቸኛ ሙግት ይወስዳል። የተሰጠው መለያ ያለው የጋራ ማህደረ ትውስታ ክፍል በተሳካ ሁኔታ ከተያያዘ ተግባሩ እውነት ይሆናል። የማቋረጥ() ተግባር Servopilot DLLን ከተጋራው ማህደረ ትውስታ ክፍል ያላቅቃል። በማመልከቻው ሂደት መጨረሻ ላይ ይህን መደበኛ ስራ መጥራት አማራጭ ነው።
የ G-code ትዕዛዞችን ወደ Motion Controller ሂደት በማስገባት ላይ
- ውጫዊ "C" bool gcode (const char * program_text);
- ውጫዊ "C" ቡል gcode_replace (const char * program_text);
- ውጫዊ “C” bool ፈጻሚ (const char * program_text);
- ውጫዊ የ"C" ቡል ተተኪ_ቦታ(const char* program_text);
የgcode() ተግባር የጂ ኮድ ትዕዛዝን ወይም በርካታ ትዕዛዞችን ወደ Motion Controller ሂደት ቧንቧዎች ገፋ። በቧንቧው ውስጥ የተቀመጡት ሁሉም የቀደሙ የጂ-ኮድ ትዕዛዞች ተጠብቀዋል። የቧንቧ መስመር FIFO ሳይክል ቋት ነው። አዲሶቹ ትእዛዞች ከቧንቧው የቀደሙት ትእዛዞች ሁሉ ከተፈጸሙ በኋላ እንዲተገበሩ በቧንቧዎች ላይ ተያይዘዋል. ተግባሩ ትእዛዞቹ በትክክል እንዲፈጸሙ አይጠብቅም; ትእዛዞቹን ወደ ቧንቧው ይገፋና ይመለሳል። የ gcode_replace() ተግባር በመጀመሪያ ሁሉንም የቧንቧ መስመሮች ያጸዳል እና ከዚያም አዳዲስ ትዕዛዞችን ወደ ቧንቧው ውስጥ ያስገባዋል ቅድሚያ አፈጻጸም። በዚህ ምክንያት የእንቅስቃሴ መቆጣጠሪያው ሁሉንም እንቅስቃሴዎች ያቋርጣል እና ወዲያውኑ አዲስ በተቀበሉት የጂ ኮድ ትዕዛዞች የተገለጹ አዳዲስ እንቅስቃሴዎችን ይቀጥላል። እንዲህ ዓይነቱ ምትክ በመቆጣጠሪያ ዑደት ድግግሞሽ ፍጥነት ለምሳሌ በቶርኬ-ተኮር ቁጥጥር ሊከናወን ይችላል. ተግባሩ አዲሶቹ ትዕዛዞች በትክክል እስኪፈጸሙ ድረስ አይጠብቅም. የአስፈፃፀሙ() ተግባር ከ gcode() ጋር ተመሳሳይ ነው የተግባሩ ጥሪ የሚመለሰው አዲሶቹ የጂ-ኮድ ትእዛዞች አንዴ ከተፈጸሙ ብቻ ነው። ቀደም ሲል በቧንቧዎች ውስጥ የተቀመጡት ሁሉም የቀደሙ ትዕዛዞች መጀመሪያ እንደሚፈጸሙ ልብ ይበሉ. አድቫንtage of execute() በላይ gcode() በመተግበሪያ ቁጥጥር ፍሰት ቀላልነት ላይ ነው። ኪሳራtagሠ የተፈፀመው () ጥሪ ሁሉንም የጂ-ኮድ ትዕዛዞችን ከሁሉም የቧንቧ መስመሮች ለመፈጸም የሚፈጀውን ጊዜ ያህል የመተግበሪያውን ሂደት ረዘም ላለ ጊዜ ሊያቆመው ይችላል። የexecure_replace() ተግባር ከ gcode_replace() ተግባር ጋር አንድ አይነት ነው የተግባሩ ጥሪ የሚመለሰው አዲስ የገቡት ትእዛዞች ከተፈጸሙ በኋላ ብቻ ነው።
| የቀደሙት የጂ ኮድ ትዕዛዞችን የቧንቧ መስመር ያጸዳል። | አዲሶቹ ትእዛዞች በትክክል እስኪፈጸሙ ድረስ ይጠብቃል። የመተግበሪያ ሂደት | |
| gcode() | አይ | አይ |
| gcode_ተካ() | አዎ | አይ |
| ማስፈጸም() | አይ | አዎ |
| መተኪያ_መፈጸም() | አዎ | አዎ |
አዲሶቹ የጂ ኮድ ትዕዛዞች በተሳካ ሁኔታ ለሞሽን ተቆጣጣሪው ሂደት የቧንቧ መስመሮች ከገቡ ሁሉም ተግባራት ወደ እውነት ይመለሳሉ።
የሂደት ማመሳሰል
- ውጫዊ “C” int synchronize ();
የማመሳሰል() ተግባር የMotion Control ሂደት ከዚህ ቀደም የገቡትን የጂ-ኮድ ትዕዛዞችን በሙሉ መፈፀም እስኪያበቃ ድረስ የመተግበሪያው ሂደት እንዲቆይ ያስችለዋል። ሁሉም የቧንቧ መስመሮች ባዶ እስኪሆኑ ድረስ የተግባሩ ጥሪ ይቆማል። ይህ ጥሪ ሁሉንም የጂ-ኮድ ትዕዛዞችን ከሁሉም የቧንቧ መስመሮች ለመፈጸም እስከሚያስፈልገው ጊዜ ድረስ የማመልከቻውን ሂደት ረዘም ላለ ጊዜ ሊያቆመው ይችላል።
ሂደት ግዛት አስተዳደር
- ውጫዊ “C” bool pause();
- ውጫዊ "C" bool resume ();
- ውጫዊ "C" ቡል ዳግም ማስጀመር ();
- ውጫዊ "C" int get_mode ();
እነዚህ ተግባራት የእንቅስቃሴ መቆጣጠሪያ ሂደቱን ሁኔታ ያስተዳድራሉ. ለአፍታ ማቆም() ተግባር በእንቅስቃሴ መቆጣጠሪያ ሂደት የጂ-ኮድ ትዕዛዞችን አፈፃፀም ለጊዜው ያግዳል። ይህ ተግባር የሮቦቲክ ሲስተም ሥራን ለአፍታ ለማቆም ይጠቅማል። ክዋኔው የጀመረው ከቆመበት () ጥሪ በመጠቀም ነው።
| ውጤት ሀ አግኝ_ሞድ() ይደውሉ | የእንቅስቃሴ ተቆጣጣሪው ተጓዳኝ የአሠራር ሁኔታ |
| 0 | ጠፍቷል |
| 1 | ባለበት ቆሟል |
| 2 | ስህተት |
| 3 | መሮጥ |
አክስ ቴሌሜትሪ
- ውጫዊ “ሐ” ድርብ get_axis_cursor(int axis_number);
- ውጫዊ "ሐ" ድርብ get_axis_position (int axis_number);
- ውጫዊ “C” int get_axis_work_zone_count(int axis_number);
- ውጫዊ “C” int get_axis_fault_bits(int axis_number);
- ውጫዊ "C" ቡል is_axis_online(int axis_number);
የget_axis_cursor() ተግባር የእንቅስቃሴ መቆጣጠሪያው በተወሰነ ቅጽበት ወደ ዘንግ እንደታዘዘ ቦታ የሚያስተላልፈውን ሮታሪ ወይም አንግል ማጣቀሻ ቦታን ይመልሳል። በአንፃሩ get_axis_position() ዘንግ በአካል በሆነ ቅጽበት የሚገኝበትን ትክክለኛ የቴሌሜትሪ አቀማመጥ ይመልሳል። መጥረቢያዎች አካላዊ ቅልጥፍና ስላላቸው፣ የጂ-ኮድ ፕሮግራም ምናባዊ “ጠቋሚ” ዘንግ አቀማመጥ አብዛኛውን ጊዜ ከአካላዊ ዘንግ ትክክለኛ ቦታ ይቀድማል። የሁለቱም get_axis_cursor() እና get_axis_position() እንደ ዘንግ አይነት (መስመራዊ ወይም ሮታሪ) በመለየት በ ሚሊሜትር ወይም ዲግሪ ይመለሳሉ። Get_axis_work_zone_count() ተግባር የቴሌሜትሪ ዘንግ ቦታን በመቀየሪያ ቆጠራዎች ይመልሳል። የget_axis_fault_bits() ተግባር ከዘንጉ በቴሌሜትሪ የተቀበለውን የFault Bits ውሂብ ይመልሳል። የተመለሰውን እሴት እንዴት እንደሚተረጉሙ ለመረጃ የ servo drive's Device ማጣቀሻን ይመልከቱ። ዜሮ (0) "ምንም ስህተት የለም" ማለት ነው. ዜሮ ያልሆነ (!=0) ማለት በዘንጉ ላይ ያለ አንድ ዓይነት ጥፋት ማለት ነው። የ is_axis_online() ተግባር የዘንግ servo መቆጣጠሪያ ቴሌሜትሪ በCAN ወይም በዩኤስቢ አውታረመረብ ላይ እያሰራጨ መሆኑን ወይም አለመሆኑን ያሳያል።
Example መተግበሪያ በ Python ውስጥ

- በ ላይ ይጎብኙን። www.servosila.com/en/motion-control
እና - YouTube፡ http://www.youtube.com/user/servosila
- www.servosila.com
ሰነዶች / መርጃዎች
![]() |
SERVOSILA እንቅስቃሴ መቆጣጠሪያ [pdf] መመሪያ መመሪያ የእንቅስቃሴ መቆጣጠሪያ ፣ ተቆጣጣሪ |

