From 8b218464249b5414c7d096bf1b04bf03ecebf9de Mon Sep 17 00:00:00 2001 From: Tyrone CT Date: Mon, 23 Dec 2024 21:33:19 +0800 Subject: [PATCH] =?UTF-8?q?CAN=20=E9=85=8D=E7=BD=AE=E5=92=8C=E6=8A=A5?= =?UTF-8?q?=E6=96=87=E8=AE=B0=E5=BD=95=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CapMachine.Core/HighSpeedFileHelper.cs | 145 ++++++++ CapMachine.Model/CANLIN/CanLinRWConfig.cs | 2 +- CapMachine.Model/HighMsgFileInfo.cs | 40 +++ CapMachine.Wpf/App.config | 1 + CapMachine.Wpf/App.xaml.cs | 6 +- .../Assets/Images/CapMachineOutput1.png | Bin 0 -> 264414 bytes CapMachine.Wpf/CanDrive/CAN_DBCParser.cs | 95 +++-- CapMachine.Wpf/CanDrive/CanDbcModel.cs | 34 +- CapMachine.Wpf/CanDrive/ToomossCan.cs | 111 +++++- CapMachine.Wpf/CapMachine.Wpf.csproj | 5 +- CapMachine.Wpf/Models/HighSpeed/CommMsg.cs | 36 ++ .../Models/HighSpeed/HighFragMsg.cs | 33 ++ .../Models/HighSpeed/HighRecordMsgMap.cs | 27 ++ CapMachine.Wpf/Services/CanDriveService.cs | 59 ++- CapMachine.Wpf/Services/ConfigService.cs | 16 + .../Services/HighSpeedDataService.cs | 339 ++++++++++++++++++ .../ViewModels/CANConfigViewModel.cs | 136 +++++-- CapMachine.Wpf/Views/CANConfigView.xaml | 36 +- CapMachine.Wpf/Views/MonitorView.xaml | 6 +- CapMachine.Wpf/Views/ProConfigView.xaml | 8 +- 20 files changed, 1021 insertions(+), 114 deletions(-) create mode 100644 CapMachine.Core/HighSpeedFileHelper.cs create mode 100644 CapMachine.Model/HighMsgFileInfo.cs create mode 100644 CapMachine.Wpf/Assets/Images/CapMachineOutput1.png create mode 100644 CapMachine.Wpf/Models/HighSpeed/CommMsg.cs create mode 100644 CapMachine.Wpf/Models/HighSpeed/HighFragMsg.cs create mode 100644 CapMachine.Wpf/Models/HighSpeed/HighRecordMsgMap.cs create mode 100644 CapMachine.Wpf/Services/HighSpeedDataService.cs diff --git a/CapMachine.Core/HighSpeedFileHelper.cs b/CapMachine.Core/HighSpeedFileHelper.cs new file mode 100644 index 0000000..b141e8e --- /dev/null +++ b/CapMachine.Core/HighSpeedFileHelper.cs @@ -0,0 +1,145 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CapMachine.Core +{ + /// + /// 高速规则帮助方法 + /// + public class HighSpeedFileHelper + { + /// + /// 获取文件路径 + /// + /// + /// + public static string GetFullFilePath(string FileRootPath, string DcInfo, string ExtInfo) + { + return $@"{FileRootPath}\{DateTime.Now.ToString("yyyy")}\{DcInfo}\{GetFileName(DcInfo)}{ExtInfo}.csv"; + } + + /// + /// 获取本地文件路径 + /// + /// + /// + public static string GetLocalFullFilePath(string FileRootPath, string DcInfo, string ExtInfo) + { + return $@"{FileRootPath}\{DateTime.Now.ToString("yyyy")}\{DcInfo}\{GetFileName(DcInfo)}{ExtInfo}.csv"; + } + + /// + /// 获取文件路径 + /// + /// + /// + public static string GetFilePath(string FileRootPath) + { + return $@"{FileRootPath}\{DateTime.Now.ToString("yyyy")}\"; + } + + /// + /// 获取试验工况文件路径 + /// + /// + /// + public static string GetExpFilePath(string FileRootPath, string ExpName) + { + return $@"{FileRootPath}\{ExpName}"; + } + + /// + /// 获取CSV文件路径 + /// 对于一个试验来说,如果时间很长的话,则一天一个CSV文件 + /// + /// + /// + public static string GetCSVPath(string FileExpRootPath) + { + //return $@"{FileRootPath}\{DateTime.Now.ToString("yyyy")}\{DateTime.Now.ToString("MM-dd HHmm")}{workCond}.csv"; + return $@"{FileExpRootPath}\{DateTime.Now.ToString("yyyy-MM-dd")}.csv"; + } + + /// + /// 获取CSV文件路径 + /// 对于一个试验来说,按照小时存储数据 + /// + /// + /// + public static string GetHourCSVPath(string FileExpRootPath, string HourFileName) + { + //return $@"{FileRootPath}\{DateTime.Now.ToString("yyyy")}\{DateTime.Now.ToString("MM-dd HHmm")}{workCond}.csv"; + return $@"{FileExpRootPath}\{HourFileName}.csv"; + } + + /// + /// 获取CSV文件名称 + /// + /// + /// + public static string GetFileName(string DcInfo) + { + return $"{DateTime.Now.ToString("yy")}{DcInfo}"; + } + + /// + /// 获取CSV文件名称 + /// + /// + /// + public static string GetFileName(string DcInfo, string ExtInfo) + { + return $"{DateTime.Now.ToString("yy")}{DcInfo}{ExtInfo}.csv"; + } + + /// + /// 获取Title文件-在本地盘 F盘中 + /// + /// + /// + public static string GetTitlePath(string Dcinfo, string fileRootPath) + { + //return fileRootPath + @"\Title\Title" + Dcinfo + ".csv"; + //return "F:" + @"\Title\Title" + Dcinfo + ".csv"; + //return "D:" + @"\DCM\Title\Title" + Dcinfo + ".csv"; + return "F:" + @"\Title\Title" + Dcinfo + ".csv"; + } + + ///// + ///// 获取UI显示名称信息 + ///// + ///// + ///// + //public static string GetUIShowInfo(int DataInof) + //{ + // return $"{GetMonthInfo()} {GetDayInfo()}{GetClassInfo()}-{DataInof}"; + //} + + //public static int StartHour = 6; + //public static int EndHour = 18; + + ///// + ///// 获取白班和夜班的信息 + ///// + ///// + //public static string GetClassInfo() + //{ + // var NowTimeHour = DateTime.Now.Hour; + // if (NowTimeHour >= StartHour && NowTimeHour <= EndHour) + // { + // return "-"; + // } + // else + // { + // return ":"; + // } + + //} + + + + } +} diff --git a/CapMachine.Model/CANLIN/CanLinRWConfig.cs b/CapMachine.Model/CANLIN/CanLinRWConfig.cs index 052b07d..80569bf 100644 --- a/CapMachine.Model/CANLIN/CanLinRWConfig.cs +++ b/CapMachine.Model/CANLIN/CanLinRWConfig.cs @@ -32,7 +32,7 @@ namespace CapMachine.Model.CANLIN public string? Name { get; set; } /// - /// 配置项值 + /// 配置项值 DBC里面的信号名称 /// [Column(Name = "Content", IsNullable = false, StringLength = 100)] public string? Content { get; set; } diff --git a/CapMachine.Model/HighMsgFileInfo.cs b/CapMachine.Model/HighMsgFileInfo.cs new file mode 100644 index 0000000..78b2f16 --- /dev/null +++ b/CapMachine.Model/HighMsgFileInfo.cs @@ -0,0 +1,40 @@ +using FreeSql.DataAnnotations; + +namespace CapMachine.Model +{ + /// + /// 高速的消息文件信息 + /// + [Table(Name = "HighMsgFileInfo")] + public class HighMsgFileInfo + { + /// + /// 主键 + /// + [Column(IsPrimary = true, IsIdentity = true)] + public long Id { get; set; } + + /// + /// 试验名称 + /// + [Column(Name = "Name", IsNullable = false, StringLength = 200)] + public string? ExpName { get; set; } + + /// + /// Path + /// CSV文件路径 + /// + [Column(Name = "FilePath", IsNullable = false, StringLength = 400)] + public string? FilePath { get; set; } + + /// + /// FileInfo + /// 2024-12-23 17 + /// + [Column(Name = "FileInfo", IsNullable = false, StringLength = 30)] + public string? FileInfo { get; set; } + + [Column(ServerTime = DateTimeKind.Local, CanUpdate = false)] + public DateTime CreateTime { get; set; } + } +} diff --git a/CapMachine.Wpf/App.config b/CapMachine.Wpf/App.config index bdac2a5..c98640a 100644 --- a/CapMachine.Wpf/App.config +++ b/CapMachine.Wpf/App.config @@ -3,6 +3,7 @@ + diff --git a/CapMachine.Wpf/App.xaml.cs b/CapMachine.Wpf/App.xaml.cs index 2ef8fff..1eff1a7 100644 --- a/CapMachine.Wpf/App.xaml.cs +++ b/CapMachine.Wpf/App.xaml.cs @@ -97,7 +97,8 @@ namespace CapMachine.Wpf containerRegistry.RegisterSingleton(); containerRegistry.RegisterSingleton(); containerRegistry.RegisterSingleton(); - + containerRegistry.RegisterSingleton(); + //注册AutoMapper 将IAutoMapperProvider注入IOC容器,并对外提供IMapper注入类型。 containerRegistry.RegisterSingleton(); containerRegistry.Register(typeof(IMapper), GetMapper); @@ -225,8 +226,9 @@ namespace CapMachine.Wpf var appVersionService7 = ContainerLocator.Container.Resolve(); var appVersionService8 = ContainerLocator.Container.Resolve(); var appVersionService9 = ContainerLocator.Container.Resolve(); + var appVersionService10 = ContainerLocator.Container.Resolve(); - + //给当前的全局异常捕捉服务使用 LogService = ContainerLocator.Container.Resolve(); LogService.Error("ex.ToString()"); diff --git a/CapMachine.Wpf/Assets/Images/CapMachineOutput1.png b/CapMachine.Wpf/Assets/Images/CapMachineOutput1.png new file mode 100644 index 0000000000000000000000000000000000000000..b2e7daa1acfc486b2312d8f4156f9e5d08f536d1 GIT binary patch literal 264414 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%0Dk0j3n>5o}VL@T|I?UxTc-v<~!FlCe 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 G%6|i`$i`s+ literal 0 HcmV?d00001 diff --git a/CapMachine.Wpf/CanDrive/CAN_DBCParser.cs b/CapMachine.Wpf/CanDrive/CAN_DBCParser.cs index 06111af..b5b8c31 100644 --- a/CapMachine.Wpf/CanDrive/CAN_DBCParser.cs +++ b/CapMachine.Wpf/CanDrive/CAN_DBCParser.cs @@ -12,46 +12,63 @@ namespace CapMachine.Wpf.CanDrive /// public class CAN_DBCParser { - public const Int32 DBC_PARSER_OK = 0;//没有错误 - public const Int32 DBC_PARSER_FILE_OPEN = (-1);//打开文件出错 - public const Int32 DBC_PARSER_FILE_FORMAT = (-2);//文件格式错误 - public const Int32 DBC_PARSER_DEV_DISCONNECT = (-3);//设备未连接 - public const Int32 DBC_PARSER_HANDLE_ERROR = (-4);//LDF Handle错误 - public const Int32 DBC_PARSER_GET_INFO_ERROR = (-5);//获取解析后的数据出错 - public const Int32 DBC_PARSER_DATA_ERROR = (-6);//数据处理错误 - public const Int32 DBC_PARSER_SLAVE_NACK = (-7);//从机未响应数据 + public const Int32 DBC_PARSER_OK = 0;//没有错误 + public const Int32 DBC_PARSER_FILE_OPEN = (-1);//打开文件出错 + public const Int32 DBC_PARSER_FILE_FORMAT = (-2);//文件格式错误 + public const Int32 DBC_PARSER_DEV_DISCONNECT = (-3);//设备未连接 + public const Int32 DBC_PARSER_HANDLE_ERROR = (-4);//LDF Handle错误 + public const Int32 DBC_PARSER_GET_INFO_ERROR = (-5);//获取解析后的数据出错 + public const Int32 DBC_PARSER_DATA_ERROR = (-6);//数据处理错误 + public const Int32 DBC_PARSER_SLAVE_NACK = (-7);//从机未响应数据 - [DllImport("USB2XXX.dll")] - public static extern UInt64 DBC_ParserFile(int DevHandle, StringBuilder pDBCFileName); - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_GetMsgQuantity(UInt64 DBCHandle); - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_GetMsgName(UInt64 DBCHandle, int index, StringBuilder pMsgName); - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_GetMsgSignalQuantity(UInt64 DBCHandle, StringBuilder pMsgName); - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_GetMsgSignalName(UInt64 DBCHandle, StringBuilder pMsgName, int index, StringBuilder pSignalName); - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_GetMsgPublisher(UInt64 DBCHandle, StringBuilder pMsgName, StringBuilder pPublisher); - //设置信号值 - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_SetSignalValue(UInt64 DBCHandle, StringBuilder pMsgName, StringBuilder pSignalName, double Value); - //获取信号值 - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_GetSignalValue(UInt64 DBCHandle, StringBuilder pMsgName, StringBuilder pSignalName, double[] pValue); - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_GetSignalValueStr(UInt64 DBCHandle, StringBuilder pMsgName, StringBuilder pSignalName, StringBuilder pValueStr); + [DllImport("USB2XXX.dll")] + public static extern UInt64 DBC_ParserFile(int DevHandle, StringBuilder pDBCFileName); + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_GetMsgQuantity(UInt64 DBCHandle); + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_GetMsgName(UInt64 DBCHandle, int index, StringBuilder pMsgName); + ///

    + /// + /// + /// + /// + /// + /// + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_GetMsgNameByID(UInt64 DBCHandle, int ID, StringBuilder pMsgName); + /// + /// 获取ID根据名称 + /// + /// + /// + /// + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_GetMsgIDByName(UInt64 DBCHandle, StringBuilder pMsgName); + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_GetMsgSignalQuantity(UInt64 DBCHandle, StringBuilder pMsgName); + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_GetMsgSignalName(UInt64 DBCHandle, StringBuilder pMsgName, int index, StringBuilder pSignalName); + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_GetMsgPublisher(UInt64 DBCHandle, StringBuilder pMsgName, StringBuilder pPublisher); + //设置信号值 + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_SetSignalValue(UInt64 DBCHandle, StringBuilder pMsgName, StringBuilder pSignalName, double Value); + //获取信号值 + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_GetSignalValue(UInt64 DBCHandle, StringBuilder pMsgName, StringBuilder pSignalName, double[] pValue); + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_GetSignalValueStr(UInt64 DBCHandle, StringBuilder pMsgName, StringBuilder pSignalName, StringBuilder pValueStr); + + //将CAN消息数据填充到信号里面 + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_SyncCANMsgToValue(UInt64 DBCHandle, IntPtr pCANMsg, int MsgLen); + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_SyncCANFDMsgToValue(UInt64 DBCHandle, IntPtr pCANFDMsg, int MsgLen); + //将信号数据填充到CAN消息里面 + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_SyncValueToCANMsg(UInt64 DBCHandle, StringBuilder pMsgName, IntPtr pCANMsg); + [DllImport("USB2XXX.dll")] + public static extern Int32 DBC_SyncValueToCANFDMsg(UInt64 DBCHandle, StringBuilder pMsgName, IntPtr pCANFDMsg); - //将CAN消息数据填充到信号里面 - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_SyncCANMsgToValue(UInt64 DBCHandle, IntPtr pCANMsg, int MsgLen); - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_SyncCANFDMsgToValue(UInt64 DBCHandle, IntPtr pCANFDMsg, int MsgLen); - //将信号数据填充到CAN消息里面 - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_SyncValueToCANMsg(UInt64 DBCHandle, StringBuilder pMsgName, IntPtr pCANMsg); - [DllImport("USB2XXX.dll")] - public static extern Int32 DBC_SyncValueToCANFDMsg(UInt64 DBCHandle, StringBuilder pMsgName, IntPtr pCANFDMsg); - } } diff --git a/CapMachine.Wpf/CanDrive/CanDbcModel.cs b/CapMachine.Wpf/CanDrive/CanDbcModel.cs index 3ab6eb9..8f24363 100644 --- a/CapMachine.Wpf/CanDrive/CanDbcModel.cs +++ b/CapMachine.Wpf/CanDrive/CanDbcModel.cs @@ -10,13 +10,20 @@ namespace CapMachine.Wpf.CanDrive /// /// Dbc 信息 /// - public class CanDbcModel:BindableBase + public class CanDbcModel : BindableBase { /// /// 消息Id /// public string? MsgId { get; set; } + /// + /// 配置的中文名称:速度,转速限制,使能等常用的信息数据 + /// 但不是所有的SignalName都会配置一个Name,只是需要时才会配置名称 + /// 但是CanDbcModel集合会包括所有的SignalName名称的 + /// + public string? Name { get; set; } + /// /// 消息名称 /// @@ -38,20 +45,39 @@ namespace CapMachine.Wpf.CanDrive public string? SignalUnit { get; set; } - private string? _SignalRtValue; + private string? _SignalRtValue = "--"; /// /// 信号实时值 /// public string? SignalRtValue { get { return _SignalRtValue; } - set { _SignalRtValue = value;RaisePropertyChanged(); } + set { _SignalRtValue = value; RaisePropertyChanged(); } } + private StringBuilder _SignalRtValueSb = new StringBuilder(10); + /// + /// 信号实时值 StringBuilder + /// + public StringBuilder SignalRtValueSb + { + get { return _SignalRtValueSb; } + set + { + if (_SignalRtValueSb != value) + { + SignalRtValue = value.ToString(); + _SignalRtValueSb = value; + } + + } + } + + /// /// 发布者 /// public string? Publisher { get; set; } - + } } diff --git a/CapMachine.Wpf/CanDrive/ToomossCan.cs b/CapMachine.Wpf/CanDrive/ToomossCan.cs index debcea2..f41bf9a 100644 --- a/CapMachine.Wpf/CanDrive/ToomossCan.cs +++ b/CapMachine.Wpf/CanDrive/ToomossCan.cs @@ -1,5 +1,8 @@ using CapMachine.Wpf.Models.Tag; +using CapMachine.Wpf.Services; +using HslCommunication; using NPOI.OpenXmlFormats.Wordprocessing; +using Prism.Ioc; using Prism.Mvvm; using System; using System.Collections.Generic; @@ -12,6 +15,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Windows.Interop; +using static CapMachine.Wpf.CanDrive.USB2CAN; namespace CapMachine.Wpf.CanDrive { @@ -20,12 +24,15 @@ namespace CapMachine.Wpf.CanDrive /// public class ToomossCan : BindableBase { + private readonly IContainerProvider ContainerProvider; + /// /// 实例化函数 /// - public ToomossCan() + public ToomossCan(IContainerProvider containerProvider) { - + ContainerProvider = containerProvider; + HighSpeedDataService = ContainerProvider.Resolve(); } /// @@ -42,16 +49,31 @@ namespace CapMachine.Wpf.CanDrive } + /// + /// HighSpeedDataService 实例 + /// + public HighSpeedDataService HighSpeedDataService { get; set; } + /// /// 开始Dbc文件写入 /// - public void StartDbc(string DbcPath) + public ObservableCollection StartDbc(string DbcPath) { DBC_Parser(DbcPath); + return ListCanDbcModel; } + ///// + ///// 获取Can DBC数据集合 + ///// + //public void LoadCanDbcData(ObservableCollection canDbcModels) + //{ + // ListCanDbcModel = canDbcModels; + //} + /// /// Dbc消息集合 + /// 包括读取的实时值和数据 /// public ObservableCollection ListCanDbcModel { get; set; } = new ObservableCollection(); @@ -69,6 +91,7 @@ namespace CapMachine.Wpf.CanDrive USB2CAN.CAN_INIT_CONFIG CANConfig = new USB2CAN.CAN_INIT_CONFIG(); /// + /// DBC加载后获取的Handle /// DBC Handle /// public UInt64 DBCHandle { get; set; } @@ -82,15 +105,40 @@ namespace CapMachine.Wpf.CanDrive /// 扫描设备Handle /// public Int32 DevHandle { get; set; } = 0; + /// /// Write CAN Index + /// 通道的含义 + /// 描述: + /// 读取接收到的CAN消息,推荐使用该函数。 + ///原型: + ///int WINAPI CAN_GetMsgWithSize(int DevHandle, unsigned char CANIndex, CAN_MSG* pCanGetMsg, int BufferSize); + ///参数: + ///DevHandle 设备句柄,本质为设备序号的低4字节,可以通过调用USB_ScanDevice函数获得。 + ///CANIndex CAN通道索引号,0-对应CAN1,1-对应CAN2。 + ///pCanGetMsg 存储CAN消息缓冲区首地址。 + ///BufferSize 存储CAN消息缓冲区大小。 + ///返回值: + //大于等于0表示从CAN适配器内部成功读取到的CAN消息帧数,若返回值小于0则说明调用该函数失败。 /// public Byte WriteCANIndex { get; set; } = 0; /// /// Read CAN Index + /// 通道的含义 + /// 描述: + ///读取接收到的CAN消息,推荐使用该函数。 + ///原型: + ///int WINAPI CAN_GetMsgWithSize(int DevHandle, unsigned char CANIndex, CAN_MSG* pCanGetMsg, int BufferSize); + ///参数: + ///DevHandle 设备句柄,本质为设备序号的低4字节,可以通过调用USB_ScanDevice函数获得。 + ///CANIndex CAN通道索引号,0-对应CAN1,1-对应CAN2。 + ///pCanGetMsg 存储CAN消息缓冲区首地址。 + ///BufferSize 存储CAN消息缓冲区大小。 + ///返回值: + ///大于等于0表示从CAN适配器内部成功读取到的CAN消息帧数,若返回值小于0则说明调用该函数失败。 /// - public Byte ReadCANIndex { get; set; } = 1; + public Byte ReadCANIndex { get; set; } = 0; private bool _OpenState; @@ -219,6 +267,7 @@ namespace CapMachine.Wpf.CanDrive /// public void GetCANConfig() { + CANConfig.CAN_Mode = 0x80;//正常模式并接入终端电阻 //获取CAN波特率参数 ret = USB2CAN.CAN_GetCANSpeedArg(DevHandle, ref CANConfig, 500000); if (ret != USB2CAN.CAN_SUCCESS) @@ -295,6 +344,9 @@ namespace CapMachine.Wpf.CanDrive int DBCSigNum = CAN_DBCParser.DBC_GetMsgSignalQuantity(DBCHandle, MsgName); StringBuilder Publisher = new StringBuilder(32); CAN_DBCParser.DBC_GetMsgPublisher(DBCHandle, MsgName, Publisher); + long MsgId; + MsgId = CAN_DBCParser.DBC_GetMsgIDByName(DBCHandle, MsgName); + Console.Write("Signals:"); for (int j = 0; j < DBCSigNum; j++) { @@ -306,7 +358,7 @@ namespace CapMachine.Wpf.CanDrive ListCanDbcModel.Add(new CanDbcModel() { MsgName = MsgName.ToString(), - MsgId = "", + MsgId = "0x" + MsgId.ToString("X8"), SignalName = SigName.ToString(), SignalDesc = "", SignalUnit = "", @@ -352,7 +404,7 @@ namespace CapMachine.Wpf.CanDrive //通过DBC写入数据后生成CanMsg //将信号值填入CAN消息里面 - + //释放申请的临时缓冲区 Marshal.FreeHGlobal(msgPt); @@ -379,6 +431,8 @@ namespace CapMachine.Wpf.CanDrive /// private static Task CycleReviceTask { get; set; } + StringBuilder ValueSb = new StringBuilder(16); + /// /// 循环获取CAN消息 /// @@ -388,7 +442,7 @@ namespace CapMachine.Wpf.CanDrive { while (IsCycleRevice) { - await Task.Delay(1000); + await Task.Delay(500); try { //另外一个CAN通道读取数据 @@ -400,7 +454,9 @@ namespace CapMachine.Wpf.CanDrive Console.WriteLine("Read CanMsgNum = {0}", CanNum); for (int i = 0; i < CanNum; i++) { - CanMsgBuffer[i] = (USB2CAN.CAN_MSG)Marshal.PtrToStructure((IntPtr)((UInt32)msgPt + i * Marshal.SizeOf(typeof(USB2CAN.CAN_MSG))), typeof(USB2CAN.CAN_MSG)); + //CanMsgBuffer[i] = (USB2CAN.CAN_MSG)Marshal.PtrToStructure((IntPtr)((UInt32)msgPt + i * Marshal.SizeOf(typeof(USB2CAN.CAN_MSG))), typeof(USB2CAN.CAN_MSG)); //有溢出报错 + CanMsgBuffer[i] = (USB2CAN.CAN_MSG)Marshal.PtrToStructure((IntPtr)(msgPt + i * Marshal.SizeOf(typeof(USB2CAN.CAN_MSG))), typeof(USB2CAN.CAN_MSG)); + Console.WriteLine("CanMsg[{0}].ID = 0x{1}", i, CanMsgBuffer[i].ID.ToString("X8")); //Console.WriteLine("CanMsg[{0}].TimeStamp = {1}",i,CanMsgBuffer[i].TimeStamp); Console.Write("CanMsg[{0}].Data = ", i); @@ -409,6 +465,14 @@ namespace CapMachine.Wpf.CanDrive Console.Write("{0} ", CanMsgBuffer[i].Data[j].ToString("X2")); } Console.WriteLine(""); + + HighSpeedDataService.AppendOrUpdateMsg(new Models.HighSpeed.CommMsg() + { + Category="CAN", + MsgInfo="0x"+CanMsgBuffer[i].ID.ToString("X8"), + MsgData= CanMsgBuffer[i].Data.ToArrayString(), + Time=DateTime.Now.ToString() + }); } } else if (CanNum == 0) @@ -421,16 +485,29 @@ namespace CapMachine.Wpf.CanDrive } Console.WriteLine(""); - //将CAN消息数据填充到信号里面 + //将CAN消息数据填充到信号里面,用DBC解析数据 CAN_DBCParser.DBC_SyncCANMsgToValue(DBCHandle, msgPt, CanNum); - //获取信号值并打印出来 - StringBuilder ValueStr = new StringBuilder(32); - CAN_DBCParser.DBC_GetSignalValueStr(DBCHandle, new StringBuilder("msg_moto_speed"), new StringBuilder("moto_speed"), ValueStr); - Console.WriteLine("moto_speed = {0}", ValueStr); - CAN_DBCParser.DBC_GetSignalValueStr(DBCHandle, new StringBuilder("msg_oil_pressure"), new StringBuilder("oil_pressure"), ValueStr); - Console.WriteLine("oil_pressure = {0}", ValueStr); - CAN_DBCParser.DBC_GetSignalValueStr(DBCHandle, new StringBuilder("msg_speed_can"), new StringBuilder("speed_can"), ValueStr); - Console.WriteLine("speed_can = {0}", ValueStr); + + //循环获取消息的数据 + foreach (var item in ListCanDbcModel) + { + //有配置的名称的,认为是有用的,则需要读取数据 + //if (!string.IsNullOrEmpty(item.Name)) + //{ + CAN_DBCParser.DBC_GetSignalValueStr(DBCHandle, new StringBuilder(item.MsgName), new StringBuilder(item.SignalName), ValueSb); + item.SignalRtValueSb = ValueSb; + + //} + } + + ////获取信号值并打印出来 + //StringBuilder ValueStr = new StringBuilder(32); + //CAN_DBCParser.DBC_GetSignalValueStr(DBCHandle, new StringBuilder("msg_moto_speed"), new StringBuilder("moto_speed"), ValueStr); + //Console.WriteLine("moto_speed = {0}", ValueStr); + //CAN_DBCParser.DBC_GetSignalValueStr(DBCHandle, new StringBuilder("msg_oil_pressure"), new StringBuilder("oil_pressure"), ValueStr); + //Console.WriteLine("oil_pressure = {0}", ValueStr); + //CAN_DBCParser.DBC_GetSignalValueStr(DBCHandle, new StringBuilder("msg_speed_can"), new StringBuilder("speed_can"), ValueStr); + //Console.WriteLine("speed_can = {0}", ValueStr); } catch (Exception ex) { diff --git a/CapMachine.Wpf/CapMachine.Wpf.csproj b/CapMachine.Wpf/CapMachine.Wpf.csproj index c969a14..545f52e 100644 --- a/CapMachine.Wpf/CapMachine.Wpf.csproj +++ b/CapMachine.Wpf/CapMachine.Wpf.csproj @@ -1,7 +1,7 @@  - Exe + WinExe net6.0-windows enable enable @@ -84,6 +84,9 @@ + + PreserveNewest + Always diff --git a/CapMachine.Wpf/Models/HighSpeed/CommMsg.cs b/CapMachine.Wpf/Models/HighSpeed/CommMsg.cs new file mode 100644 index 0000000..11779ad --- /dev/null +++ b/CapMachine.Wpf/Models/HighSpeed/CommMsg.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CapMachine.Wpf.Models.HighSpeed +{ + /// + /// 通信数据的消息 + /// + public class CommMsg + { + /// + /// 时间 + /// + public string? Time { get; set; } + + /// + /// 分类 + /// CAN/LIN + /// + public string? Category { get; set; } + + /// + /// Msg名称或者Id + /// 等其他信息 + /// + public string? MsgInfo { get; set; } + + /// + /// 消息数据 + /// + public string? MsgData { get; set; } + } +} diff --git a/CapMachine.Wpf/Models/HighSpeed/HighFragMsg.cs b/CapMachine.Wpf/Models/HighSpeed/HighFragMsg.cs new file mode 100644 index 0000000..5de8c35 --- /dev/null +++ b/CapMachine.Wpf/Models/HighSpeed/HighFragMsg.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CapMachine.Wpf.Models.HighSpeed +{ + /// + /// 高速片段数据 + /// + public class HighFragMsg + { + public HighFragMsg() + { + ListCommMsg = new List(); + } + /// + /// 状态 + /// + public bool State { get; set; } + + /// + /// Index + /// + public int Index { get; set; } + + /// + /// 小时数据 + /// + public List ListCommMsg { get; set; } + } +} diff --git a/CapMachine.Wpf/Models/HighSpeed/HighRecordMsgMap.cs b/CapMachine.Wpf/Models/HighSpeed/HighRecordMsgMap.cs new file mode 100644 index 0000000..c748f31 --- /dev/null +++ b/CapMachine.Wpf/Models/HighSpeed/HighRecordMsgMap.cs @@ -0,0 +1,27 @@ +using CsvHelper.Configuration; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace CapMachine.Wpf.Models.HighSpeed +{ + /// + /// 高速记录的模型Map + /// + public class HighRecordMsgMap : ClassMap + { + /// + /// 实例化函数 + /// + public HighRecordMsgMap() + { + Map(m => m.Time).Name("时间"); + Map(m => m.Category).Name("分类"); + Map(m => m.MsgInfo).Name("消息信息"); + Map(m => m.MsgData).Name("消息"); + } + + } +} diff --git a/CapMachine.Wpf/Services/CanDriveService.cs b/CapMachine.Wpf/Services/CanDriveService.cs index cf83ff2..1c39cb6 100644 --- a/CapMachine.Wpf/Services/CanDriveService.cs +++ b/CapMachine.Wpf/Services/CanDriveService.cs @@ -1,7 +1,11 @@ -using CapMachine.Wpf.CanDrive; +using CapMachine.Model.CANLIN; +using CapMachine.Wpf.CanDrive; +using ImTools; +using Prism.Ioc; using Prism.Mvvm; using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -11,17 +15,64 @@ namespace CapMachine.Wpf.Services /// /// Can驱动服务 /// - public class CanDriveService:BindableBase + public class CanDriveService : BindableBase { - public CanDriveService() + /// + /// 实例化函数 + /// + public CanDriveService(HighSpeedDataService highSpeedDataService,IContainerProvider containerProvider) { - ToomossCanDrive=new ToomossCan(); + ToomossCanDrive = new ToomossCan(containerProvider); + //高速数据服务 + HighSpeedDataService = highSpeedDataService; + //ToomossCanDrive.StartCanDrive(); } /// + /// 图莫斯 CAN Drive /// ToomossCanDrive /// public ToomossCan ToomossCanDrive { get; set; } + + /// + /// Dbc消息集合 + /// 包括读取的实时值和数据 + /// + public ObservableCollection ListCanDbcModel { get; set; } = new ObservableCollection(); + + /// + /// 初始化CAN的配置信息 + /// + public void InitCanConfig(CanLinConfigPro selectedCanLinConfigPro) + { + //赋值配置数据 + SelectedCanLinConfigPro = selectedCanLinConfigPro; + //为DBC实时数据关联配置的名称 + foreach (var item in SelectedCanLinConfigPro.CanLinConfigContents) + { + var FindData = ListCanDbcModel.FindFirst(a => a.SignalName == item.Content); + if (FindData != null) + { + FindData.Name = item.Name; + } + } + } + + /// + /// 开始DBC 配置文件 加载 + /// + /// + public ObservableCollection StartDbc(string Path) + { + ListCanDbcModel = ToomossCanDrive.StartDbc(Path); + return ListCanDbcModel; + } + + /// + /// 当前选中的CanLinConfigPro 程序 + /// + public CanLinConfigPro SelectedCanLinConfigPro { get; set; } + public HighSpeedDataService HighSpeedDataService { get; } } } diff --git a/CapMachine.Wpf/Services/ConfigService.cs b/CapMachine.Wpf/Services/ConfigService.cs index 879556b..e4b549e 100644 --- a/CapMachine.Wpf/Services/ConfigService.cs +++ b/CapMachine.Wpf/Services/ConfigService.cs @@ -21,6 +21,17 @@ namespace CapMachine.Wpf.Services /// public static readonly object CsvFileLock = new object(); + /// + /// 高速 消息数据的 Csv文件锁 + /// 防止同时读取数据 + /// + public static readonly object HighSpeedMsgCsvFileLock = new object(); + + /// + /// 高速数据文件缓存小时数 + /// + public short HighSpeedMsgCsvFileCacheHour { get; set; } = 5; + /// /// 记录周期 /// @@ -36,6 +47,11 @@ namespace CapMachine.Wpf.Services /// public string SaveCsvRootPath { get; set; } = "D:\\TestData"; + /// + /// 高速 消息数据的 SCV保存的根路径 + /// + public string HighSpeedMsgSaveCsvRootPath { get; set; } = "D:\\TestData"; + /// /// 实时曲线数据缓存的时间(秒) /// diff --git a/CapMachine.Wpf/Services/HighSpeedDataService.cs b/CapMachine.Wpf/Services/HighSpeedDataService.cs new file mode 100644 index 0000000..2b99899 --- /dev/null +++ b/CapMachine.Wpf/Services/HighSpeedDataService.cs @@ -0,0 +1,339 @@ +using CapMachine.Wpf.ChannelModel; +using CapMachine.Wpf.Models; +using CapMachine.Wpf.Models.HighSpeed; +using CapMachine.Wpf.PrismEvent; +using CsvHelper.Configuration; +using CsvHelper; +using Prism.Mvvm; +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Channels; +using System.Threading.Tasks; +using System.Timers; +using CapMachine.Core; +using CapMachine.Model; +using System.Security.Cryptography.Xml; +using Prism.Ioc; + +namespace CapMachine.Wpf.Services +{ + /// + /// 高速数据 + /// 通信的数据缓存 + /// + public class HighSpeedDataService : BindableBase + { + public HighSpeedDataService(ConfigService configService, ILogService logService, IFreeSql FreeSql,IContainerProvider containerProvider) + { + ConfigService = configService; + LogService = logService; + this.FreeSql = FreeSql; + ContainerProvider = containerProvider; + CacheHighFragMsg = new List(); + + //100ms 触发一次 + CycleTimer = new System.Timers.Timer(100); + CycleTimer.Elapsed += CycleAction; + CycleTimer.AutoReset = true; + CycleTimer.Enabled = true; + + //实时数据记录管道数据监听 + Task.Run(() => ListenCycleChannelAction()); + + } + public ConfigService ConfigService { get; } + public ILogService LogService { get; } + public IFreeSql FreeSql { get; } + public IContainerProvider ContainerProvider { get; } + + + /// + /// 时间到 + /// + /// + /// + /// + private void CycleAction(object? sender, ElapsedEventArgs e) + { + if (IsEnable) + { + //本体数据记录 + CycleChannelInfo.Writer.WriteAsync(CurListMsg); + } + } + + /// + /// 添加或者更新消息数据 + /// + public void AppendOrUpdateMsg(CommMsg commMsg) + { + if (!CurListMsg.Exists(a => a.MsgInfo == commMsg.MsgInfo)) + { + //不存在则新增 + CurListMsg.Add(commMsg); + } + else + { + //存在则更新数据 + var Data = CurListMsg.Find(a => a.MsgInfo == commMsg.MsgInfo); + //Data!.MsgInfo = commMsg.MsgInfo; + //Data!.Category = commMsg.Category; + Data!.MsgData = commMsg.MsgData; + Data!.Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); + } + } + + + /// + /// 初始化高速数据 + /// + public void InitHighData() + { + //报文重新清零 + CurListMsg = new List(); + } + + /// + /// 当前的报文消息集合 + /// + private List CurListMsg { get; set; } = new List() + { + new CommMsg() { Category = "CAN2",MsgInfo = "0x000003E3",Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),MsgData = "33 00 00 00 37 00 04 00"}, + new CommMsg() { Category = "CAN1",MsgInfo = "0x000003E3",Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),MsgData = "33 00 00 00 37 00 04 00"}, + new CommMsg() { Category = "CAN2",MsgInfo = "0x000003E3",Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),MsgData = "33 00 00 00 37 00 04 00"}, + new CommMsg() { Category = "CAN3",MsgInfo = "0x000003E3",Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),MsgData = "33 00 00 00 37 00 04 00"}, + new CommMsg() { Category = "CAN4",MsgInfo = "0x000003E3",Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),MsgData = "33 00 00 00 37 00 04 00"}, + new CommMsg() { Category = "CAN5",MsgInfo = "0x000003E3",Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"),MsgData = "33 00 00 00 37 00 04 00"}, + }; + + /// + /// 周期定时器 + /// + private System.Timers.Timer CycleTimer { get; set; } + + + private bool _IsEnable=true; + /// + /// 是否启用 + /// + public bool IsEnable + { + get { return _IsEnable; } + set { _IsEnable = value; RaisePropertyChanged(); } + } + + + #region 队列的操作 + + /// + /// 缓存数据 + /// + public List CacheHighFragMsg { get; set; } + + + /// + /// 队列通道 + /// 当前队列消费周期触发的数据记录 + /// + public Channel> CycleChannelInfo = Channel.CreateBounded>(new BoundedChannelOptions(100000) + { + FullMode = BoundedChannelFullMode.DropOldest, //消息满了 等待消费 新的消息不插入 + SingleWriter = false,//允许一次写入多条数据 + SingleReader = true, //一次只能读取一条消息 + + }); + + /// + /// 缓存的集合数据 + /// + public List CacheRecordData { get; set; } = new List(); + + /// + /// 当前缓存的队列信息 + /// 高效的队列数据 + /// + public ConcurrentQueue ConcurrentQueueData { get; set; } = new ConcurrentQueue(); + + + /// + /// 最大的缓存单元数据 + /// 存储超过规定600个缓存数据后进行判断后删除 + /// + private int MaxCacheCellCount { get; set; } = 0; + + /// + /// 数据记录管道监听方法 + /// + /// + private async void ListenCycleChannelAction() + { + while (await CycleChannelInfo.Reader.WaitToReadAsync()) + { + if (CycleChannelInfo.Reader.TryRead(out var CycleChannelData)) + { + ////第一次计时 + //stopwatch.Start(); //启动Stopwatch + + //新增数据 + CacheHighFragMsg.AddRange(CycleChannelData); + MaxCacheCellCount++; + + if (MaxCacheCellCount >= 600) + { + //CSV文件保存 + SaveToCsv(CacheHighFragMsg); + CacheHighFragMsg.Clear(); + MaxCacheCellCount = 0; + } + + //} + + //CacheRecordData.Clear(); + + //Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss:fff")}-{LineName}-保存成功!"); + //} + + + //stopwatch.Stop(); //停止Stopwatch + //Console.WriteLine("保存数据耗时::{0}", stopwatch.Elapsed.TotalSeconds.ToString()); + //stopwatch.Reset(); + } + } + } + + #endregion + + + #region CSV Helper 数据保存CSV + + /// + /// 当前的小时文件信息 + /// + private string CurHourFileName { get; set; } + + /// + /// CSV文件保存根路径 + /// + private string SaveCsvRootPath { get; set; } + + /// + /// Append to the file. + /// + CsvConfiguration CSVconfig { get; set; } = new CsvConfiguration(CultureInfo.CurrentCulture) + { + // Don't write the header again. + HasHeaderRecord = false, + }; + + + /// + /// 保存到CSV文件 + /// + private void SaveToCsv(List CacheData) + { + CurHourFileName = DateTime.Now.ToString("yyyy-MM-dd HH"); + + //年份的文件是否存在 + var FilePath = HighSpeedFileHelper.GetExpFilePath(ConfigService.HighSpeedMsgSaveCsvRootPath, "ConfigService.CurExpInfo.Name"); + if (!Directory.Exists(FilePath)) + { + Directory.CreateDirectory(FilePath); + } + + //文件全部路径信息 + var FileFullInfo = HighSpeedFileHelper.GetHourCSVPath(FilePath, CurHourFileName); + if (!File.Exists(FileFullInfo))//是否存在文件 + { + //新增文件 + lock (ConfigService.HighSpeedMsgCsvFileLock) + { + //新增的文件 + using (var writer = new StreamWriter(FileFullInfo, false, Encoding.UTF8)) + using (var csv = new CsvWriter(writer, CultureInfo.CurrentCulture)) + { + var Result = csv.Context.RegisterClassMap(); + + csv.WriteRecords(CacheData); + } + } + + + //先保存当前的文件信息 + FreeSql.Insert(new HighMsgFileInfo() + { + ExpName = "ConfigService.CurExpInfo.Name", + FileInfo = CurHourFileName, + FilePath = FileFullInfo + }).ExecuteInserted(); + + //删除时间范围之外的文件 + var DeleteInfo = FreeSql.Delete().Where(a => a.CreateTime < DateTime.Now.AddHours(-ConfigService.HighSpeedMsgCsvFileCacheHour)).ExecuteDeleted(); + if (DeleteInfo.Count > 0) + { + //DB删除成功的话,开始删除实体文件 + foreach (var item in DeleteInfo) + { + DeleteFile(item.FilePath); + } + } + } + else//存在文件的话则新增数据 + { + lock (ConfigService.HighSpeedMsgCsvFileLock) + { + //往已有的文件增加数据 + using (var stream = File.Open(FileFullInfo, FileMode.Append, FileAccess.Write, FileShare.ReadWrite)) + //using (var stream = new FileStream(FileFullInfo, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) + using (var writer = new StreamWriter(stream)) + using (var csv = new CsvWriter(writer, CSVconfig)) + { + csv.Context.RegisterClassMap(); + csv.WriteRecords(CacheData); + } + } + + } + } + + + /// + /// 删除文件 + /// + /// + private bool DeleteFile(string FilePath) + { + try + { + if (File.Exists(FilePath)) + { + File.Delete(FilePath); + Console.WriteLine("文件已成功删除"); + return true; + } + else + { + Console.WriteLine("文件不存在"); + return true; + } + } + catch (Exception ex) + { + Console.WriteLine("删除文件时发生错误: " + ex.Message); + return false; + } + + + } + } + + #endregion + + +} + diff --git a/CapMachine.Wpf/ViewModels/CANConfigViewModel.cs b/CapMachine.Wpf/ViewModels/CANConfigViewModel.cs index 867d6dd..6687ee5 100644 --- a/CapMachine.Wpf/ViewModels/CANConfigViewModel.cs +++ b/CapMachine.Wpf/ViewModels/CANConfigViewModel.cs @@ -22,7 +22,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; -using System.Windows.Input; +using System.Windows.Documents; namespace CapMachine.Wpf.ViewModels { @@ -135,8 +135,6 @@ namespace CapMachine.Wpf.ViewModels } - //CanLinConfigPromdCmd - private DelegateCommand _CanLinConfigPromdCmd; /// /// CanConfigPro操作的指令 @@ -254,7 +252,7 @@ namespace CapMachine.Wpf.ViewModels } else { - MessageBox.Show("选中后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("选中后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); } break; @@ -281,7 +279,7 @@ namespace CapMachine.Wpf.ViewModels } else { - MessageBox.Show("选中后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("选中后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); } @@ -289,11 +287,16 @@ namespace CapMachine.Wpf.ViewModels case "Active": if (SelectCanLinConfigPro != null) { + //控件的激活 IsCanConfigProActive = !IsCanConfigProActive; + + //当前使用的CAN 配置信息 + CanDriveService.InitCanConfig(SelectCanLinConfigPro); + } else { - MessageBox.Show("选中后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("选中后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); } break; @@ -385,6 +388,55 @@ namespace CapMachine.Wpf.ViewModels } + private DelegateCommand _CanConfigProGridPreviewMouseLeftButtonDownCmd; + /// + /// CAN 配置程序 选中行之前的数据命令 Preview + /// 防止CAN 打开后没有关闭就开始切换CAN 配置程序信息 + /// 要关闭后再切换 + /// + public DelegateCommand CanConfigProGridPreviewMouseLeftButtonDownCmd + { + set + { + _CanConfigProGridPreviewMouseLeftButtonDownCmd = value; + } + get + { + if (_CanConfigProGridPreviewMouseLeftButtonDownCmd == null) + { + _CanConfigProGridPreviewMouseLeftButtonDownCmd = new DelegateCommand((par) => CanConfigProGridPreviewMouseLeftButtonDownCmdMethod(par)); + } + return _CanConfigProGridPreviewMouseLeftButtonDownCmd; + } + } + /// + /// 防止CAN 打开后没有关闭就开始切换CAN 配置程序信息 + /// 要关闭后再切换 + /// + /// + private void CanConfigProGridPreviewMouseLeftButtonDownCmdMethod(object par) + { + if (par == null) + { + return; + } + if (par is System.Windows.Input.MouseButtonEventArgs) + { + var handler = par as System.Windows.Input.MouseButtonEventArgs; + + if (!CanDriveService.ToomossCanDrive.OpenState) + { + // 防止默认的行选择行为发生 + handler.Handled = false; + } + else + { + System.Windows.MessageBox.Show("关闭CAN连接后再点击切换CAN配置", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); + handler.Handled = true; + } + } + } + #endregion @@ -454,7 +506,7 @@ namespace CapMachine.Wpf.ViewModels } else { - MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); } @@ -464,7 +516,7 @@ namespace CapMachine.Wpf.ViewModels } catch (Exception ex) { - MessageBox.Show("可能未选择信息", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("可能未选择信息", "提示", System.Windows.MessageBoxButton.OKCancel, System.Windows.MessageBoxImage.Hand); } } @@ -504,6 +556,12 @@ namespace CapMachine.Wpf.ViewModels SelectedCanDbcModel = par as CanDbcModel; return; } + + + if ((par as SelectionChangedEventArgs)!.AddedItems[0] == null) + { + return; + } //先判断是否是正确的集合数据,防止DataGrid的数据源刷新导致的触发事件 var Selecteddata = (par as SelectionChangedEventArgs)!.AddedItems[0] as CanDbcModel; @@ -593,8 +651,6 @@ namespace CapMachine.Wpf.ViewModels set { _SelectedCANConfigExdDto = value; RaisePropertyChanged(); } } - - private DelegateCommand _CanOpCmd; /// /// CAN操作的指令 @@ -625,13 +681,22 @@ namespace CapMachine.Wpf.ViewModels case "Open": if (SelectCanLinConfigPro != null && SelectedCANConfigExdDto != null) { - + //打开连接 CanDriveService.ToomossCanDrive.StartCanDrive(); + //CAN DBC配置 有DBC配置的话,则直接加载DBC信息 + if (!string.IsNullOrEmpty(SelectCanLinConfigPro.CANConfigExd.DbcPath)) + { + var DbcData = CanDriveService.StartDbc(SelectedCANConfigExdDto.DbcPath); + + ListCanDbcModel = DbcData; + + } + } else { - MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); } break; @@ -644,7 +709,7 @@ namespace CapMachine.Wpf.ViewModels } else { - MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); } break; @@ -666,16 +731,28 @@ namespace CapMachine.Wpf.ViewModels } else { - MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); } - - break; case "Parse": if (SelectCanLinConfigPro != null && SelectedCANConfigExdDto != null) { + //打开之后连接 + if (CanDriveService.ToomossCanDrive.OpenState) + { + //CAN DBC配置 有DBC配置的话,则加载DBC信息 + if (!string.IsNullOrEmpty(SelectedCANConfigExdDto.DbcPath)) + { + var DbcData = CanDriveService.StartDbc(SelectedCANConfigExdDto.DbcPath); + ListCanDbcModel = DbcData; + } + else + { + System.Windows.MessageBox.Show("请选择DBC文件后再操作", "提示", System.Windows.MessageBoxButton.OKCancel, System.Windows.MessageBoxImage.Hand); + } + } // ListCanDbcModel = new ObservableCollection() //{ // new CanDbcModel(){ MsgName="DSDF1",SignalName="FASDFA11",Publisher="DFAD1",SignalDesc="ASDFASD1"}, @@ -687,20 +764,11 @@ namespace CapMachine.Wpf.ViewModels // return; - if (!string.IsNullOrEmpty(SelectedCANConfigExdDto.DbcPath)) - { - CanDriveService.ToomossCanDrive.StartDbc(SelectedCANConfigExdDto.DbcPath); - ListCanDbcModel = CanDriveService.ToomossCanDrive.ListCanDbcModel; - } - else - { - MessageBox.Show("请选择DBC文件后再操作", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Hand); - } } else { - MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); } @@ -720,7 +788,13 @@ namespace CapMachine.Wpf.ViewModels CanDriveService.ToomossCanDrive.IsCycleRevice = true; CanDriveService.ToomossCanDrive.StartCycleReviceCanMsg(); + //Listen + break; + case "Listen": + CanDriveService.ToomossCanDrive.IsCycleRevice = true; + CanDriveService.ToomossCanDrive.StartCycleReviceCanMsg(); + //Listen break; default: break; @@ -731,7 +805,7 @@ namespace CapMachine.Wpf.ViewModels #region 写入和读取操作 - + private ObservableCollection _WriteNameCbxItems; /// /// 写入的Name @@ -849,7 +923,7 @@ namespace CapMachine.Wpf.ViewModels { if (SelectCanLinConfigPro == null) { - MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); return; } @@ -895,7 +969,7 @@ namespace CapMachine.Wpf.ViewModels } else { - MessageBox.Show("请选中后再进行【删除】操作?", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("请选中后再进行【删除】操作?", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); } break; @@ -984,7 +1058,7 @@ namespace CapMachine.Wpf.ViewModels { if (SelectCanLinConfigPro == null) { - MessageBox.Show("新建CAN配置名称后再操作", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("新建CAN配置名称后再操作", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); return; } @@ -1029,7 +1103,7 @@ namespace CapMachine.Wpf.ViewModels } else { - MessageBox.Show("请选中后再进行【删除】操作?", "提示", MessageBoxButton.OK, MessageBoxImage.Hand); + System.Windows.MessageBox.Show("请选中后再进行【删除】操作?", "提示", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Hand); } break; diff --git a/CapMachine.Wpf/Views/CANConfigView.xaml b/CapMachine.Wpf/Views/CANConfigView.xaml index 1143d03..a26c91a 100644 --- a/CapMachine.Wpf/Views/CANConfigView.xaml +++ b/CapMachine.Wpf/Views/CANConfigView.xaml @@ -71,9 +71,9 @@ - + - + @@ -87,7 +87,10 @@ Background="{DynamicResource MaterialDesignLightBackground}" Foreground="{DynamicResource PrimaryHueLightForegroundBrush}" UniformCornerRadius="5"> - +