dep_yangw
我叫锄头 11 months ago
parent 7c53baa698
commit 4c7f7cf7e5

@ -79,14 +79,18 @@ namespace ProductionSystem.Forms
InitMiddleTestItems();
cmbProductType.SelectedItem = new ListItem { Value = Program.ProductType, Text = Program.ProductType };
//var temp = _paraConfigService.GetParaTargetVal(ModeTypeEnum.BZ1_DB);
//string str1 = temp.PZF1.TargetVal;
//string str2 = temp.PZF1.Lin;
//string str3 = temp.PZF1.Com;
}
private void Init()
{
{
Program.BZ1 = Program.MiddlePointKeyValues.Where(m => m.ParaCategory == "BZ1").ToList();
Program.BZ2 = Program.MiddlePointKeyValues.Where(m => m.ParaCategory == "BZ2").ToList();
Program.BZ3 = Program.MiddlePointKeyValues.Where(m => m.ParaCategory == "BZ3").ToList();
@ -218,7 +222,63 @@ namespace ProductionSystem.Forms
if (paraColumnConfig == null)
{
LogHelper.Error(null, $"根据机型[{Program.ProductType}],在参数项字段配置表未查询到通讯协议的相关配置!");
}
}
//else
//{
// for (int i = 0; i < paraColumnConfig.Count; i++)
// {
// var protocolConfig = _protocolConfigService.QueryActiveProtocolConfigByCode(paraColumnConfig[i].ProtocolType);
// if (protocolConfig == null)
// {
// Loading.CloseWaitForm();
// CustomMessageBoxHelper.AlertShow(this, $"根据通讯协议编码[{protocolConfig.ProtocolCode}]未查询到协议配置!");
// return;
// }
// Program.ProtocolConigCode = protocolConfig.Remark;
// Program.ProtocolType = protocolConfig.ProtocolType;
// Program.MsgFormat = protocolConfig.MsgFormat;
// Program.PortName = protocolConfig.Port;
// Program.BaudRate = protocolConfig.Bps;
// Program.Parity = EnumHelper.ConvertEnumToInt<Parity>(protocolConfig.ChkBit);
// Program.DataBits = protocolConfig.DataBit;
// Program.StopBits = protocolConfig.StopBit;
// Program.StationNo = protocolConfig.StationNo ?? 1;
// //#region 串口
// //try
// //{
// // if (Program._serialPort != null)
// // {
// // Program._serialPort.Close();
// // }
// // Program._serialPort = null;
// // Program._serialPort = new SerialPort
// // {
// // PortName = Program.PortName,
// // BaudRate = Program.BaudRate,
// // Parity = (Parity)Program.Parity,
// // DataBits = Program.DataBits,
// // StopBits = (StopBits)Program.StopBits,
// // ReadTimeout = 100,
// // WriteTimeout = 100
// // };
// // Program._serialPort.Open();
// // if (Program.ProtocolDeviceHelper == null)
// // {
// // Program.ProtocolDeviceHelper = new ProtocolDeviceHelper();
// // }
// // Program.ProtocolDeviceHelper.WriteData("68 02 00 41 6C 17 16");
// // Thread.Sleep(20);
// // Program.ProtocolDeviceHelper.WriteData("68 07 00 04 00 20 A1 07 00 00 3B 16");
// //}
// //catch (Exception ex)
// //{
// // LogHelper.Error(ex, $"串口打开失败:{ex.Message}");
// //}
// //#endregion
// }
//}
#region 往PLC写入产品型号和标识码及参数配置
if (!OmronHelper.PLCIsConnected)
@ -379,6 +439,7 @@ namespace ProductionSystem.Forms
}
middleFlowLayoutPanel.Controls.Clear();//清空控件
//var groupControlMinHeight = 65;
var groupControlMinHeight = 55;
for (int i = 0; i < paraCategorys.Count; i++)
{
@ -445,6 +506,7 @@ namespace ProductionSystem.Forms
MaximumSize = new Size(284, 34),
Font = new Font("Tahoma", 9F),
Name = $"MiddleMyTestResultControl{i}",
//Size = new Size(265, 34),
Size = new Size(200, 29),
TestResultPLCPointCode = testResult?.Key,
TestValPLCPointCode = testVal?.Key,
@ -542,7 +604,108 @@ namespace ProductionSystem.Forms
}
}
}));
}));
//if (M249.Val != "0.000" && M249.Val != "10.000")
//{
// /*获取步序名称================2023-11-7注释===================================*/
// //decimal.TryParse(M249.Val, out var result);
// //var intResult = Convert.ToInt32(result);
// //var stepName = EnumHelper.GetEnumDescription((StepEnum)intResult);
// /*获取步序名称===================================================*/
// float.TryParse(val, out float floatVal);
// // 把数据新增到每一个数组里并指定最大3000个数再多就覆盖之前的
// switch (testValPoint?.Key)
// {
// case "M1"://进口压力
// SoftBasic.AddArrayData(ref Program.Times, new DateTime[] { DateTime.Now }, 3000);
// SoftBasic.AddArrayData(ref Program.InPressData, new float[] { floatVal }, 3000);
// break;
// case "M2"://出口压力
// SoftBasic.AddArrayData(ref Program.OutPressData, new float[] { floatVal }, 3000);
// break;
// case "M3"://罐压力
// SoftBasic.AddArrayData(ref Program.GastankPressData, new float[] { floatVal }, 3000);
// break;
// case "M4"://电压值
// SoftBasic.AddArrayData(ref Program.VoltageData, new float[] { floatVal }, 3000);
// break;
// case "M5"://电流值
// SoftBasic.AddArrayData(ref Program.CurrentData, new float[] { floatVal }, 3000);
// break;
// case "M9"://X轴震动值
// SoftBasic.AddArrayData(ref Program.XVibrateData, new float[] { floatVal }, 3000);
// break;
// case "M10"://Y轴振动值
// SoftBasic.AddArrayData(ref Program.YVibrateData, new float[] { floatVal }, 3000);
// break;
// case "M11"://Z轴振动值
// SoftBasic.AddArrayData(ref Program.ZVibrateData, new float[] { floatVal }, 3000);
// break;
// case "M12"://噪音
// SoftBasic.AddArrayData(ref Program.NoiseData, new float[] { floatVal }, 3000);
// break;
// default:
// break;
// }
// #region 2023-11-7注释 曲线区域用不到
// //if (intResult != tempStepNum)
// //{
// // tempStepNum = intResult;
// // stepChangeCount++;
// // switch (stepChangeCount)
// // {
// // case 1:
// // stepName1 = stepName;
// // sectionStartIndex1 = 0;
// // break;
// // case 2:
// // stepName2 = stepName;
// // sectionEndIndex1 = Program.InPressData.Length;
// // sectionStartIndex2 = Program.InPressData.Length + 1;
// // break;
// // case 3:
// // stepName3 = stepName;
// // sectionEndIndex2 = Program.InPressData.Length;
// // sectionStartIndex3 = Program.InPressData.Length + 1;
// // break;
// // case 4:
// // stepName4 = stepName;
// // sectionEndIndex3 = Program.InPressData.Length;
// // sectionStartIndex4 = Program.InPressData.Length + 1;
// // break;
// // case 5:
// // stepName5 = stepName;
// // sectionEndIndex4 = Program.InPressData.Length;
// // sectionStartIndex5 = Program.InPressData.Length + 1;
// // break;
// // case 6:
// // stepName6 = stepName;
// // sectionEndIndex5 = Program.InPressData.Length;
// // sectionStartIndex6 = Program.InPressData.Length + 1;
// // break;
// // case 7:
// // stepName7 = stepName;
// // sectionEndIndex6 = Program.InPressData.Length;
// // sectionStartIndex7 = Program.InPressData.Length + 1;
// // break;
// // case 8:
// // stepName8 = stepName;
// // sectionEndIndex7 = Program.InPressData.Length;
// // sectionStartIndex8 = Program.InPressData.Length + 1;
// // break;
// // case 9:
// // stepName9 = stepName;
// // sectionEndIndex8 = Program.InPressData.Length;
// // sectionStartIndex9 = Program.InPressData.Length + 1;
// // break;
// // default:
// // break;
// // }
// //}
// #endregion
//}
}
}
}
@ -569,16 +732,15 @@ namespace ProductionSystem.Forms
EditonType editonType;
while (!cancellationTokenSource.IsCancellationRequested && middleIsCanRound)
{
middleIsCanRound = false;
Step1();
continue;
middleIsCanRound = true;
if (!Program.canSaveDb)
{
continue;
}
middleIsCanRound = false;
Step1();
return;
Thread.Sleep(Program.ReadPlcRate);
var d1300Value = GetPlcValue("D1300");
@ -632,9 +794,14 @@ namespace ProductionSystem.Forms
if (d1304Value.ToDouble().ToInt() == 1)
{
Step3();
}
//高压 改成第四部
var d1312 = GetPlcValue("D1312");
// d1312 = "1";
if (d1312.ToDouble().ToInt() == 1)
@ -682,18 +849,28 @@ namespace ProductionSystem.Forms
// var writeResult = OmronHelper.WriteToPlc(point.DataType, point.Address, $"{0}");
// }
//if (d1308.ToDouble().ToInt()==0)
//{
// var point = Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == "D1358");
// var writeResult = OmronHelper.WriteToPlc(point.DataType, point.Address, $"{0}");
//}
//if (d1310.ToDouble().ToInt() == 0)
//{
// var point = Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == "D1360");
// var writeResult = OmronHelper.WriteToPlc(point.DataType, point.Address, $"{0}");
//}
var d1314 = GetPlcValue("D1314");
// d1314 = "1";
if (d1314.ToDouble().ToInt() ==1)
@ -702,17 +879,30 @@ namespace ProductionSystem.Forms
}
//if (d1314.ToDouble().ToInt() == 0)
//{
// var point = Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == "D1917");
// var writeResult = OmronHelper.WriteToPlc(point.DataType, point.Address, $"{0}");
//}
//if (d1312.ToDouble().ToInt() ==0)
//{
// var point = Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == "D1362");
// var writeResult = OmronHelper.WriteToPlc(point.DataType, point.Address, $"{0}");
//}'
middleIsCanRound = true;
}
}
@ -726,99 +916,93 @@ namespace ProductionSystem.Forms
return plcTiaoMa;
}
private void Step1()
{
TmTool.SiTong(ModeTypeEnum.BZ1_DB, 1);
TmTool.SiTong(ModeTypeEnum.BZ1_DB, 2);
T_Product_Step step=new T_Product_Step
{
StepName = "BZ1_DB",
ProductType = Program.ProductType
};
T_Product_Step step=new T_Product_Step
{
StepName = "BZ1_DB",
ProductType = Program.ProductType
};
//
//
//
// step.ProductBarcode = GetCode();
//
//
//
var model = paraConfigService.GetParaTargetVal(ModeTypeEnum.BZ1_DB, Program.ProductType);
//
// //四通1
// var stf1= model.STF1;
// int val = stf1.TargetVal.ToDouble().ToInt();
// SitongTool sitongTool = new SitongTool(stf1.Com,val);
// var si1 = sitongTool.ToAction();
// sitongTool.Dispose();
//
// step.Id = Guid.NewGuid().ToString("N");
// step.ReturnValue = sitongTool.Val;
// step.WriteValue = val.ToString();
// step.CreateTime = DateTime.Now;
// step.EquipmentName = "FKSTF1ZT_DB";
//
// stepService.AddProductStep(step);
//四通2
// var stf2 = model.STF2;
// sitongTool = new SitongTool(stf2.Com, stf2.TargetVal.ToDouble().ToInt());
// var si2 = sitongTool.ToAction();
// sitongTool.Dispose();
//
// step.Id = Guid.NewGuid().ToString("N");
// step.ReturnValue = sitongTool.Val;
// step.WriteValue = val.ToString();
// step.CreateTime = DateTime.Now;
//
// step.EquipmentName = "FKSTF2ZT_DB";
// stepService.AddProductStep(step);
step.ProductBarcode = GetCode();
var model = paraConfigService.GetParaTargetVal(ModeTypeEnum.BZ1_DB, Program.ProductType);
Stopwatch stopwatch = new Stopwatch();
//// lin 1 com10
////1 调试成功
//电子膨胀阀
var pzf1 = model.PZF1;
var val = pzf1.TargetVal.ToDouble().ToInt();
ExvTool exv = new ExvTool(pzf1.Com,val);
var exv1 = exv.ToAction();
// 开始计时
stopwatch.Start();
//四通1
var stf1= model.STF1;
int val = stf1.TargetVal.ToDouble().ToInt();
val = 3;
SitongTool sitongTool = new SitongTool(stf1.Com,val);
var si1 = sitongTool.ToAction();
sitongTool.Dispose();
stopwatch.Stop();
var miao = stopwatch.Elapsed.TotalSeconds;
step.Id = Guid.NewGuid().ToString("N");
step.ReturnValue = sitongTool.Val;
step.ReturnValue = exv.Val;
step.WriteValue = val.ToString();
step.CreateTime = DateTime.Now;
step.EquipmentName = "FKSTF1ZT_DB";
step.Ms = miao.ToString(CultureInfo.InvariantCulture);
step.EquipmentName = "DZPZF1_DB";
stepService.AddProductStep(step);
stopwatch.Restart();
// //四通2
var stf2 = model.STF2;
sitongTool = new SitongTool(stf2.Com, stf2.TargetVal.ToDouble().ToInt());
// var si2 = sitongTool.ToAction();
sitongTool.Dispose();
//水泵1
var sb1 = model.SB1;
val = sb1.TargetVal.ToDouble().ToInt();
UxTool uxTool = new UxTool(sb1.Com,val);
var ya= uxTool.ToAction();
step.Id = Guid.NewGuid().ToString("N");
step.ReturnValue = sitongTool.Val;
step.WriteValue = val.ToString();
step.ReturnValue = uxTool.Val;
step.WriteValue = uxTool.Write;
step.CreateTime = DateTime.Now;
step.EquipmentName = "FKSTF2ZT_DB";
step.Ms = miao.ToString(CultureInfo.InvariantCulture);
step.EquipmentName = "SB1ZS_DB";
stepService.AddProductStep(step);
stopwatch.Stop();
miao = stopwatch.Elapsed.TotalSeconds;
var ss = miao;
//
//
// //// lin 1 com10
////1 调试成功
//
// //电子膨胀阀
//
// var pzf1 = model.PZF1;
// val = pzf1.TargetVal.ToDouble().ToInt();
// ExvTool exv = new ExvTool(pzf1.Com,val);
// var exv1 = exv.ToAction();
//
// step.Id = Guid.NewGuid().ToString("N");
// step.ReturnValue = exv.Val;
// step.WriteValue = val.ToString();
// step.CreateTime = DateTime.Now;
//
// step.EquipmentName = "DZPZF1_DB";
// stepService.AddProductStep(step);
//
//
// //水泵1
//
// var sb1 = model.SB1;
// val = sb1.TargetVal.ToDouble().ToInt();
// UxTool uxTool = new UxTool(sb1.Com,val);
//
//
// var ya= uxTool.ToAction();
//
// step.Id = Guid.NewGuid().ToString("N");
// step.ReturnValue = uxTool.Val;
// step.WriteValue = uxTool.Write;
// step.CreateTime = DateTime.Now;
// step.EquipmentName = "SB1ZS_DB";
// stepService.AddProductStep(step);
//D1350
@ -858,57 +1042,58 @@ namespace ProductionSystem.Forms
stepService.AddProductStep(step);
// //四通2
// var stf2 = model.STF2;
// sitongTool = new SitongTool(stf2.Com, stf2.TargetVal.ToDouble().ToInt());
// var si2 = sitongTool.ToAction();
//
// step.Id = Guid.NewGuid().ToString("N");
// step.ReturnValue = sitongTool.Val;
// step.WriteValue = val.ToString();
// step.CreateTime = DateTime.Now;
//
// step.EquipmentName = "FKSTF2ZT_DB";
// stepService.AddProductStep(step);
//
//
// //// lin 1 com10
// ////1 调试成功
//
// //电子膨胀阀
//
// var pzf1 = model.PZF1;
// val = pzf1.TargetVal.ToDouble().ToInt();
// ExvTool exv = new ExvTool(pzf1.Com, val);
// var exv1 = exv.ToAction();
//
// step.Id = Guid.NewGuid().ToString("N");
// step.ReturnValue = exv.Val;
// step.WriteValue = val.ToString();
// step.CreateTime = DateTime.Now;
//
// step.EquipmentName = "DZPZF1_DB";
// stepService.AddProductStep(step);
//
//
// //水泵1
//
// var sb1 = model.SB1;
// val = sb1.TargetVal.ToDouble().ToInt();
// UxTool uxTool = new UxTool(sb1.Com, val);
//
//
// var ya = uxTool.ToAction();
//
// step.Id = Guid.NewGuid().ToString("N");
// step.ReturnValue = uxTool.Val;
// step.WriteValue = uxTool.Write;
// step.CreateTime = DateTime.Now;
// step.EquipmentName = "SB1ZS_DB";
// stepService.AddProductStep(step);
//
//四通2
var stf2 = model.STF2;
sitongTool = new SitongTool(stf2.Com, stf2.TargetVal.ToDouble().ToInt());
var si2 = sitongTool.ToAction();
step.Id = Guid.NewGuid().ToString("N");
step.ReturnValue = sitongTool.Val;
step.WriteValue = val.ToString();
step.CreateTime = DateTime.Now;
step.EquipmentName = "FKSTF2ZT_DB";
stepService.AddProductStep(step);
//// lin 1 com10
////1 调试成功
//电子膨胀阀
var pzf1 = model.PZF1;
val = pzf1.TargetVal.ToDouble().ToInt();
ExvTool exv = new ExvTool(pzf1.Com, val);
var exv1 = exv.ToAction();
step.Id = Guid.NewGuid().ToString("N");
step.ReturnValue = exv.Val;
step.WriteValue = val.ToString();
step.CreateTime = DateTime.Now;
step.EquipmentName = "DZPZF1_DB";
stepService.AddProductStep(step);
//水泵1
var sb1 = model.SB1;
val = sb1.TargetVal.ToDouble().ToInt();
UxTool uxTool = new UxTool(sb1.Com, val);
var ya = uxTool.ToAction();
step.Id = Guid.NewGuid().ToString("N");
step.ReturnValue = uxTool.Val;
step.WriteValue = uxTool.Write;
step.CreateTime = DateTime.Now;
step.EquipmentName = "SB1ZS_DB";
stepService.AddProductStep(step);
//D1350
var point = Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == "D1362");
var writeResult = OmronHelper.WriteToPlc(point.DataType, point.Address, $"{1}");
}
@ -924,10 +1109,16 @@ namespace ProductionSystem.Forms
var sb1 = model.SB1;
UxTool uxTool = new UxTool(sb1.Com,0);
uxTool.ToAction();
var point = Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == "D1350");
var writeResult = OmronHelper.WriteToPlc(point.DataType, point.Address, $"{0}");
}
private void Step2()
{

@ -424,6 +424,7 @@
<Compile Include="Untils\Tool\ExvTool.cs" />
<Compile Include="Untils\Tool\SitongTool.cs" />
<Compile Include="Untils\Tool\StateTool.cs" />
<Compile Include="Untils\Tool\TmTool.cs" />
<Compile Include="Untils\Tool\UxTool.cs" />
<Compile Include="Untils\WriteParaConfigHelper.cs" />
<Compile Include="UserComponent\CommonComponent\BaseControlExtend.cs" />

@ -0,0 +1,58 @@
using System;
using System.Linq;
using Custom.Communication.Framework.MyPlc;
using ProductionSystem_Model.DbModel;
using ProductionSystem_Model.Enum;
using ProductionSystem_Model.ViewModel.Response.Para;
using ProductionSystem_Service;
namespace ProductionSystem.Untils.Tool
{
public class TmTool
{
static ParaConfigService paraConfigService=new ParaConfigService();
static ProductStepService stepService = new ProductStepService();
private static PointKeyValue M248 = Program.CommandPointKeyValues.FirstOrDefault(m => m.Key == "D670");
private static string GetCode()
{
var readM248 = OmronHelper.GetPlcVal(M248.DataType, M248.Address);
string plcTiaoMa = readM248.val.ToString().Replace("\r", "").Replace("\n", "");
return plcTiaoMa;
}
public static bool SiTong(ModeTypeEnum modeTypeEnum,int no)
{
T_Product_Step step=new T_Product_Step
{
StepName = modeTypeEnum.ToString(),
ProductType = Program.ProductType
};
var model = paraConfigService.GetParaTargetVal(modeTypeEnum, Program.ProductType);
//四通1
var stf1= model.STF1;
string eqName = "FKSTF1ZT_DB";
if (no > 1)
{
stf1 = model.STF2;
eqName = "FKSTF2ZT_DB";
}
int val = stf1.TargetVal.ToDouble().ToInt();
SitongTool sitongTool = new SitongTool(stf1.Com,val);
var si1 = sitongTool.ToAction();
sitongTool.Dispose();
step.Id = Guid.NewGuid().ToString("N");
step.ReturnValue = sitongTool.Val;
step.WriteValue = val.ToString();
step.CreateTime = DateTime.Now;
step.EquipmentName = eqName;
stepService.AddProductStep(step);
return si1;
}
}
}
Loading…
Cancel
Save