diff --git a/BPASmartClient.CustomResource/Themes/MyStyle.xaml b/BPASmartClient.CustomResource/Themes/MyStyle.xaml
index 4cf9e73a..535552ab 100644
--- a/BPASmartClient.CustomResource/Themes/MyStyle.xaml
+++ b/BPASmartClient.CustomResource/Themes/MyStyle.xaml
@@ -451,7 +451,7 @@
+
+
+
+
-
-
-
+
+
+
+
+
+
+
-
+
-
+
@@ -266,44 +1127,41 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
+
@@ -314,41 +1172,83 @@
-
-
+
-
-
- 炒锅(1)号
+
+
+
+
+
+
+
+
+
+
+ 炒锅(1)号
-
- 炒锅(2)号
+
+ 炒锅(2)号
-
- 炒锅(3)号
+
+ 炒锅(3)号
-
- 炒锅(4)号
+
+ 炒锅(4)号
-
- 炒锅(5)号
+
+ 炒锅(5)号
-
+
-
-
- 满料桶滚筒线
-
-
-
-
- 空桶滚筒线
+
+
+ 满料桶滚筒线
+
+ (1)号
+
+ (2)号
+
+ (3)号
+
+ 空桶滚筒线
@@ -374,21 +1274,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/FryPot_DosingSystem/View/AgvView.xaml.cs b/FryPot_DosingSystem/View/AgvView.xaml.cs
index 5792930a..de598ba4 100644
--- a/FryPot_DosingSystem/View/AgvView.xaml.cs
+++ b/FryPot_DosingSystem/View/AgvView.xaml.cs
@@ -1,4 +1,5 @@
-using FryPot_DosingSystem.ViewModel;
+using FryPot_DosingSystem.AGV;
+using FryPot_DosingSystem.ViewModel;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -30,38 +31,42 @@ namespace FryPot_DosingSystem.View
private void Button_Click(object sender, RoutedEventArgs e)
{
- AnimationByPath(yunshuche,qc_1);
+ // AgvViewModel.GetInstance().cartModel_1.cartMotionTrajectory = CartMotionTrajectory.Stop;
+ AgvViewModel.GetInstance().ParkingPileModel_1.isBool = IsBool.No;
+ AgvViewModel.GetInstance().cartModel_1.isBool=IsBool.No;
+ AgvViewModel.GetInstance().cartModel_1.cartMotionTrajectory = CartMotionTrajectory.qc_1;
+
+
}
- ///
- /// 路径动画
- ///
- /// 画板
- /// 路径
- /// 动画对象
- /// 时间
- private void AnimationByPath(TextBox target, Path path, int duration = 5)
+ private void Button_Click_1(object sender, RoutedEventArgs e)
{
- target.RenderTransformOrigin = new Point(0.5, 0.5);
+ AgvViewModel.GetInstance().RollerLines_1.isRun = IsRun.Start;
+ }
- MatrixTransform matrix = new MatrixTransform();
- TransformGroup groups = new TransformGroup();
- groups.Children.Add(matrix);
- target.RenderTransform = groups;
- string registname = "matrix" + Guid.NewGuid().ToString().Replace("-", "");
- this.RegisterName(registname, matrix);
- MatrixAnimationUsingPath matrixAnimation = new MatrixAnimationUsingPath();
- matrixAnimation.PathGeometry = PathGeometry.CreateFromGeometry(Geometry.Parse(path.Data.ToString()));
- matrixAnimation.Duration = new Duration(TimeSpan.FromSeconds(duration));
- matrixAnimation.DoesRotateWithTangent = true;//跟随路径旋转
- matrixAnimation.RepeatBehavior = RepeatBehavior.Forever;//循环
- Storyboard story = new Storyboard();
- story.Children.Add(matrixAnimation);
- Storyboard.SetTargetName(matrixAnimation, registname);
- Storyboard.SetTargetProperty(matrixAnimation, new PropertyPath(MatrixTransform.MatrixProperty));
+ private void StopButton_Click(object sender, RoutedEventArgs e)
+ {
+ AgvViewModel.GetInstance().RollerLines_1.isRun = IsRun.Stop;
+ AgvViewModel.GetInstance().cartModel_1.isBool = IsBool.Yes;
+ AgvViewModel.GetInstance().cartModel_1.cartMotionTrajectory = CartMotionTrajectory.yc_1_1;
+ }
+
+ private void Button_Click_2(object sender, RoutedEventArgs e)
+ {
+ AgvViewModel.GetInstance().cartModel_1.isBool = IsBool.No;
+ AgvViewModel.GetInstance().cartModel_1.cartMotionTrajectory = CartMotionTrajectory.hs_1;
+ }
- story.FillBehavior = FillBehavior.Stop;
- story.Begin(target, true);
- }
+ private void Button_Click_3(object sender, RoutedEventArgs e)
+ {
+ AgvViewModel.GetInstance().cartModel_1.cartMotionTrajectory = CartMotionTrajectory.hj;
+ AgvViewModel.GetInstance().ParkingPileModel_1.isBool = IsBool.Yes;
+ }
+
+ private void Button_Click_4(object sender, RoutedEventArgs e)
+ {
+ AgvViewModel.GetInstance().cartModel_1.cartMotionTrajectory = CartMotionTrajectory.Stop;
+
+ }
}
}
diff --git a/FryPot_DosingSystem/ViewModel/AgvViewModel.cs b/FryPot_DosingSystem/ViewModel/AgvViewModel.cs
index a13e0d1c..c6a29caf 100644
--- a/FryPot_DosingSystem/ViewModel/AgvViewModel.cs
+++ b/FryPot_DosingSystem/ViewModel/AgvViewModel.cs
@@ -1,4 +1,5 @@
-using Microsoft.Toolkit.Mvvm.ComponentModel;
+using FryPot_DosingSystem.AGV;
+using Microsoft.Toolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -17,11 +18,479 @@ namespace FryPot_DosingSystem.ViewModel
public static AgvViewModel GetInstance() => _Instance ?? (_Instance = new AgvViewModel());
public AgvViewModel()
{
+ Init();
+ }
+ #endregion
+
+ #region 私有函数
+ public void Init()
+ {
+ //初始化车辆控制
+ cartModel_1 = new CartModel();
+ cartModel_2 = new CartModel();
+ cartModel_3 = new CartModel();
+ cartModel_4 = new CartModel();
+
+ RollerLines_1 = new RollerLinesModel();
+ RollerLines_2 = new RollerLinesModel();
+ RollerLines_3 = new RollerLinesModel();
+ RollerLines_4 = new RollerLinesModel();
+
+ ParkingPileModel_1 = new ParkingPileModel { isBool = IsBool.Yes };
+ ParkingPileModel_2 = new ParkingPileModel { isBool = IsBool.Yes };
+ ParkingPileModel_3 = new ParkingPileModel { isBool = IsBool.Yes };
+ ParkingPileModel_4 = new ParkingPileModel { isBool = IsBool.Yes };
+ ParkingPileModel_5 = new ParkingPileModel { isBool = IsBool.No };
+ ParkingPileModel_6 = new ParkingPileModel { isBool = IsBool.No };
+
+ RollerLines_2.DishesNum = "3";
+ }
+ #endregion
+
+ #region 公共函数
+ #endregion
+
+ #region 4个滚筒线控制
+ ///
+ /// 一号滚筒线
+ ///
+ private RollerLinesModel _RollerLines_1;
+ public RollerLinesModel RollerLines_1
+ {
+ get
+ {
+ return _RollerLines_1;
+ }
+ set
+ {
+ if (_RollerLines_1 == value)
+ return;
+ _RollerLines_1 = value;
+ OnPropertyChanged("RollerLines_1");
+ }
+ }
+ ///
+ /// 二号滚筒线
+ ///
+ private RollerLinesModel _RollerLines_2;
+ public RollerLinesModel RollerLines_2
+ {
+ get
+ {
+ return _RollerLines_2;
+ }
+ set
+ {
+ if (_RollerLines_2 == value)
+ return;
+ _RollerLines_2 = value;
+ OnPropertyChanged("RollerLines_2");
+ }
+ }
+ ///
+ /// 三号滚筒线
+ ///
+ private RollerLinesModel _RollerLines_3;
+ public RollerLinesModel RollerLines_3
+ {
+ get
+ {
+ return _RollerLines_3;
+ }
+ set
+ {
+ if (_RollerLines_3 == value)
+ return;
+ _RollerLines_3 = value;
+ OnPropertyChanged("RollerLines_3");
+ }
+ }
+ ///
+ /// 四号滚筒线
+ ///
+ private RollerLinesModel _RollerLines_4;
+ public RollerLinesModel RollerLines_4
+ {
+ get
+ {
+ return _RollerLines_4;
+ }
+ set
+ {
+ if (_RollerLines_4 == value)
+ return;
+ _RollerLines_4 = value;
+ OnPropertyChanged("RollerLines_4");
+ }
}
#endregion
- //public ObservableCollection menus { get; set; } = new ObservableCollection();
+ #region 4个运动小车控制
+ ///
+ /// 一号车控制
+ ///
+ private CartModel _cartModel_1;
+ public CartModel cartModel_1
+ {
+ get
+ {
+ return _cartModel_1;
+ }
+ set
+ {
+ if (_cartModel_1 == value)
+ return;
+ _cartModel_1 = value;
+ OnPropertyChanged("cartModel_1");
+ }
+ }
+ ///
+ /// 二号车控制
+ ///
+ private CartModel _cartModel_2;
+ public CartModel cartModel_2
+ {
+ get
+ {
+ return _cartModel_2;
+ }
+ set
+ {
+ if (_cartModel_2 == value)
+ return;
+ _cartModel_2 = value;
+ OnPropertyChanged("cartModel_2");
+ }
+ }
+ ///
+ /// 三号车控制
+ ///
+ private CartModel _cartModel_3;
+ public CartModel cartModel_3
+ {
+ get
+ {
+ return _cartModel_3;
+ }
+ set
+ {
+ if (_cartModel_3 == value)
+ return;
+ _cartModel_3 = value;
+ OnPropertyChanged("cartModel_3");
+ }
+ }
+ ///
+ /// 四号车控制
+ ///
+ private CartModel _cartModel_4;
+ public CartModel cartModel_4
+ {
+ get
+ {
+ return _cartModel_4;
+ }
+ set
+ {
+ if (_cartModel_4 == value)
+ return;
+ _cartModel_4 = value;
+ OnPropertyChanged("cartModel_4");
+ }
+ }
+ #endregion
+
+ #region 6个停车桩控制
+ ///
+ /// 一号停车装
+ ///
+ private ParkingPileModel _ParkingPileModel_1;
+ public ParkingPileModel ParkingPileModel_1
+ {
+ get
+ {
+ return _ParkingPileModel_1;
+ }
+ set
+ {
+ if (_ParkingPileModel_1 == value)
+ return;
+ _ParkingPileModel_1 = value;
+ OnPropertyChanged("ParkingPileModel_1");
+ }
+ }
+ ///
+ /// 二号停车装
+ ///
+ private ParkingPileModel _ParkingPileModel_2;
+ public ParkingPileModel ParkingPileModel_2
+ {
+ get
+ {
+ return _ParkingPileModel_2;
+ }
+ set
+ {
+ if (_ParkingPileModel_2 == value)
+ return;
+ _ParkingPileModel_2 = value;
+ OnPropertyChanged("ParkingPileModel_2");
+ }
+ }
+ ///
+ /// 三号停车装
+ ///
+ private ParkingPileModel _ParkingPileModel_3;
+ public ParkingPileModel ParkingPileModel_3
+ {
+ get
+ {
+ return _ParkingPileModel_3;
+ }
+ set
+ {
+ if (_ParkingPileModel_3 == value)
+ return;
+ _ParkingPileModel_3 = value;
+ OnPropertyChanged("ParkingPileModel_3");
+ }
+ }
+ ///
+ /// 四号停车装
+ ///
+ private ParkingPileModel _ParkingPileModel_4;
+ public ParkingPileModel ParkingPileModel_4
+ {
+ get
+ {
+ return _ParkingPileModel_4;
+ }
+ set
+ {
+ if (_ParkingPileModel_4 == value)
+ return;
+ _ParkingPileModel_4 = value;
+ OnPropertyChanged("ParkingPileModel_4");
+ }
+ }
+ ///
+ /// 五号停车装
+ ///
+ private ParkingPileModel _ParkingPileModel_5;
+ public ParkingPileModel ParkingPileModel_5
+ {
+ get
+ {
+ return _ParkingPileModel_5;
+ }
+ set
+ {
+ if (_ParkingPileModel_5 == value)
+ return;
+ _ParkingPileModel_5 = value;
+ OnPropertyChanged("ParkingPileModel_5");
+ }
+ }
+ ///
+ /// 六号停车装
+ ///
+ private ParkingPileModel _ParkingPileModel_6;
+ public ParkingPileModel ParkingPileModel_6
+ {
+ get
+ {
+ return _ParkingPileModel_6;
+ }
+ set
+ {
+ if (_ParkingPileModel_6 == value)
+ return;
+ _ParkingPileModel_6 = value;
+ OnPropertyChanged("ParkingPileModel_6");
+ }
+ }
+ #endregion
+
+ }
+
+ ///
+ /// 小车控制Model
+ ///
+ public class CartModel : ObservableObject
+ {
+
+ ///
+ /// 车上是否有物品
+ ///
+ private IsBool _isBool = IsBool.No;
+ public IsBool isBool
+ {
+ get
+ {
+ return _isBool;
+ }
+ set
+ {
+ _isBool = value;
+ Text= _isBool.ToString();
+ OnPropertyChanged("isBool");
+ }
+ }
+
+ ///
+ /// 车运动轨迹方式
+ ///
+ private CartMotionTrajectory _cartMotionTrajectory = CartMotionTrajectory.Stop;
+ public CartMotionTrajectory cartMotionTrajectory
+ {
+ get
+ {
+ return _cartMotionTrajectory;
+ }
+ set
+ {
+ _cartMotionTrajectory = value;
+ Tag= _cartMotionTrajectory.ToString();
+ OnPropertyChanged("cartMotionTrajectory");
+ }
+ }
+ private string _Text = IsBool.No.ToString();
+ public string Text
+ {
+ get
+ {
+ return _Text;
+ }
+ set
+ {
+ _Text = value;
+ OnPropertyChanged("Text");
+ }
+ }
+ private string _Tag = CartMotionTrajectory.Stop.ToString();
+ public string Tag
+ {
+ get
+ {
+ return _Tag;
+ }
+ set
+ {
+ _Tag = value;
+ OnPropertyChanged("Tag");
+ }
+ }
}
+ ///
+ /// 停车装控制
+ ///
+ public class ParkingPileModel : ObservableObject
+ {
+ ///
+ /// 是否有小车
+ ///
+ private IsBool _isBool = IsBool.No;
+ public IsBool isBool
+ {
+ get
+ {
+ return _isBool;
+ }
+ set
+ {
+ _isBool = value;
+ Text = _isBool.ToString();
+ OnPropertyChanged("isBool");
+ }
+ }
+ private string _Text = IsBool.No.ToString();
+ public string Text
+ {
+ get
+ {
+ return _Text;
+ }
+ set
+ {
+ _Text = value;
+ OnPropertyChanged("Text");
+ }
+ }
+ }
+ ///
+ /// 滚筒线控制
+ ///
+ public class RollerLinesModel : ObservableObject
+ {
+ ///
+ /// 是否运行
+ ///
+ private IsRun _isRun = IsRun.Stop;
+ public IsRun isRun
+ {
+ get
+ {
+ return _isRun;
+ }
+ set
+ {
+ _isRun = value;
+ Text= _isRun.ToString();
+ OnPropertyChanged("isBool");
+ }
+ }
+ ///
+ /// 滚筒线上面的数量
+ ///
+ private string _DishesNum = "8";
+ public string DishesNum
+ {
+ get
+ {
+ return _DishesNum;
+ }
+ set
+ {
+ _DishesNum = value;
+ if (!string.IsNullOrEmpty(_DishesNum))
+ {
+ int count = 1;
+ try
+ {
+ count = int.Parse(_DishesNum);
+ if (count > 0 && count <= 8)
+ {
+ _DishesNum = count.ToString();
+ }
+ else
+ _DishesNum = 8.ToString();
+ }
+ catch (Exception ex)
+ {
+ _DishesNum = 8.ToString();
+ }
+ }
+ OnPropertyChanged("DishesNum");
+ }
+ }
+
+
+ private string _Text = IsRun.Stop.ToString();
+ public string Text
+ {
+ get
+ {
+ return _Text;
+ }
+ set
+ {
+ _Text = value;
+ OnPropertyChanged("Text");
+ }
+ }
+ }
+
+
}