Quellcode durchsuchen

更新泓浒手臂errorcode
增加伺服电机LiftPin超时配置项

zhouhr vor 2 Monaten
Ursprung
Commit
5bb32f662f

+ 45 - 33
FrameworkLocal/RTEquipmentLibrary/HardwareUnits/Robots/HongHu/HongHuVR.cs

@@ -97,39 +97,51 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.HongHu
 
         public Dictionary<string, string> _error2msg = new Dictionary<string, string>()
         {
-            {"221","手臂选择无效,检查指令中的对应参数" },
-            {"222","无效的 Pan 参数"},
-            {"305","无法识别的命令,检查指令" },
-            {"309","不支持的指令,检查指令" },
-            {"350","解析器错误,堆栈溢出,检查指令" },
-            {"402","槽位参数异常,检查指令中的对应参数" },
-            {"407","T轴参数异常,检查指令中的对应参数" },
-            {"408","R轴参数异常,检查指令中的对应参数" },
-            {"409","Z轴参数异常,检查指令中的对应参数" },
-            {"416","站点未初始化,检查指令中的对应参数" },
-            {"417","offset 值过大,检查指令中的对应参数" },
-            {"418","AWC 功能检测到误差过大,检查晶圆是否过偏或检查 AWC 传感器标定参数" },
-            {"550","站参数超出范围,检查站点配置参数" },
-            {"551","ARM 不在站点,检查当前手臂实际位置与逻辑位置" },
-            {"560","机械臂处于 HALT 状态,拒绝接受新的指令" },
-            {"561","当前机械臂状态机与指令不匹配,当前状态机不满足执行该指令的条件" },
-            {"600","PAligner通讯异常,检查与 PA 的通讯电缆,上电情况等" },
-            {"603","收到急停指令" },
-            {"608","机械臂急停中" },
-            {"692","检测左 PAN 上有片,与逻辑状态不匹配" },
-            {"693","检测右 PAN 上有片,与逻辑状态不匹配" },
-            {"694","检测左 PAN 上无片,与逻辑状态不匹配" },
-            {"695","检测右 PAN 上无片,与逻辑状态不匹配" },
-            {"700","当前手臂有晶圆,检查指令动作要求的晶圆状态,与手臂内部存储的晶圆状态是否匹配" },
-            { "701" , "当前手臂无晶圆,检查指令动作要求的晶圆状态,与手臂内部存储的晶圆状态是否匹配"},
-            { "711" , "站点互锁错误,检查站点的“允许机械臂进入信号”是否就绪"},
-            { "721" , "取片失败,检查手臂晶圆状态,或者晶圆检测传感器状态"},
-            { "722" , "放片失败,检查手臂晶圆状态,或者晶圆检测传感器状态"},
-            { "791" , "查询 AWC 数据失败,未曾执行过 AWC 相关功能的操作"},
-            { "799" , "放片失败,检查手臂晶圆状态,或者晶圆检测传感器状态"},
-            { "803" , "机械臂上电失败 HOME ALL 指令,或者其他上电操作,驱动器未能正常响应上电"},
-            { "1100" , "无法安全回 HOME 操作,检查机械臂是否在安全 HOME 半径内,常见于双臂机械臂,双臂同时伸出超过安全位"},
-            { "13004" , "PA报错,检查 PA 运行状态,PA 扫片结果等"},
+            {"221"  , "手臂选择无效,检查指令中的对应参数" },
+            {"222"  , "无效的 Pan 参数"},
+            {"305"  , "无法识别的命令,检查指令" },
+            {"309"  , "不支持的指令,检查指令" },
+            {"350"  , "解析器错误,堆栈溢出,检查指令" },
+            {"402"  , "槽位参数异常,检查指令中的对应参数" },
+            {"403"  , "Slot编号错误,指令的参数中指定的 Slot 编号超过了有效范围" },
+            {"407"  , "旋转轴超过限位,检查指令中的对应参数" },
+            {"408"  , "伸展轴超过限位,检查指令中的对应参数" },
+            {"409"  , "升降轴超过限位,检查指令中的对应参数" },
+            {"416"  , "无法执行 CheckLoad 操作,检查指令中的对应参数" },
+            {"417"  , "Offset 参数参数超限,检查指令中指定的 offset 值是否在允许范围内" },
+            {"418"  , "AWC 功能检测到误差过大,检查晶圆是否过偏或检查AWC传感器标定参数" },
+            {"420"  , "副臂没有在HOME位置,请检查副臂的位置,可以使用HOME ALL使得所有关节姿态回到HOME位置" },
+            {"451"  , "取片后 AWC校验异常,机械臂取片后缩回时,检测到晶圆偏心过大,或者 AWC 校验失败" },
+            {"550"  , "Station参数超出范围,检查站点配置参数" },
+            {"551"  , "ARM 不在站点,检查当前手臂实际位置与逻辑位置" },
+            {"560"  , "机械臂处于 HALT 状态,拒绝接受新的指令" },
+            {"561"  , "当前机械臂状态机与指令不匹配,当前状态机不满足执行该指令的条件" },
+            {"600"  , "PAligner通讯异常,检查与 PA 的通讯电缆,上电情况等" },
+            {"603"  , "收到急停指令" },
+            {"608"  , "机械臂急停中" },
+            {"610"  , "手持示教器急停按钮按下" },
+            {"692"  , "检测左 PAN 上有片,与逻辑状态不匹配" },
+            {"693"  , "检测右 PAN 上有片,与逻辑状态不匹配" },
+            {"694"  , "检测左 PAN 上无片,与逻辑状态不匹配" },
+            {"695"  , "检测右 PAN 上有片,与逻辑状态不匹配" },
+            {"700"  , "当前手臂有晶圆 ,检查指令动作要求的晶圆状态,与手臂内部存储的晶圆状态是否匹配" },
+            {"701" , "当前手臂无晶圆,检查指令动作要求的晶圆状态,与手臂内部存储的晶圆状态是否匹配"},
+            {"711" , "站点互锁错误,检查站点的“允许机械臂进入信号”是否就绪"},
+            {"721" , "取片失败,检查手臂晶圆状态,或者晶圆检测传感器状态"},
+            {"722" , "放片失败,检查手臂晶圆状态,或者晶圆检测传感器状态"},
+            {"771" , "取片时 AWC 传感器检测失败,检查 AWC 传感器状态,或者 AWC 配置相关是否正确"},
+            {"791" , "查询 AWC 数据失败,未曾执行过 AWC 相关功能的操作"},
+            {"792" , "AWC 传感器检测失败,检查AWC传感器状态,或者AWC配置相关是否正确"},
+            {"799" , "放片失败,检查手臂晶圆状态,或者晶圆检测传感器状态"},
+            {"802" , "伺服报错,伺服提示异常,目前暂时无法读取伺服错误。开机盖可以读到伺服信息。一般整机断电重启。"},
+            {"803" , "机械臂上电失败,HOME ALL 指令,或者其他上电操作,驱动器未能正常响应上电"},
+            {"805" , "第1个伺服收敛异常,伺服没有在规定时间内运动到位置,或者停稳。"},
+            {"806" , "第2个伺服收敛异常,伺服没有在规定时间内运动到位置,或者停稳。"},
+            {"807" , "第3个伺服收敛异常,伺服没有在规定时间内运动到位置,或者停稳。"},
+            {"808" , "第4个伺服收敛异常,伺服没有在规定时间内运动到位置,或者停稳。"},
+            {"1100" , "无法安全回 HOME 操作,检查机械臂是否在安全 HOME 半径内,常见于双臂机械臂,双臂同时伸出超过安全位"},
+            {"1805" , "当前处于示教器模式,检查示教器档位,一般此时处于 Teach 档位"},
+            {"13004" , "PA报错,检查 PA 运行状态,PA 扫片结果等"},
 
         };
 

