wanghan 7 hónapja
szülő
commit
b9546d9e57

+ 7 - 0
TeamAAS-VM/Core/FilePath.cs

@@ -61,5 +61,12 @@ namespace TeamAAS_VP.Core
         /// 后台脚本存放文件夹
         /// </summary>
         public static string BackgroundScriptPath = "..//Background Script";
+
+        /// <summary>
+        /// 保压参数存放路径
+        /// </summary>
+        public static string PressureParamterConfigPath = "..//Config//PressureParamterConfig.cfg";
+
+
     }
 }

+ 29 - 1
TeamAAS-VM/Core/Management.cs

@@ -1083,6 +1083,30 @@ namespace TeamAAS_VP.Core
             }
         }
 
+        public async Task WriteParameterToPlcAsync()
+        {
+            var addressConfig = _configService.GetPlcAddresses();
+            var plc = _plcService.GetPlcByNumber(addressConfig.PlcNo) as OpcUaClientPLC;
+            if (plc == null || !plc.IsConnected) return;
+            try
+            {
+                PressureModel models = new PressureModel();
+                if (!File.Exists(FilePath.PressureParamterConfigPath))
+                {
+                    FileHelper.WriteJsonFile(models, FilePath.PressureParamterConfigPath);
+                }
+                models = FileHelper.ReadJsonFile<PressureModel>(FilePath.PressureParamterConfigPath);
+                await plc.WriteNodeAsync(addressConfig.Down_Time.Address, models.PressureTime);
+                await plc.WriteNodeAsync(addressConfig.Down_WetOut_Num.Address, models.PressureNum);
+                await plc.WriteNodeAsync(addressConfig.Down_WetOut_Num_max.Address, models.PressureNumMax);
+            }
+            catch (Exception)
+            {
+
+            }
+
+        }
+
         /// <summary>
         /// 固定向上相机拍照结果
         /// </summary>
@@ -1745,7 +1769,7 @@ namespace TeamAAS_VP.Core
                             }
                             else
                             {
-                                mes_cc.Add("0","0");
+                                mes_cc.Add($"{cameraIndex}","0");
                                 await plc.WriteNodeAsync(addressConfig.Out_UPCameracheckStatus.Address, (Int16)2);
                                 SendTaskMessage($"点位{cameraIndex}检测NG", MessageLevel.Error);
                             }
@@ -2127,7 +2151,11 @@ namespace TeamAAS_VP.Core
                                     string assypress= "";string cc = "";
                                     cc = string.Join(",", mes_cc.OrderBy(kv => kv.Key, StringComparer.Ordinal).Select(kv => kv.Value));
                                     assypress = currentPressure.ToString("F2");
+                                    var res = FileHelper.ReadJsonFile<PressureModel>(FilePath.PressureParamterConfigPath);
+                                    if (res.PressureUpLimit>0)
+                                    {
 
+                                    }
                                     //cc-复检cc,assypress-组装站压力
                                     (bool isSuccess, string response) = await _mesService.SubmitGetAsync(code, comp, cc,assypress, resultIndex == 1 ? true : false, _LastMesCheckTime[i], DateTime.UtcNow);
                                     if (isSuccess)

+ 45 - 0
TeamAAS-VM/Models/PLC/PlcAddressConfig.cs

@@ -317,6 +317,36 @@ namespace TeamAAS_VP.Models.PLC
             get { return _Out_ScrewFeederIsChanged; }
             set { SetProperty(ref _Out_ScrewFeederIsChanged, value); }
         }
+        private PlcAddress _Down_Time;
+        /// <summary>
+        /// A_Camera Assy组装时间
+        /// </summary>
+        public PlcAddress Down_Time
+        {
+            get { return _Down_Time; }
+            set { SetProperty(ref _Down_Time, value); }
+        }
+
+        private PlcAddress _Down_WetOut_Num;
+        /// <summary>
+        /// A_Camera Assy组装压力
+        /// </summary>
+        public PlcAddress Down_WetOut_Num
+        {
+            get { return _Down_WetOut_Num; }
+            set { SetProperty(ref _Down_WetOut_Num, value); }
+        }
+
+        private PlcAddress _Down_WetOut_Num_max;
+        /// <summary>
+        /// A_Camera Assy组装压力最大值
+        /// </summary>
+        public PlcAddress Down_WetOut_Num_max
+        {
+            get { return _Down_WetOut_Num_max; }
+            set { SetProperty(ref _Down_WetOut_Num_max, value); }
+        }
+
         #endregion
 
         #region 从PLC读取的地址
