CAN 变化更改和物性的更改
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using CapMachine.Wpf.Dtos;
|
||||
using CapMachine.Wpf.Dtos;
|
||||
|
||||
namespace CapMachine.Wpf.CanDrive
|
||||
{
|
||||
@@ -41,7 +41,10 @@ namespace CapMachine.Wpf.CanDrive
|
||||
if (_SignalCmdValue != value)
|
||||
{
|
||||
_SignalCmdValue = value;
|
||||
CanCmdDataChangedHandler!.BeginInvoke(this, MsgName!, null, null);
|
||||
if (CanCmdDataChangedHandler != null)
|
||||
{
|
||||
CanCmdDataChangedHandler!.Invoke(this, MsgName!);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -542,6 +542,7 @@ namespace CapMachine.Wpf.CanDrive
|
||||
|
||||
/// <summary>
|
||||
/// 加载要发送的数据
|
||||
/// 一般是激活后才注册事件
|
||||
/// </summary>
|
||||
/// <param name="cmdData"></param>
|
||||
public void LoadCmdDataToDrive(List<CanCmdData> cmdData)
|
||||
@@ -557,7 +558,7 @@ namespace CapMachine.Wpf.CanDrive
|
||||
|
||||
// Set the new data and subscribe to events
|
||||
CmdData = cmdData;
|
||||
foreach (var cmd in CmdData)
|
||||
foreach (var cmd in cmdData)
|
||||
{
|
||||
cmd.CanCmdDataChangedHandler += CmdData_CanCmdDataChangedHandler;
|
||||
}
|
||||
@@ -589,6 +590,7 @@ namespace CapMachine.Wpf.CanDrive
|
||||
try
|
||||
{
|
||||
if (!IsCycleSend) return;
|
||||
if (!SchEnable) return;
|
||||
|
||||
// 基础防御:确保 DBC/ 调度表 / 分组已经初始化
|
||||
if (DBCHandle == 0 || SchCanMsg == null || GroupMsg == null)
|
||||
@@ -651,6 +653,7 @@ namespace CapMachine.Wpf.CanDrive
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 循环发送数据
|
||||
/// </summary>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net6.0-windows</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
|
||||
@@ -776,6 +776,18 @@ namespace CapMachine.Wpf.LinDrive
|
||||
{
|
||||
if (CmdData.Count() == 0) return;
|
||||
|
||||
//设置调度表发送次数
|
||||
var SetSchRunTimeRet = USB2LIN_EX.LIN_EX_MasterSetSchRunTimes(DevHandle, LINIndex, 0xFFFFFFFF);//次数为0xFFFFFFFF表示一直发送数据
|
||||
if (SetSchRunTimeRet < USB2LIN_EX.LIN_EX_SUCCESS)
|
||||
{
|
||||
Console.WriteLine("Set Master Run Times failed!");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine("Set Master Run Times success!");
|
||||
}
|
||||
|
||||
//防止有多个不同的消息名称/帧,每个帧单独处理发送
|
||||
var GroupMsg = CmdData.GroupBy(x => x.MsgName);
|
||||
foreach (var itemMsg in GroupMsg)
|
||||
@@ -803,7 +815,6 @@ namespace CapMachine.Wpf.LinDrive
|
||||
}
|
||||
}
|
||||
|
||||
LDFParser.LDF_ExeSchToBus(LDFHandle, new StringBuilder(itemMsg.Key), 1);
|
||||
LDFParser.LDF_SetSchToTable(LDFHandle, new StringBuilder(itemMsg.Key), 1);
|
||||
}
|
||||
|
||||
@@ -859,7 +870,7 @@ namespace CapMachine.Wpf.LinDrive
|
||||
LDFParser.LDF_SetSchToTable(LDFHandle, new StringBuilder(itemMsg.Key), 1);
|
||||
}
|
||||
|
||||
|
||||
IsSendOk = true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace CapMachine.Wpf.LinDrive
|
||||
{
|
||||
@@ -95,7 +90,12 @@ namespace CapMachine.Wpf.LinDrive
|
||||
public static extern Int32 LIN_EX_MasterStopSch(Int32 DevHandle, Byte LINIndex);
|
||||
[DllImport("USB2XXX.dll")]
|
||||
public static extern Int32 LIN_EX_MasterGetSch(Int32 DevHandle, Byte LINIndex, IntPtr pLINMsg);
|
||||
|
||||
[DllImport("USB2XXX.dll")]
|
||||
public static extern Int32 LIN_EX_MasterSetSchRunTimes(Int32 DevHandle, Byte LINIndex, UInt32 RunTimes);
|
||||
[DllImport("USB2XXX.dll")]
|
||||
public static extern Int64 LIN_EX_GetStartTime(Int32 DevHandle, Byte LINIndex);
|
||||
[DllImport("USB2XXX.dll")]
|
||||
public static extern Int32 LIN_EX_ResetStartTime(Int32 DevHandle, Byte LINIndex);
|
||||
[DllImport("USB2XXX.dll")]
|
||||
public static extern Int32 LIN_EX_MasterOfflineSch(Int32 DevHandle, Byte LINIndex, Int32 BaudRate, LIN_EX_MSG[] pLINMsg, Int32 MsgLen);
|
||||
[DllImport("USB2XXX.dll")]
|
||||
|
||||
@@ -314,7 +314,7 @@ namespace CapMachine.Wpf.Services
|
||||
if (CmdData.Count > 0)
|
||||
{
|
||||
//把指令数据赋值给CAN 驱动
|
||||
ToomossCanDrive.LoadCmdDataToDrive(CmdData);
|
||||
ToomossCanDrive.CmdData = CmdData;
|
||||
|
||||
if (ToomossCanDrive.SchEnable)
|
||||
{
|
||||
@@ -337,7 +337,7 @@ namespace CapMachine.Wpf.Services
|
||||
}
|
||||
ToomossCanDrive.ListCANScheduleConfig = ListCANScheduleConfig!;
|
||||
ToomossCanDrive.StartSchedule();
|
||||
ToomossCanDrive.StartCycleUpdateCmd();
|
||||
//ToomossCanDrive.StartCycleUpdateCmd();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -1,19 +1,11 @@
|
||||
using CapMachine.Core;
|
||||
using CapMachine.Shared.Controls;
|
||||
using CapMachine.Wpf.Models.PPCalc;
|
||||
using CapMachine.Wpf.Models.Tag;
|
||||
using CapMachine.Wpf.PPCalculation;
|
||||
using NLog;
|
||||
using Prism.Events;
|
||||
using Prism.Mvvm;
|
||||
using Prism.Services.Dialogs;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using NLog;
|
||||
|
||||
namespace CapMachine.Wpf.Services
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using AutoMapper;
|
||||
using AutoMapper;
|
||||
using CapMachine.Core;
|
||||
using CapMachine.Model;
|
||||
using CapMachine.Model.CANLIN;
|
||||
@@ -489,6 +489,7 @@ namespace CapMachine.Wpf.ViewModels
|
||||
CanDriveService.InitCanConfig(SelectCanLinConfigPro);
|
||||
|
||||
InitLoadCanConfigPro();
|
||||
CanDriveService.ToomossCanDrive.LoadCmdDataToDrive(CanDriveService.CmdData);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user