diff --git a/Admin.Core.Common/Helper/StringChange.cs b/Admin.Core.Common/Helper/StringChange.cs new file mode 100644 index 00000000..1add35f8 --- /dev/null +++ b/Admin.Core.Common/Helper/StringChange.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Admin.Core.Common.Helper +{ + public class StringChange + { + public static string bytesToHexStr(byte[] bytes, int iLen)//e.g. { 0x01, 0x01} ---> " 01 01" + { + string returnStr = ""; + if (bytes != null) + { + for (int i = 0; i < iLen; i++) + { + returnStr += bytes[i].ToString("X2"); + } + } + return returnStr; + } + } +} diff --git a/Admin.Core.Model/Model_New/BoxLastShotRecord.cs b/Admin.Core.Model/Model_New/BoxLastShotRecord.cs index 598fa490..28e380d9 100644 --- a/Admin.Core.Model/Model_New/BoxLastShotRecord.cs +++ b/Admin.Core.Model/Model_New/BoxLastShotRecord.cs @@ -12,152 +12,148 @@ namespace Admin.Core.Model /// 获取发泡机最后一枪记录 /// [SugarTable("BOX_LASTSHOTRECORD", "AUCMA_SCADA")] - public class BoxLastShotRecord - { + public class BoxLastShotRecord + { /// /// 主键 /// [SugarColumn(ColumnName = "OBJ_ID", IsIdentity = true, IsPrimaryKey = true)] public int ObjId { get; set; } - /// - /// 夹具类型 - /// - [SugarColumn(ColumnName = "BOXFIXTURETYPE")] - public string BoxFixtureType { get; set; } - /// /// 所属系统;1系统 2系统 /// [SugarColumn(ColumnName = "SYSTEM")] public string System { get; set; } + /// - /// 枪头 + /// 枪编号;A1枪,B1枪,A2枪,B2枪 /// - [SugarColumn(ColumnName = "GUNHEAD")] - public string GunHead { get; set; } + [SugarColumn(ColumnName = "GUN_CODE")] + public string GunCode { get; set; } /// - /// 工位号 + /// 产线编号 /// - [SugarColumn(ColumnName = "STATIONNUMBER")] - public string StationNumber { get; set; } + [SugarColumn(ColumnName = "PRODUCT_LINE_CODE")] + public string ProductLineCode { get; set; } /// - /// POL注料压力 + /// 枪POL注料温度 /// - [SugarColumn(ColumnName = "POL_INJECTIONPRESSURE")] - public string PolInjectionpressure { get; set; } - + [SugarColumn(ColumnName = "POL_TEMP")] + public string PolTemp { get; set; } /// - /// ISO注料压力 + /// 枪POL注料压力 /// - [SugarColumn(ColumnName = "ISO_INJECTIONPRESSURE")] - public string IsoInjectionpressure { get; set; } + [SugarColumn(ColumnName = "POL_HP")] + public string PolHp { get; set; } /// - /// POL注料温度 + /// 枪POL注料流量 /// - [SugarColumn(ColumnName = "POL_INJECTIONTEMPERATURE")] - public string PolInjectiontemperature { get; set; } + [SugarColumn(ColumnName = "POL_VOL")] + public string PolVol { get; set; } /// - /// ISO注料温度 + /// 枪POL原料用量 /// - [SugarColumn(ColumnName = "ISO_INJECTIONTEMPERATURE")] - public string IsoInjectiontemperature { get; set; } + [SugarColumn(ColumnName = "POL_USAGE")] + public string PolUsage { get; set; } + /// - /// 中压循环时间 + /// 枪ISO注料温度 /// - [SugarColumn(ColumnName = "MEDIUMPRESSURECYCLETIME")] - public string MediumPressureCycleTime { get; set; } + [SugarColumn(ColumnName = "ISO_TEMP")] + public string IsoTemp { get; set; } /// - /// 高压循环时间 + /// 枪ISO注料压力 /// - [SugarColumn(ColumnName = "HIGHPRESSURECYCLETIME")] - public string HighPressureCycleTime { get; set; } + [SugarColumn(ColumnName = "ISO_HP")] + public string IsoHp { get; set; } /// - /// 设定注料重量 + ///枪ISO注料流量 /// - [SugarColumn(ColumnName = "SETINJECTIONWEIGHT")] - public string SetInjectionWeight { get; set; } + [SugarColumn(ColumnName = "ISO_VOL")] + public string IsoVol { get; set; } /// - /// 设定注料料比 + /// 枪ISO原料用量 /// - [SugarColumn(ColumnName = "INJECTIONMATERIALRATIO")] - public string InjectionMaterialRatio { get; set; } + [SugarColumn(ColumnName = "ISO_USAGE")] + public string IsoUsage { get; set; } /// - /// 实际注料重量 + /// 枪注料工位号 /// - [SugarColumn(ColumnName = "ACTUALINJECTIONWEIGHT")] - public string ActualInjectionWeight { get; set; } + [SugarColumn(ColumnName = "POUR_NU")] + public string PourNu { get; set; } /// - /// 实际注料料比 + /// 枪设定注料时间 /// - [SugarColumn(ColumnName = "ACTUALINJECTIONMATERIALRATIO")] - public string ActualInjectionMaterialRatio { get; set; } + [SugarColumn(ColumnName = "SET_TIME")] + public string SetTime { get; set; } /// - /// 枪头POL注料压力 + /// 枪设定注料重量 /// - [SugarColumn(ColumnName = "INJECPRESSUREOFPOLGUNHEAD")] - public string InjecPressureOfPOLGunHead { get; set; } + [SugarColumn(ColumnName = "SET_WEIGHT")] + public string SetWeight { get; set; } /// - /// 枪头ISO注料压力 + /// 枪设定注料比例 /// - [SugarColumn(ColumnName = "INJECPRESSUREOFISOGUNHEAD")] - public string InjecPressureOfISOGunHead { get; set; } + [SugarColumn(ColumnName = "SET_RATIO")] + public string SetRatio { get; set; } /// - /// 枪头POL注料温度 + /// 枪实际注料重量 /// - [SugarColumn(ColumnName = "POLINJECTEMPERATUREOFGUNHEAD")] - public string POLInjecTemperatureOfGunHead { get; set; } + [SugarColumn(ColumnName = "POUR_WEIGHT")] + public string PourWeight { get; set; } /// - /// 枪头ISO注料温度 + /// 枪实际注料比例 /// - [SugarColumn(ColumnName = "ISOINJECTEMPERATUREOFGUNHEAD")] - public string ISOInjecTemperatureOfGunHead { get; set; } + [SugarColumn(ColumnName = "POUR_RATIO")] + public string PourRatio { get; set; } /// - /// POL注料流量 + /// 枪中压循环时间 /// - [SugarColumn(ColumnName = "POLINJECFLOWRATE")] - public string POLInjecFlowRate { get; set; } + [SugarColumn(ColumnName = "MP_TIME")] + public string MpTime { get; set; } /// - /// ISO注料流量 + /// 枪高压循环时间 /// - [SugarColumn(ColumnName = "ISOINJECFLOWRATE")] - public string ISOInjecFlowRate { get; set; } + [SugarColumn(ColumnName = "HP_TIME")] + public string HpTime { get; set; } /// - /// 液压压力 + /// 枪液压压力 /// - [SugarColumn(ColumnName = "HYDRAULICPRESSURE")] - public string HydraulicPressure { get; set; } + [SugarColumn(ColumnName = "HYDR_PRESS")] + public string HydrPress { get; set; } /// - /// 液压温度 + /// 枪液压温度 /// - [SugarColumn(ColumnName = "HYDRAULICTEMPERATURE")] - public string HydraulicTemperature { get; set; } + [SugarColumn(ColumnName = "HYDR_TEMP")] + public string HydrTemp { get; set; } /// - /// 小活塞开枪时间 + /// 枪开枪时间 /// - [SugarColumn(ColumnName = "SMALLPISTONFIRINGTIME")] - public string SmallPistonFiringTime { get; set; } + [SugarColumn(ColumnName = "MIXPIST_ON")] + public string MixpistOn { get; set; } /// - /// 小活塞关枪时间 + /// 枪关枪时间 /// - [SugarColumn(ColumnName = "SMALLPISTONGUNSHUTDOWNTIME")] - public string SmallPistonGunShutdownTime { get; set; } - + [SugarColumn(ColumnName = "MIXPIST_OFF")] + public string MixpistOff { get; set; } /// - /// 注料状态 + /// 枪总产量 /// - [SugarColumn(ColumnName = "INJECTIONSTATUS")] - public DateTime InjectionStatus { get; set; } + [SugarColumn(ColumnName = "TOTAL_YIELD")] + public string TotalYield { get; set; } + /// - /// 最后一次时间 + /// 枪注料结束信号 /// - [SugarColumn(ColumnName = "LAST_TIME")] - public DateTime LastTime { get; set; } + [SugarColumn(ColumnName = "POUR_END")] + public string PourEnd { get; set; } + /// /// 创建时间 /// - [SugarColumn(ColumnName = "CREATETIME")] - public DateTime Createtime { get; set; } + [SugarColumn(ColumnName = "CREATE_TIME")] + public DateTime CreateTime { get; set; } } } diff --git a/Admin.Core.Service/Service_New/ProductOffLineServices.cs b/Admin.Core.Service/Service_New/ProductOffLineServices.cs index e328b7e1..1642410d 100644 --- a/Admin.Core.Service/Service_New/ProductOffLineServices.cs +++ b/Admin.Core.Service/Service_New/ProductOffLineServices.cs @@ -34,7 +34,8 @@ namespace Admin.Core.Service try { var _db = baseRepository.Db; - var infos = await _db.Ado.SqlQueryAsync($"SELECT ILS_TMPRD.ILS_SORT_BARCODE_PKG.GET_BARCODE_DATA({barCode}) FROM DUAL"); + string sql = "SELECT ILS_TMPRD.ILS_SORT_BARCODE_PKG.GET_BARCODE_DATA('"+barCode+ "') as result FROM DUAL"; + var infos = await _db.Ado.SqlQueryAsync(sql); return infos.FirstOrDefault().result; } catch (Exception ex) diff --git a/Admin.Core.Tasks/Admin.Core.Tasks.csproj b/Admin.Core.Tasks/Admin.Core.Tasks.csproj index 635e3086..4fbcb9c0 100644 --- a/Admin.Core.Tasks/Admin.Core.Tasks.csproj +++ b/Admin.Core.Tasks/Admin.Core.Tasks.csproj @@ -16,4 +16,10 @@ + + + ..\dll\HwCommunication.dll + + + diff --git a/Admin.Core.Tasks/QuartzNet/Jobs/Job_BoxFoamData_Quartz.cs b/Admin.Core.Tasks/QuartzNet/Jobs/Job_BoxFoamData_Quartz.cs index 1d57f624..b5ff0d22 100644 --- a/Admin.Core.Tasks/QuartzNet/Jobs/Job_BoxFoamData_Quartz.cs +++ b/Admin.Core.Tasks/QuartzNet/Jobs/Job_BoxFoamData_Quartz.cs @@ -8,6 +8,10 @@ using Admin.Core.Model; using System.Linq; using Admin.Core.Model.Model_New; using Aucma.Core.HwPLc; +using HwCommunication.Core; +using Admin.Core.Common.Helper; +using System.Collections; +using System.Text; /// /// 发泡数据采集 @@ -29,19 +33,23 @@ namespace Admin.Core.Tasks _SysTasksQzService = SysTasksQzService; _boxFoamDataServices = boxFoamDataServices; _oldBoxFoamDataServices = oldBoxFoamDataServices; + } public async Task Execute(IJobExecutionContext context) { - await ExecuteJob(context, async () => await Run(context)); - await ExecuteJob(context, async () => await BoxFoamDataRun(context)); + // await ExecuteJob(context, async () => await Run(context)); + // await ExecuteJob(context, async () => await BoxFoamDataRun(context)); + } + public async Task Run(IJobExecutionContext context) { await SaveData(); } + public async Task BoxFoamDataRun(IJobExecutionContext context) { await SaveOldBoxFoamData(); diff --git a/Admin.Core.Tasks/QuartzNet/Jobs/Job_BoxFoamLastData_Quartz.cs b/Admin.Core.Tasks/QuartzNet/Jobs/Job_BoxFoamLastData_Quartz.cs index c01d6468..8a6318e9 100644 --- a/Admin.Core.Tasks/QuartzNet/Jobs/Job_BoxFoamLastData_Quartz.cs +++ b/Admin.Core.Tasks/QuartzNet/Jobs/Job_BoxFoamLastData_Quartz.cs @@ -8,6 +8,11 @@ using Admin.Core.Model; using System.Linq; using Admin.Core.Model.Model_New; using Aucma.Core.HwPLc; +using Admin.Core.Common.Helper; +using HwCommunication.Core; +using System.Text; +using Admin.Core.Service; +using Admin.Core.Common; /// /// 箱体发泡 最后一枪数据采集 @@ -18,6 +23,12 @@ namespace Admin.Core.Tasks { public delegate Task RefreshBoxFoamDataDelegate(); public static event RefreshBoxFoamDataDelegate RefreshBoxFoamDataDelegateEvent; + /// + /// 刷新最后一枪数据 + /// + public delegate void RefreshLastShotDataDelegate(BoxLastShotRecord record); + public static event RefreshLastShotDataDelegate RefreshLastShotDataDelegateEvent; + private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(Job_BoxFoamData_Quartz)); private readonly IBoxFoamDataServices _boxFoamDataServices; private readonly IBoxFoamDataServices _oldBoxFoamDataServices; @@ -28,14 +39,17 @@ namespace Admin.Core.Tasks _SysTasksQzService = SysTasksQzService; _boxFoamDataServices = boxFoamDataServices; _oldBoxFoamDataServices = oldBoxFoamDataServices; + _lastShotRecordServices = boxLastShotRecordServices; } public async Task Execute(IJobExecutionContext context) { await ExecuteJob(context, async () => await Run(context)); + await ExecuteJob(context, async () => await BoxFoamDataRun(context)); } - public async Task Run(IJobExecutionContext context) + } + public async Task Run(IJobExecutionContext context) { await SaveData(); } diff --git a/Aucma.Core.BoxFoam/Business/InStoreBusiness.cs b/Aucma.Core.BoxFoam/Business/InStoreBusiness.cs index ba2043ee..63ca3041 100644 --- a/Aucma.Core.BoxFoam/Business/InStoreBusiness.cs +++ b/Aucma.Core.BoxFoam/Business/InStoreBusiness.cs @@ -108,7 +108,8 @@ namespace Aucma.Core.BoxFoam.Business private static int AAA = 1; public void init() - { + { + allSpaces = _baseSpaceInfoServices.Query(x => x.StoreCode == storeCode); foreach (var space in allSpaces) { @@ -117,13 +118,13 @@ namespace Aucma.Core.BoxFoam.Business Task.Run(() => { Thread.Sleep(5000); - - // test(); + + // test(); // 获取任务下发plc - StartPassDown(); - // InStore("B23600083025024860011"); + // StartPassDown(); + // InStore("B23600083025024860011"); }); - startTimer(); + // startTimer(); } public async void test() @@ -146,7 +147,7 @@ namespace Aucma.Core.BoxFoam.Business /// public void RealInstoreFinish(object? sender, ElapsedEventArgs e) { - var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("发泡Plc")); + var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("泡前库Plc")); if (obj != null && obj.plc.IsConnected) { foreach (SpaceAddress spaceAddress in spaceAddresses) @@ -168,13 +169,17 @@ namespace Aucma.Core.BoxFoam.Business } - public void StartPassDown() + public async void StartPassDown() { - while (true) - { - PassDown(); - Thread.Sleep(1000); - } + Task.Run(() => + { + while (true) + { + PassDown(); + Thread.Sleep(200000); + } + }); + } @@ -405,7 +410,7 @@ namespace Aucma.Core.BoxFoam.Business public BaseSpaceInfo ReadSpaceInfoByPlc(BaseSpaceInfo spaceInfo) { - var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("发泡Plc")); + var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("泡前库Plc")); if (obj != null && obj.plc.IsConnected) { SpaceAddress spaceAddress = spaceConfig.GetSpaceAddress(spaceInfo.StoreCode, spaceInfo.SpaceCode); @@ -440,15 +445,16 @@ namespace Aucma.Core.BoxFoam.Business try { SpaceAddress spaceAddress = spaceConfig.GetSpaceAddress(storeCode, taskInfo.SpaceCode); - var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("发泡Plc")); + var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("泡前库Plc")); if (obj != null && obj.plc.IsConnected) { - //写入货道号 - obj.plc.WriteInt16("DB200.0", taskInfo.SpaceCode.Substring(7,1)); + //写入应答字 obj.plc.WriteInt16("DB200.2", "1"); //写入货道物料类型 obj.plc.WriteString(spaceAddress.materialType, taskInfo.MaterialType); + //写入货道号 + obj.plc.WriteInt16("DB200.0", taskInfo.SpaceCode.Substring(7,1)); //写入完成后读取反馈号进行复位 ReadShellAnswer_InStore(taskInfo); result = true; @@ -466,14 +472,14 @@ namespace Aucma.Core.BoxFoam.Business } /// - /// 读取泡后入库应答 + /// 读取泡前入库应答 /// private void ReadShellAnswer_InStore(RealTaskInfo taskInfo) { lock (string.Empty) { bool isFlag = true; - var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("发泡Plc")); + var obj = PlcHelper.siemensList.FirstOrDefault(d => d.EquipName.Equals("泡前库Plc")); try { Task.Run(() => @@ -483,17 +489,18 @@ namespace Aucma.Core.BoxFoam.Business do { //读取PLC反馈号,上位机清空写入的入库内容 - if (obj.plc.ReadInt16("DB200.86") == 1) + if (obj.plc.ReadInt16("DB200.86") == 2) { + obj.plc.WriteInt16("DB200.86", "0"); //-------------plc清 //写入货道号 - // obj.plc.WriteString("D110", string.Empty); - //写入应答字 - // obj.plc.WriteInt16("D112", "0"); + obj.plc.WriteInt16("DB200.0", "0"); + // 写入应答字 + obj.plc.WriteInt16("DB200.2", "0"); //写入货道物料类型 // obj.plc.WriteInt16(spaceAddress.materialType, taskInfo.MaterialType); //---------------------- - obj.plc.WriteInt16("DB200.86", "0"); + isFlag = false; InStoreAnswer(taskInfo.TaskCode); // TaskInfos.Add(taskInfo); @@ -579,7 +586,7 @@ namespace Aucma.Core.BoxFoam.Business // lock (string.Empty) // { // bool isFlag = true; - // var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("发泡Plc")); + // var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("泡前库Plc")); // try // { diff --git a/Aucma.Core.BoxFoam/ViewModels/FoamMachinesPageViewModel.cs b/Aucma.Core.BoxFoam/ViewModels/FoamMachinesPageViewModel.cs index f44ac2f9..3975d0fd 100644 --- a/Aucma.Core.BoxFoam/ViewModels/FoamMachinesPageViewModel.cs +++ b/Aucma.Core.BoxFoam/ViewModels/FoamMachinesPageViewModel.cs @@ -1,7 +1,9 @@ using Admin.Core.Common; using Admin.Core.IService; +using Admin.Core.Model; using Admin.Core.Model.ViewModels; using Admin.Core.Service; +using Admin.Core.Tasks; using Aucma.Core.BoxFoam.Models; using CommunityToolkit.Mvvm.ComponentModel; using Microsoft.Extensions.DependencyInjection; @@ -20,9 +22,48 @@ namespace Aucma.Core.BoxFoam.ViewModels public FoamMachinesPageViewModel() { + Job_BoxFoamLastData_Quartz.RefreshLastShotDataDelegateEvent += RefreshData; _boxLastShotRecordServices = App.ServiceProvider.GetService(); + //Task.WaitAll(LoadData()); } + + public void RefreshData(BoxLastShotRecord record) + { + System.Windows.Application.Current.Dispatcher.Invoke((Action)(async () => + { + string system = string.Empty; + if (record.System == "1") { + system = "1系统"; + + // PolFlow1 = record.POLInjecFlowRate; + // IsoFlow1 = record.ISOInjecFlowRate; + // PoleTmperature1 = record.POLInjecTemperatureOfGunHead; + // IsoTemperature1 = record.ISOInjecTemperatureOfGunHead; + + } + if (record.System == "2") { system = "2系统"; } + LastShotRecordDataGrid.Add(new LastShotRecordModel() + { + No = LastShotRecordDataGrid.Count+1, + System = system, + GunHead = record.GunCode, + // StationNumber = record.StationNumber, + PolInjectionpressure = record.PolHp, + IsoInjectionpressure = record.IsoHp, + PolInjectiontemperature = record.PolTemp, + IsoInjectiontemperature = record.IsoTemp, + LastTime = record.CreateTime, + Createtime = record.CreateTime + }); + + })); + + + } + + + #region 加载DataGrid数据 private async Task LoadData() { @@ -33,7 +74,7 @@ namespace Aucma.Core.BoxFoam.ViewModels int i = 1; var list = await _boxLastShotRecordServices.QueryAsync(); if (list == null) return; - list.OrderByDescending(d => d.LastTime); + list.OrderByDescending(d => d.CreateTime); foreach (var item in list.Take(50)) { string system = string.Empty; @@ -43,14 +84,14 @@ namespace Aucma.Core.BoxFoam.ViewModels { No = i, System = system, - GunHead=item.GunHead, - StationNumber=item.StationNumber, - PolInjectionpressure = item.PolInjectionpressure, - IsoInjectionpressure = item.IsoInjectionpressure, - PolInjectiontemperature = item.PolInjectiontemperature, - IsoInjectiontemperature = item.IsoInjectiontemperature, - LastTime = item.LastTime, - Createtime = item.Createtime + GunHead=item.GunCode, + // StationNumber=item.StationNumber, + PolInjectionpressure = item.PolHp, + IsoInjectionpressure = item.IsoHp, + PolInjectiontemperature = item.PolTemp, + IsoInjectiontemperature = item.IsoTemp, + LastTime = item.CreateTime, + Createtime = item.CreateTime }); i++; }; diff --git a/Aucma.Core.BoxFoam/appsettings.json b/Aucma.Core.BoxFoam/appsettings.json index 38afd476..07ba5ff6 100644 --- a/Aucma.Core.BoxFoam/appsettings.json +++ b/Aucma.Core.BoxFoam/appsettings.json @@ -98,17 +98,17 @@ "ID": 1, "Name": "InstoreJob", "JobGroup": "DEFAULT", - "Cron": "*/1 * * * * ?", + "Cron": "*/20 * * * * ?", "AssemblyName": "Admin.Core.Tasks", - "ClassName": "Job_BoxFoamInStoreTask_Quartz", - "Remark": "入库任务监控", + "ClassName": "Job_BoxFoamLastData_Quartz", + "Remark": "最后一枪数据采集", "RunTimes": 3881, "BeginTime": "2023-04-23 11:08:50.000", "EndTime": "2180-12-01 16:45:30.000", "TriggerType": 1, "IntervalSecond": 5, "CycleRunTimes": 1, - "IsStart": false, + "IsStart": true, "JobParams": null, "DelFlag": false, "CreateBy": "admin", @@ -186,7 +186,7 @@ "Enabled": true }, "QuartzNetJob": { - "Enabled": false + "Enabled": true }, "Scanner": { //扫码器 "Enabled": true @@ -197,12 +197,21 @@ } }, "PLCServer": [ - { "Id": 1, - "EquipName": "OldTypePlc4", - "IP": "10.10.93.154", - "Port": 5002 + "EquipName": "泡前库Plc", + "PlcType": "Siemens", + "Enabled": true, + "IP": "10.10.93.41", + "Port": 102 + }, + { + "Id": 2, + "EquipName": "Plc1", + "PlcType": "Siemens", + "Enabled": true, + "IP": "127.0.0.1", + "Port": 102 } ], "StoreInfo": { diff --git a/Aucma.Core.HwPLc/Impl/SiemensPlc.cs b/Aucma.Core.HwPLc/Impl/SiemensPlc.cs index 0dc56418..3b7fb5af 100644 --- a/Aucma.Core.HwPLc/Impl/SiemensPlc.cs +++ b/Aucma.Core.HwPLc/Impl/SiemensPlc.cs @@ -128,9 +128,10 @@ namespace Aucma.Core.HwPLc if (read.IsSuccess) { byte[] code = new byte[read.Content.Length - 2]; - Array.Copy(read.Content, 2, code, 0, 24); - string scode = Encoding.ASCII.GetString(code, 0, code.Length); - bytes = code; + //Array.Copy(read.Content, 2, code, 0, 24); + //string scode = Encoding.ASCII.GetString(code, 0, code.Length); + //bytes = code; + bytes = read.Content; } } catch (Exception ex) diff --git a/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs b/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs index ca516e79..ad65e28b 100644 --- a/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs +++ b/Aucma.Core.ProductOffLine/Business/offLineBusiness.cs @@ -8,8 +8,12 @@ using Aucma.Core.ProductOffLine; using Aucma.Core.ProductOffLine.Models; using log4net; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; using Microsoft.IdentityModel.Logging; +using Microsoft.VisualBasic.ApplicationServices; using NetTaste; +using NPOI.SS.Formula.Functions; +using Oracle.ManagedDataAccess.Client; using RestSharp; using StackExchange.Redis; using System; @@ -99,8 +103,11 @@ namespace Aucma.Core.ProductOffLine.Business public async void test() { - // string result = await _productOffLineServices.QueryChecked("16160030000000910780"); - // Console.WriteLine(result); + + + + string result = await _productOffLineServices.QueryChecked("1531000AP0098DCU0481"); + Console.WriteLine(result); // string tt = "Y@1104@16160030000000910780@000010034895@@ @000000@000000009000004899@BCD-160C,家电下乡@@BCD-160C@皓月白-家电下乡@161601300@160@1-00版@家电下乡产品@默认@2010-09-01"; //Task.Run(() => //{ diff --git a/Aucma.Core.ProductOffLine/appsettings.json b/Aucma.Core.ProductOffLine/appsettings.json index e59015e5..f826cdce 100644 --- a/Aucma.Core.ProductOffLine/appsettings.json +++ b/Aucma.Core.ProductOffLine/appsettings.json @@ -82,7 +82,7 @@ "Enabled": true, "HitRate": 50, //"Connection": "Data Source=localhost;Initial Catalog=Hsdb;User ID=sa;Password=sa;Integrated Security=false;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False", - "Connection": "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=175.27.215.92)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=helowin)));User ID=aucma_scada;Password=aucma;", + "Connection": "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.100.72.20)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCLCDB)));User ID=C##aucma_scada;Password=aucma;", "ProviderName": "System.Data.SqlClient" }, { @@ -90,7 +90,7 @@ "DBType": 3, "Enabled": true, "HitRate": 40, - "Connection": "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=175.27.215.92)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=helowin)));User ID=aucma_mes;Password=aucma;", + "Connection": "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.100.72.20)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCLCDB)));User ID=c##aucma_mes;Password=aucma;", "ProviderName": "System.Data.SqlClient" }, { diff --git a/Aucma.Core.RunPlc/RunPlcService.cs b/Aucma.Core.RunPlc/RunPlcService.cs index ce447895..faaf26cc 100644 --- a/Aucma.Core.RunPlc/RunPlcService.cs +++ b/Aucma.Core.RunPlc/RunPlcService.cs @@ -48,7 +48,7 @@ namespace Aucma.Core.RunPlc if (allPlcServices == null) return Task.CompletedTask; var list = allPlcServices.FindAll(d => d.PlcType == "Melsec" && d.Enabled == true); - foreach (var item in allPlcServices) + foreach (var item in list) { PlcModel model = new PlcModel(); model.Id = item.Id;