Commit a68faf17 顾剑亮

上传

0 个父辈
正在显示 64 个修改的文件 包含 3396 行增加0 行删除
{
"CurrentProjectSetting": null
}
\ No newline at end of file \ No newline at end of file
此文件类型无法预览
{
"ExpandedNodes": [
""
],
"PreviewInSolutionExplorer": false
}
\ No newline at end of file \ No newline at end of file
此文件类型无法预览

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30104.148
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SmartShelfLight", "SmartShelfLight\SmartShelfLight.csproj", "{CEB7409B-1A34-4498-A4F1-C391D0997DA5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CEB7409B-1A34-4498-A4F1-C391D0997DA5}.Debug|Any CPU.ActiveCfg = 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.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {09276E5D-1AB5-48DC-8C67-074F69C03D9A}
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<log4net>
<appender name="SmartShelfLight" type="log4net.Appender.RollingFileAppender">
<file value="logs/SmartShelfLight.log"/>
<param name="Encoding" value="UTF-8"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy-MM-dd"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n"/>
</layout>
</appender>
<appender name="Hao_Bin" type="log4net.Appender.RollingFileAppender">
<file value="logs/Hao_Bin.log"/>
<param name="Encoding" value="UTF-8"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy-MM-dd"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n"/>
</layout>
</appender>
<appender name="Pu_Yue" type="log4net.Appender.RollingFileAppender">
<file value="logs/Pu_Yue.log"/>
<param name="Encoding" value="UTF-8"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy-MM-dd"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n"/>
</layout>
</appender>
<logger name="SmartShelfLight">
<level value="Debug" />
<appender-ref ref="SmartShelfLight" />
</logger>
<logger name="Hao_Bin">
<level value="Info" />
<appender-ref ref="Hao_Bin" />
</logger>
<logger name="Pu_Yue">
<level value="Info" />
<appender-ref ref="Pu_Yue" />
</logger>
</log4net>
<appSettings>
<!--<add key="WebService" value="http://10.85.196.40:8088/"/>-->
<add key="WebService" value="http://127.0.0.1:8088/"/>
<add key="FirstLED" value=""/>
<add key="RFIDPort" value="12000"/>
<add key="DwellTime" value="5"/>
<add key ="StatusLedDmx" value ="0"/>
<add key ="ColorRuleConfig" value ="RGB"/>
</appSettings>
</configuration>
\ No newline at end of file \ No newline at end of file
using SmartShelf.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace SmartShelf.DeviceLibrary
{
public class LEDManager
{
public static Dictionary<string, LEDBaseModule> deviceMap = new Dictionary<string, LEDBaseModule>();
public static byte DefaultLight = 100;
public static string ColorRule = ConfigAppSettings.GetValue("ColorRuleConfig").ToUpper();
public static string DefaultIP = ""; //Program.cs 有设置
public static LEDBaseModule GetLedModule(string ip)
{
LEDBaseModule led = null;
if (deviceMap.ContainsKey(ip))
{
led = deviceMap[ip];
}
else
{
led = LEDBaseModule.GetModule(ip);
deviceMap.Add(ip, led);
}
return led;
}
public static void Init()
{
ColorRule = ConfigAppSettings.GetValue("ColorRuleConfig").ToUpper();
if (ColorRule.Length == 3 && ColorRule.Contains("R") && ColorRule.Contains("G") && ColorRule.Contains("B"))
{
}
else
{
LEDManager.ColorRule = "RGB";
ConfigAppSettings.SaveValue("ColorRuleConfig", LEDManager.ColorRule);
}
LoadStatusDMX();
}
public static void LoadStatusDMX()
{
StatusLedDmx = new List<int>();
string str = ConfigAppSettings.GetValue("StatusLedDmx");
if (String.IsNullOrEmpty(str))
{
str = "0";
ConfigAppSettings.SaveValue("StatusLedDmx", str);
}
string[] array = str.Split(';');
foreach (string s in array)
{
try
{
int a = Convert.ToInt32(s);
StatusLedDmx.Add(a);
}
catch (Exception ex)
{
}
}
}
/// <summary>
/// 1=绿灯,2=黄灯
/// </summary>
public static int CurrLedStatus = -1;
private static List<int> StatusLedDmx = new List<int>();
/// <summary>
/// 打开状态灯
/// </summary>
public static void OpenStatusLights(string color = "green")
{
CloseStatusLights("");
foreach (LEDBaseModule module in deviceMap.Values)
{
List<Light> sLed = new List<Light>();
foreach (int dmx in StatusLedDmx)
{
for (int index = 0; index < module.Max_Light; index++)
{
if ("green".Equals(color))
{
CurrLedStatus = 1;
sLed.Add(Light.GreenLight(dmx, index));
}
else if ("yellow".Equals(color))
{
CurrLedStatus = 2;
sLed.Add(Light.YellowLight(dmx, index));
}
}
}
module.LightOn(sLed.ToArray());
}
}
/// <summary>
/// 关闭状态灯
/// </summary>
/// <param name="color"></param>
public static void CloseStatusLights(string color = "")
{
CurrLedStatus = 0;
foreach (LEDBaseModule module in deviceMap.Values)
{
foreach (int dmx in StatusLedDmx)
{
module.AllLightOff(dmx);
}
}
}
}
public abstract class LEDBaseModule
{
protected ushort Max_DMX = 16;
public int Max_Light = 170;
public string ModuleIP = "";
public static LEDBaseModule GetModule(string ip)
{
//if (LEDManager.DeviceLedType.Equals(1))
//{
// LEDColorModule module = new LEDColorModule(ip);
// return module;
//}
//else if (LEDManager.DeviceLedType.Equals(2))
//{
LEDColorArtNet module = new LEDColorArtNet(ip);
return module;
//}
//else
//{
// LEDSingleModule module = new LEDSingleModule(ip);
// return module;
//}
}
internal LEDBaseModule(string ip)
{
ModuleIP = ip;
}
public abstract void AllLightOff(int dmx = -1);
public abstract void AllLightOn(int dmx = -1);
public abstract void AllLightOn(Light light);
public abstract void OnlyLightOn(params Light[] lights);
public abstract void LightOn(params Light[] lights);
public abstract void LightOff(int dmx, params int[] lightIndexs);
public abstract void LightOff(params Light[] lights);
/// <summary>
/// 打包方法,可以将十六制字符串转成byte[] ,字符串没有空格
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
protected byte[] StringToByte(string s)
{
string temps = s.Replace(" ", "").Replace(":", "");
if (temps.Length % 2 != 0)
{
temps = "0" + temps;
}
byte[] tempb = new byte[temps.Length / 2];
int j = 0;
for (int i = 0; i < temps.Length; i = i + 2, j++)
{
tempb[j] = Convert.ToByte(temps.Substring(i, 2), 16);
}
byte[] send = new byte[j];
Array.Copy(tempb, send, j);
return send;
}
}
public class Light
{
public static string defaultColor = "green";
public static byte defaultR = 0;
public static byte defaultG = 50;
public static byte defaultB = 0;
public static Light DefaultLight(int dmxId, int index)
{
return new Light(dmxId, index, defaultR, defaultG, defaultB, 200);
}
public static Light GetLight(int dmxId, int index, string color = "green")
{
return GetLight(dmxId, index, color, 50);
}
public static Light[] GetLights(int dmxId, string color, params int[] indexes)
{
List<Light> lights = new List<Light>();
foreach (int index in indexes)
{
lights.Add(GetLight(dmxId, index, color));
}
return lights.ToArray();
}
public static Light GetLight(int dmxId, int index, string color, byte bright)
{
color = color.ToLower();
switch (color)
{
case "green":
return GreenLight(dmxId, index, bright);
case "red":
return RedLight(dmxId, index, bright);
case "yellow":
return YellowLight(dmxId, index, bright);
case "blue":
return BlueLight(dmxId, index, bright);
}
return DefaultLight(dmxId, index);
}
public static Light RedLight(int dmxId, int index, byte bright = 50)
{
return new Light(dmxId, index, bright, 0, 0);
}
public static Light YellowLight(int dmxId, int index, byte bright = 50)
{
return new Light(dmxId, index, bright, bright, 0);
}
public static Light BlueLight(int dmxId, int index, byte bright = 50)
{
return new Light(dmxId, index, 0, 0, bright);
}
public static Light GreenLight(int dmxId, int index, byte bright = 50)
{
return new Light(dmxId, index, 0, bright, 0);
}
public static Light CyanLight(int dmxId, int index)
{
return new Light(dmxId, index, 0, 255, 255);
}
public static Light ChocolateLight(int dmxId, int index)
{
return new Light(dmxId, index, 210, 105, 30);
}
public Light(int dmxId, int index, byte Red, byte Green, byte Blue, byte lightValue = 200)
{
this.dmx = dmxId;
this.index = index;
this.Red = Red;
this.Green = Green;
this.Blue = Blue;
this.lightValue = lightValue;
}
public int index { get; set; }
public byte Red { get; set; }
public byte Green { get; set; }
public byte Blue { get; set; }
/// <summary>
/// 单色灯
/// </summary>
public static Light[] GetLights(int dmx, List<int> leds, byte light = 200)
{
Light[] lights = new Light[leds.Count];
int i = 0;
foreach (int led in leds)
{
lights[i] = new Light(dmx, led, light);
i++;
}
return lights;
}
/// <summary>
/// 单色灯
/// </summary>
/// <param name="dmx">区域ID</param>
/// <param name="index">索引号</param>
/// <param name="lightValue">亮度</param>
public Light(int dmx, int index, byte lightValue)
{
this.index = index;
this.dmx = dmx;
this.lightValue = lightValue;
}
public int dmx = -1;
public byte lightValue = LEDManager.DefaultLight;
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Threading;
using System.Xml;
using System.Windows.Forms;
using log4net;
namespace SmartShelf.Common
{
public class ConfigAppSettings
{
public static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private static int seq = 1;
public static int nextSeq()
{
if (seq.Equals(Int32.MaxValue))
{
LOGGER.Info("seq当前值:" + seq + ",重置seq=0");
seq = 0;
}
Interlocked.Increment(ref seq);
return seq;
}
public static string GetValue(string keyStr, string storeStr)
{
string key = keyStr + storeStr;
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] == null)
{
return GetValue(keyStr);
}
else
{
return config.AppSettings.Settings[key].Value;
}
}
public static decimal GetNumValue(string keyStr, string storeStr)
{
string key = keyStr + storeStr;
decimal a = 0;
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] == null)
{
return GetNumValue(keyStr);
}
else
{
{
Decimal.TryParse(config.AppSettings.Settings[key].Value, out a);
}
}
return a;
}
public static int GetIntValue(string keyStr, string storeStr)
{
string key = keyStr + storeStr;
int a = 0;
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] == null)
{
return GetIntValue(keyStr);
}
else
{
{
Int32.TryParse(config.AppSettings.Settings[key].Value, out a);
}
} return a;
}
public static string GetValue(string key)
{
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] == null)
{
LOGGER.Error("未找到配置:" + key + ",请检查配置是否完整!");
return "";
}
else
{
return config.AppSettings.Settings[key].Value;
}
}
public static int GetIntValue(object aCBaudRate)
{
throw new NotImplementedException();
}
public static decimal GetNumValue(string key)
{
decimal a = 0;
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] == null)
{
LOGGER.Error("未找到配置:" + key + ",请检查配置是否完整!");
return a;
}
else
{
{
Decimal.TryParse(config.AppSettings.Settings[key].Value, out a);
}
}
return a;
}
public static int GetIntValue(string key)
{
int a = 0;
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] == null)
{
LOGGER.Error("未找到配置:" + key + ",请检查配置是否完整!");
return a;
}
else
{
{
Int32.TryParse(config.AppSettings.Settings[key].Value, out a);
}
} return a;
}
public static void SaveValue(string key, int value)
{
SaveValue(key, value.ToString());
}
public static void SaveValue(string key, string value)
{
try
{
if (key.Equals("") || value.Equals(""))
{
return;
}
//增加的内容写在appSettings段下 <add key="RegCode" value="0"/>
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (config.AppSettings.Settings[key] == null)
{
SetValue(key, value);
}
else
{
UpdateConfig(key, value);
}
}
catch (Exception ex)
{
SmartShelfLight.Common.log.Error( "SaveValue保存配置出错:AppKey=" + key + ",AppValue=" + value + "," + ex.StackTrace);
}
}
/// <summary>
/// 更新配置文件信息
/// </summary>
/// <param name="name">配置文件字段名称</param>
/// <param name="Xvalue">值</param>
private static void UpdateConfig(string name, string Xvalue)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(Application.ExecutablePath + ".config");
XmlNode node = doc.SelectSingleNode(@"//add[@key='" + name + "']");
XmlElement ele = (XmlElement)node;
ele.SetAttribute("value", Xvalue);
doc.Save(Application.ExecutablePath + ".config");
}
catch (Exception ex)
{
SmartShelfLight.Common.log.Error("UpdateConfig保存配置出错:name=" + name + ",Xvalue=" + Xvalue + "," + ex.StackTrace);
}
}
///<summary>
///向.config文件的appKey结写入信息AppValue 保存设置
///</summary>
///<param name="AppKey">节点名</param>
///<param name="AppValue">值</param>
private static void SetValue(String AppKey, String AppValue)
{
try
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config");
XmlNode xNode;
XmlElement xElem1;
XmlElement xElem2;
xNode = xDoc.SelectSingleNode("//appSettings");
xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']");
if (xElem1 != null)
xElem1.SetAttribute("value", AppValue);
else
{
xElem2 = xDoc.CreateElement("add");
xElem2.SetAttribute("key", AppKey);
xElem2.SetAttribute("value", AppValue);
xNode.AppendChild(xElem2);
}
xDoc.Save(System.Windows.Forms.Application.ExecutablePath + ".config");
}
catch (Exception ex)
{
SmartShelfLight.Common.log.Error("SetValue保存配置出错:AppKey=" + AppKey + ",AppValue=" + AppValue + "," + ex.StackTrace);
}
}
public static string GetValue(object debugPosId)
{
throw new NotImplementedException();
}
public static void SaveValue(object default_Language, string str)
{
throw new NotImplementedException();
}
}
}
using SmartShelfLight;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
namespace SmartShelf.DeviceLibrary
{
/// <summary>
/// 三色灯ArtNet协议,RGB,红蓝绿
/// </summary>
public class LEDColorArtNet : LEDBaseModule
{
//private const ushort Max_DMX = 16;
//private int Max_Light = 170;
private int datalength = 512;
private List<byte[]> dmxDatas = null;
private string phyIP = "";
private string phyAddr = "00";
private IPEndPoint iep = null;
internal LEDColorArtNet(string ip) : base(ip)
{
this.phyIP = ip;
if (!String.IsNullOrEmpty(LEDManager.DefaultIP))
{
try
{
string[] array = phyIP.Split('.');
if (array.Length == 4)
{
int addr = Convert.ToInt32(array[3]);
phyAddr = ((byte)addr).ToString("X2");
}
}
catch (Exception ex)
{
SmartShelfLight.Common.log.Error("IP【" + ip + "】解析phyAddr出错:" + ex.ToString());
}
iep = new IPEndPoint(IPAddress.Parse(LEDManager.DefaultIP), 6454);
}
else
{
//phyAddr = "00";
string[] array = phyIP.Split('.');
if (array.Length == 4)
{
int addr = Convert.ToInt32(array[3]);
phyAddr = ((byte)addr).ToString("X2");
}
iep = new IPEndPoint(IPAddress.Parse(ip), 6454);
}
Max_Light = 170;
Max_DMX = 16;
datalength = 512;
Max_Light = datalength / 3;
dmxDatas = new List<byte[]>(Max_DMX);
AllLightOff();
}
private void InitDatas()
{
dmxDatas = new List<byte[]>(Max_DMX);
for (int i = 0; i < Max_DMX; i++)
{
dmxDatas.Add(new byte[datalength]);
}
}
private void UpdateLightData(int dmx, int index, byte red = 0, byte green = 0, byte blue = 0)
{
int ldmx = dmx;
int lIndex = index;
if (index >= Max_Light)
{
ldmx = index / Max_Light;
lIndex = index % Max_Light;
}
if (ldmx >= dmxDatas.Count)
{
SmartShelfLight.Common.log.Error(" UpdateLightData error: dmx [" + ldmx + "] MAX_UNI[" + Max_DMX + "]");
return;
}
byte[] data = dmxDatas[ldmx];
int redIndex = LEDManager.ColorRule.IndexOf('R');
int greedIndex = LEDManager.ColorRule.IndexOf('G');
int blueIndex = LEDManager.ColorRule.IndexOf('B');
//SPI第二通道为蓝色,DMX第二通道为绿色
data[lIndex * 3+redIndex] = red;
data[lIndex * 3 + greedIndex] = green;
data[lIndex * 3 + blueIndex] = blue;
////SPI第二通道为蓝色,DMX第二通道为绿色
//data[lIndex * 3] = red;
//data[lIndex * 3 + 1] = green;
//data[lIndex * 3 + 2] = blue;
}
public override void AllLightOff(int dmx = -1)
{
InitDatas();
PushToDevice();
}
public override void AllLightOn(int dmx = -1)
{
AllLightOn(Light.DefaultLight(dmx, 1));
}
public override void AllLightOn(Light light)
{
for (int i = 0; i < Max_DMX; i++)
{
byte[] data = dmxDatas[i];
for (int index = 0; index < Max_Light; index++)
{
UpdateLightData(i, index, light.Red, light.Green, light.Blue);
}
}
PushToDevice();
}
/// <summary>
/// 只有某些灯亮,其他灯灭掉
/// </summary>
/// <param name="lights"></param>
public override void OnlyLightOn(params Light[] lights)
{
AllLightOff();
LightOn(lights);
}
/// <summary>
/// 在之前的状态之上点亮某些灯
/// </summary>
/// <param name="lights"></param>
public override void LightOn(params Light[] lights)
{
foreach (Light light in lights)
{
UpdateLightData(light.dmx, light.index, light.Red, light.Green, light.Blue);
}
PushToDevice();
}
public override void LightOff(int dmx, params int[] lightIndexs)
{
foreach (int lightId in lightIndexs)
{
UpdateLightData(dmx, lightId, 0, 0, 0);
}
PushToDevice();
}
public override void LightOff(params Light[] lights)
{
foreach (Light light in lights)
{
UpdateLightData(light.dmx, light.index, 0, 0, 0);
}
PushToDevice();
}
private void PushToDevice()
{
//闲置的时候会有不起作用的情况,这里多发几遍
for (int time = 0; time < 2; time++)
{
UdpClient myUdpClient = new UdpClient();
try
{
for (int i = 0; i < dmxDatas.Count; i++)
{
byte[] toSend = ToSPIData(i, dmxDatas[i]);
myUdpClient.Send(toSend, toSend.Length, iep);
}
}
catch (Exception err)
{
Console.WriteLine("发送失败");
}
finally
{
myUdpClient.Close();
}
}
}
/// <summary>
/// 46:51:35:31:32:4e:65:74: 数据包头[16]
//0b:00: OpCode
//40:
//06: 序列号
//00:
//01: 更新标准:0=写到缓存,未输出到dmxData;1=无缓存,立即输出到dmxData
//03: 0=没有广播,只控制指定域;1=对设备的所有端口广播;2=对某个子网内的所有域广播;3,对网络下的所有子网广播;0xff=对所有网络设备的所有口广播
//34: 字节的高4位为子网,字节的低4位为dmxData域,;子网:0~15,DMX域:0~15;
//02: IP灯光网络地址:0~127
//02:00: 通道数512
//00:00:00: 第0个灯RBG
//00:00:00: 第1个灯RBG
//...: 第n个灯RBG
/// </summary>
/// <returns></returns>
private byte[] ToSPIData(int dmxIndex, byte[] dmxData)
{
string ID = "41:72:74:2D:4E:65:74:00:";// 8字节数据包头: "FQ512Net"
//string head = "46:51:35:31:32:4e:65:74:";// 8字节数据包头: "FQ512Net"
string OpCode = "00:50:"; //指令2字节
string ProVer = "000e";
string seq = "00";
string phy = "00";
phy = phyAddr;
string SubUni = "00";
SubUni = String.Format("{0:X}", dmxIndex).PadLeft(2, '0');
string Net = "00";
int len = dmxData.Length;
string str = String.Format("{0:X}", dmxData.Length).PadLeft(4, '0');
string length = "0200";
length = str;
//string Broadcast = "0";//0=没有广播,只控制指定域;1=对设备的所有端口广播;2=对某个子网内的所有域广播;3,对网络下的所有子网广播;0xff=对所有网络设备的所有口广播
//string SubUni = "00";// IP灯光子网地址:0~255;子网又可分,字节的高4位为子网,字节的低4位为dmxData域,;子网:0~15,DMX域:0~15;
//string net = "" + dmxIndex + "00"; //IP灯光网络地址:0~127
string preStr = ID + OpCode + ProVer + seq + phy + SubUni + Net + length;
// preStr = "4172742d4e657400:0050:";
byte[] preBytes = StringToByte(preStr);
byte[] toSend = new byte[preBytes.Length + dmxData.Length];
Array.Copy(preBytes, 0, toSend, 0, preBytes.Length);
Array.Copy(dmxData, 0, toSend, preBytes.Length, dmxData.Length);
return toSend;
}
//41 72 74 2D 4E 65 74 00 00 20 00 0E 00 00
// Artnet 地址
//Artnet 协议中,设备的设置一般为 X:Y,其中 X 为 subnet, Y 为 universe,均为 16
//进制,共可以容纳 256 个 Universe。此时对应的控台端,当设置对应的 Universe
//的时候应注意 16 进制到 10 进制的转换。比如 Artnet 协议设备端(Arkaos)设
//置为 2:1,则控台端应设备为 16*2+1 = 33.
//控台的 IP 地址应设置为:2.B.C.D ,其中 BCD 为 0-255
//41 72 74 2D 4E 65 74 00 00 50 00 0E 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
}
}
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Runtime.Serialization;
using System.ServiceModel.Activation;
using SmartShelfLight;
using System.IO;
namespace BLL
{
[ServiceContract(Name = "Services")]
public interface IWebService
{
#region Get
[OperationContract]
[WebGet(UriTemplate = "ShelfLight?rfid={rfid}&place={place}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result ShelfLight_Get(string rfid, string place);
[OperationContract]
[WebGet(UriTemplate = "ShelfDark?rfid={rfid}&place={place}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result ShelfDark_Get(string rfid, string place);
#endregion
#region Post Json
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "ShelfLight", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result ShelfLight_Post(Info info);
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "ShelfDark", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result ShelfDark_Post(Info info);
#endregion
#region Post x-www-form-urlencoded
//[OperationContract]
//[WebInvoke(Method = "POST", UriTemplate = "StealAgv/takeOld", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
//Result takeOld(Stream info);
//[OperationContract]
//[WebInvoke(Method = "POST", UriTemplate = "StealAgv/sendNew", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
//Result sendNew(Stream info);
#endregion
#region TEST
[OperationContract]
[WebGet(UriTemplate = "StealAgv/takeOld?Place={place}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result takeOld1(string place);
[OperationContract]
[WebGet(UriTemplate = "StealAgv/sendNew?PlaceList={place}", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result sendNew1(string place);
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "StealAgv/takeOld", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result takeOld2(Stream info);
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "StealAgv/sendNew", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
Result sendNew2(Stream info);
#endregion
}
[DataContract]
public class Info
{
[DataMember]
public string RFID { get; set; }
[DataMember]
public string Place { get; set; }
}
[DataContract]
public class Result
{
[DataMember]
public int Code { get; set; }
[DataMember]
public string Msg { get; set; }
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Single, IncludeExceptionDetailInFaults = true)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class WebService : IWebService
{
public delegate void UpdateLightEvent(int lineIndex, int rfidIndex);
public event UpdateLightEvent UpdateLight;
public WebService()
{
}
public Result ShelfLight_Get(string rfid, string place)
{
Common.log.Info("ShelfLight[GET] rfid=" + rfid + ", place=" + place);
return Light(rfid, place);
}
public Result ShelfDark_Get(string rfid, string place)
{
Common.log.Info("ShelfDark[GET] rfid=" + rfid + ", place=" + place);
return Dark(rfid, place);
}
public Result ShelfLight_Post(Info info)
{
Common.log.Info("ShelfLight[POST] rfid=" + info.RFID + ", place=" + info.Place);
return Light(info.RFID, info.Place);
}
public Result ShelfLight_Post(Stream info)
{
StreamReader sr = new StreamReader(info);
string query = sr.ReadToEnd();
System.Collections.Specialized.NameValueCollection name = System.Web.HttpUtility.ParseQueryString(query);
Common.log.Info("ShelfLight[POST] rfid=" + name["RFID"] + ", place=" + name["Place"]);
return Light(name["RFID"], name["Place"]);
}
public Result ShelfDark_Post(Info info)
{
Common.log.Info("ShelfDark[POST] rfid=" + info.RFID + ", place=" + info.Place);
return Dark(info.RFID, info.Place);
}
public Result ShelfDark_Post(Stream info)
{
StreamReader sr = new StreamReader(info);
string query = sr.ReadToEnd();
System.Collections.Specialized.NameValueCollection name = System.Web.HttpUtility.ParseQueryString(query);
Common.log.Info("ShelfDark[POST] rfid=" + name["RFID"] + ", place=" + name["Place"]);
return Dark(name["RFID"], name["Place"]);
}
public Result takeOld1(string place)
{
Common.log.Info("钢网 takeOld[GET] place=" + place);
Result res = new Result();
res.Code = 0;
res.Msg = "OK";
return res;
}
public Result sendNew1(string place)
{
Common.log.Info("钢网 sendNew[GET] place=" + place);
Result res = new Result();
res.Code = 0;
res.Msg = "OK";
return res;
}
public Result takeOld2(Stream info)
{
Common.log.Info("钢网 takeOld[POST]");
Result res = new Result();
res.Code = 0;
res.Msg = "OK";
return res;
}
public Result sendNew2(Stream info)
{
Common.log.Info("钢网 sendNew[POST]");
Result res = new Result();
res.Code = 0;
res.Msg = "OK";
return res;
}
private Result Light(string rfid, string place)
{
Result res = new Result();
//Common.log.Debug("Web调用Light");
bool rtn = Common.FindRfidID(rfid, out int lineIndex, out int rfidIndex);
if (rtn)
{
rtn = int.TryParse(place, out int result);
if (rtn)
{
if (result > 0 && result < 93)
{
Common.lines[lineIndex].LED.LightOn(SmartShelf.DeviceLibrary.Light.BlueLight(rfidIndex, result - 1, 50));
//if (Common.lines[lineIndex].LED_Light[rfidIndex] == "")
// Common.lines[lineIndex].LED_Light[rfidIndex] = place;
//else
// Common.lines[lineIndex].LED_Light[rfidIndex] += "," + place;
Common.lines[lineIndex].LED_Place[result - 1] = true;
Common.log.Info("亮灯 RFID=" + rfid + " place=" + place + " dmxId=" + rfidIndex + " index=" + (result - 1).ToString());
UpdateLight?.Invoke(lineIndex, rfidIndex);
res.Code = 0;
res.Msg = "OK";
}
else
{
res.Code = -3;
res.Msg = "Place[" + place + "] not between 1 and 92";
}
}
else
{
res.Code = -2;
res.Msg = "Place[" + place + "] isn't a number";
}
}
else
{
res.Code = -1;
res.Msg = "RFID[" + rfid + "] not found";
}
Common.log.Info("ShelfLight[Response] code=" + res.Code + ", msg=" + res.Msg);
return res;
}
private Result Dark(string rfid, string place)
{
Result res = new Result();
bool rtn = Common.FindRfidID(rfid, out int lineIndex, out int rfidIndex);
if (rtn)
{
rtn = int.TryParse(place, out int result);
if (rtn)
{
if (result > 0 && result < 93)
{
Common.lines[lineIndex].LED.LightOff(SmartShelf.DeviceLibrary.Light.BlueLight(rfidIndex, result - 1, 50));
//if (Common.lines[lineIndex].LED_Light[rfidIndex] == place)
// Common.lines[lineIndex].LED_Light[rfidIndex] = "";
//else if (Common.lines[lineIndex].LED_Light[rfidIndex].StartsWith(place))
// Common.lines[lineIndex].LED_Light[rfidIndex] = Common.lines[lineIndex].LED_Light[rfidIndex].Replace(place + ",", "");
//else if (Common.lines[lineIndex].LED_Light[rfidIndex].EndsWith(place))
// Common.lines[lineIndex].LED_Light[rfidIndex] = Common.lines[lineIndex].LED_Light[rfidIndex].Replace("," + place, "");
//else
// Common.lines[lineIndex].LED_Light[rfidIndex] = Common.lines[lineIndex].LED_Light[rfidIndex].Replace("," + place, "");
Common.lines[lineIndex].LED_Place[result - 1] = false;
Common.log.Info("灭灯 RFID=" + rfid + " place=" + place + " dmxId=" + rfidIndex + " index=" + (result - 1).ToString());
UpdateLight?.Invoke(lineIndex, rfidIndex);
res.Code = 0;
res.Msg = "OK";
}
else
{
res.Code = -3;
res.Msg = "Place[" + place + "] not between 1 and 92";
}
}
else
{
res.Code = -2;
res.Msg = "Place[" + place + "] isn't a number";
}
}
else
{
res.Code = -1;
res.Msg = "RFID[" + rfid + "] not found";
}
Common.log.Info("ShelfDark[Response] code=" + res.Code + ", msg=" + res.Msg);
return res;
}
}
}
using SmartShelf.DeviceLibrary;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Runtime.InteropServices;
using System.ServiceModel.Web;
namespace SmartShelfLight
{
public static class WebService
{
private static WebServiceHost _serviceHost;
public static bool Open(string url)
{
try
{
Common.service = new BLL.WebService();
_serviceHost = new WebServiceHost(Common.service, new Uri(url));
_serviceHost.Open();
Common.log.Info("Web服务已开启");
return true;
}
catch (Exception ex)
{
Common.log.Error("WebServiceOpen", ex);
return false;
}
}
public static void Close()
{
if (_serviceHost != null)
_serviceHost.Close();
Common.log.Info("Web服务已关闭");
}
}
public static class Common
{
public static System.Configuration.Configuration appConfig;
public static bool serverOpen;
public static List<Line> lines;
public static log4net.ILog log;
//public static Asa.RFID.ReadAll rfid;
public static Asa.RFID.ReadAll1 reader1;
public static Asa.RFID.ReadAll2 reader2;
/// <summary>
/// RFID公司,浩斌,第一次使用的设备
/// </summary>
public static string RFID_HaoBin = "Hao_Bin";
/// <summary>
/// RFID公司,普阅,第二次使用的设备
/// </summary>
public static string RFID_PuYue = "Pu_Yue";
/// <summary>
/// 料架停留时间
/// </summary>
public static int dwellTime;
public static BLL.WebService service;
private static readonly string RFID_PATH = Environment.CurrentDirectory + "\\Config\\RFID_Cache.csv";
/// <summary>
/// 根据IP查找RFID
/// </summary>
/// <param name="ip"></param>
/// <param name="lineIndex"></param>
/// <param name="rfidIndex"></param>
/// <returns></returns>
public static bool FindRfidIP(string ip, out int lineIndex, out int rfidIndex)
{
bool rtn = false;
lineIndex = -1;
rfidIndex = -1;
for (int i = 0; i < lines.Count; i++)
{
int idx = Array.FindIndex(lines[i].RFID_IP, s => s == ip);
if (idx > -1)
{
lineIndex = i;
rfidIndex = idx;
rtn = true;
break;
}
}
return rtn;
}
/// <summary>
/// 根据ID查找RFID,需要大于指定停留时间
/// </summary>
/// <param name="id"></param>
/// <param name="lineIndex"></param>
/// <param name="rfidIndex"></param>
/// <returns></returns>
public static bool FindRfidID(string id, out int lineIndex, out int rfidIndex)
{
bool rtn = false;
lineIndex = -1;
rfidIndex = -1;
//string t = "FindRfidID ";
//for (int i = 0; i < lines.Count; i++)
// t += (i + 1).ToString() + "->" + string.Join(",", lines[i].RFID_ID) + " ";
//log.Debug(t);
for (int i = 0; i < lines.Count; i++)
{
int idx = Array.FindIndex(lines[i].RFID_ID, s => s == id);
if (idx > -1)
{
long time = DateTime.Now.Ticks - lines[i].RFID_DwellTime[idx];
time /= 10000; //转毫秒
time /= 1000; //转秒
if (time >= dwellTime)
{
lineIndex = i;
rfidIndex = idx;
rtn = true;
}
break;
}
}
return rtn;
}
/// <summary>
/// 清除指定值的RFID
/// </summary>
/// <param name="id"></param>
public static void ClearRfidID(string id)
{
for (int i = 0; i < lines.Count; i++)
{
for (int j = 0; j < lines[i].RFID_ID.Length; j++)
{
if (lines[i].RFID_ID[j] == id)
{
lines[i].RFID_ID[j] = "";
//reader2.Clear(lines[i].RFID_IP[j]);
}
}
}
}
public static void SaveRfidID()
{
if (lines == null) return;
List<string> content = new List<string>();
for (int i = 0; i < lines.Count; i++)
{
for (int j = 0; j < lines[i].RFID_IP.Length; j++)
content.Add(lines[i].RFID_IP[j] + "," + lines[i].RFID_ID[j]);
}
File.WriteAllLines(RFID_PATH, content, System.Text.Encoding.UTF8);
}
public static void LoadRfidID()
{
if (lines == null) return;
if (!File.Exists(RFID_PATH)) return;
string[] content = File.ReadAllLines(RFID_PATH, System.Text.Encoding.UTF8);
for (int i = 0; i < lines.Count; i++)
{
for (int j = 0; j < lines[i].RFID_IP.Length; j++)
{
int index = Array.FindIndex(content, s => s.StartsWith(lines[i].RFID_IP[j]));
if (index == -1) continue;
string[] t = content[index].Split(',');
lines[i].RFID_ID[j] = t[1];
}
}
}
}
public struct Line
{
/// <summary>
/// 产线名称
/// </summary>
public string Name;
/// <summary>
/// LED控制器的IP
/// </summary>
public string LED_IP;
/// <summary>
/// LED控制
/// </summary>
public LEDBaseModule LED;
/// <summary>
/// LED亮灯位置
/// </summary>
public bool[] LED_Place;
/// <summary>
/// RFID的IP地址
/// </summary>
public string[] RFID_IP;
/// <summary>
/// RFID的标签ID
/// </summary>
public string[] RFID_ID;
/// <summary>
/// RFID的料架停留时间
/// </summary>
public long[] RFID_DwellTime;
/// <summary>
/// RFID的料架获取时间
/// </summary>
public long[] RFID_GainTime;
/// <summary>
/// RFID类型
/// </summary>
public string[] RFID_Type;
}
}
namespace SmartShelfLight
{
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()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
this.LblWeb = new System.Windows.Forms.Label();
this.DgvLight = new System.Windows.Forms.DataGridView();
this.BtnTest = new System.Windows.Forms.Button();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewButtonColumn();
((System.ComponentModel.ISupportInitialize)(this.DgvLight)).BeginInit();
this.SuspendLayout();
//
// LblWeb
//
this.LblWeb.Location = new System.Drawing.Point(12, 9);
this.LblWeb.Name = "LblWeb";
this.LblWeb.Size = new System.Drawing.Size(118, 30);
this.LblWeb.TabIndex = 2;
this.LblWeb.Text = "WebService";
this.LblWeb.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// DgvLight
//
this.DgvLight.AllowUserToAddRows = false;
this.DgvLight.AllowUserToDeleteRows = false;
this.DgvLight.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.DgvLight.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.DgvLight.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column1,
this.Column4,
this.Column3,
this.Column2});
this.DgvLight.Location = new System.Drawing.Point(12, 42);
this.DgvLight.Name = "DgvLight";
this.DgvLight.ReadOnly = true;
this.DgvLight.RowHeadersWidth = 48;
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.DgvLight.RowsDefaultCellStyle = dataGridViewCellStyle4;
this.DgvLight.RowTemplate.Height = 23;
this.DgvLight.Size = new System.Drawing.Size(597, 332);
this.DgvLight.TabIndex = 3;
this.DgvLight.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.DgvLight_CellContentClick);
//
// BtnTest
//
this.BtnTest.Location = new System.Drawing.Point(514, 12);
this.BtnTest.Name = "BtnTest";
this.BtnTest.Size = new System.Drawing.Size(95, 24);
this.BtnTest.TabIndex = 4;
this.BtnTest.Text = "测试";
this.BtnTest.UseVisualStyleBackColor = true;
this.BtnTest.Click += new System.EventHandler(this.BtnTest_Click);
//
// Column1
//
this.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
dataGridViewCellStyle1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Column1.DefaultCellStyle = dataGridViewCellStyle1;
this.Column1.HeaderText = "名称";
this.Column1.Name = "Column1";
this.Column1.ReadOnly = true;
this.Column1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.Column1.Width = 70;
//
// Column4
//
this.Column4.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None;
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Column4.DefaultCellStyle = dataGridViewCellStyle2;
this.Column4.HeaderText = "RFID";
this.Column4.Name = "Column4";
this.Column4.ReadOnly = true;
this.Column4.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.Column4.Width = 70;
//
// Column3
//
this.Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
dataGridViewCellStyle3.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Column3.DefaultCellStyle = dataGridViewCellStyle3;
this.Column3.HeaderText = "亮灯";
this.Column3.Name = "Column3";
this.Column3.ReadOnly = true;
this.Column3.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// Column2
//
this.Column2.HeaderText = "修改";
this.Column2.Name = "Column2";
this.Column2.ReadOnly = true;
this.Column2.Width = 80;
//
// FrmMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(621, 386);
this.Controls.Add(this.BtnTest);
this.Controls.Add(this.DgvLight);
this.Controls.Add(this.LblWeb);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmMain";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "料架亮灯";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMain_FormClosing);
this.Load += new System.EventHandler(this.FrmMain_Load);
((System.ComponentModel.ISupportInitialize)(this.DgvLight)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label LblWeb;
private System.Windows.Forms.DataGridView DgvLight;
private System.Windows.Forms.Button BtnTest;
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
private System.Windows.Forms.DataGridViewTextBoxColumn Column4;
private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
private System.Windows.Forms.DataGridViewButtonColumn Column2;
}
}
using SmartShelf.DeviceLibrary;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SmartShelfLight
{
public partial class FrmMain : Form
{
//private System.Threading.Thread tClearRfid;
//private bool exit = false;
//private NotifyIcon notify;
//private ContextMenuStrip notifyMenu;
public FrmMain()
{
InitializeComponent();
}
//private void ClearRfid()
//{
// while (true)
// {
// if (exit) break;
// System.Threading.Thread.Sleep(1000);
// for (int i = 0; i < Common.lines.Count; i++)
// {
// for (int j = 0; j < Common.lines[i].RFID_GainTime.Length; j++)
// {
// long time = DateTime.Now.Ticks - Common.lines[i].RFID_GainTime[j];
// time /= 10000; //转毫秒
// time /= 1000; //转秒
// if (time >= 3) //超过3s没有更新,认为架子已经离开
// {
// Common.ClearRfidID(Common.lines[i].RFID_ID[j]);
// DgvLight.Rows[i * 4 + j].Cells[1].Value = "";
// }
// }
// }
// }
//}
//private void ItemShow_Click(object sender, EventArgs e)
//{
// Show();
// if (WindowState == FormWindowState.Minimized)
// WindowState = FormWindowState.Normal;
//}
//private void ItemExit_Click(object sender, EventArgs e)
//{
// notify.Dispose();
// exit = true;
// Close();
//}
//private void Notify_MouseDoubleClick(object sender, MouseEventArgs e)
//{
// Show();
// if (WindowState == FormWindowState.Minimized)
// WindowState = FormWindowState.Normal;
//}
private void Rfid_Received(string ip, string id)
{
Common.log.Debug("RFID Received[" + ip + "] " + id);
bool rtn = Common.FindRfidIP(ip, out int lineIndex, out int rfidIndex);
if (!rtn) return;
Common.lines[lineIndex].RFID_GainTime[rfidIndex] = DateTime.Now.Ticks;
if (Common.lines[lineIndex].RFID_ID[rfidIndex] == id)
{
//long time = DateTime.Now.Ticks - Common.lines[lineIndex].RFID_Time[rfidIndex];
//time /= 10000; //转毫秒
//time /= 1000; //转秒
//if (time >= Common.dwellTime)
//{
// Common.lines[lineIndex].RFID_ID[rfidIndex] = id;
//}
}
else
{
Common.ClearRfidID(id);
Common.lines[lineIndex].RFID_ID[rfidIndex] = id;
Common.lines[lineIndex].RFID_DwellTime[rfidIndex] = DateTime.Now.Ticks;
Common.log.Info(Common.lines[lineIndex].Name + " RFID=" + id);
//应该改成所有的更新
for (int i = 0; i < 4; i++)
DgvLight.Rows[lineIndex * 4 + i].Cells[1].Value = Common.lines[lineIndex].RFID_ID[i];
//保存RFID到文件
Common.SaveRfidID();
}
}
private void Service_UpdateLight(int lineIndex, int rfidIndex)
{
string text = "";
//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])
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;
}
private void FrmMain_Load(object sender, EventArgs e)
{
////托盘菜单
//notifyMenu = new ContextMenuStrip();
//ToolStripMenuItem itemShow = new ToolStripMenuItem("显示(&S)");
//itemShow.Click += ItemShow_Click;
//ToolStripMenuItem itemExit = new ToolStripMenuItem("退出(&X)");
//itemExit.Click += ItemExit_Click;
//notifyMenu.Items.Add(itemShow);
//notifyMenu.Items.Add(itemExit);
////托盘控件
//notify = new NotifyIcon { Icon = Icon, Visible = true, ContextMenuStrip = notifyMenu, Text = Text };
//notify.MouseDoubleClick += Notify_MouseDoubleClick;
Asa.WindowsForm.Load(this);
//读取保存的RFID
Common.LoadRfidID();
//Web服务端打开状态
if (Common.serverOpen)
{
LblWeb.Text = "服务打开";
LblWeb.BackColor = Color.Lime;
}
else
{
LblWeb.Text = "服务关闭";
LblWeb.BackColor = Color.Red;
}
//表格显示
List<string> ip = new List<string>();
Color bg1 = Color.FromArgb(190, 255, 190);
Color bg2 = Color.FromArgb(190, 190, 255);
for (int i = 0; i < Common.lines.Count; i++)
{
for (int j = 0; j < Common.lines[i].RFID_ID.Length; j++)
{
if (Common.lines[i].RFID_Type[j] == Common.RFID_PuYue)
ip.Add(Common.lines[i].RFID_IP[j]);
int n = DgvLight.Rows.Add(Common.lines[i].Name, Common.lines[i].RFID_ID[j], "", "修改");
DgvLight.Rows[n].HeaderCell.Value = (n + 1).ToString();
DgvLight.Rows[n].DefaultCellStyle.BackColor = (i % 2 == 0 ? bg1 : bg2);
}
}
int port = Convert.ToInt32(Common.appConfig.AppSettings.Settings["RFIDPort"].Value);
Common.service.UpdateLight += Service_UpdateLight;
//Common.rfid = new Asa.RFID.ReadAll("ShelfRFID");
//Common.rfid.Received += Rfid_Received;
//Common.rfid.Start(port);
Common.reader1 = new Asa.RFID.ReadAll1(Common.RFID_HaoBin);
Common.reader1.Received += Rfid_Received;
Common.reader1.Start(port);
Common.reader2 = new Asa.RFID.ReadAll2(Common.RFID_PuYue);
Common.reader2.Received += Rfid_Received;
Common.reader2.Start(ip.ToArray());
}
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{
//if (exit)
//{
// Common.reader1.Stop();
// Common.reader2.Stop();
//}
//else
//{
// e.Cancel = true;
// Hide();
//}
if (Asa.WindowsForm.Close(e))
{
Common.reader1.Stop();
Common.reader2.Stop();
}
}
private void BtnTest_Click(object sender, EventArgs e)
{
FrmTest frm = new FrmTest();
frm.Show(this);
}
private void DgvLight_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
int row = e.RowIndex;
if (e.ColumnIndex == 3) //修改
{
string s = Microsoft.VisualBasic.Interaction.InputBox("RFID", "输入", "");
int idx1 = row / 4;
int idx2 = row % 4;
Common.lines[idx1].RFID_ID[idx2] = s;
DgvLight.Rows[row].Cells[1].Value = s;
Common.SaveRfidID();
}
}
}
}
此文件的差异太大,无法显示。
namespace SmartShelfLight
{
partial class FrmTest
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.BtnAllLightOff = new System.Windows.Forms.Button();
this.BtnAllLightOn = new System.Windows.Forms.Button();
this.CboIP = new System.Windows.Forms.ComboBox();
this.SuspendLayout();
//
// BtnAllLightOff
//
this.BtnAllLightOff.Location = new System.Drawing.Point(140, 105);
this.BtnAllLightOff.Name = "BtnAllLightOff";
this.BtnAllLightOff.Size = new System.Drawing.Size(100, 40);
this.BtnAllLightOff.TabIndex = 7;
this.BtnAllLightOff.Text = "AllLightOff";
this.BtnAllLightOff.UseVisualStyleBackColor = true;
this.BtnAllLightOff.Click += new System.EventHandler(this.BtnAllLightOff_Click);
//
// BtnAllLightOn
//
this.BtnAllLightOn.Location = new System.Drawing.Point(12, 105);
this.BtnAllLightOn.Name = "BtnAllLightOn";
this.BtnAllLightOn.Size = new System.Drawing.Size(100, 40);
this.BtnAllLightOn.TabIndex = 6;
this.BtnAllLightOn.Text = "AllLightOn";
this.BtnAllLightOn.UseVisualStyleBackColor = true;
this.BtnAllLightOn.Click += new System.EventHandler(this.BtnAllLightOn_Click);
//
// CboIP
//
this.CboIP.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.CboIP.FormattingEnabled = true;
this.CboIP.Location = new System.Drawing.Point(12, 53);
this.CboIP.Name = "CboIP";
this.CboIP.Size = new System.Drawing.Size(228, 33);
this.CboIP.TabIndex = 9;
//
// FrmTest
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(252, 228);
this.Controls.Add(this.CboIP);
this.Controls.Add(this.BtnAllLightOff);
this.Controls.Add(this.BtnAllLightOn);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FrmTest";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Test";
this.Load += new System.EventHandler(this.FrmTest_Load);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button BtnAllLightOff;
private System.Windows.Forms.Button BtnAllLightOn;
private System.Windows.Forms.ComboBox CboIP;
}
}
\ No newline at end of file \ No newline at end of file
using System;
using SmartShelf.DeviceLibrary;
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 SmartShelfLight
{
public partial class FrmTest : Form
{
public FrmTest()
{
InitializeComponent();
}
private void FrmTest_Load(object sender, EventArgs e)
{
for (int i = 0; i < Common.lines.Count; i++)
CboIP.Items.Add(Common.lines[i].Name + " " + Common.lines[i].LED_IP);
}
private void BtnAllLightOn_Click(object sender, EventArgs e)
{
if (CboIP.Text.Length == 0) return;
string[] ip = CboIP.Text.Split(' ');
LEDBaseModule.GetModule(ip[ip.Length - 1]).AllLightOn();
}
private void BtnAllLightOff_Click(object sender, EventArgs e)
{
if (CboIP.Text.Length == 0) return;
string[] ip = CboIP.Text.Split(' ');
LEDBaseModule.GetModule(ip[ip.Length - 1]).AllLightOff();
}
}
}
<?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 SmartShelf.DeviceLibrary;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SmartShelfLight
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
log4net.Config.XmlConfigurator.Configure();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (Asa.WindowsForm.IsRun()) return;
if (!Asa.WindowsForm.IsAdmin()) return;
Common.log = log4net.LogManager.GetLogger("SmartShelfLight");
Common.log.Info("=====Load=====");
Common.appConfig = System.Configuration.ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None);
ReadConfig();
Common.serverOpen = WebService.Open(Common.appConfig.AppSettings.Settings["WebService"].Value);
Common.dwellTime = Convert.ToInt32(Common.appConfig.AppSettings.Settings["DwellTime"].Value);
Application.Run(new FrmMain());
WebService.Close();
Common.log.Info("=====Exit=====\r\n");
}
private static void ReadConfig()
{
try
{
LEDManager.DefaultIP = Common.appConfig.AppSettings.Settings["FirstLED"].Value;
LEDManager.Init();
Common.lines = new List<Line>();
string path = Environment.CurrentDirectory + "\\Config\\Shelf.csv";
string[] arr = System.IO.File.ReadAllLines(path, System.Text.Encoding.UTF8);
for (int i = 1; i < arr.Length; i++) //第一行是标题
{
string[] tt = arr[i].Split(',');
Line line = new Line
{
Name = tt[0],
RFID_Type = new string[] { tt[1], tt[2], tt[3], tt[4] },
RFID_IP = new string[] { tt[5], tt[6], tt[7], tt[8] },
LED = LEDManager.GetLedModule(tt[9]),
LED_IP = tt[9],
LED_Place = new bool[92],
RFID_ID = new string[4] { "", "", "", "" },
RFID_DwellTime = new long[4] { 0, 0, 0, 0 },
RFID_GainTime = new long[4] { 0, 0, 0, 0 }
};
Common.lines.Add(line);
}
Common.log.Info("读取配置完成");
}
catch (Exception ex)
{
Common.log.Error("ReadConfig Error", ex);
}
}
}
}
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的一般信息由以下
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("SmartShelfLight")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SmartShelfLight")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 会使此程序集中的类型
//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型
//请将此类型的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("ceb7409b-1a34-4498-a4f1-c391d0997da5")]
// 程序集的版本信息由下列四个值组成:
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.1.0.0")]
[assembly: AssemblyFileVersion("1.1.0.0")]
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本: 4.0.30319.42000
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace SmartShelfLight.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("SmartShelfLight.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 SmartShelfLight.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>{CEB7409B-1A34-4498-A4F1-C391D0997DA5}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>SmartShelfLight</RootNamespace>
<AssemblyName>SmartShelfLight</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>
<PropertyGroup />
<PropertyGroup>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>lights.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="Asa.RFID.HFRead">
<HintPath>..\..\RFID\RFID\bin\Debug\Asa.RFID.HFRead.dll</HintPath>
</Reference>
<Reference Include="Asa.RFID.HiStation, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\RFID\RFID-HiStation\bin\Debug\Asa.RFID.HiStation.dll</HintPath>
</Reference>
<Reference Include="Asa.RFID.IReadAll, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\RFID\RFID_Interface\bin\Debug\Asa.RFID.IReadAll.dll</HintPath>
</Reference>
<Reference Include="ClassFormParent">
<HintPath>..\..\ClassFormParent\ClassFormParent\bin\Debug\ClassFormParent.dll</HintPath>
</Reference>
<Reference Include="log4net">
<HintPath>..\..\..\..\DLL\log4net.dll</HintPath>
</Reference>
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.ServiceModel.Web" />
<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="BLL\BaseLEDManager.cs" />
<Compile Include="BLL\ConfigAppSettings.cs" />
<Compile Include="BLL\LEDColorArtNet.cs" />
<Compile Include="BLL\WebService.cs" />
<Compile Include="Common.cs" />
<Compile Include="FrmMain.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmMain.Designer.cs">
<DependentUpon>FrmMain.cs</DependentUpon>
</Compile>
<Compile Include="FrmTest.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmTest.Designer.cs">
<DependentUpon>FrmTest.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="FrmMain.resx">
<DependentUpon>FrmMain.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmTest.resx">
<DependentUpon>FrmTest.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="app.manifest" />
<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>
<ItemGroup>
<Content Include="lights.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
</Project>
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC 清单选项
如果想要更改 Windows 用户帐户控制级别,请使用
以下节点之一替换 requestedExecutionLevel 节点。n
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
指定 requestedExecutionLevel 元素将禁用文件和注册表虚拟化。
如果你的应用程序需要此虚拟化来实现向后兼容性,则删除此
元素。
-->
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- 设计此应用程序与其一起工作且已针对此应用程序进行测试的
Windows 版本的列表。取消评论适当的元素,
Windows 将自动选择最兼容的环境。 -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- 指示该应用程序可以感知 DPI 且 Windows 在 DPI 较高时将不会对其进行
自动缩放。Windows Presentation Foundation (WPF)应用程序自动感知 DPI,无需
选择加入。选择加入此设置的 Windows 窗体应用程序(目标设定为 .NET Framework 4.6 )还应
在其 app.config 中将 "EnableWindowsFormsHighDpiAutoResizing" 设置设置为 "true"。-->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
-->
<!-- 启用 Windows 公共控件和对话框的主题(Windows XP 和更高版本) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>
<?xml version="1.0"?>
<doc>
<assembly>
<name>Asa.RFID.HFRead</name>
</assembly>
<members>
<member name="T:Asa.RFID.ReadAll1">
<summary>
读取所有RFID
</summary>
</member>
<member name="M:Asa.RFID.ReadAll1.#ctor(System.String)">
<summary>
读取所有RFID
</summary>
<param name="logName">日志名称</param>
</member>
<member name="M:Asa.RFID.ReadAll1.Start(System.Int32)">
<summary>
开启
</summary>
<param name="port">RFID设备的端口</param>
</member>
<member name="M:Asa.RFID.ReadAll1.Stop">
<summary>
停止
</summary>
</member>
<member name="M:Asa.RFID.ReadAll1.Read(System.String)">
<summary>
读取ID号
</summary>
<param name="ip"></param>
<returns></returns>
</member>
<member name="M:Asa.RFID.ReadAll1.Clear(System.String)">
<summary>
清除缓存
</summary>
<param name="ip"></param>
</member>
</members>
</doc>
此文件类型无法预览
10.85.196.1,
10.85.196.2,
10.85.196.3,
10.85.196.4,
10.85.196.6,
10.85.196.7,
10.85.196.8,
10.85.196.9,
10.85.196.11,
10.85.196.12,
10.85.196.13,
10.85.196.14,
10.85.196.16,
10.85.196.17,
10.85.196.18,
10.85.196.19,
10.85.196.21,
10.85.196.22,
10.85.196.23,
10.85.196.24,
10.85.196.26,
10.85.196.27,
10.85.196.28,
10.85.196.29,
10.85.196.31,
10.85.196.32,
10.85.196.33,
10.85.196.34,
10.85.196.36,
10.85.196.37,
10.85.196.38,
10.85.196.39,
10.85.196.42,
10.85.196.43,
10.85.196.44,
10.85.196.45,
10.85.196.47,
10.85.196.48,
10.85.196.48,
10.85.196.50,
10.85.196.52,
10.85.196.53,
10.85.196.54,
10.85.196.55,
10.85.196.57,
10.85.196.58,
10.85.196.59,
10.85.196.60,
10.85.196.62,
10.85.196.63,
10.85.196.64,
10.85.196.65,
10.85.196.67,
10.85.196.68,
10.85.196.69,
10.85.196.70,
Name,Vendor1,Vendor2,Vendor3,Vendor4,RFID1,RFID2,RFID3,RFID4,LED
D1,Hao_Bin,Hao_Bin,Hao_Bin,Hao_Bin,10.85.196.1,10.85.196.2,10.85.196.3,10.85.196.4,10.85.196.72
D2,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.196.6,10.85.196.7,10.85.196.8,10.85.196.9,10.85.196.10
D3,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.196.11,10.85.196.12,10.85.196.13,10.85.196.14,10.85.196.15
D4,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.196.16,10.85.196.17,10.85.196.18,10.85.196.19,10.85.196.20
D5,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.196.21,10.85.196.22,10.85.196.23,10.85.196.24,10.85.196.25
D6,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.196.26,10.85.196.27,10.85.196.28,10.85.196.29,10.85.196.30
D8,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.196.31,10.85.196.32,10.85.196.33,10.85.196.34,10.85.196.35
D9,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.196.36,10.85.196.37,10.85.196.38,10.85.196.39,10.85.196.41
D10,Pu_Yue,Pu_Yue,Pu_Yue,Hao_Bin,10.85.196.42,10.85.196.43,10.85.196.44,10.85.196.45,10.85.196.46
D11,Hao_Bin,Hao_Bin,Hao_Bin,Hao_Bin,10.85.196.47,10.85.196.48,10.85.196.48,10.85.196.50,10.85.196.51
D12,Pu_Yue,Pu_Yue,Pu_Yue,Pu_Yue,10.85.196.52,10.85.196.53,10.85.196.54,10.85.196.55,10.85.196.56
D14,Hao_Bin,Hao_Bin,Hao_Bin,Hao_Bin,10.85.196.57,10.85.196.58,10.85.196.59,10.85.196.60,10.85.196.61
D15,Hao_Bin,Hao_Bin,Hao_Bin,Hao_Bin,10.85.196.62,10.85.196.63,10.85.196.64,10.85.196.65,10.85.196.66
D16,Hao_Bin,Hao_Bin,Hao_Bin,Hao_Bin,10.85.196.67,10.85.196.68,10.85.196.69,10.85.196.70,10.85.196.71
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<log4net>
<appender name="SmartShelfLight" type="log4net.Appender.RollingFileAppender">
<file value="logs/SmartShelfLight.log"/>
<param name="Encoding" value="UTF-8"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy-MM-dd"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n"/>
</layout>
</appender>
<appender name="Hao_Bin" type="log4net.Appender.RollingFileAppender">
<file value="logs/Hao_Bin.log"/>
<param name="Encoding" value="UTF-8"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy-MM-dd"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n"/>
</layout>
</appender>
<appender name="Pu_Yue" type="log4net.Appender.RollingFileAppender">
<file value="logs/Pu_Yue.log"/>
<param name="Encoding" value="UTF-8"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyy-MM-dd"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date][%t]%-5p %m%n"/>
</layout>
</appender>
<logger name="SmartShelfLight">
<level value="Debug" />
<appender-ref ref="SmartShelfLight" />
</logger>
<logger name="Hao_Bin">
<level value="Info" />
<appender-ref ref="Hao_Bin" />
</logger>
<logger name="Pu_Yue">
<level value="Info" />
<appender-ref ref="Pu_Yue" />
</logger>
</log4net>
<appSettings>
<!--<add key="WebService" value="http://10.85.196.40:8088/"/>-->
<add key="WebService" value="http://127.0.0.1:8088/"/>
<add key="FirstLED" value=""/>
<add key="RFIDPort" value="12000"/>
<add key="DwellTime" value="5"/>
<add key ="StatusLedDmx" value ="0"/>
<add key ="ColorRuleConfig" value ="RGB"/>
</appSettings>
</configuration>
\ No newline at end of file \ No newline at end of file
此文件类型无法预览
[2020-08-15 14:09:39,084][1]INFO Server Start
[2020-08-15 14:09:52,815][1]INFO Server Stop
[2020-08-15 14:09:52,832][7]ERROR Socket Close
[2020-08-15 14:10:40,050][1]INFO Server Start
[2020-08-15 14:15:13,343][1]INFO Server Start
[2020-08-15 14:16:06,326][1]INFO Server Stop
[2020-08-15 14:16:06,354][7]ERROR Socket Close
[2020-08-15 14:16:17,715][1]INFO Server Start
[2020-08-15 14:17:02,652][1]INFO Server Stop
[2020-08-15 14:17:02,668][7]ERROR Socket Close
[2020-08-14 17:52:53,335][1]INFO Server Start
[2020-08-14 17:53:29,416][1]INFO Server Stop
[2020-08-14 17:53:29,443][8]ERROR Socket Close
此文件的差异太大,无法显示。
[2020-08-14 17:52:53,418][1]INFO Open[10.85.196.6] OK
[2020-08-14 17:52:53,477][1]INFO Open[10.85.196.7] OK
[2020-08-14 17:52:53,547][1]INFO Open[10.85.196.8] OK
[2020-08-14 17:52:53,614][1]INFO Open[10.85.196.9] OK
[2020-08-14 17:52:53,652][1]INFO Open[10.85.196.11] OK
[2020-08-14 17:52:53,807][1]INFO Open[10.85.196.12] OK
[2020-08-14 17:52:53,871][1]INFO Open[10.85.196.13] OK
[2020-08-14 17:52:53,960][1]INFO Open[10.85.196.14] OK
[2020-08-14 17:52:53,983][1]INFO Open[10.85.196.16] OK
[2020-08-14 17:52:54,137][1]INFO Open[10.85.196.17] OK
[2020-08-14 17:52:54,198][1]INFO Open[10.85.196.18] OK
[2020-08-14 17:52:54,284][1]INFO Open[10.85.196.19] OK
[2020-08-14 17:52:54,297][1]INFO Open[10.85.196.21] OK
[2020-08-14 17:52:54,360][1]INFO Open[10.85.196.22] OK
[2020-08-14 17:52:54,489][1]INFO Open[10.85.196.23] OK
[2020-08-14 17:52:54,585][1]INFO Open[10.85.196.24] OK
[2020-08-14 17:52:54,587][1]INFO Open[10.85.196.26] OK
[2020-08-14 17:52:54,735][1]INFO Open[10.85.196.27] OK
[2020-08-14 17:52:54,811][1]INFO Open[10.85.196.28] OK
[2020-08-14 17:52:54,818][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:52:54,819][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:52:54,843][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:52:54,843][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:52:54,843][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:52:54,821][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:52:54,962][1]INFO Open[10.85.196.29] OK
[2020-08-14 17:52:55,020][1]INFO Open[10.85.196.31] OK
[2020-08-14 17:52:55,090][1]INFO Open[10.85.196.32] OK
[2020-08-14 17:52:55,160][1]INFO Open[10.85.196.33] OK
[2020-08-14 17:52:55,324][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:52:55,324][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:52:55,324][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:52:55,324][1]INFO Open[10.85.196.34] OK
[2020-08-14 17:52:55,333][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:52:55,333][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:52:55,333][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:52:55,361][1]INFO Open[10.85.196.36] OK
[2020-08-14 17:52:55,471][1]INFO Open[10.85.196.37] OK
[2020-08-14 17:52:55,498][1]INFO Open[10.85.196.38] OK
[2020-08-14 17:52:55,571][1]INFO Open[10.85.196.39] OK
[2020-08-14 17:52:55,571][1]INFO Server Start
[2020-08-14 17:52:55,808][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:52:55,808][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:52:55,808][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:52:55,808][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:52:55,808][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:52:55,809][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:52:56,311][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:52:56,312][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:52:56,314][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:52:56,317][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:52:56,319][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:52:56,807][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:52:56,807][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:52:56,810][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:52:56,810][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:52:56,810][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:52:56,810][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:52:56,811][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:52:56,811][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:52:56,811][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:52:56,811][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:52:56,811][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:52:57,305][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:52:57,305][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:52:57,305][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:52:57,305][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:52:57,307][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:52:57,307][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:52:57,805][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:52:57,805][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:52:57,805][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:52:57,805][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:52:57,806][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:52:57,806][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:52:58,305][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:52:58,305][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:52:58,305][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:52:58,305][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:52:58,306][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:52:58,805][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:52:58,805][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:52:58,805][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:52:58,805][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:52:58,806][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:52:59,305][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:52:59,305][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:52:59,305][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:52:59,305][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:52:59,305][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:52:59,305][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:52:59,805][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:52:59,805][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:52:59,805][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:52:59,805][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:52:59,805][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:52:59,805][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:00,305][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:00,305][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:00,305][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:00,305][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:00,306][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:00,306][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:00,805][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:00,805][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:00,805][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:00,806][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:00,806][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:01,306][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:01,306][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:01,306][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:01,306][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:01,306][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:01,306][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:01,306][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:01,306][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:01,307][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:01,307][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:01,307][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:01,805][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:01,805][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:01,805][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:01,806][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:01,806][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:01,806][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:02,305][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:02,306][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:02,306][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:02,306][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:02,306][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:02,306][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:02,805][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:02,805][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:02,805][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:02,806][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:02,806][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:03,305][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:03,305][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:03,305][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:03,305][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:03,305][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:03,805][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:03,805][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:03,805][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:03,805][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:03,805][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:03,805][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:04,305][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:04,305][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:04,305][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:04,305][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:04,305][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:04,305][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:04,805][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:04,805][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:04,805][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:04,805][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:04,805][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:04,805][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:05,305][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:05,305][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:05,305][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:05,305][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:05,305][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:05,805][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:05,805][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:05,806][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:05,806][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:05,806][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:05,806][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:05,806][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:05,806][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:05,806][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:05,806][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:05,807][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:06,305][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:06,305][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:06,306][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:06,306][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:06,306][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:06,306][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:06,805][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:06,805][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:06,805][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:06,806][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:06,806][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:06,806][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:07,305][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:07,305][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:07,305][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:07,306][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:07,306][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:07,805][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:07,805][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:07,806][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:07,806][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:07,806][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:08,305][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:08,305][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:08,305][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:08,305][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:08,305][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:08,305][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:08,805][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:08,805][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:08,805][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:08,806][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:08,806][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:08,806][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:09,305][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:09,305][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:09,305][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:09,306][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:09,306][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:09,306][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:09,805][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:09,806][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:09,806][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:09,806][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:09,806][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:10,305][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:10,306][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:10,306][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:10,306][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:10,306][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:10,306][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:10,306][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:10,306][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:10,306][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:10,307][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:10,306][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:10,805][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:10,806][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:10,806][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:10,806][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:10,806][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:10,807][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:11,305][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:11,305][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:11,305][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:11,305][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:11,305][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:11,305][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:11,805][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:11,805][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:11,806][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:11,806][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:11,806][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:12,305][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:12,305][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:12,305][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:12,306][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:12,306][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:12,805][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:12,806][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:12,806][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:12,806][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:12,806][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:12,806][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:13,305][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:13,305][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:13,305][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:13,305][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:13,306][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:13,306][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:13,805][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:13,805][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:13,805][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:13,805][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:13,805][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:13,805][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:14,305][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:14,305][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:14,305][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:14,306][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:14,306][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:14,805][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:14,806][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:14,806][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:14,806][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:14,806][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:14,806][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:14,806][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:14,806][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:14,807][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:14,807][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:14,807][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:15,305][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:15,306][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:15,306][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:15,306][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:15,306][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:15,307][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:15,805][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:15,805][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:15,806][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:15,806][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:15,806][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:15,806][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:16,305][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:16,305][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:16,305][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:16,305][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:16,306][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:16,805][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:16,805][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:16,806][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:16,806][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:16,806][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:17,305][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:17,305][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:17,306][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:17,306][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:17,306][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:17,306][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:17,805][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:17,805][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:17,805][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:17,805][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:17,805][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:17,806][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:18,305][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:18,305][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:18,305][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:18,306][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:18,306][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:18,306][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:18,805][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:18,805][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:18,806][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:18,806][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:18,806][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:19,305][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:19,305][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:19,305][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:19,305][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:19,306][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:19,306][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:19,306][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:19,306][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:19,306][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:19,306][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:19,307][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:19,805][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:19,805][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:19,805][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:19,806][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:19,806][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:19,806][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:20,305][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:20,305][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:20,305][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:20,306][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:20,306][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:20,306][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:20,805][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:20,805][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:20,805][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:20,806][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:20,806][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:21,305][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:21,305][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:21,305][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:21,306][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:21,306][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:21,805][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:21,805][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:21,805][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:21,805][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:21,806][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:21,806][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:22,305][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:22,305][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:22,305][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:22,306][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:22,306][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:22,306][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:22,805][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:22,805][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:22,805][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:22,806][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:22,806][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:22,806][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:23,305][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:23,305][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:23,306][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:23,306][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:23,306][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:23,805][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:23,805][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:23,805][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:23,806][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:23,806][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:23,806][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:23,806][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:23,806][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:23,806][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:23,806][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:23,807][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:24,305][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:24,305][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:24,306][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:24,306][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:24,306][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:24,306][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:24,805][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:24,805][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:24,805][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:24,806][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:24,806][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:24,806][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:25,305][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:25,305][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:25,305][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:25,305][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:25,306][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:25,805][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:25,805][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:25,805][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:25,806][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:25,806][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:26,305][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:26,305][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:26,305][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:26,306][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:26,306][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:26,306][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:26,805][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:26,805][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:26,806][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:26,806][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:26,806][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:26,806][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:27,305][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:27,306][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:27,306][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:27,306][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:27,306][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:27,306][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:27,805][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:27,805][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:27,806][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:27,806][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:27,806][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:28,305][Reconnect]INFO Ping[10.85.196.6]请求没有响应
[2020-08-14 17:53:28,305][Reconnect]INFO Ping[10.85.196.8]请求没有响应
[2020-08-14 17:53:28,306][Reconnect]INFO Ping[10.85.196.7]请求没有响应
[2020-08-14 17:53:28,306][Reconnect]INFO Ping[10.85.196.9]请求没有响应
[2020-08-14 17:53:28,306][Reconnect]INFO Ping[10.85.196.12]请求没有响应
[2020-08-14 17:53:28,306][Reconnect]INFO Ping[10.85.196.11]请求没有响应
[2020-08-14 17:53:28,306][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:28,306][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:28,306][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:28,307][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:28,307][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:28,805][Reconnect]INFO Ping[10.85.196.18]请求没有响应
[2020-08-14 17:53:28,805][Reconnect]INFO Ping[10.85.196.13]请求没有响应
[2020-08-14 17:53:28,806][Reconnect]INFO Ping[10.85.196.17]请求没有响应
[2020-08-14 17:53:28,806][Reconnect]INFO Ping[10.85.196.16]请求没有响应
[2020-08-14 17:53:28,806][Reconnect]INFO Ping[10.85.196.19]请求没有响应
[2020-08-14 17:53:28,806][Reconnect]INFO Ping[10.85.196.14]请求没有响应
[2020-08-14 17:53:29,306][Reconnect]INFO Ping[10.85.196.22]请求没有响应
[2020-08-14 17:53:29,306][Reconnect]INFO Ping[10.85.196.27]请求没有响应
[2020-08-14 17:53:29,306][Reconnect]INFO Ping[10.85.196.24]请求没有响应
[2020-08-14 17:53:29,306][Reconnect]INFO Ping[10.85.196.21]请求没有响应
[2020-08-14 17:53:29,306][Reconnect]INFO Ping[10.85.196.23]请求没有响应
[2020-08-14 17:53:29,307][Reconnect]INFO Ping[10.85.196.26]请求没有响应
[2020-08-14 17:53:29,417][1]DEBUG Write[10.85.196.6] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:29,470][1]INFO Close[10.85.196.6] OK
[2020-08-14 17:53:29,470][1]DEBUG Write[10.85.196.7] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:29,521][1]INFO Close[10.85.196.7] OK
[2020-08-14 17:53:29,521][1]DEBUG Write[10.85.196.8] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:29,572][1]INFO Close[10.85.196.8] OK
[2020-08-14 17:53:29,572][1]DEBUG Write[10.85.196.9] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:29,623][1]INFO Close[10.85.196.9] OK
[2020-08-14 17:53:29,623][1]DEBUG Write[10.85.196.11] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:29,674][1]INFO Close[10.85.196.11] OK
[2020-08-14 17:53:29,674][1]DEBUG Write[10.85.196.12] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:29,725][1]INFO Close[10.85.196.12] OK
[2020-08-14 17:53:29,725][1]DEBUG Write[10.85.196.13] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:29,776][1]INFO Close[10.85.196.13] OK
[2020-08-14 17:53:29,776][1]DEBUG Write[10.85.196.14] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:29,805][Reconnect]INFO Ping[10.85.196.32]请求没有响应
[2020-08-14 17:53:29,805][Reconnect]INFO Ping[10.85.196.33]请求没有响应
[2020-08-14 17:53:29,805][Reconnect]INFO Ping[10.85.196.29]请求没有响应
[2020-08-14 17:53:29,805][Reconnect]INFO Ping[10.85.196.31]请求没有响应
[2020-08-14 17:53:29,806][Reconnect]INFO Ping[10.85.196.28]请求没有响应
[2020-08-14 17:53:29,833][1]INFO Close[10.85.196.14] OK
[2020-08-14 17:53:29,833][1]DEBUG Write[10.85.196.16] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:29,884][1]INFO Close[10.85.196.16] OK
[2020-08-14 17:53:29,884][1]DEBUG Write[10.85.196.17] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:29,935][1]INFO Close[10.85.196.17] OK
[2020-08-14 17:53:29,935][1]DEBUG Write[10.85.196.18] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:29,986][1]INFO Close[10.85.196.18] OK
[2020-08-14 17:53:29,986][1]DEBUG Write[10.85.196.19] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,037][1]INFO Close[10.85.196.19] OK
[2020-08-14 17:53:30,037][1]DEBUG Write[10.85.196.21] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,089][1]INFO Close[10.85.196.21] OK
[2020-08-14 17:53:30,089][1]DEBUG Write[10.85.196.22] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,140][1]INFO Close[10.85.196.22] OK
[2020-08-14 17:53:30,140][1]DEBUG Write[10.85.196.23] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,191][1]INFO Close[10.85.196.23] OK
[2020-08-14 17:53:30,191][1]DEBUG Write[10.85.196.24] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,241][1]INFO Close[10.85.196.24] OK
[2020-08-14 17:53:30,241][1]DEBUG Write[10.85.196.26] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,292][1]INFO Close[10.85.196.26] OK
[2020-08-14 17:53:30,292][1]DEBUG Write[10.85.196.27] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,305][Reconnect]INFO Ping[10.85.196.36]请求没有响应
[2020-08-14 17:53:30,305][Reconnect]INFO Ping[10.85.196.34]请求没有响应
[2020-08-14 17:53:30,305][Reconnect]INFO Ping[10.85.196.39]请求没有响应
[2020-08-14 17:53:30,305][Reconnect]INFO Ping[10.85.196.37]请求没有响应
[2020-08-14 17:53:30,305][Reconnect]INFO Ping[10.85.196.38]请求没有响应
[2020-08-14 17:53:30,361][1]INFO Close[10.85.196.27] OK
[2020-08-14 17:53:30,361][1]DEBUG Write[10.85.196.28] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,412][1]INFO Close[10.85.196.28] OK
[2020-08-14 17:53:30,412][1]DEBUG Write[10.85.196.29] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,463][1]INFO Close[10.85.196.29] OK
[2020-08-14 17:53:30,463][1]DEBUG Write[10.85.196.31] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,514][1]INFO Close[10.85.196.31] OK
[2020-08-14 17:53:30,514][1]DEBUG Write[10.85.196.32] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,565][1]INFO Close[10.85.196.32] OK
[2020-08-14 17:53:30,565][1]DEBUG Write[10.85.196.33] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,616][1]INFO Close[10.85.196.33] OK
[2020-08-14 17:53:30,616][1]DEBUG Write[10.85.196.34] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,667][1]INFO Close[10.85.196.34] OK
[2020-08-14 17:53:30,667][1]DEBUG Write[10.85.196.36] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,718][1]INFO Close[10.85.196.36] OK
[2020-08-14 17:53:30,718][1]DEBUG Write[10.85.196.37] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,769][1]INFO Close[10.85.196.37] OK
[2020-08-14 17:53:30,769][1]DEBUG Write[10.85.196.38] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,821][1]INFO Close[10.85.196.38] OK
[2020-08-14 17:53:30,821][1]DEBUG Write[10.85.196.39] 00 01 00 00 00 09 FF 10 00 04 00 01 02 00 01
[2020-08-14 17:53:30,871][1]INFO Close[10.85.196.39] OK
[2020-08-14 17:53:30,872][1]INFO Server Stop
[2020-08-15 14:09:34,791][1]INFO =====Load=====
[2020-08-15 14:09:35,590][1]INFO 读取配置完成
[2020-08-15 14:09:38,838][1]INFO Web服务已开启
[2020-08-15 14:09:56,110][1]INFO Web服务已关闭
[2020-08-15 14:09:56,110][1]INFO =====Exit=====
[2020-08-15 14:10:39,388][1]INFO =====Load=====
[2020-08-15 14:10:39,572][1]INFO 读取配置完成
[2020-08-15 14:10:39,944][1]INFO Web服务已开启
[2020-08-15 14:15:12,780][1]INFO =====Load=====
[2020-08-15 14:15:13,012][1]INFO 读取配置完成
[2020-08-15 14:15:13,205][1]INFO Web服务已开启
[2020-08-15 14:16:08,198][1]INFO Web服务已关闭
[2020-08-15 14:16:08,199][1]INFO =====Exit=====
[2020-08-15 14:16:17,221][1]INFO =====Load=====
[2020-08-15 14:16:17,374][1]INFO 读取配置完成
[2020-08-15 14:16:17,555][1]INFO Web服务已开启
[2020-08-15 14:17:04,551][1]INFO Web服务已关闭
[2020-08-15 14:17:04,551][1]INFO =====Exit=====
[2020-08-14 17:52:51,151][1]INFO =====Load=====
[2020-08-14 17:52:51,232][1]INFO 读取配置完成
[2020-08-14 17:52:51,593][1]INFO Web服务已开启
[2020-08-14 17:53:30,907][1]INFO Web服务已关闭
[2020-08-14 17:53:30,907][1]INFO =====Exit=====
此文件类型无法预览
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")]
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\SmartShelfLight\bin\Debug\SmartShelfLight.exe.config
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\SmartShelfLight\bin\Debug\SmartShelfLight.exe
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\SmartShelfLight\bin\Debug\SmartShelfLight.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csprojAssemblyReference.cache
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.FrmMain.resources
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.Properties.Resources.resources
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.GenerateResource.cache
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.CoreCompileInputs.cache
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.exe
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\SmartShelfLight.exe.config
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\SmartShelfLight.exe
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\SmartShelfLight.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.FrmMain.resources
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.Properties.Resources.resources
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.GenerateResource.cache
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.CoreCompileInputs.cache
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.exe
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csproj.CopyComplete
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\log4net.dll
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.HFRead.dll
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.HiStation.dll
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.IReadAll.dll
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.HFRead.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.HFRead.xml
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.HiStation.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\Asa.RFID.IReadAll.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\ClassFormParent.dll
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\bin\Debug\ClassFormParent.pdb
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.FrmTest.resources
D:\OneDrive - 上海挚锦科技有限公司\SMD\SmartShelfLight\SmartShelfLight\obj\Debug\SmartShelfLight.csprojAssemblyReference.cache
此文件类型无法预览
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!