Commit 16b5fd11 顾剑亮

upload

1 个父辈 1eef9f92
正在显示 36 个修改的文件 包含 466 行增加294 行删除
...@@ -35,7 +35,13 @@ ...@@ -35,7 +35,13 @@
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<PropertyGroup>
<ApplicationIcon>Icon.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="ClassFormParent">
<HintPath>..\..\ClassFormParent\ClassFormParent\bin\Debug\ClassFormParent.dll</HintPath>
</Reference>
<Reference Include="log4net"> <Reference Include="log4net">
<HintPath>..\..\..\..\DLL\log4net.dll</HintPath> <HintPath>..\..\..\..\DLL\log4net.dll</HintPath>
</Reference> </Reference>
...@@ -86,6 +92,7 @@ ...@@ -86,6 +92,7 @@
<Compile Include="BLL\SteelManage.cs" /> <Compile Include="BLL\SteelManage.cs" />
<EmbeddedResource Include="UI\FrmMain.resx"> <EmbeddedResource Include="UI\FrmMain.resx">
<DependentUpon>FrmMain.cs</DependentUpon> <DependentUpon>FrmMain.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx"> <EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>
...@@ -96,6 +103,9 @@ ...@@ -96,6 +103,9 @@
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon> <DependentUpon>Resources.resx</DependentUpon>
</Compile> </Compile>
<None Include="bin\Debug\AGVControl_Steel.exe.config" />
<None Include="bin\Debug\Config\AgvMission.csv" />
<None Include="bin\Debug\Config\AgvName.csv" />
<None Include="packages.config" /> <None Include="packages.config" />
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
...@@ -110,5 +120,18 @@ ...@@ -110,5 +120,18 @@
<ItemGroup> <ItemGroup>
<None Include="App.config" /> <None Include="App.config" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Content Include="bin\Debug\AGVControl_Steel.exe" />
<Content Include="bin\Debug\AGVControl_Steel.pdb" />
<Content Include="bin\Debug\AGVControl_Steel.xml" />
<Content Include="bin\Debug\log4net.dll" />
<Content Include="bin\Debug\RestSharp.dll" />
<Content Include="bin\Debug\RestSharp.xml" />
<Content Include="Icon.ico" />
</ItemGroup>
<ItemGroup>
<Folder Include="bin\Debug\Logs\" />
<Folder Include="bin\Release\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>
\ No newline at end of file \ No newline at end of file
...@@ -43,8 +43,8 @@ ...@@ -43,8 +43,8 @@
<add key="AGV_BATTERY_MIN" value="60"/> <add key="AGV_BATTERY_MIN" value="60"/>
<add key="4D_Line" value="D1,D2,D3,D4,D5,D6,D8,D9,D10,D11,D12,D14,D15,D16"/> <add key="4D_Line" value="D1,D2,D3,D4,D5,D6,D8,D9,D10,D11,D12,D14,D15,D16"/>
<add key="4C_Line" value="C1,C2,C3,C4,C5,C6,C7,C8,C9,C10"/> <add key="4C_Line" value="C1,C2,C3,C4,C5,C6,C7,C8,C9,C10"/>
<add key="Store" value="wash,storage"/> <add key="Store" value="4cwash,4dwash,storage"/>
<add key="4D_AGV" value="25"/> <add key="4D_AGV" value="6"/>
<add key="4C_AGV" value="32"/> <add key="4C_AGV" value="32"/>
</appSettings> </appSettings>
</configuration> </configuration>
\ No newline at end of file \ No newline at end of file
...@@ -10,6 +10,7 @@ namespace AGVControl_Steel ...@@ -10,6 +10,7 @@ namespace AGVControl_Steel
/// </summary> /// </summary>
public static class Common public static class Common
{ {
public static System.Windows.Forms.TextBox txtLog;
public static List<AgvInfo> agvInfos; public static List<AgvInfo> agvInfos;
public static Dictionary<string, string> agvMissions; public static Dictionary<string, string> agvMissions;
public static MiR_API mir; public static MiR_API mir;
...@@ -23,6 +24,8 @@ namespace AGVControl_Steel ...@@ -23,6 +24,8 @@ namespace AGVControl_Steel
public static string[] STORE_NAME; public static string[] STORE_NAME;
public const string WORKSHOP_4D = "4D"; public const string WORKSHOP_4D = "4D";
public const string WORKSHOP_4C = "4C"; public const string WORKSHOP_4C = "4C";
public const string MISSION_TAKE_OFF_SHELF = "Placeqisdashelf";
public const string MISSION_TAKE_ON_SHELF = "Pickupqisdashelf";
public const string MISSION_MOVE_4C_4D = "MoveDoor-4C-4D"; public const string MISSION_MOVE_4C_4D = "MoveDoor-4C-4D";
public const string MISSION_MOVE_4D_4C = "MoveDoor-4D-4C"; public const string MISSION_MOVE_4D_4C = "MoveDoor-4D-4C";
public const string MISSION_CHARGE_4D = "AutoCharge4D"; public const string MISSION_CHARGE_4D = "AutoCharge4D";
...@@ -32,7 +35,6 @@ namespace AGVControl_Steel ...@@ -32,7 +35,6 @@ namespace AGVControl_Steel
public const string MISSION_MOVE_WASH_4D = "Move4DWash"; public const string MISSION_MOVE_WASH_4D = "Move4DWash";
public const string MISSION_MOVE_WASH_4C = "Move4CWash"; public const string MISSION_MOVE_WASH_4C = "Move4CWash";
public const string MISSION_MOVE_STORAGE = "MoveStorage"; public const string MISSION_MOVE_STORAGE = "MoveStorage";
public const string MISSION_MOVE_D1 = "MoveSteelD1"; public const string MISSION_MOVE_D1 = "MoveSteelD1";
public const string MISSION_MOVE_D2 = "MoveSteelD2"; public const string MISSION_MOVE_D2 = "MoveSteelD2";
public const string MISSION_MOVE_D3 = "MoveSteelD3"; public const string MISSION_MOVE_D3 = "MoveSteelD3";
......
...@@ -32,7 +32,7 @@ namespace BLL ...@@ -32,7 +32,7 @@ namespace BLL
/// </summary> /// </summary>
public void Start() public void Start()
{ {
timerCall = new Timer(CallProcess, null, 0, 3000); timerCall = new Timer(CallProcess, null, 0, 2000);
} }
/// <summary> /// <summary>
...@@ -84,7 +84,7 @@ namespace BLL ...@@ -84,7 +84,7 @@ namespace BLL
{ {
if (!info.IsOnline) return; if (!info.IsOnline) return;
bool rtn = Common.mir.Get_State(info.IP, info.Authorization, out int stateID, out string stateText, out int battery, out string missionText, out System.Drawing.PointF position); bool rtn = Common.mir.Get_State(info.IP, info.Authorization, out int stateID, out string stateText, out int battery, out string missionText, out System.Drawing.PointF position);
Common.log.Debug(string.Format("{1} GetAgvState[return={0}] stateID={2}, stateText={3}, battery={4}, missionText={5}, position={6}", rtn, info.FullName, stateID, stateText, battery, missionText, position)); //Common.log.Debug(string.Format("{1} GetAgvState[return={0}] stateID={2}, stateText={3}, battery={4}, missionText={5}, position={6}", rtn, info.FullName, stateID, stateText, battery, missionText, position));
if (rtn) if (rtn)
{ {
...@@ -97,6 +97,11 @@ namespace BLL ...@@ -97,6 +97,11 @@ namespace BLL
string ip = info.IP; string ip = info.IP;
int idx = Common.agvInfos.FindIndex(s => s.IP == ip); int idx = Common.agvInfos.FindIndex(s => s.IP == ip);
if (idx > -1) AgvChanged?.Invoke(idx); if (idx > -1) AgvChanged?.Invoke(idx);
if (info.StateID == 4) //Pause
{
Common.mir.State_Ready(info.IP, info.Authorization);
}
} }
} }
...@@ -119,7 +124,7 @@ namespace BLL ...@@ -119,7 +124,7 @@ namespace BLL
rtn = Common.mir.Get_IO_Modules(info.IP, info.Authorization, out string[] guid); rtn = Common.mir.Get_IO_Modules(info.IP, info.Authorization, out string[] guid);
if (rtn) info.IOGuid = guid[0]; if (rtn) info.IOGuid = guid[0];
} }
Common.log.Debug(string.Format("{0}[{1}] 在线", info.Name, info.IP)); //Common.log.Debug(string.Format("{0}[{1}] 在线", info.Name, info.IP));
} }
else else
{ {
......
...@@ -34,33 +34,33 @@ namespace BLL ...@@ -34,33 +34,33 @@ namespace BLL
public void OldSteelWorkAdd(string from) public void OldSteelWorkAdd(string place)
{ {
int index = oldSteelWork.FindIndex(sw => sw.From == from); int index = oldSteelWork.FindIndex(sw => sw.Place == place);
if (index == -1) if (index == -1)
{ {
SteelWork sw = new SteelWork() { From = from }; SteelWork sw = new SteelWork() { Place = place };
oldSteelWork.Add(sw); oldSteelWork.Add(sw);
string[] content = new string[oldSteelWork.Count]; string[] content = new string[oldSteelWork.Count];
for (int i = 0; i < content.Length; i++) for (int i = 0; i < content.Length; i++)
content[i] = oldSteelWork[i].From + "," + oldSteelWork[i].DateTime.ToString(); content[i] = oldSteelWork[i].Place + "," + oldSteelWork[i].DateTime.ToString();
System.IO.File.WriteAllLines(Common.PATH_OLD_STEEL_WORK, content, System.Text.Encoding.UTF8); System.IO.File.WriteAllLines(Common.PATH_OLD_STEEL_WORK, content, System.Text.Encoding.UTF8);
} }
Common.log.Debug("OldSteelWorkAdd(" + from + ") 添加旧钢板任务,保存到" + Common.PATH_OLD_STEEL_WORK); Common.log.Debug("添加(" + place + ")旧钢板任务,保存到" + Common.PATH_OLD_STEEL_WORK);
} }
public void OldSteelWorkDel(string from) public void OldSteelWorkDel(string place)
{ {
int index = oldSteelWork.FindIndex(sw => sw.From == from); int index = oldSteelWork.FindIndex(sw => sw.Place == place);
if (index > -1) if (index > -1)
{ {
oldSteelWork.RemoveAt(index); oldSteelWork.RemoveAt(index);
string[] content = new string[oldSteelWork.Count]; string[] content = new string[oldSteelWork.Count];
for (int i = 0; i < content.Length; i++) for (int i = 0; i < content.Length; i++)
content[i] = oldSteelWork[i].From + "," + oldSteelWork[i].DateTime.ToString(); content[i] = oldSteelWork[i].Place + "," + oldSteelWork[i].DateTime.ToString();
System.IO.File.WriteAllLines(Common.PATH_OLD_STEEL_WORK, content, System.Text.Encoding.UTF8); System.IO.File.WriteAllLines(Common.PATH_OLD_STEEL_WORK, content, System.Text.Encoding.UTF8);
} }
Common.log.Debug("OldSteelWorkDel(" + from + ") 旧钢板任务,保存到" + Common.PATH_OLD_STEEL_WORK); Common.log.Debug("删除(" + place + ")旧钢板任务,保存到" + Common.PATH_OLD_STEEL_WORK);
} }
public void OldSteelWorkLoad() public void OldSteelWorkLoad()
...@@ -71,20 +71,18 @@ namespace BLL ...@@ -71,20 +71,18 @@ namespace BLL
for (int i = 0; i < lines.Length; i++) for (int i = 0; i < lines.Length; i++)
{ {
string[] arr = lines[i].Split(','); string[] arr = lines[i].Split(',');
SteelWork sw = new SteelWork() { From = arr[0], DateTime = Convert.ToDateTime(arr[1]) }; SteelWork sw = new SteelWork() { Place = arr[0], DateTime = Convert.ToDateTime(arr[1]) };
oldSteelWork.Add(sw); oldSteelWork.Add(sw);
} }
Common.log.Debug("OldSteelWorkLoad() 旧钢板任务加载,来自" + Common.PATH_OLD_STEEL_WORK); Common.log.Debug("加载旧钢板任务,来自" + Common.PATH_OLD_STEEL_WORK);
} }
public bool FindOldSteelWork(string lineName) public bool FindOldSteelWork(string place)
{ {
int idx = oldSteelWork.FindIndex(s => s.From == lineName); int idx = oldSteelWork.FindIndex(s => s.Place == place);
return idx > -1; return idx > -1;
} }
public void NewSteelWorkAdd(string from, string place) public void NewSteelWorkAdd(string from, string place)
{ {
int index = newSteelWork.FindIndex(sw => sw.From == from && sw.Place == place); int index = newSteelWork.FindIndex(sw => sw.From == from && sw.Place == place);
...@@ -97,8 +95,22 @@ namespace BLL ...@@ -97,8 +95,22 @@ namespace BLL
content[i] = newSteelWork[i].From + "," + newSteelWork[i].Place + "," + newSteelWork[i].DateTime.ToString(); content[i] = newSteelWork[i].From + "," + newSteelWork[i].Place + "," + newSteelWork[i].DateTime.ToString();
System.IO.File.WriteAllLines(Common.PATH_NEW_STEEL_WORK, content, System.Text.Encoding.UTF8); System.IO.File.WriteAllLines(Common.PATH_NEW_STEEL_WORK, content, System.Text.Encoding.UTF8);
} }
Common.log.Debug("NewSteelWorkAdd(" + from + "," + place + ") 添加新钢板任务,保存到" + Common.PATH_NEW_STEEL_WORK); Common.log.Debug("添加(" + from + "," + place + ")新钢板任务,保存到" + Common.PATH_NEW_STEEL_WORK);
}
public void NewSteelWorkDel(string from, string place)
{
int index = newSteelWork.FindIndex(sw => sw.From == from && sw.Place == place);
if (index > -1)
{
newSteelWork.RemoveAt(index);
string[] content = new string[newSteelWork.Count];
for (int i = 0; i < content.Length; i++)
content[i] = newSteelWork[i].From + "," + newSteelWork[i].Place + "," + newSteelWork[i].DateTime.ToString();
System.IO.File.WriteAllLines(Common.PATH_NEW_STEEL_WORK, content, System.Text.Encoding.UTF8);
}
Common.log.Debug("删除(" + from + "," + place + ")新钢板任务,保存到" + Common.PATH_NEW_STEEL_WORK);
} }
public void NewSteelWorkLoad() public void NewSteelWorkLoad()
...@@ -112,9 +124,14 @@ namespace BLL ...@@ -112,9 +124,14 @@ namespace BLL
SteelWork sw = new SteelWork() { From = arr[0], Place = arr[1], DateTime = Convert.ToDateTime(arr[2]) }; SteelWork sw = new SteelWork() { From = arr[0], Place = arr[1], DateTime = Convert.ToDateTime(arr[2]) };
newSteelWork.Add(sw); newSteelWork.Add(sw);
} }
Common.log.Debug("NewSteelWorkLoad() 新钢板任务加载,来自" + Common.PATH_NEW_STEEL_WORK); Common.log.Debug("加载新钢板任务,来自" + Common.PATH_NEW_STEEL_WORK);
} }
public bool FindNewSteelWork(string from, string place)
{
int idx = newSteelWork.FindIndex(s => s.From == from && s.Place == place);
return idx > -1;
}
...@@ -122,20 +139,26 @@ namespace BLL ...@@ -122,20 +139,26 @@ namespace BLL
public Job GetSteelJob(AgvInfo info)
public Job GetSteelJob()
{
if (oldSteelWork.Count > 0)
{ {
return new TakeOldJob(); string name = info.Workshop.Substring(1, 1);
} int index = oldSteelWork.FindIndex(s => s.Place.StartsWith(name));
//else if (newSteelWork.Count > 0)
//{ //TEST
// return new WashPointJob(); string s = "";
// return new StorageJob(); for (int i = 0; i < oldSteelWork.Count; i++)
//} s += oldSteelWork[i].Place + ";";
else Common.log.Debug("name=" + name + " oldSteelWork=" + s);
if (index == -1)
return null; return null;
else
return new TakeOldJob();
} }
} }
......
...@@ -12,12 +12,12 @@ namespace Webs ...@@ -12,12 +12,12 @@ namespace Webs
internal interface IWeb internal interface IWeb
{ {
[OperationContract] [OperationContract]
[WebGet(UriTemplate = "StealAgv/takeOld?from={from}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] [WebGet(UriTemplate = "StealAgv/takeOld?place={place}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result TakeOldGet(string from); Result TakeOldGet(string place);
[OperationContract] [OperationContract]
[WebGet(UriTemplate = "StealAgv/sendNew?from={from}&placeList={list}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] [WebGet(UriTemplate = "StealAgv/sendNew?from={from}&place={place}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result SendNewGet(string from, string list); Result SendNewGet(string from, string place);
[OperationContract] [OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "StealAgv/takeOld", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] [WebInvoke(Method = "POST", UriTemplate = "StealAgv/takeOld", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
...@@ -47,16 +47,16 @@ namespace Webs ...@@ -47,16 +47,16 @@ namespace Webs
{ {
} }
public Result TakeOldGet(string from) public Result TakeOldGet(string place)
{ {
Common.log.Info("takeOld[GET] from=" + from); Common.log.Info("takeOld[GET] place=" + place);
return TakeOld(from); return TakeOld(place);
} }
public Result SendNewGet(string from, string list) public Result SendNewGet(string from, string place)
{ {
Common.log.Info("sendNew[GET] from=" + from + " placeList=" + list); Common.log.Info("sendNew[GET] from=" + from + " place=" + place);
return SendNew(from, list); return SendNew(from, place);
} }
public Result TakeOldPost(Stream info) public Result TakeOldPost(Stream info)
...@@ -64,7 +64,7 @@ namespace Webs ...@@ -64,7 +64,7 @@ namespace Webs
StreamReader sr = new StreamReader(info); StreamReader sr = new StreamReader(info);
string s = sr.ReadToEnd(); string s = sr.ReadToEnd();
Common.log.Info("takeOld[POST] " + s); Common.log.Info("takeOld[POST] " + s);
s = s.ToLower().Replace("from=", ""); s = s.ToLower().Replace("place=", "");
return TakeOld(s); return TakeOld(s);
} }
...@@ -77,69 +77,98 @@ namespace Webs ...@@ -77,69 +77,98 @@ namespace Webs
s = s.ToLower(); s = s.ToLower();
string[] arr = s.Split('&'); string[] arr = s.Split('&');
arr[0] = arr[0].Replace("from=", ""); arr[0] = arr[0].Replace("from=", "");
arr[1] = arr[1].Replace("placelist=", ""); arr[1] = arr[1].Replace("place=", "");
return SendNew(arr[0], arr[1]); return SendNew(arr[0], arr[1]);
} }
private Result TakeOld(string from) private Result TakeOld(string place)
{ {
Result res; Result res;
from = from.ToUpper();
int index1 = Array.FindIndex(Common.LINE_NAME_4D, match => match == from); try
int index2 = Array.FindIndex(Common.LINE_NAME_4C, match => match == from); {
place = place.ToUpper();
int index1 = Array.FindIndex(Common.LINE_NAME_4D, s => s == place);
int index2 = Array.FindIndex(Common.LINE_NAME_4C, s => s == place);
if (index1 == -1 && index2 == -1) if (index1 == -1 && index2 == -1)
{ {
res = new Result { Code = -1, Msg = "Not find " + from }; res = new Result { Code = -2, Msg = "Not find place=" + place };
} }
else else
{ {
Common.steelManage.OldSteelWorkAdd(from); Common.steelManage.OldSteelWorkAdd(place);
res = new Result { Code = 0, Msg = "OK" }; res = new Result { Code = 0, Msg = "OK" };
} }
}
catch (Exception ex)
{
res = new Result { Code = -100, Msg = ex.Message };
}
return res; return res;
} }
private Result SendNew(string from, string list) private Result SendNew(string from, string place)
{
Result res = new Result();
try
{ {
from = from.ToLower(); from = from.ToLower();
int index = Array.FindIndex(Common.STORE_NAME, match => match == from); int index = Array.FindIndex(Common.STORE_NAME, s => s == from);
if (index == -1) if (index == -1)
{ {
return new Result { Code = -1, Msg = "Not find " + from }; res = new Result { Code = -1, Msg = "Not find from=" + from };
} }
else else
{ {
list = list.ToUpper(); place = place.ToUpper();
if (list == "EMPTYSHELFIN") if (place == "EMPTYSHELFIN")
{ {
Common.steelManage.NewSteelWorkAdd(from, list); Common.steelManage.NewSteelWorkAdd(from, place);
return new Result { Code = 0, Msg = "OK" }; res = new Result { Code = 0, Msg = "OK" };
} }
else if (list == "EMPTYSHELFLEAVE") else if (place == "EMPTYSHELFLEAVE")
{ {
Common.steelManage.NewSteelWorkAdd(from, list); Common.steelManage.NewSteelWorkAdd(from, place);
return new Result { Code = 0, Msg = "OK" }; res = new Result { Code = 0, Msg = "OK" };
} }
else else
{ {
string[] arr = list.Split(','); bool find = true;
string[] arr = place.Split(',');
for (int i = 0; i < arr.Length; i++) for (int i = 0; i < arr.Length; i++)
{ {
int index1 = Array.FindIndex(Common.LINE_NAME_4D, match => match == arr[i]); int index1 = Array.FindIndex(Common.LINE_NAME_4D, s => s == arr[i]);
int index2 = Array.FindIndex(Common.LINE_NAME_4C, match => match == arr[i]); int index2 = Array.FindIndex(Common.LINE_NAME_4C, s => s == arr[i]);
if (index1 == -1 && index2 == -1) if (index1 == -1 && index2 == -1)
return new Result { Code = -2, Msg = "Not find " + arr[i] }; {
res = new Result { Code = -2, Msg = "Not find place=" + arr[i] };
find = false;
break;
}
else else
{
Common.steelManage.NewSteelWorkAdd(from, arr[i]); Common.steelManage.NewSteelWorkAdd(from, arr[i]);
find = true;
}
}
if (find)
res = new Result { Code = 0, Msg = "OK" };
}
} }
return new Result { Code = 0, Msg = "OK" };
} }
catch (Exception ex)
{
res = new Result { Code = -100, Msg = ex.Message };
} }
return res;
} }
} }
......
此文件类型无法预览
...@@ -27,60 +27,69 @@ namespace Model ...@@ -27,60 +27,69 @@ namespace Model
{ {
if (chargeStep.IsEqual(ChargeStep.None)) if (chargeStep.IsEqual(ChargeStep.None))
{ {
None(info); if (info.IsSelfWorkshop())
MoveCharge(info);
else
MoveDoor(info);
} }
else if (chargeStep.IsEqual(ChargeStep.WaitWorkshopDoor)) else if (chargeStep.IsEqual(ChargeStep.WaitWorkshopDoor))
{ {
WaitWorkshopDoor(info); rtn = Common.mir.Get_MissionState_Fleet(info.Authorization, id, out string state);
if (rtn)
{
if (state == MissionState.Done.ToString())
MoveCharge(info);
else if (state == MissionState.Aborted.ToString())
chargeStep.Msg = info.FullName + "任务状态" + MissionState.Aborted.ToString();
}
else
{
chargeStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败";
}
} }
else if (chargeStep.IsEqual(ChargeStep.WaitChargeStation)) else if (chargeStep.IsEqual(ChargeStep.WaitChargeStation))
{ {
WaitChargeStation(info); rtn = Common.mir.Get_Register(info.IP, info.Authorization, 20, out int value);
if (rtn)
{
if (value == 1)
{
chargeStep.Msg = info.FullName + "到达充电位,准备充电";
chargeStep.NextStep(ChargeStep.Charging);
}
}
else
{
chargeStep.Msg = info.FullName + "获取PLC20失败";
}
} }
else if (chargeStep.IsEqual(ChargeStep.Charging)) else if (chargeStep.IsEqual(ChargeStep.Charging))
{ {
if (info.Battery == info.BatteryMax) if (info.Battery == info.BatteryMax)
{ {
chargeStep.NextStep(ChargeStep.End);
chargeStep.Msg = info.FullName + "电量达到" + info.BatteryMax + ",充电工作结束"; chargeStep.Msg = info.FullName + "电量达到" + info.BatteryMax + ",充电工作结束";
chargeStep.NextStep(ChargeStep.End);
} }
else if (info.Battery > info.BatteryMin) else if (info.Battery > info.BatteryMin)
{ {
Job job = Common.steelManage.GetSteelJob(); Job job = Common.steelManage.GetSteelJob(info);
if (job != null) return job; if (job != null)
{
Common.mir.Del_Mission(info.IP, info.Authorization);
return job;
}
} }
} }
else if (chargeStep.IsEqual(ChargeStep.End)) else if (chargeStep.IsEqual(ChargeStep.End))
{ {
Common.mir.Del_Mission(info.IP, info.Authorization);
Common.log.Info(info.FullName + "ChargeJob结束,切换StandbyJob"); Common.log.Info(info.FullName + "ChargeJob结束,切换StandbyJob");
return new StandbyJob(); return new StandbyJob();
} }
return this; return this;
} }
private void MoveDoor(AgvInfo info)
private void None(AgvInfo info)
{
if (info.IsSelfWorkshop())
{
if (info.Workshop == Common.WORKSHOP_4D)
mission = Common.MISSION_CHARGE_4D;
else if (info.Workshop == Common.WORKSHOP_4C)
mission = Common.MISSION_CHARGE_4C;
rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
if (rtn)
{
chargeStep.NextStep(ChargeStep.WaitChargeStation);
chargeStep.Msg = info.FullName + "在" + info.Workshop + "车间,去充电位";
}
else
{
chargeStep.Msg = info.FullName + "发送" + mission + "任务失败";
}
}
else
{ {
if (info.Workshop == Common.WORKSHOP_4D) if (info.Workshop == Common.WORKSHOP_4D)
mission = Common.MISSION_MOVE_4C_4D; mission = Common.MISSION_MOVE_4C_4D;
...@@ -90,22 +99,16 @@ namespace Model ...@@ -90,22 +99,16 @@ namespace Model
rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id); rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
if (rtn) if (rtn)
{ {
chargeStep.NextStep(ChargeStep.WaitWorkshopDoor);
chargeStep.Msg = info.FullName + "在" + info.Workshop + "车间,先过车间门"; chargeStep.Msg = info.FullName + "在" + info.Workshop + "车间,先过车间门";
chargeStep.NextStep(ChargeStep.WaitWorkshopDoor);
} }
else else
{ {
chargeStep.Msg = info.FullName + "发送" + mission + "任务失败"; chargeStep.Msg = info.FullName + "发送" + mission + "任务失败";
} }
} }
}
private void WaitWorkshopDoor(AgvInfo info) private void MoveCharge(AgvInfo info)
{
rtn = Common.mir.Get_MissionState_Fleet(info.Authorization, id, out string state);
if (rtn)
{
if (state == MissionState.Done.ToString())
{ {
if (info.Workshop == Common.WORKSHOP_4D) if (info.Workshop == Common.WORKSHOP_4D)
mission = Common.MISSION_CHARGE_4D; mission = Common.MISSION_CHARGE_4D;
...@@ -115,44 +118,14 @@ namespace Model ...@@ -115,44 +118,14 @@ namespace Model
rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id); rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
if (rtn) if (rtn)
{ {
chargeStep.NextStep(ChargeStep.WaitChargeStation);
chargeStep.Msg = info.FullName + "在" + info.Workshop + "车间,去充电位"; chargeStep.Msg = info.FullName + "在" + info.Workshop + "车间,去充电位";
chargeStep.NextStep(ChargeStep.WaitChargeStation);
} }
else else
{ {
chargeStep.Msg = info.FullName + "发送" + mission + "任务失败"; chargeStep.Msg = info.FullName + "发送" + mission + "任务失败";
} }
} }
else if (state == MissionState.Aborted.ToString())
{
chargeStep.Msg = info.FullName + "任务状态" + MissionState.Aborted.ToString();
}
}
else
{
chargeStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败";
}
}
private void WaitChargeStation(AgvInfo info)
{
rtn = Common.mir.Get_Register(info.IP, info.Authorization, 20, out int value);
if (rtn)
{
if (value == 1)
{
chargeStep.NextStep(ChargeStep.Charging);
chargeStep.Msg = info.FullName + "到达充电位,准备充电";
}
}
else
{
chargeStep.Msg = info.FullName + "获取PLC20失败";
}
}
/// <summary> /// <summary>
......
...@@ -16,11 +16,25 @@ namespace Model ...@@ -16,11 +16,25 @@ namespace Model
{ {
if (standbyStep.IsEqual(StandbyStep.None)) if (standbyStep.IsEqual(StandbyStep.None))
{ {
None(info); if (info.IsSelfWorkshop())
MoveStandby(info);
else
MoveDoor(info);
} }
else if (standbyStep.IsEqual(StandbyStep.WaitWorkshopDoor)) else if (standbyStep.IsEqual(StandbyStep.WaitWorkshopDoor))
{ {
WaitWorkshopDoor(info); rtn = Common.mir.Get_MissionState_Fleet(info.Authorization, id, out string state);
if (rtn)
{
if (state == MissionState.Done.ToString())
MoveStandby(info);
else if (state == MissionState.Aborted.ToString())
standbyStep.Msg = info.FullName + "任务状态" + MissionState.Aborted.ToString();
}
else
{
standbyStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败";
}
} }
else if (standbyStep.IsEqual(StandbyStep.WaitStandby)) else if (standbyStep.IsEqual(StandbyStep.WaitStandby))
{ {
...@@ -29,8 +43,8 @@ namespace Model ...@@ -29,8 +43,8 @@ namespace Model
{ {
if (state == MissionState.Done.ToString()) if (state == MissionState.Done.ToString())
{ {
standbyStep.NextStep(StandbyStep.End);
standbyStep.Msg = info.FullName + "已在待机位"; standbyStep.Msg = info.FullName + "已在待机位";
standbyStep.NextStep(StandbyStep.End);
} }
else if (state == MissionState.Aborted.ToString()) else if (state == MissionState.Aborted.ToString())
{ {
...@@ -50,38 +64,14 @@ namespace Model ...@@ -50,38 +64,14 @@ namespace Model
} }
else else
{ {
Job job = Common.steelManage.GetSteelJob(); Job job = Common.steelManage.GetSteelJob(info);
if (job != null) return job; if (job != null) return job;
} }
} }
return this; return this;
} }
private void MoveDoor(AgvInfo info)
private void None(AgvInfo info)
{
if (info.IsSelfWorkshop())
{
if (info.Workshop == Common.WORKSHOP_4D)
mission = Common.MISSION_STANDBY_4D;
else if (info.Workshop == Common.WORKSHOP_4C)
mission = Common.MISSION_STANDBY_4C;
rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
if (rtn)
{
standbyStep.NextStep(StandbyStep.WaitStandby);
standbyStep.Msg = info.FullName + "回待机位";
}
else
{
standbyStep.Msg = info.FullName + "发送" + Common.MISSION_STANDBY_4D + "任务失败";
}
}
else
{ {
if (info.Workshop == Common.WORKSHOP_4D) if (info.Workshop == Common.WORKSHOP_4D)
mission = Common.MISSION_MOVE_4C_4D; mission = Common.MISSION_MOVE_4C_4D;
...@@ -91,22 +81,16 @@ namespace Model ...@@ -91,22 +81,16 @@ namespace Model
rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id); rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
if (rtn) if (rtn)
{ {
standbyStep.NextStep(StandbyStep.WaitWorkshopDoor);
standbyStep.Msg = info.FullName + "在" + info.Workshop + "车间,先过车间门"; standbyStep.Msg = info.FullName + "在" + info.Workshop + "车间,先过车间门";
standbyStep.NextStep(StandbyStep.WaitWorkshopDoor);
} }
else else
{ {
standbyStep.Msg = info.FullName + "发送" + mission + "任务失败"; standbyStep.Msg = info.FullName + "发送" + mission + "任务失败";
} }
} }
}
private void WaitWorkshopDoor(AgvInfo info) private void MoveStandby(AgvInfo info)
{
rtn = Common.mir.Get_MissionState_Fleet(info.Authorization, id, out string state);
if (rtn)
{
if (state == MissionState.Done.ToString())
{ {
if (info.Workshop == Common.WORKSHOP_4D) if (info.Workshop == Common.WORKSHOP_4D)
mission = Common.MISSION_STANDBY_4D; mission = Common.MISSION_STANDBY_4D;
...@@ -116,26 +100,15 @@ namespace Model ...@@ -116,26 +100,15 @@ namespace Model
rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id); rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
if (rtn) if (rtn)
{ {
standbyStep.Msg = info.FullName + "回待机位" + mission;
standbyStep.NextStep(StandbyStep.WaitStandby); standbyStep.NextStep(StandbyStep.WaitStandby);
standbyStep.Msg = info.FullName + "回待机位";
}
else
{
standbyStep.Msg = info.FullName + "发送" + Common.MISSION_STANDBY_4D + "任务失败";
}
}
else if (state == MissionState.Aborted.ToString())
{
standbyStep.Msg = info.FullName + "任务状态" + MissionState.Aborted.ToString();
}
} }
else else
{ {
standbyStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败"; standbyStep.Msg = info.FullName + "发送" + mission + "任务失败";
} }
} }
private enum StandbyStep private enum StandbyStep
{ {
None, None,
......
...@@ -5,6 +5,7 @@ namespace Model ...@@ -5,6 +5,7 @@ namespace Model
public class TakeOldJob : Job public class TakeOldJob : Job
{ {
private string id; private string id;
private string name = null;
private JobStep<TakeOldStep> takeOldStep; private JobStep<TakeOldStep> takeOldStep;
public TakeOldJob() public TakeOldJob()
...@@ -23,13 +24,17 @@ namespace Model ...@@ -23,13 +24,17 @@ namespace Model
{ {
if (info.IsSteelFull()) if (info.IsSteelFull())
{ {
return new WashPointJob(); takeOldStep.Msg = info.FullName + "钢板已满";
takeOldStep.NextStep(TakeOldStep.GoWashPoint);
} }
else else
{ {
rtn = FindLine(info); rtn = FindLine(info);
if (!rtn) if (!rtn)
return new WashPointJob(); {
takeOldStep.Msg = info.FullName + "没有后续旧钢板任务";
takeOldStep.NextStep(TakeOldStep.GoWashPoint);
}
} }
} }
else if (takeOldStep.IsEqual(TakeOldStep.MoveLine)) else if (takeOldStep.IsEqual(TakeOldStep.MoveLine))
...@@ -39,8 +44,9 @@ namespace Model ...@@ -39,8 +44,9 @@ namespace Model
{ {
if (state == MissionState.Done.ToString()) if (state == MissionState.Done.ToString())
{ {
takeOldStep.Msg = info.FullName + "完成" + mission;
takeOldStep.NextStep(TakeOldStep.FindLine); takeOldStep.NextStep(TakeOldStep.FindLine);
takeOldStep.Msg = info.FullName + "当前任务完成"; Common.steelManage.OldSteelWorkDel(name);
} }
else if (state == MissionState.Aborted.ToString()) else if (state == MissionState.Aborted.ToString())
{ {
...@@ -52,46 +58,92 @@ namespace Model ...@@ -52,46 +58,92 @@ namespace Model
takeOldStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败"; takeOldStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败";
} }
} }
else if (takeOldStep.IsEqual(TakeOldStep.GoWashPoint))
{
if (info.Workshop == Common.WORKSHOP_4D)
mission = Common.MISSION_MOVE_WASH_4D;
else if (info.Workshop == Common.WORKSHOP_4C)
mission = Common.MISSION_MOVE_WASH_4C;
rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
if (rtn)
{
takeOldStep.Msg = info.FullName + "去" + info.Workshop + "清洗点";
takeOldStep.NextStep(TakeOldStep.WaitWashPoint);
}
else
{
takeOldStep.Msg = info.FullName + "发送" + mission + "任务失败";
}
}
else if (takeOldStep.IsEqual(TakeOldStep.WaitWashPoint))
{
rtn = Common.mir.Get_MissionState_Fleet(info.Authorization, id, out string state);
if (rtn)
{
if (state == MissionState.Done.ToString())
{
takeOldStep.Msg = info.FullName + "已在清洗点";
takeOldStep.NextStep(TakeOldStep.End);
}
else if (state == MissionState.Aborted.ToString())
{
takeOldStep.Msg = info.FullName + "任务状态" + MissionState.Aborted.ToString();
}
}
else
{
takeOldStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败";
}
}
else if (takeOldStep.IsEqual(TakeOldStep.End))
{
return new StandbyJob();
}
return this; return this;
} }
private bool FindLine(AgvInfo info) private bool FindLine(AgvInfo info)
{ {
string name = null; bool find = false;
if (info.Workshop == Common.WORKSHOP_4D) if (info.Workshop == Common.WORKSHOP_4D)
{ {
for (int i = 0; i < Common.LINE_NAME_4D.Length; i++) for (int i = 0; i < Common.LINE_NAME_4D.Length; i++)
{ {
name = Common.LINE_NAME_4D[i]; name = Common.LINE_NAME_4D[i];
if (Common.steelManage.FindOldSteelWork(name)) if (Common.steelManage.FindOldSteelWork(name))
{
find = true;
break; break;
} }
} }
}
else if (info.Workshop == Common.WORKSHOP_4C) else if (info.Workshop == Common.WORKSHOP_4C)
{ {
for (int i = 0; i < Common.LINE_NAME_4C.Length; i++) for (int i = 0; i < Common.LINE_NAME_4C.Length; i++)
{ {
name = Common.LINE_NAME_4C[i]; name = Common.LINE_NAME_4C[i];
if (Common.steelManage.FindOldSteelWork(name)) if (Common.steelManage.FindOldSteelWork(name))
{
find = true;
break; break;
} }
} }
if (name == null)
{
return false;
} }
else
if (find)
{ {
info.Place = name; info.Place = name;
name = "MoveSteel" + name; mission = "MoveSteel" + name;
Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, name, out id); Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
takeOldStep.Msg = info.FullName + "发送任务" + mission;
takeOldStep.NextStep(TakeOldStep.MoveLine); takeOldStep.NextStep(TakeOldStep.MoveLine);
takeOldStep.Msg = info.FullName + "发送任务" + name;
info.SteelCountAdd(); info.SteelCountAdd();
return true;
} }
return find;
} }
private enum TakeOldStep private enum TakeOldStep
...@@ -99,7 +151,8 @@ namespace Model ...@@ -99,7 +151,8 @@ namespace Model
None, None,
FindLine, FindLine,
MoveLine, MoveLine,
MoveWash, GoWashPoint,
WaitWashPoint,
End End
} }
} }
......
...@@ -16,42 +16,42 @@ namespace Model ...@@ -16,42 +16,42 @@ namespace Model
{ {
if (washPointStep.IsEqual(WashPointStep.None)) if (washPointStep.IsEqual(WashPointStep.None))
{ {
if (info.Workshop == Common.WORKSHOP_4D) //if (info.Workshop == Common.WORKSHOP_4D)
mission = Common.MISSION_MOVE_WASH_4D; // mission = Common.MISSION_MOVE_WASH_4D;
else if (info.Workshop == Common.WORKSHOP_4C) //else if (info.Workshop == Common.WORKSHOP_4C)
mission = Common.MISSION_MOVE_WASH_4C; // mission = Common.MISSION_MOVE_WASH_4C;
rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id); //rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
if (rtn) //if (rtn)
{ //{
washPointStep.NextStep(WashPointStep.MoveWash); // washPointStep.Msg = info.FullName + "去"+ info.Workshop + "清洗点";
washPointStep.Msg = info.FullName + "去"+ info.Workshop + "清洗点"; // washPointStep.NextStep(WashPointStep.MoveWash);
} //}
else //else
{ //{
washPointStep.Msg = info.FullName + "发送" + mission + "任务失败"; // washPointStep.Msg = info.FullName + "发送" + mission + "任务失败";
} //}
} }
else if (washPointStep.IsEqual(WashPointStep.MoveWash)) else if (washPointStep.IsEqual(WashPointStep.MoveWash))
{ {
rtn = Common.mir.Get_MissionState_Fleet(info.Authorization, id, out string state); //rtn = Common.mir.Get_MissionState_Fleet(info.Authorization, id, out string state);
if (rtn) //if (rtn)
{ //{
if (state == MissionState.Done.ToString()) // if (state == MissionState.Done.ToString())
{ // {
washPointStep.NextStep(WashPointStep.End); // washPointStep.Msg = info.FullName + "已在清洗点";
washPointStep.Msg = info.FullName + "已在清洗点"; // washPointStep.NextStep(WashPointStep.End);
} // }
else if (state == MissionState.Aborted.ToString()) // else if (state == MissionState.Aborted.ToString())
{ // {
washPointStep.Msg = info.FullName + "任务状态" + MissionState.Aborted.ToString(); // washPointStep.Msg = info.FullName + "任务状态" + MissionState.Aborted.ToString();
} // }
} //}
else //else
{ //{
washPointStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败"; // washPointStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败";
} //}
} }
else if (washPointStep.IsEqual(WashPointStep.End)) else if (washPointStep.IsEqual(WashPointStep.End))
{ {
......
using System; using System;
using AGVControl_Steel;
namespace Model namespace Model
{ {
...@@ -72,7 +73,9 @@ namespace Model ...@@ -72,7 +73,9 @@ namespace Model
//与上一个消息不一样才打印 //与上一个消息不一样才打印
if (!value.Equals(_msg)) if (!value.Equals(_msg))
{ {
AGVControl_Steel.Common.log.Info(_step.ToString() + ":" + value); Common.log.Info(_step.ToString() + ":" + value);
Common.txtLog.AppendText(value + "\r\n");
Common.txtLog.ScrollToCaret();
} }
} }
_msg = value; _msg = value;
......
...@@ -15,6 +15,18 @@ namespace AGVControl_Steel ...@@ -15,6 +15,18 @@ namespace AGVControl_Steel
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
if (Asa.WindowsForm.IsRun())
{
MessageBox.Show("IsRun");
return;
}
if (!Asa.WindowsForm.IsAdmin())
{
Asa.WindowsForm.AdminRun();
return;
}
Common.appConfig = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None); Common.appConfig = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None);
Common.log = log4net.LogManager.GetLogger("AGVControl_Steel"); Common.log = log4net.LogManager.GetLogger("AGVControl_Steel");
Common.log.Info("=====程序开始====="); Common.log.Info("=====程序开始=====");
......
...@@ -28,11 +28,8 @@ ...@@ -28,11 +28,8 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
this.DgvName = new System.Windows.Forms.DataGridView(); this.DgvName = new System.Windows.Forms.DataGridView();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.button1 = new System.Windows.Forms.Button();
this.LblWeb = new System.Windows.Forms.Label();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
...@@ -40,6 +37,11 @@ ...@@ -40,6 +37,11 @@
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column7 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.Column7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column4 = new System.Windows.Forms.DataGridViewButtonColumn(); this.Column4 = new System.Windows.Forms.DataGridViewButtonColumn();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.button1 = new System.Windows.Forms.Button();
this.LblWeb = new System.Windows.Forms.Label();
this.TxtLog = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.DgvName)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.DgvName)).BeginInit();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage2.SuspendLayout(); this.tabPage2.SuspendLayout();
...@@ -68,52 +70,6 @@ ...@@ -68,52 +70,6 @@
this.DgvName.TabIndex = 0; this.DgvName.TabIndex = 0;
this.DgvName.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DgvName_CellContentClick); this.DgvName.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DgvName_CellContentClick);
// //
// tabControl1
//
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Location = new System.Drawing.Point(12, 98);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(722, 340);
this.tabControl1.TabIndex = 1;
//
// tabPage2
//
this.tabPage2.Controls.Add(this.button1);
this.tabPage2.Controls.Add(this.LblWeb);
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(714, 314);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "状态";
this.tabPage2.UseVisualStyleBackColor = true;
//
// button1
//
this.button1.Font = new System.Drawing.Font("宋体", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.button1.Location = new System.Drawing.Point(502, 211);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(170, 55);
this.button1.TabIndex = 1;
this.button1.Text = "TEST";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// LblWeb
//
this.LblWeb.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.LblWeb.Location = new System.Drawing.Point(9, 9);
this.LblWeb.Margin = new System.Windows.Forms.Padding(6);
this.LblWeb.Name = "LblWeb";
this.LblWeb.Size = new System.Drawing.Size(150, 30);
this.LblWeb.TabIndex = 0;
this.LblWeb.Text = "WebService Close";
this.LblWeb.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// Column1 // Column1
// //
this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None; this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
...@@ -174,13 +130,73 @@ ...@@ -174,13 +130,73 @@
this.Column4.Name = "Column4"; this.Column4.Name = "Column4";
this.Column4.ReadOnly = true; this.Column4.ReadOnly = true;
// //
// tabControl1
//
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Location = new System.Drawing.Point(12, 98);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(722, 462);
this.tabControl1.TabIndex = 1;
//
// tabPage2
//
this.tabPage2.Controls.Add(this.TxtLog);
this.tabPage2.Controls.Add(this.button1);
this.tabPage2.Controls.Add(this.LblWeb);
this.tabPage2.Location = new System.Drawing.Point(4, 22);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(714, 436);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "状态";
this.tabPage2.UseVisualStyleBackColor = true;
//
// button1
//
this.button1.Font = new System.Drawing.Font("宋体", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.button1.Location = new System.Drawing.Point(348, 375);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(170, 55);
this.button1.TabIndex = 1;
this.button1.Text = "TEST";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// LblWeb
//
this.LblWeb.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.LblWeb.Location = new System.Drawing.Point(351, 9);
this.LblWeb.Margin = new System.Windows.Forms.Padding(6);
this.LblWeb.Name = "LblWeb";
this.LblWeb.Size = new System.Drawing.Size(150, 30);
this.LblWeb.TabIndex = 0;
this.LblWeb.Text = "WebService Close";
this.LblWeb.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// TxtLog
//
this.TxtLog.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.TxtLog.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.TxtLog.Location = new System.Drawing.Point(6, 6);
this.TxtLog.Multiline = true;
this.TxtLog.Name = "TxtLog";
this.TxtLog.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.TxtLog.Size = new System.Drawing.Size(336, 424);
this.TxtLog.TabIndex = 2;
//
// FrmMain // FrmMain
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(746, 450); this.ClientSize = new System.Drawing.Size(746, 572);
this.Controls.Add(this.tabControl1); this.Controls.Add(this.tabControl1);
this.Controls.Add(this.DgvName); this.Controls.Add(this.DgvName);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmMain"; this.Name = "FrmMain";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "钢网AGV调度"; this.Text = "钢网AGV调度";
...@@ -189,6 +205,7 @@ ...@@ -189,6 +205,7 @@
((System.ComponentModel.ISupportInitialize)(this.DgvName)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.DgvName)).EndInit();
this.tabControl1.ResumeLayout(false); this.tabControl1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false); this.tabPage2.ResumeLayout(false);
this.tabPage2.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
...@@ -207,6 +224,7 @@ ...@@ -207,6 +224,7 @@
private System.Windows.Forms.DataGridViewTextBoxColumn Column3; private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
private System.Windows.Forms.DataGridViewTextBoxColumn Column7; private System.Windows.Forms.DataGridViewTextBoxColumn Column7;
private System.Windows.Forms.DataGridViewButtonColumn Column4; private System.Windows.Forms.DataGridViewButtonColumn Column4;
private System.Windows.Forms.TextBox TxtLog;
} }
} }
...@@ -33,6 +33,8 @@ namespace AGVControl_Steel ...@@ -33,6 +33,8 @@ namespace AGVControl_Steel
private void FrmMain_Load(object sender, EventArgs e) private void FrmMain_Load(object sender, EventArgs e)
{ {
Common.txtLog = TxtLog;
Asa.WindowsForm.Load(this);
webService = new Webs.WebService(); webService = new Webs.WebService();
webService.Open(Common.appConfig.AppSettings.Settings["WebService"].Value); webService.Open(Common.appConfig.AppSettings.Settings["WebService"].Value);
LblWeb.BackColor = webService.IsOpen ? Color.Lime : Color.Red; LblWeb.BackColor = webService.IsOpen ? Color.Lime : Color.Red;
...@@ -52,6 +54,7 @@ namespace AGVControl_Steel ...@@ -52,6 +54,7 @@ namespace AGVControl_Steel
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{ {
if (Asa.WindowsForm.Close(e))
webService.Close(); webService.Close();
} }
......
...@@ -44,5 +44,7 @@ ...@@ -44,5 +44,7 @@
<add key="4D_Line" value="D1,D2,D3,D4,D5,D6,D8,D9,D10,D11,D12,D14,D15,D16"/> <add key="4D_Line" value="D1,D2,D3,D4,D5,D6,D8,D9,D10,D11,D12,D14,D15,D16"/>
<add key="4C_Line" value="C1,C2,C3,C4,C5,C6,C7,C8,C9,C10"/> <add key="4C_Line" value="C1,C2,C3,C4,C5,C6,C7,C8,C9,C10"/>
<add key="Store" value="wash,storage"/> <add key="Store" value="wash,storage"/>
<add key="4D_AGV" value="6"/>
<add key="4C_AGV" value="32"/>
</appSettings> </appSettings>
</configuration> </configuration>
\ No newline at end of file \ No newline at end of file
...@@ -331,7 +331,12 @@ ...@@ -331,7 +331,12 @@
</member> </member>
<member name="P:Model.AgvInfo.Place"> <member name="P:Model.AgvInfo.Place">
<summary> <summary>
当前车间位置,4C/4D 当前位置
</summary>
</member>
<member name="P:Model.AgvInfo.Workshop">
<summary>
车间
</summary> </summary>
</member> </member>
<member name="P:Model.AgvInfo.IsAuto"> <member name="P:Model.AgvInfo.IsAuto">
...@@ -359,6 +364,11 @@ ...@@ -359,6 +364,11 @@
AGV最低电量,小于此值必须充电 AGV最低电量,小于此值必须充电
</summary> </summary>
</member> </member>
<member name="P:Model.AgvInfo.Position">
<summary>
小车坐标位置
</summary>
</member>
<member name="P:Model.AgvInfo.TaskSend"> <member name="P:Model.AgvInfo.TaskSend">
<summary> <summary>
任务发送 任务发送
...@@ -400,6 +410,28 @@ ...@@ -400,6 +410,28 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Model.AgvInfo.IsSelfWorkshop">
<summary>
是否在自己的车间里面
</summary>
<returns></returns>
</member>
<member name="M:Model.AgvInfo.IsSteelFull">
<summary>
钢板是否已放满
</summary>
<returns></returns>
</member>
<member name="M:Model.AgvInfo.SteelCountAdd">
<summary>
钢板数量增加
</summary>
</member>
<member name="M:Model.AgvInfo.ClearSteelCount">
<summary>
钢板数量清零
</summary>
</member>
<member name="T:Model.JobStep`1"> <member name="T:Model.JobStep`1">
<summary> <summary>
小车工作步骤 小车工作步骤
......
MoveSteelC1, MoveSteelC1,77a02463-f387-11ea-8452-94c691a7387d
MoveSteelC2, MoveSteelC2,b2dc4ed9-f387-11ea-8452-94c691a7387d
MoveSteelC3, MoveSteelC3,c7f598c1-f387-11ea-8452-94c691a7387d
MoveSteelC4, MoveSteelC4,ddfd5992-f387-11ea-8452-94c691a7387d
MoveSteelC5, MoveSteelC5,f0a4498e-f387-11ea-8452-94c691a7387d
MoveSteelC6, MoveSteelC6,037a7f67-f388-11ea-8452-94c691a7387d
MoveSteelC7, MoveSteelC7,1b361828-f388-11ea-8452-94c691a7387d
MoveSteelC8, MoveSteelC8,2aec8e6c-f388-11ea-8452-94c691a7387d
MoveSteelC9, MoveSteelC9,3cad8c7d-f388-11ea-8452-94c691a7387d
MoveSteelC10, MoveSteelC10,4cc3d656-f388-11ea-8452-94c691a7387d
MoveSteelD1,e9ed94bf-f2ac-11ea-8452-94c691a7387d MoveSteelD1,e9ed94bf-f2ac-11ea-8452-94c691a7387d
MoveSteelD2,04e5690f-f2ad-11ea-8452-94c691a7387d MoveSteelD2,04e5690f-f2ad-11ea-8452-94c691a7387d
MoveSteelD3,1d3f9b5a-f2ad-11ea-8452-94c691a7387d MoveSteelD3,1d3f9b5a-f2ad-11ea-8452-94c691a7387d
...@@ -31,3 +31,5 @@ AutoCharge4D,2f0a31b1-f2ab-11ea-8452-94c691a7387d ...@@ -31,3 +31,5 @@ AutoCharge4D,2f0a31b1-f2ab-11ea-8452-94c691a7387d
MoveDoor-4C-4D,d67f31c8-ca7e-11ea-9a66-94c691a7387d MoveDoor-4C-4D,d67f31c8-ca7e-11ea-9a66-94c691a7387d
MoveDoor-4D-4C,fd6e26ac-c1bf-11ea-9a66-94c691a7387d MoveDoor-4D-4C,fd6e26ac-c1bf-11ea-9a66-94c691a7387d
MoveStorage,418c9064-f2ac-11ea-8452-94c691a7387d MoveStorage,418c9064-f2ac-11ea-8452-94c691a7387d
Pickupqisdashelf,f2acdcae-e524-11ea-b003-0001299a3f0e
Placeqisdashelf,4001120d-e525-11ea-b003-0001299a3f0e
\ No newline at end of file \ No newline at end of file
32,11号_1762,10.85.199.82,Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA== 32,11号_1762,10.85.199.82,Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
25,13号_1766,10.85.199.84,Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA== 25,13号_1766,10.85.199.84,Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
6,4号_1470,10.85.199.70,Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
\ No newline at end of file \ No newline at end of file
[2020-09-10 14:29:58,242][1][AGVControl_Steel:32]INFO =====程序开始=====
[2020-09-10 14:29:58,379][1][AGVControl_Steel:80]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvName.csv
[2020-09-10 14:29:58,380][1][AGVControl_Steel:91]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvMission.csv
[2020-09-10 14:29:59,366][1][AGVControl_Steel:172]INFO Web服务已开启
[2020-09-10 14:30:05,682][1][AGVControl_Steel:73]INFO 手动修改 4号_1470 IsUse=True
[2020-09-10 14:30:11,916][8][AGVControl_Steel:76]INFO None:4号_1470[10.85.199.70]回待机位Move4DStandby
[2020-09-10 14:30:14,539][8][AGVControl_Steel:76]INFO WaitStandby:4号_1470[10.85.199.70]已在待机位
[2020-09-10 14:31:43,325][1][AGVControl_Steel:189]INFO Web服务已关闭
[2020-09-10 14:31:43,388][1][AGVControl_Steel:43]INFO =====程序结束=====
f5d387375c56a96c8e6b88a603ea5a9491ae11c5 41508a38d8edbbc58c27e72e45c82c9ba74fa2bf
...@@ -12,3 +12,5 @@ D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Ste ...@@ -12,3 +12,5 @@ D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Ste
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\RestSharp.dll D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\RestSharp.dll
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\RestSharp.xml D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\RestSharp.xml
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\obj\Debug\AGVControl_Steel.csproj.CopyComplete D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\obj\Debug\AGVControl_Steel.csproj.CopyComplete
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\ClassFormParent.dll
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\ClassFormParent.pdb
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!