|
|
|
|
@ -192,7 +192,7 @@ namespace ConsoleApp
|
|
|
|
|
private async void SaveStationDataTask(PlcAbsractFactory Plc)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{ //主线码
|
|
|
|
|
{ //转子码
|
|
|
|
|
byte[] SemBarCode = Plc.readValueByAddress(_semiBarcode1, 20);
|
|
|
|
|
string barcode = ByteTransform.TransString(SemBarCode, 0, 20, Encoding.ASCII);
|
|
|
|
|
partsns partsns = new partsns();
|
|
|
|
|
@ -262,12 +262,13 @@ namespace ConsoleApp
|
|
|
|
|
datastation.Ng = Plc.readFloatByAddress("D7708").ToString() == "1" ? 0 : 1;
|
|
|
|
|
datastation.Partsns = jsonString;
|
|
|
|
|
datastation.Paratemp = datastring;
|
|
|
|
|
int LockFlag = SqlSugarClient.Updateable(datastation).ExecuteCommand();
|
|
|
|
|
Console.WriteLine(StringChange.ModeToJson(datastation));
|
|
|
|
|
int InsertFlag = SqlSugarClient.Updateable(datastation).ExecuteCommand();
|
|
|
|
|
//Console.WriteLine(StringChange.ModeToJson(datastation));
|
|
|
|
|
_logger.Info(StringChange.ModeToJson(datastation));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
SqlSugarClient.AsTenant().BeginTran();
|
|
|
|
|
datastation = new Datastation()
|
|
|
|
|
{
|
|
|
|
|
Stime = DateTime.Now,
|
|
|
|
|
@ -291,13 +292,88 @@ namespace ConsoleApp
|
|
|
|
|
//存盘
|
|
|
|
|
int id = SqlSugarClient.Insertable(datastation).ExecuteReturnIdentity();
|
|
|
|
|
Plc.writeInt16ByAddress("D7704", 1);
|
|
|
|
|
Console.WriteLine(StringChange.ModeToJson(datastation));
|
|
|
|
|
//Console.WriteLine(StringChange.ModeToJson(datastation));
|
|
|
|
|
_logger.Info(StringChange.ModeToJson(datastation));
|
|
|
|
|
|
|
|
|
|
var datastationid = SqlSugarClient.Queryable<Datastation>().First(it => it.Partsns.Contains(barcode));
|
|
|
|
|
//datastationparam数据存表
|
|
|
|
|
Datastationparam datastationparam1 = new Datastationparam()
|
|
|
|
|
{
|
|
|
|
|
Dsid = datastationid.Id,
|
|
|
|
|
Stationid = StationCode,
|
|
|
|
|
N = data1.n,
|
|
|
|
|
T = false,
|
|
|
|
|
V = data1.v,
|
|
|
|
|
Ng = data1.ng == 0?1:0,
|
|
|
|
|
Max = data1.max,
|
|
|
|
|
Min = data1.min,
|
|
|
|
|
Stime = datastation.Stime,
|
|
|
|
|
Ngcode = "OK"
|
|
|
|
|
};
|
|
|
|
|
Datastationparam datastationparam2 = new Datastationparam()
|
|
|
|
|
{
|
|
|
|
|
Dsid = datastationid.Id,
|
|
|
|
|
Stationid = StationCode,
|
|
|
|
|
N = data2.n,
|
|
|
|
|
T = false,
|
|
|
|
|
V = data2.v,
|
|
|
|
|
Ng = data2.ng == 0 ? 1 : 0,
|
|
|
|
|
Max = data2.max,
|
|
|
|
|
Min = data2.min,
|
|
|
|
|
Stime = datastation.Stime,
|
|
|
|
|
Ngcode = "OK"
|
|
|
|
|
};
|
|
|
|
|
Datastationparam datastationparam3 = new Datastationparam()
|
|
|
|
|
{
|
|
|
|
|
Dsid = datastationid.Id,
|
|
|
|
|
Stationid = StationCode,
|
|
|
|
|
N = data3.n,
|
|
|
|
|
T = false,
|
|
|
|
|
V = data3.v,
|
|
|
|
|
Ng = data3.ng == 0 ? 1 : 0,
|
|
|
|
|
Max = data3.max,
|
|
|
|
|
Min = data3.min,
|
|
|
|
|
Stime = datastation.Stime,
|
|
|
|
|
Ngcode = "OK"
|
|
|
|
|
};
|
|
|
|
|
Datastationparam datastationparam4 = new Datastationparam()
|
|
|
|
|
{
|
|
|
|
|
Dsid = datastationid.Id,
|
|
|
|
|
Stationid = StationCode,
|
|
|
|
|
N = data4.n,
|
|
|
|
|
T = false,
|
|
|
|
|
V = data4.v,
|
|
|
|
|
Ng = data4.ng == 0 ? 1 : 0,
|
|
|
|
|
Max = data4.max,
|
|
|
|
|
Min = data4.min,
|
|
|
|
|
Stime = datastation.Stime,
|
|
|
|
|
Ngcode = "OK"
|
|
|
|
|
};
|
|
|
|
|
Datastationparam datastationparam5 = new Datastationparam()
|
|
|
|
|
{
|
|
|
|
|
Dsid = datastationid.Id,
|
|
|
|
|
Stationid = StationCode,
|
|
|
|
|
N = data5.n,
|
|
|
|
|
T = false,
|
|
|
|
|
V = data5.v,
|
|
|
|
|
Ng = data5.ng == 0 ? 1 : 0,
|
|
|
|
|
Max = data5.max,
|
|
|
|
|
Min = data5.min,
|
|
|
|
|
Stime = datastation.Stime,
|
|
|
|
|
Ngcode = "OK"
|
|
|
|
|
};
|
|
|
|
|
int flag1 = SqlSugarClient.Insertable(datastationparam1).ExecuteReturnIdentity();
|
|
|
|
|
int flag2 = SqlSugarClient.Insertable(datastationparam2).ExecuteReturnIdentity();
|
|
|
|
|
int flag3 = SqlSugarClient.Insertable(datastationparam3).ExecuteReturnIdentity();
|
|
|
|
|
int flag4 = SqlSugarClient.Insertable(datastationparam4).ExecuteReturnIdentity();
|
|
|
|
|
int flag5 = SqlSugarClient.Insertable(datastationparam5).ExecuteReturnIdentity();
|
|
|
|
|
SqlSugarClient.AsTenant().CommitTran();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
SqlSugarClient.AsTenant().RollbackTran();
|
|
|
|
|
_logger.Error($"存盘异常{ex.Message}");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -328,16 +404,41 @@ namespace ConsoleApp
|
|
|
|
|
byte[] _QGBarcode = Plc.readValueByAddress(_semiBarcode2, 20);
|
|
|
|
|
string QGBarCode = ByteTransform.TransString(_QGBarcode, 0, 20, Encoding.ASCII);
|
|
|
|
|
_logger.Info("前盖码:" + QGBarCode);
|
|
|
|
|
#region 根据前盖码查询Productid
|
|
|
|
|
//根据前盖码查询Productid
|
|
|
|
|
SqlSugarClient.Queryable<Dipsn>().Any(x => x.Sn == QGBarCode);
|
|
|
|
|
var Dipsn = SqlSugarClient.Queryable<Dipsn>().First(it => it.Sn == QGBarCode);
|
|
|
|
|
if (Dipsn != null)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
int id = SqlSugarClient.Insertable(datastation).ExecuteReturnIdentity();
|
|
|
|
|
Dipsn dipsn = new Dipsn()
|
|
|
|
|
{
|
|
|
|
|
Type = Dipsn.Type,
|
|
|
|
|
Stime = DateTime.Now,
|
|
|
|
|
Sn = ZZBarCode,
|
|
|
|
|
Productid = Dipsn.Productid,
|
|
|
|
|
};
|
|
|
|
|
int id = SqlSugarClient.Insertable(dipsn).ExecuteReturnIdentity();
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
#region 查询datastation表,更新Productid
|
|
|
|
|
var zzdata = SqlSugarClient.Queryable<Datastation>().First(it => it.Partsns.Contains(ZZBarCode));
|
|
|
|
|
if (zzdata != null)
|
|
|
|
|
{
|
|
|
|
|
zzdata.Productid = Dipsn.Productid;
|
|
|
|
|
int UpdateDatastationFlag = SqlSugarClient.Updateable(zzdata).ExecuteCommand();
|
|
|
|
|
//更新datastationparam表Productid字段
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<Datastationparam> AllDatastationparamList = await SqlSugarClient.Queryable<Datastationparam>().Where(x => x.Dsid == zzdata.Id).ToListAsync();
|
|
|
|
|
if (AllDatastationparamList != null)
|
|
|
|
|
{
|
|
|
|
|
foreach (var param in AllDatastationparamList)
|
|
|
|
|
{
|
|
|
|
|
param.Productid = zzdata.Productid;
|
|
|
|
|
int UpdateDatastationparamFlag = SqlSugarClient.Updateable(param).ExecuteCommand();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
//下发PLC上工位合格
|
|
|
|
|
Plc.writeInt16ByAddress(_completeAskAddress, 1);
|
|
|
|
|
//BarCodeRelationShipBinding(Plc);
|
|
|
|
|
|