@@ -993,6 +1023,21 @@ namespace TeamAAS_VP.Models.PLC
             In_DryMode.DataType = "bool";
             In_DryMode.Description = "空跑模式";
 
+            Down_Time = Ensure(Down_Time);
+            Down_Time.Address = "ns=4;s=DB_other|Down_Time";
+            Down_Time.DataType = "int32";
+            Down_Time.Description = "A_Camera Assy时间";
+
+            Down_WetOut_Num = Ensure(Down_WetOut_Num);
+            Down_WetOut_Num.Address = "ns=4;s=DB_other|WetOut_Num";
+            Down_WetOut_Num.DataType = "float";
+            Down_WetOut_Num.Description = "A_Camera Assy压力";
+
+            Down_WetOut_Num_max = Ensure(Down_WetOut_Num_max);
+            Down_WetOut_Num_max.Address = "ns=4;s=DB_other|WetOut_MAX";
+            Down_WetOut_Num_max.DataType = "float";
+            Down_WetOut_Num_max.Description = "A_Camera Assy压力最大值";
+
             // 说明:若项目中 PlcAddress 的实际属性名或类型与此不同(例如使用枚举、不同字段名),
             // 请根据实际类型调整赋值。本方法主要提供合理的默认字符串地址、数据类型及描述,便于后续从配置覆盖。
         }

+ 53 - 0
TeamAAS-VM/Models/PressureModel.cs

@@ -0,0 +1,53 @@
+using Prism.Mvvm;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace TeamAAS_VP.Models
+{
+    public class PressureModel : BindableBase
+    {
+        private Int32 _PressureTime = 0;
+
+        public Int32 PressureTime
+        {
+            get { return _PressureTime; }
+            set { SetProperty(ref _PressureTime, value); }
+        }
+
+        private float _PressureNum = 0;
+
+        public float PressureNum
+        {
+            get { return _PressureNum; }
+            set { SetProperty(ref _PressureNum, value); }
+        }
+
+        private float _PressureNumMax = 0;
+
+        public float PressureNumMax
+        {
+            get { return _PressureNumMax; }
+            set { SetProperty(ref _PressureNumMax, value); }
+        }
+
+        private float _PressureUpLimit = 0;
+
+        public float PressureUpLimit
+        {
+            get { return _PressureUpLimit; }
+            set { SetProperty(ref _PressureUpLimit, value); }
+        }
+
+        private float _PressureDownLimit = 0;
+
+        public float PressureDownLimit
+        {
+            get { return _PressureDownLimit; }
+            set { SetProperty(ref _PressureDownLimit, value); }
+        }
+
+    }
+}

+ 0 - 8
TeamAAS-VM/Resources/Languages/Lang.Designer.cs

@@ -7926,14 +7926,6 @@ namespace TeamAAS_VP.Resources.Languages {
             }
         }
         
-        /// <summary>
-        ///   查找类似 视觉静态精度分析 的本地化字符串。
-        /// </summary>
-        public static string 视觉静态精度分析 {
-            get {
-                return ResourceManager.GetString("视觉静态精度分析", resourceCulture);
-            }
-        }
         
         /// <summary>
         ///   查找类似 触发命令 的本地化字符串。

+ 1 - 0
TeamAAS-VM/TeamAAS-VP.csproj

@@ -541,6 +541,7 @@
     <Compile Include="Models\DeviceInfo.cs" />
     <Compile Include="Models\Feeder\ScrewFeederInfo.cs" />
     <Compile Include="Models\PhotoCaptureRecord.cs" />
+    <Compile Include="Models\PressureModel.cs" />
     <Compile Include="Models\ScrewFeederBatchRecord.cs" />
     <Compile Include="Services\MesService.cs" />
     <Compile Include="ValueConverter\CountToColumnsConverter.cs" />

+ 1 - 0
TeamAAS-VM/ViewModels/HomeViewModel.cs

@@ -272,6 +272,7 @@ namespace TeamAAS_VP.ViewModels
                     var task = DialogHost.Show(waiting, "RootDialog", null, null, null);
                     _productService.LoadProduct(product.ID);
                     _productService.SetCurrentProduct(product.ID);
+                    await management.WriteParameterToPlcAsync();
                     await management.WritePositionToPlcAsync();
                     if (DialogHost.IsDialogOpen("RootDialog"))
                     {

+ 1 - 0
TeamAAS-VM/ViewModels/MainWindowViewModel.cs

@@ -355,6 +355,7 @@ namespace TeamAAS_VP.ViewModels
                     }
                 }
                 _container.Resolve<ShowVisionRenderViewModel>().Renders = management.Renders;
