Commit 5f3befd6 authored by 潘栩锋's avatar 潘栩锋 🚴

修复 收卷速度设置, 使用按键的按1松0,解决以前经常速度设置不了问题

parent bdf31f8e
......@@ -51,6 +51,6 @@ using System.Windows;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("7.7.2.1")]
[assembly: AssemblyFileVersion("7.7.2.1")]
[assembly: AssemblyVersion("7.7.3.1")]
[assembly: AssemblyFileVersion("7.7.3.1")]
[assembly: Guid("D12087A7-EEC4-4D9F-9269-8F20324F4B04")]
......@@ -393,7 +393,7 @@ namespace FLY.Thick.Blowing.IService
/// 速度 脉冲/s
/// </summary>
public int Speed { get; set; }
public double Speed { get; set; }
public event PropertyChangedEventHandler PropertyChanged;
}
......
......@@ -51,6 +51,6 @@ using System.Windows;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("7.7.2.1")]
[assembly: AssemblyFileVersion("7.7.2.1")]
[assembly: AssemblyVersion("7.7.3.1")]
[assembly: AssemblyFileVersion("7.7.3.1")]
[assembly: Guid("38E0D8EC-4D1C-49FF-AB08-6289294C5BD4")]
......@@ -715,7 +715,7 @@ namespace FLY.Thick.BlowingScan.UI.Client
Load(param);
}
}
catch
catch(Exception ex)
{
//异常,没有json 解码失败
......@@ -735,6 +735,9 @@ namespace FLY.Thick.BlowingScan.UI.Client
CurrFilmLength3D = param.mFilmLength3D;
param.Is3D = (param.mFilmLength3D != null && param.mFilmLength3D.Count() > 0);
param.IsRPosMode = (mRPosList.Count() > 0);
Is3D = param.Is3D;
IsRPosMode = param.IsRPosMode;
......
......@@ -99,6 +99,9 @@
<Compile Include="UiModule\WdMeasure.xaml.cs">
<DependentUpon>WdMeasure.xaml</DependentUpon>
</Compile>
<Compile Include="UiModule\MainPanel\WdSetVolecity.xaml.cs">
<DependentUpon>WdSetVolecity.xaml</DependentUpon>
</Compile>
<Compile Include="UiModule\WdSetValue.xaml.cs">
<DependentUpon>WdSetValue.xaml</DependentUpon>
</Compile>
......@@ -162,6 +165,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="UiModule\MainPanel\CenterWinderPanelStyle.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="UiModule\MainPanel\MainPanel2.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
......@@ -202,6 +209,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="UiModule\MainPanel\WdSetVolecity.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="UiModule\WdSetValue.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
......
......@@ -47,7 +47,7 @@
</i:Interaction.Behaviors>
表面
</flyctrl:NoToggleButton>
<!--<flyctrl:NoToggleButton IsChecked="{Binding IsCenterWindGet}" DataContext="{Binding Items[0]}">
<!--<flyctrl:NoToggleButton IsChecked="{Binding IsCenterWindGet}" >
<i:Interaction.Behaviors>
<flyctrl:ResetBehavior Binding="{Binding IsCenterWindSet}"/>
</i:Interaction.Behaviors>
......@@ -55,7 +55,7 @@
</flyctrl:NoToggleButton>-->
<flyctrl:NoToggleButton Width="130"
OffBrush="{StaticResource Color_off}" OnBrush="{StaticResource Color_on}"
IsChecked="{Binding IsCsWindGet}" DataContext="{Binding Items[0]}">
IsChecked="{Binding IsCsWindGet}" >
<i:Interaction.Behaviors>
<flyctrl:ResetBehavior Binding="{Binding IsCsWindSet}"/>
</i:Interaction.Behaviors>
......@@ -80,7 +80,7 @@
</i:Interaction.Behaviors>
表面
</flyctrl:NoToggleButton>
<!--<flyctrl:NoToggleButton IsChecked="{Binding IsCenterWindGet}" DataContext="{Binding Items[1]}">
<!--<flyctrl:NoToggleButton IsChecked="{Binding IsCenterWindGet}" >
<i:Interaction.Behaviors>
<flyctrl:ResetBehavior Binding="{Binding IsCenterWindSet}"/>
</i:Interaction.Behaviors>
......@@ -88,7 +88,7 @@
</flyctrl:NoToggleButton>-->
<flyctrl:NoToggleButton Width="130"
OffBrush="{StaticResource Color_off}" OnBrush="{StaticResource Color_on}"
IsChecked="{Binding IsCsWindGet}" DataContext="{Binding Items[1]}">
IsChecked="{Binding IsCsWindGet}" >
<i:Interaction.Behaviors>
<flyctrl:ResetBehavior Binding="{Binding IsCsWindSet}"/>
</i:Interaction.Behaviors>
......
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:flyctrl="clr-namespace:FLY.ControlLibrary;assembly=FLY.ControlLibrary">
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/FLY.Winder.UI.Client;component/Themes/Styles.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="flyctrl:NoToggleButton" BasedOn="{StaticResource NoToggleButtonStyle}" x:Key="NoToggleButton_Separate" >
<Setter Property="OffLabel" Value="分离"/>
<Setter Property="OffBrush" Value="{StaticResource Color_off}"/>
<Setter Property="OnLabel" Value="闭合"/>
<Setter Property="OnBrush" Value="{StaticResource Color_on}" />
</Style>
</ResourceDictionary>
\ No newline at end of file
......@@ -29,6 +29,7 @@ namespace FLY.Winder.UI.Client.UiModule
SetPLCUpdatePlan setPlan_accessory;
SetPLCUpdatePlan[] setPlan_winders = new SetPLCUpdatePlan[2];
bool isCenter = false;
public MainPanel()
{
InitializeComponent();
......@@ -36,11 +37,15 @@ namespace FLY.Winder.UI.Client.UiModule
[InjectionMethod]
public void Init(
IUnityContainer container,
IWinderSystemService winderSystem)
IWinderSystemService winderSystem,
bool isCenter=false)
{
this.container = container;
this.winderSystem = winderSystem;
this.isCenter = isCenter;
this.DataContext = winderSystem;
grid_winder.DataContext = winderSystem;
......@@ -102,29 +107,41 @@ namespace FLY.Winder.UI.Client.UiModule
}
private async void button_v_set_Click(object sender, RoutedEventArgs e)
{
WdSetValue w = new WdSetValue();
w.Init(winderSystem.Accessory.VelocitySet, 200, 1, 0.1f, "速度设置", "m/min");
//WdSetValue w = new WdSetValue();
//w.Init(winderSystem.Accessory.VelocitySet, 200, 1, 0.1f, "速度设置", "m/min");
w.Owner = FLY.ControlLibrary.COMMON.GetWindow(this);
if (w.ShowDialog() == true) {
winderSystem.Accessory.VelocitySet = w.Value;
//w.Owner = FLY.ControlLibrary.COMMON.GetWindow(this);
//if (w.ShowDialog() == true)
//{
// winderSystem.Accessory.VelocitySet = w.Value;
//延时 300ms
await Task.Delay(300);
// //延时 300ms
// await Task.Delay(300);
winderSystem.Accessory.IsVelocityChanged = false;
winderSystem.Accessory.IsVelocityChanged = true;
// winderSystem.Accessory.IsVelocityChanged = false;
// winderSystem.Accessory.IsVelocityChanged = true;
//延时 300ms
await Task.Delay(300);
// //延时 300ms
// await Task.Delay(300);
winderSystem.Accessory.IsVelocityChanged = false;
}
// winderSystem.Accessory.IsVelocityChanged = false;
//}
WdSetVolecity w = new WdSetVolecity();
w.Init(container, winderSystem);
w.Owner = FLY.ControlLibrary.COMMON.GetWindow(this);
w.ShowDialog();
}
private void button_manual_Click(object sender, RoutedEventArgs e)
{
var w = container.Resolve<WdManual>();
Window w;
if (!isCenter) {
w = container.Resolve<WdManual>();
}
else{
w = container.Resolve<WdManual2>();
}
w.Owner = FLY.ControlLibrary.COMMON.GetWindow(this);
w.ShowDialog();
}
......
using FLY.OBJComponents.Client;
using FLY.Winder.Client;
using FLY.Winder.Common;
using FLY.Winder.IService;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
......@@ -28,6 +30,7 @@ namespace FLY.Winder.UI.Client.UiModule
SetPLCUpdatePlan setPlan_accessory;
SetPLCUpdatePlan[] setPlan_winders = new SetPLCUpdatePlan[2];
public MainPanel2()
{
InitializeComponent();
......@@ -39,7 +42,10 @@ namespace FLY.Winder.UI.Client.UiModule
{
this.container = container;
this.winderSystem = winderSystem;
this.DataContext = winderSystem;
grid_winder.DataContext = winderSystem;
......@@ -95,29 +101,85 @@ namespace FLY.Winder.UI.Client.UiModule
nameof(WinderInsideOutside.TensionKg),
nameof(WinderInsideOutside.Current),
nameof(WinderInsideOutside.IsManual),
nameof(WinderInsideOutside.IsOn)
nameof(WinderInsideOutside.IsOn),
//中心收卷
nameof(Common.WinderInsideOutside.CenterTensionSet),
nameof(Common.WinderInsideOutside.CenterInitDia),
nameof(Common.WinderInsideOutside.IsCenterInitDiaNotify),
nameof(Common.WinderInsideOutside.CenterTaperSet),
nameof(Common.WinderInsideOutside.CenterTensionKg),
nameof(Common.WinderInsideOutside.CenterDia),
nameof(Common.WinderInsideOutside.EPInitPressure),
nameof(Common.WinderInsideOutside.EPTaperSet),
nameof(Common.WinderInsideOutside.EPAirPressure),
nameof(Common.WinderInsideOutside.IsEPRollerClosed),
nameof(Common.WinderInsideOutside.IsSurfaceWindGet),
nameof(Common.WinderInsideOutside.IsCenterWindGet),
nameof(Common.WinderInsideOutside.IsCsWindGet)
});
}
winderSystem.Items[0].PropertyChanged += Items0_PropertyChanged;
winderSystem.Items[1].PropertyChanged += Items1_PropertyChanged;
}
private async void Items0_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(Common.WinderInsideOutside.CenterInitDia))
{
if (winderSystem is WinderSystemServiceClient)
{
if ((winderSystem as WinderSystemServiceClient).IsInPushValue)
return;
}
await Task.Delay(1000);//1s后触发通知
winderSystem.Items[0].IsCenterInitDiaNotify = true;
}
}
private async void Items1_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == nameof(Common.WinderInsideOutside.CenterInitDia))
{
if (winderSystem is WinderSystemServiceClient)
{
if ((winderSystem as WinderSystemServiceClient).IsInPushValue)
return;
}
await Task.Delay(1000);//1s后触发通知
winderSystem.Items[1].IsCenterInitDiaNotify = true;
}
}
private void button_v_set_Click(object sender, RoutedEventArgs e)
private async void button_v_set_Click(object sender, RoutedEventArgs e)
{
WdSetValue w = new WdSetValue();
w.Init(winderSystem.Accessory.VelocitySet, 200, 1, 0.1f, "速度设置", "m/min");
w.Owner = FLY.ControlLibrary.COMMON.GetWindow(this);
if (w.ShowDialog() == true)
{
if (w.ShowDialog() == true) {
winderSystem.Accessory.VelocitySet = w.Value;
//它需要脉冲信号
//延时 300ms
await Task.Delay(300);
winderSystem.Accessory.IsVelocityChanged = false;
winderSystem.Accessory.IsVelocityChanged = true;
//延时 300ms
await Task.Delay(300);
winderSystem.Accessory.IsVelocityChanged = false;
}
}
private void button_manual_Click(object sender, RoutedEventArgs e)
{
var w = container.Resolve<WdManual2>();
Window w;
w = container.Resolve<WdManual2>();
w.Owner = FLY.ControlLibrary.COMMON.GetWindow(this);
w.ShowDialog();
}
......@@ -131,7 +193,6 @@ namespace FLY.Winder.UI.Client.UiModule
if (w.ShowDialog() == true)
{
winderSystem.Accessory.RotaryFreqSet = w.Value;
//它需要上升沿信号
winderSystem.Accessory.IsRotaryFreqChanged = false;
winderSystem.Accessory.IsRotaryFreqChanged = true;
}
......
......@@ -26,7 +26,7 @@ namespace FLY.Winder.UI.Client.UiModule
/// <returns></returns>
public FrameworkElement GetComponent(int id, IUnityContainer container)
{
var p = container.Resolve<MainPanel2>();
var p = container.Resolve<MainPanel>(new Unity.Resolution.ParameterOverride("isCenter", true));
return p;
}
......
<flyctrllib:WindowBigClose x:Class="FLY.Winder.UI.Client.UiModule.WdSetVolecity"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:flyctrllib="clr-namespace:FLY.ControlLibrary;assembly=FLY.ControlLibrary"
xmlns:local="clr-namespace:FLY.Winder.UI.Client.UiModule"
d:DataContext="{d:DesignInstance local:WdSetValueVm}"
xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks" xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
mc:Ignorable="d"
WindowStartupLocation="CenterScreen"
SizeToContent="WidthAndHeight"
>
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MainPanelStyle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<StackPanel Margin="5,20" d:DataContext="{StaticResource unittests_windersystem}">
<StackPanel Margin="{StaticResource ControlMargin}">
<TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="速度" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="44" />
</StackPanel>
<Grid DataContext="{Binding Accessory}">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<StackPanel>
<StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}" Width="200">
<TextBlock Style="{StaticResource Styles.Text.FieldHeader.Editable}" Text="设定" />
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource Styles.Text.FieldContent.Input.Card}" Text="{Binding VelocitySet,StringFormat={}{0:F1}}" MaxWidth="120" />
<TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m/min" />
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}" Width="200">
<TextBlock Style="{StaticResource Styles.Text.FieldHeader}" Text="实际" />
<TextBlock Style="{StaticResource Styles.Text.FieldContent}" Text="{Binding Velocity,StringFormat={}{0:F1}}" />
<TextBlock Style="{StaticResource Styles.Text.FieldContent.Unit}" Text="m/min" />
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="{StaticResource ControlMargin}">
<Button Style="{StaticResource Styles.Button.Icon.Large}" Foreground="{StaticResource Brushes.Activity}"
VerticalAlignment="Top"
Click="btnPlusClick" >
<iconPacks:PackIconMaterial Kind="PlusCircle"/>
</Button>
<Button Style="{StaticResource Styles.Button.Icon.Large}" Foreground="{StaticResource Brushes.Validation}"
VerticalAlignment="Top"
Click="btnMinusClick" >
<iconPacks:PackIconMaterial Kind="MinusCircle"/>
</Button>
</StackPanel>
</StackPanel>
<Grid Grid.Column="1" VerticalAlignment="Bottom" >
<Viewbox Width="80">
<Button Style="{StaticResource ButtonStyle_resizeIcon}" Foreground="{StaticResource Color_on}" >
<i:Interaction.Behaviors>
<flyctrllib:ResetBehavior Binding="{Binding IsVelocityChanged}"/>
</i:Interaction.Behaviors>
<Grid>
<Ellipse Fill="White" />
<iconPacks:PackIconMaterial Kind="CheckCircle" />
</Grid>
</Button>
</Viewbox>
</Grid>
</Grid>
</StackPanel>
</flyctrllib:WindowBigClose>
using FLY.Winder.IService;
using GalaSoft.MvvmLight.Command;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using Unity;
namespace FLY.Winder.UI.Client.UiModule
{
/// <summary>
/// Window_Frequency.xaml 的交互逻辑
/// </summary>
public partial class WdSetVolecity : FLY.ControlLibrary.WindowBigClose
{
float max = 200.0f;
float min = 1f;
float step = 0.1f;
IWinderSystemService winderSystem;
public WdSetVolecity()
{
InitializeComponent();
}
public void Init(
IUnityContainer container,
IWinderSystemService winderSystem)
{
this.winderSystem = winderSystem;
this.DataContext = winderSystem;
}
private void btnPlusClick(object sender, RoutedEventArgs e)
{
if (winderSystem.Accessory.VelocitySet < max)
winderSystem.Accessory.VelocitySet += step;
}
private void btnMinusClick(object sender, RoutedEventArgs e)
{
if (winderSystem.Accessory.VelocitySet > min)
winderSystem.Accessory.VelocitySet -= step;
}
}
}
{
"InstallZipVersion":"7.7.2.0",
"InstallZipUrl":"http://server.flyautomation.net:8889/download/和美安装包_v7.7.2.0_20221124.7z"
"InstallZipVersion":"7.7.3.1",
"InstallZipUrl":"http://server.flyautomation.net:8889/download/和美安装包_v7.7.3.1_20230104.7z"
}
\ No newline at end of file
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