分档类型变更
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -106,6 +106,7 @@ namespace JinYuan.ControlCenters
|
||||
{
|
||||
|
||||
GetAlarmData();
|
||||
GetSafeEqptData();
|
||||
InitFunc();
|
||||
IntiDevice();
|
||||
Timer_RefreshData = new System.Timers.Timer(1000);
|
||||
@@ -896,10 +897,18 @@ namespace JinYuan.ControlCenters
|
||||
Task.Run(() =>
|
||||
{
|
||||
UploadEquEnergy();//电表
|
||||
//UPloadAnemograph();//风速仪
|
||||
//UPloadAnemograph();//风速仪
|
||||
ShowSafeEqptEven_Run(); //安全装置状态
|
||||
});
|
||||
Regular = 0;
|
||||
}
|
||||
//if (Regular % 30==1)
|
||||
//{
|
||||
// Task.Run(() =>
|
||||
// {
|
||||
// ShowSafeEqptEven_Run();//安全装置状态
|
||||
// });
|
||||
//}
|
||||
if (TotalNum > 4)
|
||||
{
|
||||
GetEnergyData();
|
||||
@@ -1499,6 +1508,22 @@ namespace JinYuan.ControlCenters
|
||||
}
|
||||
|
||||
}
|
||||
List<AlarmForm> listSafeEqptForm = null;
|
||||
public void GetSafeEqptData()
|
||||
{
|
||||
//加载PLC安全装置状态文件
|
||||
try
|
||||
{
|
||||
string strFileName = System.Environment.CurrentDirectory + "\\安全装置报警寄存器对应表.csv";
|
||||
listSafeEqptForm = CSVHelper<AlarmForm>.ReadCSV(strFileName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("加载安装装置报警文件失败!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 报警信息读取
|
||||
@@ -1656,6 +1681,71 @@ namespace JinYuan.ControlCenters
|
||||
}
|
||||
|
||||
|
||||
List<AlarmData> safeEqptStatus = new List<AlarmData>();
|
||||
List<AlarmStatus> listSafeEqptStatus = null;
|
||||
private void ShowSafeEqptEven_Run()
|
||||
{
|
||||
if (CommonMethods.IsRun && CommonMethods.plcDevice.IsConnected)
|
||||
{
|
||||
string Date = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||
JYResult<byte[]> resByte = CommonMethods.PlcLink.ReadValue<JYResult<byte[]>>("D1000", Data_Type.ArrByte, 8);
|
||||
if (resByte.IsSuccess && resByte != null)
|
||||
{
|
||||
if (resByte == null) { return; }
|
||||
//如果未配置报警地址信息返回 TODO
|
||||
if (listSafeEqptForm == null) { return; }
|
||||
int startPlcAddr = 1000;
|
||||
|
||||
listSafeEqptStatus = PLCAlarmParseHelper.OmronFinsByte2Status(startPlcAddr, resByte.Content);
|
||||
//4.判定有不良后,关联AlarmStatus 和AlarmForm
|
||||
if (listSafeEqptStatus == null) { return; } //状态信息为空返回
|
||||
//如果有报警,获取报警信息
|
||||
var josnTxtMsg = $"{Date}:获取PLC安全设备运行状态:\r\n";
|
||||
for (int i = 0; i < listSafeEqptStatus.Count; i++)
|
||||
{
|
||||
josnTxtMsg += $"plc_addr={listSafeEqptStatus[i].PLCAdress},status={listSafeEqptStatus[i].Status}\r\n";
|
||||
}
|
||||
|
||||
TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{DateTime.Now.ToString("yyyyMMdd")}\设备运行状态\{DateTime.Now.ToString("HH")}.txt", josnTxtMsg);
|
||||
//关联表单数据和报警记录,获取报警信息
|
||||
safeEqptStatus = listSafeEqptStatus
|
||||
.Join(listSafeEqptForm
|
||||
, s => s.PLCAdress
|
||||
, f => f.PLCAdress
|
||||
, (s, f) => new AlarmData()
|
||||
{
|
||||
PLCAdress = s.PLCAdress,
|
||||
AlarmCode = f.AlarmCode,
|
||||
AlarmContent = f.AlarmContent == "" ? s.PLCAdress : f.AlarmContent,
|
||||
AlarmDesc = f.AlarmContent == "" ? s.PLCAdress : f.AlarmContent,
|
||||
AlarmType = "安全装置",
|
||||
AlarmState = s.Status ? "0" : "1", //mes 要求0是异常,1是正常
|
||||
StartTime = Date,
|
||||
EndTime = Date,
|
||||
Flag = 0
|
||||
}).ToList();
|
||||
|
||||
if (safeEqptStatus.Count > 0)
|
||||
{
|
||||
List<SafeEqptCode> safeEqptCodeLists = new List<SafeEqptCode>();
|
||||
safeEqptStatus.ForEach(r =>
|
||||
{
|
||||
if (CommonMethods.sysConfig.MesModeSwitching)
|
||||
{
|
||||
var item = new SafeEqptCode();
|
||||
item.equipNum = r.AlarmCode;
|
||||
item.status = r.AlarmState;
|
||||
safeEqptCodeLists.Add(item);
|
||||
}
|
||||
});
|
||||
|
||||
MESDataCombin.SafeEqptAlarm(Date, safeEqptCodeLists);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 报警保存
|
||||
/// </summary>
|
||||
|
||||
@@ -10,6 +10,7 @@ using PLCCommunication;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Diagnostics.Eventing.Reader;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
@@ -40,115 +41,7 @@ namespace JinYuan.ControlCenters
|
||||
string NG_Type = ""; // 用于备注
|
||||
string OK_NG = ""; // OK或NG
|
||||
#region 判断总结果
|
||||
/// <summary>
|
||||
/// 判断总结果
|
||||
/// </summary>
|
||||
//private int JudgmentResult(int A, int B, int C, int D, int E, int F, int G, int H, int I, int J, int K, int L, int M, int N)
|
||||
//{
|
||||
// //条码,芯包重量,芯包侧厚,芯包CCD极性检测,电芯裁切粘连,电芯裁切毛刺,芯包铜焊印位置,
|
||||
// //芯包正面极耳撕裂H,芯包背面极耳撕裂,芯包正面极耳翻折J,芯包背面极耳翻折,测厚压力结果,
|
||||
// //焊前CCD检测结果,铝焊印位置判定结果
|
||||
|
||||
// //目前先判断条码,芯包重量,芯包侧厚,芯包CCD极性检测,芯包正面极耳撕裂,芯包正面极耳翻折
|
||||
// int Result = 0;
|
||||
// OK_NG = "OK";
|
||||
// if (A == 2 || B == 2 || C == 2 || D == 2 || H == 2 || J == 2)
|
||||
// {
|
||||
// //ed
|
||||
// Result = 2;
|
||||
// OK_NG = "NG";
|
||||
// }
|
||||
// else if (A == 1 && B == 1 && C == 1 && D == 1 && H == 1 && J == 1)
|
||||
// {
|
||||
// Result = 1;
|
||||
// OK_NG = "OK";
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// Result = 1;
|
||||
// OK_NG = "OK";
|
||||
// }
|
||||
|
||||
// if (A == 2)
|
||||
// {
|
||||
// NG_Type += "无条码_";
|
||||
// Result = 2;
|
||||
// }
|
||||
// if (B == 2)
|
||||
// {
|
||||
// NG_Type += "芯包重量1NG_";
|
||||
// //return 2;
|
||||
// Result = 2;
|
||||
// }
|
||||
// if (C == 2)
|
||||
// {
|
||||
// NG_Type += "芯包侧厚NG_";
|
||||
// //return 2;
|
||||
// Result = 2;
|
||||
// }
|
||||
// if (D == 2)
|
||||
// {
|
||||
// NG_Type += "芯包CCD极性检测NG_";
|
||||
// //return 2;
|
||||
// Result = 2;
|
||||
// }
|
||||
|
||||
// //if (E == 2)
|
||||
// //{
|
||||
// // NG_Type += "电芯裁切粘连NG_";
|
||||
// // //return 2;
|
||||
// //}
|
||||
// //if (F == 2)
|
||||
// //{
|
||||
// // NG_Type += "电芯裁切毛刺NG_";
|
||||
// // //return 2;
|
||||
// //}
|
||||
// //if (G == 2)
|
||||
// //{
|
||||
// // NG_Type += "芯包铜焊印位置判定NG_";
|
||||
// // //return 2;
|
||||
// //}
|
||||
// if (H == 2)
|
||||
// {
|
||||
// NG_Type += "芯包正面极耳撕裂NG_";
|
||||
// //return 2;
|
||||
// }
|
||||
// //if (I == 2)
|
||||
// //{
|
||||
// // NG_Type += "芯包背面极耳撕裂NG_";
|
||||
// // //return 2;
|
||||
// //}
|
||||
// if (J == 2)
|
||||
// {
|
||||
// NG_Type += "芯包正面极耳翻折NG_";
|
||||
// //return 2;
|
||||
// }
|
||||
// //if (K == 2)
|
||||
// //{
|
||||
// // NG_Type += "芯包背面极耳翻折NG_";
|
||||
// // //return 2;
|
||||
// //}
|
||||
// if (L == 2)
|
||||
// {
|
||||
// NG_Type += "测厚压力NG_";
|
||||
// //return 2;
|
||||
// }
|
||||
// if (M == 2)
|
||||
// {
|
||||
// NG_Type += "焊前CCD检测NG_";
|
||||
// //return 2;
|
||||
// }
|
||||
// if (N == 2)
|
||||
// {
|
||||
// NG_Type += "铝焊印位置判定NG_";
|
||||
// //return 2;
|
||||
// }
|
||||
// if (Result == 1)
|
||||
// {
|
||||
// NG_Type += "OK_";
|
||||
// }
|
||||
// return Result;
|
||||
//}
|
||||
/// <summary>
|
||||
/// 判断总结果
|
||||
/// </summary>
|
||||
@@ -318,6 +211,8 @@ namespace JinYuan.ControlCenters
|
||||
|
||||
return Result;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 上料工位(数据处理)
|
||||
/// <summary>
|
||||
/// 上料工位
|
||||
@@ -402,73 +297,75 @@ namespace JinYuan.ControlCenters
|
||||
{
|
||||
List<string> MesMessage = new List<string>();
|
||||
List<MesResType> mesResType = new List<MesResType>();
|
||||
if (CommonMethods.mesConfig.isUpMes)
|
||||
{
|
||||
string url = CommonMethods.mesConfig.InPutStationMesUrl;
|
||||
string siteCode = CommonMethods.mesConfig.siteCode;
|
||||
string lineCode = CommonMethods.mesConfig.lineCode;
|
||||
string equipNum = CommonMethods.mesConfig.equipNum;
|
||||
string materialCode = CommonMethods.mesConfig.MaterialCode;
|
||||
string userName = CommonMethods.mesConfig.mesUserName;
|
||||
string MesMessage1 = "";
|
||||
MesResType mesResType1 = MesResType.A;
|
||||
//if (CommonMethods.mesConfig.isUpMes)
|
||||
//{
|
||||
// string url = CommonMethods.mesConfig.InPutStationMesUrl;
|
||||
// string siteCode = CommonMethods.mesConfig.siteCode;
|
||||
// string lineCode = CommonMethods.mesConfig.lineCode;
|
||||
// string equipNum = CommonMethods.mesConfig.equipNum;
|
||||
// string materialCode = CommonMethods.mesConfig.MaterialCode;
|
||||
// string userName = CommonMethods.mesConfig.mesUserName;
|
||||
// string MesMessage1 = "";
|
||||
// MesResType mesResType1 = MesResType.A;
|
||||
|
||||
bool Res = CommonMethods.hbgMes.SingleCellInStation(url, siteCode, lineCode, equipNum, materialCode, userName, listBarCode[i], ref MesMessage1, ref mesResType1);
|
||||
// bool Res = CommonMethods.hbgMes.SingleCellInStation(url, siteCode, lineCode, equipNum, materialCode, userName, listBarCode[i], ref MesMessage1, ref mesResType1);
|
||||
|
||||
if (MesMessage1.Contains("发生一个或多个错误"))
|
||||
{
|
||||
MesMessage1 = "上传失败";
|
||||
}
|
||||
else
|
||||
{
|
||||
m.Flag = 1;
|
||||
}
|
||||
// if (MesMessage1.Contains("发生一个或多个错误"))
|
||||
// {
|
||||
// MesMessage1 = "上传失败";
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// m.Flag = 1;
|
||||
// }
|
||||
|
||||
if (Res)
|
||||
{
|
||||
m.Result = "OK";
|
||||
listRes[i] = 1;
|
||||
m.Remark += MesMessage1;
|
||||
}
|
||||
else
|
||||
{
|
||||
m.Result = "NG";
|
||||
switch (mesResType1)
|
||||
{
|
||||
case MesResType.A:// 停线,设备报警停机
|
||||
//listRes[i] = 10;
|
||||
listRes[i] = 3;
|
||||
m.Remark += "MES NG";
|
||||
break;
|
||||
case MesResType.B:
|
||||
//listRes[i] = 9;
|
||||
listRes[i] = 3;
|
||||
m.Remark += "MES NG";
|
||||
break;
|
||||
case MesResType.C:
|
||||
//listRes[i] = 1;
|
||||
listRes[i] = 3;
|
||||
m.Remark += "MES NG";
|
||||
break;
|
||||
case MesResType.D:
|
||||
listRes[i] = 1;
|
||||
m.Remark += "MES OK";
|
||||
break;
|
||||
default:
|
||||
listRes[i] = 3;
|
||||
m.Remark += "MES NG";
|
||||
break;
|
||||
}
|
||||
if (CommonMethods.sysConfig.OKSwitching)
|
||||
{
|
||||
//调试发OK
|
||||
listRes[i] = 1;
|
||||
//m.Result = "OK";
|
||||
}
|
||||
m.Remark += MesMessage1;
|
||||
}
|
||||
}
|
||||
else
|
||||
// if (Res)
|
||||
// {
|
||||
// m.Result = "OK";
|
||||
// listRes[i] = 1;
|
||||
// m.Remark += MesMessage1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// m.Result = "NG";
|
||||
// switch (mesResType1)
|
||||
// {
|
||||
// case MesResType.A:// 停线,设备报警停机
|
||||
// //listRes[i] = 10;
|
||||
// listRes[i] = 3;
|
||||
// m.Remark += "MES NG";
|
||||
// break;
|
||||
// case MesResType.B:
|
||||
// //listRes[i] = 9;
|
||||
// listRes[i] = 3;
|
||||
// m.Remark += "MES NG";
|
||||
// break;
|
||||
// case MesResType.C:
|
||||
// //listRes[i] = 1;
|
||||
// listRes[i] = 3;
|
||||
// m.Remark += "MES NG";
|
||||
// break;
|
||||
// case MesResType.D:
|
||||
// listRes[i] = 1;
|
||||
// m.Remark += "MES OK";
|
||||
// break;
|
||||
// default:
|
||||
// listRes[i] = 3;
|
||||
// m.Remark += "MES NG";
|
||||
// break;
|
||||
// }
|
||||
// if (CommonMethods.sysConfig.OKSwitching)
|
||||
// {
|
||||
// //调试发OK
|
||||
// listRes[i] = 1;
|
||||
// //m.Result = "OK";
|
||||
// }
|
||||
// m.Remark += MesMessage1;
|
||||
// }
|
||||
// m.ID = i + 1;
|
||||
// m.CNum = m.ID.ToString();
|
||||
//}
|
||||
//else
|
||||
{
|
||||
m.Flag = 0;
|
||||
m.ID = i + 1;
|
||||
@@ -542,11 +439,14 @@ namespace JinYuan.ControlCenters
|
||||
JYResult result = CommonMethods.PlcLink.WriteValue("D2100", listRes[0], Data_Type.Short);//调试结果写入PLC
|
||||
CommonMethods.PlcLink.WriteValue("D2101", listRes[1], Data_Type.Short);//调试结果写入PLC
|
||||
CommonMethods.PlcLink.WriteValue("D2102", listRes[2], Data_Type.Short);//调试结果写入PLC
|
||||
//CommonMethods.PlcLink.WriteValue("D2103", listRes[3], Data_Type.Short);//调试结果写入PLC
|
||||
CommonMethods.PlcLink.WriteValue("D2103", listRes[3], Data_Type.Short);//调试结果写入PLC
|
||||
CommonMethods.PlcLink.WriteValue("D2104", listRes[4], Data_Type.Short);//调试结果写入PLC
|
||||
CommonMethods.PlcLink.WriteValue("D2105", listRes[5], Data_Type.Short);//调试结果写入PLC
|
||||
|
||||
//CommonMethods.PlcLink.WriteInt16("D2100", listRes[0]);//调试结果OK写入PLC
|
||||
if (result != null)
|
||||
{
|
||||
string strres = $"分档工位发送给PLC: D2100={listRes[0]},D2101={listRes[1]},D2102={listRes[2]},";
|
||||
string strres = $"分档工位发送给PLC: D2100={listRes[0]},D2101={listRes[1]},D2102={listRes[2]},D2103={listRes[3]},D2104={listRes[4]},D2105 ={listRes[5]}";
|
||||
CommonMethods.AddDataMonitorLog(0, strres);
|
||||
}
|
||||
|
||||
@@ -1789,7 +1689,7 @@ namespace JinYuan.ControlCenters
|
||||
List<string> listBarCode = GetList<string>(6, "");//电芯条码
|
||||
//List<string> listNum = GetList<string>(1, "");//进站磁悬浮动子编号
|
||||
List<short> listRes = GetList<short>(6, 0);//出站电芯反馈结果
|
||||
List<short> listGradeResult = GetList<short>(6, 0);//grading plc 数字结果
|
||||
List<short> listGradeResult = GetList<short>(6, 99);//grading plc 数字结果
|
||||
//反馈结果
|
||||
#region 电芯解析
|
||||
//电芯解析 从3200 开始
|
||||
@@ -1799,6 +1699,8 @@ namespace JinYuan.ControlCenters
|
||||
listBarCode[3] = StringLib.GetStringFromByteArrayByEncoding(bytes, 120, 40, System.Text.Encoding.ASCII).Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim();
|
||||
listBarCode[4] = StringLib.GetStringFromByteArrayByEncoding(bytes, 160, 40, System.Text.Encoding.ASCII).Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim();
|
||||
listBarCode[5] = StringLib.GetStringFromByteArrayByEncoding(bytes, 200, 40, System.Text.Encoding.ASCII).Replace('\0', ' ').Replace('\r', ' ').Replace(" ", "").Trim();
|
||||
#endregion
|
||||
|
||||
#region 上传MES
|
||||
var lstBGearEntity = GetBlankingData(listBarCode);
|
||||
//D3200起
|
||||
@@ -1906,98 +1808,104 @@ namespace JinYuan.ControlCenters
|
||||
#region 发送结果MES ,本地存储
|
||||
if (Code_NG == 1)
|
||||
{
|
||||
|
||||
//if (i >= 4)
|
||||
//{
|
||||
// var bar = list[i].BarCode;
|
||||
//}
|
||||
string MesMessage = "";
|
||||
MesResType mesResType = MesResType.C;
|
||||
|
||||
if (CommonMethods.mesConfig.isUpMes)
|
||||
{
|
||||
#region 出站 分档取消出站
|
||||
////{
|
||||
//// string url = CommonMethods.mesConfig.OutStationMesUrl;
|
||||
//// string siteCode = CommonMethods.mesConfig.siteCode;
|
||||
//// string lineCode = CommonMethods.mesConfig.lineCode;
|
||||
//// string equipNum = CommonMethods.mesConfig.equipNum;
|
||||
//// string materialCode = CommonMethods.mesConfig.MaterialCode;
|
||||
//// string userName = CommonMethods.mesConfig.mesUserName;
|
||||
//// int type = 1;
|
||||
//// //int type = 1;
|
||||
//// //string materialLotCodeLocator = "";
|
||||
//// var (NGcodeList, NGmessage) = NGWGJcode(m.CCD_NgNo, i);
|
||||
//// bool Res = CommonMethods.hbgMes.OutboundInformations(url, siteCode, lineCode, equipNum, materialCode, userName, m, ref MesMessage, ref mesResType, NGcodeList, NGmessage);
|
||||
//// //bool Res = CommonMethods.hbgMes.SingleCellOutStation(url, siteCode, lineCode, equipNum, materialCode, userName, m,)
|
||||
//// if (MesMessage.Contains("发生一个或多个错误"))
|
||||
//// {
|
||||
//// MesMessage = "上传失败,";
|
||||
//// }
|
||||
//// else
|
||||
//// {
|
||||
//// m.Flag = 1;
|
||||
//// }
|
||||
//// if (Res)
|
||||
//// {
|
||||
//// //MES出站判定结果
|
||||
//// m.Result = MyRes[i];
|
||||
//// ////芯包重量1判定结果
|
||||
//// //if (m.list_Data1[i, 10] == 2) { m.Remark += "芯包重量NG,"; }
|
||||
//// ////芯包侧厚判定结果
|
||||
//// //if (m.list_Data1[i, 11] == 2) { m.Remark += "芯包侧厚NG,"; }
|
||||
//// ////芯包CCD极性检测结果
|
||||
//// //if (m.list_Data1[i, 12] == 2) { m.Remark += "芯包CCD极性检测NG,"; }
|
||||
//// m.Remark += MesMessage;
|
||||
//// }
|
||||
//// else
|
||||
//// {
|
||||
//// switch (mesResType)
|
||||
//// {
|
||||
//// case MesResType.A:// 停线,设备报警停机
|
||||
//// //m.listRes[i] = 10;
|
||||
//// // m.Result = MyRes[i] = 2;
|
||||
//// m.Result = MyRes[i] = 3;
|
||||
//// m.Remark += "MES NG";
|
||||
//// break;
|
||||
//// case MesResType.B://不停机,MEs NG品要排出,要给PLC发NG信号
|
||||
//// //m.listRes[i] = 9;
|
||||
//// // m.Result = MyRes[i] = 2;
|
||||
//// m.Result = MyRes[i] = 3;
|
||||
//// m.Remark += "MES NG";
|
||||
//// break;
|
||||
//// case MesResType.C://可忽略
|
||||
//// //m.listRes[i] = 1;
|
||||
//// // m.Result = MyRes[i] = 2;
|
||||
//// m.Result = MyRes[i] = 1;
|
||||
//// m.Remark += "MES Alerm OK";
|
||||
//// break;
|
||||
//// case MesResType.D://可忽略
|
||||
//// //m.listRes[i] = 1;
|
||||
//// // m.Result = MyRes[i] = 2;
|
||||
//// m.Result = MyRes[i] = 1;
|
||||
//// m.Remark += "MES OK";
|
||||
//// break;
|
||||
//// default:
|
||||
//// m.Remark += "MES NG";
|
||||
//// m.Result = MyRes[i] = 3;
|
||||
//// break;
|
||||
//// }
|
||||
//// ////芯包重量1判定结果
|
||||
//// //if (m.list_Data1[i, 10] == 2) { m.Remark += "芯包重量NG,"; }
|
||||
//// ////芯包侧厚判定结果
|
||||
//// //if (m.list_Data1[i, 11] == 2) { m.Remark += "芯包侧厚NG,"; }
|
||||
//// ////芯包CCD极性检测结果
|
||||
//// //if (m.list_Data1[i, 12] == 2) { m.Remark += "芯包CCD极性检测NG,"; }
|
||||
//// m.Remark += MesMessage;
|
||||
//// }
|
||||
////}
|
||||
#endregion
|
||||
//发送产品结果参数给MES
|
||||
//bool Res1 = CommonMethods.hbgMes.ProducResultParam(ur2, siteCode1, lineCode1, equipNum1, materialCode1, userName1, m, unloadType, ref Mesage);
|
||||
//if (CommonMethods.mesConfig.isUpMes)
|
||||
//{
|
||||
// // 2025/12/25 打开出站
|
||||
// #region 出站 分档取消出站
|
||||
// {
|
||||
// string url = CommonMethods.mesConfig.OutStationMesUrl;
|
||||
// string siteCode = CommonMethods.mesConfig.siteCode;
|
||||
// string lineCode = CommonMethods.mesConfig.lineCode;
|
||||
// string equipNum = CommonMethods.mesConfig.equipNum;
|
||||
// string materialCode = CommonMethods.mesConfig.MaterialCode;
|
||||
// string userName = CommonMethods.mesConfig.mesUserName;
|
||||
// int type = 1;
|
||||
// //int type = 1;
|
||||
// //string materialLotCodeLocator = "";
|
||||
// var (NGcodeList, NGmessage) = NGWGJcode(m.CCD_NgNo, i);
|
||||
// bool Res = CommonMethods.hbgMes.OutboundInformations(url, siteCode, lineCode, equipNum, materialCode, userName, m, ref MesMessage, ref mesResType, NGcodeList, NGmessage);
|
||||
// //bool Res = CommonMethods.hbgMes.SingleCellOutStation(url, siteCode, lineCode, equipNum, materialCode, userName, m,)
|
||||
// if (MesMessage.Contains("发生一个或多个错误"))
|
||||
// {
|
||||
// MesMessage = "上传失败,";
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// m.Flag = 1;
|
||||
// }
|
||||
// if (Res)
|
||||
// {
|
||||
// //MES出站判定结果
|
||||
// m.Result = MyRes[i];
|
||||
// ////芯包重量1判定结果
|
||||
// //if (m.list_Data1[i, 10] == 2) { m.Remark += "芯包重量NG,"; }
|
||||
// ////芯包侧厚判定结果
|
||||
// //if (m.list_Data1[i, 11] == 2) { m.Remark += "芯包侧厚NG,"; }
|
||||
// ////芯包CCD极性检测结果
|
||||
// //if (m.list_Data1[i, 12] == 2) { m.Remark += "芯包CCD极性检测NG,"; }
|
||||
// m.Remark += MesMessage;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// switch (mesResType)
|
||||
// {
|
||||
// case MesResType.A:// 停线,设备报警停机
|
||||
// //m.listRes[i] = 10;
|
||||
// // m.Result = MyRes[i] = 2;
|
||||
// m.Result = MyRes[i] = 3;
|
||||
// m.Remark += "MES NG";
|
||||
// break;
|
||||
// case MesResType.B://不停机,MEs NG品要排出,要给PLC发NG信号
|
||||
// //m.listRes[i] = 9;
|
||||
// // m.Result = MyRes[i] = 2;
|
||||
// m.Result = MyRes[i] = 3;
|
||||
// m.Remark += "MES NG";
|
||||
// break;
|
||||
// case MesResType.C://可忽略
|
||||
// //m.listRes[i] = 1;
|
||||
// // m.Result = MyRes[i] = 2;
|
||||
// m.Result = MyRes[i] = 1;
|
||||
// m.Remark += "MES Alerm OK";
|
||||
// break;
|
||||
// case MesResType.D://可忽略
|
||||
// //m.listRes[i] = 1;
|
||||
// // m.Result = MyRes[i] = 2;
|
||||
// m.Result = MyRes[i] = 1;
|
||||
// m.Remark += "MES OK";
|
||||
// break;
|
||||
// default:
|
||||
// m.Remark += "MES NG";
|
||||
// m.Result = MyRes[i] = 3;
|
||||
// break;
|
||||
// }
|
||||
// ////芯包重量1判定结果
|
||||
// //if (m.list_Data1[i, 10] == 2) { m.Remark += "芯包重量NG,"; }
|
||||
// ////芯包侧厚判定结果
|
||||
// //if (m.list_Data1[i, 11] == 2) { m.Remark += "芯包侧厚NG,"; }
|
||||
// ////芯包CCD极性检测结果
|
||||
// //if (m.list_Data1[i, 12] == 2) { m.Remark += "芯包CCD极性检测NG,"; }
|
||||
// m.Remark += MesMessage;
|
||||
// }
|
||||
// }
|
||||
// #endregion
|
||||
// //发送产品结果参数给MES
|
||||
// //bool Res1 = CommonMethods.hbgMes.ProducResultParam(ur2, siteCode1, lineCode1, equipNum1, materialCode1, userName1, m, unloadType, ref Mesage);
|
||||
|
||||
|
||||
if (m.Flag == 1)
|
||||
m.UpState = "已上传";
|
||||
else
|
||||
m.UpState = "未上传";
|
||||
}
|
||||
else
|
||||
// if (m.Flag == 1)
|
||||
// m.UpState = "已上传";
|
||||
// else
|
||||
// m.UpState = "未上传";
|
||||
//}
|
||||
//else
|
||||
{
|
||||
m.Result = MyRes[i];
|
||||
m.Remark += "本地存储";
|
||||
@@ -2027,11 +1935,15 @@ namespace JinYuan.ControlCenters
|
||||
#region OK分档查询
|
||||
//if (CommonMethods.sysConfig.MesModeSwitching && CommonMethods.mesConfig.isConnected)
|
||||
{ //1 分选测厚度NG ,2 分选外观不良 21分选一档,22分选二档,23分选三档、24分选四档,25分档5 26 ==6
|
||||
// 99 外观检NG 98 性能NG 97 其它NG
|
||||
|
||||
if (list[i].Result == 1)
|
||||
//2025/12/25 ok
|
||||
if (Code_NG == 1)
|
||||
{
|
||||
|
||||
if (CommonMethods.mesConfig.isUpMes)
|
||||
{
|
||||
//分档接口
|
||||
//分档接口
|
||||
//21~26 OK挡位
|
||||
var (success, mesage, mesResType, mesResFangAnType) = CommonMethods.hbgMes.MesGrading(
|
||||
@@ -2045,6 +1957,7 @@ namespace JinYuan.ControlCenters
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
//listGradeResult[i] = (short)26;//默认分档OK
|
||||
list[i].Remark = "外观检OK分档";
|
||||
list[i].Mes_battery_Grade = mesResType[0];
|
||||
@@ -2054,48 +1967,55 @@ namespace JinYuan.ControlCenters
|
||||
|
||||
if (mesResType[0].Equals(CommonMethods.mesConfig.Grading1))
|
||||
{
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[0] + 20);
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]外观检OKMES反馈档位:{mesResType[0]}";
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[0] );
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}],MES反馈档位:{mesResType[0]},{listGradeResult[i]}";
|
||||
}
|
||||
else if (mesResType[0].Equals(CommonMethods.mesConfig.Grading2))
|
||||
{
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[1] + 20);
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]外观检OKMES反馈档位:{mesResType[0]}";
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[1]);
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}],MES反馈档位:{mesResType[0]},{listGradeResult[i]}";
|
||||
}
|
||||
else if (mesResType[0].Equals(CommonMethods.mesConfig.Grading3))
|
||||
{
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[2] + 20);
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]外观检OKMES反馈档位:{mesResType[0]}";
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[2]);
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}],MES反馈档位:{mesResType[0]},{listGradeResult[i]}";
|
||||
}
|
||||
else if (mesResType[0].Equals(CommonMethods.mesConfig.Grading4))
|
||||
{
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[3] + 20);
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]外观检OKMES反馈档位:{mesResType[0]}";
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[3]);
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}],MES反馈档位:{mesResType[0]},{listGradeResult[i]}";
|
||||
}
|
||||
else if (mesResType[0].Equals(CommonMethods.mesConfig.Grading5))
|
||||
{
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[4] + 20);
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]外观检OKMES反馈档位:{mesResType[0]}";
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[4]);
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}],MES反馈档位:{mesResType[0]},{listGradeResult[i]}";
|
||||
}
|
||||
else if (mesResType[0].Equals(CommonMethods.mesConfig.Grading6))
|
||||
{
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[5] + 20);
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]外观检OKMES反馈档位:{mesResType[0]}";
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[5]);
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}],MES反馈档位:{mesResType[0]},{listGradeResult[i]}";
|
||||
}
|
||||
else
|
||||
{
|
||||
listGradeResult[i] = (short)(97);// 走分档NG
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}],MES反馈档位:{mesResType[0]},MES未反馈正确档位";
|
||||
throw new Exception("MES未反馈正确档位");
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
listGradeResult[i] = (short)(99);// 走分档NG
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]外观检OKMES反馈档位:{mesResType[0]},MES未反馈正确档位";
|
||||
throw new Exception("MES未反馈正确档位");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[5] + 20); //(short)26;
|
||||
|
||||
//listGradeResult[i] = (short)(CommonMethods.MESGradingSet[5] + 20); //(short)26;
|
||||
listGradeResult[i] = (short)(99);// 走分档NG
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]外观检OK分档NG,MES未反馈正确档位";
|
||||
LoggerHelp.WriteLog("解析出站MES分档数据异常:{ex.Message}", "SysErrorLog");
|
||||
|
||||
@@ -2104,31 +2024,25 @@ namespace JinYuan.ControlCenters
|
||||
else
|
||||
{
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]外观检OK分档,MES断连";
|
||||
listGradeResult[i] = (short)(CommonMethods.MESGradingSet[5] + 20); //(short)26;
|
||||
// list[i].Result = "MES NG";
|
||||
listGradeResult[i] = 99; //(short)26;
|
||||
// list[i].Result = "MES NG";
|
||||
CommonMethods.PlcLink.WriteValue("D80", 1, Data_Type.Short);
|
||||
//反馈MES结果
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
//厚度不良分档 1 测厚不良 2 外观不良
|
||||
if (list[i].CCD19 != 1)
|
||||
{
|
||||
listGradeResult[i] = 1;
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]测厚度NG";
|
||||
}
|
||||
else
|
||||
{
|
||||
//外观不良分档
|
||||
listGradeResult[i] = 2;
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]外观检NG不分类";
|
||||
}
|
||||
listGradeResult[i] = 97;
|
||||
|
||||
list[i].Remark = $"出站条码[{list[i].BarCode}]扫码NG";
|
||||
|
||||
}
|
||||
listRes[i] = listGradeResult[i];
|
||||
list[i].Result = listGradeResult[i];
|
||||
|
||||
MyRes[i] = listGradeResult[i];
|
||||
|
||||
}
|
||||
@@ -2167,6 +2081,9 @@ namespace JinYuan.ControlCenters
|
||||
JYResult result1 = null;
|
||||
JYResult result2 = null;
|
||||
JYResult result3 = null;
|
||||
JYResult result4 = null;
|
||||
JYResult result5 = null;
|
||||
JYResult result6 = null;
|
||||
if (pf.IsFeedbackPlc)
|
||||
{
|
||||
//result1 = CommonMethods.PlcLink.WriteValue(pf.VarList[2].VarAddress, MyRes[0], Data_Type.Short);//判断结果写入PLC
|
||||
@@ -2180,6 +2097,9 @@ namespace JinYuan.ControlCenters
|
||||
result1 = CommonMethods.PlcLink.WriteValue(pf.VarList[2].VarAddress, MyRes[0], Data_Type.Short);//判断结果写入PLC
|
||||
result2 = CommonMethods.PlcLink.WriteValue(pf.VarList[3].VarAddress, MyRes[1], Data_Type.Short);//判断结果写入PLC
|
||||
result3 = CommonMethods.PlcLink.WriteValue(pf.VarList[4].VarAddress, MyRes[2], Data_Type.Short);//判断结果写入PLC
|
||||
result4 = CommonMethods.PlcLink.WriteValue(pf.VarList[5].VarAddress, MyRes[3], Data_Type.Short);//判断结果写入PLC
|
||||
result5 = CommonMethods.PlcLink.WriteValue(pf.VarList[6].VarAddress, MyRes[4], Data_Type.Short);//判断结果写入PLC
|
||||
result6 = CommonMethods.PlcLink.WriteValue(pf.VarList[7].VarAddress, MyRes[5], Data_Type.Short);//判断结果写入PLC
|
||||
}
|
||||
//else
|
||||
//{
|
||||
@@ -2189,9 +2109,9 @@ namespace JinYuan.ControlCenters
|
||||
// result2 = CommonMethods.PlcLink.WriteValue(pf.VarList[3].VarAddress, MyRes[1], Data_Type.Short);//判断结果写入PLC
|
||||
//}
|
||||
}
|
||||
JYResult result4 = CommonMethods.PlcLink.WriteValue(pf.VarList[0].VarAddress, 0);//置位0
|
||||
CommonMethods.AddDataMonitorLog(0, $"发送信息给PLC:{result1.IsSuccess},{MyRes[0]},{MyRes[1]},{MyRes[2]}");
|
||||
LoggerHelp.WriteLog($"发送信息给PLC:{result1.IsSuccess},{MyRes[0]},{MyRes[1]},{MyRes[2]}");
|
||||
JYResult result_zw = CommonMethods.PlcLink.WriteValue(pf.VarList[0].VarAddress, 0);//置位0
|
||||
CommonMethods.AddDataMonitorLog(0, $"发送信息给PLC:{result1.IsSuccess},{MyRes[0]},{MyRes[1]},{MyRes[2]},{MyRes[3]},{MyRes[4]},{MyRes[5]}");
|
||||
LoggerHelp.WriteLog($"发送信息给PLC:{result1.IsSuccess},{MyRes[0]},{MyRes[1]},{MyRes[2]},{MyRes[3]},{MyRes[4]},{MyRes[5]}");
|
||||
|
||||
//Task.Run(() => { SendDateMQTT.Instance.EnterandExitSendMessge(1); });
|
||||
//数据存储 - 异步处理
|
||||
@@ -2357,7 +2277,7 @@ namespace JinYuan.ControlCenters
|
||||
|
||||
List<string> NGcodelist = new List<string>();
|
||||
List<string> NGmessagelist = new List<string>();
|
||||
for (int i = 0; i < 16; i++)
|
||||
for (int i = 0; i < 27; i++)
|
||||
{
|
||||
if (lstResult[index, i] != 0)
|
||||
{
|
||||
@@ -2392,6 +2312,7 @@ namespace JinYuan.ControlCenters
|
||||
return NGcodelist;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 读取下料数据 sql数据库
|
||||
private List<BGearEntity> GetBlankingData(List<string> listBarCode)
|
||||
{
|
||||
@@ -2477,5 +2398,5 @@ namespace JinYuan.ControlCenters
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -108,6 +108,54 @@ namespace JinYuan.ControlCenters
|
||||
|
||||
#endregion
|
||||
|
||||
#region 11、安全装置状态
|
||||
/// <summary>
|
||||
/// 安全装置状态
|
||||
/// </summary>
|
||||
/// <param name="strStatus"></param>
|
||||
/// <returns></returns>
|
||||
public static string SafeEqptAlarm(string StartDate, List<SafeEqptCode> safeEqptCodeLists = null)
|
||||
{
|
||||
var nowTime = DateTime.Now;
|
||||
string resJson = "";
|
||||
string josnTxtMsg = string.Empty;
|
||||
string Date = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
|
||||
try
|
||||
{
|
||||
//SafeEqptStatusParam statusParam = new SafeEqptStatusParam();
|
||||
//statusParam.siteCode = CommonMethods.mesConfig.siteCode;
|
||||
//statusParam.lineCode = CommonMethods.mesConfig.lineCode;
|
||||
//statusParam.equipNum = CommonMethods.mesConfig.equipNum;
|
||||
//statusParam.userName = CommonMethods.mesConfig.mesUserName;
|
||||
//statusParam.seatId = "";
|
||||
//statusParam.recordDate = StartDate;
|
||||
//statusParam.uploadTime = Date;
|
||||
//statusParam.safeEqptCodeList = safeEqptCodeLists;
|
||||
//string SendJosn = JsonConvert.SerializeObject(statusParam);
|
||||
|
||||
var sw = new Stopwatch();
|
||||
|
||||
for (int i = 0; i < safeEqptCodeLists.Count; i++)
|
||||
{
|
||||
string SendJosn = JsonConvert.SerializeObject(safeEqptCodeLists[i]);
|
||||
sw.Start();
|
||||
resJson = MESApiHelper.HttpPostJsonAPI(CommonMethods.mesConfig.SafeEqptStatusMesUrl, SendJosn);
|
||||
sw.Stop();
|
||||
josnTxtMsg = $"{nowTime.ToString("yyyy-MM-dd HH:mm:ss.fff")}:调用MES安全设备运行状态接口:{CommonMethods.mesConfig.SafeEqptStatusMesUrl},请求数据为:{SendJosn},\n{nowTime.AddMilliseconds(sw.ElapsedMilliseconds).ToString("yyyy-MM-dd HH:mm:ss.fff")}:接口耗时:{sw.ElapsedMilliseconds}ms,返回结果:{resJson}";
|
||||
TxtHelper.WriteTxt($@"{CommonMethods.strMesLogspath}\{nowTime.ToString("yyyyMMdd")}\设备运行状态\{nowTime.ToString("HH")}.txt", josnTxtMsg);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LoggerHelp.WriteEX("调用MES安全设备运行状态接口", ex);
|
||||
}
|
||||
return resJson;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1934,13 +1934,15 @@ namespace JinYuan.MES
|
||||
}
|
||||
if (row != null)
|
||||
{
|
||||
MesMessage = row.message.ToString();
|
||||
MesMessage = "返回为空!";
|
||||
// MesMessage = row.message.ToString();
|
||||
MesGrading = row.rank;
|
||||
MesGradingFangAn = row.sortingScheme;
|
||||
}
|
||||
else
|
||||
{
|
||||
MesMessage = "返回为空!";
|
||||
MesMessage = row.message.ToString();
|
||||
// MesMessage = "返回为空!";
|
||||
MesGrading = "NULL";
|
||||
MesGradingFangAn = "NULL";
|
||||
}
|
||||
|
||||
@@ -60,4 +60,61 @@ namespace JinYuan.MES.Models
|
||||
/// </summary>
|
||||
public string faultCode { get; set; }
|
||||
}
|
||||
public class SafeEqptStatusParam
|
||||
{
|
||||
/// <summary>
|
||||
/// 工厂代码
|
||||
/// </summary>
|
||||
public string siteCode { get; set; }
|
||||
/// <summary>
|
||||
/// 产线编号
|
||||
/// </summary>
|
||||
public string lineCode { get; set; }
|
||||
/// <summary>
|
||||
/// 设备编号
|
||||
/// </summary>
|
||||
public string equipNum { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string materialCode { get; set; }
|
||||
/// <summary>
|
||||
/// 员工账号
|
||||
/// </summary>
|
||||
public string userName { get; set; }
|
||||
/// <summary>
|
||||
/// 库位ID
|
||||
/// </summary>
|
||||
public string seatId { get; set; }
|
||||
/// <summary>
|
||||
/// 采集时间
|
||||
/// </summary>
|
||||
public string recordDate { get; set; }
|
||||
/// <summary>
|
||||
/// 设备状态 。Run:(正常运行)、Alert:(故障调试)、Idle:(闲置待机)、Maintain(停止运行)
|
||||
/// </summary>
|
||||
public string statusCode { get; set; }
|
||||
/// <summary>
|
||||
/// 状态变更时间
|
||||
/// </summary>
|
||||
public string uploadTime { get; set; }
|
||||
/// <summary>
|
||||
/// 唯一标识符号
|
||||
/// </summary>
|
||||
public string guid { get; set; }
|
||||
public List<SafeEqptCode> safeEqptCodeList { get; set; }
|
||||
}
|
||||
|
||||
public class SafeEqptCode
|
||||
{
|
||||
/// <summary>
|
||||
/// 安全装置编码
|
||||
/// </summary>
|
||||
public string equipNum { get; set; }
|
||||
/// <summary>
|
||||
/// 设备状态
|
||||
/// </summary>
|
||||
public string status { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,23 +7,23 @@ namespace JinYuan.Models
|
||||
/// </summary>
|
||||
public class BGearEntity
|
||||
{
|
||||
public int[] MyNo = new int[3];//AB序号
|
||||
public short[] listRes = new short[3];//AB反馈结果
|
||||
public string[] ScanTime = new string[3];//AB芯包扫码时间
|
||||
public string[] listBatCode = new string[3];//芯包条码
|
||||
public string[] judgment_result = new string[3];//AB芯包出站判定结果
|
||||
public int[] MyNo = new int[6];//AB序号
|
||||
public short[] listRes = new short[6];//AB反馈结果
|
||||
public string[] ScanTime = new string[6];//AB芯包扫码时间
|
||||
public string[] listBatCode = new string[6];//芯包条码
|
||||
public string[] judgment_result = new string[6];//AB芯包出站判定结果
|
||||
|
||||
public short[,] list_Data1 = new short[3, 28];//芯包信息1
|
||||
public int[,] list_Data2 = new int[3, 19];//芯包信息2(焊机相关次数)
|
||||
public float[,] list_Data3 = new float[3, 54];//芯包信息3(设定值)
|
||||
public float[,] list_Data4 = new float[3, 47];//芯包信息4(实际值)
|
||||
public short[,] list_Data1 = new short[6, 28];//芯包信息1
|
||||
public int[,] list_Data2 = new int[6, 19];//芯包信息2(焊机相关次数)
|
||||
public float[,] list_Data3 = new float[6, 54];//芯包信息3(设定值)
|
||||
public float[,] list_Data4 = new float[6, 47];//芯包信息4(实际值)
|
||||
|
||||
public short[,] list_pan = new short[3, 1];//物流线托盘码
|
||||
public short[,] list_pan = new short[6, 1];//物流线托盘码
|
||||
//
|
||||
public int[,] CCD_Data = new int[3, 16];//芯包CCD信息1,2,3
|
||||
public int[,] CCD_NgNo = new int[3, 16];//芯包不良编码信息1,2,3
|
||||
public float[,] Thickness_Data = new float[3, 3];//电芯3_厚度数据信息1,2,3
|
||||
public int[,] Thickness_PLCData = new int[3, 3];//电芯3_厚度数据OKNG1,2,3 与ccd一样 1 OK,0 NG,2 缺图
|
||||
public int[,] CCD_Data = new int[6,27];//芯包CCD信息1,2,3
|
||||
public int[,] CCD_NgNo = new int[6, 27];//芯包不良编码信息1,2,3
|
||||
public float[,] Thickness_Data = new float[6, 3];//电芯3_厚度数据信息1,2,3
|
||||
public int[,] Thickness_PLCData = new int[6, 3];//电芯3_厚度数据OKNG1,2,3 与ccd一样 1 OK,0 NG,2 缺图
|
||||
/// <summary>
|
||||
/// 通道
|
||||
/// </summary>
|
||||
@@ -69,6 +69,13 @@ namespace JinYuan.Models
|
||||
public int CCD18 { get; set; }
|
||||
public int CCD19 { get; set; }
|
||||
public int CCD20 { get; set; }
|
||||
public int CCD21 { get; set; }
|
||||
public int CCD22 { get; set; }
|
||||
public int CCD23 { get; set; }
|
||||
public int CCD24 { get; set; }
|
||||
public int CCD25 { get; set; }
|
||||
public int CCD26 { get; set; }
|
||||
public int CCD27 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 电芯1_厚度数据1
|
||||
@@ -111,8 +118,15 @@ namespace JinYuan.Models
|
||||
public string CCDResult18 { get; set; }
|
||||
public string CCDResult19 { get; set; }
|
||||
public string CCDResult20 { get; set; }
|
||||
public string CCDResult21 { get; set; }
|
||||
public string CCDResult22 { get; set; }
|
||||
public string CCDResult23 { get; set; }
|
||||
public string CCDResult24 { get; set; }
|
||||
public string CCDResult25 { get; set; }
|
||||
public string CCDResult26 { get; set; }
|
||||
public string CCDResult27 { get; set; }
|
||||
|
||||
|
||||
public string CSBYHCODEA { get; set; }
|
||||
/// <summary>
|
||||
/// 芯包条码
|
||||
/// </summary>
|
||||
@@ -191,10 +205,21 @@ namespace JinYuan.Models
|
||||
public string CCD15NgCode { get; set; }
|
||||
public string CCD16NgCode { get; set; }
|
||||
public string CCD17NgCode { get; set; }
|
||||
public string CCD18NgCode { get; set; }
|
||||
public string CCD19NgCode { get; set; }
|
||||
public string CCD20NgCode { get; set; }
|
||||
|
||||
public string CCD21NgCode { get; set; }
|
||||
public string CCD22NgCode { get; set; }
|
||||
public string CCD23NgCode { get; set; }
|
||||
public string CCD24NgCode { get; set; }
|
||||
public string CCD25NgCode { get; set; }
|
||||
public string CCD26NgCode { get; set; }
|
||||
public string CCD27NgCode { get; set; }
|
||||
/// <summary>
|
||||
/// 二维码ng 不良编号
|
||||
/// </summary>
|
||||
public string CCD18NgCode { get; set; }
|
||||
|
||||
public string BarCodeResult { get; set; }
|
||||
/// <summary>
|
||||
/// 进出站条码匹配结果
|
||||
|
||||
@@ -8,6 +8,7 @@ using JinYuan.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
@@ -72,7 +73,6 @@ namespace JinYuan.VirtualDataLibrary
|
||||
public static List<NgCodeEntity> listNgCodeEntity = new List<NgCodeEntity>();
|
||||
|
||||
|
||||
|
||||
public static int InvadTime;
|
||||
|
||||
/// <summary>
|
||||
@@ -90,7 +90,6 @@ namespace JinYuan.VirtualDataLibrary
|
||||
/// </summary>
|
||||
public static DBSQL dBSQL { get; } = new DBSQL();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// MES配置文件类
|
||||
/// </summary>
|
||||
@@ -99,7 +98,6 @@ namespace JinYuan.VirtualDataLibrary
|
||||
|
||||
///创建一个全局的连接状态
|
||||
public static bool connectState = false;
|
||||
|
||||
/// <summary>
|
||||
/// 滴答次数
|
||||
/// </summary>
|
||||
@@ -309,105 +307,250 @@ namespace JinYuan.VirtualDataLibrary
|
||||
var res = false;
|
||||
try
|
||||
{
|
||||
|
||||
if (plcDevice != null && plcDevice.IsConnected)
|
||||
if (plcDevice != null && plcDevice.IsConnected)
|
||||
{
|
||||
DateTime Date = DateTime.Now;
|
||||
#region 档位写入
|
||||
MESGradingSet = new short[] { 0, 0, 0, 0, 0, 0 };
|
||||
//1
|
||||
MESGradingSet[0] = (short)21; // 21 22 23 24 25 26
|
||||
//2
|
||||
if (mesConfig.Grading2.Trim().Equals(mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[1] = MESGradingSet[0];
|
||||
else
|
||||
MESGradingSet[1] = (short)(MESGradingSet[0] + 1);
|
||||
//3
|
||||
if (mesConfig.Grading3.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[2] = MESGradingSet[0];
|
||||
else
|
||||
{
|
||||
DateTime Date = DateTime.Now;
|
||||
#region 档位写入
|
||||
// short[] MESGradingSet = new short[] { 0, 0, 0, 0, 0, 0 };
|
||||
//1
|
||||
MESGradingSet[0] = (short)21; // 21 22 23 24 25 26
|
||||
//2
|
||||
if (mesConfig.Grading2.Trim().Equals(mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[1] = MESGradingSet[0];
|
||||
else
|
||||
MESGradingSet[1] = (short)(MESGradingSet[0] + 1);
|
||||
//3
|
||||
if (mesConfig.Grading3.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[2] = MESGradingSet[0];
|
||||
if (CommonMethods.mesConfig.Grading3.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[2] = MESGradingSet[1];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading3.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[2] = MESGradingSet[1];
|
||||
else
|
||||
MESGradingSet[2] = (short)(MESGradingSet[1] + 1);
|
||||
var maxGrade = MESGradingSet.Max();
|
||||
MESGradingSet[2] = (short)(maxGrade + 1);
|
||||
}
|
||||
//4
|
||||
if (CommonMethods.mesConfig.Grading4.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[3] = MESGradingSet[0];
|
||||
}
|
||||
//4
|
||||
if (CommonMethods.mesConfig.Grading4.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[3] = MESGradingSet[0];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading4.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[3] = MESGradingSet[1];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading4.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[3] = MESGradingSet[1];
|
||||
if (CommonMethods.mesConfig.Grading4.Trim().Equals(CommonMethods.mesConfig.Grading3.Trim()))
|
||||
MESGradingSet[3] = MESGradingSet[2];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading4.Trim().Equals(CommonMethods.mesConfig.Grading3.Trim()))
|
||||
MESGradingSet[3] = MESGradingSet[2];
|
||||
else
|
||||
MESGradingSet[3] = (short)(MESGradingSet[2] + 1);
|
||||
var maxGrade = MESGradingSet.Max();
|
||||
MESGradingSet[3] = (short)(maxGrade + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//5
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[0];
|
||||
//5
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[0];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[1];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[1];
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading3.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[2];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading3.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[2];
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading4.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[3];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading4.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[3];
|
||||
else
|
||||
MESGradingSet[4] = (short)(MESGradingSet[3] + 1);
|
||||
var maxGrade = MESGradingSet.Max();
|
||||
MESGradingSet[4] = (short)(maxGrade + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
//6
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[0];
|
||||
}
|
||||
//6
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[0];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[1];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[1];
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading3.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[2];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading3.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[2];
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading4.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[3];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading4.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[3];
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading5.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[4];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading5.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[4];
|
||||
else
|
||||
MESGradingSet[5] = (short)(MESGradingSet[4] + 1);
|
||||
var maxGrade = MESGradingSet.Max();
|
||||
MESGradingSet[5] = (short)(maxGrade + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
var isWrite1 = PlcLink.WriteValue("D2600", MESGradingSet[0], Data_Type.Short);
|
||||
var isWrite2 = PlcLink.WriteValue("D2601", MESGradingSet[1], Data_Type.Short);
|
||||
var isWrite3 = PlcLink.WriteValue("D2602", MESGradingSet[2], Data_Type.Short);
|
||||
var isWrite4 = PlcLink.WriteValue("D2603", MESGradingSet[3], Data_Type.Short);
|
||||
var isWrite5 = PlcLink.WriteValue("D2604", MESGradingSet[4], Data_Type.Short);
|
||||
var isWrite6 = PlcLink.WriteValue("D2605", MESGradingSet[5], Data_Type.Short);
|
||||
if (isWrite1.IsSuccess && isWrite2.IsSuccess && isWrite3.IsSuccess && isWrite4.IsSuccess && isWrite5.IsSuccess && isWrite6.IsSuccess)
|
||||
{
|
||||
AddDataMonitorLog(0, $"OK分档档位写入PLC成功![2600~2605]{string.Join(",", MESGradingSet)}");
|
||||
}
|
||||
//其他if
|
||||
#region 性能NG
|
||||
if (CommonMethods.mesConfig.Grading6=="NG")
|
||||
{
|
||||
MESGradingSet[5] = 98;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading5 == "NG")
|
||||
{
|
||||
MESGradingSet[4] = 98;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading4 == "NG")
|
||||
{
|
||||
MESGradingSet[3] = 98;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading3 == "NG")
|
||||
{
|
||||
MESGradingSet[2] = 98;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading2 == "NG")
|
||||
{
|
||||
MESGradingSet[1] = 98;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading1 == "NG")
|
||||
{
|
||||
MESGradingSet[0] = 98;
|
||||
}
|
||||
#endregion
|
||||
|
||||
return true;
|
||||
#region 外观检NG
|
||||
if (CommonMethods.mesConfig.Grading6 == "E63yG")
|
||||
{
|
||||
MESGradingSet[5] = 31;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading5 == "E63yG")
|
||||
{
|
||||
MESGradingSet[4] = 31;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading4 == "E63yG")
|
||||
{
|
||||
MESGradingSet[3] = 31;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading3 == "E63yG")
|
||||
{
|
||||
MESGradingSet[2] = 31;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading2 == "E63yG")
|
||||
{
|
||||
MESGradingSet[1] = 31;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading1 == "E63yG")
|
||||
{
|
||||
MESGradingSet[0] = 31;
|
||||
}
|
||||
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading6 == "F63yG")
|
||||
{
|
||||
MESGradingSet[5] = 32;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading5 == "F63yG")
|
||||
{
|
||||
MESGradingSet[4] = 32;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading4 == "F63yG")
|
||||
{
|
||||
MESGradingSet[3] = 32;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading3 == "F63yG")
|
||||
{
|
||||
MESGradingSet[2] = 32;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading2 == "F63yG")
|
||||
{
|
||||
MESGradingSet[1] = 32;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading1 == "F63yG")
|
||||
{
|
||||
MESGradingSet[0] = 32;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
#region 其它NG
|
||||
if (CommonMethods.mesConfig.Grading6 == "拦截" || CommonMethods.mesConfig.Grading6 == "扫码NG" || CommonMethods.mesConfig.Grading6 == "其它")
|
||||
{
|
||||
MESGradingSet[5] = 97;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading5 == "拦截" || CommonMethods.mesConfig.Grading6 == "扫码NG" || CommonMethods.mesConfig.Grading6 == "其它")
|
||||
{
|
||||
MESGradingSet[4] = 97;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading4 == "拦截" || CommonMethods.mesConfig.Grading6 == "扫码NG" || CommonMethods.mesConfig.Grading6 == "其它")
|
||||
{
|
||||
MESGradingSet[3] = 97;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading3 == "拦截" || CommonMethods.mesConfig.Grading6 == "扫码NG" || CommonMethods.mesConfig.Grading6 == "其它")
|
||||
{
|
||||
MESGradingSet[2] = 97;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading2 == "拦截" || CommonMethods.mesConfig.Grading6 == "扫码NG" || CommonMethods.mesConfig.Grading6 == "其它")
|
||||
{
|
||||
MESGradingSet[1] = 97;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading1 == "拦截" || CommonMethods.mesConfig.Grading6 == "扫码NG" || CommonMethods.mesConfig.Grading6 == "其它")
|
||||
{
|
||||
MESGradingSet[0] = 97;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 性能NG
|
||||
if (CommonMethods.mesConfig.Grading6 == "不设置")
|
||||
{
|
||||
MESGradingSet[5] = 0;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading5 == "不设置")
|
||||
{
|
||||
MESGradingSet[4] = 0;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading4 == "不设置")
|
||||
{
|
||||
MESGradingSet[3] = 0;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading3 == "不设置")
|
||||
{
|
||||
MESGradingSet[2] = 0;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading2 == "不设置")
|
||||
{
|
||||
MESGradingSet[1] = 0;
|
||||
}
|
||||
if (CommonMethods.mesConfig.Grading1 == "不设置")
|
||||
{
|
||||
MESGradingSet[0] = 0;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
var isWrite1 = PlcLink.WriteValue("D2600", MESGradingSet[0], Data_Type.Short);
|
||||
var isWrite2 = PlcLink.WriteValue("D2601", MESGradingSet[1], Data_Type.Short);
|
||||
var isWrite3 = PlcLink.WriteValue("D2602", MESGradingSet[2], Data_Type.Short);
|
||||
var isWrite4 = PlcLink.WriteValue("D2603", MESGradingSet[3], Data_Type.Short);
|
||||
var isWrite5 = PlcLink.WriteValue("D2604", MESGradingSet[4], Data_Type.Short);
|
||||
var isWrite6 = PlcLink.WriteValue("D2605", MESGradingSet[5], Data_Type.Short);
|
||||
if (isWrite1.IsSuccess && isWrite2.IsSuccess && isWrite3.IsSuccess && isWrite4.IsSuccess && isWrite5.IsSuccess && isWrite6.IsSuccess)
|
||||
{
|
||||
AddDataMonitorLog(0, $"OK分档档位写入PLC成功![2600~2605]{string.Join(",", MESGradingSet)}");
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -415,7 +558,6 @@ namespace JinYuan.VirtualDataLibrary
|
||||
AddLog(true, ex.ToString());
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -0,0 +1,801 @@
|
||||
using JinYuan.CommunicationLib;
|
||||
using JinYuan.CommunicationLib.Base;
|
||||
using JinYuan.CommunicationLib.Enum;
|
||||
using JinYuan.DAL;
|
||||
using JinYuan.Helper;
|
||||
using JinYuan.MES;
|
||||
using JinYuan.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace JinYuan.VirtualDataLibrary
|
||||
{
|
||||
public class CommonMethods
|
||||
{
|
||||
/// <summary>
|
||||
/// 本地数据库
|
||||
/// </summary>
|
||||
public static ISugarHepler db = new SQLSugarService();
|
||||
/// <summary>
|
||||
/// 远程服务段数据库
|
||||
/// </summary>
|
||||
public static ISugarHepler dbServer = new SQLSugarService();
|
||||
|
||||
/// <summary>
|
||||
/// MES接口
|
||||
/// </summary>
|
||||
public static IMes hbgMes = new MesDataProcess();
|
||||
/// <summary>
|
||||
/// 参数
|
||||
/// </summary>
|
||||
public static ProductModelParam parRange = new ProductModelParam();
|
||||
/// <summary>
|
||||
/// 全局钩子
|
||||
/// </summary>
|
||||
public static ScanerHook listener = new ScanerHook();
|
||||
|
||||
/// <summary>
|
||||
/// 创建个全局焊接功率队列数据存储
|
||||
/// </summary>
|
||||
public static List<Queue<double>> QWeldingPowerData = new List<Queue<double>>();
|
||||
|
||||
/// <summary>
|
||||
/// 创建个全局入壳推力队列数据存储
|
||||
/// </summary>
|
||||
public static List<Queue<double>> QPlanenessData = new List<Queue<double>>();
|
||||
|
||||
/// <summary>
|
||||
/// 创建全局的登录对象
|
||||
/// </summary>
|
||||
public static SysAdmin currentAdmin = null;
|
||||
/// <summary>
|
||||
/// 登录是否成功
|
||||
/// </summary>
|
||||
public static bool IsLoginOk = false;
|
||||
/// <summary>
|
||||
/// 创建一个设备对象
|
||||
/// </summary>
|
||||
public static Device plcDevice;
|
||||
/// <summary>
|
||||
/// ModbusTCP通信对象
|
||||
/// </summary>
|
||||
//public static OmronFinsTCP plc = new OmronFinsTCP();
|
||||
|
||||
//创建一个全局的配置对象
|
||||
public static SysConfig sysConfig = new SysConfig();
|
||||
/// <summary>
|
||||
/// 创建全局的登录对象
|
||||
/// </summary>
|
||||
public static List<NgCodeEntity> listNgCodeEntity = new List<NgCodeEntity>();
|
||||
|
||||
|
||||
|
||||
public static int InvadTime;
|
||||
|
||||
/// <summary>
|
||||
/// 智能电表
|
||||
/// </summary>
|
||||
public static List<ElectricEnergy> listElectricEnergy = new List<ElectricEnergy>();
|
||||
|
||||
/// <summary>
|
||||
///是否开启刷新
|
||||
/// </summary>
|
||||
public static bool isRefreshTimerWeeding = false;
|
||||
|
||||
/// <summary>
|
||||
/// SQL语句
|
||||
/// </summary>
|
||||
public static DBSQL dBSQL { get; } = new DBSQL();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// MES配置文件类
|
||||
/// </summary>
|
||||
public static MesConfig mesConfig = new MesConfig();
|
||||
public static short[] MESGradingSet = new short[] { 0,0,0,0,0,0};
|
||||
|
||||
///创建一个全局的连接状态
|
||||
public static bool connectState = false;
|
||||
|
||||
/// <summary>
|
||||
/// 滴答次数
|
||||
/// </summary>
|
||||
public static int tickCount = 0;
|
||||
/// <summary>
|
||||
/// QIEHUAN
|
||||
/// </summary>
|
||||
public static int tickHomeCount = 0;
|
||||
/// <summary>
|
||||
/// 报警信息
|
||||
/// </summary>
|
||||
public static string SlideAlarmText = "当前无报警";
|
||||
/// <summary>
|
||||
/// 退出
|
||||
/// </summary>
|
||||
public static bool IsExit = false;
|
||||
/// <summary>
|
||||
/// 是否登出账户
|
||||
/// </summary>
|
||||
public static bool LoginOut = false;
|
||||
/// <summary>
|
||||
/// 是否上传MES
|
||||
/// </summary>
|
||||
public static bool IsUpMes { get; set; }
|
||||
/// <summary>
|
||||
/// 是否运行
|
||||
/// </summary>
|
||||
public static bool IsRun { get; set; } = false;
|
||||
/// <summary>
|
||||
///第一次读取
|
||||
/// </summary>
|
||||
public static bool IsFirst = false;
|
||||
/// <summary>
|
||||
/// 焊接功率波形图显示条数
|
||||
/// </summary>
|
||||
public static int ChatLineCount = 3;
|
||||
/// <summary>
|
||||
/// 员工号
|
||||
/// </summary>
|
||||
public static string strWorker { get; set; }
|
||||
/// <summary>
|
||||
/// 是否开启智能电表
|
||||
/// </summary>
|
||||
public static bool IsStartZNDB { get; set; } = false;
|
||||
/// <summary>
|
||||
/// 白夜班
|
||||
/// </summary>
|
||||
public static string strClass { get; set; } = "白班";
|
||||
/// <summary>
|
||||
/// 时间变更
|
||||
/// </summary>
|
||||
public static string ChangeClassTime { get; set; } = "20:30:00";
|
||||
|
||||
/// <summary>
|
||||
/// 设备状态
|
||||
/// </summary>
|
||||
public static List<bool> Statues { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 服务器链接状态
|
||||
/// </summary>
|
||||
public static bool EMCStatues { get; set; }
|
||||
|
||||
#region 小时产能
|
||||
/// <summary>
|
||||
/// 上个时间点的总数
|
||||
/// </summary>
|
||||
public static int LastTotalNum { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// 上个时间点良品数
|
||||
/// </summary>
|
||||
public static int LastOkNum { get; set; } = 0;
|
||||
/// <summary>
|
||||
/// 上一次重置计数的时间
|
||||
/// </summary>
|
||||
public static string LastResetTime { get; set; }
|
||||
/// <summary>
|
||||
/// 上一次的小时
|
||||
/// </summary>
|
||||
public static int LastHour { get; set; }
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public static List<Group> ListOmronGroups { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 12小时产能
|
||||
/// </summary>
|
||||
public static List<Chart12HourData> Lst_Prod12HourData = new List<Chart12HourData>();
|
||||
/// <summary>
|
||||
/// 不良选项(检测项不良)
|
||||
/// </summary>
|
||||
public static List<ChartDataType> Lst_DefectTypeQty = new List<ChartDataType>();
|
||||
|
||||
/// <summary>
|
||||
/// PLC报警前10项
|
||||
/// </summary>
|
||||
public static List<ChartDataType> Lst_AlarmTop10_Qty = new List<ChartDataType>();
|
||||
/// <summary>
|
||||
/// 参数项设置
|
||||
/// </summary>
|
||||
public static List<ParamList> paramlists { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 线程控制
|
||||
/// </summary>
|
||||
public static ManualResetEvent ResetEventRecv = new ManualResetEvent(true);
|
||||
|
||||
|
||||
#region 计数项
|
||||
/// <summary>
|
||||
/// 生产总数
|
||||
/// </summary>
|
||||
public static int TotalQty = 0;
|
||||
|
||||
public static int ProOKQty = 0;
|
||||
|
||||
public static int Ppm = 0;
|
||||
|
||||
public static double JiaDL = 0.0;
|
||||
|
||||
public static List<float> AntiDustAirSpeed = new List<float>();
|
||||
/// <summary>
|
||||
/// PLC开机/运行时间
|
||||
/// </summary>
|
||||
public static List<int> PlcOpenAndRunTime = new List<int>();
|
||||
/// <summary>
|
||||
/// PLC开机/运行时间地址
|
||||
/// </summary>
|
||||
public static List<string> PlcOpenAndRunTimeAdress = new List<string> { "D50", "D52", "D54", "D56", "D58", "D60" };
|
||||
public static int ProdDRFIDNgQty = 0;//低托杯
|
||||
public static int ProdDXNgQty = 0;//卷心码
|
||||
public static int ProdGRFIDNgQty = 0;//高托杯
|
||||
public static int ProdYLZNgQty = 0;//压力
|
||||
#endregion
|
||||
|
||||
private static PlcReadWriteBase _PlcLink;
|
||||
|
||||
/// <summary>
|
||||
/// PLC客户端
|
||||
/// </summary>
|
||||
public static PlcReadWriteBase PlcLink
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_PlcLink == null)
|
||||
{
|
||||
_PlcLink = PlcNewClass.GetPLC(CommonMethods.plcDevice.IPAddress, CommonMethods.plcDevice.Port, (PLCType)Enum.Parse(typeof(PLCType), (string)CommonMethods.plcDevice.PLCType, false));
|
||||
}
|
||||
return _PlcLink;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#region 首次连接PLC
|
||||
public static bool ConnectPLC()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (CommonMethods.plcDevice != null)
|
||||
{
|
||||
//判断是否为第一次连接
|
||||
if (!CommonMethods.plcDevice.IsFirstConnect)
|
||||
{
|
||||
Thread.Sleep(CommonMethods.plcDevice.ReConnectTime);
|
||||
CommonMethods.PlcLink.Disconnect();
|
||||
}
|
||||
string msg = "";
|
||||
var result = CommonMethods.PlcLink.Connect(ref msg);
|
||||
if (result)
|
||||
{
|
||||
CommonMethods.plcDevice.IsConnected = true;
|
||||
CommonMethods.AddLog(false, CommonMethods.plcDevice.IsFirstConnect ? $"PLC初次连接成功:{msg}" : $"PLC重新连接成功:{msg}");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
CommonMethods.plcDevice.IsConnected = false;
|
||||
CommonMethods.AddLog(true, CommonMethods.plcDevice.IsFirstConnect ? "PLC初次连接失败" : "PLC重新连接失败");
|
||||
}
|
||||
|
||||
//如果是第一次连接,将标志位复位
|
||||
if (CommonMethods.plcDevice.IsFirstConnect)
|
||||
{
|
||||
CommonMethods.plcDevice.IsFirstConnect = false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
new MsgshowTip("与PLC链接断开,请检查通讯线路!").ShowDialog();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
#region 写入分档
|
||||
public static bool WriteGrading()
|
||||
{
|
||||
var res = false;
|
||||
try
|
||||
{
|
||||
|
||||
if (plcDevice != null && plcDevice.IsConnected)
|
||||
{
|
||||
DateTime Date = DateTime.Now;
|
||||
#region 档位写入
|
||||
// short[] MESGradingSet = new short[] { 0, 0, 0, 0, 0, 0 };
|
||||
//1
|
||||
MESGradingSet[0] = (short)21; // 21 22 23 24 25 26
|
||||
//2
|
||||
if (mesConfig.Grading2.Trim().Equals(mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[1] = MESGradingSet[0];
|
||||
else
|
||||
MESGradingSet[1] = (short)(MESGradingSet[0] + 1);
|
||||
//3
|
||||
if (mesConfig.Grading3.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[2] = MESGradingSet[0];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading3.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[2] = MESGradingSet[1];
|
||||
else
|
||||
MESGradingSet[2] = (short)(MESGradingSet[1] + 1);
|
||||
}
|
||||
//4
|
||||
if (CommonMethods.mesConfig.Grading4.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[3] = MESGradingSet[0];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading4.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[3] = MESGradingSet[1];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading4.Trim().Equals(CommonMethods.mesConfig.Grading3.Trim()))
|
||||
MESGradingSet[3] = MESGradingSet[2];
|
||||
else
|
||||
MESGradingSet[3] = (short)(MESGradingSet[2] + 1);
|
||||
}
|
||||
}
|
||||
|
||||
//5
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[0];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[1];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading3.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[2];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading5.Trim().Equals(CommonMethods.mesConfig.Grading4.Trim()))
|
||||
MESGradingSet[4] = MESGradingSet[3];
|
||||
else
|
||||
MESGradingSet[4] = (short)(MESGradingSet[3] + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
//6
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading1.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[0];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading2.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[1];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading3.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[2];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading4.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[3];
|
||||
else
|
||||
{
|
||||
if (CommonMethods.mesConfig.Grading6.Trim().Equals(CommonMethods.mesConfig.Grading5.Trim()))
|
||||
MESGradingSet[5] = MESGradingSet[4];
|
||||
else
|
||||
MESGradingSet[5] = (short)(MESGradingSet[4] + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
var isWrite1 = PlcLink.WriteValue("D2600", MESGradingSet[0], Data_Type.Short);
|
||||
var isWrite2 = PlcLink.WriteValue("D2601", MESGradingSet[1], Data_Type.Short);
|
||||
var isWrite3 = PlcLink.WriteValue("D2602", MESGradingSet[2], Data_Type.Short);
|
||||
var isWrite4 = PlcLink.WriteValue("D2603", MESGradingSet[3], Data_Type.Short);
|
||||
var isWrite5 = PlcLink.WriteValue("D2604", MESGradingSet[4], Data_Type.Short);
|
||||
var isWrite6 = PlcLink.WriteValue("D2605", MESGradingSet[5], Data_Type.Short);
|
||||
if (isWrite1.IsSuccess && isWrite2.IsSuccess && isWrite3.IsSuccess && isWrite4.IsSuccess && isWrite5.IsSuccess && isWrite6.IsSuccess)
|
||||
{
|
||||
AddDataMonitorLog(0, $"OK分档档位写入PLC成功![2600~2605]{string.Join(",", MESGradingSet)}");
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
AddLog(true, ex.ToString());
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 写入PLC信息
|
||||
//public static OperateResult CommonWrite(string varName, string varValue)
|
||||
//{
|
||||
// //先通过变量名称找到对象
|
||||
// var variable = plcDevice.VarList.Find(c => c.VarName == varName);
|
||||
|
||||
// if (variable != null)
|
||||
// {
|
||||
// DataConvertLib.DataType dataType = (DataConvertLib.DataType)Enum.Parse(typeof(DataConvertLib.DataType), variable.DataType, true);
|
||||
|
||||
// var result = MigrationLib.SetMigrationValue(varValue, dataType, variable.Scale.ToString(), variable.Offset.ToString());
|
||||
|
||||
// if (result.IsSuccess)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// switch (dataType)
|
||||
// {
|
||||
// case DataConvertLib.DataType.Bool:
|
||||
// return plc.WriteBool(variable.VarAddress, result.Content == "1" || result.Content.ToUpper() == "TRUE");
|
||||
// case DataConvertLib.DataType.Byte:
|
||||
// return plc.WriteByte(variable.VarAddress, Convert.ToByte(result.Content));
|
||||
// case DataConvertLib.DataType.Short:
|
||||
// return plc.WriteShort(variable.VarAddress, Convert.ToInt16(result.Content));
|
||||
// case DataConvertLib.DataType.UShort:
|
||||
// return plc.WriteUShort(variable.VarAddress, Convert.ToUInt16(result.Content));
|
||||
// case DataConvertLib.DataType.Int:
|
||||
// return plc.WriteInt(variable.VarAddress, Convert.ToInt32(result.Content));
|
||||
// case DataConvertLib.DataType.UInt:
|
||||
// return plc.WriteUInt(variable.VarAddress, Convert.ToUInt32(result.Content));
|
||||
// case DataConvertLib.DataType.Float:
|
||||
// return plc.WriteFloat(variable.VarAddress, Convert.ToSingle(result.Content));
|
||||
// case DataConvertLib.DataType.Double:
|
||||
// return plc.WriteDouble(variable.VarAddress, Convert.ToDouble(result.Content));
|
||||
// case DataConvertLib.DataType.Long:
|
||||
// return plc.WriteLong(variable.VarAddress, Convert.ToInt64(result.Content));
|
||||
// case DataConvertLib.DataType.ULong:
|
||||
// return plc.WriteULong(variable.VarAddress, Convert.ToUInt64(result.Content));
|
||||
// case DataConvertLib.DataType.String:
|
||||
// return plc.WriteByteArray(variable.VarAddress, ByteArrayLib.GetByteArrayFromString(result.Content, Encoding.ASCII));
|
||||
// default:
|
||||
// return OperateResult.CreateFailResult("暂不支持此数据类型");
|
||||
// }
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// return OperateResult.CreateFailResult("数据转换出错:" + ex.Message);
|
||||
// }
|
||||
|
||||
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// return OperateResult.CreateFailResult(result.Message);
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// return OperateResult.CreateFailResult("请检查变量名称是否存在");
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
|
||||
#region 配置信息
|
||||
public static string devPath = Application.StartupPath + "\\Config\\Device.ini";
|
||||
public static string groupPath = Application.StartupPath + "\\Config\\Group.xlsx";
|
||||
public static string variablePath = Application.StartupPath + "\\Config\\Variable.xlsx";
|
||||
public static string settingPath = Application.StartupPath + "\\Config\\settings.json";
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 错误日志路径
|
||||
/// </summary>
|
||||
public static string strErrorLogspath = System.Windows.Forms.Application.StartupPath + "\\Logs\\ErrorLogs";
|
||||
|
||||
public static string strSystemLogspath = System.Windows.Forms.Application.StartupPath + "\\Logs\\SystemLogs";
|
||||
public static string strAlarmLogspath = System.Windows.Forms.Application.StartupPath + "\\Logs\\AlarmLogs";
|
||||
|
||||
public static string strsqlLogspath = "";
|
||||
/// <summary>
|
||||
/// 删除路径
|
||||
/// </summary>
|
||||
public static string strDeletepath = "";
|
||||
/// <summary>
|
||||
/// 能耗保存路径
|
||||
/// </summary>
|
||||
public static string strWattrMeterpath = System.Windows.Forms.Application.StartupPath + "\\智能电表数据";
|
||||
|
||||
/// 风速仪保存路径
|
||||
/// </summary>
|
||||
///
|
||||
public static string strAnemographpath = System.Windows.Forms.Application.StartupPath + "\\风速仪数据";
|
||||
|
||||
/// <summary>
|
||||
/// MES路径日志
|
||||
/// </summary>
|
||||
public static string strMesLogspath = System.Windows.Forms.Application.StartupPath + "\\Logs\\MesLogs";
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// PLC读取寄存器配置文件路径
|
||||
/// </summary>
|
||||
public static string ConfigPath = Path.Combine(System.Windows.Forms.Application.StartupPath, "ini\\PlcConfig.ini");
|
||||
/// <summary>
|
||||
/// 系统程序配置文件路径
|
||||
/// </summary>
|
||||
public static string iniFilePath = Path.Combine(System.Windows.Forms.Application.StartupPath, "ini\\Configure.ini");
|
||||
|
||||
|
||||
|
||||
#region 读取配置文件
|
||||
/// <summary>
|
||||
///读取配置文件
|
||||
/// </summary>
|
||||
public static void GetSysConfig()
|
||||
{
|
||||
try
|
||||
{
|
||||
sysConfig.AutoStart = Convert.ToBoolean(IniConfigHelper.ReadIniData("配置信息", "开机自动启动", "false"));
|
||||
sysConfig.AutoLogin = Convert.ToBoolean(IniConfigHelper.ReadIniData("配置信息", "启动自动登录", "false"));
|
||||
sysConfig.AutoLock = Convert.ToBoolean(IniConfigHelper.ReadIniData("配置信息", "无操作自动锁屏", "false"));
|
||||
sysConfig.LockPeriod = Convert.ToInt32(IniConfigHelper.ReadIniData("配置信息", "锁屏间隔时间", "false"));
|
||||
|
||||
sysConfig.AutoQieHuanM = Convert.ToBoolean(IniConfigHelper.ReadIniData("配置信息", "无操作自动切换监控界面", "false"));
|
||||
sysConfig.QieHuanMPeriod = Convert.ToInt32(IniConfigHelper.ReadIniData("配置信息", "切换监控界面间隔时间", "false"));
|
||||
|
||||
sysConfig.ShowSeriesCount = Convert.ToInt32(IniConfigHelper.ReadIniData("配置信息", "曲线显示数量", "false"));
|
||||
sysConfig.SwipeCardMode = Convert.ToBoolean(IniConfigHelper.ReadIniData("配置信息", "开启刷卡模式", "false"));
|
||||
sysConfig.MesModeSwitching = Convert.ToBoolean(IniConfigHelper.ReadIniData("配置信息", "MES/非MES模式切换", "false"));
|
||||
sysConfig.GetMesParam = Convert.ToBoolean(IniConfigHelper.ReadIniData("配置信息", "获取MES参数", "false"));
|
||||
sysConfig.OKSwitching = Convert.ToBoolean(IniConfigHelper.ReadIniData("配置信息", "强制OK/正常NG模式切换", "false"));
|
||||
sysConfig.SaveThreadTime = Convert.ToBoolean(IniConfigHelper.ReadIniData("配置信息", "线程耗时日志保存", "false"));
|
||||
sysConfig.SaveThreadTime = Convert.ToBoolean(IniConfigHelper.ReadIniData("配置信息", "线程耗时日志保存", "false"));
|
||||
mesConfig.Grading1 = IniConfigHelper.ReadIniData("MES配置", "Grading1", "false");
|
||||
mesConfig.Grading2 = IniConfigHelper.ReadIniData("MES配置", "Grading2", "false");
|
||||
mesConfig.Grading3 = IniConfigHelper.ReadIniData("MES配置", "Grading3", "false");
|
||||
mesConfig.Grading4 = IniConfigHelper.ReadIniData("MES配置", "Grading4", "false");
|
||||
mesConfig.Grading5 = IniConfigHelper.ReadIniData("MES配置", "Grading5", "false");
|
||||
mesConfig.Grading6 = IniConfigHelper.ReadIniData("MES配置", "Grading6", "false");
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
sysConfig = null;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 保存配置文件
|
||||
/// <summary>
|
||||
/// 保存启动自动登录
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveAutoStart(bool value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "开机自动启动", value.ToString());
|
||||
}
|
||||
/// <summary>
|
||||
/// 保存开机自动启动
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveAutoLogin(bool value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "启动自动登录", value.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存无操作自动锁屏
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveAutoLock(bool value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "无操作自动锁屏", value.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存锁屏间隔时间
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveLockPeriod(int value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "锁屏间隔时间", value.ToString());
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 保存无操作自动切换监控界面
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveAutoQieHuanM(bool value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "无操作自动切换监控界面", value.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存切换监控界面间隔时间
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveQieHuanMPeriod(int value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "切换监控界面间隔时间", value.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存曲线显示数量
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveShowSeriesCount(int value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "曲线显示数量", value.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 开启刷卡模式
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveSwipeCardMode(bool value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "开启刷卡模式", value.ToString());
|
||||
}
|
||||
/// <summary>
|
||||
/// MES/非MES模式
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveOpenMesModel(bool value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "MES/非MES模式切换", value.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 强制OK/正常NG模式切换
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveOpenOKModel(bool value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "强制OK/正常NG模式切换", value.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取MES参数
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveGetMesParam(bool value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "获取MES参数", value.ToString());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 保存线程耗时操作
|
||||
/// </summary>
|
||||
/// <param name="value"></param>
|
||||
/// <returns></returns>
|
||||
public static bool SaveSaveThreadTime(bool value)
|
||||
{
|
||||
return IniConfigHelper.WriteIniData("配置信息", "线程耗时日志保存", value.ToString());
|
||||
}
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region 委托信息
|
||||
//创建委托
|
||||
// 数据监视委托
|
||||
public static Action<int, string> AddDataMonitorDelegate;
|
||||
/// <summary>
|
||||
/// 系统日志
|
||||
/// </summary>
|
||||
public static Action<bool, string> AddLogDelegate;
|
||||
/// <summary>
|
||||
/// 操作日志
|
||||
/// </summary>
|
||||
public static Action<bool, string> AddOPLogDelegate;
|
||||
/// <summary>
|
||||
/// 报警日志
|
||||
/// </summary>
|
||||
public static Action<SysLog> AddAlarmDelegate;
|
||||
/// <summary>
|
||||
/// 显示报警信息
|
||||
/// </summary>
|
||||
public static Action<string> ShowAlarmDelegate;
|
||||
/// <summary>
|
||||
/// 参数更新
|
||||
/// </summary>
|
||||
public static Action ChangeParamDelegate;
|
||||
|
||||
/// <summary>
|
||||
/// 显示上料信息
|
||||
/// </summary>
|
||||
public static Action<List<AGearEntity>> ShowFeedingDelegate;
|
||||
/// <summary>
|
||||
/// 显示下料数据
|
||||
/// </summary>
|
||||
public static Action<List<BGearEntity>> ShowBlankingDelegate;
|
||||
|
||||
/// <summary>
|
||||
/// 数据监视委托
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
/// <param name="info"></param>
|
||||
public static void AddDataMonitorLog(int type, string info)
|
||||
{
|
||||
//调用委托
|
||||
if (AddDataMonitorDelegate != null)
|
||||
{
|
||||
AddDataMonitorDelegate(type, info);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 写入系统日志
|
||||
/// </summary>
|
||||
/// <param name="isError">是否为错误信息</param>
|
||||
/// <param name="info">日志信息</param>
|
||||
public static void AddLog(bool isError, string info)
|
||||
{
|
||||
//调用委托
|
||||
if (AddLogDelegate != null)
|
||||
{
|
||||
AddLogDelegate(isError, info);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 写入操作日志
|
||||
/// </summary>
|
||||
/// <param name="isError"></param>
|
||||
/// <param name="info"></param>
|
||||
public static void AddOPLog(bool isError, string info)
|
||||
{
|
||||
//调用委托
|
||||
if (AddLogDelegate != null)
|
||||
{
|
||||
AddOPLogDelegate(isError, info);
|
||||
}
|
||||
}
|
||||
|
||||
public static void AddAlarmLog(SysLog sysLog)
|
||||
{
|
||||
//调用委托
|
||||
if (AddAlarmDelegate != null)
|
||||
{
|
||||
AddAlarmDelegate(sysLog);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示报警日志
|
||||
/// </summary>
|
||||
/// <param name="info"></param>
|
||||
public static void ShowAlarmLog(string info)
|
||||
{
|
||||
//调用委托
|
||||
if (ShowAlarmDelegate != null)
|
||||
{
|
||||
ShowAlarmDelegate(info);
|
||||
}
|
||||
}
|
||||
|
||||
public static void ChangeParamData()
|
||||
{
|
||||
//调用委托
|
||||
if (ChangeParamDelegate != null)
|
||||
{
|
||||
ChangeParamDelegate();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -236,12 +236,12 @@ namespace JinYuan.VirtualDataLibrary
|
||||
public string GetStaticByDay(string startDateTime, string endDateTime)
|
||||
{
|
||||
string strSql = $@" SELECT CONVERT(varchar(13),TestTime,120) 时间, ProdIn 总数, ProdOut OK总数,Ppm PPM均值,
|
||||
cast(ROUND(JiaDL*100,1)as nvarchar(10))+'%' 稼动率均值,
|
||||
cast(ROUND(JiaDL*100,1)as nvarchar(20))+'%' 稼动率均值,
|
||||
cast(case when ProdIn>0 then (ROUND(cast(isnull(ProdOut,0) as float)/cast(isnull(ProdIn,0) as float)*100,2)) else 0 end as nvarchar(10) )+'%' 优率
|
||||
FROM Hourprod WHERE TestTime BETWEEN '{startDateTime}' AND '{endDateTime}' GROUP BY TestTime,ProdOut,ProdIn,Ppm,JiaDL
|
||||
UNION ALL
|
||||
SELECT '合计' as '时间', ProdIn '总数', ProdOut 'OK总数',Ppm 'PPM均值' ,JiaDL '稼动率均值',优率 as '优率' FROM (SELECT FDate,sum(ProdIn) ProdIn, SUM(ProdOut) ProdOut,AVG(PPM) Ppm,
|
||||
cast(ROUND(AVG(JiaDL)*100,1) as nvarchar(10))+'%' JiaDL,
|
||||
cast(ROUND(AVG(JiaDL)*100,1) as nvarchar(20))+'%' JiaDL,
|
||||
cast(case when (sum(ProdIn))>0 then (ROUND(cast(isnull(sum(ProdOut),0) as float)/cast(isnull(sum(ProdIn),0) as float)*100,2)) else 0 end as nvarchar(10) )+'%' 优率 FROM Hourprod
|
||||
WHERE TestTime BETWEEN '{startDateTime}' AND '{endDateTime}' GROUP BY FDate) as t ";
|
||||
|
||||
@@ -257,12 +257,12 @@ namespace JinYuan.VirtualDataLibrary
|
||||
public string GetStaticByWeek(string startDateTime, string endDateTime)
|
||||
{
|
||||
string strSql = $@" SELECT convert(char(10), TestTime, 120) 月份, sum(ProdIn) 总数, sum(ProdOut) OK总数,AVG(Ppm) PPM均值,
|
||||
cast(ROUND(JiaDL*100,1)as nvarchar(10))+'%' 稼动率均值,
|
||||
cast(ROUND(JiaDL*100,1)as nvarchar(20))+'%' 稼动率均值,
|
||||
cast(case when sum(ProdIn)>0 then (ROUND(cast(isnull(SUM(ProdOut),0) as float)/cast(isnull(sum(ProdIn),0) as float)*100,2)) else 0 end as nvarchar(10) )+'%' 优率
|
||||
FROM Hourprod WHERE TestTime BETWEEN '{startDateTime}' AND '{endDateTime}' GROUP BY convert(char(10), TestTime, 120),JiaDL
|
||||
UNION ALL
|
||||
SELECT '合计' as '月份', ProdIn '总数', ProdOut 'OK总数',Ppm 'PPM均值' ,JiaDL '稼动率均值',优率 as '优率' FROM (SELECT sum(ProdIn) ProdIn, SUM(ProdOut) ProdOut,AVG(Ppm) Ppm,
|
||||
cast(ROUND(AVG(JiaDL)*100,1) as nvarchar(10))+'%' JiaDL,
|
||||
cast(ROUND(AVG(JiaDL)*100,1) as nvarchar(20))+'%' JiaDL,
|
||||
cast(case when (sum(ProdIn))>0 then (ROUND(cast(isnull(sum(ProdOut),0) as float)/cast(isnull(sum(ProdIn),0) as float)*100,2)) else 0 end as nvarchar(10))+'%' 优率 FROM Hourprod
|
||||
WHERE TestTime BETWEEN '{startDateTime}' AND '{endDateTime}') as t ";
|
||||
return strSql;
|
||||
@@ -278,12 +278,12 @@ namespace JinYuan.VirtualDataLibrary
|
||||
public string GetStaticByMonth(string startDateTime, string endDateTime)
|
||||
{
|
||||
string strSql = $@" SELECT convert(char(7), TestTime, 120) 月份, sum(ProdIn) 总数, sum(ProdOut) OK总数,AVG(Ppm) PPM均值,
|
||||
cast(ROUND(JiaDL*100,1)as nvarchar(10))+'%' 稼动率均值,
|
||||
cast(ROUND(JiaDL*100,1)as nvarchar(20))+'%' 稼动率均值,
|
||||
cast(case when sum(ProdIn)>0 then (ROUND(cast(isnull(SUM(ProdOut),0) as float)/cast(isnull(sum(ProdIn),0) as float)*100,2)) else 0 end as nvarchar(10) )+'%' 优率
|
||||
FROM Hourprod WHERE TestTime BETWEEN '{startDateTime}' AND '{endDateTime}' GROUP BY convert(char(7), TestTime, 120),JiaDL
|
||||
UNION ALL
|
||||
SELECT '合计' as '月份', ProdIn '总数', ProdOut 'OK总数',Ppm 'PPM均值' ,JiaDL '稼动率均值',优率 as '优率' FROM (SELECT sum(ProdIn) ProdIn, SUM(ProdOut) ProdOut,AVG(Ppm) Ppm,
|
||||
cast(ROUND(AVG(JiaDL)*100,1) as nvarchar(10))+'%' JiaDL,
|
||||
cast(ROUND(AVG(JiaDL)*100,1) as nvarchar(20))+'%' JiaDL,
|
||||
cast(case when (sum(ProdIn))>0 then (ROUND(cast(isnull(sum(ProdOut),0) as float)/cast(isnull(sum(ProdIn),0) as float)*100,2)) else 0 end as nvarchar(10))+'%' 优率 FROM Hourprod
|
||||
WHERE TestTime BETWEEN '{startDateTime}' AND '{endDateTime}') as t ";
|
||||
return strSql;
|
||||
@@ -315,12 +315,12 @@ namespace JinYuan.VirtualDataLibrary
|
||||
}
|
||||
|
||||
string strsql = $@" SELECT CONVERT(varchar(13),TestTime,120) 时间, ProdIn 总数, ProdOut OK总数,Ppm PPM均值,
|
||||
cast(ROUND(JiaDL*100,1)as nvarchar(10))+'%' 稼动率均值,
|
||||
cast(ROUND(JiaDL*100,1)as nvarchar(20))+'%' 稼动率均值,
|
||||
cast(case when ProdIn>0 then (ROUND(cast(isnull(ProdOut,0) as float)/cast(isnull(ProdIn,0) as float)*100,2)) else 0 end as nvarchar(10) )+'%' 优率
|
||||
FROM Hourprod WHERE TestTime BETWEEN '{sDateTime1}' AND '{sDateTime2}' GROUP BY TestTime,ProdOut,ProdIn,Ppm,JiaDL
|
||||
UNION ALL
|
||||
SELECT '合计' as '时间', ProdIn '总数', ProdOut 'OK总数',Ppm 'PPM均值' ,JiaDL '稼动率均值',优率 as '优率' FROM (SELECT FDate,sum(ProdIn) ProdIn, SUM(ProdOut) ProdOut,AVG(Ppm) Ppm,
|
||||
cast(ROUND(AVG(JiaDL)*100,1) as nvarchar(10))+'%' JiaDL,
|
||||
cast(ROUND(AVG(JiaDL)*100,1) as nvarchar(20))+'%' JiaDL,
|
||||
cast(case when (sum(ProdIn))>0 then (ROUND(cast(isnull(sum(ProdOut),0) as float)/cast(isnull(sum(ProdIn),0) as float)*100,2)) else 0 end as nvarchar(10) )+'%' 优率 FROM Hourprod
|
||||
WHERE TestTime BETWEEN '{sDateTime1}' AND '{sDateTime2}' GROUP BY FDate) as t ";
|
||||
return strsql;
|
||||
|
||||
@@ -117,27 +117,27 @@ namespace JinYuan.VirtualDataLibrary
|
||||
/// <summary>
|
||||
/// OK1分档
|
||||
/// </summary>
|
||||
public string Grading1 = "K77";
|
||||
public string Grading1 = "E63y";
|
||||
/// <summary>
|
||||
/// OK2分档
|
||||
/// </summary>
|
||||
public string Grading2 = "K77";
|
||||
public string Grading2 = "F63y";
|
||||
/// <summary>
|
||||
/// OK3分档
|
||||
/// </summary>
|
||||
public string Grading3 = "K77";
|
||||
public string Grading3 = "E63yG";
|
||||
/// <summary>
|
||||
/// OK4分档
|
||||
/// </summary>
|
||||
public string Grading4 = "K77";
|
||||
public string Grading4 = "F63yG";
|
||||
/// <summary>
|
||||
/// OK5分档
|
||||
/// </summary>
|
||||
public string Grading5 = "K77";
|
||||
public string Grading5 = "拦截";
|
||||
/// <summary>
|
||||
/// OK6分档
|
||||
/// </summary>
|
||||
public string Grading6 = "K77";
|
||||
public string Grading6 = "NG";
|
||||
|
||||
/// <summary>
|
||||
/// 设备状态
|
||||
@@ -216,6 +216,10 @@ namespace JinYuan.VirtualDataLibrary
|
||||
/// 分档
|
||||
/// </summary>
|
||||
public string GradingMesUrl = "http://10.54.50.1:8082/core/api/public/eve/pm/eqm/new/grading";
|
||||
/// <summary>
|
||||
/// 安全设备运行状态
|
||||
/// </summary>
|
||||
public string SafeEqptStatusMesUrl = "http://10.22.161.62:804/device-status";
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
</startup>
|
||||
<connectionStrings>
|
||||
<add name="connDbType" connectionString="SqlServer" />
|
||||
<add name="connString" connectionString="Server=192.168.133.180,43852\MSSQLSERVER01;DataBase=LargeSquareOne;Uid=sa;Pwd=123" />
|
||||
<add name="connString2" connectionString="Server=192.168.133.180,43852\MSSQLSERVER01;DataBase=LargeSquareOne;Uid=sa;Pwd=123" />
|
||||
<add name="connString" connectionString="Server=localhost;DataBase=LargeSquareOne;Uid=sa;Pwd=123456" />
|
||||
<add name="connString2" connectionString="Server=192.168.1.149;DataBase=LargeSquareOne;Uid=sa;Pwd=123456" />
|
||||
<!--<add name="connString" connectionString="Server=ZCDEEPSEAI;DataBase=LargeSquareOne;Uid=sa;Pwd=123" />-->
|
||||
<!--<add name="connString2" connectionString="Server=192.168.133.180;DataBase=HBG_CupDataTurnover;Uid=jyzdh;Pwd=eve123456" />-->
|
||||
<add name="connString3" connectionString="Server=localhost;DataBase=ProConfigDB;User Id=jypz;Password=eve123456;Persist Security Info=true;Allow Zero Datetime=true;Character Set=utf8;" />
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
[配置信息]
|
||||
开机自动启动=False
|
||||
启动自动登录=False
|
||||
开机自动启动=True
|
||||
启动自动登录=True
|
||||
无操作自动锁屏=False
|
||||
锁屏间隔时间=3
|
||||
无操作自动切换监控界面=True
|
||||
切换监控界面间隔时间=1
|
||||
切换监控界面间隔时间=3
|
||||
曲线显示数量=1
|
||||
开启刷卡模式=False
|
||||
MES/非MES模式切换=True
|
||||
@@ -13,32 +13,39 @@ MES/
|
||||
是否获取服务器数据=1
|
||||
是否存储C模块数据=1
|
||||
外观检测条码计数=1
|
||||
强制OK/正常NG模式切换=False
|
||||
强制OK/正常NG模式切换=True
|
||||
|
||||
[MES配置]
|
||||
工厂代码=60J
|
||||
产线编号=MW-602
|
||||
设备编号=602VIM01
|
||||
设备编号=602GRM01
|
||||
智能电表编号=1,2
|
||||
白夜班交替时间=20:30:00
|
||||
MES日志保存路径=D:\APILog
|
||||
存储服务器IP地址=192.168.2.108
|
||||
员工权限校验=http://10.22.160.141/core/api/public/equipment/base/user/login/verify
|
||||
设备参数设定值请求=http://10.22.160.141/core/api/public/param/setting/request
|
||||
设备参数设定值变更=http://10.22.160.141/core/api/public/param/setting/change
|
||||
产品进站=http://10.22.160.141/core/api/public/formation/section/arrival/bz
|
||||
产品过程加工参数=http://10.22.160.141/core/api/public/product/process/param/new/process
|
||||
产品结果加工参数=http://10.22.160.141/core/api/public/product/process/param/new/result
|
||||
产品出站=http://10.22.160.141/core/api/public/eve/pm/formation-section
|
||||
设备报警=http://10.22.160.141/core/api/public/equipment/alarm/currency
|
||||
设备状态=http://10.22.160.141/core/api/public/eve/pm/eqm/run/status/operation
|
||||
能耗=http://10.22.160.141/core/api/public/eve/pm/energy/consumption/collection/submit
|
||||
Grading1=E63y
|
||||
Grading2=F63y
|
||||
Grading3=E63yG
|
||||
Grading4=F63yG
|
||||
Grading5=拦截
|
||||
Grading6=NG
|
||||
员工权限校验=http://10.22.160.1/core/api/public/equipment/base/user/login/verify
|
||||
设备参数设定值请求=http://10.22.160.2/core/api/public/param/setting/request
|
||||
设备参数设定值变更=http://10.22.160.2/core/api/public/param/setting/change
|
||||
产品进站=http://10.22.160.2/core/api/public/formation/section/arrival/bz
|
||||
产品过程加工参数=http://10.22.160.3/core/api/public/product/process/param/new/process
|
||||
产品结果加工参数=http://10.22.160.3/core/api/public/product/process/param/new/result
|
||||
产品出站=http://10.22.160.2/core/api/public/eve/pm/formation-section/bz
|
||||
设备报警=http://10.22.160.2/core/api/public/equipment/alarm/currency
|
||||
设备状态=http://10.22.160.2/core/api/public/eve/pm/eqm/run/status/operation
|
||||
能耗=http://10.22.160.3/core/api/public/eve/pm/energy/consumption/collection/submit
|
||||
风速仪=https://iot.eveportal.com:9470/eve_api/ems/iot/upload_device_collect_data
|
||||
风速仪=https://iot.eveportal.com:9470/eve_api/ems/iot/upload_device_collect_data
|
||||
分档参数=http://10.22.160.141/core/api/public/eve/pm/eqm/new/grading
|
||||
guid=a270c7d2-9cbd-4739-9a0b-0709b5813332
|
||||
DeviceState=1
|
||||
run_AlarmMark=0
|
||||
分档参数=http://10.22.160.2/core/api/public/eve/pm/eqm/auto/grading
|
||||
安全设备状态=http://10.22.161.62:804/device-status
|
||||
guid=1f54910b-b1ea-4c4d-af0b-4064fbd7914b
|
||||
DeviceState=3
|
||||
run_AlarmMark=1
|
||||
run_IdleMark=0
|
||||
|
||||
[统计计数]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[设备参数]
|
||||
IP地址=127.0.0.1
|
||||
IP地址=192.168.1.52
|
||||
端口号=9600
|
||||
PLC类型=OmronFinsTcp_HSL
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+23
-23
@@ -63,7 +63,6 @@
|
||||
this.rtb_Info = new System.Windows.Forms.RichTextBox();
|
||||
this.groupBoxEX5 = new JinYuan.ControlLib.GroupBoxEX();
|
||||
this.dgvBlankingData = new System.Windows.Forms.DataGridView();
|
||||
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
|
||||
this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.Column7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@@ -77,6 +76,7 @@
|
||||
this.Column35 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.Column102 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.imageList1 = new System.Windows.Forms.ImageList(this.components);
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.groupBoxEX3.SuspendLayout();
|
||||
this.groupBoxEX2.SuspendLayout();
|
||||
@@ -108,7 +108,7 @@
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 54.37666F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 477F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 13F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(1370, 749);
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(1480, 749);
|
||||
this.tableLayoutPanel1.TabIndex = 0;
|
||||
//
|
||||
// groupBoxEX3
|
||||
@@ -127,7 +127,7 @@
|
||||
this.groupBoxEX3.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.groupBoxEX3.Name = "groupBoxEX3";
|
||||
this.groupBoxEX3.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.groupBoxEX3.Size = new System.Drawing.Size(206, 120);
|
||||
this.groupBoxEX3.Size = new System.Drawing.Size(233, 120);
|
||||
this.groupBoxEX3.TabIndex = 14;
|
||||
this.groupBoxEX3.TabStop = false;
|
||||
this.groupBoxEX3.Text = "操作设置";
|
||||
@@ -136,7 +136,7 @@
|
||||
//
|
||||
this.btSatrt.BackNormalColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
|
||||
this.btSatrt.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btSatrt.Location = new System.Drawing.Point(42, 24);
|
||||
this.btSatrt.Location = new System.Drawing.Point(22, 105);
|
||||
this.btSatrt.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btSatrt.Name = "btSatrt";
|
||||
this.btSatrt.Padding = new System.Windows.Forms.Padding(2);
|
||||
@@ -217,7 +217,7 @@
|
||||
this.groupBoxEX2.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.groupBoxEX2.Name = "groupBoxEX2";
|
||||
this.groupBoxEX2.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.groupBoxEX2.Size = new System.Drawing.Size(206, 143);
|
||||
this.groupBoxEX2.Size = new System.Drawing.Size(233, 143);
|
||||
this.groupBoxEX2.TabIndex = 13;
|
||||
this.groupBoxEX2.TabStop = false;
|
||||
this.groupBoxEX2.Text = "参数";
|
||||
@@ -239,7 +239,7 @@
|
||||
this.lVConfigRange.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.lVConfigRange.Name = "lVConfigRange";
|
||||
this.lVConfigRange.OwnerDraw = true;
|
||||
this.lVConfigRange.Size = new System.Drawing.Size(202, 120);
|
||||
this.lVConfigRange.Size = new System.Drawing.Size(229, 120);
|
||||
this.lVConfigRange.TabIndex = 2;
|
||||
this.lVConfigRange.UseCompatibleStateImageBehavior = false;
|
||||
this.lVConfigRange.View = System.Windows.Forms.View.Details;
|
||||
@@ -278,12 +278,12 @@
|
||||
this.groupBoxEX4.Controls.Add(this.dgvFeedingData);
|
||||
this.groupBoxEX4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.groupBoxEX4.ForeColor = System.Drawing.Color.White;
|
||||
this.groupBoxEX4.Location = new System.Drawing.Point(212, 2);
|
||||
this.groupBoxEX4.Location = new System.Drawing.Point(239, 2);
|
||||
this.groupBoxEX4.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.groupBoxEX4.Name = "groupBoxEX4";
|
||||
this.groupBoxEX4.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.tableLayoutPanel1.SetRowSpan(this.groupBoxEX4, 2);
|
||||
this.groupBoxEX4.Size = new System.Drawing.Size(1156, 267);
|
||||
this.groupBoxEX4.Size = new System.Drawing.Size(1239, 267);
|
||||
this.groupBoxEX4.TabIndex = 15;
|
||||
this.groupBoxEX4.TabStop = false;
|
||||
this.groupBoxEX4.Text = "进站";
|
||||
@@ -344,7 +344,7 @@
|
||||
this.dgvFeedingData.RowHeadersWidth = 60;
|
||||
this.dgvFeedingData.RowTemplate.Height = 23;
|
||||
this.dgvFeedingData.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||
this.dgvFeedingData.Size = new System.Drawing.Size(1152, 244);
|
||||
this.dgvFeedingData.Size = new System.Drawing.Size(1235, 244);
|
||||
this.dgvFeedingData.TabIndex = 10;
|
||||
this.dgvFeedingData.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvFeedingData_CellContentClick);
|
||||
this.dgvFeedingData.RowPrePaint += new System.Windows.Forms.DataGridViewRowPrePaintEventHandler(this.dgvFeedingData_RowPrePaint);
|
||||
@@ -422,7 +422,7 @@
|
||||
this.groupBoxEX1.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.groupBoxEX1.Name = "groupBoxEX1";
|
||||
this.groupBoxEX1.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.groupBoxEX1.Size = new System.Drawing.Size(206, 474);
|
||||
this.groupBoxEX1.Size = new System.Drawing.Size(233, 474);
|
||||
this.groupBoxEX1.TabIndex = 12;
|
||||
this.groupBoxEX1.TabStop = false;
|
||||
this.groupBoxEX1.Text = "日志记录";
|
||||
@@ -437,7 +437,7 @@
|
||||
this.rtb_Info.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.rtb_Info.Name = "rtb_Info";
|
||||
this.rtb_Info.ReadOnly = true;
|
||||
this.rtb_Info.Size = new System.Drawing.Size(202, 451);
|
||||
this.rtb_Info.Size = new System.Drawing.Size(229, 451);
|
||||
this.rtb_Info.TabIndex = 1;
|
||||
this.rtb_Info.Text = "";
|
||||
//
|
||||
@@ -449,11 +449,11 @@
|
||||
this.groupBoxEX5.Controls.Add(this.dgvBlankingData);
|
||||
this.groupBoxEX5.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.groupBoxEX5.ForeColor = System.Drawing.Color.White;
|
||||
this.groupBoxEX5.Location = new System.Drawing.Point(212, 273);
|
||||
this.groupBoxEX5.Location = new System.Drawing.Point(239, 273);
|
||||
this.groupBoxEX5.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.groupBoxEX5.Name = "groupBoxEX5";
|
||||
this.groupBoxEX5.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.groupBoxEX5.Size = new System.Drawing.Size(1156, 474);
|
||||
this.groupBoxEX5.Size = new System.Drawing.Size(1239, 474);
|
||||
this.groupBoxEX5.TabIndex = 16;
|
||||
this.groupBoxEX5.TabStop = false;
|
||||
this.groupBoxEX5.Text = "出站";
|
||||
@@ -520,18 +520,10 @@
|
||||
this.dgvBlankingData.RowHeadersWidth = 60;
|
||||
this.dgvBlankingData.RowTemplate.Height = 23;
|
||||
this.dgvBlankingData.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
|
||||
this.dgvBlankingData.Size = new System.Drawing.Size(1152, 451);
|
||||
this.dgvBlankingData.Size = new System.Drawing.Size(1235, 451);
|
||||
this.dgvBlankingData.TabIndex = 10;
|
||||
this.dgvBlankingData.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvBlankingData_CellContentClick);
|
||||
//
|
||||
// imageList1
|
||||
//
|
||||
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
|
||||
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
|
||||
this.imageList1.Images.SetKeyName(0, "info.png");
|
||||
this.imageList1.Images.SetKeyName(1, "error.png");
|
||||
this.imageList1.Images.SetKeyName(2, "warning.png");
|
||||
//
|
||||
// dataGridViewTextBoxColumn1
|
||||
//
|
||||
this.dataGridViewTextBoxColumn1.HeaderText = "序号";
|
||||
@@ -643,13 +635,21 @@
|
||||
this.Column3.ReadOnly = true;
|
||||
this.Column3.Width = 400;
|
||||
//
|
||||
// imageList1
|
||||
//
|
||||
this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
|
||||
this.imageList1.TransparentColor = System.Drawing.Color.Transparent;
|
||||
this.imageList1.Images.SetKeyName(0, "info.png");
|
||||
this.imageList1.Images.SetKeyName(1, "error.png");
|
||||
this.imageList1.Images.SetKeyName(2, "warning.png");
|
||||
//
|
||||
// FrmDataMonitor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
|
||||
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(14)))), ((int)(((byte)(23)))), ((int)(((byte)(38)))));
|
||||
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||
this.ClientSize = new System.Drawing.Size(1370, 749);
|
||||
this.ClientSize = new System.Drawing.Size(1480, 749);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.DoubleBuffered = true;
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 10.5F);
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABE
|
||||
DQAAAk1TRnQBSQFMAgEBAwEAAZgBAgGYAQIBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
DQAAAk1TRnQBSQFMAgEBAwEAAagBAgGoAQIBEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||
AwABEAMAAQEBAAEgBgABEC4AAxUBHQMkATQDBQEGKAADHQEpAl4BZwHwATUBNgHPAf8BNQE2Ac8B/wE1
|
||||
ATYBzwH/ATUBNgHPAf8BNQE2Ac8B/wNOAZagAAMTARkDZQHlA+YB/wPmAf8D5gH/A+YB/wPmAf8DRwGA
|
||||
HAACUwFUAaoBNQE2Ac8B/wE1ATYBzwH/ATUBNgHPAf8BNQE2Ac8B/wE1ATYBzwH/ATUBNgHPAf8BNQE2
|
||||
|
||||
@@ -455,9 +455,9 @@ namespace LargeSquareOne
|
||||
|
||||
TimeSpan timeSpan = endDateTime - startDateTime;
|
||||
|
||||
if (timeSpan.TotalDays > 1.0)
|
||||
if (timeSpan.TotalDays > 31.0)
|
||||
{
|
||||
return OperateResult.CreateFailResult<DataTable>("查询范围不能超过1天");
|
||||
return OperateResult.CreateFailResult<DataTable>("查询范围不能超过31天");
|
||||
}
|
||||
|
||||
DataTable dataTable = CommonMethods.db.QueryDataTable(CommonMethods.dBSQL.SelectHostAlarmData(start, end, alarmType));
|
||||
|
||||
@@ -205,6 +205,7 @@ namespace LargeSquareOne
|
||||
CommonMethods.mesConfig.WattrMeterUrl = IniConfigHelper.ReadIniData("MES配置", "能耗", "0");
|
||||
CommonMethods.mesConfig.CollectData = IniConfigHelper.ReadIniData("MES配置", "风速仪", "0");
|
||||
CommonMethods.mesConfig.GradingMesUrl = IniConfigHelper.ReadIniData("MES配置", "分档参数", "0");
|
||||
CommonMethods.mesConfig.SafeEqptStatusMesUrl = IniConfigHelper.ReadIniData("MES配置", "安全设备状态", "0");
|
||||
|
||||
//CommonMethods.ProdDRFIDNgQty = Convert.ToInt32(IniConfigHelper.ReadIniData("统计计数", "ProdDRFIDNgQty", "0"));
|
||||
//CommonMethods.ProdDXNgQty = Convert.ToInt32(IniConfigHelper.ReadIniData("统计计数", "ProdDXNgQty", "0"));
|
||||
|
||||
+1111
-1111
File diff suppressed because it is too large
Load Diff
@@ -2448,7 +2448,7 @@
|
||||
<value>550, 54</value>
|
||||
</data>
|
||||
<data name="lbl_TitleBar.Text" xml:space="preserve">
|
||||
<value>外观检测监测系统</value>
|
||||
<value>外观检分档系统</value>
|
||||
</data>
|
||||
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>550, 64</value>
|
||||
@@ -5051,13 +5051,13 @@
|
||||
</value>
|
||||
</data>
|
||||
<data name="MainPanel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1874, 910</value>
|
||||
<value>1874, 891</value>
|
||||
</data>
|
||||
<data name="CorePanel.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1920, 936</value>
|
||||
<value>1920, 917</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>1920, 1080</value>
|
||||
<value>1920, 1061</value>
|
||||
</data>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
|
||||
@@ -5,14 +5,15 @@ using JinYuan.Models;
|
||||
using JinYuan.VirtualDataLibrary;
|
||||
using Microsoft.Win32;
|
||||
using MiniExcelLibs;
|
||||
using PLCCommunication;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using System.Linq;
|
||||
using static Org.BouncyCastle.Math.EC.ECCurve;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using static Org.BouncyCastle.Math.EC.ECCurve;
|
||||
|
||||
namespace LargeSquareOne
|
||||
{
|
||||
@@ -801,28 +802,40 @@ namespace LargeSquareOne
|
||||
{
|
||||
try
|
||||
{
|
||||
var row = dgvFdConfigs.Rows[rowIndex];
|
||||
var config = fdConfigs[rowIndex];
|
||||
|
||||
// 更新配置对象
|
||||
config.OKLD1Type = row.Cells["OKLD1Type"].Value?.ToString() ?? "";
|
||||
config.OKLD2Type = row.Cells["OKLD2Type"].Value?.ToString() ?? "";
|
||||
config.OKLD3Type = row.Cells["OKLD3Type"].Value?.ToString() ?? "";
|
||||
config.OKLD4Type = row.Cells["OKLD4Type"].Value?.ToString() ?? "";
|
||||
config.OKLD5Type = row.Cells["OKLD5Type"].Value?.ToString() ?? "";
|
||||
config.OKLD6Type = row.Cells["OKLD6Type"].Value?.ToString() ?? "";
|
||||
//config.NGLD5Type = row.Cells["NGLD5Type"].Value?.ToString() ?? "";
|
||||
//config.NGLD6Type = row.Cells["NGLD6Type"].Value?.ToString() ?? "";
|
||||
//config.NGLD7Type = row.Cells["NGLD7Type"].Value?.ToString() ?? "";
|
||||
int result = CommonMethods.PlcLink.ReadInt16("D88");//判断是否停机 1为停机,0为正在运行
|
||||
if (result == 1)
|
||||
{
|
||||
var row = dgvFdConfigs.Rows[rowIndex];
|
||||
var config = fdConfigs[rowIndex];
|
||||
|
||||
config.IsFDActive = row.Cells["IsFDActive"].Value != null &&
|
||||
Convert.ToBoolean(row.Cells["IsFDActive"].Value);
|
||||
config.IsNGActive = row.Cells["IsNGActive"].Value != null &&
|
||||
Convert.ToBoolean(row.Cells["IsNGActive"].Value);
|
||||
// 更新配置对象
|
||||
config.OKLD1Type = row.Cells["OKLD1Type"].Value?.ToString() ?? "";
|
||||
config.OKLD2Type = row.Cells["OKLD2Type"].Value?.ToString() ?? "";
|
||||
config.OKLD3Type = row.Cells["OKLD3Type"].Value?.ToString() ?? "";
|
||||
config.OKLD4Type = row.Cells["OKLD4Type"].Value?.ToString() ?? "";
|
||||
config.OKLD5Type = row.Cells["OKLD5Type"].Value?.ToString() ?? "";
|
||||
config.OKLD6Type = row.Cells["OKLD6Type"].Value?.ToString() ?? "";
|
||||
//config.NGLD5Type = row.Cells["NGLD5Type"].Value?.ToString() ?? "";
|
||||
//config.NGLD6Type = row.Cells["NGLD6Type"].Value?.ToString() ?? "";
|
||||
//config.NGLD7Type = row.Cells["NGLD7Type"].Value?.ToString() ?? "";
|
||||
|
||||
config.IsFDActive = row.Cells["IsFDActive"].Value != null &&
|
||||
Convert.ToBoolean(row.Cells["IsFDActive"].Value);
|
||||
config.IsNGActive = row.Cells["IsNGActive"].Value != null &&
|
||||
Convert.ToBoolean(row.Cells["IsNGActive"].Value);
|
||||
|
||||
// 保存更改
|
||||
SaveFDConfig();
|
||||
//加载
|
||||
CommonMethods.WriteGrading();
|
||||
MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("机器正在运行不能修改", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
|
||||
// 保存更改
|
||||
SaveFDConfig();
|
||||
MessageBox.Show("保存成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -345,15 +345,19 @@
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmMain.en-US.resx">
|
||||
<DependentUpon>FrmMain.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmMain.hu-HU.resx">
|
||||
<DependentUpon>FrmMain.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmMain.syr.resx">
|
||||
<DependentUpon>FrmMain.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmMain.zh-CN.resx">
|
||||
<DependentUpon>FrmMain.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmMesParamMsgBoxWithAck.resx">
|
||||
<DependentUpon>FrmMesParamMsgBoxWithAck.cs</DependentUpon>
|
||||
@@ -414,9 +418,12 @@
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Config\Configure.ini">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Config\Device.ini" />
|
||||
<None Include="Config\FdConfig.xlsx">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Config\Group.xlsx" />
|
||||
<None Include="Config\Variable.xlsx" />
|
||||
<Content Include="NLog.config">
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 334 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 384 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 66 KiB |
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,88 @@
|
||||
[配置信息]
|
||||
开机自动启动=False
|
||||
启动自动登录=False
|
||||
无操作自动锁屏=False
|
||||
锁屏间隔时间=3
|
||||
无操作自动切换监控界面=True
|
||||
切换监控界面间隔时间=2
|
||||
曲线显示数量=1
|
||||
开启刷卡模式=False
|
||||
MES/非MES模式切换=False
|
||||
获取MES参数=False
|
||||
线程耗时日志保存=False
|
||||
是否获取服务器数据=1
|
||||
是否存储C模块数据=1
|
||||
外观检测条码计数=1
|
||||
强制OK/正常NG模式切换=False
|
||||
|
||||
[MES配置]
|
||||
工厂代码=60J
|
||||
产线编号=MW-602
|
||||
设备编号=602VIM01
|
||||
智能电表编号=1,2
|
||||
白夜班交替时间=20:30:00
|
||||
MES日志保存路径=D:\APILog
|
||||
存储服务器IP地址=192.168.2.108
|
||||
Grading1=K80
|
||||
Grading2=K81
|
||||
Grading3=k80
|
||||
Grading4=K83
|
||||
Grading5=K76
|
||||
Grading6=K75
|
||||
员工权限校验=http://10.22.160.141/core/api/public/equipment/base/user/login/verify
|
||||
设备参数设定值请求=http://10.22.160.141/core/api/public/param/setting/request
|
||||
设备参数设定值变更=http://10.22.160.141/core/api/public/param/setting/change
|
||||
产品进站=http://10.22.160.141/core/api/public/formation/section/arrival/bz
|
||||
产品过程加工参数=http://10.22.160.141/core/api/public/product/process/param/new/process
|
||||
产品结果加工参数=http://10.22.160.141/core/api/public/product/process/param/new/result
|
||||
产品出站=http://10.22.160.141/core/api/public/eve/pm/formation-section/bz
|
||||
设备报警=http://10.22.160.141/core/api/public/equipment/alarm/currency
|
||||
设备状态=http://10.22.160.141/core/api/public/eve/pm/eqm/run/status/operation
|
||||
能耗=http://10.22.160.141/core/api/public/eve/pm/energy/consumption/collection/submit
|
||||
风速仪=https://iot.eveportal.com:9470/eve_api/ems/iot/upload_device_collect_data
|
||||
风速仪=https://iot.eveportal.com:9470/eve_api/ems/iot/upload_device_collect_data
|
||||
分档参数=http://10.22.160.141/core/api/public/eve/pm/eqm/new/grading
|
||||
guid=b512ec89-1fde-4941-9986-fad799e8d1f6
|
||||
DeviceState=6
|
||||
run_AlarmMark=0
|
||||
run_IdleMark=0
|
||||
|
||||
[统计计数]
|
||||
LastHour=1030
|
||||
LastResetTime=0
|
||||
LastTotalOldNum=360
|
||||
LastOkOldNum=358
|
||||
ProdAllQty=0
|
||||
ProdOKQty=0
|
||||
ProdDRFIDNgQty=0
|
||||
ProdDXNgQty=0
|
||||
ProdGRFIDNgQty=0
|
||||
ProdYLZNgQty=0
|
||||
|
||||
[风速仪]
|
||||
AntiDustAirSpeedCount=25
|
||||
AntiDustAirSpeed1=FSY-2A-001
|
||||
AntiDustAirSpeed2=FSY-2A-002
|
||||
AntiDustAirSpeed3=FSY-2A-003
|
||||
AntiDustAirSpeed4=FSY-2A-004
|
||||
AntiDustAirSpeed5=FSY-2A-005
|
||||
AntiDustAirSpeed6=FSY-2A-006
|
||||
AntiDustAirSpeed7=FSY-2A-007
|
||||
AntiDustAirSpeed8=FSY-2A-008
|
||||
AntiDustAirSpeed9=FSY-2A-009
|
||||
AntiDustAirSpeed10=FSY-2A-010
|
||||
AntiDustAirSpeed11=FSY-2A-011
|
||||
AntiDustAirSpeed12=FSY-2A-012
|
||||
AntiDustAirSpeed13=FSY-2A-013
|
||||
AntiDustAirSpeed14=FSY-2A-014
|
||||
AntiDustAirSpeed15=FSY-2A-015
|
||||
AntiDustAirSpeed16=FSY-2A-016
|
||||
AntiDustAirSpeed17=FSY-2A-017
|
||||
AntiDustAirSpeed18=FSY-2A-018
|
||||
AntiDustAirSpeed19=FSY-2A-019
|
||||
AntiDustAirSpeed20=FSY-2A-020
|
||||
AntiDustAirSpeed21=FSY-2A-021
|
||||
AntiDustAirSpeed22=FSY-2A-022
|
||||
AntiDustAirSpeed23=FSY-2A-023
|
||||
AntiDustAirSpeed24=FSY-2A-024
|
||||
AntiDustAirSpeed25=FSY-2A-025
|
||||
@@ -0,0 +1,4 @@
|
||||
[设备参数]
|
||||
IP地址=192.168.1.52
|
||||
端口号=9600
|
||||
PLC类型=OmronFinsTcp_HSL
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,732 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>HML.ComplexityPropertys</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:HML.TBPadding">
|
||||
<summary>
|
||||
上下内边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.TBPadding.All">
|
||||
<summary>
|
||||
全部
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.TBPadding.Top">
|
||||
<summary>
|
||||
上边内边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.TBPadding.Bottom">
|
||||
<summary>
|
||||
下边内边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.TBPadding.#ctor(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="all">全部边距</param>
|
||||
</member>
|
||||
<member name="M:HML.TBPadding.#ctor(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="top">上边内边距</param>
|
||||
<param name="bottom">下边内边距</param>
|
||||
</member>
|
||||
<member name="M:HML.TBPadding.op_Equality(HML.TBPadding,HML.TBPadding)">
|
||||
<summary>
|
||||
判断两个边距对象设置是否一样
|
||||
</summary>
|
||||
<param name="rc1"></param>
|
||||
<param name="rc2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBPadding.op_Inequality(HML.TBPadding,HML.TBPadding)">
|
||||
<summary>
|
||||
判断两个边距对象设置是否不一样
|
||||
</summary>
|
||||
<param name="rc1"></param>
|
||||
<param name="rc2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBPadding.GetHashCode">
|
||||
<summary>
|
||||
获取该对象的哈希值(参考源码)
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBPadding.Equals(System.Object)">
|
||||
<summary>
|
||||
判断是否和该对象的引用是一样
|
||||
</summary>
|
||||
<param name="other"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBPadding.ToString">
|
||||
<summary>
|
||||
把该对象转换成字符串
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBPadding.RotateTop(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
计算哈希值(参考源码)
|
||||
</summary>
|
||||
<param name="value"></param>
|
||||
<param name="nBits"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBPadding.ShouldSerializeAll">
|
||||
<summary>
|
||||
是否应该使用All设置初始化对象
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.TBPaddingConverter">
|
||||
<summary>
|
||||
上下内边距转换器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.TBPaddingConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
|
||||
<summary>
|
||||
字符串转对象
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBPaddingConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
|
||||
<summary>
|
||||
对象转字符串
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<param name="destinationType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.TBMargin">
|
||||
<summary>
|
||||
上下外边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.TBMargin.All">
|
||||
<summary>
|
||||
全部
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.TBMargin.Top">
|
||||
<summary>
|
||||
上边外边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.TBMargin.Bottom">
|
||||
<summary>
|
||||
下边外边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.TBMargin.#ctor(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="all">全部边距</param>
|
||||
</member>
|
||||
<member name="M:HML.TBMargin.#ctor(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="top">上边外边距</param>
|
||||
<param name="bottom">下边外边距</param>
|
||||
</member>
|
||||
<member name="M:HML.TBMargin.op_Equality(HML.TBMargin,HML.TBMargin)">
|
||||
<summary>
|
||||
判断两个边距对象设置是否一样
|
||||
</summary>
|
||||
<param name="rc1"></param>
|
||||
<param name="rc2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBMargin.op_Inequality(HML.TBMargin,HML.TBMargin)">
|
||||
<summary>
|
||||
判断两个边距对象设置是否不一样
|
||||
</summary>
|
||||
<param name="rc1"></param>
|
||||
<param name="rc2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBMargin.GetHashCode">
|
||||
<summary>
|
||||
获取该对象的哈希值(参考源码)
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBMargin.Equals(System.Object)">
|
||||
<summary>
|
||||
判断是否和该对象的引用是一样
|
||||
</summary>
|
||||
<param name="other"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBMargin.ToString">
|
||||
<summary>
|
||||
把该对象转换成字符串
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBMargin.RotateTop(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
计算哈希值(参考源码)
|
||||
</summary>
|
||||
<param name="value"></param>
|
||||
<param name="nBits"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBMargin.ShouldSerializeAll">
|
||||
<summary>
|
||||
是否应该使用All设置初始化对象
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.TBMarginConverter">
|
||||
<summary>
|
||||
上下外边距转换器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.TBMarginConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
|
||||
<summary>
|
||||
字符串转对象
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.TBMarginConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
|
||||
<summary>
|
||||
对象转字符串
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<param name="destinationType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.LRPadding">
|
||||
<summary>
|
||||
左右内边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.LRPadding.All">
|
||||
<summary>
|
||||
全部
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.LRPadding.Left">
|
||||
<summary>
|
||||
左边内边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.LRPadding.Right">
|
||||
<summary>
|
||||
右边内边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.LRPadding.#ctor(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="all">全部边距</param>
|
||||
</member>
|
||||
<member name="M:HML.LRPadding.#ctor(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="left">左边内边距</param>
|
||||
<param name="right">右边内边距</param>
|
||||
</member>
|
||||
<member name="M:HML.LRPadding.op_Equality(HML.LRPadding,HML.LRPadding)">
|
||||
<summary>
|
||||
判断两个边距对象设置是否一样
|
||||
</summary>
|
||||
<param name="rc1"></param>
|
||||
<param name="rc2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRPadding.op_Inequality(HML.LRPadding,HML.LRPadding)">
|
||||
<summary>
|
||||
判断两个边距对象设置是否不一样
|
||||
</summary>
|
||||
<param name="rc1"></param>
|
||||
<param name="rc2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRPadding.GetHashCode">
|
||||
<summary>
|
||||
获取该对象的哈希值(参考源码)
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRPadding.Equals(System.Object)">
|
||||
<summary>
|
||||
判断是否和该对象的引用是一样
|
||||
</summary>
|
||||
<param name="other"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRPadding.ToString">
|
||||
<summary>
|
||||
把该对象转换成字符串
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRPadding.RotateLeft(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
计算哈希值(参考源码)
|
||||
</summary>
|
||||
<param name="value"></param>
|
||||
<param name="nBits"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRPadding.ShouldSerializeAll">
|
||||
<summary>
|
||||
是否应该使用All设置初始化对象
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.LRPaddingConverter">
|
||||
<summary>
|
||||
左右内边距转换器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.LRPaddingConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
|
||||
<summary>
|
||||
字符串转对象
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRPaddingConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
|
||||
<summary>
|
||||
对象转字符串
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<param name="destinationType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.LRMargin">
|
||||
<summary>
|
||||
左右外边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.LRMargin.All">
|
||||
<summary>
|
||||
全部
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.LRMargin.Left">
|
||||
<summary>
|
||||
左边外边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.LRMargin.Right">
|
||||
<summary>
|
||||
右边外边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.LRMargin.#ctor(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="all">全部边距</param>
|
||||
</member>
|
||||
<member name="M:HML.LRMargin.#ctor(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="left">左边外边距</param>
|
||||
<param name="right">右边外边距</param>
|
||||
</member>
|
||||
<member name="M:HML.LRMargin.op_Equality(HML.LRMargin,HML.LRMargin)">
|
||||
<summary>
|
||||
判断两个边距对象设置是否一样
|
||||
</summary>
|
||||
<param name="rc1"></param>
|
||||
<param name="rc2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRMargin.op_Inequality(HML.LRMargin,HML.LRMargin)">
|
||||
<summary>
|
||||
判断两个边距对象设置是否不一样
|
||||
</summary>
|
||||
<param name="rc1"></param>
|
||||
<param name="rc2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRMargin.GetHashCode">
|
||||
<summary>
|
||||
获取该对象的哈希值(参考源码)
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRMargin.Equals(System.Object)">
|
||||
<summary>
|
||||
判断是否和该对象的引用是一样
|
||||
</summary>
|
||||
<param name="other"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRMargin.ToString">
|
||||
<summary>
|
||||
把该对象转换成字符串
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRMargin.RotateLeft(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
计算哈希值(参考源码)
|
||||
</summary>
|
||||
<param name="value"></param>
|
||||
<param name="nBits"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRMargin.ShouldSerializeAll">
|
||||
<summary>
|
||||
是否应该使用All设置初始化对象
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.LRMarginConverter">
|
||||
<summary>
|
||||
左右外边距转换器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.LRMarginConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
|
||||
<summary>
|
||||
字符串转对象
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.LRMarginConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
|
||||
<summary>
|
||||
对象转字符串
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<param name="destinationType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.MultidropSlidePoleAnchorMargin">
|
||||
<summary>
|
||||
MultidropSlide滑杆停靠外边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.MultidropSlidePoleAnchorMargin.All">
|
||||
<summary>
|
||||
全部
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.MultidropSlidePoleAnchorMargin.PoleTitle">
|
||||
<summary>
|
||||
滑杆为提示标题保留外边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.MultidropSlidePoleAnchorMargin.PoleStart">
|
||||
<summary>
|
||||
滑杆开始坐标外边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.MultidropSlidePoleAnchorMargin.PoleEnd">
|
||||
<summary>
|
||||
滑杆结束坐标外边距
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.MultidropSlidePoleAnchorMargin.#ctor(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="all">全部</param>
|
||||
</member>
|
||||
<member name="M:HML.MultidropSlidePoleAnchorMargin.#ctor(System.Int32,System.Int32,System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="poleTitle">滑杆为提示标题保留外边距</param>
|
||||
<param name="poleStart">滑杆开始坐标外边距</param>
|
||||
<param name="poleEnd">滑杆结束坐标外边距</param>
|
||||
</member>
|
||||
<member name="M:HML.MultidropSlidePoleAnchorMargin.op_Equality(HML.MultidropSlidePoleAnchorMargin,HML.MultidropSlidePoleAnchorMargin)">
|
||||
<summary>
|
||||
判断两个滑杆停靠外边距对象设置是否一样
|
||||
</summary>
|
||||
<param name="arg1"></param>
|
||||
<param name="arg2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.MultidropSlidePoleAnchorMargin.op_Inequality(HML.MultidropSlidePoleAnchorMargin,HML.MultidropSlidePoleAnchorMargin)">
|
||||
<summary>
|
||||
判断两个滑杆停靠外边距对象设置是否不一样
|
||||
</summary>
|
||||
<param name="arg1"></param>
|
||||
<param name="arg2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.MultidropSlidePoleAnchorMargin.GetHashCode">
|
||||
<summary>
|
||||
获取该对象的哈希值(参考源码)
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.MultidropSlidePoleAnchorMargin.Equals(System.Object)">
|
||||
<summary>
|
||||
判断是否和该对象的引用是一样
|
||||
</summary>
|
||||
<param name="other"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.MultidropSlidePoleAnchorMargin.ToString">
|
||||
<summary>
|
||||
把该对象转换成字符串
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.MultidropSlidePoleAnchorMargin.RotateLeftTop(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
计算哈希值(参考源码)
|
||||
</summary>
|
||||
<param name="value"></param>
|
||||
<param name="nBits"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.MultidropSlidePoleAnchorMargin.ShouldSerializeAll">
|
||||
<summary>
|
||||
是否应该使用All设置初始化对象
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.MultidropSlidePoleAnchorMarginConverter">
|
||||
<summary>
|
||||
MultidropSlide滑杆停靠外边距转换器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.MultidropSlidePoleAnchorMarginConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
|
||||
<summary>
|
||||
字符串转对象
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.MultidropSlidePoleAnchorMarginConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
|
||||
<summary>
|
||||
对象转字符串
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<param name="destinationType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.PointFR">
|
||||
<summary>
|
||||
表示在二维平面中定义点的浮点 x 和 y 坐标的有序对。
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.PointFR.ConvertFrom(System.Drawing.PointF)">
|
||||
<summary>
|
||||
System.Drawing.PointF 转换成 PointFR
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.PointFR.ConvertTo">
|
||||
<summary>
|
||||
PointFR 转换成 System.Drawing.PointF
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.PointFRConverter">
|
||||
<summary>
|
||||
PointFR转换器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:HML.PropertyOrderConverter">
|
||||
<summary>
|
||||
对属性进行排序
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.PropertyOrderConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
|
||||
<summary>
|
||||
当该属性为展开属性选型时,属性编辑器删除该属性的描述
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<param name="destinationType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.PropertyOrderPair">
|
||||
<summary>
|
||||
属性排序 序号比较器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.PropertyOrderPair.CategoryName">
|
||||
<summary>
|
||||
类别名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.PropertyOrderPair.#ctor(System.String,System.Single)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="categoryName">类别名称</param>
|
||||
<param name="order">序号</param>
|
||||
</member>
|
||||
<member name="T:HML.PropertyOrderAttribute">
|
||||
<summary>
|
||||
属性排序(升序)
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.PropertyOrderAttribute.Order">
|
||||
<summary>
|
||||
序号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.PropertyOrderAttribute.#ctor(System.Single)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="order">序号</param>
|
||||
</member>
|
||||
<member name="T:HML.RoundCorner">
|
||||
<summary>
|
||||
圆角
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.RoundCorner.All">
|
||||
<summary>
|
||||
全部
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.RoundCorner.LeftTop">
|
||||
<summary>
|
||||
左上角
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.RoundCorner.RightTop">
|
||||
<summary>
|
||||
右上角
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.RoundCorner.RightBottom">
|
||||
<summary>
|
||||
右下角
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:HML.RoundCorner.LeftBottom">
|
||||
<summary>
|
||||
左下角
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.RoundCorner.#ctor(System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="all">全部圆角</param>
|
||||
</member>
|
||||
<member name="M:HML.RoundCorner.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
|
||||
<summary>
|
||||
|
||||
</summary>
|
||||
<param name="leftTop">左上角</param>
|
||||
<param name="rightTop">右上角</param>
|
||||
<param name="rightBottom">右下角</param>
|
||||
<param name="leftBottom">左下角</param>
|
||||
</member>
|
||||
<member name="M:HML.RoundCorner.op_Equality(HML.RoundCorner,HML.RoundCorner)">
|
||||
<summary>
|
||||
判断两个圆角对象设置是否一样
|
||||
</summary>
|
||||
<param name="rc1"></param>
|
||||
<param name="rc2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.RoundCorner.op_Inequality(HML.RoundCorner,HML.RoundCorner)">
|
||||
<summary>
|
||||
判断两个圆角对象设置是否不一样
|
||||
</summary>
|
||||
<param name="rc1"></param>
|
||||
<param name="rc2"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.RoundCorner.GetHashCode">
|
||||
<summary>
|
||||
获取该对象的哈希值(参考源码)
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.RoundCorner.Equals(System.Object)">
|
||||
<summary>
|
||||
判断是否和该对象的引用是一样
|
||||
</summary>
|
||||
<param name="other"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.RoundCorner.ToString">
|
||||
<summary>
|
||||
把该对象转换成字符串
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.RoundCorner.RotateLeftTop(System.Int32,System.Int32)">
|
||||
<summary>
|
||||
计算哈希值(参考源码)
|
||||
</summary>
|
||||
<param name="value"></param>
|
||||
<param name="nBits"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.RoundCorner.ShouldSerializeAll">
|
||||
<summary>
|
||||
是否应该使用All设置初始化对象
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:HML.RoundCornerConverter">
|
||||
<summary>
|
||||
圆角转换器
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:HML.RoundCornerConverter.ConvertFrom(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object)">
|
||||
<summary>
|
||||
字符串转对象
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:HML.RoundCornerConverter.ConvertTo(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type)">
|
||||
<summary>
|
||||
对象转字符串
|
||||
</summary>
|
||||
<param name="context"></param>
|
||||
<param name="culture"></param>
|
||||
<param name="value"></param>
|
||||
<param name="destinationType"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.1.0.0" newVersion="8.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.Xml" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Google.Protobuf" publicKeyToken="a7d26565bac4d604" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.23.4.0" newVersion="3.23.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="ZstdSharp" publicKeyToken="8d151af33a4ad5cf" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-0.7.2.0" newVersion="0.7.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Configuration.ConfigurationManager" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.1.0.0" newVersion="8.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Google.Protobuf" publicKeyToken="a7d26565bac4d604" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.23.4.0" newVersion="3.23.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="ZstdSharp" publicKeyToken="8d151af33a4ad5cf" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-0.7.2.0" newVersion="0.7.2.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Configuration.ConfigurationManager" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="7.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.Xml" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /></startup></configuration>
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.Xml" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Security.Cryptography.Xml" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.4.1" newVersion="4.0.4.1" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user