Commit 9cc464a1 顾剑亮

debug

1 个父辈 1f5d3085
正在显示 42 个修改的文件 包含 1139 行增加91 行删除
此文件类型无法预览
...@@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.30104.148 ...@@ -5,6 +5,8 @@ VisualStudioVersion = 16.0.30104.148
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SmartShelfLight", "SmartShelfLight\SmartShelfLight.csproj", "{CEB7409B-1A34-4498-A4F1-C391D0997DA5}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SmartShelfLight", "SmartShelfLight\SmartShelfLight.csproj", "{CEB7409B-1A34-4498-A4F1-C391D0997DA5}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Test", "Test\Test.csproj", "{C6098D93-F935-43F5-9AD8-AA89FE1091EA}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
...@@ -15,6 +17,10 @@ Global ...@@ -15,6 +17,10 @@ Global
{CEB7409B-1A34-4498-A4F1-C391D0997DA5}.Debug|Any CPU.Build.0 = Debug|Any CPU {CEB7409B-1A34-4498-A4F1-C391D0997DA5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CEB7409B-1A34-4498-A4F1-C391D0997DA5}.Release|Any CPU.ActiveCfg = Release|Any CPU {CEB7409B-1A34-4498-A4F1-C391D0997DA5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CEB7409B-1A34-4498-A4F1-C391D0997DA5}.Release|Any CPU.Build.0 = Release|Any CPU {CEB7409B-1A34-4498-A4F1-C391D0997DA5}.Release|Any CPU.Build.0 = Release|Any CPU
{C6098D93-F935-43F5-9AD8-AA89FE1091EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C6098D93-F935-43F5-9AD8-AA89FE1091EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C6098D93-F935-43F5-9AD8-AA89FE1091EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C6098D93-F935-43F5-9AD8-AA89FE1091EA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
......
...@@ -5,6 +5,7 @@ using System.ServiceModel.Activation; ...@@ -5,6 +5,7 @@ using System.ServiceModel.Activation;
using SmartShelfLight; using SmartShelfLight;
using System.IO; using System.IO;
using System; using System;
using System.Collections.Generic;
namespace BLL namespace BLL
{ {
...@@ -27,24 +28,44 @@ namespace BLL ...@@ -27,24 +28,44 @@ namespace BLL
[OperationContract] [OperationContract]
[WebGet(UriTemplate = "TransferDark?line={line}&place={place}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] [WebGet(UriTemplate = "TransferDark?line={line}&place={place}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result TransferDark_Get(string line, string place); Result TransferDark_Get(string line, string place);
/// <summary>
/// 产线获取RFID
/// </summary>
/// <param name="line"></param>
/// <returns></returns>
[OperationContract]
[WebGet(UriTemplate = "LineGetRFID?line={line}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result LineGetRFID_Get(string line);
/// <summary>
/// 产线清除RFID
/// </summary>
/// <param name="line"></param>
/// <param name="rfid"></param>
/// <returns></returns>
[OperationContract]
[WebGet(UriTemplate = "LineClearRFID?line={line}&rfid={rfid}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result LineClearRFID_Get(string line, string rfid);
#endregion #endregion
#region Post Json #region Post Json
[OperationContract] [OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "ShelfLight", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] [WebInvoke(Method = "POST", UriTemplate = "ShelfLight", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result ShelfLight_Post(Info info); Result ShelfLight_Post(Info1 info);
[OperationContract] [OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "ShelfDark", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] [WebInvoke(Method = "POST", UriTemplate = "ShelfDark", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result ShelfDark_Post(Info info); Result ShelfDark_Post(Info1 info);
[OperationContract] [OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "TransferLight", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] [WebInvoke(Method = "POST", UriTemplate = "TransferLight", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result TransferLight_Post(Stream info); Result TransferLight_Post(Info1 info);
[OperationContract] [OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "TransferDark", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] [WebInvoke(Method = "POST", UriTemplate = "TransferDark", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result TransferDark_Post(Stream info); Result TransferDark_Post(Info1 info);
#endregion #endregion
#region Post x-www-form-urlencoded #region Post x-www-form-urlencoded
...@@ -77,7 +98,7 @@ namespace BLL ...@@ -77,7 +98,7 @@ namespace BLL
} }
[DataContract] [DataContract]
public class Info public class Info1
{ {
[DataMember] [DataMember]
public string RFID { get; set; } public string RFID { get; set; }
...@@ -86,6 +107,16 @@ namespace BLL ...@@ -86,6 +107,16 @@ namespace BLL
public string Place { get; set; } public string Place { get; set; }
} }
//[DataContract]
//public class Info2
//{
// [DataMember]
// public string Line { get; set; }
// [DataMember]
// public string Place { get; set; }
//}
[DataContract] [DataContract]
public class Result public class Result
{ {
...@@ -110,9 +141,11 @@ namespace BLL ...@@ -110,9 +141,11 @@ namespace BLL
{ {
public delegate void UpdateLightEvent(int lineIndex, int rfidIndex); public delegate void UpdateLightEvent(int lineIndex, int rfidIndex);
public event UpdateLightEvent UpdateLight; public event UpdateLightEvent UpdateLight;
public event UpdateLightEvent UpdateRfid;
public WebService() public WebService()
{ {
} }
#region Get #region Get
...@@ -139,9 +172,23 @@ namespace BLL ...@@ -139,9 +172,23 @@ namespace BLL
Common.log.Info("TransferDark[GET] line=" + line + " place=" + place); Common.log.Info("TransferDark[GET] line=" + line + " place=" + place);
return TransferDark(line, place); return TransferDark(line, place);
} }
public Result LineGetRFID_Get(string line)
{
Common.log.Info("LineGetRFID[GET] line=" + line);
return LineGetRFID(line);
}
public Result LineClearRFID_Get(string line, string rfid)
{
Common.log.Info("LineClearRFID[GET] line=" + line + " rfid=" + rfid);
return LineClearRFID(line, rfid);
}
#endregion #endregion
public Result ShelfLight_Post(Info info) #region Post
public Result ShelfLight_Post(Info1 info)
{ {
Common.log.Info("ShelfLight[POST] rfid=" + info.RFID + ", place=" + info.Place); Common.log.Info("ShelfLight[POST] rfid=" + info.RFID + ", place=" + info.Place);
return ShelfLight(info.RFID, info.Place); return ShelfLight(info.RFID, info.Place);
...@@ -156,7 +203,7 @@ namespace BLL ...@@ -156,7 +203,7 @@ namespace BLL
return ShelfLight(name["RFID"], name["Place"]); return ShelfLight(name["RFID"], name["Place"]);
} }
public Result ShelfDark_Post(Info info) public Result ShelfDark_Post(Info1 info)
{ {
Common.log.Info("ShelfDark[POST] rfid=" + info.RFID + ", place=" + info.Place); Common.log.Info("ShelfDark[POST] rfid=" + info.RFID + ", place=" + info.Place);
return ShelfDark(info.RFID, info.Place); return ShelfDark(info.RFID, info.Place);
...@@ -171,30 +218,51 @@ namespace BLL ...@@ -171,30 +218,51 @@ namespace BLL
return ShelfDark(name["RFID"], name["Place"]); return ShelfDark(name["RFID"], name["Place"]);
} }
public Result TransferLight_Post(Stream info) public Result TransferLight_Post(Info1 info)
{ {
StreamReader sr = new StreamReader(info); //这里的RFID实际是产线的名字,佳世达要求写这个
string s = sr.ReadToEnd(); Common.log.Info("TransferLight[POST] line=" + info.RFID + " place=" + info.Place);
string[] arr = s.Split('&'); return TransferLight(info.RFID, info.Place);
arr[0] = arr[0].Replace("line=", "");
arr[1] = arr[1].Replace("place=", "");
Common.log.Info("TransferLight[POST] line=" + arr[0] + " place=" + arr[1]);
return TransferLight(arr[0], arr[1]); //StreamReader sr = new StreamReader(info);
//string s = sr.ReadToEnd();
//s = s.Trim('{', '}');
//string[] arr = s.Split(',');
//arr[0] = arr[0].Replace("\"line\":", "");
//arr[0] = arr[0].Trim('\"');
//arr[1] = arr[1].Replace("\"place\":", "");
//arr[1] = arr[1].Trim('\"');
//Common.log.Info("TransferLight[POST] line=" + arr[0] + " place=" + arr[1]);
//return TransferLight(arr[0], arr[1]);
} }
public Result TransferDark_Post(Stream info) public Result TransferDark_Post(Info1 info)
{ {
StreamReader sr = new StreamReader(info); //这里的RFID实际是产线的名字,佳世达要求写这个
string s = sr.ReadToEnd(); Common.log.Info("TransferDark[POST] line=" + info.RFID + " place=" + info.Place);
string[] arr = s.Split('&'); return TransferDark(info.RFID, info.Place);
arr[0] = arr[0].Replace("line=", "");
arr[1] = arr[1].Replace("place=", "");
Common.log.Info("TransferDark[POST] line=" + arr[0] + " place=" + arr[1]);
return TransferDark(arr[0], arr[1]);
}
//StreamReader sr = new StreamReader(info);
//string s = sr.ReadToEnd();
//s = s.Trim('{', '}');
//string[] arr = s.Split(',');
//arr[0] = arr[0].Replace("\"line\":", "");
//arr[0] = arr[0].Trim('\"');
//arr[1] = arr[1].Replace("\"place\":", "");
//arr[1] = arr[1].Trim('\"');
//Common.log.Info("TransferDark[POST] line=" + arr[0] + " place=" + arr[1]);
//return TransferDark(arr[0], arr[1]);
}
#endregion
...@@ -310,11 +378,25 @@ namespace BLL ...@@ -310,11 +378,25 @@ namespace BLL
{ {
Result res = new Result(); Result res = new Result();
int lineIdx = Common.lines.FindIndex(s => s.Name == line);
//临时
if (!Common.name.TryGetValue(line, out string value))
{
res.Code = -1;
res.Msg = "line[" + line + "] not found1";
return res;
}
int lineIdx = Common.lines.FindIndex(s => s.Name == value);
if (lineIdx == -1) if (lineIdx == -1)
{ {
res.Code = -1; res.Code = -1;
res.Msg = "line[" + line + "] not found"; res.Msg = "line[" + value + "] not found2";
return res; return res;
} }
...@@ -338,11 +420,21 @@ namespace BLL ...@@ -338,11 +420,21 @@ namespace BLL
{ {
Result res = new Result(); Result res = new Result();
int lineIdx = Common.lines.FindIndex(s => s.Name == line); //临时
if (!Common.name.TryGetValue(line, out string value))
{
res.Code = -1;
res.Msg = "line[" + line + "] not found1";
return res;
}
int lineIdx = Common.lines.FindIndex(s => s.Name == value);
if (lineIdx == -1) if (lineIdx == -1)
{ {
res.Code = -1; res.Code = -1;
res.Msg = "line[" + line + "] not found"; res.Msg = "line[" + value + "] not found2";
return res; return res;
} }
...@@ -362,6 +454,50 @@ namespace BLL ...@@ -362,6 +454,50 @@ namespace BLL
return res; return res;
} }
private Result LineGetRFID(string line)
{
Result res = new Result();
int lineIdx = Common.lines.FindIndex(s => s.Name == line);
if (lineIdx == -1)
{
res.Code = -1;
res.Msg = string.Format("没有找到line {0}", line);
return res;
}
res.Code = 0;
res.Msg = string.Join(",", Common.lines[lineIdx].RFID_ID);
return res;
}
private Result LineClearRFID(string line, string rfid)
{
Result res = new Result();
int lineIndex = Common.lines.FindIndex(s => s.Name == line);
if (lineIndex == -1)
{
res.Code = -1;
res.Msg = string.Format("没有找到line {0}", line);
return res;
}
int rfidIndex = Array.FindIndex(Common.lines[lineIndex].RFID_ID, s => s == rfid);
if (rfidIndex == -1)
{
res.Code = -2;
res.Msg = string.Format("没有找到rfid {0}", rfid);
return res;
}
Common.lines[lineIndex].RFID_ID[rfidIndex] = "";
Common.lines[lineIndex].RFID_DwellTime[rfidIndex] = DateTime.Now.Ticks;
UpdateRfid?.Invoke(lineIndex, rfidIndex);
res.Code = 0;
res.Msg = "OK";
return res;
}
} }
......
...@@ -46,7 +46,7 @@ namespace SmartShelfLight ...@@ -46,7 +46,7 @@ namespace SmartShelfLight
public static bool serverOpen; public static bool serverOpen;
public static List<Line> lines; public static List<Line> lines;
public static log4net.ILog log; public static log4net.ILog log;
//public static Asa.RFID.ReadAll rfid; public static Dictionary<string, string> name;
public static Asa.RFID.ReadAll1 reader1; public static Asa.RFID.ReadAll1 reader1;
public static Asa.RFID.ReadAll reader3; public static Asa.RFID.ReadAll reader3;
......
...@@ -106,44 +106,51 @@ namespace SmartShelfLight ...@@ -106,44 +106,51 @@ namespace SmartShelfLight
DgvLight.Rows[lineIndex * 4 + i].Cells[1].Value = Common.lines[lineIndex].RFID_ID[i]; DgvLight.Rows[lineIndex * 4 + i].Cells[1].Value = Common.lines[lineIndex].RFID_ID[i];
Common.log.Info(Common.lines[lineIndex].Name + " RFID=" + id); Common.log.Info(Common.lines[lineIndex].Name + " RFID=" + id);
//料架改变后关闭这个料架区域的所有灯
//int[] index = new int[92];
//for (int i = 0; i < index.Length; i++)
// index[i] = i;
//Common.lines[lineIndex].LED.LightOff(rfidIndex, index);
//Common.lines[lineIndex].LED_Place = new bool[92];
//DgvLight.Rows[lineIndex * 4 + rfidIndex].Cells[2].Value = "";
//保存RFID到文件 //保存RFID到文件
Common.SaveRfidID(); Common.SaveRfidID();
} }
} }
private void Service_UpdateRfid(int lineIndex, int rfidIndex)
{
Invoke(new Action(() =>
{
//灭灯
int[] index = new int[92];
for (int i = 0; i < index.Length; i++)
index[i] = i;
Common.lines[lineIndex].LED.LightOff(rfidIndex, index);
Common.lines[lineIndex].LED_Place = new bool[92];
Common.log.Info(Common.lines[lineIndex].Name + "-" + (rfidIndex + 1).ToString() + " 删除rfid,灭灯");
for (int i = 0; i < 4; i++)
DgvLight.Rows[lineIndex * 4 + i].Cells[1].Value = Common.lines[lineIndex].RFID_ID[i];
Common.log.Info(Common.lines[lineIndex].Name + " RFID=\"\"");
//保存RFID到文件
Common.SaveRfidID();
}));
}
private void Service_UpdateLight(int lineIndex, int rfidIndex) private void Service_UpdateLight(int lineIndex, int rfidIndex)
{ {
string text = ""; Invoke(new Action(() =>
//if (Common.lines[lineIndex].LED_Light[rfidIndex] == "")
//{
// text = "";
//}
//else
//{
// string[] arr = Common.lines[lineIndex].LED_Light[rfidIndex].Split(',');
// int[] num = new int[arr.Length];
// for (int i = 0; i < arr.Length; i++)
// num[i] = Convert.ToInt32(arr[i]);
// Array.Sort(num);
// text = string.Join(" ", num);
//}
for (int i = 0; i < Common.lines[lineIndex].LED_Place.Length; i++)
{ {
if (Common.lines[lineIndex].LED_Place[i]) string text = "";
text += (i + 1).ToString() + " "; for (int i = 0; i < Common.lines[lineIndex].LED_Place.Length; i++)
} {
if (Common.lines[lineIndex].LED_Place[i])
text += (i + 1).ToString() + " ";
}
Common.log.Info("更新界面 rfid=" + Common.lines[lineIndex].RFID_ID[rfidIndex] + " light=[" + text + "]");
DgvLight.Rows[lineIndex * 4 + rfidIndex].Cells[2].Value = text;
}));
Common.log.Info("更新界面 rfid=" + Common.lines[lineIndex].RFID_ID[rfidIndex] + " light=[" + text + "]");
DgvLight.Rows[lineIndex * 4 + rfidIndex].Cells[2].Value = text;
} }
private void FrmMain_Load(object sender, EventArgs e) private void FrmMain_Load(object sender, EventArgs e)
...@@ -184,6 +191,7 @@ namespace SmartShelfLight ...@@ -184,6 +191,7 @@ namespace SmartShelfLight
int port1 = Convert.ToInt32(Common.appConfig.AppSettings.Settings["RFIDPort1"].Value); int port1 = Convert.ToInt32(Common.appConfig.AppSettings.Settings["RFIDPort1"].Value);
int port2 = Convert.ToInt32(Common.appConfig.AppSettings.Settings["RFIDPort2"].Value); int port2 = Convert.ToInt32(Common.appConfig.AppSettings.Settings["RFIDPort2"].Value);
Common.service.UpdateLight += Service_UpdateLight; Common.service.UpdateLight += Service_UpdateLight;
Common.service.UpdateRfid += Service_UpdateRfid;
//Common.rfid = new Asa.RFID.ReadAll("ShelfRFID"); //Common.rfid = new Asa.RFID.ReadAll("ShelfRFID");
//Common.rfid.Received += Rfid_Received; //Common.rfid.Received += Rfid_Received;
//Common.rfid.Start(port); //Common.rfid.Start(port);
......
...@@ -40,6 +40,47 @@ namespace SmartShelfLight ...@@ -40,6 +40,47 @@ namespace SmartShelfLight
{ {
try try
{ {
Common.name = new Dictionary<string, string>();
Common.name.Add("CA", "C1");
Common.name.Add("CB", "C2");
Common.name.Add("CC", "C3");
Common.name.Add("CD", "C4");
Common.name.Add("CE", "C5");
Common.name.Add("CF", "C6");
Common.name.Add("CG", "C7");
Common.name.Add("CH", "C8");
Common.name.Add("CI", "C9");
Common.name.Add("CJ", "C10");
Common.name.Add("DA", "D1");
Common.name.Add("DB", "D2");
Common.name.Add("DC", "D3");
Common.name.Add("DD", "D4");
Common.name.Add("DE", "D5");
Common.name.Add("DF", "D6");
Common.name.Add("DG", "D7");
Common.name.Add("DH", "D8");
Common.name.Add("DI", "D9");
Common.name.Add("DJ", "D10");
Common.name.Add("DK", "D11");
Common.name.Add("DL", "D12");
Common.name.Add("DM", "D13");
Common.name.Add("DN", "D14");
Common.name.Add("DO", "D15");
Common.name.Add("DP", "D16");
Common.name.Add("SC", "S3");
Common.name.Add("SD", "S4");
Common.name.Add("SE", "S5");
Common.name.Add("SF", "S6");
Common.name.Add("SG", "S7");
Common.name.Add("SH", "S8");
Common.name.Add("SI", "S9");
Common.name.Add("SJ", "S10");
Common.name.Add("SK", "S11");
Common.name.Add("SL", "S12");
LEDManager.DefaultIP = Common.appConfig.AppSettings.Settings["FirstLED"].Value; LEDManager.DefaultIP = Common.appConfig.AppSettings.Settings["FirstLED"].Value;
LEDManager.Init(); LEDManager.Init();
Common.lines = new List<Line>(); Common.lines = new List<Line>();
...@@ -69,7 +110,7 @@ namespace SmartShelfLight ...@@ -69,7 +110,7 @@ namespace SmartShelfLight
for (int i = 1; i < arr.Length; i++) //第一行是标题 for (int i = 1; i < arr.Length; i++) //第一行是标题
{ {
string[] tt = arr[i].Split(','); string[] tt = arr[i].Split(',');
int idx = Common.lines.FindIndex(s => s.Name == tt[0]); int idx = Common.lines.FindIndex(s => s.Name == Common.name[tt[0]]);
if (idx == -1) continue; if (idx == -1) continue;
Common.lines[idx].TransferPlace.Add(new string[] { tt[1], tt[2], tt[3] }); Common.lines[idx].TransferPlace.Add(new string[] { tt[1], tt[2], tt[3] });
} }
......
Name,Vendor1,Vendor2,Vendor3,Vendor4,RFID1,RFID2,RFID3,RFID4,LED Name,Vendor1,Vendor2,Vendor3,Vendor4,RFID1,RFID2,RFID3,RFID4,LED
C1,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.11,10.85.197.12,10.85.197.13,10.85.197.14,10.85.197.15 S3,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.100,10.85.197.101,10.85.197.102,10.85.197.103,10.85.197.104
C2,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.16,10.85.197.17,10.85.197.18,10.85.197.19,10.85.197.20 S4,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.105,10.85.197.106,10.85.197.107,10.85.197.108,10.85.197.109
C3,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.21,10.85.197.22,10.85.197.23,10.85.197.24,10.85.197.25 S5,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.110,10.85.197.111,10.85.197.112,10.85.197.113,10.85.197.114
C4,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.26,10.85.197.27,10.85.197.28,10.85.197.29,10.85.197.30 S6,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.115,10.85.197.116,10.85.197.117,10.85.197.118,10.85.197.119
C5,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.31,10.85.197.32,10.85.197.33,10.85.197.34,10.85.197.35 S7,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.120,10.85.197.123,10.85.197.124,10.85.197.125,10.85.197.126
C6,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.36,10.85.197.37,10.85.197.38,10.85.197.39,10.85.197.41 S8,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.127,10.85.197.128,10.85.197.129,10.85.197.130,10.85.197.131
C7,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.42,10.85.197.43,10.85.197.44,10.85.197.45,10.85.197.46 S9,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.132,10.85.197.133,10.85.197.134,10.85.197.135,10.85.197.136
C8,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.47,10.85.197.48,10.85.197.49,10.85.197.50,10.85.197.51 S10,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.137,10.85.197.138,10.85.197.139,10.85.197.140,10.85.197.141
C9,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.52,10.85.197.53,10.85.197.54,10.85.197.55,10.85.197.56 S11,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.142,10.85.197.143,10.85.197.144,10.85.197.145,10.85.197.146
C10,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.57,10.85.197.58,10.85.197.59,10.85.197.60,10.85.197.61 S12,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.147,10.85.197.148,10.85.197.149,10.85.197.150,10.85.197.151
\ No newline at end of file \ No newline at end of file
line,place,dmxId,Index key,line,place,dmxId,Index
D1,1,4,0 SC,S3,1,4,68
D1,2,4,1 SC,S3,2,4,65
D1,3,4,2 SC,S3,3,4,62
D1,4,4,3 SC,S3,4,4,59
D2,1,4,0 SC,S3,5,4,56
D2,2,4,1 SC,S3,6,4,53
D2,3,4,2 SC,S3,7,4,50
D2,4,4,3 SC,S3,8,4,47
SC,S3,9,4,45
SC,S3,10,4,42
SC,S3,11,4,39
SC,S3,12,4,36
SC,S3,13,4,33
SC,S3,14,4,30
SC,S3,15,4,27
SC,S3,16,4,24
SC,S3,17,4,22
SC,S3,18,4,19
SC,S3,19,4,16
SC,S3,20,4,13
SC,S3,21,4,10
SC,S3,22,4,7
SC,S3,23,4,4
SC,S3,24,4,1
SC,S3,25,5,0
SC,S3,26,5,1
SC,S3,27,5,2
SC,S3,28,5,3
SC,S3,29,5,4
SC,S3,30,5,5
SC,S3,31,5,6
SC,S3,32,5,7
SC,S3,33,5,8
SC,S3,34,5,9
SC,S3,35,5,10
SC,S3,36,5,11
SC,S3,37,5,12
SC,S3,38,5,13
SC,S3,39,5,14
SC,S3,40,5,15
SC,S3,41,5,16
SC,S3,42,5,17
SC,S3,43,5,18
SC,S3,44,5,19
SC,S3,45,5,20
SC,S3,46,5,21
SC,S3,47,5,22
SC,S3,48,5,23
SC,S3,49,5,24
SC,S3,50,5,25
SC,S3,51,5,26
SC,S3,52,5,27
SC,S3,53,5,28
SC,S3,54,5,29
SC,S3,55,5,30
SC,S3,56,5,31
SC,S3,57,5,32
SC,S3,58,5,33
SC,S3,59,5,34
SC,S3,60,5,35
SC,S3,61,5,36
SC,S3,62,5,37
SC,S3,63,5,38
SC,S3,64,5,39
SC,S3,65,5,40
SC,S3,66,5,41
SC,S3,67,5,42
SC,S3,68,5,43
SC,S3,69,5,44
SC,S3,70,5,45
SC,S3,71,5,46
SC,S3,72,5,47
SC,S3,73,5,48
SC,S3,74,5,49
SC,S3,75,5,50
SC,S3,76,5,51
SC,S3,77,5,52
SC,S3,78,5,53
SC,S3,79,5,54
SC,S3,80,5,55
SC,S3,81,5,56
SC,S3,82,5,57
SC,S3,83,5,58
SC,S3,84,5,59
SC,S3,85,5,60
SC,S3,86,5,61
SC,S3,87,5,62
SC,S3,88,5,63
SC,S3,89,5,64
SC,S3,90,5,65
SC,S3,91,5,66
SC,S3,92,5,67
SC,S3,93,5,68
[2021-01-11 15:55:10,548][1]INFO Server Start
[2021-01-11 15:55:22,275][1]INFO Server Stop
[2021-01-11 15:55:22,304][9]ERROR Socket Close
[2021-01-11 16:11:48,223][1]INFO Server Start
[2021-01-11 15:55:10,554][1]INFO Server Start
[2021-01-11 15:55:22,275][1]INFO Server Stop
[2021-01-11 15:55:22,290][10]ERROR Socket Close
[2021-01-11 16:11:48,228][1]INFO Server Start
[2021-01-11 15:54:41,919][1]INFO =====Load=====
[2021-01-11 15:55:09,772][1]ERROR ReadConfig Error
System.Collections.Generic.KeyNotFoundException: 给定关键字不在字典中。
在 System.Collections.Generic.Dictionary`2.get_Item(TKey key)
在 SmartShelfLight.Program.<>c__DisplayClass1_0.<ReadConfig>b__0(Line s) 位置 C:\Neotel\Program\SmartShelfLight\SmartShelfLight\Program.cs:行号 103
在 System.Collections.Generic.List`1.FindIndex(Int32 startIndex, Int32 count, Predicate`1 match)
在 System.Collections.Generic.List`1.FindIndex(Predicate`1 match)
在 SmartShelfLight.Program.ReadConfig() 位置 C:\Neotel\Program\SmartShelfLight\SmartShelfLight\Program.cs:行号 103
[2021-01-11 15:55:10,255][1]INFO Web服务已开启
[2021-01-11 15:55:22,327][1]INFO Web服务已关闭
[2021-01-11 15:55:22,327][1]INFO =====Exit=====
[2021-01-11 15:56:26,510][1]INFO =====Load=====
[2021-01-11 15:58:27,654][1]INFO =====Load=====
[2021-01-11 16:00:44,769][1]INFO =====Load=====
[2021-01-11 16:02:05,928][1]INFO =====Load=====
[2021-01-11 16:07:04,423][1]INFO =====Load=====
[2021-01-11 16:08:57,619][1]INFO =====Load=====
[2021-01-11 16:11:32,666][1]INFO =====Load=====
[2021-01-11 16:11:47,930][1]INFO 读取配置完成
[2021-01-11 16:11:48,089][1]INFO Web服务已开启
7188c8c0d08329c1acc83713f7cab49f7e3acfe2 91a5c760bf9b82b296ea1e7b9f816059a8aba4f7
...@@ -50,3 +50,21 @@ D:\Neotel\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.CoreC ...@@ -50,3 +50,21 @@ D:\Neotel\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.CoreC
D:\Neotel\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.CopyComplete D:\Neotel\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.CopyComplete
D:\Neotel\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.exe D:\Neotel\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.exe
D:\Neotel\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.pdb D:\Neotel\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.pdb
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\bin\Debug\SmartShelfLight.exe.config
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\bin\Debug\SmartShelfLight.exe
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\bin\Debug\SmartShelfLight.pdb
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.HFRead.dll
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.HiStation.dll
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.IReadAll.dll
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.HFRead.pdb
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.HiStation.pdb
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.IReadAll.pdb
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.FrmMain.resources
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.FrmTest.resources
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.Properties.Resources.resources
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.GenerateResource.cache
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.CoreCompileInputs.cache
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.CopyComplete
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.exe
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.pdb
C:\Neotel\Program\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csprojAssemblyReference.cache
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
</startup>
<appSettings>
<add key="WebService" value="http://10.85.196.40:8088/"/>
<add key="Workshop" value="4C"/>
</appSettings>
</configuration>
\ No newline at end of file \ No newline at end of file
namespace Test
{
partial class FrmMain
{
/// <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.FlpMenu = new System.Windows.Forms.FlowLayoutPanel();
this.SuspendLayout();
//
// FlpMenu
//
this.FlpMenu.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.FlpMenu.Location = new System.Drawing.Point(12, 12);
this.FlpMenu.Name = "FlpMenu";
this.FlpMenu.Size = new System.Drawing.Size(776, 65);
this.FlpMenu.TabIndex = 0;
this.FlpMenu.Paint += new System.Windows.Forms.PaintEventHandler(this.flowLayoutPanel1_Paint);
//
// FrmMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Controls.Add(this.FlpMenu);
this.Name = "FrmMain";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.FlowLayoutPanel FlpMenu;
}
}
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 FrmMain : Form
{
public FrmMain()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void flowLayoutPanel1_Paint(object sender, PaintEventArgs e)
{
}
}
}
<?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 \ 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 FrmMain());
}
}
}
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("c6098d93-f935-43f5-9ad8-aa89fe1091ea")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [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 \ 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>{C6098D93-F935-43F5-9AD8-AA89FE1091EA}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>Test</RootNamespace>
<AssemblyName>Test</AssemblyName>
<TargetFrameworkVersion>v4.6</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="System" />
<Reference Include="System.Core" />
<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="FrmMain.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmMain.Designer.cs">
<DependentUpon>FrmMain.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="FrmMain.resx">
<DependentUpon>FrmMain.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="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 \ No newline at end of file
Workshop,Name,Vendor1,Vendor2,Vendor3,Vendor4,RFID1,RFID2,RFID3,RFID4,LED
4C,C1,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.11,10.85.197.12,10.85.197.13,10.85.197.14,10.85.197.15
4C,C2,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.16,10.85.197.17,10.85.197.18,10.85.197.19,10.85.197.20
4C,C3,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.21,10.85.197.22,10.85.197.23,10.85.197.24,10.85.197.25
4C,C4,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.26,10.85.197.27,10.85.197.28,10.85.197.29,10.85.197.30
4C,C5,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.31,10.85.197.32,10.85.197.33,10.85.197.34,10.85.197.35
4C,C6,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.36,10.85.197.37,10.85.197.38,10.85.197.39,10.85.197.41
4C,C7,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.42,10.85.197.43,10.85.197.44,10.85.197.45,10.85.197.46
4C,C8,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.47,10.85.197.48,10.85.197.49,10.85.197.50,10.85.197.51
4C,C9,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.52,10.85.197.53,10.85.197.54,10.85.197.55,10.85.197.56
4C,C10,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.197.57,10.85.197.58,10.85.197.59,10.85.197.60,10.85.197.61
key,line,place,dmxId,Index
C1,CA,1,4,68
C1,CA,2,4,65
C1,CA,3,4,62
C1,CA,4,4,59
C1,CA,5,4,56
C1,CA,6,4,53
C1,CA,7,4,50
C1,CA,8,4,47
C1,CA,9,4,45
C1,CA,10,4,42
C1,CA,11,4,39
C1,CA,12,4,36
C1,CA,13,4,33
C1,CA,14,4,30
C1,CA,15,4,27
C1,CA,16,4,24
C1,CA,17,4,22
C1,CA,18,4,19
C1,CA,19,4,16
C1,CA,20,4,13
C1,CA,21,4,10
C1,CA,22,4,7
C1,CA,23,4,4
C1,CA,24,4,1
C1,CA,25,5,0
C1,CA,26,5,1
C1,CA,27,5,2
C1,CA,28,5,3
C1,CA,29,5,4
C1,CA,30,5,5
C1,CA,31,5,6
C1,CA,32,5,7
C1,CA,33,5,8
C1,CA,34,5,9
C1,CA,35,5,10
C1,CA,36,5,11
C1,CA,37,5,12
C1,CA,38,5,13
C1,CA,39,5,14
C1,CA,40,5,15
C1,CA,41,5,16
C1,CA,42,5,17
C1,CA,43,5,18
C1,CA,44,5,19
C1,CA,45,5,20
C1,CA,46,5,21
C1,CA,47,5,22
C1,CA,48,5,23
C1,CA,49,5,24
C1,CA,50,5,25
C1,CA,51,5,26
C1,CA,52,5,27
C1,CA,53,5,28
C1,CA,54,5,29
C1,CA,55,5,30
C1,CA,56,5,31
C1,CA,57,5,32
C1,CA,58,5,33
C1,CA,59,5,34
C1,CA,60,5,35
C1,CA,61,5,36
C1,CA,62,5,37
C1,CA,63,5,38
C1,CA,64,5,39
C1,CA,65,5,40
C1,CA,66,5,41
C1,CA,67,5,42
C1,CA,68,5,43
C1,CA,69,5,44
C1,CA,70,5,45
C1,CA,71,5,46
C1,CA,72,5,47
C1,CA,73,5,48
C1,CA,74,5,49
C1,CA,75,5,50
C1,CA,76,5,51
C1,CA,77,5,52
C1,CA,78,5,53
C1,CA,79,5,54
C1,CA,80,5,55
C1,CA,81,5,56
C1,CA,82,5,57
C1,CA,83,5,58
C1,CA,84,5,59
C1,CA,85,5,60
C1,CA,86,5,61
C1,CA,87,5,62
C1,CA,88,5,63
C1,CA,89,5,64
C1,CA,90,5,65
C1,CA,91,5,66
C1,CA,92,5,67
C1,CA,93,5,68
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6", FrameworkDisplayName = ".NET Framework 4.6")]
料架亮灯接口:http://10.85.197.122:8088/ShelfLight
发送的内容:{"RFID":"","Place":""}
料架灭灯接口:http://10.85.197.122:8088/ShelfDark
发送的内容:{"RFID":"","Place":""}
库位转移亮灯接口:http://10.85.197.122:8088/TransferLight
发送的内容:{"RFID":"","Place":""}
这里的RFID是产线的名称,如下。Place:大料1-24,小料25-93
库位转移灭灯接口:http://10.85.197.122:8088/TransferDark
发送的内容:{"RFID":"","Place":""}
这里的RFID是产线的线别,如下。Place:大料1-24,小料25-93
RFID,实际产线
CA C1
CB C2
CC C3
CD C4
CE C5
CF C6
CG C7
CH C8
CI C9
CJ C10
DA D1
DB D2
DC D3
DD D4
DE D5
DF D6
DG D7
DH D8
DI D9
DJ D10
DK D11
DL D12
DM D13
DN D14
DO D15
DP D16
\ No newline at end of file \ No newline at end of file
大料架库位转移亮灯接口,TransferLight
大料架库位转移灭灯接口,TransferDark
接口前面的http和亮灯料架是同一个
Get
TransferLight?line=D1&place=1
TransferDark?line=D1&place=1
Post
TransferLight
Body:line=D1&place=1
TransferDark
Body:line=D1&place=1
\ No newline at end of file \ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!