+                await management.WriteParameterToPlcAsync();
                 await management.WritePositionToPlcAsync();
             }
             var homeviewmodel = _container.Resolve<HomeViewModel>();

+ 22 - 0
TeamAAS-VM/ViewModels/SettingViewModel.cs

@@ -14,6 +14,7 @@ using System.Collections.ObjectModel;
 using System.ComponentModel;
 using System.Drawing.Drawing2D;
 using System.Globalization;
+using System.IO;
 using System.Linq;
 using System.Text;
 using System.Windows;
@@ -56,6 +57,14 @@ namespace TeamAAS_VP.ViewModels
 
         #region 属性
 
+        private PressureModel _DownPressureConfig = new PressureModel();
+
+        public PressureModel DownPressureConfig
+        {
+            get { return _DownPressureConfig; }
+            set { SetProperty(ref _DownPressureConfig, value); }
+        }
+
         private Management _management;
 
         public Management management
@@ -1186,7 +1195,18 @@ namespace TeamAAS_VP.ViewModels
 
         private void OnLoad()
         {
+            try
+            {
+                if (!File.Exists(FilePath.PressureParamterConfigPath))
+                {
+                    FileHelper.WriteJsonFile(DownPressureConfig, FilePath.PressureParamterConfigPath);
+                }
+                DownPressureConfig = FileHelper.ReadJsonFile<PressureModel>(FilePath.PressureParamterConfigPath);
+            }
+            catch (Exception)
+            {
 
+            }
         }
 
         private void OnPropertyChanged(object sender, PropertyChangedEventArgs e)
