ð€ABBããããã³ã³ãããŒã©ã«PC-SDKã§é£æºãããšãã®èœãšã穎10éžð³ïž
Back to Top2025幎10æ8æ¥ãããããç£æ¥ãæºããã倧ããªãã¥ãŒã¹ãé£ã³èŸŒãã§ããŸããã
ãœãããã³ã¯ã°ã«ãŒããã¹ã€ã¹ã®éé»å€§æ ABB[1] ããããããã£ã¯ã¹éšéãè²·åããèšäºã§ããã
ã¡ããã©ãã®ããç§ã¯ABBã®ããããã³ã³ãããŒã©ãšé£æºããããã°ã©ã ã®éçºã§æ¥å€æ ŒéããŠããŸããã
ããããå¶åŸ¡APIã§ãã PC-SDK[2] ã䜿ã£ã飿ºã詊ã¿ãŸããããäœåºŠãèœãšã穎ã«èœã¡ãŸããã
ãŸãã«ãæ»ã«ã²ãŒãããã¬ã€ããŠããæãã§ããäœåºŠã倱æãç¹°ãè¿ããªãããAPIã®åäœã確èªããäœ¿ãæ¹ãèŠããæé©ãªæé ãèããŠïŒã€ïŒã€åé¡ãã¿ã¹ã¯ã解決ããŠãããŸããã
ãã®äœéšã¯ä»ãšãªã£ãŠã¯PC-SDKæ»ç¥ã®ããã®ç§ã®ããŠããŠã«ãªã£ãŠããŸããããã§å°è±¡ã«æ®ã£ãèœãšã穎ã10åããã¯ã¢ããããŸãããã©ã®ãããªèœãšã穎ãããã®ããã©ã®ããã«ããŠåé¿ããã®ããåå¿é²ãå ŒããŠå ¬éããããšæããŸãã
ãªãã©ã€ã³ãã£ãŒãã³ã°ãããããå¶åŸ¡APIãšã¯äœããç¥ãããå Žåã¯ãç£æ¥çšããããã®æç€ºæ¹æ³ãšãã®å¿çšããã芧ãã ããã
PC-SDKãšã¯
#ããã§ç޹ä»ããPC-SDKãšã¯ãPCããABBã®ããããã³ã³ãããŒã©/ãããããå¶åŸ¡ã»ç£èŠããããã®éçºããã(ã©ã€ãã©ãª)ãæããŸãã
.NET Frameworkã䜿çšããŠãWindows PCäžã§åäœããã«ã¹ã¿ã ã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã.NET FrameworkäŸåãã€åŸè¿°ããéä¿¡ãã©ã€ããWindowså°çšã®ããLinuxã«ã¯å¯Ÿå¿ããŠããªãããã§ãã
äž»ãªæ©èœ
- ã³ã³ãããŒã©ç¶æ ã¢ã¯ã»ã¹: ããããã³ã³ãããŒã©ã®å®è¡ç¶æ ãããããã®å§¿å¢ååŸãI/Oä¿¡å·ã®èªã¿æžã
- ããã°ã©ã æäœ: ããã°ã©ã ã®ããŒããéå§ã忢
- ããŒã¿ã¢ã¯ã»ã¹: ããããããã°ã©ã ã®å€æ°ã®èªã¿æžã
- ãã¡ã€ã«è»¢é: PCãšããããã³ã³ãããŒã©éã§ã®ãã¡ã€ã«éåä¿¡åŠç
éçºæã«äœ¿çšããããŒã«ãšããŠã¯ PC-SDK ã®ä»ã« RobotStudio[3] ããããŸããRobotStudioã¯ä»®æ³ããããã³ã³ãããŒã©ãå å ããGUIã¢ããªã±ãŒã·ã§ã³ã§ãªãã©ã€ã³ãã£ãŒãã³ã°ãè¡ããã¢ããªã±ãŒã·ã§ã³ã§ããPC-SDKã¯ããã®ä»®æ³ããããã³ã³ãããŒã©ã«å¯ŸããŠãæ¥ç¶ã§ããããRobotStudioãããã°å®æ©ãç¡ããŠãPC-SDKã«ããéçºãã§ããŸãã
èœãšã穎 ãã£ã¢è¡š
#PC-SDKå©çšæã«ééããèœãšã穎ããã¡ãŒãžã¬ãã«ããšã«ã©ã³ã¯ä»ãããŸããããããããŒã¹ã«èœãšã穎ãè©äŸ¡ããŸãã
| ã©ã³ã¯ | ãã¡ãŒãžã¬ãã« |
|---|---|
| S | ããåŸãªãã ãïŒïŒã©ããã£ãŠåé¿ããã®ïŒç²Ÿç¥çãã¡ãŒãžãåããã¬ãã« |
| A | ããäœã§ïŒã³ã£ãããããŒããããã¶ãã»ã»ã»ãªããšããªãããã¬ãã« |
| B | ãªãã»ã©ããŸãããããããããããããªãã¬ãã« |
| C | äºåã«åé¿å¯èœ ãŸã㯠èœã¡ãŠãçããªãã¬ãã« |
ãããŸã§ãåäººã®ææ³ã§ãã
ð³ïž1. Webäžã®æ å ±ãå°ãªã B
#èœãšã穎
ãªãŒãã³ãœãŒã¹ã®ã©ã€ãã©ãªã䜿ã£ãŠãããšããè§£ããªãããšãããã°ãããã§æ€çŽ¢ããŸããããåãèŠé ã§PC-SDKã«é¢ããæ
å ±ãAPIãæ€çŽ¢ãããšãã»ãšãã©æ
å ±ããªãABBã®ãµã€ããStack Overflowã®ãããªããã°ã©ãã³ã°ã«é¢ããé¡æãæ±ãè±èªã®QAãµã€ãã衚瀺ãããŸãã
æ¥æ¬èªã§æžãããå人ãµã€ããABB以å€ã®ããã¯äŒæ¥ã«ãã説æãªã©ã¯ã»ãšãã©ãããŸãããABBã®ãµã€ãããµã³ãã«ã³ãŒãã¯éåžžã«å°ãªãã§ãããã®ãããè±èªã®QAãµã€ãã䞹念ã«èª¿ã¹ã翻蚳[4] ããªããå
容ã確èªããŸãã
ãã ããããŸãæçšãªæ
å ±ãåŸãããªãå Žåã5幎ïœ10幎åã®å€ãæ
å ±ã ã£ããããããšããããŸãã
察ç
ãªãã£ã·ã£ã«ãµã€ã(ãŸãã¯ãããæ€çŽ¢)ããAPIãªãã¡ã¬ã³ã¹ãå説ãªã©ãPDFãã¡ã€ã«ã§ããŠã³ããŒãã§ããŸããæå
ã«çœ®ããŠããïŒæ¬¡è³æãšããŠã¶ãã¯ãªãšå
å®¹ãææ¡ããŠãããè§£ããªãããšãããã°ãããã調ã¹ãŸãã
æè¿ã¯Googleã®NotebookLMã䜿ã£ããããŠããŸããAPIãªãã¡ã¬ã³ã¹ãå説ã®PDFãæ å ±ãšããŠæçãªãµã€ããNotebookLMã«ç»é²ããŠããã°ãããã³ããã§è³ªåãã§ããŸãããŸãèŠçŽããŠãããŠãšããã³ã¹ã衚瀺ãããã®ã§èªåã§æ€çŽ¢ãããããç°¡åã«æ å ±ã«ã¢ã¯ã»ã¹ã§ããŸãã
ð³ïž2. AIãé »ç¹ã«ãã«ã·ããŒã·ã§ã³ãèµ·ãã B
#èœãšã穎
æè¿ã¯äœãè§£ããªãããšãããã°æ€çŽ¢ã§ã¯ãªãAIã«åãåãããããšãå€ãã®ã§ããã
ãPC-SDKã®API xxxx ã«ã€ããŠäœ¿ãæ¹ãæããŠã
ãxxxxã䜿ã£ãŠxxxxxã®åŠçã®ãµã³ãã«ãæç€ºããŠã
ãªã©ããã³ããå
¥åãããšå
ã»ã©ã®ãð³ïž1. Webäžã®æ
å ±ãå°ãªããã®åœ±é¿ããååšããªãAPIãåŒæ°ãééããŠããã³ãŒããµã³ãã«ãåºåããŸãã
ããã£ãšèªç¶ã«åãã€ããŸãã誀ããææãã€ã€å床ããã³ããå ¥åãããšãä»åºŠã¯å¥ã®åŒæ°ãééã£ãŠããããå€ãã³ãŒãã§åäœããªããã®ãåºåããããããŠã»ãšãã©åœ¹ã«ç«ããªãããšããããŸãã
察ç
- Visual Studioãªã©ã§ãããžã§ã¯ããäœæããPC-SDKã®ã©ã€ãã©ãªãåç §ããããªããžã§ã¯ããã©ãŠã¶ã§APIã確èªãã
- PC-SDKã«ä»å±ãã
abb.robotics.controllers.pc.xmlããšãã£ã¿ã§éãAPIã«é¢ããèª¬ææ å ±ãåèãšãã
ð³ïž3. ããããã³ã³ãããŒã©ãèŠã€ãããªãããšããã A
#èœãšã穎
APIã§ã¯ããŒã«ã«ãããã¯ãŒã¯äžã§åäœããŠããããããã³ã³ãããŒã©ãæ€çŽ¢(UDPãããŒããã£ã¹ã)ããèŠã€ãã£ãããããã³ã³ãããŒã©ã«å¯ŸããŠãã°ã€ã³ããŠããããã³ã³ãããŒã©ã«æ¥ç¶ããŸãã
RobotStudioã¯ããŒã«ã«PCäžã§åäœããŠããããäžç¬ã§æ¥ç¶ã§ããŸãããéçšç°å¢ã§ã¯ããããã³ã³ãããŒã©ã®æ€çŽ¢ã§ã¿ã€ã ã¢ãŠãã«ãªã£ãããïŒåç®ã®æ€çŽ¢ã§æ€ç¥ãããšãã£ãè¬ã®çŸè±¡ãçºçããŸããã
察ç
ãããã¯ãŒã¯ã€ã³ã¿ãã§ãŒã¹(NIC)ãè€æ°ããç°å¢(4ãšã8ãšã)ã§ã¯ã©ã®ãããã¯ãŒã¯ãæ¢ãã°ããã®ãããããªãããæ€çŽ¢æã«ã¿ã€ã ã¢ãŠããšãªãèŠã€ãããªãçŸè±¡ãçºçããŠããŸãããããã解決ããã«ã¯æ€çŽ¢ããåã«ããããã³ã³ãããŒã©ã®IPã¢ãã¬ã¹ãæå®ããŠãããŸãã
var scanner = new NetworkScanner();
// ããããã³ã³ãããŒã©ã®IPã¢ãã¬ã¹ãçŽæ¥æå®ããŠãã¹ãã£ãã®æ¢çŽ¢ãªã¹ãã«ç»é²ãã
// ããã«ãããã©ã®NICãéãã¹ããPC-SDKã倿ãã
NetworkScanner.AddRemoteController("xxx.xxx.xxx.xxx");
// äºåã«ååŸããŠãããããããã³ã³ãããŒã©ã®UUIDãæå®ããŠæ€çŽ¢ãã
var systemId = Guid.Parse("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
// systemId, åŸ
ã¡æé[msec], ãªãã©ã€æ°
var controllerInfo = scanner.Find(systemId, 1000,3);
if (controllerInfo == null)
{
throw new Exception("ã³ã³ãããŒã©ãèŠã€ãããŸããã§ããã");
}
// 宿©ã«æ¥ç¶
_controller = Controller.Connect(controllerInfo, ConnectionType.Standalone);
IPã¢ãã¬ã¹ãæå®ããã®ãªãFind()ã䜿ãæçŸ©ã¯èããšæããŸãããããã§è§£æ±ºããŸãã
ð³ïž4. å¶åŸ¡æš©ã®ç²åŸãå¿ã C
#èœãšã穎
ããããã³ã³ãããŒã©ã«æ¥ç¶ããäžèšã®ãããªç¶æ
倿Žãä¿ãåŠçãè¡ããšãšã©ãŒã«ãªããŸãã
- RAPID[5]倿°ã®å€ãæŽæ°ãã
- ãµãŒãã¢ãŒã¿ãŒãOnã«ãã
- RAPIDããã°ã©ã ãããŒã(ã¿ã¹ã¯å²ãåœãŠ)ãã
- RAPIDããã°ã©ã ãéå§ãã
察ç
ã³ã³ãããŒã©ã«Mastershipã®ãªã¯ãšã¹ã(æžãèŸŒã¿æš©éã®ãªã¯ãšã¹ã)ããŠååŸããŠããæŽæ°ããŸãããµã³ãã«ã³ãŒããæ€çŽ¢ããã°äŸã¯ãããã§ãåºãŠããŸãã®ã§æ
ãŠãããšã¯ãããŸããã
using (Mastership.Request(_controller))
{
// ããã§æŽæ°åŠçãèšè¿°
}
ãã ããMastershipã®ãªã¯ãšã¹ãã«å€±æããããšããããŸãããªãã©ã€åŠçãå
¥ããããäŸå€åŠçã§ãšã©ãŒåŠçãèšè¿°ãããªã©ã®ä»çµã¿ãå¿
èŠã§ãã
ãªããã³ã³ãããŒã©ã®ç¶æ
ã®ååŸãRAPID倿°ã®å€ååŸãªã©ReadOnlyãªãã®ã¯Mastershipã®ãªã¯ãšã¹ãã¯å¿
èŠãããŸããã
ð³ïž5. éçšç°å¢ã§ããããã³ã³ãããŒã©ãšæ¥ç¶ã§ããªã S
#èœãšã穎
éçºç°å¢ã§RobotStudioäžã®ä»®æ³ããããã³ã³ãããŒã©ã«ã¯æ¥ç¶ã§ããŠããŸããããããéçšç°å¢ã§ããããã³ã³ãããŒã©ã«æ¥ç¶ãããšIPã¢ãã¬ã¹çãæ£ãã ping ãéãã®ã«ããããã³ã³ãããŒã©ã®ç¶æ
ãååŸã§ããªãã
察ç
RobotStudioãã€ã³ã¹ããŒã«ãããšã(è£ã§)ããããã³ã³ãããŒã©ãšéä¿¡ããããã®ãã©ã€ããã€ã³ã¹ããŒã«ãããŸããããããªããšéä¿¡ã§ããŸããã
éçšç°å¢ã§ã¯RobotStudioã¯äžèŠãªã®ã§ã€ã³ã¹ããŒã«ãããPC-SDK(ã©ã€ãã©ãª)ã ããå©çšãããšãã©ã€ããã€ã³ã¹ããŒã«ãããŠããªãã®ã§ãšã©ãŒã«ãªããŸãã
ABBã®ãµã€ããã RobotWare_Tools_and_Utilities_x.x.x.zip (x.x.xã¯ããŒãžã§ã³)ãããŠã³ããŒãããå±éã㊠RobotCommunicationRuntime/ABB Industrial Robot Communication Runtime.msi ãå®è¡ãããšãã©ã€ããã€ã³ã¹ããŒã«ããPC-SDKã§æ¥ç¶ã§ããããã«ãªããŸãããããªãè§£ãããŠã
ð³ïž6. ãªã¢ãŒãPCãã RobotStudio ã«æ¥ç¶ã§ããªã C
#èœãšã穎
å
ã»ã©ã®ãð³ïž5. éçšç°å¢ã§ããããã³ã³ãããŒã©ãšæ¥ç¶ã§ããªãããéçºç°å¢ã§æ€èšŒããŸããã
- PCã2å°çšæãã
- äžæ¹(Aãšãã)ãã¢ããªã±ãŒã·ã§ã³åäœç°å¢ãšãã
- ããäžæ¹(Bãšãã)ãããããã³ã³ãããŒã©ãšã¿ãªããŠRobotStudio(ä»®æ³ããããã³ã³ãããŒã©)ãã€ã³ã¹ããŒã«ãã
- AãšBã«
RobotWare_Tools_and_Utilities_x.x.x.zipã®ãã©ã€ããã€ã³ã¹ããŒã«ãã - AããPC-SDKã§Bã®ä»®æ³ã³ã³ãããŒã©ã«æ¥ç¶ãã
æ¥ç¶ãã¹ãç°å¢ã®æ§æ

äžèšã詊ã¿ãŸãããããããªãææ²ãæ¥ç¶ã§ãããã§ããã
察ç
RobotStudioã¯ããŒã«ã«PCäžããã®ã¢ã¯ã»ã¹ããåãä»ããªããããªã¢ãŒãPCããã®æ¥ç¶ã¯ã§ããªã仿§ã®ããã§ãã
ããã¯ã©ã€ã»ã³ã¹ã絡ãã§ãã(1 RobotStudio 1ã©ã€ã»ã³ã¹)ããã§ã¯ãªãã§ããããã仿¹ããªãã§ããã
ð³ïž7. éçšç°å¢ã§RAPID ãå®è¡ã§ããªã A
#èœãšã穎
RobotStudioäžã§ã¯ãã°ã€ã³ããŠåé¡ãªãRAPIDã®ããŒããå®è¡ãã§ããŸããããããéçšç°å¢ã§ã¯ã³ã³ãããŒã©ã«æ¥ç¶ã§ããŸããããRAPIDã®ããŒããå®è¡ãæç€ºãããšäŸå€ãçºçããŸããäœã§ïŒ
察ç
ããããã³ã³ãããŒã©ã«æ¥ç¶ããéã®ããã©ã«ããŠãŒã¶ãŒã¯ Default User ã§ãã RobotStudioãšéçšç°å¢ãšã§æš©éãç°ãªã£ãŠããŸãã
æ§ã
ãªæš©éããããŸããå®è¡æš©éãšããã°ã©ã ã®ããŒãæš©éã«éãããããŸããã
| æš©é | RobotStudio | 宿© |
|---|---|---|
| å®è¡æš©é | ãã | ãªã |
| ããŒãæš©é | ãã | ãªã |
Default Userã§ãRobotStudioã§ã¯ããŸããŸãªæš©éãæåããä»äžãããŠããããã§ããã宿©ã§ã¯æš©éãä»äžãããŠããªããã®ããããŸããã
ãã®ããã宿©äžã«æ°ãããŠãŒã¶ãŒãäœæããRobotStudioäžãšåãããšãã§ããããã«æš©éãä»äžãããã®ãŠãŒã¶ãŒã§ãã°ã€ã³ãããšããå®è¡ã§ããŸããã
ãªããRobotStudioäžã§ã®ä»®æ³ã³ã³ãããŒã©ã§ã¯ãŠãŒã¶ãŒã®äœæãæš©éãä»äžããæ©èœã¯ãªãã宿©ã³ã³ãããŒã©ã§ã®ã¿å¯èœãšãªã£ãŠããã®ãããã£ãçç±ãšããŠæããããŸãã
ð³ïž8. ããžã¿ã«åºåãã§ããªã B
#èœãšã穎
ããããã³ã³ãããŒã©ã«ã¯åçš®ããã€ã¹ãšããžã¿ã«ä¿¡å·(0 or 1)ã§é£æºããããã®ç©çã€ã³ã¿ãã§ãŒã¹(I/OããŒã)ããããŸãããã®åºåããŒãã«0ãŸãã¯1ãæžãåºããšäŸå€ãçºçããåºåã§ããŸããã§ããã
察ç
ABB ããããã³ã³ãããŒã©ã§ã¯I/Oèšå®ã§ç©çã€ã³ã¿ãã§ãŒã¹ã®ã©ãã«ããžã¿ã«åºåãå²ãåœãŠãããæå®ããŸãããã®ãšã Access Level ãæå®ããŸããããã©ã«ãå€ã§ã¯ Default ãšãªã£ãŠããŸãã
Access Level ã¯ã¬ãã«æ¯ã«å¶åŸ¡ããåŽã®ã³ã³ããã¹ãã§Read/Writeãæå¹ãã©ãããç°ãªã£ãŠããŸãã
| Access Level | Rapid | Local Client in Auto Mode |
Remote Client in Auto Mode |
|---|---|---|---|
| All | Write Enabled | Write Enabled | Write Enabled |
| AWACCESS | Write Enabled | Write Enabled | Read Only |
| Default | Write Enabled | Read Only | Read Only |
| Internal | Read Only | Read Only | Read Only |
| ReadOnly | Read Only | Read Only | Read Only |
Auto Mode ãšã¯äººãæäœããã®ã§ã¯ãªãããã°ã©ã ã§ãããããåããã¢ãŒããæããŸãã
ããããã³ã³ãããŒã©ã Auto Mode ã®ãšããããããã³ã³ãããŒã©ã®å€éšããã¢ã¯ã»ã¹ããŠI/Oãæäœãããšãã¯äžçªå³ã® Remote Client in Auto Mode åãšãªããŸãã
ããããããã°ã©ã ã®å®è¡ã¯Rapidåã«çžåœããŸãã
ä»åã¯PC-SDKãå©çšããŠå€éšããããããã³ã³ãããŒã©ãããã°ã©ã ã§å¶åŸ¡ããŠããã®ã§ Remote Client in Auto Mode ãšãªã£ãŠããŸãã
Access Level 㯠Default è¡ãšãªããåäœã¢ãŒã㯠Remote Client in Auto Mode åãšãªããŸãããã®éãªãéšå㯠Read Only ãšãªã£ãŠããããšãããããŸãã
ã€ãŸã Access Level ã Default ã ã£ãã®ã§æžã蟌ã¿ãã§ããªãç¶æ³ã§ããã Access Level ã Allã§ãªããšæžã蟌ã¿ã§ããŸãããå³ããã§ããã
ãšããããã§ãããžã¿ã«åºåãå²ãåœãŠããšãã® Access Level ã All ã«ããããšã§ç¡äºæžã蟌ããããã«ãªããŸããã
Access Level ã¯æ°ãã远å ãã§ããããã§ãã
ð³ïž9. é åã®ããŒã¿è»¢éãé ã A
#èœãšã穎
RAPIDåŽã§ã®é åã®å®çŸ©
MODULE MainModule
PERS num dataArray{100};
ENDMODULE
é åã«å€ãæžã蟌ãäžè¬çãªèšè¿°ã¯äžèšãšãªããŸãã
// æåã«1åã ãååŸããŠãã
RapidData rd = _controller.Rapid.GetRapidData(
"T_ROB1", "MainModule", "dataArray");
:
using (Mastership.Request(_controller))
{
for (int i = 0; i < 100; i++)
{
rd.WriteItem(new Num(i), i);
}
}
ãã®ãšããrd.WriteItem()ãã³ãŒã«ãããã³ã«ãããã¯ãŒã¯ã¢ã¯ã»ã¹ããŸãããã®ããããŒã¿ã«ã§æ°çŸ[msec]ïœæ°[sec]æãããŸãã
察ç
ãªãã¹ãrd.WriteItem()ã®ã³ãŒã«åæ°ãå°ãªãããäžæ¬ã§ããŒã¿ãèšå®ããããã«ããŸãã
RAPIDåŽã§ RECORDå ã§æ§é äœãå®çŸ©ããŸãã
MODULE MainModule
RECORD StructData
num value1;
num value2;
num value3;
num value4;
num value5;
ENDRECORD
:
ENDMODULE
C#åŽã¯ãã®æ§é äœãUserDefinedåãšããŠåç
§ã§ããŸãã
UserDefinedåã«å€ãèšå®ãããšãã¯ä»¥äžã®ããã«ããŸãã
// æåã«1åã ãååŸããŠãã(RAPIDåŽã®StructDataã®ã³ããŒãäœæ)
UserDefined ud = new UserDefined(_controller.Rapid.GetRapidDataType(
"T_ROB1","MainModule","StructData"));
// æåã«1åã ãååŸããŠãã(RAPIDåŽã®StructDataã®åç
§ãäœæ)
RapidData rd = _controller.Rapid.GetRapidData(
"T_ROB1","MainModule","StructData");
:
using (Mastership.Request(_controller))
{
int value1 = 1;
int value2 = 2;
int value3 = 3;
int value4 = 4;
int value5 = 5;
// UserDefinedã«èšå®ããããŒã¿ãäœæ
structData = $"[{value1},{value2},{value3},{value4},{value5}]";
// UserDefinedã«ããŒã¿ãèšå®
ud.FillFromString2(structData);
// ããããã³ã³ãããŒã©ã«ããŒã¿è»¢é
rd.Value = ud;
}
ãŸããRAPIDã®ããŒã¿åã§ããrobtargetãjointtargetã¯éåžžã«ããŒã¿ãµã€ãºã倧ããã§ããäžéšã®ããŒã¿ã®ã¿æŽæ°ããã®ã§ããã°ãã®å€ã®ã¿è»¢éããRAPIDåŽã§ããŒã¿ãæŽæ°ããŠå©çšããããšãæå¹ã§ãã
ud.FillFromString2("[0,1,2,3,4,5,.....]") ã®ããã«æååãªãã©ã«ã§å šèŠçŽ ãçŽæ¥èšå®ã§ããŸããããããå·šå€§ãªæ§é äœãé åã®å ŽåãéäžãŸã§ããå€ãèšå®ãããŠããªãããšããããŸããã®ã§æ³šæãå¿ èŠã§ãããŸããããŒã¹åŠçã«æéãæãããŸãããããã¯ãŒã¯ã¢ã¯ã»ã¹ã«æ¯ã¹ããšç¡èŠã§ããã¬ãã«ã§ãã
AIã§ãµã³ãã«ãæç€ºããŠããããšãããããå€ãAPIããšæãããŸãããååšããªãAPIãæç€ºããã³ã³ãã€ã«ãšã©ãŒãšãªããŸããã
ð³ïž10. 宿©ã§RAPIDãå®è¡ãããšå®è¡æãšã©ãŒã«ãªã S
#èœãšã穎
RobotStudioäžã®ã·ãã¥ã¬ãŒã¿ã§RAPIDãå®è¡ããŠãåé¡ãªãåäœããããã°ã©ã ã®æ§æãã§ãã¯ãåé¡ãªããã¹ããã®ã«ãåããã®ã宿©ã§åäœããããšå®è¡æã«ãšã©ãŒãšãªã£ãŠããŸãã
äžèšã®äŸå€ãåºåããããèŠæ³šæ!!
Operation is illegal in current execution state
å®è¡æãšã©ãŒãªã®ã§ç¶æ
ã«èµ·å ããããšã¯åãã£ãŠããŸãããäœã®ç¶æ
ãªã®ãããã£ã±ãããããŸãããã³ã³ãããŒã©ã®ãã°ãèŠãŠãçŽæ¥çãªåå ãèšè¿°ãããŠããŸããã
ãå¶åŸ¡ãããããã§ããåå äžæã®å®è¡æãšã©ãŒãäžçªèŸãã§ãã
察ç
ã·ãã¥ã¬ãŒã¿äžã§ã¯åãããšãããéçšç°å¢ãšã®ç°å¢èšå®ã®éãã«åå ãããããã ãšçŽæçã«ããããŸããããã°ã©ã ã®éå§ããã©ããŸã§é²ããšãšã©ãŒã«ãªãããRAPIDããã°ã©ã ã®ãœãŒã¹ã³ãŒããå
šã³ã¡ã³ãã¢ãŠããããã€ããªãµãŒãçã«ã³ã¡ã³ãã¢ãŠããè§£é€ããŠåå®è¡ããæé ã§æ¢ããŸããã(ããããããã¹ãããå®è¡ã§è¡ãããããããŸãã)
çµæãïŒã€åé¡ããããŸããã
- I/Oã®å®çŸ©ã宿©ã§ã¯ãããŠããªãã£ã
- ã·ãã¥ã¬ãŒã¿äžã§å®çŸ©ããŠãã£ãI/Oã®åå(åç §ãããšãã¯æååã§æå®)ãèŠã€ããããã«å®è¡æãšã©ãŒãšãªã£ãŠãã
- å²ã蟌ã¿ã¿ã€ããŒã®ããªã¬ãŒæéã宿©ã§ã¯æ©ããã
- 10[msec]ãšããŠããŠã·ãã¥ã¬ãŒã¿äžã§ã¯åäœããŠãããã宿©ã§ã¯å®è¡æãšã©ãŒãšãªã£ãŠãã
äžèšã®åé¡ã®ä¿®æ£èªäœã¯ç°¡åã§ããããèŠã€ããã®ã«æéãæãããŸãããç°å¢ã®éãã«èµ·å ããå®è¡æãšã©ãŒã«ã¯ã泚æãã
ãªã¹ã¯ã軜æžããããã®éçºã¹ã±ãžã¥ãŒã«
#ãããã ã£ãã§ããããïŒå€§åã¯éçºç°å¢(RobotStudioã®ã·ãã¥ã¬ãŒã¿)ã§åé¡ã®ç¡ãã£ããã®ããéçšç°å¢(宿©ã³ã³ãããŒã©)ã§åé¡ãšãªã£ãŠçŸãããã®ãšãªã£ãŠããŸãããããã穎ããéãäžãã£ããšæã£ãããŸãããã«èœãšãããç¶æ³ããããŸãããæ«ãããã«ãªããŸãããã
éçºç°å¢ã§ã¯ä»®æ³ã³ã³ãããŒã©ã«æ¥ç¶ãããŠãŒã¶ãŒã«å¯ŸããŠãã»ãã¥ãªãã£ã¯ç·©ãã倧ããªæš©éãæãããŠããŸããäžæ¹ãéçšç°å¢ã§ã¯ã»ãã¥ãªãã£ã¯å³ãããæš©éãæå°éã«ããŠããããäžå ·åçºçãããã¿ãŒã³ããããããŸããã
éçšç°å¢ãé éå°ã«ããå ŽåãçŸå°ã§ã®å¯Ÿå¿ã«ã¯äººå¡ãæéãç§»åè·é¢ãééã®é¢ã§å€å€§ãªã³ã¹ããèŠãã課é¡ããããŸãããã®ãããéçºã»åäœç¢ºèªãéçºç°å¢ã§è¡ããã·ã¹ãã ãã¹ãã®ã¿ãéçšç°å¢ã§äžæ¬å®æœããèšç»ãç«ãŠãå Žåãäžæž¬ã®äºæ ã«ãã£ãŠé²æã«é å»¶ãçããæžå¿µããããŸãã
ãªã¹ã¯ãåé¿ãããããã¹ã±ãžã¥ãŒã«å ã«è€æ°ã®ãã€ã«ã¹ããŒã³ãèšããçŸå°ã§ã®åäœç¢ºèªã段éçã«å®æœããããšãåŒ·ãæšå¥šããŸãããŸããçŸå°ã®ãšã³ãžãã¢ã«æ€èšŒãå§èšããããš(ãªããªãé£ããã§ãã)ããè²»çšå¯Ÿå¹æã®èгç¹ããéåžžã«æå¹ãªææ®µã§ãããšèããããŸãã
ãŸãšã
#æ¥æ¬ã§ã¯FANUCãå®å·é»æ©(YASKAWA)ãšãã£ãäžçãããã¯ã©ã¹ã®ãããã£ã¯ã¹ã¡ãŒã«ãŒã®ããŒã±ããã·ã§ã¢ãé«ããããæ¬§å·ã®éABBã®ã·ã§ã¢ã¯æ°%çšåºŠã ããã§ãã
ABBã®ããããéçºæ ç¹ã¯ã¹ã€ã¹ã«ãããããé«åºŠãªæè¡èª²é¡ã«ã€ããŠã¯æ¥æ¬åœå ã®ãµããŒããçµç±ããæ¬åœã®æè¡è ãžãšã¹ã«ã¬ãŒã·ã§ã³ããå ŽåããããŸãããã®éãæå·®ãæ ç¹éã®é£æºããã»ã¹ã«ãããåçãŸã§ã«æéãèŠããçµç·¯ããããŸããã
PC-SDKã«ã€ããŠèŸå£ã®å 容ã§ã¯ãããŸãããããããããããããã³ã³ãããŒã©ã®æ©èœãæ§èœã¯çŽ æŽããããRobotStudioã§ã®ãªãã©ã€ã³ãã£ãŒãã³ã°ç°å¢ããããã¬ãã«ã§äœ¿ããããã§ããABBã®ããããéšéããœãããã³ã¯ã°ã«ãŒããšãªã£ãããšã§æ¥æ¬ã§ã®ã·ã§ã¢æ¡å€§ãçã£ãŠããŠãããããã¯ãããŸããããããªããšå¶æ¥ããµããŒãéšéã®èŠæš¡ã質ãããéåã«ãªããšæãããŸããä»åŸã®ABBããããäºæ¥ã®å±éã«æåŸ ããŸãã
ä»åã¯PC-SDKã®èœãšã穎ãšé¡ããŠå¹Ÿã€ãæããŸãããRAPIDã«ãèœãšãç©Žãæœãã§ããŸããæ©äŒãããã°ãã¡ããèšäºã«ã§ããã°ãšæããŸãã
ãšãŒã»ããŒã»ããŒãšåŒã³ãŸããAsea瀟ãšBrown Boveri瀟ã®ååŒã§èšç«(ã¢ã»ã¢ã»ãã©ãŠã³ã»ãããª) â©ïž
PCããABB ããããã³ã³ãããŒã©ã«æ¥ç¶ããããã®SDK(ã©ã€ãã©ãª) â©ïž
ABBãæäŸããŠãããªãã©ã€ã³ãã£ãŒãã³ã°(ã·ãã¥ã¬ãŒã·ã§ã³)ãœãããŠã§ã¢ â©ïž
DeepL, Google翻蚳, ãã©ãŠã¶ã§å³ã¯ãªãã¯ããŠãæ¥æ¬èªã«ç¿»èš³ããªã© â©ïž
ABBã®ç£æ¥çšãããããå¶åŸ¡ããããã«éçºãããå°çšã®ããã°ã©ãã³ã°èšèª â©ïž
è±èµã§ã¯å ±ã«é«ãåã仲éãåéããŠããŸãïŒ

å ·äœçãªæ¡çšæ å ±ã¯ãã¡ãããã芧ããã ããŸãã

