Commit 7865aff4 几米阳光

单盘入库功能调试。部分中英文补充。

1 个父辈 6f747e76
......@@ -31,21 +31,21 @@
<!--<add key="CodeType" value="Data Matrix ECC 200#QR Code"/>-->
<!--二维码参数文件所在路径,文件名与二维码类型名一样-->
<add key="CodeParamPath" value="\CodeParam\" />
<add key="InOutDefaultPosition" value="10000" />
<add key="InOutDefaultPosition" value="90000" />
<add key="Config_Pwd" value="123456" />
<!--5000脉冲对应1mm-->
<add key="AxisChangeValue" value="5000" />
<!--压紧轴计量检测信号亮1次的脉冲值-->
<add key="ComAxisChangeValue" value="20000" />
<add key="DebugPosId" value="1#AC2_2_1_1" />
<add key="ComAxisChangeValue" value="150000" />
<add key="DebugPosId" value="1#AC2_1_1_6" />
<!--是否有门禁屏蔽功能,=1表示有此功能-->
<add key="HasDisableDoorControl" value="1" />
<add key="ACBaudRate" value="115200" />
<add key="Default_Language" value="zh-CN" />
<add key ="UseAIOBOX" value ="1"/>
<add key ="DIMS" value ="40"/>
<add key="DOMS" value="200"/>
<add key="SinglePosId" value="1#AC2_2_1_1" />
<add key="UseAIOBOX" value="1" />
<add key="DIMS" value="20" />
<add key="DOMS" value="200" />
<add key="SinglePosId" value="1#AC2_1_1_6" />
</appSettings>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
......@@ -56,7 +56,7 @@
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="ERROR" />
</filter>
......@@ -75,10 +75,10 @@
<appender-ref ref="RollingLogFileAppender" />
</logger>
<logger name="AIOBOXLog">
<level value="Debug" />
<level value="DEBUG" />
<appender-ref ref="AIOBOXLog" />
</logger>
<root>
</logger>
<root>
<level value="INFO" />
<appender-ref ref="RollingLogFileAppender" />
</root>
......
......@@ -597,6 +597,14 @@ namespace OnlineStore.AutoInOutStore
//txtUpDownP8.Text = ktkPosition.UpDownAxis_DoorIBPosition_P8.ToString();
//txtInOutP2.Text = ktkPosition.InOutAxis_DoorPosition_P2.ToString();
//txtUpDownP1.Text = ktkPosition.UpDownAxis_DoorOPosition_P1.ToString();
if (ktkPosition.SupportBatch.Equals(1))
{
btnBatchOutTest.Enabled = true;
}
else
{
btnBatchOutTest.Enabled = false;
}
}
}
}
......
......@@ -442,7 +442,7 @@
<value>Saving testing</value>
</data>
<data name="FrmStoreBox_btnOutStore_Text" xml:space="preserve">
<value>Providing testing</value>
<value>Single providing </value>
</data>
<data name="FrmStoreBox_btnComP1_Text" xml:space="preserve">
<value>p-axis stanby P1:</value>
......@@ -899,7 +899,7 @@
<value>Open doorlock</value>
</data>
<data name="FrmStoreBox_lblWaitTragGo_Text" xml:space="preserve">
<value>Take/Put In reel,click left to confirm</value>
<value>Take/Put In reel,click left to close the doors</value>
</data>
<data name="FrmStoreBox_btnWaitTrgGo_Text" xml:space="preserve">
<value>Portal reel taken/put in</value>
......@@ -1052,7 +1052,7 @@
<value>In-out axis providing P4:</value>
</data>
<data name="FrmStoreBox_btnBatchOutTest_Text" xml:space="preserve">
<value>Batch providing test</value>
<value>Batch providing </value>
</data>
<data name="FrmStoreBox_btnUpdownP8_Text" xml:space="preserve">
<value>l-axis low providing P8:</value>
......@@ -1153,4 +1153,35 @@
<data name="startFailAir" xml:space="preserve">
<value>Startup failure: no air pressure signal</value>
</data>
<data name="FrmStoreBox_groupAuto_Text" xml:space="preserve">
<value>auto storing</value>
</data>
<data name="FrmStoreBox_checkBox1_Text" xml:space="preserve">
<value>manual manipulation </value>
</data>
<data name="FrmStoreBox_label30_Text" xml:space="preserve">
<value>auto storing interval:</value>
</data>
<data name="FrmStoreBox_btnStart_Text" xml:space="preserve">
<value>Start auto storing</value>
</data>
<data name="FrmStoreBox_btnSingleTrayIn_Text" xml:space="preserve">
<value>Single storing</value>
</data>
<data name="FrmStoreBox_btnClearBuzzer_Text" xml:space="preserve">
<value>Clear the buzzer</value>
</data>
<data name="FrmStoreBox_groupAxis_Text" xml:space="preserve">
<value>Servo motor</value>
</data>
<data name="FrmStoreBox_groupComAxis_Text" xml:space="preserve">
<value>Pressure shaft</value>
</data>
<data name="FrmStoreBox_groupInout_Text" xml:space="preserve">
<value>Providing operation</value>
</data>
<data name="FrmStoreBox_出入库调试ToolStripMenuItem_Text" xml:space="preserve">
<value>Enable debugging</value>
</data>
</root>
\ No newline at end of file
......@@ -442,7 +442,7 @@
<value>入库测试</value>
</data>
<data name="FrmStoreBox_btnOutStore_Text" xml:space="preserve">
<value>出库测试</value>
<value>单盘出库</value>
</data>
<data name="FrmStoreBox_btnComP1_Text" xml:space="preserve">
<value>压紧轴待机点P1:</value>
......@@ -895,7 +895,7 @@
<value>打开门锁</value>
</data>
<data name="FrmStoreBox_lblWaitTragGo_Text" xml:space="preserve">
<value>请拿走/放入料盘,并点击左侧按钮确认</value>
<value>请拿走/放入料盘,并点击左侧按钮关闭仓门</value>
</data>
<data name="FrmStoreBox_btnWaitTrgGo_Text" xml:space="preserve">
<value>料盘已拿出/放入</value>
......@@ -1152,4 +1152,35 @@
<data name="startFailAir" xml:space="preserve">
<value>启动失败:没有气压信号</value>
</data>
<data name="FrmStoreBox_groupAuto_Text" xml:space="preserve">
<value>自动出入库</value>
</data>
<data name="FrmStoreBox_checkBox1_Text" xml:space="preserve">
<value>手动出入库</value>
</data>
<data name="FrmStoreBox_label30_Text" xml:space="preserve">
<value>自动出入库间隔:</value>
</data>
<data name="FrmStoreBox_btnStart_Text" xml:space="preserve">
<value>开始自动出入库</value>
</data>
<data name="FrmStoreBox_btnSingleTrayIn_Text" xml:space="preserve">
<value>启动单盘入库</value>
</data>
<data name="FrmStoreBox_btnClearBuzzer_Text" xml:space="preserve">
<value>清理蜂鸣器</value>
</data>
<data name="FrmStoreBox_groupAxis_Text" xml:space="preserve">
<value>伺服运动</value>
</data>
<data name="FrmStoreBox_groupComAxis_Text" xml:space="preserve">
<value>压紧轴</value>
</data>
<data name="FrmStoreBox_groupInout_Text" xml:space="preserve">
<value>出入库操作</value>
</data>
<data name="FrmStoreBox_出入库调试ToolStripMenuItem_Text" xml:space="preserve">
<value>启用调试</value>
</data>
</root>
\ No newline at end of file
......@@ -14,7 +14,7 @@ namespace OnlineStore.AutoInOutStore
{
public class ResourceCulture
{
public static bool ShowLog = false;
public static bool ShowLog = true ;
public static string China = "zh-CN";
public static string English = "en-US";
public static string German = "ge-DE";
......
......@@ -53,11 +53,11 @@ PRO,升降轴 仓门位置P7(人工拿走盘的位置),UpDownAxis_Door_P7,345000,,,,,,,
PRO,升降轴 出库高点P2,UpDownAxis_OutHigh_P2,247000,,,,,,,
PRO,升降轴 出库低点P8,UpDownAxis_OutLow_P8,225000,,,,,,,
PRO,升降轴从吸盘下方接料后下降的高度,UpDownAxis_DownValue,10000,,,,,,,
PRO,升降轴 入库P1点集合,UpDownAxis_P1_List,8#388000;12#385000;16#380000;20#380000;24#375000;28#370000;32#370000;36#370000;40#370000;52#370000;,,,,,,,
PRO,升降轴 入库P1点集合,UpDownAxis_P1_List,8#388000;12#385000;16#380000;20#380000;24#375000;28#370000;32#370000;36#370000;40#370000;52#370000;75#345000;,,,,,,,
PRO,旋转轴(轴一)P1 待机原位点,MiddleAxis_P1_Position,218900,,,,,,,
PRO,进出轴(轴三)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,-25000,,,,,,,
PRO,压紧轴(轴4)P2压紧点集合,CompressAxis_P2_List,8#-135000;12#-135000;16#-135000;20#-120000;24#-125000;28#-90000;32#-80000;36#-70000;40#-70000;44#-70000;48#-70000;52#-70000;,,,,,,,
PRO,压紧轴(轴4)P2压紧点集合,CompressAxis_P2_List,8#-650000;12#-650000;16#-630000;20#-610000;24#-175000;28#-140000;32#-130000;36#-120000;40#-120000;44#-120000;48#-120000;52#-120000;75#-154000;,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,,,,
......
......@@ -306,6 +306,11 @@ namespace OnlineStore.DeviceLibrary
UpdateInOutMsg(logMsg + "失败,门锁未关闭");
return false;
}
if (IsBatchWork && (!SupportBatch(posId)))
{
UpdateInOutMsg(logMsg + "失败,此库位不支持批量操作");
return false;
}
if (storeRunStatus == StoreRunStatus.Runing)
{
if (!LoadParamPosition(param))
......@@ -413,10 +418,11 @@ namespace OnlineStore.DeviceLibrary
SI_03_AxisToP1(moveP);
}else
{
InStoreLog("入库:SIS_31 单盘入库:旋转轴待机点P1,升降轴走到仓门位置P7 ");
int updownPosition = moveP.UpDown_Door_P7 - Config.UpdownAxis_UpPosition;
InStoreLog("入库:SIS_31 单盘入库:旋转轴待机点P1,升降轴走到仓门位置P7下方位置 "+ updownPosition);
StoreMove.NextMoveStep(StoreMoveStep.SIS_31_ToDoor);
ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_Door_P7, Config.UpDownAxis_P7_Speed);
ACAxisMove(Config.UpDown_Axis, updownPosition, Config.UpDownAxis_P7_Speed);
}
}
else if (StoreMove.MoveStep == StoreMoveStep.SI_03_ReturnHome)
......@@ -563,24 +569,36 @@ namespace OnlineStore.DeviceLibrary
}
else if (StoreMove.MoveStep.Equals(StoreMoveStep.SI_22_InoutToDoor))
{
InStoreLog("送出料盘:SI_22 ,压紧轴到压紧前点 ");
StoreMove.NextMoveStep(StoreMoveStep.SI_23_ComToP3);
ComMoveToPosition(moveP.ComPress_P3);
//if (IOManager.IOValue(IO_Type.SafetyLightCurtains).Equals(IO_VALUE.HIGH))
//{
// InStoreLog("送出料盘:SI_22 ,打开仓门 ");
// StoreMove.NextMoveStep(StoreMoveStep.SI_24_OpenDoor);
// OpenDoorAndWait();
//}
}
else if (StoreMove.MoveStep.Equals(StoreMoveStep.SI_23_ComToP3))
{
if (IOManager.IOValue(IO_Type.SafetyLightCurtains).Equals(IO_VALUE.HIGH))
{
InStoreLog("送出料盘:SI_22 ,打开仓门 ");
StoreMove.NextMoveStep(StoreMoveStep.SI_23_OpenDoor);
InStoreLog("送出料盘:SI_23 ,打开仓门 ");
StoreMove.NextMoveStep(StoreMoveStep.SI_24_OpenDoor);
OpenDoorAndWait();
}
}
else if (StoreMove.MoveStep.Equals(StoreMoveStep.SI_23_OpenDoor))
else if (StoreMove.MoveStep.Equals(StoreMoveStep.SI_24_OpenDoor))
{
InStoreLog("送出料盘:SI_23 ,等待操作人员拿走料盘 ");
StoreMove.NextMoveStep(StoreMoveStep.SI_24_WaitTrayGo);
InStoreLog("送出料盘:SI_24 ,等待操作人员拿走料盘 ");
StoreMove.NextMoveStep(StoreMoveStep.SI_25_WaitTrayGo);
StoreMove.TimeOutSeconds = 120;
AutomaticBaiting.IsGetTrayGo = false;
AutomaticBaiting.IsWaitTragGo = true;
StoreMove.WaitList.Add(WaitResultInfo.WaitTakeTray());
}
else if (StoreMove.MoveStep == StoreMoveStep.SI_24_WaitTrayGo)
else if (StoreMove.MoveStep == StoreMoveStep.SI_25_WaitTrayGo)
{
if (IOManager.IOValue(IO_Type.SafetyLightCurtains).Equals(IO_VALUE.HIGH))
{
......@@ -625,11 +643,10 @@ namespace OnlineStore.DeviceLibrary
}
else if (StoreMove.MoveStep.Equals(StoreMoveStep.SIS_33_WaitTray))
{
InStoreLog("入库:SIS_34 确认放入料盘,关闭仓门,升降轴稍微上升,压紧轴压紧 ");
InStoreLog("入库:SIS_34 确认放入料盘,关闭仓门,升降轴走门口P7,压紧轴压紧 ");
StoreMove.NextMoveStep(StoreMoveStep.SIS_34_GetTray);
CloseDoorAndWait();
int updownPosition = moveP.UpDown_Door_P7 + Config.UpdownAxis_UpPosition;
ACAxisMove(Config.UpDown_Axis, updownPosition, Config.UpDownAxis_P4_Speed);
CloseDoorAndWait();
ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_Door_P7, Config.UpDownAxis_P4_Speed);
ComMoveToPosition(moveP.ComPress_P2);
}
else if (StoreMove.MoveStep.Equals(StoreMoveStep.SIS_34_GetTray))
......@@ -682,14 +699,17 @@ namespace OnlineStore.DeviceLibrary
}
else
{
LogUtil.info("单盘入库获取库位号成功:"+param.PositionNum+",叉子后退,开始入库");
//更改当前入库参数
storeRunStatus = StoreRunStatus.Busy;
storeStatus = StoreStatus.InStoreExecute;
StoreMove.NewMove(StoreMoveType.InStore, param);
StoreMove.MoveParam = param;
lastMoveType = StoreMoveType.InStore;
StoreMove.IsBatchInOutStore = true;
StoreMove.IsNeedInStore = true;
StoreMove.NextMoveStep(StoreMoveStep.SI_01_LocationCylinderDown);
StoreMove.IsNeedInStore = true;
StoreMove.NextMoveStep(StoreMoveStep.SI_07_DeviceBackFromDoor);
ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Position);
}
}
}
......@@ -740,6 +760,11 @@ namespace OnlineStore.DeviceLibrary
//LogUtil.error(LOGGER, StoreName + logMsg + " 出错,门锁未关闭");
return false;
}
if (IsBatchWork && (!SupportBatch(posId)))
{
UpdateInOutMsg(logMsg + "失败,此库位不支持批量操作");
return false;
}
if (storeRunStatus == StoreRunStatus.Runing)
{
if (!LoadParamPosition(param))
......@@ -1103,6 +1128,17 @@ namespace OnlineStore.DeviceLibrary
}
#endregion
public bool SupportBatch(string posId)
{
AutoStorePosition position= CSVPositionReader<AutoStorePosition>.GetPositon(posId);
if (position != null && position.SupportBatch.Equals(1))
{
return true;
}else
{
return false;
}
}
public void UpdateInOutMsg(string Msg)
{
CodeOrInoutMsg = Msg;
......
......@@ -396,18 +396,23 @@ namespace OnlineStore.DeviceLibrary
/// 入库未取到PosID,叉子走到门口位置, 打开仓门
/// </summary>
SI_22_InoutToDoor = 222,
/// <summary>
/// 压紧轴走到压紧前点
/// </summary>
SI_23_ComToP3=223,
/// <summary>
///入库未取到PosID,, 打开仓门
/// </summary>
SI_23_OpenDoor = 223,
SI_24_OpenDoor = 224,
/// <summary>
/// 入库未取到PosID,,等待料盘拿走
/// </summary>
SI_24_WaitTrayGo = 224,
SI_25_WaitTrayGo = 225,
/// <summary>
/// 单盘入库:旋转轴待机点P1,升降轴走到仓门位置P7
/// 单盘入库:旋转轴待机点P1,升降轴走到仓门位置P7下方
/// </summary>
SIS_31_ToDoor = 301,
......@@ -420,7 +425,7 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
SIS_33_WaitTray= 303,
/// <summary>
/// 单盘入库:确认放入料盘,关闭仓门,升降轴稍微上升,压紧轴压紧
/// 单盘入库:确认放入料盘,关闭仓门,升降轴走 到P7,压紧轴压紧
/// </summary>
SIS_34_GetTray= 304,
/// <summary>
......
......@@ -13,6 +13,13 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
[CSVAttribute("料仓ID")]
public int StoreId { get; set; }
/// <summary>
/// 支持批量操作,1=支持,0=不支持
/// </summary>
[CSVAttribute("支持批量操作")]
public int SupportBatch { get; set; }
/// <summary>
/// 中轴位置(旋转轴库位点)P2
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!