速度的拓展参数对应
This commit is contained in:
@@ -104,6 +104,11 @@ namespace CapMachine.Wpf.Services
|
||||
/// </summary>
|
||||
public List<PlcLoadConfigCell> ListPlcLoadConfigCell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// PLC加载配置拓展数据集合
|
||||
/// </summary>
|
||||
public List<PlcExdConfigCell> ListPlcExdConfigCell { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标签管理中心
|
||||
/// </summary>
|
||||
@@ -2225,6 +2230,14 @@ namespace CapMachine.Wpf.Services
|
||||
new HandSwitchData(){Name="使能",ActionAddress="M2.7",StateAddress="V15.1" },
|
||||
};
|
||||
|
||||
ListPlcExdConfigCell = new List<PlcExdConfigCell>()
|
||||
{
|
||||
new PlcExdConfigCell(){ Name="输出锁定",Address="VW482",Precision=1},
|
||||
new PlcExdConfigCell(){ Name="吸排气阀",Address="VW490",Precision=1},
|
||||
new PlcExdConfigCell(){ Name="EV",Address="VW492",Precision=1},
|
||||
new PlcExdConfigCell(){ Name="压缩机使能",Address="VW484",Precision=1},
|
||||
new PlcExdConfigCell(){ Name="PTC使能",Address="VW486",Precision=1},
|
||||
};
|
||||
|
||||
|
||||
//TagManger.ListTag[0].Name = "new TestType() { byteValue=12}";
|
||||
@@ -2434,7 +2447,6 @@ namespace CapMachine.Wpf.Services
|
||||
{
|
||||
var IPInfo = ConfigHelper.GetValue("PLCIP");
|
||||
|
||||
|
||||
SiemensDrive = new SiemensS7Net(SiemensPLCS.S200Smart, IPInfo);
|
||||
// 连接对象
|
||||
OperateResult connect = SiemensDrive.ConnectServer();
|
||||
@@ -2543,7 +2555,7 @@ namespace CapMachine.Wpf.Services
|
||||
|
||||
await Task.Delay(20);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
try
|
||||
@@ -2674,7 +2686,7 @@ namespace CapMachine.Wpf.Services
|
||||
//地址为空的话则下一个
|
||||
if (string.IsNullOrEmpty(mVModel!.Address)) continue;
|
||||
//给MvModel的原始属性赋值 MV是0-100 % 有标准的转换格式
|
||||
mVModel!.EngValue = SiemensDrive.ByteTransform.TransInt16(OperateResultBlockMVRead.Content, mVModel.BlockIndex)*1.0/10;
|
||||
mVModel!.EngValue = SiemensDrive.ByteTransform.TransInt16(OperateResultBlockMVRead.Content, mVModel.BlockIndex) * 1.0 / 10;
|
||||
}
|
||||
|
||||
//MV 手自动切换 只有控制才有MVAM控制
|
||||
@@ -2879,17 +2891,24 @@ namespace CapMachine.Wpf.Services
|
||||
SendSpeedSvToCap(ProRunChannelData.SV);
|
||||
|
||||
//Pid
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Pid_PAddress))
|
||||
{
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
}
|
||||
|
||||
//Limit
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Limit_UpAddress))
|
||||
{
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case RunStepType.StepPID:
|
||||
@@ -2900,13 +2919,17 @@ namespace CapMachine.Wpf.Services
|
||||
if (!SvResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:SV写入失败");
|
||||
//速度SV到压缩机
|
||||
SendSpeedSvToCap(ProRunChannelData.SV);
|
||||
|
||||
//Pid
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Pid_PAddress))
|
||||
{
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case RunStepType.StepLimit:
|
||||
@@ -2919,10 +2942,14 @@ namespace CapMachine.Wpf.Services
|
||||
SendSpeedSvToCap(ProRunChannelData.SV);
|
||||
|
||||
//Limit
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Limit_UpAddress))
|
||||
{
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case RunStepType.StepSV:
|
||||
@@ -2939,40 +2966,57 @@ namespace CapMachine.Wpf.Services
|
||||
case RunStepType.LimitPid:
|
||||
{
|
||||
var CurMeterInfo = ListPlcLoadConfigCell.FirstOrDefault(a => a.Name!.Contains(ProRunChannelData.MeterName!));
|
||||
|
||||
//Pid
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Pid_PAddress))
|
||||
{
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
}
|
||||
|
||||
//Limit
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Limit_UpAddress))
|
||||
{
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case RunStepType.Pid:
|
||||
{
|
||||
var CurMeterInfo = ListPlcLoadConfigCell.FirstOrDefault(a => a.Name!.Contains(ProRunChannelData.MeterName!));
|
||||
//Pid
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Pid_PAddress))
|
||||
{
|
||||
var Pid_PResult = SiemensDrive.Write(CurMeterInfo.Pid_PAddress, (short)ProRunChannelData.CurLoadPID!.P);
|
||||
if (!Pid_PResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-P写入失败");
|
||||
var Pid_IResult = SiemensDrive.Write(CurMeterInfo.Pid_IAddress, (short)ProRunChannelData.CurLoadPID!.I);
|
||||
if (!Pid_IResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-I写入失败");
|
||||
var Pid_DResult = SiemensDrive.Write(CurMeterInfo.Pid_DAddress, (short)ProRunChannelData.CurLoadPID!.D);
|
||||
if (!Pid_DResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:PID-D写入失败");
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case RunStepType.Limit:
|
||||
{
|
||||
var CurMeterInfo = ListPlcLoadConfigCell.FirstOrDefault(a => a.Name!.Contains(ProRunChannelData.MeterName!));
|
||||
//Limit
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
if (!string.IsNullOrEmpty(CurMeterInfo.Limit_UpAddress))
|
||||
{
|
||||
var Limit_UpResult = SiemensDrive.Write(CurMeterInfo.Limit_UpAddress, (short)ProRunChannelData.CurLoadLimit!.Up);
|
||||
if (!Limit_UpResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Up写入失败");
|
||||
var Limit_DownResult = SiemensDrive.Write(CurMeterInfo.Limit_DownAddress, (short)ProRunChannelData.CurLoadLimit!.Down);
|
||||
if (!Limit_DownResult.IsSuccess) Console.WriteLine($"{ProRunChannelData.MeterName}:Limit_Down写入失败");
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case RunStepType.SlopCell:
|
||||
@@ -2990,6 +3034,33 @@ namespace CapMachine.Wpf.Services
|
||||
break;
|
||||
}
|
||||
|
||||
//拓展参数
|
||||
if (ProRunChannelData.ListStepExd != null && ProRunChannelData.ListStepExd.Count() > 0)
|
||||
{
|
||||
foreach (var itemStepExd in ProRunChannelData.ListStepExd)
|
||||
{
|
||||
var DataAdrees = ListPlcExdConfigCell.FirstOrDefault(a => a.Name == itemStepExd.Name);
|
||||
if (DataAdrees != null)
|
||||
{
|
||||
switch (itemStepExd.ValueType)
|
||||
{
|
||||
case ExdValueType.Bool:
|
||||
SiemensDrive.Write(DataAdrees.Address, (bool)itemStepExd.Value == true ? 1 : 0);
|
||||
break;
|
||||
case ExdValueType.Short:
|
||||
SiemensDrive.Write(DataAdrees.Address, (short)itemStepExd.Value);
|
||||
break;
|
||||
case ExdValueType.Double:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (ProRunChannelData.RunStepType == RunStepType.SlopCell)
|
||||
{
|
||||
//SiemensDrive.Write("D1", (short)ProRunChannelData.SV);
|
||||
|
||||
Reference in New Issue
Block a user