@@ -1536,6 +1556,8 @@ namespace TeamAAS_VP.ViewModels
             {
                 try
                 {
+                    FileHelper.WriteJsonFile(DownPressureConfig, FilePath.PressureParamterConfigPath);
+                    ExecuteSaveCardReaderConfigCommand();
                     var sysConfig = _configService.GetSystemConfiguration();
                     sysConfig.WorkMode = WorkMode;
                     sysConfig.PickPointNum = PickPointNum;

+ 162 - 77
TeamAAS-VM/Views/SettingView.xaml

@@ -2642,83 +2642,168 @@ Grid.Row="1">
                             </StackPanel>
                         </Grid>
                         <!--刷卡参数配置-->
-                        <GroupBox Grid.Row="5"
-                                  Grid.ColumnSpan="2"
-                                  Header="刷卡器配置"
-                                  HorizontalAlignment="Left"
-                                  MinWidth="400"
-                                  Margin="0,12,0,0">
-                            <Grid Margin="10">
-                                <Grid.ColumnDefinitions>
-                                    <ColumnDefinition Width="auto" />
-                                    <ColumnDefinition Width="*" />
-                                </Grid.ColumnDefinitions>
-                                <Grid.RowDefinitions>
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                    <RowDefinition Height="Auto" />
-                                </Grid.RowDefinitions>
-                                <TextBlock Text="PortName:"
-                                           Grid.Row="0"
-                                           Grid.Column="0"
-                                           HorizontalAlignment="Right" />
-                                <TextBox Text="{Binding CardReaderConfig.PortName,Mode=TwoWay}"
-                                         Grid.Row="0"
-                                         Grid.Column="1"
-                                         Margin="6,0" />
-                                <TextBlock Text="BaudRate:"
-                                           Grid.Row="1"
-                                           Grid.Column="0"
-                                           HorizontalAlignment="Right" />
-                                <TextBox Text="{Binding CardReaderConfig.BaudRate,Mode=TwoWay}"
-                                         Grid.Row="1"
-                                         Grid.Column="1"
-                                         Margin="6,0" />
-                                <TextBlock Text="Parity:"
-                                           Grid.Row="2"
-                                           Grid.Column="0"
-                                           HorizontalAlignment="Right" />
-                                <ComboBox Grid.Row="2"
-                                          Grid.Column="1"
-                                          SelectedItem="{Binding CardReaderConfig.Parity,Mode=TwoWay}"
-                                          ItemsSource="{Binding Source={StaticResource Parity}}" />
-                                <TextBlock Text="StopBits:"
-                                           Grid.Row="3"
-                                           Grid.Column="0"
-                                           HorizontalAlignment="Right" />
-                                <ComboBox Grid.Row="3"
-                                          Grid.Column="1"
-                                          SelectedItem="{Binding CardReaderConfig.StopBits,Mode=TwoWay}"
-                                          ItemsSource="{Binding Source={StaticResource StopBits}}" />
-                                <TextBlock Text="DataBits:"
-                                           Grid.Row="4"
-                                           Grid.Column="0"
-                                           HorizontalAlignment="Right" />
-                                <TextBox Text="{Binding CardReaderConfig.DataBits,Mode=TwoWay}"
-                                         Grid.Row="4"
-                                         Grid.Column="1"
-                                         Margin="6,0" />
-
-                                <Button Grid.Row="5"
-                                        Grid.Column="1"
-                                        Margin="0,6"
-                                        Style="{StaticResource MaterialDesignRaisedButton}"
-                                        materialDesign:ButtonAssist.CornerRadius="10"
-                                        MinWidth="120"
-                                        Command="{Binding SaveCardReaderConfigCommand}">
-                                    <StackPanel Orientation="Horizontal"
-                                                HorizontalAlignment="Center">
-                                        <materialDesign:PackIcon Kind="ContentSaveCheck"
-                                                                 Margin="0,0,6,0" />
-                                        <TextBlock VerticalAlignment="Center"
-                                                   Text="保存刷卡器配置" />
-                                    </StackPanel>
-                                </Button>
-                            </Grid>
-                        </GroupBox>
+                        <!--刷卡参数配置-->
+                        <StackPanel Grid.Row="5"
+                                    Margin="0,12,0,0"
+                                    Orientation="Horizontal">
+                            <!--刷卡参数配置-->
+                            <GroupBox Header="刷卡器配置"
+                                      Width="200"
+                                      Margin="0,0,20,0"
+                                      HorizontalAlignment="Left">
+                                <Grid Margin="10">
+                                    <Grid.ColumnDefinitions>
+                                        <ColumnDefinition Width="auto" />
+                                        <ColumnDefinition Width="*" />
+                                    </Grid.ColumnDefinitions>
+                                    <Grid.RowDefinitions>
+                                        <RowDefinition Height="Auto" />
+                                        <RowDefinition Height="Auto" />
+                                        <RowDefinition Height="Auto" />
+                                        <RowDefinition Height="Auto" />
+                                        <RowDefinition Height="Auto" />
+                                        <RowDefinition Height="Auto" />
+                                    </Grid.RowDefinitions>
+                                    <TextBlock Text="PortName:"
+                                               Grid.Row="0"
+                                               Grid.Column="0"
+                                               HorizontalAlignment="Right" />
+                                    <TextBox Text="{Binding CardReaderConfig.PortName,Mode=TwoWay}"
+                                             Grid.Row="0"
+                                             Grid.Column="1"
+                                             Margin="6,0" />
+                                    <TextBlock Text="BaudRate:"
+                                               Grid.Row="1"
+                                               Grid.Column="0"
+                                               HorizontalAlignment="Right" />
+                                    <TextBox Text="{Binding CardReaderConfig.BaudRate,Mode=TwoWay}"
+                                             Grid.Row="1"
+                                             Grid.Column="1"
+                                             Margin="6,0" />
+                                    <TextBlock Text="Parity:"
+                                               Grid.Row="2"
+                                               Grid.Column="0"
+                                               HorizontalAlignment="Right" />
+                                    <ComboBox Grid.Row="2"
+                                              Grid.Column="1"
+                                              SelectedItem="{Binding CardReaderConfig.Parity,Mode=TwoWay}"
+                                              ItemsSource="{Binding Source={StaticResource Parity}}" />
+                                    <TextBlock Text="StopBits:"
+                                               Grid.Row="3"
+                                               Grid.Column="0"
+                                               HorizontalAlignment="Right" />
+                                    <ComboBox Grid.Row="3"
+                                              Grid.Column="1"
+                                              SelectedItem="{Binding CardReaderConfig.StopBits,Mode=TwoWay}"
+                                              ItemsSource="{Binding Source={StaticResource StopBits}}" />
+                                    <TextBlock Text="DataBits:"
+                                               Grid.Row="4"
+                                               Grid.Column="0"
+                                               HorizontalAlignment="Right" />
+                                    <TextBox Text="{Binding CardReaderConfig.DataBits,Mode=TwoWay}"
+                                             Grid.Row="4"
+                                             Grid.Column="1"
+                                             Margin="6,0" />
+
+                                    <!--<Button Grid.Row="5"
+        Grid.Column="0"
+        Grid.ColumnSpan="2"
+        Margin="0,6"
+        Style="{StaticResource MaterialDesignRaisedButton}"
+        materialDesign:ButtonAssist.CornerRadius="10"
+        MinWidth="120"
+        Command="{Binding SaveCardReaderConfigCommand}">
+    <StackPanel Orientation="Horizontal"
+                HorizontalAlignment="Center">
+        <materialDesign:PackIcon Kind="ContentSaveCheck"
+                                 Margin="0,0,6,0" />
+        <TextBlock VerticalAlignment="Center"
+                   Text="保存刷卡器配置" />
+    </StackPanel>
+</Button>-->
+                                </Grid>
+                            </GroupBox>
+                            <GroupBox Header="A_Camera Assy配置"
+                                      Margin="20,0"
+                                      Width="200">
+                                <Grid Margin="10">
+                                    <Grid.ColumnDefinitions>
+                                        <ColumnDefinition Width="auto" />
+                                        <ColumnDefinition Width="*" />
+                                        <ColumnDefinition Width="auto" />
+                                    </Grid.ColumnDefinitions>
+                                    <Grid.RowDefinitions>
+                                        <RowDefinition Height="Auto" />
+                                        <RowDefinition Height="Auto" />
+                                        <RowDefinition Height="Auto" />
+                                        <RowDefinition Height="Auto" />
+                                        <RowDefinition Height="Auto" />
+                                        <RowDefinition Height="Auto" />
+                                    </Grid.RowDefinitions>
+                                    <TextBlock Text="保压时间:"
+                                               Grid.Row="0"
+                                               Grid.Column="0"
+                                               HorizontalAlignment="Right" />
+                                    <TextBox Text="{Binding DownPressureConfig.PressureTime,Mode=TwoWay}"
+                                             Grid.Row="0"
+                                             Grid.Column="1"
+                                             Margin="6,0" />
+                                    <TextBlock Text="ms"
+                                               Grid.Row="0"
+                                               Grid.Column="2"
+                                               HorizontalAlignment="Right" />
+                                    <TextBlock Text="保压压力:"
+                                               Grid.Row="1"
+                                               Grid.Column="0"
+                                               HorizontalAlignment="Right" />
+                                    <TextBox Text="{Binding DownPressureConfig.PressureNum,Mode=TwoWay}"
+                                             Grid.Row="1"
+                                             Grid.Column="1"
+                                             Margin="6,0" />
+                                    <TextBlock Text="kg"
+                                               Grid.Row="1"
+                                               Grid.Column="2"
+                                               HorizontalAlignment="Right" />
+                                    <TextBlock Text="保压最大值:"
+                                               Grid.Row="2"
+                                               Grid.Column="0"
+                                               HorizontalAlignment="Right" />
+                                    <TextBox Text="{Binding DownPressureConfig.PressureNumMax,Mode=TwoWay}"
+                                             Grid.Row="2"
+                                             Grid.Column="1"
+                                             Margin="6,0" />
+                                    <TextBlock Text="kg"
+                                               Grid.Row="2"
+                                               Grid.Column="2"
+                                               HorizontalAlignment="Right" />
+                                    <TextBlock Text="保压上限:"
+                                               Grid.Row="4"
+                                               Grid.Column="0"
+                                               HorizontalAlignment="Right" />
+                                    <TextBox Text="{Binding DownPressureConfig.PressureUpLimit,Mode=TwoWay}"
+                                             Grid.Row="4"
+                                             Grid.Column="1"
+                                             Margin="6,0" />
+                                    <TextBlock Text="kg"
+                                               Grid.Row="4"
+                                               Grid.Column="2"
+                                               HorizontalAlignment="Right" />
+                                    <TextBlock Text="保压下限:"
+                                               Grid.Row="5"
+                                               Grid.Column="0"
+                                               HorizontalAlignment="Right" />
+                                    <TextBox Text="{Binding DownPressureConfig.PressureDownLimit,Mode=TwoWay}"
+                                             Grid.Row="5"
+                                             Grid.Column="1"
+                                             Margin="6,0" />
+                                    <TextBlock Text="kg"
+                                               Grid.Row="5"
+                                               Grid.Column="2"
+                                               HorizontalAlignment="Right" />
+                                </Grid>
+                            </GroupBox>
+                        </StackPanel>
+
                     </StackPanel>
                 </ScrollViewer>
             </TabItem>