更新
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>net6.0-windows</TargetFramework>
|
<TargetFramework>net6.0-windows</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ using HslCommunication.Profinet.Siemens;
|
|||||||
using MathNet.Numerics;
|
using MathNet.Numerics;
|
||||||
using Prism.Events;
|
using Prism.Events;
|
||||||
using Prism.Mvvm;
|
using Prism.Mvvm;
|
||||||
|
using SharpDX;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Concurrent;
|
using System.Collections.Concurrent;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -834,8 +835,8 @@ namespace CapMachine.Wpf.Services
|
|||||||
Precision = 1,
|
Precision = 1,
|
||||||
Unit = "W",
|
Unit = "W",
|
||||||
DataType = TagDataType.Short,
|
DataType = TagDataType.Short,
|
||||||
PVModel = new MeterValueAttrCell() { Address = "VW14022", EngValue = 0, EngValueStr = "", Block = "PV", BlockIndex = 334 },
|
PVModel = new MeterValueAttrCell() { Address = "VW434", EngValue = 0, EngValueStr = "", Block = "PV", BlockIndex = 334 },
|
||||||
SVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "SV", BlockIndex = 34 },
|
SVModel = new MeterValueAttrCell() { Address = "VW434", EngValue = 0, EngValueStr = "", Block = "SV", BlockIndex = 34 },
|
||||||
MVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "MV", BlockIndex = 1, Enable = false },
|
MVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "MV", BlockIndex = 1, Enable = false },
|
||||||
MVAutoHandModel = new MvAmAttrCell() { Address = "", EngValueStr = "", Block = "MVAM", BlockIndex = 1, Enable = false },
|
MVAutoHandModel = new MvAmAttrCell() { Address = "", EngValueStr = "", Block = "MVAM", BlockIndex = 1, Enable = false },
|
||||||
|
|
||||||
@@ -866,8 +867,8 @@ namespace CapMachine.Wpf.Services
|
|||||||
Precision = 1,
|
Precision = 1,
|
||||||
Unit = "W",
|
Unit = "W",
|
||||||
DataType = TagDataType.Short,
|
DataType = TagDataType.Short,
|
||||||
PVModel = new MeterValueAttrCell() { Address = "VW14026", EngValue = 0, EngValueStr = "", Block = "PV", BlockIndex = 334 },
|
PVModel = new MeterValueAttrCell() { Address = "VW148", EngValue = 0, EngValueStr = "", Block = "PV", BlockIndex = 48 },
|
||||||
SVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "SV", BlockIndex = 34 },
|
SVModel = new MeterValueAttrCell() { Address = "VW446", EngValue = 0, EngValueStr = "", Block = "SV", BlockIndex = 46 },
|
||||||
MVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "MV", BlockIndex = 1, Enable = false },
|
MVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "MV", BlockIndex = 1, Enable = false },
|
||||||
MVAutoHandModel = new MvAmAttrCell() { Address = "", EngValueStr = "", Block = "MVAM", BlockIndex = 1, Enable = false },
|
MVAutoHandModel = new MvAmAttrCell() { Address = "", EngValueStr = "", Block = "MVAM", BlockIndex = 1, Enable = false },
|
||||||
|
|
||||||
@@ -897,8 +898,8 @@ namespace CapMachine.Wpf.Services
|
|||||||
Precision = 1,
|
Precision = 1,
|
||||||
Unit = "W",
|
Unit = "W",
|
||||||
DataType = TagDataType.Short,
|
DataType = TagDataType.Short,
|
||||||
PVModel = new MeterValueAttrCell() { Address = "VW14024", EngValue = 0, EngValueStr = "", Block = "PV", BlockIndex = 334 },
|
PVModel = new MeterValueAttrCell() { Address = "VW150", EngValue = 0, EngValueStr = "", Block = "PV", BlockIndex = 50 },
|
||||||
SVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "SV", BlockIndex = 34 },
|
SVModel = new MeterValueAttrCell() { Address = "VW448", EngValue = 0, EngValueStr = "", Block = "SV", BlockIndex = 48 },
|
||||||
MVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "MV", BlockIndex = 1, Enable = false },
|
MVModel = new MeterValueAttrCell() { Address = "", EngValue = 0, EngValueStr = "", Block = "MV", BlockIndex = 1, Enable = false },
|
||||||
MVAutoHandModel = new MvAmAttrCell() { Address = "", EngValueStr = "", Block = "MVAM", BlockIndex = 1, Enable = false },
|
MVAutoHandModel = new MvAmAttrCell() { Address = "", EngValueStr = "", Block = "MVAM", BlockIndex = 1, Enable = false },
|
||||||
|
|
||||||
@@ -3003,29 +3004,52 @@ namespace CapMachine.Wpf.Services
|
|||||||
{
|
{
|
||||||
while (ProRunChannel.Reader.TryRead(out var ProRunChannelData))
|
while (ProRunChannel.Reader.TryRead(out var ProRunChannelData))
|
||||||
{
|
{
|
||||||
|
//特殊的标记,特别的执行-这些步骤是直接发送给压缩机,不需要经过PLC和仪表控制
|
||||||
if (ProRunChannelData.ProExFlag != ProExFlag.None)
|
if (ProRunChannelData.ProExFlag != ProExFlag.None)
|
||||||
{
|
{
|
||||||
switch (ProRunChannelData.ProExFlag)
|
switch (ProRunChannelData.ProExFlag)
|
||||||
{
|
{
|
||||||
case ProExFlag.CapSpeed:
|
case ProExFlag.CapSpeed:
|
||||||
SendSpeedSvToCap(ProRunChannelData.SV);
|
SendSpeedSvToCap(ProRunChannelData.SV);
|
||||||
|
Console.WriteLine($"{ProRunChannelData.MeterName} 转速的值------------:{ProRunChannelData.SV}");
|
||||||
break;
|
break;
|
||||||
case ProExFlag.CapPTCPw:
|
case ProExFlag.CapPTCPw:
|
||||||
SendPTCPwSvToCap(ProRunChannelData.SV);
|
SendPTCPwSvToCap(ProRunChannelData.SV);
|
||||||
break;
|
var CurMeterCapPTCPwInfo = ListPlcLoadConfigCell.FirstOrDefault(a => a.Name!.Contains(ProRunChannelData.MeterName!));
|
||||||
|
//Sv
|
||||||
|
var SvCapPTCPwResult = SiemensDrive.Write(CurMeterCapPTCPwInfo!.SvAddress, (short)ProRunChannelData.SV!);
|
||||||
|
if (!SvCapPTCPwResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:SV写入失败");
|
||||||
|
Console.WriteLine($"{ProRunChannelData.MeterName} PTC的值------------:{ProRunChannelData.SV}");
|
||||||
|
continue;//确认是压缩机PTC 控制变量的话,直接给压缩机后就不需要执行后面的步骤了
|
||||||
case ProExFlag.CapPTCPw2:
|
case ProExFlag.CapPTCPw2:
|
||||||
SendPTCPwSv2ToCap(ProRunChannelData.SV);
|
SendPTCPwSv2ToCap(ProRunChannelData.SV);
|
||||||
break;
|
var CurMeterCapPTCPw2Info = ListPlcLoadConfigCell.FirstOrDefault(a => a.Name!.Contains(ProRunChannelData.MeterName!));
|
||||||
|
//Sv
|
||||||
|
var SvCapPTCPw2Result = SiemensDrive.Write(CurMeterCapPTCPw2Info!.SvAddress, (short)ProRunChannelData.SV!);
|
||||||
|
if (!SvCapPTCPw2Result.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:SV写入失败");
|
||||||
|
Console.WriteLine($"{ProRunChannelData.MeterName} PTC的值------------:{ProRunChannelData.SV}");
|
||||||
|
continue;//确认是压缩机PTC 控制变量的话,直接给压缩机后就不需要执行后面的步骤了
|
||||||
case ProExFlag.CapPTCWaterTemp:
|
case ProExFlag.CapPTCWaterTemp:
|
||||||
SendPTCWaterTempToCap(ProRunChannelData.SV);
|
SendPTCWaterTempToCap(ProRunChannelData.SV);
|
||||||
break;
|
var CurMeterCapPTCWaterTempInfo = ListPlcLoadConfigCell.FirstOrDefault(a => a.Name!.Contains(ProRunChannelData.MeterName!));
|
||||||
|
//Sv
|
||||||
|
var SvCapPTCWaterTempResult = SiemensDrive.Write(CurMeterCapPTCWaterTempInfo!.SvAddress, (short)ProRunChannelData.SV!);
|
||||||
|
if (!SvCapPTCWaterTempResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:SV写入失败");
|
||||||
|
Console.WriteLine($"{ProRunChannelData.MeterName} PTC的值------------:{ProRunChannelData.SV}");
|
||||||
|
continue;//确认是压缩机PTC 控制变量的话,直接给压缩机后就不需要执行后面的步骤了
|
||||||
case ProExFlag.CapPTCWaterFlow:
|
case ProExFlag.CapPTCWaterFlow:
|
||||||
SendPTCWaterFlowToCap(ProRunChannelData.SV);
|
SendPTCWaterFlowToCap(ProRunChannelData.SV);
|
||||||
break;
|
var CurMeterCapPTCWaterFlowInfo = ListPlcLoadConfigCell.FirstOrDefault(a => a.Name!.Contains(ProRunChannelData.MeterName!));
|
||||||
|
//Sv
|
||||||
|
var SvCapPTCWaterFlowResult = SiemensDrive.Write(CurMeterCapPTCWaterFlowInfo!.SvAddress, (short)ProRunChannelData.SV!);
|
||||||
|
if (!SvCapPTCWaterFlowResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:SV写入失败");
|
||||||
|
Console.WriteLine($"{ProRunChannelData.MeterName} PTC的值------------:{ProRunChannelData.SV}");
|
||||||
|
continue;//确认是压缩机PTC 控制变量的话,直接给压缩机后就不需要执行后面的步骤了
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
continue;
|
|
||||||
|
//continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
////第一次计时
|
////第一次计时
|
||||||
@@ -3221,16 +3245,18 @@ namespace CapMachine.Wpf.Services
|
|||||||
//压缩机PTC使能的参数直接给压缩机触发
|
//压缩机PTC使能的参数直接给压缩机触发
|
||||||
if (itemStepExd.Name!.Contains("PTC使能"))
|
if (itemStepExd.Name!.Contains("PTC使能"))
|
||||||
{
|
{
|
||||||
|
Console.WriteLine($"{ProRunChannelData.MeterName} PTC使能的值------------:{ProRunChannelData.SV}");
|
||||||
|
|
||||||
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
switch (ConfigService.CanLinRunStateModel.CurSysSelectedCanLin)
|
||||||
{
|
{
|
||||||
case CanLinEnum.Can:
|
case CanLinEnum.Can:
|
||||||
CanDriveService.UpdateCapEnableCmdData((bool)itemStepExd.Value!);
|
CanDriveService.UpdateCapPTCEnableCmdData((bool)itemStepExd.Value!);
|
||||||
break;
|
break;
|
||||||
case CanLinEnum.CANFD:
|
case CanLinEnum.CANFD:
|
||||||
CanFdDriveService.UpdateCapEnableCmdData((bool)itemStepExd.Value!);
|
CanFdDriveService.UpdateCapPTCEnableCmdData((bool)itemStepExd.Value!);
|
||||||
break;
|
break;
|
||||||
case CanLinEnum.Lin:
|
case CanLinEnum.Lin:
|
||||||
LinDriveService.UpdateCapEnableCmdData((bool)itemStepExd.Value!);
|
//LinDriveService.UpdateCapPTCEnableCmdData((bool)itemStepExd.Value!);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -3238,6 +3264,8 @@ namespace CapMachine.Wpf.Services
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region PTC 压缩机作为拓展参数时使用方法 目前被弃用
|
||||||
|
|
||||||
////压缩机PTC功率1的参数直接给压缩机触发
|
////压缩机PTC功率1的参数直接给压缩机触发
|
||||||
//if (itemStepExd.Name!.Contains("PTC功率1"))
|
//if (itemStepExd.Name!.Contains("PTC功率1"))
|
||||||
//{
|
//{
|
||||||
@@ -3322,6 +3350,9 @@ namespace CapMachine.Wpf.Services
|
|||||||
// //continue;
|
// //continue;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
var DataAdrees = ListPlcExdConfigCell.FirstOrDefault(a => a.Name == itemStepExd.Name);
|
var DataAdrees = ListPlcExdConfigCell.FirstOrDefault(a => a.Name == itemStepExd.Name);
|
||||||
if (DataAdrees != null)
|
if (DataAdrees != null)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ namespace CapMachine.Wpf.ViewModels
|
|||||||
|
|
||||||
new CbxItems(){ Key="PTC使能",Text="PTC使能"},
|
new CbxItems(){ Key="PTC使能",Text="PTC使能"},
|
||||||
new CbxItems(){ Key="PTC功率",Text="PTC功率"},
|
new CbxItems(){ Key="PTC功率",Text="PTC功率"},
|
||||||
|
new CbxItems(){ Key="PTC功率2",Text="PTC功率2"},
|
||||||
new CbxItems(){ Key="PTC水流量",Text="PTC水流量"},
|
new CbxItems(){ Key="PTC水流量",Text="PTC水流量"},
|
||||||
new CbxItems(){ Key="PTC水温",Text="PTC水温"},
|
new CbxItems(){ Key="PTC水温",Text="PTC水温"},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -107,6 +107,7 @@ namespace CapMachine.Wpf.ViewModels
|
|||||||
|
|
||||||
new CbxItems(){ Key="PTC使能",Text="PTC使能"},
|
new CbxItems(){ Key="PTC使能",Text="PTC使能"},
|
||||||
new CbxItems(){ Key="PTC功率",Text="PTC功率"},
|
new CbxItems(){ Key="PTC功率",Text="PTC功率"},
|
||||||
|
new CbxItems(){ Key="PTC功率2",Text="PTC功率2"},
|
||||||
new CbxItems(){ Key="PTC水流量",Text="PTC水流量"},
|
new CbxItems(){ Key="PTC水流量",Text="PTC水流量"},
|
||||||
new CbxItems(){ Key="PTC水温",Text="PTC水温"},
|
new CbxItems(){ Key="PTC水温",Text="PTC水温"},
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user