+ 3 - 0
FrameworkLocal/RTEquipmentLibrary/Unit/IoLiftPin.cs

@@ -181,6 +181,9 @@ namespace Aitex.Core.RT.Device.Unit
             _aoCCWLimitPosition = ParseAoNode("aoCCWLimitPosition", node, ioModule);
             _aoCWLimitPosition = ParseAoNode("aoCWLimitPosition", node, ioModule);
             _aoCorrectionValue = ParseAoNode("aoCorrectionValue", node, ioModule);
+
+            _timeout = SC.GetValue<int>($"{Module}.{Name}.MotionTimeOut") * 1000;
+
         }
 
         private void updatePinCfg()

+ 8 - 2
Mars/EfemDualRT/Config/System.sccfg

@@ -1034,7 +1034,8 @@
       <config default="2" name="Position2Value" nameView="Position2 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
-      <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
+      <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm/s" type="Double" />
+      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="60" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
     <configs name="LiftPin2" nameView="LiftPin2">
       <config default="1" name="Position1Value" nameView="Position1 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
@@ -1042,6 +1043,7 @@
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
+      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="60" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
   </configs>
   <configs name="PMB">
@@ -1468,6 +1470,7 @@
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
+      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="60" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
     <configs name="LiftPin2" nameView="LiftPin2">
       <config default="1" name="Position1Value" nameView="Position1 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
@@ -1475,10 +1478,11 @@
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
+      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="60" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
   </configs>
   <configs name="PMC">
-    <config default="false" name="IsPlus"  description="Is Plus PM" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
+    <config default="true" name="IsPlus"  description="Is Plus PM" max="0" min="0" paramter="" tag="" unit="" type="Bool" />
     <config default="30" name="HomeTimeout" description="Home Timeout" max="300" min="1" paramter="" tag="" unit="s" type="Integer" />
     <config default="30" name="PostTransferTimeout" description="PostTransfer Timeout" max="300" min="1" paramter="" tag="" unit="s" type="Integer" />
     <config default="30" name="PrepareTransferTimeout" description="PrepareTransfer Timeout" max="300" min="1" paramter="" tag="" unit="s" type="Integer"  />
@@ -1854,6 +1858,7 @@
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
+      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="60" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
     <configs name="LiftPin2" nameView="LiftPin2">
       <config default="1" name="Position1Value" nameView="Position1 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
@@ -1861,6 +1866,7 @@
       <config default="3" name="Position3Value" nameView="Position3 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="4" name="Position4Value" nameView="Position4 Value" description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
       <config default="5" name="SpeedValue"     nameView="Speed Value"     description="" max="20" min="0" paramter="" tag="" unit="mm" type="Double" />
+      <config default="5" name="MotionTimeOut"  nameView="Motion Time Out" description="" max="60" min="0" paramter="" tag="" unit="s"  type="Integer" />
     </configs>
   </configs>
 </root>