Commit 25e9fa32 顾剑亮

添加了清洗点的功能

1 个父辈 16b5fd11
正在显示 60 个修改的文件 包含 1136 行增加199 行删除
......@@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.30413.136
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AGVControl_Steel", "AGVControl_Steel\AGVControl_Steel.csproj", "{BE830571-6737-4FA7-A75B-0242B07E011C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{752A054D-58EC-460A-A936-F5483B1BC8B2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
......@@ -15,6 +17,10 @@ Global
{BE830571-6737-4FA7-A75B-0242B07E011C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BE830571-6737-4FA7-A75B-0242B07E011C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BE830571-6737-4FA7-A75B-0242B07E011C}.Release|Any CPU.Build.0 = Release|Any CPU
{752A054D-58EC-460A-A936-F5483B1BC8B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{752A054D-58EC-460A-A936-F5483B1BC8B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{752A054D-58EC-460A-A936-F5483B1BC8B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{752A054D-58EC-460A-A936-F5483B1BC8B2}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
......@@ -74,7 +74,7 @@
<Compile Include="Job\TakeOldJob.cs" />
<Compile Include="Job\ChargeJob.cs" />
<Compile Include="Model\AgvInfo.cs" />
<Compile Include="Job\StorageJob.cs" />
<Compile Include="Job\SendNewJob.cs" />
<Compile Include="UI\FrmMain.cs">
<SubType>Form</SubType>
</Compile>
......@@ -83,7 +83,6 @@
</Compile>
<Compile Include="Model\JobStep.cs" />
<Compile Include="Model\Job.cs" />
<Compile Include="Job\WashPointJob.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Job\StandbyJob.cs" />
......
......@@ -11,6 +11,9 @@ namespace AGVControl_Steel
public static class Common
{
public static System.Windows.Forms.TextBox txtLog;
public static System.Windows.Forms.TextBox txtOldSteel;
public static System.Windows.Forms.TextBox txtNewSteel;
public static List<AgvInfo> agvInfos;
public static Dictionary<string, string> agvMissions;
public static MiR_API mir;
......
......@@ -16,21 +16,21 @@ namespace BLL
newSteelWork = new List<SteelWork>();
}
public int OldSteelWorkCount
{
get
{
return oldSteelWork.Count;
}
}
//public int OldSteelWorkCount
//{
// get
// {
// return oldSteelWork.Count;
// }
//}
public int NewSteelWorkCount
{
get
{
return newSteelWork.Count;
}
}
//public int NewSteelWorkCount
//{
// get
// {
// return newSteelWork.Count;
// }
//}
......@@ -44,6 +44,7 @@ namespace BLL
string[] content = new string[oldSteelWork.Count];
for (int i = 0; i < content.Length; i++)
content[i] = oldSteelWork[i].Place + "," + oldSteelWork[i].DateTime.ToString();
if (Common.txtOldSteel != null) Common.txtOldSteel.Text = string.Join("\r\n", content);
System.IO.File.WriteAllLines(Common.PATH_OLD_STEEL_WORK, content, System.Text.Encoding.UTF8);
}
Common.log.Debug("添加(" + place + ")旧钢板任务,保存到" + Common.PATH_OLD_STEEL_WORK);
......@@ -58,6 +59,7 @@ namespace BLL
string[] content = new string[oldSteelWork.Count];
for (int i = 0; i < content.Length; i++)
content[i] = oldSteelWork[i].Place + "," + oldSteelWork[i].DateTime.ToString();
if (Common.txtOldSteel != null) Common.txtOldSteel.Text = string.Join("\r\n", content);
System.IO.File.WriteAllLines(Common.PATH_OLD_STEEL_WORK, content, System.Text.Encoding.UTF8);
}
Common.log.Debug("删除(" + place + ")旧钢板任务,保存到" + Common.PATH_OLD_STEEL_WORK);
......@@ -68,6 +70,7 @@ namespace BLL
oldSteelWork = new List<SteelWork>();
if (!System.IO.File.Exists(Common.PATH_OLD_STEEL_WORK)) return;
string[] lines = System.IO.File.ReadAllLines(Common.PATH_OLD_STEEL_WORK, System.Text.Encoding.UTF8);
if (Common.txtOldSteel != null) Common.txtOldSteel.Text = string.Join("\r\n", lines);
for (int i = 0; i < lines.Length; i++)
{
string[] arr = lines[i].Split(',');
......@@ -77,10 +80,40 @@ namespace BLL
Common.log.Debug("加载旧钢板任务,来自" + Common.PATH_OLD_STEEL_WORK);
}
public bool FindOldSteelWork(string place)
public bool FindOldSteelWork(AgvInfo info, out string place)
{
int idx = oldSteelWork.FindIndex(s => s.Place == place);
return idx > -1;
int index = -1;
string name = "";
bool find = false;
if (info.Workshop == Common.WORKSHOP_4D)
{
for (int i = 0; i < Common.LINE_NAME_4D.Length; i++)
{
name = Common.LINE_NAME_4D[i];
index = oldSteelWork.FindIndex(s => s.Place == name);
if (index > -1)
{
find = true;
break;
}
}
}
else if (info.Workshop == Common.WORKSHOP_4C)
{
for (int i = 0; i < Common.LINE_NAME_4C.Length; i++)
{
name = Common.LINE_NAME_4C[i];
index = oldSteelWork.FindIndex(s => s.Place == name);
if (index > -1)
{
find = true;
break;
}
}
}
place = name;
return find;
}
public void NewSteelWorkAdd(string from, string place)
......@@ -93,6 +126,7 @@ namespace BLL
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();
if (Common.txtNewSteel != null) Common.txtNewSteel.Text = string.Join("\r\n", content);
System.IO.File.WriteAllLines(Common.PATH_NEW_STEEL_WORK, content, System.Text.Encoding.UTF8);
}
Common.log.Debug("添加(" + from + "," + place + ")新钢板任务,保存到" + Common.PATH_NEW_STEEL_WORK);
......@@ -108,6 +142,7 @@ namespace BLL
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();
if (Common.txtNewSteel != null) Common.txtNewSteel.Text = string.Join("\r\n", content);
System.IO.File.WriteAllLines(Common.PATH_NEW_STEEL_WORK, content, System.Text.Encoding.UTF8);
}
Common.log.Debug("删除(" + from + "," + place + ")新钢板任务,保存到" + Common.PATH_NEW_STEEL_WORK);
......@@ -118,6 +153,7 @@ namespace BLL
newSteelWork = new List<SteelWork>();
if (!System.IO.File.Exists(Common.PATH_NEW_STEEL_WORK)) return;
string[] lines = System.IO.File.ReadAllLines(Common.PATH_NEW_STEEL_WORK, System.Text.Encoding.UTF8);
if (Common.txtNewSteel != null) Common.txtNewSteel.Text = string.Join("\r\n", lines);
for (int i = 0; i < lines.Length; i++)
{
string[] arr = lines[i].Split(',');
......@@ -127,10 +163,70 @@ namespace BLL
Common.log.Debug("加载新钢板任务,来自" + Common.PATH_NEW_STEEL_WORK);
}
public bool FindNewSteelWork(string from, string place)
public bool FindNewSteelWork(AgvInfo info, out string place)
{
int idx = newSteelWork.FindIndex(s => s.From == from && s.Place == place);
return idx > -1;
int index = -1;
string name = "";
bool find = false;
if (info.Workshop == Common.WORKSHOP_4D)
{
for (int i = 0; i < Common.LINE_NAME_4D.Length; i++)
{
name = Common.LINE_NAME_4D[i];
if (info.SteelFrom == "")
{
index = newSteelWork.FindIndex(s => s.Place == name);
if (index > -1)
{
find = true;
info.SteelFrom = newSteelWork[index].From;
break;
}
}
else
{
index = newSteelWork.FindIndex(s => s.From == info.SteelFrom && s.Place == name);
if (index > -1)
{
find = true;
break;
}
}
}
}
else if (info.Workshop == Common.WORKSHOP_4C)
{
for (int i = 0; i < Common.LINE_NAME_4C.Length; i++)
{
name = Common.LINE_NAME_4C[i];
if (info.SteelFrom == "")
{
index = newSteelWork.FindIndex(s => s.Place == name);
if (index > -1)
{
find = true;
info.SteelFrom = newSteelWork[index].From;
break;
}
}
else
{
index = newSteelWork.FindIndex(s => s.From == info.SteelFrom && s.Place == name);
if (index > -1)
{
find = true;
break;
}
}
}
}
place = name;
return find;
//int idx = newSteelWork.FindIndex(s => s.From == from && s.Place == place);
//return idx > -1;
}
......@@ -142,20 +238,31 @@ namespace BLL
public Job GetSteelJob(AgvInfo info)
{
string name = info.Workshop.Substring(1, 1);
int index = oldSteelWork.FindIndex(s => s.Place.StartsWith(name));
//TEST
string s = "";
for (int i = 0; i < oldSteelWork.Count; i++)
s += oldSteelWork[i].Place + ";";
Common.log.Debug("name=" + name + " oldSteelWork=" + s);
s = "";
for (int i = 0; i < newSteelWork.Count; i++)
s += newSteelWork[i].From + "," + newSteelWork[i].Place + "; ";
Common.log.Debug("name=" + name + " newSteelWork=" + s);
int index = oldSteelWork.FindIndex(s => s.Place.StartsWith(name));
if (index == -1)
return null;
{
index = newSteelWork.FindIndex(s => s.Place.StartsWith(name));
if (index == -1)
return null;
else
return new SendNewJob();
}
else
return new TakeOldJob();
......
using AGVControl_Steel;
namespace Model
{
public class SendNewJob : Job
{
private string id;
private string name = null;
private JobStep<SendNewStep> sendNewStep;
public SendNewJob()
{
sendNewStep = new JobStep<SendNewStep>(SendNewStep.None);
}
public override Job Execute(AgvInfo info)
{
if (sendNewStep.IsEqual(SendNewStep.None))
{
//wash storage 区分
sendNewStep.NextStep(SendNewStep.GoWashPoint);
}
else if (sendNewStep.IsEqual(SendNewStep.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)
{
sendNewStep.Msg = info.FullName + "去" + info.Workshop + "清洗点";
sendNewStep.NextStep(SendNewStep.WaitWashPoint);
}
else
{
sendNewStep.Msg = info.FullName + "发送" + mission + "任务失败";
}
}
else if (sendNewStep.IsEqual(SendNewStep.WaitWashPoint))
{
rtn = Common.mir.Get_MissionState_Fleet(info.Authorization, id, out string state);
if (rtn)
{
if (state == MissionState.Done.ToString())
{
info.FillSteelCount();
sendNewStep.Msg = info.FullName + "已在清洗点";
sendNewStep.NextStep(SendNewStep.FindLine);
}
else if (state == MissionState.Aborted.ToString())
{
sendNewStep.Msg = info.FullName + "任务状态" + MissionState.Aborted.ToString();
}
}
else
{
sendNewStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败";
}
}
else if (sendNewStep.IsEqual(SendNewStep.FindLine))
{
if (info.IsSteelEmpty())
{
sendNewStep.Msg = info.FullName + "钢板已全部取走";
sendNewStep.NextStep(SendNewStep.End);
}
else
{
FindLine(info);
if (!rtn)
{
sendNewStep.Msg = info.FullName + "没有后续新钢板任务";
sendNewStep.NextStep(SendNewStep.End);
}
}
}
else if (sendNewStep.IsEqual(SendNewStep.MoveLine))
{
rtn = Common.mir.Get_MissionState_Fleet(info.Authorization, id, out string state);
if (rtn)
{
if (state == MissionState.Done.ToString())
{
Common.steelManage.NewSteelWorkDel(info.SteelFrom, name);
sendNewStep.Msg = info.FullName + "完成" + mission;
sendNewStep.NextStep(SendNewStep.FindLine);
}
else if (state == MissionState.Aborted.ToString())
{
sendNewStep.Msg = info.FullName + "任务状态" + MissionState.Aborted.ToString();
}
}
else
{
sendNewStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败";
}
}
else if (sendNewStep.IsEqual(SendNewStep.End))
{
info.SteelFrom = "";
info.ClearSteelCount();
return new StandbyJob();
}
return this;
}
private void FindLine(AgvInfo info)
{
rtn = Common.steelManage.FindNewSteelWork(info, out string place);
if (rtn)
{
name = place;
info.Place = name;
mission = "MoveSteel" + name;
Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
sendNewStep.Msg = info.FullName + "发送任务" + mission;
sendNewStep.NextStep(SendNewStep.MoveLine);
info.SteelCountAdd();
}
}
private enum SendNewStep
{
None,
FindLine,
MoveLine,
GoWashPoint,
WaitWashPoint,
End
}
}
}
\ No newline at end of file
......@@ -100,6 +100,7 @@ namespace Model
rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
if (rtn)
{
info.Place = "待机位";
standbyStep.Msg = info.FullName + "回待机位" + mission;
standbyStep.NextStep(StandbyStep.WaitStandby);
}
......
using AGVControl_Steel;
namespace Model
{
public class StorageJob : Job
{
private string id;
private JobStep<StorageStep> storageStep;
public StorageJob()
{
storageStep = new JobStep<StorageStep>(StorageStep.None);
}
public override Job Execute(AgvInfo info)
{
throw new System.NotImplementedException();
}
private enum StorageStep
{
None
}
}
}
......@@ -17,7 +17,6 @@ namespace Model
{
if (takeOldStep.IsEqual(TakeOldStep.None))
{
info.ClearSteelCount();
takeOldStep.NextStep(TakeOldStep.FindLine);
}
else if (takeOldStep.IsEqual(TakeOldStep.FindLine))
......@@ -29,7 +28,7 @@ namespace Model
}
else
{
rtn = FindLine(info);
FindLine(info);
if (!rtn)
{
takeOldStep.Msg = info.FullName + "没有后续旧钢板任务";
......@@ -44,9 +43,9 @@ namespace Model
{
if (state == MissionState.Done.ToString())
{
Common.steelManage.OldSteelWorkDel(name);
takeOldStep.Msg = info.FullName + "完成" + mission;
takeOldStep.NextStep(TakeOldStep.FindLine);
Common.steelManage.OldSteelWorkDel(name);
}
else if (state == MissionState.Aborted.ToString())
{
......@@ -68,6 +67,7 @@ namespace Model
rtn = Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
if (rtn)
{
info.Place = "4D清洗点";
takeOldStep.Msg = info.FullName + "去" + info.Workshop + "清洗点";
takeOldStep.NextStep(TakeOldStep.WaitWashPoint);
}
......@@ -98,43 +98,19 @@ namespace Model
}
else if (takeOldStep.IsEqual(TakeOldStep.End))
{
info.ClearSteelCount();
return new StandbyJob();
}
return this;
}
private bool FindLine(AgvInfo info)
private void FindLine(AgvInfo info)
{
bool find = false;
if (info.Workshop == Common.WORKSHOP_4D)
{
for (int i = 0; i < Common.LINE_NAME_4D.Length; i++)
{
name = Common.LINE_NAME_4D[i];
if (Common.steelManage.FindOldSteelWork(name))
{
find = true;
break;
}
}
}
else if (info.Workshop == Common.WORKSHOP_4C)
{
for (int i = 0; i < Common.LINE_NAME_4C.Length; i++)
{
name = Common.LINE_NAME_4C[i];
if (Common.steelManage.FindOldSteelWork(name))
{
find = true;
break;
}
}
}
if (find)
rtn = Common.steelManage.FindOldSteelWork(info, out string place);
if (rtn)
{
name = place;
info.Place = name;
mission = "MoveSteel" + name;
Common.mir.Add_Mission_Fleet(info.FleetID, info.Authorization, mission, out id);
......@@ -142,8 +118,6 @@ namespace Model
takeOldStep.NextStep(TakeOldStep.MoveLine);
info.SteelCountAdd();
}
return find;
}
private enum TakeOldStep
......
using AGVControl_Steel;
namespace Model
{
public class WashPointJob : Job
{
private string id;
private JobStep<WashPointStep> washPointStep;
public WashPointJob()
{
washPointStep = new JobStep<WashPointStep>(WashPointStep.None);
}
public override Job Execute(AgvInfo info)
{
if (washPointStep.IsEqual(WashPointStep.None))
{
//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)
//{
// washPointStep.Msg = info.FullName + "去"+ info.Workshop + "清洗点";
// washPointStep.NextStep(WashPointStep.MoveWash);
//}
//else
//{
// washPointStep.Msg = info.FullName + "发送" + mission + "任务失败";
//}
}
else if (washPointStep.IsEqual(WashPointStep.MoveWash))
{
//rtn = Common.mir.Get_MissionState_Fleet(info.Authorization, id, out string state);
//if (rtn)
//{
// if (state == MissionState.Done.ToString())
// {
// washPointStep.Msg = info.FullName + "已在清洗点";
// washPointStep.NextStep(WashPointStep.End);
// }
// else if (state == MissionState.Aborted.ToString())
// {
// washPointStep.Msg = info.FullName + "任务状态" + MissionState.Aborted.ToString();
// }
//}
//else
//{
// washPointStep.Msg = info.FullName + "获取任务状态id[" + id + "]失败";
//}
}
else if (washPointStep.IsEqual(WashPointStep.End))
{
return new StandbyJob();
}
return this;
}
private enum WashPointStep
{
None,
MoveWash,
End
}
}
}
......@@ -8,10 +8,8 @@ namespace Model
/// </summary>
public class AgvInfo
{
/// <summary>
/// 小车当前已有的钢板数量
/// </summary>
private int currSteelCount = 0;
private const int STEEL_MAX = 5;
/// <summary>
/// 小车名称
......@@ -43,6 +41,8 @@ namespace Model
/// 当前位置
/// </summary>
public string Place { set; get; } = "";
public string SteelFrom { set; get; } = "";
/// <summary>
/// 车间
/// </summary>
......@@ -140,7 +140,19 @@ namespace Model
/// <returns></returns>
public bool IsSteelFull()
{
if (currSteelCount >= 6)
if (currSteelCount >= STEEL_MAX)
return true;
else
return false;
}
/// <summary>
/// 钢板是否取空
/// </summary>
/// <returns></returns>
public bool IsSteelEmpty()
{
if (currSteelCount <= 0)
return true;
else
return false;
......@@ -162,6 +174,13 @@ namespace Model
currSteelCount = 0;
}
/// <summary>
/// 钢板数量放满
/// </summary>
public void FillSteelCount()
{
currSteelCount = STEEL_MAX;
}
}
}
\ No newline at end of file
......@@ -32,8 +32,8 @@ namespace AGVControl_Steel
Common.log.Info("=====程序开始=====");
ReadConfig();
Common.steelManage = new BLL.SteelManage();
Common.steelManage.OldSteelWorkLoad();
Common.steelManage.NewSteelWorkLoad();
//Common.steelManage.OldSteelWorkLoad();
//Common.steelManage.NewSteelWorkLoad();
Common.control = new BLL.Control();
Common.mir = new Model.MiR_API { FleetIP = Common.appConfig.AppSettings.Settings["FLEET_IP"].Value, MissionList = Common.agvMissions };
......
......@@ -39,9 +39,13 @@
this.Column4 = new System.Windows.Forms.DataGridViewButtonColumn();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.label2 = new System.Windows.Forms.Label();
this.TxtNewSteel = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.TxtOldSteel = new System.Windows.Forms.TextBox();
this.TxtLog = new System.Windows.Forms.TextBox();
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();
this.tabControl1.SuspendLayout();
this.tabPage2.SuspendLayout();
......@@ -66,7 +70,7 @@
this.DgvName.Name = "DgvName";
this.DgvName.ReadOnly = true;
this.DgvName.RowTemplate.Height = 23;
this.DgvName.Size = new System.Drawing.Size(722, 80);
this.DgvName.Size = new System.Drawing.Size(804, 80);
this.DgvName.TabIndex = 0;
this.DgvName.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DgvName_CellContentClick);
//
......@@ -139,22 +143,77 @@
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.Size = new System.Drawing.Size(804, 462);
this.tabControl1.TabIndex = 1;
//
// tabPage2
//
this.tabPage2.Controls.Add(this.label2);
this.tabPage2.Controls.Add(this.TxtNewSteel);
this.tabPage2.Controls.Add(this.label1);
this.tabPage2.Controls.Add(this.TxtOldSteel);
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.Size = new System.Drawing.Size(796, 436);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "状态";
this.tabPage2.UseVisualStyleBackColor = true;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(523, 59);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 6;
this.label2.Text = "新钢板任务";
//
// TxtNewSteel
//
this.TxtNewSteel.Location = new System.Drawing.Point(525, 74);
this.TxtNewSteel.Multiline = true;
this.TxtNewSteel.Name = "TxtNewSteel";
this.TxtNewSteel.ReadOnly = true;
this.TxtNewSteel.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.TxtNewSteel.Size = new System.Drawing.Size(253, 169);
this.TxtNewSteel.TabIndex = 5;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(346, 59);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(65, 12);
this.label1.TabIndex = 4;
this.label1.Text = "旧钢板任务";
//
// TxtOldSteel
//
this.TxtOldSteel.Location = new System.Drawing.Point(348, 74);
this.TxtOldSteel.Multiline = true;
this.TxtOldSteel.Name = "TxtOldSteel";
this.TxtOldSteel.ReadOnly = true;
this.TxtOldSteel.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.TxtOldSteel.Size = new System.Drawing.Size(170, 169);
this.TxtOldSteel.TabIndex = 3;
//
// 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.ReadOnly = true;
this.TxtLog.ScrollBars = System.Windows.Forms.ScrollBars.Both;
this.TxtLog.Size = new System.Drawing.Size(336, 424);
this.TxtLog.TabIndex = 2;
//
// button1
//
this.button1.Font = new System.Drawing.Font("宋体", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
......@@ -177,23 +236,11 @@
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
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(746, 572);
this.ClientSize = new System.Drawing.Size(828, 572);
this.Controls.Add(this.tabControl1);
this.Controls.Add(this.DgvName);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
......@@ -225,6 +272,10 @@
private System.Windows.Forms.DataGridViewTextBoxColumn Column7;
private System.Windows.Forms.DataGridViewButtonColumn Column4;
private System.Windows.Forms.TextBox TxtLog;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox TxtNewSteel;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox TxtOldSteel;
}
}
......@@ -34,6 +34,11 @@ namespace AGVControl_Steel
private void FrmMain_Load(object sender, EventArgs e)
{
Common.txtLog = TxtLog;
Common.txtOldSteel = TxtOldSteel;
Common.txtNewSteel = TxtNewSteel;
Common.steelManage.OldSteelWorkLoad();
Common.steelManage.NewSteelWorkLoad();
Asa.WindowsForm.Load(this);
webService = new Webs.WebService();
webService.Open(Common.appConfig.AppSettings.Settings["WebService"].Value);
......
......@@ -43,7 +43,7 @@
<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="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="6"/>
<add key="4C_AGV" value="32"/>
</appSettings>
......
......@@ -299,11 +299,6 @@
小车信息
</summary>
</member>
<member name="F:Model.AgvInfo.currSteelCount">
<summary>
小车当前已有的钢板数量
</summary>
</member>
<member name="P:Model.AgvInfo.Name">
<summary>
小车名称
......@@ -422,6 +417,12 @@
</summary>
<returns></returns>
</member>
<member name="M:Model.AgvInfo.IsSteelEmpty">
<summary>
钢板是否取空
</summary>
<returns></returns>
</member>
<member name="M:Model.AgvInfo.SteelCountAdd">
<summary>
钢板数量增加
......@@ -432,6 +433,11 @@
钢板数量清零
</summary>
</member>
<member name="M:Model.AgvInfo.FillSteelCount">
<summary>
钢板数量放满
</summary>
</member>
<member name="T:Model.JobStep`1">
<summary>
小车工作步骤
......
32,11号_1762,10.85.199.82,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
3,1号_1467,10.85.199.67,Basic ZGlzdHJpYnV0b3I6NjJmMmYwZjFlZmYxMGQzMTUyYzk1ZjZmMDU5NjU3NmU0ODJiYjhlNDQ4MDY0MzNmNGNmOTI5NzkyODM0YjAxNA==
\ 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 =====程序结束=====
[2020-09-11 15:58:04,725][1][AGVControl_Steel:32]INFO =====程序开始=====
[2020-09-11 15:58:04,819][1][AGVControl_Steel:80]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvName.csv
[2020-09-11 15:58:04,825][1][AGVControl_Steel:91]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvMission.csv
[2020-09-11 15:58:05,452][1][AGVControl_Steel:201]INFO Web服务已开启
[2020-09-11 15:58:16,444][1][AGVControl_Steel:218]INFO Web服务已关闭
[2020-09-11 15:58:16,471][1][AGVControl_Steel:43]INFO =====程序结束=====
[2020-09-11 16:02:12,426][1][AGVControl_Steel:32]INFO =====程序开始=====
[2020-09-11 16:02:12,454][1][AGVControl_Steel:80]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvName.csv
[2020-09-11 16:02:12,455][1][AGVControl_Steel:91]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvMission.csv
[2020-09-11 16:03:05,516][1][AGVControl_Steel:32]INFO =====程序开始=====
[2020-09-11 16:03:05,637][1][AGVControl_Steel:80]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvName.csv
[2020-09-11 16:03:05,638][1][AGVControl_Steel:91]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvMission.csv
[2020-09-11 16:05:53,992][1][AGVControl_Steel:32]INFO =====程序开始=====
[2020-09-11 16:05:54,258][1][AGVControl_Steel:80]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvName.csv
[2020-09-11 16:05:54,260][1][AGVControl_Steel:91]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvMission.csv
[2020-09-11 16:05:54,262][1][AGVControl_Steel:80]DEBUG 加载旧钢板任务,来自D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\OldSteelWork.txt
[2020-09-11 16:05:56,974][1][AGVControl_Steel:201]INFO Web服务已开启
[2020-09-11 16:06:05,392][1][AGVControl_Steel:218]INFO Web服务已关闭
[2020-09-11 16:06:05,417][1][AGVControl_Steel:43]INFO =====程序结束=====
[2020-09-11 16:17:29,822][1][AGVControl_Steel:32]INFO =====程序开始=====
[2020-09-11 16:17:30,006][1][AGVControl_Steel:80]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvName.csv
[2020-09-11 16:17:30,049][1][AGVControl_Steel:91]INFO 读取配置文件 D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\AgvMission.csv
[2020-09-11 16:17:30,962][1][AGVControl_Steel:80]DEBUG 加载旧钢板任务,来自D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\Config\OldSteelWork.txt
[2020-09-11 16:17:31,582][1][AGVControl_Steel:201]INFO Web服务已开启
[2020-09-11 16:17:37,991][1][AGVControl_Steel:218]INFO Web服务已关闭
[2020-09-11 16:17:38,025][1][AGVControl_Steel:43]INFO =====程序结束=====
[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 =====程序结束=====
41508a38d8edbbc58c27e72e45c82c9ba74fa2bf
573b11aed246e2ddfaeaaf13f2b3caf88f7d0efd
......@@ -8,9 +8,7 @@ D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Ste
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\obj\Debug\AGVControl_Steel.csproj.CoreCompileInputs.cache
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\obj\Debug\AGVControl_Steel.exe
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\obj\Debug\AGVControl_Steel.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\bin\Debug\log4net.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\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
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\AGVControl_Steel\obj\Debug\AGVControl_Steel.csprojAssemblyReference.cache
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>
\ No newline at end of file
namespace Test
{
partial class Form1
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.checkBox3 = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Location = new System.Drawing.Point(12, 12);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(60, 16);
this.checkBox1.TabIndex = 0;
this.checkBox1.Text = "4dwash";
this.checkBox1.UseVisualStyleBackColor = true;
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(12, 34);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(198, 21);
this.textBox1.TabIndex = 2;
this.textBox1.Text = "D16,D15,D14";
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 61);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 3;
this.button1.Text = "发送";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// checkBox2
//
this.checkBox2.AutoSize = true;
this.checkBox2.Location = new System.Drawing.Point(78, 12);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(60, 16);
this.checkBox2.TabIndex = 4;
this.checkBox2.Text = "4cwash";
this.checkBox2.UseVisualStyleBackColor = true;
//
// checkBox3
//
this.checkBox3.AutoSize = true;
this.checkBox3.Location = new System.Drawing.Point(144, 12);
this.checkBox3.Name = "checkBox3";
this.checkBox3.Size = new System.Drawing.Size(66, 16);
this.checkBox3.TabIndex = 5;
this.checkBox3.Text = "storage";
this.checkBox3.UseVisualStyleBackColor = true;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(367, 181);
this.Controls.Add(this.checkBox3);
this.Controls.Add(this.checkBox2);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.checkBox1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.CheckBox checkBox2;
private System.Windows.Forms.CheckBox checkBox3;
}
}
using RestSharp;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
RestClient client = new RestClient("http://10.85.196.40:8089/StealAgv/sendNew?from=4dwash&place=" + textBox1.Text);
client.Timeout = -1;
RestRequest request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
}
else if (checkBox2.Checked)
{
RestClient client = new RestClient("http://10.85.196.40:8089/StealAgv/sendNew?from=4cwash&place=" + textBox1.Text);
client.Timeout = -1;
RestRequest request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
}
else if (checkBox3.Checked)
{
RestClient client = new RestClient("http://10.85.196.40:8089/StealAgv/sendNew?from=storage&place=" + textBox1.Text);
client.Timeout = -1;
RestRequest request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
}
else
{
string[] arr = textBox1.Text.Split(',');
for (int i = 0; i < arr.Length; i++)
{
RestClient client = new RestClient("http://10.85.196.40:8089/StealAgv/takeOld?place=" + arr[i]);
client.Timeout = -1;
RestRequest request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
System.Threading.Thread.Sleep(500);
}
}
MessageBox.Show("OK");
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Test
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("Test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Test")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("752a054d-58ec-460a-a936-f5483b1bc8b2")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本: 4.0.30319.42000
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace Test.Properties
{
/// <summary>
/// 强类型资源类,用于查找本地化字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或删除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// 返回此类使用的缓存 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Test.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 覆盖当前线程的 CurrentUICulture 属性
/// 使用此强类型的资源类的资源查找。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Test.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{752A054D-58EC-460A-A936-F5483B1BC8B2}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>Test</RootNamespace>
<AssemblyName>Test</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="RestSharp, Version=106.11.4.0, Culture=neutral, PublicKeyToken=598062e77f915f75, processorArchitecture=MSIL">
<HintPath>..\packages\RestSharp.106.11.4\lib\net452\RestSharp.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Form1.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Form1.Designer.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Form1.resx">
<DependentUpon>Form1.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
此文件类型无法预览
此文件类型无法预览
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
</configuration>
\ No newline at end of file
此文件类型无法预览
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")]
此文件类型无法预览
620dd80cfa29cf5741e7f5df5db501128828f411
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\bin\Debug\Test.exe.config
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\bin\Debug\Test.exe
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\bin\Debug\Test.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\bin\Debug\RestSharp.dll
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\bin\Debug\RestSharp.xml
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\obj\Debug\Test.csprojAssemblyReference.cache
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\obj\Debug\Test.Form1.resources
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\obj\Debug\Test.Properties.Resources.resources
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\obj\Debug\Test.csproj.GenerateResource.cache
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\obj\Debug\Test.csproj.CoreCompileInputs.cache
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\obj\Debug\Test.csproj.CopyComplete
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\obj\Debug\Test.exe
D:\OneDrive - 上海挚锦科技有限公司\SMD\AGVControl_Steel\Test\obj\Debug\Test.pdb
此文件类型无法预览
此文件类型无法预览
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="RestSharp" version="106.11.4" targetFramework="net461" />
</packages>
\ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!