Commit 6f980bf5 authored by 潘栩锋's avatar 潘栩锋 🚴

永志外风

parent 1a235e6e
......@@ -62,6 +62,7 @@
<Border Margin="5" CornerRadius="5" Background="{StaticResource Color_background}" DataContext="{Binding DataContext,ElementName=grid_ibc}">
<Viewbox MaxHeight="300" HorizontalAlignment="Left" VerticalAlignment="Top">
<StackPanel Orientation="Horizontal">
<Grid Margin="30,10">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
......@@ -81,7 +82,7 @@
Text="显示" />
<TextBlock >
<Run Style="{StaticResource RunStyle_text}" FontSize="{StaticResource FontSize_context_min}"
Text="{Binding ExAirFreq,StringFormat={}{0:F1}}" />
Text="{Binding InletAirFreq,StringFormat={}{0:F1}}" />
<Run Style="{StaticResource RunStyle_unit}"
Text="Hz" />
</TextBlock>
......@@ -89,11 +90,11 @@
<StackPanel Orientation="Horizontal" Grid.Column="2" Background="{StaticResource Color_badgeBg}">
<StackPanel Orientation="Horizontal" Margin="7,3">
<TextBlock Text="风" FontSize="35" Foreground="{StaticResource Color_badgeText}"/>
<TextBlock Text="风" FontSize="35" Foreground="{StaticResource Color_badgeText}"/>
<TextBlock Text="风机" FontSize="15" Foreground="{StaticResource Color_badgeText}"/>
</StackPanel>
</StackPanel>
<Grid Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" >
......@@ -104,29 +105,29 @@
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" FontSize="48" VerticalAlignment="Bottom"
Foreground="{StaticResource Color_text_activity}" Background="{StaticResource Color_background}"
Text="{Binding ExAirFreqSet,StringFormat={}{0:F1}}" />
Text="{Binding InletAirFreqSet,StringFormat={}{0:F1}}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Foreground="{StaticResource Color_unit}"
Text="Hz" />
</StackPanel>
<Button Style="{StaticResource ButtonStyle_largeIcon}" Foreground="{StaticResource Color_theme_minus}"
HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,-30,-30,0" Click="btnExAirMinusClick" >
HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,-30,-30,0" Click="button_inletAir_minus_Click" >
<Grid>
<Ellipse Fill="White" Stretch="Fill" Margin="1"/>
<iconPacks:PackIconMaterial Kind="MinusCircle" />
</Grid>
</Button>
</Grid>
<Button Style="{StaticResource ButtonStyle_largeIcon}" Click="btnExAirPlusClick" Margin="-10,0,0,-80" Grid.Row="1" Grid.Column="0" VerticalAlignment="Top" Height="50" Width="50">
<Button Style="{StaticResource ButtonStyle_largeIcon}" Click="button_inletAir_plus_Click" Margin="-10,0,0,-80" Grid.Row="1" Grid.Column="0" VerticalAlignment="Top" Height="50" Width="50">
<Grid>
<Ellipse Fill="{StaticResource WhiteBrush}" Stretch="Fill" Margin="1"/>
<Ellipse Fill="White" Stretch="Fill" Margin="1"/>
<iconPacks:PackIconMaterial Kind="PlusCircle"/>
</Grid>
</Button>
<flyctrl:ToggleButtonOnOff Grid.Row="2" Grid.ColumnSpan="3" HorizontalAlignment="Right" Margin="{StaticResource ControlMargin}"
OnLabel="运行" OnBrush="{StaticResource Color_on}"
OffLabel="停止" OffBrush="{StaticResource Color_off}"
IsChecked="{Binding IsExAirOn}"/>
IsChecked="{Binding IsInletAirOn}"/>
</Grid>
<Grid Margin="30,10">
<Grid.RowDefinitions>
......@@ -141,13 +142,13 @@
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Grid.ColumnSpan="2" >
<StackPanel Grid.Row="0" Grid.ColumnSpan="2" Orientation="Vertical">
<TextBlock Margin="3,0"
Style="{StaticResource TextBlockStyle_title}" FontSize="{StaticResource FontSize_title}"
Text="显示" />
<TextBlock >
<Run Style="{StaticResource RunStyle_text}" FontSize="{StaticResource FontSize_context_min}"
Text="{Binding InletAirFreq,StringFormat={}{0:F1}}" />
Text="{Binding OutletAirFreq,StringFormat={}{0:F1}}" />
<Run Style="{StaticResource RunStyle_unit}"
Text="Hz" />
</TextBlock>
......@@ -155,11 +156,10 @@
<StackPanel Orientation="Horizontal" Grid.Column="2" Background="{StaticResource Color_badgeBg}">
<StackPanel Orientation="Horizontal" Margin="7,3">
<TextBlock Text="风" FontSize="35" Foreground="{StaticResource Color_badgeText}"/>
<TextBlock Text="风" FontSize="35" Foreground="{StaticResource Color_badgeText}"/>
<TextBlock Text="风机" FontSize="15" Foreground="{StaticResource Color_badgeText}"/>
</StackPanel>
</StackPanel>
<Grid Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" >
......@@ -170,29 +170,39 @@
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" FontSize="48" VerticalAlignment="Bottom"
Foreground="{StaticResource Color_text_activity}" Background="{StaticResource Color_background}"
Text="{Binding InletAirFreqSet,StringFormat={}{0:F1}}" />
Text="{Binding OutletAirFreqSet,StringFormat={}{0:F1}}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Foreground="{StaticResource Color_unit}"
Text="Hz" />
<Rectangle Height="20" Width="20" >
<Rectangle.Style>
<Style TargetType="Rectangle">
<Style.Triggers>
<DataTrigger Binding="{Binding IsOutletAirFreqChanged}" Value="True">
<Setter Property="Fill" Value="{StaticResource Color_on}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
</StackPanel>
<Button Style="{StaticResource ButtonStyle_largeIcon}" Foreground="{StaticResource Color_theme_minus}"
HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,-30,-30,0" Click="button_inletAir_minus_Click" >
<Button Style="{StaticResource ButtonStyle_largeIcon}" Foreground="{StaticResource Color_theme_minus}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,-30,-30,0" Click="button_outletAir_minus_Click" >
<Grid>
<Ellipse Fill="White" Stretch="Fill" Margin="1"/>
<iconPacks:PackIconMaterial Kind="MinusCircle" />
</Grid>
</Button>
</Grid>
<Button Style="{StaticResource ButtonStyle_largeIcon}" Click="button_inletAir_plus_Click" Margin="-10,0,0,-80" Grid.Row="1" Grid.Column="0" VerticalAlignment="Top" Height="50" Width="50">
<Button Style="{StaticResource ButtonStyle_largeIcon}" Click="button_outletAir_plus_Click" Margin="-10,0,0,-80" Grid.Row="1" Grid.Column="0" VerticalAlignment="Top">
<Grid>
<Ellipse Fill="{StaticResource WhiteBrush}" Stretch="Fill" Margin="1"/>
<Ellipse Fill="White" Stretch="Fill" Margin="1"/>
<iconPacks:PackIconMaterial Kind="PlusCircle"/>
</Grid>
</Button>
<flyctrl:ToggleButtonOnOff Grid.Row="2" Grid.ColumnSpan="3" HorizontalAlignment="Right" Margin="{StaticResource ControlMargin}"
OnLabel="运行" OnBrush="{StaticResource Color_on}"
OffLabel="停止" OffBrush="{StaticResource Color_off}"
IsChecked="{Binding IsInletAirOn}"/>
IsChecked="{Binding IsOutletAirOn}"/>
</Grid>
<Grid Margin="30,10">
<Grid.RowDefinitions>
......@@ -207,13 +217,13 @@
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Grid.ColumnSpan="2" Orientation="Vertical">
<StackPanel Grid.Row="0" Grid.ColumnSpan="2" >
<TextBlock Margin="3,0"
Style="{StaticResource TextBlockStyle_title}" FontSize="{StaticResource FontSize_title}"
Text="显示" />
<TextBlock >
<Run Style="{StaticResource RunStyle_text}" FontSize="{StaticResource FontSize_context_min}"
Text="{Binding OutletAirFreq,StringFormat={}{0:F1}}" />
Text="{Binding ExAirFreq,StringFormat={}{0:F1}}" />
<Run Style="{StaticResource RunStyle_unit}"
Text="Hz" />
</TextBlock>
......@@ -221,11 +231,12 @@
<StackPanel Orientation="Horizontal" Grid.Column="2" Background="{StaticResource Color_badgeBg}">
<StackPanel Orientation="Horizontal" Margin="7,3">
<TextBlock Text="风" FontSize="35" Foreground="{StaticResource Color_badgeText}"/>
<TextBlock Text="风" FontSize="35" Foreground="{StaticResource Color_badgeText}"/>
<TextBlock Text="风机" FontSize="15" Foreground="{StaticResource Color_badgeText}"/>
</StackPanel>
</StackPanel>
<Grid Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" >
<Grid.ColumnDefinitions>
......@@ -235,30 +246,30 @@
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}" FontSize="48" VerticalAlignment="Bottom"
Foreground="{StaticResource Color_text_activity}" Background="{StaticResource Color_background}"
Text="{Binding OutletAirFreqSet,StringFormat={}{0:F1}}" />
Text="{Binding ExAirFreqSet,StringFormat={}{0:F1}}" />
<TextBlock Style="{StaticResource TextBlockStyle_FieldContent_mm}" Foreground="{StaticResource Color_unit}"
Text="Hz" />
</StackPanel>
<Button Style="{StaticResource ButtonStyle_largeIcon}" Foreground="{StaticResource Color_theme_minus}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,-30,-30,0" Click="button_outletAir_minus_Click" >
<Button Style="{StaticResource ButtonStyle_largeIcon}" Foreground="{StaticResource Color_theme_minus}"
HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,-30,-30,0" Click="btnExAirMinusClick" >
<Grid>
<Ellipse Fill="White" Stretch="Fill" Margin="1"/>
<iconPacks:PackIconMaterial Kind="MinusCircle" />
</Grid>
</Button>
</Grid>
<Button Style="{StaticResource ButtonStyle_largeIcon}" Click="button_outletAir_plus_Click" Margin="-10,0,0,-80" Grid.Row="1" Grid.Column="0" VerticalAlignment="Top">
<Button Style="{StaticResource ButtonStyle_largeIcon}" Click="btnExAirPlusClick" Margin="-10,0,0,-80" Grid.Row="1" Grid.Column="0" VerticalAlignment="Top" Height="50" Width="50">
<Grid>
<Ellipse Fill="{StaticResource WhiteBrush}" Stretch="Fill" Margin="1"/>
<Ellipse Fill="White" Stretch="Fill" Margin="1"/>
<iconPacks:PackIconMaterial Kind="PlusCircle"/>
</Grid>
</Button>
<flyctrl:ToggleButtonOnOff Grid.Row="2" Grid.ColumnSpan="3" HorizontalAlignment="Right" Margin="{StaticResource ControlMargin}"
OnLabel="运行" OnBrush="{StaticResource Color_on}"
OffLabel="停止" OffBrush="{StaticResource Color_off}"
IsChecked="{Binding IsOutletAirOn}"/>
IsChecked="{Binding IsExAirOn}"/>
</Grid>
<Grid Margin="30,10">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
......@@ -285,8 +296,21 @@
<TextBlock Text="IBC" Grid.Column="1" FontSize="35" Margin="3" Padding="20,0" Background="{StaticResource Color_badgeBg}" Foreground="{StaticResource Color_badgeText}"/>
<StackPanel Orientation="Horizontal" Grid.Row="1" Grid.ColumnSpan="2">
<StackPanel>
<TextBlock Margin="3,0" Style="{StaticResource TextBlockStyle_title_activity}"
<StackPanel Orientation="Horizontal" Margin="3,0" >
<TextBlock Style="{StaticResource TextBlockStyle_title_activity}"
Text="折径设置" />
<Rectangle Height="20" Width="20" >
<Rectangle.Style>
<Style TargetType="Rectangle">
<Style.Triggers>
<DataTrigger Binding="{Binding IsFilmWidthChanged}" Value="True">
<Setter Property="Fill" Value="{StaticResource Color_on}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource TextBoxStyle_FieldContent}"
Foreground="{StaticResource Color_text_activity}" Background="{StaticResource Color_background}" VerticalAlignment="Bottom"
......
......@@ -78,11 +78,13 @@ namespace FLY.IBC.UI.Client.UiModule
if (e.PropertyName == nameof(IBC.Common.IBCData.FilmWidthSet))
{
await Task.Delay(1000);//1s后触发通知
//ibcSystemService.Item.IsFilmWidthChanged = false;
ibcSystemService.Item.IsFilmWidthChanged = true;
}
else if (e.PropertyName == nameof(IBC.Common.IBCData.OutletAirFreqSet))
{
await Task.Delay(1000);//1s后触发通知
//ibcSystemService.Item.IsOutletAirFreqChanged = false;
ibcSystemService.Item.IsOutletAirFreqChanged = true;
}
}
......
......@@ -49,33 +49,33 @@ namespace FLY.Winder.UI.Client.UiModule
winderSystem.PLCos,
winderSystem.Accessory,
new string[] {
"VelocitySet",
"IsVelocityChanged",
"Velocity",
"RotaryFreqSet",
"IsRotaryFreqChanged",
"RotaryCurrent",
"RotaryFreq",
"IsRotaryOn",
"IsRotaryOrg",
"IsRotaryForw",
"IsRotaryBackw",
"IsRotaryForwLimit",
"IsRotaryForwTurn",
"IsRotaryOrgSign",
"IsRotaryBackwLimit",
"IsRotaryBackwTurn",
"Traction1Current",
"IsTraction1On",
"IsTraction2Manual",
"Traction2TensionKgSet",
"Traction2TensionKg",
"Traction2Current",
"IsTraction2Manual",
"IsTraction2On"
nameof(WinderAccessory.VelocitySet),
nameof(WinderAccessory.IsVelocityChanged),
nameof(WinderAccessory.Velocity),
nameof(WinderAccessory.RotaryFreqSet),
nameof(WinderAccessory.IsRotaryFreqChanged),
nameof(WinderAccessory.RotaryCurrent),
nameof(WinderAccessory.RotaryFreq),
nameof(WinderAccessory.IsRotaryOn),
nameof(WinderAccessory.IsRotaryOrg),
nameof(WinderAccessory.IsRotaryForw),
nameof(WinderAccessory.IsRotaryBackw),
nameof(WinderAccessory.IsRotaryForwLimit),
nameof(WinderAccessory.IsRotaryForwTurn),
nameof(WinderAccessory.IsRotaryOrgSign),
nameof(WinderAccessory.IsRotaryBackwLimit),
nameof(WinderAccessory.IsRotaryBackwTurn),
nameof(WinderAccessory.Traction1Current),
nameof(WinderAccessory.IsTraction1On),
nameof(WinderAccessory.IsTraction2Manual),
nameof(WinderAccessory.Traction2TensionKgSet),
nameof(WinderAccessory.Traction2TensionKg),
nameof(WinderAccessory.Traction2Current),
nameof(WinderAccessory.IsTraction2Manual),
nameof(WinderAccessory.IsTraction2On)
});
for (int i = 0; i < 2; i++)
......@@ -84,16 +84,16 @@ namespace FLY.Winder.UI.Client.UiModule
winderSystem.PLCos,
winderSystem.Items[i],
new string[] {
"MeasureLenSet",
"MeasurePreWarning",
"MeasureLen",
"MeasureStop",
"TensionKgSet",
"TensionKg",
"Current",
"IsManual",
"IsOn"
nameof(WinderInsideOutside.MeasureLenSet),
nameof(WinderInsideOutside.MeasurePreWarning),
nameof(WinderInsideOutside.MeasureLen),
nameof(WinderInsideOutside.MeasureStop),
nameof(WinderInsideOutside.TensionKgSet),
nameof(WinderInsideOutside.TensionKg),
nameof(WinderInsideOutside.Current),
nameof(WinderInsideOutside.IsManual),
nameof(WinderInsideOutside.IsOn)
});
}
}
......@@ -105,6 +105,7 @@ namespace FLY.Winder.UI.Client.UiModule
w.Owner = FLY.ControlLibrary.COMMON.GetWindow(this);
if (w.ShowDialog() == true) {
winderSystem.Accessory.VelocitySet = w.Value;
winderSystem.Accessory.IsVelocityChanged = false;
winderSystem.Accessory.IsVelocityChanged = true;
winderSystem.Accessory.IsVelocityChanged = false;
}
......@@ -126,6 +127,7 @@ namespace FLY.Winder.UI.Client.UiModule
if (w.ShowDialog() == true)
{
winderSystem.Accessory.RotaryFreqSet = w.Value;
winderSystem.Accessory.IsRotaryFreqChanged = false;
winderSystem.Accessory.IsRotaryFreqChanged = true;
}
}
......
......@@ -49,33 +49,33 @@ namespace FLY.Winder.UI.Client.UiModule
winderSystem.PLCos,
winderSystem.Accessory,
new string[] {
"VelocitySet",
"IsVelocityChanged",
"Velocity",
"RotaryFreqSet",
"IsRotaryFreqChanged",
"RotaryCurrent",
"RotaryFreq",
"IsRotaryOn",
"IsRotaryOrg",
"IsRotaryForw",
"IsRotaryBackw",
"IsRotaryForwLimit",
"IsRotaryForwTurn",
"IsRotaryOrgSign",
"IsRotaryBackwLimit",
"IsRotaryBackwTurn",
"Traction1Current",
"IsTraction1On",
"IsTraction2Manual",
"Traction2TensionKgSet",
"Traction2TensionKg",
"Traction2Current",
"IsTraction2Manual",
"IsTraction2On"
nameof(WinderAccessory.VelocitySet),
nameof(WinderAccessory.IsVelocityChanged),
nameof(WinderAccessory.Velocity),
nameof(WinderAccessory.RotaryFreqSet),
nameof(WinderAccessory.IsRotaryFreqChanged),
nameof(WinderAccessory.RotaryCurrent),
nameof(WinderAccessory.RotaryFreq),
nameof(WinderAccessory.IsRotaryOn),
nameof(WinderAccessory.IsRotaryOrg),
nameof(WinderAccessory.IsRotaryForw),
nameof(WinderAccessory.IsRotaryBackw),
nameof(WinderAccessory.IsRotaryForwLimit),
nameof(WinderAccessory.IsRotaryForwTurn),
nameof(WinderAccessory.IsRotaryOrgSign),
nameof(WinderAccessory.IsRotaryBackwLimit),
nameof(WinderAccessory.IsRotaryBackwTurn),
nameof(WinderAccessory.Traction1Current),
nameof(WinderAccessory.IsTraction1On),
nameof(WinderAccessory.IsTraction2Manual),
nameof(WinderAccessory.Traction2TensionKgSet),
nameof(WinderAccessory.Traction2TensionKg),
nameof(WinderAccessory.Traction2Current),
nameof(WinderAccessory.IsTraction2Manual),
nameof(WinderAccessory.IsTraction2On)
});
for (int i = 0; i < 2; i++)
......@@ -84,16 +84,16 @@ namespace FLY.Winder.UI.Client.UiModule
winderSystem.PLCos,
winderSystem.Items[i],
new string[] {
"MeasureLenSet",
"MeasurePreWarning",
"MeasureLen",
"MeasureStop",
"TensionKgSet",
"TensionKg",
"Current",
"IsManual",
"IsOn"
nameof(WinderInsideOutside.MeasureLenSet),
nameof(WinderInsideOutside.MeasurePreWarning),
nameof(WinderInsideOutside.MeasureLen),
nameof(WinderInsideOutside.MeasureStop),
nameof(WinderInsideOutside.TensionKgSet),
nameof(WinderInsideOutside.TensionKg),
nameof(WinderInsideOutside.Current),
nameof(WinderInsideOutside.IsManual),
nameof(WinderInsideOutside.IsOn)
});
}
}
......@@ -106,6 +106,8 @@ namespace FLY.Winder.UI.Client.UiModule
if (w.ShowDialog() == true)
{
winderSystem.Accessory.VelocitySet = w.Value;
//它需要脉冲信号
winderSystem.Accessory.IsVelocityChanged = false;
winderSystem.Accessory.IsVelocityChanged = true;
winderSystem.Accessory.IsVelocityChanged = false;
}
......@@ -127,6 +129,8 @@ namespace FLY.Winder.UI.Client.UiModule
if (w.ShowDialog() == true)
{
winderSystem.Accessory.RotaryFreqSet = w.Value;
//它需要上升沿信号
winderSystem.Accessory.IsRotaryFreqChanged = false;
winderSystem.Accessory.IsRotaryFreqChanged = true;
}
}
......
using System.ComponentModel;
namespace XXX.Common
{
public class IBCData : INotifyPropertyChanged
{
public IBCData()
{
}
#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;
}
}
{
"Devices": [
{
"EP": "192.168.50.30:502"
}
],
"Variables": [
{
"DeviceIndex": 0,
"Mode": "0",
"Addr": 64513,
"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": 64514,
"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": "int16",
"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": 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": 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": "1",
"Addr": 63496,
"Type": "bool",
"Scale": 1.0,
"OwnerName": "Item",
"PropertyName": "IsInletAirMotorError"
},
{
"DeviceIndex": 0,
"Mode": "1",
"Addr": 63497,
"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"
}
]
}
\ No newline at end of file
Subproject commit 556f69daeac767d77e6823e6a3fcfe83792e541e
Subproject commit 833f02d392dd569f8a892c37afcf7aa74e13d559
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