diff --git a/BPASmartClient.MORKSM.BK.PLC/PLCMachine.cs b/BPASmartClient.MORKSM.BK.PLC/PLCMachine.cs
index eb34ff5e..a14a0740 100644
--- a/BPASmartClient.MORKSM.BK.PLC/PLCMachine.cs
+++ b/BPASmartClient.MORKSM.BK.PLC/PLCMachine.cs
@@ -52,11 +52,6 @@ namespace BPASmartClient.PLC
});
}
- //public override void ReadData(string address)
- //{
-
- //}
-
public override void Start()
{
diff --git a/BPASmartClient.MORKSM.BK.PLC/PLCReadParameter.cs b/BPASmartClient.MORKSM.BK.PLC/PLCReadParameter.cs
deleted file mode 100644
index d95ebdd1..00000000
--- a/BPASmartClient.MORKSM.BK.PLC/PLCReadParameter.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-using BPASmartClient.Modbus;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace BPASmartClient.PLC
-{
- ///
- /// PLC读取参数
- ///
- internal class PLCReadParameter
- {
- ///
- /// 读取类型
- ///
- internal CommandType CmdType { get; set; }
- ///
- /// 地址
- ///
- internal string Address { get; set; }
- ///
- /// 长度
- ///
- internal ushort Length { get; set; }
-
- ///
- /// 配置转模型
- ///
- /// M,M0.3,3;M,M100.0,16;M,M235.0,1;M,M102,7;M,M103,6;VW,VW372,1
- /// 读取参数模型
- public static List DeSerialize(string content)
- {
- List result = new List();
- var wholeTemp = content.Split(';');
- foreach (var temp in wholeTemp)
- {
- if (temp.Contains(","))
- {
- var subTemp = temp.Split(',');
- if (null != subTemp && subTemp.Length == 3)
- {
- PLCReadParameter parameter = new PLCReadParameter();
- switch (subTemp[0])
- {
- case "M":
- parameter.CmdType = CommandType.Coils;
- break;
- case "VW":
- parameter.CmdType = CommandType.HoldingRegisters;
- break;
- }
- parameter.Address = subTemp[1];
- parameter.Length = ushort.Parse(subTemp[2]);
- result.Add(parameter);
- }
- }
- }
- return result;
- }
- }
-}
diff --git a/BPASmartClient.Model/ReadDataModel.cs b/BPASmartClient.Model/ReadDataModel.cs
new file mode 100644
index 00000000..2057c4b8
--- /dev/null
+++ b/BPASmartClient.Model/ReadDataModel.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BPASmartClient.Model
+{
+ public class ReadDataModel
+ {
+ ///
+ /// 读取数据的地址
+ ///
+ public string Address { get; set; }
+ ///
+ /// 读取数据的长度
+ ///
+ public ushort Length { get; set; }
+ ///
+ /// 读取数据的参数
+ ///
+ public object ReadPar { get; set; }
+ }
+}
diff --git a/DosingSystem/App.xaml b/DosingSystem/App.xaml
new file mode 100644
index 00000000..1f7b318e
--- /dev/null
+++ b/DosingSystem/App.xaml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DosingSystem/App.xaml.cs b/DosingSystem/App.xaml.cs
new file mode 100644
index 00000000..c3181d4e
--- /dev/null
+++ b/DosingSystem/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace DosingSystem
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ }
+}
diff --git a/DosingSystem/AssemblyInfo.cs b/DosingSystem/AssemblyInfo.cs
new file mode 100644
index 00000000..8b5504ec
--- /dev/null
+++ b/DosingSystem/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/DosingSystem/DosingSystem.csproj b/DosingSystem/DosingSystem.csproj
new file mode 100644
index 00000000..d6a336b5
--- /dev/null
+++ b/DosingSystem/DosingSystem.csproj
@@ -0,0 +1,19 @@
+
+
+
+ WinExe
+ net6.0-windows
+ enable
+ true
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DosingSystem/View/MainWindow.xaml b/DosingSystem/View/MainWindow.xaml
new file mode 100644
index 00000000..13c9c52f
--- /dev/null
+++ b/DosingSystem/View/MainWindow.xaml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DosingSystem/View/MainWindow.xaml.cs b/DosingSystem/View/MainWindow.xaml.cs
new file mode 100644
index 00000000..a8e499cd
--- /dev/null
+++ b/DosingSystem/View/MainWindow.xaml.cs
@@ -0,0 +1,34 @@
+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;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace DosingSystem.View
+{
+ ///
+ /// Interaction logic for MainWindow.xaml
+ ///
+ public partial class MainWindow : Window
+ {
+ public MainWindow()
+ {
+ InitializeComponent();
+ this.MoveBorder.MouseLeftButtonDown += (o, e) => { this.DragMove(); };
+ this.ButMin.Click += (o, e) => { this.WindowState = WindowState.Minimized; };
+ this.ButMax.Click += (o, e) => { this.WindowState = this.WindowState == WindowState.Maximized ? WindowState.Normal : WindowState.Maximized; };
+ this.ButClose.Click += (o, e) => { this.Close(); };
+ this.MaxWidth = SystemParameters.WorkArea.Width;
+ this.MaxHeight = SystemParameters.WorkArea.Height;
+ }
+ }
+}
diff --git a/DosingSystem/ViewModel/MainViewModel.cs b/DosingSystem/ViewModel/MainViewModel.cs
new file mode 100644
index 00000000..7171f3dd
--- /dev/null
+++ b/DosingSystem/ViewModel/MainViewModel.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Microsoft.Toolkit.Mvvm.ComponentModel;
+using System.Collections.Concurrent;
+using System.Collections.ObjectModel;
+using System.Windows;
+
+
+namespace DosingSystem.ViewModel
+{
+ public class MainViewModel : ObservableObject
+ {
+ public MainViewModel()
+ {
+
+ }
+ }
+}
diff --git a/SmartClient.sln b/SmartClient.sln
index 724fab52..c8f38e78 100644
--- a/SmartClient.sln
+++ b/SmartClient.sln
@@ -84,13 +84,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MorkTLebaiJC
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MorkTJAKAJC", "BPASmartClient.Morkt.JAKA.JC\BPASmartClient.MorkTJAKAJC.csproj", "{6B0FD858-A60D-41B9-A923-358B0CE2A254}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BPASmartClient.MCU", "BPASmartClient.MCU\BPASmartClient.MCU.csproj", "{1C7E17B3-40E0-44ED-B8E0-C52D824604DB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.MCU", "BPASmartClient.MCU\BPASmartClient.MCU.csproj", "{1C7E17B3-40E0-44ED-B8E0-C52D824604DB}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BPASmartClient.JakaRobot", "BPASmartClient.JakaRobot\BPASmartClient.JakaRobot.csproj", "{1055EA6E-6C10-4A0D-A053-85871AF8D7A9}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.JakaRobot", "BPASmartClient.JakaRobot\BPASmartClient.JakaRobot.csproj", "{1055EA6E-6C10-4A0D-A053-85871AF8D7A9}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BPASmartClient.JAKA", "BPASmartClient.JAKA\BPASmartClient.JAKA.csproj", "{C935435D-6182-4A01-8E59-B832B2FF0D72}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.JAKA", "BPASmartClient.JAKA\BPASmartClient.JAKA.csproj", "{C935435D-6182-4A01-8E59-B832B2FF0D72}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BPASmartClient.Juicer", "BPASmartClient.Juicer\BPASmartClient.Juicer.csproj", "{C28A88B1-E449-484C-AC67-B5038FF2CA79}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BPASmartClient.Juicer", "BPASmartClient.Juicer\BPASmartClient.Juicer.csproj", "{C28A88B1-E449-484C-AC67-B5038FF2CA79}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DosingSystem", "DosingSystem\DosingSystem.csproj", "{4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -826,6 +828,26 @@ Global
{C28A88B1-E449-484C-AC67-B5038FF2CA79}.Release|x64.Build.0 = Release|Any CPU
{C28A88B1-E449-484C-AC67-B5038FF2CA79}.Release|x86.ActiveCfg = Release|Any CPU
{C28A88B1-E449-484C-AC67-B5038FF2CA79}.Release|x86.Build.0 = Release|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Debug|ARM.Build.0 = Debug|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Debug|x64.Build.0 = Debug|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Debug|x86.Build.0 = Debug|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|ARM.ActiveCfg = Release|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|ARM.Build.0 = Release|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|ARM64.Build.0 = Release|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|x64.ActiveCfg = Release|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|x64.Build.0 = Release|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|x86.ActiveCfg = Release|Any CPU
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -867,6 +889,7 @@ Global
{1055EA6E-6C10-4A0D-A053-85871AF8D7A9} = {3D1D0E04-03FD-480A-8CF8-6E01A2E28625}
{C935435D-6182-4A01-8E59-B832B2FF0D72} = {666CB1A9-562E-453A-A2C7-FD9D77CFDFDD}
{C28A88B1-E449-484C-AC67-B5038FF2CA79} = {666CB1A9-562E-453A-A2C7-FD9D77CFDFDD}
+ {4E0B01AD-CFD0-4BD5-BBE6-AD2A4183B4DB} = {8712125E-14CD-4E1B-A1CE-4BDE03805942}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {9AEC9B81-0222-4DE9-B642-D915C29222AC}