Commit 1342cdd2 authored by 潘栩锋's avatar 潘栩锋 🚴

添加 IBC添加V3

parent 1a3f592f
......@@ -35,39 +35,39 @@
<ColumnDefinition Width="auto" />
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Width="150" Background="{StaticResource Color_theme_activity}" Margin="0,5,5,5" >
<Border Style="{StaticResource BorderStyle_paramSection}" >
<TextBlock Style="{StaticResource TextBlockStyle_ItemHeader}" Text="区间1" />
</Border>
<StackPanel Grid.Column="1" Orientation="Vertical">
<StackPanel Grid.Column="1" >
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="区间1设置" />
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="区间1设置" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Area1Set}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Area1Set}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="P" FontFamily="Arial" />
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="P" FontFamily="Arial" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Area1P}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Area1P}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="I" FontFamily="Arial"/>
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="I" FontFamily="Arial"/>
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Area1I}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Area1I}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="D" FontFamily="Arial"/>
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="D" FontFamily="Arial"/>
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Area1D}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Area1D}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="DI" FontFamily="Arial"/>
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="DI" FontFamily="Arial"/>
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Area1I}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Area1DI}" />
</StackPanel>
</StackPanel>
</StackPanel>
......@@ -75,36 +75,36 @@
</Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition/>
<ColumnDefinition Width="31*" />
<ColumnDefinition Width="159*"/>
</Grid.ColumnDefinitions>
<Border Width="150" Background="{StaticResource Color_theme_activity}" Margin="0,5,5,5" >
<Border Style="{StaticResource BorderStyle_paramSection}">
<TextBlock Style="{StaticResource TextBlockStyle_ItemHeader}" Text="区间2" />
</Border>
<StackPanel Grid.Column="1" Orientation="Vertical">
<StackPanel Grid.Column="1" >
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="区间2设置" />
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="区间2设置" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Area2Set}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Area2Set}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="P" FontFamily="Arial" />
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="P" FontFamily="Arial" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Area2P}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Area2P}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="I" FontFamily="Arial"/>
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="I" FontFamily="Arial"/>
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Area2I}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Area2I}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="D" FontFamily="Arial"/>
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="D" FontFamily="Arial"/>
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Area2D}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Area2D}" />
</StackPanel>
</StackPanel>
</StackPanel>
......@@ -115,61 +115,79 @@
<ColumnDefinition Width="auto" />
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Width="150" Background="{StaticResource Color_theme_activity}" Margin="0,5,5,5" >
<Border Style="{StaticResource BorderStyle_paramSection}" >
<TextBlock Style="{StaticResource TextBlockStyle_ItemHeader}" Text="基本&#x0a;设置" />
</Border>
<StackPanel Grid.Column="1" Orientation="Vertical">
<StackPanel Grid.Column="1" >
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="采样周期" />
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="采样周期" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding SampleInterval,StringFormat={}{0:F1}}" />
</StackPanel>
</StackPanel>
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="采样时间" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding SampleTime,StringFormat={}{0:F1}}" />
</StackPanel>
</StackPanel>
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="限幅基准" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding LimitAmpBase,StringFormat={}{0:F2}}" />
</StackPanel>
</StackPanel>
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="限幅系数" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding SampleInterval,StringFormat={}{0:F1}}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding LimitAmpFactor,StringFormat={}{0:F2}}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="调节系数" />
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="调节系数" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding AdjustFactor,StringFormat={}{0:F2}}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding AdjustFactor,StringFormat={}{0:F2}}" />
</StackPanel>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="传感器1盲区" />
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="传感器1盲区" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Sensor1DeadZone,StringFormat={}{0:F3}}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Sensor1DeadZone,StringFormat={}{0:F3}}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="传感器2盲区" />
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="传感器2盲区" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Sensor2DeadZone,StringFormat={}{0:F3}}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Sensor2DeadZone,StringFormat={}{0:F3}}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="传感器3盲区" />
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="传感器3盲区" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Sensor3DeadZone,StringFormat={}{0:F3}}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Sensor3DeadZone,StringFormat={}{0:F3}}" />
</StackPanel>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="传感器1系数" />
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="传感器1系数" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Sensor1Factor,StringFormat={}{0:F3}}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Sensor1Factor,StringFormat={}{0:F3}}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="传感器2系数" />
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="传感器2系数" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Sensor2Factor,StringFormat={}{0:F3}}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Sensor2Factor,StringFormat={}{0:F3}}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeaderEditable}" Text="传感器3系数" />
<StackPanel Margin="5" MinWidth="80">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeaderEditable}" Text="传感器3系数" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource ResourceKey=TextBoxStyle_FieldContent}" Text="{Binding Sensor3Factor,StringFormat={}{0:F3}}" />
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" Text="{Binding Sensor3Factor,StringFormat={}{0:F3}}" />
</StackPanel>
</StackPanel>
</StackPanel>
......@@ -180,33 +198,33 @@
<ColumnDefinition Width="auto" />
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Width="150" Background="{StaticResource Color_theme_activity}" Margin="0,5,5,5" >
<Border Style="{StaticResource BorderStyle_paramSection}">
<TextBlock Style="{StaticResource TextBlockStyle_ItemHeader}" Text="状态" />
</Border>
<StackPanel Grid.Column="1" Orientation="Vertical">
<StackPanel Grid.Column="1">
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeader}" Text="PID结果" />
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader}" Text="PID结果" />
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" Text="{Binding PIDResult}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent}" Text="{Binding PIDResult}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeader}" Text="PID调节" />
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader}" Text="PID调节" />
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" Text="{Binding PIDAdjust}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent}" Text="{Binding PIDAdjust}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeader}" Text="进风速度" />
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader}" Text="进风速度" />
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" Text="{Binding InletAirVelocity}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent}" Text="{Binding InletAirVelocity}" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical" Margin="5">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldHeader}" Text="出风速度" />
<StackPanel Margin="5">
<TextBlock Style="{StaticResource TextBlockStyle_FieldHeader}" Text="出风速度" />
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource ResourceKey=TextBlockStyle_FieldContent}" Text="{Binding OutletAirVelocity}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent}" Text="{Binding OutletAirVelocity}" />
</StackPanel>
</StackPanel>
</StackPanel>
......
......@@ -165,6 +165,12 @@ namespace FLY.IBC.Common
[Description("采样周期")]
public float SampleInterval{ get; set; }
/// <summary>
/// 采样时间
/// </summary>
[Description("采样时间")]
public float SampleTime{ get; set; }
/// <summary>
/// 区间1设置
/// </summary>
......@@ -201,6 +207,18 @@ namespace FLY.IBC.Common
[Description("调节系数")]
public float AdjustFactor{ get; set; }
/// <summary>
/// 限幅基准
/// </summary>
[Description("限幅基准")]
public float LimitAmpBase{ get; set; }
/// <summary>
/// 限幅系数
/// </summary>
[Description("限幅系数")]
public float LimitAmpFactor{ get; set; }
/// <summary>
/// PID结果
/// </summary>
......@@ -285,6 +303,12 @@ namespace FLY.IBC.Common
[Description("传感器3系数")]
public float Sensor3Factor{ get; set; }
/// <summary>
/// 报警复位 ↑
/// </summary>
[Description("报警复位 ↑")]
public bool IsErrorReset{ get; set; }
/// <summary>
/// 进风变频故障报警
/// </summary>
......@@ -313,6 +337,20 @@ namespace FLY.IBC.Common
[IsError()]
public bool IsOutletAirCommError{ get; set; }
/// <summary>
/// 外风变频通讯报警
/// </summary>
[Description("外风变频通讯报警")]
[IsError()]
public bool IExAirCommError{ get; set; }
/// <summary>
/// 外风变频故障报警
/// </summary>
[Description("外风变频故障报警")]
[IsError()]
public bool IsExAirMotorError{ get; set; }
#endregion
public event PropertyChangedEventHandler PropertyChanged;
}
......
......@@ -89,7 +89,7 @@ namespace FLY.IBC.Server
"plcgroup.json",
(plcgroup) => new Dictionary<string, INotifyPropertyChanged>
{
{ "Item", Item }
{ nameof(Item), Item }
}
);
......@@ -99,12 +99,22 @@ namespace FLY.IBC.Server
errorConf.AddErrorAction(Item);
errorConf.InitError();
Misc.BindingOperations.SetBinding(this.warning, nameof(this.warning.IsRinging), () =>
{
if (!this.warning.IsRinging)
{
Item.IsErrorReset = false;
Item.IsErrorReset = true;
}
});
//--------------------------------------------------------------------------------
//step 3 历史数据记录
//添加任务
PLCos.SetPlan("Item", new string[] {
"FilmWidth","InletAirFreq","OutletAirFreq"
PLCos.SetPlan(nameof(Item), new string[] {
nameof(Item.FilmWidth),nameof(Item.InletAirFreq),nameof(Item.OutletAirFreq)
}, 0);
psdWidth = new PeriodicallySaveData<Db_Width>();
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Reflection;
using System.Diagnostics;
using System.Windows.Media;
using Misc;
namespace FLY.IBC.Common
{
public class IBCData : INotifyPropertyChanged
{
public IBCData()
{
}
/// <summary>
/// 与PLC连接状态
/// </summary>
public bool IsConnectedWithPLC { get; set; }
#region 辅助代码生成
/// <summary>
/// 进风指示
/// </summary>
[Description("进风指示")]
public bool IsInletAirOn{ get; set; }
/// <summary>
/// 进风运行频率(Hz)(自动调节)
/// </summary>
[Description("进风运行频率(Hz)(自动调节)")]
public float InletAirFreq{ get; set; }
/// <summary>
/// 进风设定频率(Hz)
/// </summary>
[Description("进风设定频率(Hz)")]
public float InletAirFreqSet{ get; set; }
/// <summary>
/// 出风指示
/// </summary>
[Description("出风指示")]
public bool IsOutletAirOn{ get; set; }
/// <summary>
/// 出风运行频率(Hz)
/// </summary>
[Description("出风运行频率(Hz)")]
public float OutletAirFreq{ get; set; }
/// <summary>
/// 出风设定频率(Hz)
/// </summary>
[Description("出风设定频率(Hz)")]
public float OutletAirFreqSet{ get; set; }
/// <summary>
/// 出风设定频率后通知
/// </summary>
[Description("出风设定频率后通知")]
public bool IsOutletAirFreqChanged{ get; set; }
/// <summary>
/// 折径显示(mm)
/// </summary>
[Description("折径显示(mm)")]
public float FilmWidth{ get; set; }
/// <summary>
/// 折径设定(mm)
/// </summary>
[Description("折径设定(mm)")]
public float FilmWidthSet{ get; set; }
/// <summary>
/// 折径设定后通知
/// </summary>
[Description("折径设定后通知")]
public bool IsFilmWidthChanged{ get; set; }
/// <summary>
/// 误差校正
/// </summary>
[Description("误差校正")]
public float ErrorCorrection{ get; set; }
/// <summary>
/// IBC自动
/// </summary>
[Description("IBC自动")]
public bool IsIBCAuto{ get; set; }
/// <summary>
/// 外风指示
/// </summary>
[Description("外风指示")]
public bool IsExAirOn{ get; set; }
/// <summary>
/// 外风运行频率(Hz)
/// </summary>
[Description("外风运行频率(Hz)")]
public float ExAirFreq{ get; set; }
/// <summary>
/// 外风设定频率(Hz)
/// </summary>
[Description("外风设定频率(Hz)")]
public float ExAirFreqSet{ get; set; }
/// <summary>
/// K1
/// </summary>
[Description("K1")]
public float K1{ get; set; }
/// <summary>
/// K2
/// </summary>
[Description("K2")]
public float K2{ get; set; }
/// <summary>
/// K3
/// </summary>
[Description("K3")]
public float K3{ get; set; }
/// <summary>
/// L
/// </summary>
[Description("L")]
public float L{ get; set; }
/// <summary>
/// 膜泡校正A
/// </summary>
[Description("膜泡校正A")]
public float BubbleCorrA{ get; set; }
/// <summary>
/// 膜泡校正B
/// </summary>
[Description("膜泡校正B")]
public float BubbleCorrB{ get; set; }
/// <summary>
/// 膜泡校正C
/// </summary>
[Description("膜泡校正C")]
public float BubbleCorrC{ get; set; }
/// <summary>
/// 膜泡校正R
/// </summary>
[Description("膜泡校正R")]
public float BubbleCorrR{ get; set; }
/// <summary>
/// 采样周期
/// </summary>
[Description("采样周期")]
public float SampleInterval{ get; set; }
/// <summary>
/// 采样时间
/// </summary>
[Description("采样时间")]
public float SampleTime{ get; set; }
/// <summary>
/// 区间1设置
/// </summary>
[Description("区间1设置")]
public float Area1Set{ get; set; }
/// <summary>
/// 区间1P
/// </summary>
[Description("区间1P")]
public float Area1P{ get; set; }
/// <summary>
/// 区间1I
/// </summary>
[Description("区间1I")]
public float Area1I{ get; set; }
/// <summary>
/// 区间1D
/// </summary>
[Description("区间1D")]
public float Area1D{ get; set; }
/// <summary>
/// 区间1DI
/// </summary>
[Description("区间1DI")]
public float Area1DI{ get; set; }
/// <summary>
/// 调节系数
/// </summary>
[Description("调节系数")]
public float AdjustFactor{ get; set; }
/// <summary>
/// 限幅基准
/// </summary>
[Description("限幅基准")]
public float LimitAmpBase{ get; set; }
/// <summary>
/// 限幅系数
/// </summary>
[Description("限幅系数")]
public float LimitAmpFactor{ get; set; }
/// <summary>
/// PID结果
/// </summary>
[Description("PID结果")]
public float PIDResult{ get; set; }
/// <summary>
/// PID调节
/// </summary>
[Description("PID调节")]
public float PIDAdjust{ get; set; }
/// <summary>
/// 进风速度
/// </summary>
[Description("进风速度")]
public float InletAirVelocity{ get; set; }
/// <summary>
/// 出风速度
/// </summary>
[Description("出风速度")]
public float OutletAirVelocity{ get; set; }
/// <summary>
/// 区间2设置
/// </summary>
[Description("区间2设置")]
public float Area2Set{ get; set; }
/// <summary>
/// 区间2P
/// </summary>
[Description("区间2P")]
public float Area2P{ get; set; }
/// <summary>
/// 区间2I
/// </summary>
[Description("区间2I")]
public float Area2I{ get; set; }
/// <summary>
/// 区间2D
/// </summary>
[Description("区间2D")]
public float Area2D{ get; set; }
/// <summary>
/// 传感器1盲区
/// </summary>
[Description("传感器1盲区")]
public float Sensor1DeadZone{ get; set; }
/// <summary>
/// 传感器2盲区
/// </summary>
[Description("传感器2盲区")]
public float Sensor2DeadZone{ get; set; }
/// <summary>
/// 传感器3盲区
/// </summary>
[Description("传感器3盲区")]
public float Sensor3DeadZone{ get; set; }
/// <summary>
/// 传感器1系数
/// </summary>
[Description("传感器1系数")]
public float Sensor1Factor{ get; set; }
/// <summary>
/// 传感器2系数
/// </summary>
[Description("传感器2系数")]
public float Sensor2Factor{ get; set; }
/// <summary>
/// 传感器3系数
/// </summary>
[Description("传感器3系数")]
public float Sensor3Factor{ get; set; }
/// <summary>
/// 报警复位 ↑
/// </summary>
[Description("报警复位 ↑")]
public bool IsErrorReset{ get; set; }
/// <summary>
/// 进风变频故障报警
/// </summary>
[Description("进风变频故障报警")]
[IsError()]
public bool IsInletAirMotorError{ get; set; }
/// <summary>
/// 出风变频故障报警
/// </summary>
[Description("出风变频故障报警")]
[IsError()]
public bool IsOutletAirMotorError{ get; set; }
/// <summary>
/// 进风变频通讯报警
/// </summary>
[Description("进风变频通讯报警")]
[IsError()]
public bool IsInletAirCommError{ get; set; }
/// <summary>
/// 出风变频通讯报警
/// </summary>
[Description("出风变频通讯报警")]
[IsError()]
public bool IsOutletAirCommError{ get; set; }
/// <summary>
/// 外风变频通讯报警
/// </summary>
[Description("外风变频通讯报警")]
[IsError()]
public bool IExAirCommError{ get; set; }
/// <summary>
/// 外风变频故障报警
/// </summary>
[Description("外风变频故障报警")]
[IsError()]
public bool IsExAirMotorError{ get; set; }
#endregion
public event PropertyChangedEventHandler PropertyChanged;
}
}
{
"Devices": [
{
"EP": "192.168.50.30:502"
}
],
"Variables": [
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 121,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsInletAirOn"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 6120,
"Type": "uint16",
"Scale": 0.1,
"OwnerName": "Item",
"PropertyName": "InletAirFreq"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 3200,
"Type": "uint16",
"Scale": 0.1,
"OwnerName": "Item",
"PropertyName": "InletAirFreqSet"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 122,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsOutletAirOn"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 6220,
"Type": "uint16",
"Scale": 0.1,
"OwnerName": "Item",
"PropertyName": "OutletAirFreq"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 592,
"Type": "uint16",
"Scale": 0.1,
"OwnerName": "Item",
"PropertyName": "OutletAirFreqSet"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 99,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsOutletAirFreqChanged"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 668,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "FilmWidth"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 230,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "FilmWidthSet"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 800,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsFilmWidthChanged"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 340,
"Type": "int16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "ErrorCorrection"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 659,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsIBCAuto"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 120,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsExAirOn"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 6300,
"Type": "uint16",
"Scale": 0.1,
"OwnerName": "Item",
"PropertyName": "ExAirFreq"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 6312,
"Type": "uint16",
"Scale": 0.1,
"OwnerName": "Item",
"PropertyName": "ExAirFreqSet"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1140,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "K1"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1142,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "K2"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1144,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "K3"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 250,
"Type": "float",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "L"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 18,
"Type": "float",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "BubbleCorrA"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 28,
"Type": "float",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "BubbleCorrB"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 38,
"Type": "float",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "BubbleCorrC"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 102,
"Type": "float",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "BubbleCorrR"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 300,
"Type": "uint16",
"Scale": 0.1,
"OwnerName": "Item",
"PropertyName": "SampleInterval"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1000,
"Type": "uint16",
"Scale": 0.1,
"OwnerName": "Item",
"PropertyName": "SampleTime"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 304,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Area1Set"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1001,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Area1P"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1002,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Area1I"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1003,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Area1D"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1004,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Area1DI"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 2550,
"Type": "uint16",
"Scale": 0.01,
"OwnerName": "Item",
"PropertyName": "AdjustFactor"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 580,
"Type": "uint16",
"Scale": 0.01,
"OwnerName": "Item",
"PropertyName": "LimitAmpBase"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1580,
"Type": "uint16",
"Scale": 0.01,
"OwnerName": "Item",
"PropertyName": "LimitAmpFactor"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 2050,
"Type": "int16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "PIDResult"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 2052,
"Type": "int16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "PIDAdjust"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 710,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "InletAirVelocity"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 712,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "OutletAirVelocity"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 306,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Area2Set"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1201,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Area2P"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1202,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Area2I"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 1203,
"Type": "uint16",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Area2D"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 420,
"Type": "float",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Sensor1DeadZone"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 430,
"Type": "float",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Sensor2DeadZone"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 440,
"Type": "float",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Sensor3DeadZone"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 200,
"Type": "float",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Sensor1Factor"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 400,
"Type": "float",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Sensor2Factor"
},
{
"DeviceIndex": 0,
"Mode": "4",
"Addr": 410,
"Type": "float",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "Sensor3Factor"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 63,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsErrorReset"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 131,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsInletAirMotorError"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 132,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsOutletAirMotorError"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 403,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsInletAirCommError"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 404,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsOutletAirCommError"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 405,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IExAirCommError"
},
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 130,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsExAirMotorError"
}
]
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Reflection;
using System.Diagnostics;
using System.Windows.Media;
using Misc;
namespace FLY.IBC.Common
{
public class IBCData : INotifyPropertyChanged
{
public IBCData()
{
}
/// <summary>
/// 与PLC连接状态
/// </summary>
public bool IsConnectedWithPLC { get; set; }
#region 辅助代码生成
/// <summary>
/// 进风指示
/// </summary>
[Description("进风指示")]
public bool IsInletAirOn{ get; set; }
/// <summary>
/// 进风运行频率(Hz)(自动调节)
/// </summary>
[Description("进风运行频率(Hz)(自动调节)")]
public float InletAirFreq{ get; set; }
/// <summary>
/// 进风设定频率(Hz)
/// </summary>
[Description("进风设定频率(Hz)")]
public float InletAirFreqSet{ get; set; }
/// <summary>
/// 出风指示
/// </summary>
[Description("出风指示")]
public bool IsOutletAirOn{ get; set; }
/// <summary>
/// 出风运行频率(Hz)
/// </summary>
[Description("出风运行频率(Hz)")]
public float OutletAirFreq{ get; set; }
/// <summary>
/// 出风设定频率(Hz)
/// </summary>
[Description("出风设定频率(Hz)")]
public float OutletAirFreqSet{ get; set; }
/// <summary>
/// 出风设定频率后通知
/// </summary>
[Description("出风设定频率后通知")]
public bool IsOutletAirFreqChanged{ get; set; }
/// <summary>
/// 折径显示(mm)
/// </summary>
[Description("折径显示(mm)")]
public float FilmWidth{ get; set; }
/// <summary>
/// 折径设定(mm)
/// </summary>
[Description("折径设定(mm)")]
public float FilmWidthSet{ get; set; }
/// <summary>
/// 折径设定后通知
/// </summary>
[Description("折径设定后通知")]
public bool IsFilmWidthChanged{ get; set; }
/// <summary>
/// 误差校正
/// </summary>
[Description("误差校正")]
public float ErrorCorrection{ get; set; }
/// <summary>
/// IBC自动
/// </summary>
[Description("IBC自动")]
public bool IsIBCAuto{ get; set; }
/// <summary>
/// 外风指示
/// </summary>
[Description("外风指示")]
public bool IsExAirOn{ get; set; }
/// <summary>
/// 外风运行频率(Hz)
/// </summary>
[Description("外风运行频率(Hz)")]
public float ExAirFreq{ get; set; }
/// <summary>
/// 外风设定频率(Hz)
/// </summary>
[Description("外风设定频率(Hz)")]
public float ExAirFreqSet{ get; set; }
/// <summary>
/// K1
/// </summary>
[Description("K1")]
public float K1{ get; set; }
/// <summary>
/// K2
/// </summary>
[Description("K2")]
public float K2{ get; set; }
/// <summary>
/// K3
/// </summary>
[Description("K3")]
public float K3{ get; set; }
/// <summary>
/// L
/// </summary>
[Description("L")]
public float L{ get; set; }
/// <summary>
/// 膜泡校正A
/// </summary>
[Description("膜泡校正A")]
public float BubbleCorrA{ get; set; }
/// <summary>
/// 膜泡校正B
/// </summary>
[Description("膜泡校正B")]
public float BubbleCorrB{ get; set; }
/// <summary>
/// 膜泡校正C
/// </summary>
[Description("膜泡校正C")]
public float BubbleCorrC{ get; set; }
/// <summary>
/// 膜泡校正R
/// </summary>
[Description("膜泡校正R")]
public float BubbleCorrR{ get; set; }
/// <summary>
/// 采样周期
/// </summary>
[Description("采样周期")]
public float SampleInterval{ get; set; }
/// <summary>
/// 区间1设置
/// </summary>
[Description("区间1设置")]
public float Area1Set{ get; set; }
/// <summary>
/// 区间1P
/// </summary>
[Description("区间1P")]
public float Area1P{ get; set; }
/// <summary>
/// 区间1I
/// </summary>
[Description("区间1I")]
public float Area1I{ get; set; }
/// <summary>
/// 区间1D
/// </summary>
[Description("区间1D")]
public float Area1D{ get; set; }
/// <summary>
/// 区间1DI
/// </summary>
[Description("区间1DI")]
public float Area1DI{ get; set; }
/// <summary>
/// 调节系数
/// </summary>
[Description("调节系数")]
public float AdjustFactor{ get; set; }
/// <summary>
/// PID结果
/// </summary>
[Description("PID结果")]
public float PIDResult{ get; set; }
/// <summary>
/// PID调节
/// </summary>
[Description("PID调节")]
public float PIDAdjust{ get; set; }
/// <summary>
/// 进风速度
/// </summary>
[Description("进风速度")]
public float InletAirVelocity{ get; set; }
/// <summary>
/// 出风速度
/// </summary>
[Description("出风速度")]
public float OutletAirVelocity{ get; set; }
/// <summary>
/// 区间2设置
/// </summary>
[Description("区间2设置")]
public float Area2Set{ get; set; }
/// <summary>
/// 区间2P
/// </summary>
[Description("区间2P")]
public float Area2P{ get; set; }
/// <summary>
/// 区间2I
/// </summary>
[Description("区间2I")]
public float Area2I{ get; set; }
/// <summary>
/// 区间2D
/// </summary>
[Description("区间2D")]
public float Area2D{ get; set; }
/// <summary>
/// 传感器1盲区
/// </summary>
[Description("传感器1盲区")]
public float Sensor1DeadZone{ get; set; }
/// <summary>
/// 传感器2盲区
/// </summary>
[Description("传感器2盲区")]
public float Sensor2DeadZone{ get; set; }
/// <summary>
/// 传感器3盲区
/// </summary>
[Description("传感器3盲区")]
public float Sensor3DeadZone{ get; set; }
/// <summary>
/// 传感器1系数
/// </summary>
[Description("传感器1系数")]
public float Sensor1Factor{ get; set; }
/// <summary>
/// 传感器2系数
/// </summary>
[Description("传感器2系数")]
public float Sensor2Factor{ get; set; }
/// <summary>
/// 传感器3系数
/// </summary>
[Description("传感器3系数")]
public float Sensor3Factor{ get; set; }
/// <summary>
/// 进风变频故障报警
/// </summary>
[Description("进风变频故障报警")]
[IsError()]
public bool IsInletAirMotorError{ get; set; }
/// <summary>
/// 出风变频故障报警
/// </summary>
[Description("出风变频故障报警")]
[IsError()]
public bool IsOutletAirMotorError{ get; set; }
/// <summary>
/// 进风变频通讯报警
/// </summary>
[Description("进风变频通讯报警")]
[IsError()]
public bool IsInletAirCommError{ get; set; }
/// <summary>
/// 出风变频通讯报警
/// </summary>
[Description("出风变频通讯报警")]
[IsError()]
public bool IsOutletAirCommError{ get; set; }
#endregion
public event PropertyChangedEventHandler PropertyChanged;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment