Commit ec67183f 张东亮

1

1 个父辈 89af521e
......@@ -44,10 +44,12 @@
<Reference Include="Asa.IOModule.AIOBOX">
<HintPath>..\..\dll\Asa.IOModule.AIOBOX.dll</HintPath>
</Reference>
<Reference Include="Asa.RFID.HiStation">
<Reference Include="Asa.RFID.HiStation, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\dll\Asa.RFID.HiStation.dll</HintPath>
</Reference>
<Reference Include="Asa.RFID.IReadAll">
<Reference Include="Asa.RFID.IReadAll, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\dll\Asa.RFID.IReadAll.dll</HintPath>
</Reference>
<Reference Include="AsaPL.AgvClient">
......@@ -57,12 +59,6 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\dll\Client.dll</HintPath>
</Reference>
<Reference Include="CodeLibrary">
<HintPath>..\..\..\RC32-SZBOSCH-ACSingleStore\dll\CodeLibrary.dll</HintPath>
</Reference>
<Reference Include="halcondotnet">
<HintPath>..\..\..\RC32-SZBOSCH-ACSingleStore\dll\halcondotnet.dll</HintPath>
</Reference>
<Reference Include="HFReader9CSharp, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\dll\RFID\HFReader9CSharp.dll</HintPath>
......@@ -74,9 +70,6 @@
<Reference Include="RestSharp">
<HintPath>..\..\dll\RestSharp.dll</HintPath>
</Reference>
<Reference Include="RFIDLibrary">
<HintPath>..\..\dll\RFID\RFIDLibrary.dll</HintPath>
</Reference>
<Reference Include="RobotStudio.Services.RobApi">
<HintPath>..\..\dll\ABB\RobotStudio.Services.RobApi.dll</HintPath>
</Reference>
......@@ -103,7 +96,6 @@
<Compile Include="doubleLine\DoubleLineBean_lineShelf.cs" />
<Compile Include="doubleLine\DoubleLineBean_S1Shelf.cs" />
<Compile Include="doubleLine\RobotMoveBean.cs" />
<Compile Include="manager\BenQ_AGV.cs" />
<Compile Include="manager\LineManager.cs" />
<Compile Include="bean\WaitUtil.cs" />
<Compile Include="agvClient\AgvClient.cs" />
......
......@@ -48,11 +48,11 @@ DO,右出口轨道电机反转,R_OutLineBackRun,14,PRO_AOI_IP_1,0,右出口轨道电机反转,Y15,
DI,上料位前正阻挡检测,S1_StopCheck2,0,PRO_AOI_IP_2,0,上料位前正阻挡检测,X21,X21,0
DI,上料位反定位阻挡检测,S1_StopCheck3,1,PRO_AOI_IP_2,0,上料位反定位阻挡检测,X22,X22,0
DI,上料位正定位阻挡检测,S1_StopCheck4,2,PRO_AOI_IP_2,0,上料位正定位阻挡检测,X23,X23,0
DI,上料位后阻挡检测,S2_StopCheck1,3,PRO_AOI_IP_2,0,上料位后阻挡检测,X24,X24,0
DI,上料工位顶升上升端1,S1_TopCylinderUp,4,PRO_AOI_IP_2,0,上料工位顶升上升端1,X25,X25,0
DI,上料工位顶升下降端1,S1_TopCylinderDown,5,PRO_AOI_IP_2,0,上料工位顶升下降端1,X26,X26,0
DI,上料工位顶升上升端2,S2_TopCylinderUp,6,PRO_AOI_IP_2,0,上料工位顶升上升端2,X27,X27,0
DI,上料工位顶升下降端2,S2_TopCylinderDown,7,PRO_AOI_IP_2,0,上料工位顶升下降端2,X28,X28,0
DI,上料位后阻挡检测,S1_StopCheck5,3,PRO_AOI_IP_2,0,上料位后阻挡检测,X24,X24,0
DI,上料工位顶升上升端1,S1_TopCylinderUp1,4,PRO_AOI_IP_2,0,上料工位顶升上升端1,X25,X25,0
DI,上料工位顶升下降端1,S1_TopCylinderDown1,5,PRO_AOI_IP_2,0,上料工位顶升下降端1,X26,X26,0
DI,上料工位顶升上升端2,S1_TopCylinderUp2,6,PRO_AOI_IP_2,0,上料工位顶升上升端2,X27,X27,0
DI,上料工位顶升下降端2,S1_TopCylinderDown2,7,PRO_AOI_IP_2,0,上料工位顶升下降端2,X28,X28,0
DI,J1接驳台有料检测,ABB1_TrayCheck,8,PRO_AOI_IP_2,0,J1接驳台有料检测,X29,X29,0
DI,J2接驳台有料检测,ABB2_TrayCheck,9,PRO_AOI_IP_2,0,J2接驳台有料检测,X30,X30,0
DI,右升降气缸上升端,R_Updown_Up,10,PRO_AOI_IP_2,0,右侧升降气缸上升端,X31,X31,0
......@@ -77,7 +77,7 @@ DO,上料位前反阻挡下降,S1_StopCylinder1,11,PRO_AOI_IP_2,0,上料位前反阻挡下降,Y32,
DO,上料位前正阻挡下降,S1_StopCylinder2,12,PRO_AOI_IP_2,0,上料位前正阻挡下降,Y33,Y33,0
DO,上料位反定位阻挡下降,S1_StopCylinder3,13,PRO_AOI_IP_2,0,上料位反定位阻挡下降,Y34,Y34,0
DO,上料位正定位阻挡下降,S1_StopCylinder4,14,PRO_AOI_IP_2,0,上料位正定位阻挡下降,Y35,Y35,0
DO,上料位后阻挡下降,S2_StopCylinder1,15,PRO_AOI_IP_2,0,上料位后阻挡下降,Y36,Y36,0
DO,上料位后阻挡下降,S1_StopCylinder5,15,PRO_AOI_IP_2,0,上料位后阻挡下降,Y36,Y36,0
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
......@@ -161,11 +161,11 @@ DO,右升降气缸下降,R_Updown_Down,9,PRO_AOI_IP_3,0,右升降气缸下降,Y50,Y50,0
,,,,,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,ABB机器人1IP,ABB1_IP,192.168.103.51,,,,,,
PRO,ABB机器人2IP,ABB2_IP,192.168.103.52,,,,,,
PRO,ABB机器人1IP,ABB1_IP,192.168.101.21,,,,,,
PRO,ABB机器人2IP,ABB2_IP,192.168.102.21,,,,,,
,,,,,,,,,
PRO,双层线左侧提升机,L_Updown_Rfid,192.168.103.101,,,,,,
PRO,双层线中间提升机,M_Updown_Rfid,192.168.103.102,,,,,,
PRO,双层线上料工位1,S1_Rfid,192.168.103.103,,,,,,
PRO,双层线右侧提升机,R_Updown_Rfid,192.168.103.105,,,,,,
PRO,双层线上层右侧RFID,RHigh_Rfid,192.168.103.109,,,,,,
PRO,双层线左侧提升机,L_Updown_Rfid,192.168.103.51,,,,,,
PRO,双层线中间提升机,M_Updown_Rfid,192.168.103.52,,,,,,
PRO,双层线上料工位1,S1_Rfid,192.168.103.53,,,,,,
PRO,双层线右侧提升机,R_Updown_Rfid,192.168.103.54,,,,,,
PRO,双层线上层右侧RFID,RHigh_Rfid,192.168.103.55,,,,,,
......@@ -49,10 +49,8 @@ namespace OnlineStore.DeviceLibrary
RfidIpList = new List<string>(){
config.L_Updown_Rfid,
config.M_Updown_Rfid,
config.R_Updown_Rfid,
config.S1_Rfid,
//config.S2_Rfid,
//config.Pkg_Rfid,
config.R_Updown_Rfid,
config.RHigh_Rfid
};
//benQ_AGV = new BenQ_AGV();
......@@ -72,6 +70,13 @@ namespace OnlineStore.DeviceLibrary
WarnMsg = "";
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH))
{
S1_RightShelfId = "";
S1_CurrShelfId = "";
S1_LeftShelfId = "";
RealRfidMap = new Dictionary<string, string>();
mainTimer.Enabled = false;
// AgvClient.SetCancelState(false);
RFIDManager.Open(RfidIpList.ToArray());
if (ABBControl.GetControllerByIP(Config.ABB1_IP) == null)
{
SetWarnMsg("启动失败:机器人[" + Config.ABB1_IP + "]加载失败");
......@@ -87,13 +92,7 @@ namespace OnlineStore.DeviceLibrary
// SetWarnMsg("启动失败:机器人[" + Config.ABB3_IP + "]加载失败");
// return false;
//}
S1_RightShelfId = "";
S1_CurrShelfId = "";
S1_LeftShelfId = "";
RealRfidMap = new Dictionary<string, string>();
mainTimer.Enabled = false;
// AgvClient.SetCancelState(false);
RFIDManager.Open(RfidIpList.ToArray());
runStatus = RunStatus.HomeMoving;
LineManager.packageLine.StartRun();
MoveInfo.NewMove(LineMoveType.ReturnHome);
......@@ -139,6 +138,8 @@ namespace OnlineStore.DeviceLibrary
ResetStopMove();
//工位顶升下降
CylinderMove(MoveInfo, IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_TopCylinderDown1, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_TopCylinderDown2, IO_VALUE.HIGH));
//CylinderMove(MoveInfo, IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown);
mainTimer.Enabled = true;
......@@ -175,7 +176,7 @@ namespace OnlineStore.DeviceLibrary
CheckAndMove(IO_Type.S1_StopCylinder1, value);
CheckAndMove(IO_Type.S1_StopCylinder2, value);
CheckAndMove(IO_Type.S2_StopCylinder1, value);
CheckAndMove(IO_Type.S1_StopCylinder5, value);
}
......
......@@ -66,7 +66,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(Name + "启动检测到左侧有料架,开始处理料架");
SOneMoveInfo.NewMove(LineMoveType.S1Shelf, MoveStep.S1_C06_SaveLeft);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(200));
IOMove(IO_Type.S1_StopCheck1, IO_VALUE.HIGH);
IOMove(IO_Type.S1_StopCylinder1, IO_VALUE.HIGH);
IOMove(IO_Type.S1_StopCylinder2, IO_VALUE.LOW);
IOMove(IO_Type.S1_StopCylinder3, IO_VALUE.HIGH);
IOMove(IO_Type.S1_StopCylinder4, IO_VALUE.HIGH);
......@@ -133,10 +133,9 @@ namespace OnlineStore.DeviceLibrary
IOValue(IO_Type.S1_StopCheck1).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.S1_StopCheck2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.S1_StopCheck4).Equals(IO_VALUE.LOW) &&
CylinderIsOk(IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown) &&
IOValue(IO_Type.S2_StopCheck1).Equals(IO_VALUE.LOW) &&
CylinderIsOk(IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown) &&
IOManager.DOValue(IO_Type.S2_TopCylinderUp).Equals(IO_VALUE.LOW) && IOManager.DOValue(IO_Type.S2_TopCylinderDown).Equals(IO_VALUE.HIGH)
CylinderIsOk(IO_Type.S1_TopCylinderUp1, IO_Type.S1_TopCylinderDown1) &&
CylinderIsOk(IO_Type.S1_TopCylinderUp2, IO_Type.S1_TopCylinderDown2) &&
IOValue(IO_Type.S1_StopCheck5).Equals(IO_VALUE.LOW)
)
{
return true;
......@@ -147,21 +146,21 @@ namespace OnlineStore.DeviceLibrary
{
if (moveInfo != null)
{
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCylinder1, iovalue));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCylinder2, iovalue));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCylinder3, iovalue));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCylinder4, iovalue));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCylinder5, iovalue));
if (stop2Move)
{
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCylinder2, iovalue));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCylinder4, iovalue));
}
}
CheckAndMove(IO_Type.S1_StopCylinder1, iovalue);
CheckAndMove(IO_Type.S1_StopCylinder5, iovalue);
CheckAndMove(IO_Type.S1_StopCylinder2, iovalue);
CheckAndMove(IO_Type.S1_StopCylinder3, iovalue);
CheckAndMove(IO_Type.S1_StopCylinder4, iovalue);
if (stop2Move)
{
CheckAndMove(IO_Type.S1_StopCylinder2, iovalue);
CheckAndMove(IO_Type.S1_StopCylinder4, iovalue);
}
}
private void S1Log(string msg)
......@@ -340,11 +339,11 @@ namespace OnlineStore.DeviceLibrary
{
S1_LeftShelfId = "";
SOneMoveInfo.NextMoveStep(MoveStep.S1_C07_ToS1);
S1Log(" S1阻挡2上升,其他组的下降,下层线体停止,S1正转, 等待料架到达S1");
S1Log(" S1阻挡4上升,其他组的下降,下层线体停止,S1正转, 等待料架到达S1");
SOneMoveInfo.TimeOutSeconds = 15;
S1_StopMove(SOneMoveInfo, IO_VALUE.HIGH);
IOMove(IO_Type.S1_StopCylinder2, IO_VALUE.LOW);
IOMove(IO_Type.S1_StopCylinder4, IO_VALUE.LOW);
IOMove(IO_Type.LLown_LineRun, IO_VALUE.LOW);
IOMove(IO_Type.LLow_StopCylinder2, IO_VALUE.LOW);
// IOMove(IO_Type.S1_LineRun, IO_VALUE.HIGH);
......@@ -505,10 +504,10 @@ namespace OnlineStore.DeviceLibrary
{
S1_LeftShelfId = "";
SOneMoveInfo.NextMoveStep(MoveStep.S1_D19_ToS1);
S1Log(" S1阻挡2上升,其他阻挡下降,转动工位链条等待料架到达");
S1Log(" S1阻挡4上升,其他阻挡下降,转动工位链条等待料架到达");
S1_StopMove(SOneMoveInfo, IO_VALUE.HIGH);
IOMove(IO_Type.S1_StopCylinder2, IO_VALUE.LOW);
IOMove(IO_Type.S1_StopCylinder4, IO_VALUE.LOW);
// IOMove(IO_Type.S1_LineRun, IO_VALUE.HIGH);
S1LineRun(SOneMoveInfo);
......@@ -638,7 +637,7 @@ namespace OnlineStore.DeviceLibrary
S2CanGetShelf = false;
//SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCheck1, IO_VALUE.HIGH));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck5, IO_VALUE.HIGH));
CheckAndMove(IO_Type.S1_StopCylinder4, IO_VALUE.LOW);
CheckAndMove(IO_Type.S1_StopCylinder2, IO_VALUE.HIGH);
CheckAndMove(IO_Type.S1_StopCylinder1, IO_VALUE.HIGH);
......@@ -695,7 +694,8 @@ namespace OnlineStore.DeviceLibrary
// IOMove(IO_Type.S1_LineRun, IO_VALUE.LOW);
S1LineStop();
//左侧料架到位,转到Ready状态
if (CylinderIsOk(IO_Type.S1_TopCylinderDown, IO_Type.S1_TopCylinderUp) && (S1_CurrShelfId != ""))
if (CylinderIsOk(IO_Type.S1_TopCylinderDown1, IO_Type.S1_TopCylinderUp1) &&
CylinderIsOk(IO_Type.S1_TopCylinderDown2, IO_Type.S1_TopCylinderUp2) && (S1_CurrShelfId != ""))
{
SOneMoveInfo.NextMoveStep(MoveStep.S1_24_Ready);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
......@@ -882,6 +882,8 @@ namespace OnlineStore.DeviceLibrary
SOneMoveInfo.NextMoveStep(MoveStep.S1_23_ToReady);
S1Log(" " + S1SName + "到达S1,顶升气缸上升," + S1_ShelfTask.ToStr());
CylinderMove(SOneMoveInfo, IO_Type.S1_TopCylinderDown, IO_Type.S1_TopCylinderUp);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_TopCylinderUp1, IO_VALUE.HIGH));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_TopCylinderUp2, IO_VALUE.HIGH));
}
private bool CheckS1NeedGo()
{
......@@ -931,7 +933,8 @@ namespace OnlineStore.DeviceLibrary
S1Log(" 右->S1切换 ,等待" + S1SName + " 可以移动到左侧,顶升下降,等待左侧无料架");
CylinderMove(SOneMoveInfo, IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_TopCylinderDown1, IO_VALUE.HIGH));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_TopCylinderDown2, IO_VALUE.HIGH));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck1, IO_VALUE.LOW));
CheckAndMove(IO_Type.S1_StopCylinder1, IO_VALUE.HIGH);
......@@ -956,9 +959,11 @@ namespace OnlineStore.DeviceLibrary
S2CanGetShelf = false;
}
CylinderMove(null, IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_TopCylinderDown1, IO_VALUE.HIGH));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_TopCylinderDown2, IO_VALUE.HIGH));
// SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_LineRun, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCheck1, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCylinder1, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck5, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCylinder5, IO_VALUE.LOW));
}
private void Start_S1ShelfToRight(MoveStep nextStep, string movetype, bool ShelfIsCanGo = false)
......@@ -973,10 +978,12 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.S1_StopCylinder3, IO_VALUE.LOW);
}
CylinderMove(SOneMoveInfo, IO_Type.S1_TopCylinderUp, IO_Type.S1_TopCylinderDown);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_TopCylinderDown1, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_TopCylinderDown2, IO_VALUE.HIGH));
S1LineRun();
//S2LineRun();
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck2, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S2_StopCheck1, IO_VALUE.HIGH));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_StopCheck5, IO_VALUE.HIGH));
}
private void Start_LeftShelfToS1(MoveStep nextStep, string movetype)
......@@ -1003,7 +1010,8 @@ namespace OnlineStore.DeviceLibrary
return false;
}
if ((S1_CurrShelfId != "") && CylinderIsOk(IO_Type.S1_TopCylinderDown, IO_Type.S1_TopCylinderUp))
if ((S1_CurrShelfId != "") && CylinderIsOk(IO_Type.S1_TopCylinderDown1, IO_Type.S1_TopCylinderUp1)
&& CylinderIsOk(IO_Type.S1_TopCylinderDown2, IO_Type.S1_TopCylinderUp2))
{
if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_24_Ready))
{
......
......@@ -27,32 +27,32 @@ namespace OnlineStore.DeviceLibrary
public static string updateDeviceAlarmMsg(List<AlarmMsg> msgList)
{
string msg = "";
//try
//{
// Dictionary<string, string> paramMap = new Dictionary<string, string>();
// string msgListStr = JsonHelper.SerializeObject(msgList);
// paramMap.Add("deviceAlarmList", msgListStr);
// string server = GetAddr(Addr_updateDeviceAlarmMsg, paramMap);
// DateTime startTime = DateTime.Now;
// string resultStr = HttpHelper.Post(server, "", 2000);
// LogUtil.debug("updateDeviceAlarmMsg " + FormUtil.GetSpanStr(DateTime.Now - startTime) + " 【" + server + "】【" + resultStr + "】");
// RfidData data = JsonHelper.DeserializeJsonToObject<RfidData>(resultStr);
// if (data == null)
// {
// return msg = " updateDeviceAlarmMsg 没有收到服务器反馈";
// }
// else if (data.code.Equals(0).Equals(false))
// {
// return msg = " updateDeviceAlarmMsg 【" + server + "】【" + resultStr + "】" + data.msg;
// }
// return "";
//}
//catch (Exception ex)
//{
// LogUtil.error(" updateDeviceAlarmMsg Error: " + ex.ToString());
//}
try
{
Dictionary<string, string> paramMap = new Dictionary<string, string>();
string msgListStr = JsonHelper.SerializeObject(msgList);
paramMap.Add("deviceAlarmList", msgListStr);
string server = GetAddr(Addr_updateDeviceAlarmMsg, paramMap);
DateTime startTime = DateTime.Now;
string resultStr = HttpHelper.Post(server, "", 2000);
LogUtil.debug("updateDeviceAlarmMsg " + FormUtil.GetSpanStr(DateTime.Now - startTime) + " 【" + server + "】【" + resultStr + "】");
RfidData data = JsonHelper.DeserializeJsonToObject<RfidData>(resultStr);
if (data == null)
{
return msg = " updateDeviceAlarmMsg 没有收到服务器反馈";
}
else if (data.code.Equals(0).Equals(false))
{
return msg = " updateDeviceAlarmMsg 【" + server + "】【" + resultStr + "】" + data.msg;
}
return "";
}
catch (Exception ex)
{
LogUtil.error(" updateDeviceAlarmMsg Error: " + ex.ToString());
}
return msg;
}
private static string GetAddr(string addr, Dictionary<string, string> paramsMap)
......
......@@ -76,7 +76,7 @@ namespace OnlineStore.DeviceLibrary
{
try
{
if (String.IsNullOrEmpty(ip).Equals(false))
if (String.IsNullOrEmpty(ip).Equals(false) && read!=null)
{
if (isClear)
{
......@@ -102,10 +102,15 @@ namespace OnlineStore.DeviceLibrary
{
try
{
if(IsOpen)
{
read.Stop();
IsOpen = false;
}
}
catch (Exception ex)
{
IsOpen = false;
LogUtil.error("关闭RFID出错:" + ex.ToString());
}
}
......
......@@ -168,7 +168,7 @@ namespace OnlineStore.DeviceLibrary
//IOMove(IO_Type.Pkg_Line3_Forward, IO_VALUE.LOW);
//S2工位
IOMove(IO_Type.S2_StopCylinder1, IO_VALUE.LOW);
IOMove(IO_Type.S1_StopCylinder5, IO_VALUE.LOW);
//IOMove(IO_Type.S2_StopCylinder2, IO_VALUE.LOW);
//双层线出料口
......
......@@ -312,6 +312,7 @@
this.btnReload.TabIndex = 199;
this.btnReload.Text = "重新加载";
this.btnReload.UseVisualStyleBackColor = false;
this.btnReload.Visible = false;
this.btnReload.Click += new System.EventHandler(this.btnReload_Click);
//
// chbUseAbb
......
......@@ -131,7 +131,7 @@ namespace OnlineStore.DoubleLineClient
int esValue = ABBControl.GetSingalState(SelConIp);
if (ABBControl.IsAutoMove)
{
lblCurrMove.Text = "连续运动中:" + ABBControl. LastAutoP;
lblCurrMove.Text = "连续运动中:" + ABBControl.LastAutoP;
btnStartAuto.Text = "停止连续运动";
}
else
......@@ -164,7 +164,7 @@ namespace OnlineStore.DoubleLineClient
SetMsg("机器人[" + SelConIp + "]程序未运行", Color.Red);
}
}
if (isOk && ABBControl.IsConnected(SelConIp)&&chbUseAbb.Checked)
if (isOk && ABBControl.IsConnected(SelConIp) && chbUseAbb.Checked)
{
if (!groupMove.Enabled)
{
......@@ -304,7 +304,7 @@ namespace OnlineStore.DoubleLineClient
{
if (!comMoveCmd.Text.Equals(ABBControl.Cmd_moveput))
{
MessageBox.Show("运动方式="+ABBControl.Cmd_moveput+" 时,才能连续运动","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
MessageBox.Show("运动方式=" + ABBControl.Cmd_moveput + " 时,才能连续运动", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (SelConIp.Equals(""))
......@@ -330,7 +330,7 @@ namespace OnlineStore.DoubleLineClient
PointList.Add(comMoveP.Items[i].ToString());
}
ABBControl.StartConMove(SelConIp, PointList, "L", "p1", speed);
lblCurrMove.Text = "连续运动中:" + ABBControl. LastAutoP;
lblCurrMove.Text = "连续运动中:" + ABBControl.LastAutoP;
btnStartAuto.Text = "停止连续运动";
}
}
......@@ -339,7 +339,6 @@ namespace OnlineStore.DoubleLineClient
private void btnReload_Click(object sender, EventArgs e)
{
LogUtil.info("点击:重新加载机器人");
ABBControl.Dispose();
Thread.Sleep(10);
LoadController();
......
......@@ -20,6 +20,7 @@ namespace OnlineStore.DoubleLineClient
}
private List<Control> DILabel = new List<Control>();
private List<Control> doList = new List<Control>();
private List<Control> rfidList = new List<Control>();
private void FrmDbLineIO_Load(object sender, EventArgs e)
{
......@@ -31,6 +32,7 @@ namespace OnlineStore.DoubleLineClient
{
DILabel = new List<Control>();
doList = new List<Control>();
rfidList = new List<Control>();
foreach (Control con in this.Controls)
{
if (con is GroupBox)
......@@ -43,6 +45,10 @@ namespace OnlineStore.DoubleLineClient
{
DILabel.Add(c);
}
else if( c.Tag !=null && LineManager.Line.RfidIpList.Contains(c.Tag.ToString()))
{
rfidList.Add(c);
}
}
else if (c is Button)
{
......@@ -64,6 +70,14 @@ namespace OnlineStore.DoubleLineClient
{
return;
}
//Task.Factory.StartNew();
this.Invoke(new Action(() =>
{
if (!lblA5State.Text.Equals(LineManager.packageLine.A5_State))
lblA5State.Text = LineManager.packageLine.A5_State;
if (!lblA6State.Text.Equals(LineManager.packageLine.A6_State))
lblA6State.Text = LineManager.packageLine.A6_State;
}));
foreach (Control labl in DILabel)
{
IO_VALUE value = LineManager.Line.IOValue(labl.Name);
......@@ -89,16 +103,13 @@ namespace OnlineStore.DoubleLineClient
//labl.BackColor = Color.LightGray;
}
}
if (LineManager.Line.RfidIpList != null && LineManager.Line.RfidIpList.Count > 0)
foreach (Control lbl in rfidList)
{
string tmp = "";
foreach (string con in LineManager.Line.RfidIpList)
string tmpRfid = RFIDManager.ReadRFID(lbl.Tag.ToString()).NumStr();
if(!tmpRfid.Equals(lbl.Text))
{
tmp += con + ":" + RFIDManager.ReadRFID(con).NumStr() + "\r\t";
lbl.Text = string.Format("{0}:{1}", lbl.Tag.ToString(), tmpRfid);
}
this.Invoke(new Action(() => {
label1.Text = tmp;
}));
}
}
......@@ -193,9 +204,16 @@ namespace OnlineStore.DoubleLineClient
LineManager.Line.IOMove(IO_Type.S1_LineRun, IO_VALUE.LOW);
}
private void btnInitRFID_Click(object sender, EventArgs e)
private void btnOpenRFID_Click(object sender, EventArgs e)
{
RFIDManager.Open(LineManager.Line.RfidIpList.ToArray());
Common.LogUtil.info("手动开启RFID");
}
private void button2_Click(object sender, EventArgs e)
{
RFIDManager.Close();
Common.LogUtil.info("手动关闭RFID");
}
}
}
......@@ -360,7 +360,7 @@
this.btnSw1Location.Name = "btnSw1Location";
this.btnSw1Location.Size = new System.Drawing.Size(153, 37);
this.btnSw1Location.TabIndex = 281;
this.btnSw1Location.Text = "工位2顶升下降";
this.btnSw1Location.Text = "右侧升降机下降";
this.btnSw1Location.UseVisualStyleBackColor = true;
this.btnSw1Location.Click += new System.EventHandler(this.btnSw1Location_Click);
//
......
......@@ -290,7 +290,7 @@ namespace OnlineStore.DoubleLineClient
private void btnSw1Location_Click(object sender, EventArgs e)
{
// BtnMove(btnSw1Location, "工位2顶升下降", "工位2顶升上升", IO_Type.S2_TopCylinderUp, IO_Type.S2_TopCylinderDown);
BtnMove(btnNGCylinder, "右侧升降机下降", "右侧升降机上升", IO_Type.R_Updown_Up, IO_Type.R_Updown_Down);
}
private void btnSw4Location_Click(object sender, EventArgs e)
......
......@@ -89,7 +89,7 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
/// DI,上料位前反阻挡检测,S1_StopCheck1,15,PRO_AOI_IP_1,0,上料位前反阻挡检测,X16,X16,0
/// </summary>
public static string S1_StopCheck1 = "M_RightStopCheck";
public static string S1_StopCheck1 = "S1_StopCheck1";
/// <summary>
......@@ -168,25 +168,25 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
public static string S1_StopCheck4 = "S1_StopCheck4";
/// <summary>
///DI,上料位后阻挡检测,S2_StopCheck1,3,PRO_AOI_IP_2,0,上料位后阻挡检测,X24,X24,0
///DI,上料位后阻挡检测,S1_StopCheck5,3,PRO_AOI_IP_2,0,上料位后阻挡检测,X24,X24,0
/// </summary>
public static string S2_StopCheck1 = "S2_StopCheck1";
public static string S1_StopCheck5 = "S1_StopCheck5";
///// <summary>
/////DI,上料工位顶升上升端1,S1_TopCylinderUp,4,PRO_AOI_IP_2,0,上料工位顶升上升端1,X25,X25,0
/////DI,上料工位顶升上升端1,S1_TopCylinderUp1,4,PRO_AOI_IP_2,0,上料工位顶升上升端1,X25,X25,0
///// </summary>
public static string S1_TopCylinderUp = "S1_TopCylinderUp";
public static string S1_TopCylinderUp1 = "S1_TopCylinderUp1";
/// <summary>
///DI,上料工位顶升下降端1,S1_TopCylinderDown,5,PRO_AOI_IP_2,0,上料工位顶升下降端1,X26,X26,0
///DI,上料工位顶升下降端1,S1_TopCylinderDown1,5,PRO_AOI_IP_2,0,上料工位顶升下降端1,X26,X26,0
/// </summary>
public static string S1_TopCylinderDown = "S1_TopCylinderDown";
public static string S1_TopCylinderDown1 = "S1_TopCylinderDown1";
/// <summary>
///DI,上料工位顶升上升端2,S2_TopCylinderUp,6,PRO_AOI_IP_2,0,上料工位顶升上升端2,X27,X27,0
///DI,上料工位顶升上升端2,S1_TopCylinderUp2,6,PRO_AOI_IP_2,0,上料工位顶升上升端2,X27,X27,0
/// </summary>
public static string S2_TopCylinderUp = "S2_TopCylinderUp";
public static string S1_TopCylinderUp2 = "S1_TopCylinderUp2";
/// <summary>
///DI,上料工位顶升下降端2,S2_TopCylinderDown,7,PRO_AOI_IP_2,0,上料工位顶升下降端2,X28,X28,0
///DI,上料工位顶升下降端2,S1_TopCylinderDown2,7,PRO_AOI_IP_2,0,上料工位顶升下降端2,X28,X28,0
/// <summary>
public static string S2_TopCylinderDown = "S2_TopCylinderDown";
public static string S1_TopCylinderDown2 = "S1_TopCylinderDown2";
/// <summary>
///DI,J1接驳台有料检测,ABB1_TrayCheck,8,PRO_AOI_IP_2,0,J1接驳台有料检测,X29,X29,0
/// </summary>
......@@ -282,9 +282,9 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
public static string S1_StopCylinder4 = "S1_StopCylinder4";
/// <summary>
///DO,上料位后阻挡下降,S2_StopCylinder1,15,PRO_AOI_IP_2,0,上料位后阻挡下降,Y36,Y36,0
///DO,上料位后阻挡下降,S1_StopCylinder5,15,PRO_AOI_IP_2,0,上料位后阻挡下降,Y36,Y36,0
/// </summary>
public static string S2_StopCylinder1 = "S2_StopCylinder1";
public static string S1_StopCylinder5 = "S1_StopCylinder5";
#endregion
#region PRO_AOI_IP_3
......@@ -314,11 +314,11 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
/// DO,上料工位顶升上升,S1_TopCylinderUp,0,PRO_AOI_IP_3,0,上料工位顶升上升,Y41,Y41,0
/// </summary>
//public static string S1_TopCylinderUp = "S1_TopCylinderUp";
public static string S1_TopCylinderUp = "S1_TopCylinderUp";
/// <summary>
/// DO,上料工位顶升下降,S1_TopCylinderDown,1,PRO_AOI_IP_3,0,上料工位顶升下降,Y42,Y42,0
/// </summary>
//public static string S1_TopCylinderDown = "S1_TopCylinderDown";
public static string S1_TopCylinderDown = "S1_TopCylinderDown";
/// <summary>
///DO,右下层线体阻挡1下降,R_StopCylinder1,2,PRO_AOI_IP_3,0,右下层线体阻挡1下降,Y43,Y43,0
/// </summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!