@@ -0,0 +1,35 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
using System.Data; | |||||
using System.Windows.Data; | |||||
using System.Globalization; | |||||
using System.Windows.Media; | |||||
namespace BPASmartClient.CustomResource.Converters | |||||
{ | |||||
public class ForegroundConverter : IValueConverter | |||||
{ | |||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) | |||||
{ | |||||
SolidColorBrush returnValue = new SolidColorBrush(Color.FromArgb(255, 0, 204, 255)); | |||||
if (value != null) | |||||
{ | |||||
if (value.ToString() == "等待配料") | |||||
returnValue = new SolidColorBrush(Color.FromArgb(255, 236, 187, 17));//黄 FFECBB11 | |||||
else if (value.ToString() == "正在配料") | |||||
returnValue = new SolidColorBrush(Color.FromArgb(255, 22, 219, 234));//篮 FF16DBEA | |||||
else if (value.ToString() == "配料完成") | |||||
returnValue = new SolidColorBrush(Color.FromArgb(255, 43, 208, 111));//绿 FF2BD06F | |||||
} | |||||
return returnValue; | |||||
} | |||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) | |||||
{ | |||||
throw new NotImplementedException(); | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,48 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
using System.Data; | |||||
using System.Windows.Data; | |||||
using System.Globalization; | |||||
using System.Text.RegularExpressions; | |||||
using BPASmartClient.CustomResource.Pages.Enums; | |||||
namespace BPASmartClient.CustomResource.Converters | |||||
{ | |||||
public class StatusIconConverter : IValueConverter | |||||
{ | |||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) | |||||
{ | |||||
if (value != null) | |||||
{ | |||||
if (value.ToString() == Status.等待配料.ToString()) | |||||
return Regex.Unescape(StringToUnicode("")); | |||||
else if (value.ToString() == Status.正在配料.ToString()) | |||||
return Regex.Unescape(StringToUnicode("")); | |||||
else if (value.ToString() == Status.配料完成.ToString()) | |||||
return Regex.Unescape(StringToUnicode("")); | |||||
} | |||||
return value; | |||||
} | |||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) | |||||
{ | |||||
throw new NotImplementedException(); | |||||
} | |||||
/// <summary> | |||||
/// 字符串转为UniCode码字符串 | |||||
/// </summary> | |||||
public static string StringToUnicode(string s) | |||||
{ | |||||
if (!string.IsNullOrEmpty(s)) | |||||
{ | |||||
//这里把格式 转为 \ue625 | |||||
return s.Replace(@"&#x", @"\u").Replace(";", ""); | |||||
} | |||||
return s; | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,15 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
namespace BPASmartClient.CustomResource.Pages.Enums | |||||
{ | |||||
public enum Status | |||||
{ | |||||
等待配料, | |||||
正在配料, | |||||
配料完成 | |||||
} | |||||
} |
@@ -12,15 +12,15 @@ using BPASmartClient.CustomResource.Pages.View; | |||||
namespace BPASmartClient.CustomResource.Pages.Model | namespace BPASmartClient.CustomResource.Pages.Model | ||||
{ | { | ||||
public class MessageLog | |||||
public class MessageNotify | |||||
{ | { | ||||
private volatile static MessageLog _Instance; | |||||
public static MessageLog GetInstance => _Instance ??= new MessageLog(); | |||||
private volatile static MessageNotify _Instance; | |||||
public static MessageNotify GetInstance => _Instance ??= new MessageNotify(); | |||||
public static readonly object runLock = new object(); | public static readonly object runLock = new object(); | ||||
public static readonly object userlock = new object(); | public static readonly object userlock = new object(); | ||||
public static readonly object alarmlock = new object(); | public static readonly object alarmlock = new object(); | ||||
private MessageLog() { } | |||||
private MessageNotify() { } | |||||
public Action<string> UserLog { get; set; } | public Action<string> UserLog { get; set; } | ||||
@@ -75,7 +75,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
}); | }); | ||||
Config.GetInstance.SaveUser(); | Config.GetInstance.SaveUser(); | ||||
Info = $"Info:ID {CardNum} 添加成功;"; | Info = $"Info:ID {CardNum} 添加成功;"; | ||||
MessageLog.GetInstance.ShowRunLog($" ID {CardNum} 用户添加成功"); | |||||
MessageNotify.GetInstance.ShowRunLog($" ID {CardNum} 用户添加成功"); | |||||
Thread.Sleep(1000); | Thread.Sleep(1000); | ||||
ActionManage.GetInstance.Send("Exit"); | ActionManage.GetInstance.Send("Exit"); | ||||
} | } | ||||
@@ -96,7 +96,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
Global.userManager.userInfos.Remove(res); | Global.userManager.userInfos.Remove(res); | ||||
Config.GetInstance.SaveUser(); | Config.GetInstance.SaveUser(); | ||||
Info = $"Info:ID {CardNum} 注销成功;"; | Info = $"Info:ID {CardNum} 注销成功;"; | ||||
MessageLog.GetInstance.ShowRunLog($"ID {CardNum} 用户注销成功"); | |||||
MessageNotify.GetInstance.ShowRunLog($"ID {CardNum} 用户注销成功"); | |||||
Thread.Sleep(1000); | Thread.Sleep(1000); | ||||
ActionManage.GetInstance.Send("Exit"); | ActionManage.GetInstance.Send("Exit"); | ||||
} | } | ||||
@@ -121,6 +121,6 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
public ObservableCollection<RunLog> HistoryRunLog { get; set; } = new ObservableCollection<RunLog>(); | public ObservableCollection<RunLog> HistoryRunLog { get; set; } = new ObservableCollection<RunLog>(); | ||||
public ObservableCollection<RunLog> Log { get; set; } = MessageLog.GetInstance.runLogs; | |||||
public ObservableCollection<RunLog> Log { get; set; } = MessageNotify.GetInstance.runLogs; | |||||
} | } | ||||
} | } |
@@ -17,7 +17,7 @@ namespace BPASmartClient.CustomResource.Pages.ViewModel | |||||
public UserLogViewModel() | public UserLogViewModel() | ||||
{ | { | ||||
Sqlite<UserLog>.GetInstance.Save(); | Sqlite<UserLog>.GetInstance.Save(); | ||||
UserLogs = MessageLog.GetInstance.userLogs; | |||||
UserLogs = MessageNotify.GetInstance.userLogs; | |||||
SwitchCommand = new RelayCommand(() => | SwitchCommand = new RelayCommand(() => | ||||
{ | { | ||||
if (ButContent == "历史日志") | if (ButContent == "历史日志") | ||||
@@ -15,4 +15,132 @@ | |||||
<SolidColorBrush x:Key="BorderSolid" Color="#5523CACA" /> | <SolidColorBrush x:Key="BorderSolid" Color="#5523CACA" /> | ||||
<!--#region 颜色资源--> | |||||
<SolidColorBrush x:Key="FontColor" Color="#FF2AB2E7" /> | |||||
<SolidColorBrush x:Key="tabColor" Color="#FF2AB2E7" /> | |||||
<SolidColorBrush x:Key="bordColor" Color="#332AB2E7" /> | |||||
<!--#endregion--> | |||||
<!--#region 值转换器--> | |||||
<con:DataTableRedundantConverter x:Key="tabConvert" /> | |||||
<con:StatusIconConverter x:Key="StatusIconConverter" /> | |||||
<con:ForegroundConverter x:Key="ForegroundConverter" /> | |||||
<!--#endregion--> | |||||
<Style x:Key="TextBlockStyle" TargetType="TextBlock"> | |||||
<Setter Property="VerticalAlignment" Value="Center" /> | |||||
<Setter Property="HorizontalAlignment" Value="Right" /> | |||||
<Setter Property="Foreground" Value="{StaticResource FontColor}" /> | |||||
<Setter Property="FontSize" Value="20" /> | |||||
</Style> | |||||
<Style x:Key="TextBoxStyle" TargetType="TextBox"> | |||||
<Setter Property="FontFamily" Value="楷体" /> | |||||
<Setter Property="FontSize" Value="22" /> | |||||
<Setter Property="VerticalContentAlignment" Value="Center" /> | |||||
<Setter Property="Width" Value="188" /> | |||||
<Setter Property="Padding" Value="6,0,0,0" /> | |||||
<Setter Property="Height" Value="37" /> | |||||
<Setter Property="BorderThickness" Value="0" /> | |||||
<Setter Property="Foreground" Value="#009dff" /> | |||||
<Setter Property="BorderBrush" Value="#009dff" /> | |||||
<Setter Property="CaretBrush" Value="#009dff" /> | |||||
<Setter Property="VerticalAlignment" Value="Center" /> | |||||
<Setter Property="Background"> | |||||
<Setter.Value> | |||||
<ImageBrush ImageSource="/BPASmartClient.CustomResource;component/Image/textBox.png" Stretch="Fill" /> | |||||
</Setter.Value> | |||||
</Setter> | |||||
</Style> | |||||
<Style x:Key="InputTextboxStyle" TargetType="TextBox"> | |||||
<Setter Property="Margin" Value="5,0,0,0" /> | |||||
<Setter Property="BorderThickness" Value="0" /> | |||||
<Setter Property="HorizontalAlignment" Value="Left" /> | |||||
<Setter Property="Width" Value="150" /> | |||||
<Setter Property="Height" Value="40" /> | |||||
<Setter Property="CaretBrush" Value="{StaticResource TitleBorderColor}" /> | |||||
<Setter Property="Foreground" Value="{StaticResource TitleBorderColor}" /> | |||||
<Setter Property="VerticalContentAlignment" Value="Center" /> | |||||
<Setter Property="FontSize" Value="14" /> | |||||
<Setter Property="Background" Value="Transparent" /> | |||||
<Setter Property="VerticalAlignment" Value="Center" /> | |||||
</Style> | |||||
<Style x:Key="ControlButtonStyle" TargetType="Button"> | |||||
<Setter Property="Margin" Value="0" /> | |||||
<Setter Property="FontSize" Value="18" /> | |||||
<Setter Property="Foreground" Value="#FFF53F62" /> | |||||
<Setter Property="FontWeight" Value="SemiBold" /> | |||||
<Setter Property="FontFamily" Value="楷体" /> | |||||
<Setter Property="VerticalContentAlignment" Value="Center" /> | |||||
<Setter Property="Template"> | |||||
<Setter.Value> | |||||
<ControlTemplate TargetType="Button"> | |||||
<Border | |||||
Name="TitleBarBr" | |||||
BorderBrush="#00c2f4" | |||||
BorderThickness="0" | |||||
CornerRadius="0" | |||||
Opacity="0.8"> | |||||
<ContentPresenter | |||||
Margin="{TemplateBinding Margin}" | |||||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" | |||||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" /> | |||||
<Border.Background> | |||||
<ImageBrush | |||||
ImageSource="/BPASmartClient.CustomResource;component/Image/组合边框1.1.png" | |||||
Opacity="0.8" | |||||
Stretch="Fill" /> | |||||
</Border.Background> | |||||
</Border> | |||||
<ControlTemplate.Triggers> | |||||
<Trigger Property="IsMouseOver" Value="true"> | |||||
<Setter TargetName="TitleBarBr" Property="Opacity" Value="1" /> | |||||
</Trigger> | |||||
</ControlTemplate.Triggers> | |||||
</ControlTemplate> | |||||
</Setter.Value> | |||||
</Setter> | |||||
</Style> | |||||
<Style x:Key="TitleTextblockStyle" TargetType="TextBlock"> | |||||
<Setter Property="FontSize" Value="16" /> | |||||
<Setter Property="HorizontalAlignment" Value="Center" /> | |||||
<Setter Property="VerticalAlignment" Value="Center" /> | |||||
<Setter Property="Foreground" Value="{StaticResource tabColor}" /> | |||||
<Setter Property="FontFamily" Value="楷体" /> | |||||
<Setter Property="FontWeight" Value="SemiBold" /> | |||||
</Style> | |||||
<Style x:Key="UserItemContainerStyle" TargetType="ListBoxItem"> | |||||
<Style.Resources> | |||||
<!-- SelectedItem with focus --> | |||||
<SolidColorBrush | |||||
x:Key="{x:Static SystemColors.HighlightBrushKey}" | |||||
Opacity=".4" | |||||
Color="White" /> | |||||
<!-- SelectedItem without focus --> | |||||
<SolidColorBrush | |||||
x:Key="{x:Static SystemColors.ControlBrushKey}" | |||||
Opacity=".4" | |||||
Color="White" /> | |||||
</Style.Resources> | |||||
<!-- 设置触发器 --> | |||||
<Style.Triggers> | |||||
<Trigger Property="IsMouseOver" Value="true"> | |||||
<Setter Property="Background" Value="White" /> | |||||
<Setter Property="Foreground" Value="White" /> | |||||
</Trigger> | |||||
<Trigger Property="IsFocused" Value="true"> | |||||
<Setter Property="Background" Value="White" /> | |||||
<Setter Property="Foreground" Value="White" /> | |||||
</Trigger> | |||||
</Style.Triggers> | |||||
</Style> | |||||
</ResourceDictionary> | </ResourceDictionary> |
@@ -32,7 +32,7 @@ namespace BPASmartClient.DosingProject | |||||
var res = lv.ShowDialog(); | var res = lv.ShowDialog(); | ||||
if (res != null && res == true) | if (res != null && res == true) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog("用户登录"); | |||||
MessageNotify.GetInstance.ShowUserLog("用户登录"); | |||||
mv.Show(); | mv.Show(); | ||||
} | } | ||||
else | else | ||||
@@ -44,7 +44,7 @@ namespace BPASmartClient.DosingProject | |||||
{ | { | ||||
base.OnExit(e); | base.OnExit(e); | ||||
Json<LocaPar>.Save(); | Json<LocaPar>.Save(); | ||||
MessageLog.GetInstance.LogSave(); | |||||
MessageNotify.GetInstance.LogSave(); | |||||
ThreadManage.GetInstance().Dispose(); | ThreadManage.GetInstance().Dispose(); | ||||
} | } | ||||
@@ -56,7 +56,7 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
if (HKDevice.IsConnected) | if (HKDevice.IsConnected) | ||||
{ | { | ||||
HKDevice.Init(); | HKDevice.Init(); | ||||
MessageLog.GetInstance.ShowUserLog("海科plc连接成功,并初始化完成"); | |||||
MessageNotify.GetInstance.ShowUserLog("海科plc连接成功,并初始化完成"); | |||||
} | } | ||||
} | } | ||||
catch(Exception ex) | catch(Exception ex) | ||||
@@ -346,7 +346,7 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
{ | { | ||||
HKDevice.HK_PLC_S7.Write<bool>("DB2.DBX3.0", false); | HKDevice.HK_PLC_S7.Write<bool>("DB2.DBX3.0", false); | ||||
HKDevice.HK_PLC_S7.Write<bool>("DB2.DBX3.1", false); | HKDevice.HK_PLC_S7.Write<bool>("DB2.DBX3.1", false); | ||||
MessageLog.GetInstance.ShowRunLog($"下料桶堵料,线体不运行"); | |||||
MessageNotify.GetInstance.ShowRunLog($"下料桶堵料,线体不运行"); | |||||
cnt_sensor8++; | cnt_sensor8++; | ||||
} | } | ||||
else | else | ||||
@@ -437,7 +437,7 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
if (GVL_SmallStation.GetInstance.AllowDosing_Pos[0]) | if (GVL_SmallStation.GetInstance.AllowDosing_Pos[0]) | ||||
{ | { | ||||
int res = 1; | int res = 1; | ||||
MessageLog.GetInstance.ShowRunLog($"配方:{recipeName},1号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"配方:{recipeName},1号桶,{res}料仓,允许配料"); | |||||
if (res > 0 ) | if (res > 0 ) | ||||
{ | { | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == res); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == res); | ||||
@@ -448,13 +448,13 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
GVL_SmallStation.GetInstance.StockInIsWork = (int)res; | GVL_SmallStation.GetInstance.StockInIsWork = (int)res; | ||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray1 = true; | GVL_SmallStation.GetInstance.DosingTray1 = true; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},1号桶,{(int)res}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},1号桶,{(int)res}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
else if(RTrig.GetInstance("DB3.DBX50.1").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.1"))) | else if(RTrig.GetInstance("DB3.DBX50.1").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.1"))) | ||||
{ | { | ||||
var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD14"); | var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD14"); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},2号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},2号桶,{res}料仓,允许配料"); | |||||
if (res > 0 && res is float loc) | if (res > 0 && res is float loc) | ||||
{ | { | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | ||||
@@ -465,13 +465,13 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
GVL_SmallStation.GetInstance.StockInIsWork = (int)loc; | GVL_SmallStation.GetInstance.StockInIsWork = (int)loc; | ||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray1 = true; | GVL_SmallStation.GetInstance.DosingTray1 = true; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},2号桶,{(int)loc}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},2号桶,{(int)loc}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
else if (RTrig.GetInstance("DB3.DBX50.2").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.2"))) | else if (RTrig.GetInstance("DB3.DBX50.2").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.2"))) | ||||
{ | { | ||||
var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD18"); | var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD18"); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},3号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},3号桶,{res}料仓,允许配料"); | |||||
if (res > 0 && res is float loc) | if (res > 0 && res is float loc) | ||||
{ | { | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | ||||
@@ -482,13 +482,13 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
GVL_SmallStation.GetInstance.StockInIsWork = (int)loc; | GVL_SmallStation.GetInstance.StockInIsWork = (int)loc; | ||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray1 = true; | GVL_SmallStation.GetInstance.DosingTray1 = true; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},3号桶,{(int)loc}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},3号桶,{(int)loc}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
else if (RTrig.GetInstance("DB3.DBX50.3").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.3"))) | else if (RTrig.GetInstance("DB3.DBX50.3").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.3"))) | ||||
{ | { | ||||
var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD22"); | var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD22"); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},4号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},4号桶,{res}料仓,允许配料"); | |||||
if (res > 0 && res is float loc) | if (res > 0 && res is float loc) | ||||
{ | { | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | ||||
@@ -499,7 +499,7 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
GVL_SmallStation.GetInstance.StockInIsWork = (int)loc; | GVL_SmallStation.GetInstance.StockInIsWork = (int)loc; | ||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray1 = true; | GVL_SmallStation.GetInstance.DosingTray1 = true; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},4号桶,{(int)loc}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},4号桶,{(int)loc}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
if (GVL_SmallStation.GetInstance.DosingTray1) | if (GVL_SmallStation.GetInstance.DosingTray1) | ||||
@@ -508,7 +508,7 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
{ | { | ||||
if (RTrig.GetInstance("GetDeviceRunStatus").Start(DeviceInquire.GetInstance.GetDevice(i).deviceStatus.RunStatus == 3)) | if (RTrig.GetInstance("GetDeviceRunStatus").Start(DeviceInquire.GetInstance.GetDevice(i).deviceStatus.RunStatus == 3)) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"柔性味魔方,托盘1,配方:{recipeName},{i}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"柔性味魔方,托盘1,配方:{recipeName},{i}号仓,配料完成"); | |||||
int res = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == i); | int res = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == i); | ||||
RemoteRecipes.ElementAt(index).RawMaterial.ElementAt(res).Laying_Off_Weight = DeviceInquire.GetInstance.GetDevice(i).deviceStatus.CutWeightFeedback; | RemoteRecipes.ElementAt(index).RawMaterial.ElementAt(res).Laying_Off_Weight = DeviceInquire.GetInstance.GetDevice(i).deviceStatus.CutWeightFeedback; | ||||
DeviceInquire.GetInstance.GetDevice(i).StatusReset(); | DeviceInquire.GetInstance.GetDevice(i).StatusReset(); | ||||
@@ -527,7 +527,7 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
if (RTrig.GetInstance("配方配料完成").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX1.1")) && (GVL_SmallStation.GetInstance.WindSendDosingFinish || !GVL_SmallStation.GetInstance.IsUseWindSend)) | if (RTrig.GetInstance("配方配料完成").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX1.1")) && (GVL_SmallStation.GetInstance.WindSendDosingFinish || !GVL_SmallStation.GetInstance.IsUseWindSend)) | ||||
{ | { | ||||
var res = Json<RemoteRecipeDataColl>.Data.Recipes.FirstOrDefault(p => p.RecipeCode == code); | var res = Json<RemoteRecipeDataColl>.Data.Recipes.FirstOrDefault(p => p.RecipeCode == code); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方{res.RecipeName},配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方{res.RecipeName},配料完成"); | |||||
App.Current.Dispatcher.Invoke(() => | App.Current.Dispatcher.Invoke(() => | ||||
{ | { | ||||
Json<RemoteRecipeDataColl>.Data.Recipes.Remove(res); | Json<RemoteRecipeDataColl>.Data.Recipes.Remove(res); | ||||
@@ -307,13 +307,13 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
deviceStatus.DeviceNum = (ushort)this.modbusTcp.ReadShort(DeviceAddress.DeviceNum);//获取设备编号 | deviceStatus.DeviceNum = (ushort)this.modbusTcp.ReadShort(DeviceAddress.DeviceNum);//获取设备编号 | ||||
deviceStatus.DeviceAlarmCode = (ushort)this.modbusTcp.ReadShort(DeviceAddress.DeviceAlarmCode);//获取设备故障编码 | deviceStatus.DeviceAlarmCode = (ushort)this.modbusTcp.ReadShort(DeviceAddress.DeviceAlarmCode);//获取设备故障编码 | ||||
AlarmHelper<AlarmInfo>.Alarm.EStop1 = deviceStatus.DeviceAlarmCode.Get16bitValue(1); | |||||
AlarmHelper<AlarmInfo>.Alarm.Servo = deviceStatus.DeviceAlarmCode.Get16bitValue(2); | |||||
AlarmHelper<AlarmInfo>.Alarm.Inverter = deviceStatus.DeviceAlarmCode.Get16bitValue(3); | |||||
AlarmHelper<AlarmInfo>.Alarm.EStop2 = deviceStatus.DeviceAlarmCode.Get16bitValue(7); | |||||
AlarmHelper<AlarmInfo>.Alarm.SiloUpperLimit = deviceStatus.DeviceAlarmCode.Get16bitValue(8); | |||||
AlarmHelper<AlarmInfo>.Alarm.SiloLowerLimit = deviceStatus.DeviceAlarmCode.Get16bitValue(9); | |||||
AlarmHelper<AlarmInfo>.Alarm.EStop1 = true; | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).EStop1 = deviceStatus.DeviceAlarmCode.Get16bitValue(1); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).Servo = deviceStatus.DeviceAlarmCode.Get16bitValue(2); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).Inverter = deviceStatus.DeviceAlarmCode.Get16bitValue(3); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).EStop2 = deviceStatus.DeviceAlarmCode.Get16bitValue(7); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).SiloUpperLimit = deviceStatus.DeviceAlarmCode.Get16bitValue(8); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).SiloLowerLimit = deviceStatus.DeviceAlarmCode.Get16bitValue(9); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).EStop1 = true; | |||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
}), $"{DeviceName} 开始监听", true); | }), $"{DeviceName} 开始监听", true); | ||||
} | } | ||||
@@ -342,7 +342,7 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
{ | { | ||||
modbusTcp.SetReal(DeviceAddress.WeightSet, Value);//写入配方量 | modbusTcp.SetReal(DeviceAddress.WeightSet, Value);//写入配方量 | ||||
modbusTcp.Write(DeviceAddress.Start, (ushort)1);//设备启动写入 | modbusTcp.Write(DeviceAddress.Start, (ushort)1);//设备启动写入 | ||||
MessageLog.GetInstance.ShowRunLog($"开始配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"开始配料"); | |||||
//配料设备参数写入 | //配料设备参数写入 | ||||
var res = Json<DevicePar>.Data.deviceParModels.FirstOrDefault(p => p.MaterialName == DeviceName); | var res = Json<DevicePar>.Data.deviceParModels.FirstOrDefault(p => p.MaterialName == DeviceName); | ||||
if (res != null) | if (res != null) | ||||
@@ -355,7 +355,7 @@ namespace BPASmartClient.DosingHKProject.Model | |||||
modbusTcp.SetUint(DeviceAddress.SiloUpperLimitWeight, (uint)res.SiloUpperLimitWeight); | modbusTcp.SetUint(DeviceAddress.SiloUpperLimitWeight, (uint)res.SiloUpperLimitWeight); | ||||
modbusTcp.SetUint(DeviceAddress.LowerLimitWeightOfSilo, (uint)res.LowerLimitWeightOfSilo); | modbusTcp.SetUint(DeviceAddress.LowerLimitWeightOfSilo, (uint)res.LowerLimitWeightOfSilo); | ||||
modbusTcp.SetUint(DeviceAddress.StirringSpeed, (uint)res.StirringSpeed * 100); | modbusTcp.SetUint(DeviceAddress.StirringSpeed, (uint)res.StirringSpeed * 100); | ||||
MessageLog.GetInstance.ShowRunLog($"参数下发完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"参数下发完成"); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -37,7 +37,7 @@ public class NewMaterialViewModel:ObservableObject | |||||
var res = Materials.FirstOrDefault(p=>p.RawMaterialId == id); | var res = Materials.FirstOrDefault(p=>p.RawMaterialId == id); | ||||
Materials.Remove(res); | Materials.Remove(res); | ||||
Json<LocaMaterial>.Save(); | Json<LocaMaterial>.Save(); | ||||
MessageLog.GetInstance.ShowUserLog($"删除原料--{res.RawMaterialName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"删除原料--{res.RawMaterialName}"); | |||||
} | } | ||||
} | } | ||||
@@ -52,7 +52,7 @@ public class NewMaterialViewModel:ObservableObject | |||||
if(Json<LocaMaterial>.Data.LocalMaterails.FirstOrDefault(p=>p.RawMaterialName == MaterialName) != null) { ErrorInfo = "本地原料名称重复";return ;} | if(Json<LocaMaterial>.Data.LocalMaterails.FirstOrDefault(p=>p.RawMaterialName == MaterialName) != null) { ErrorInfo = "本地原料名称重复";return ;} | ||||
Json<LocaMaterial>.Data.LocalMaterails.Add(new RawMaterialModel { RawMaterialName = MaterialName, RawMaterialId = Guid.NewGuid().ToString() , RawMaterialSource = 0 }); | Json<LocaMaterial>.Data.LocalMaterails.Add(new RawMaterialModel { RawMaterialName = MaterialName, RawMaterialId = Guid.NewGuid().ToString() , RawMaterialSource = 0 }); | ||||
Json<LocaMaterial>.Save(); | Json<LocaMaterial>.Save(); | ||||
MessageLog.GetInstance.ShowUserLog($"添加原料--{MaterialName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"添加原料--{MaterialName}"); | |||||
}); | }); | ||||
} | } | ||||
} | } |
@@ -35,7 +35,7 @@ namespace BPASmartClient.DosingHKProject.ViewModel | |||||
{ | { | ||||
Recipes.ElementAt(index).IsEnable = false; | Recipes.ElementAt(index).IsEnable = false; | ||||
} | } | ||||
MessageLog.GetInstance.ShowUserLog($"下发工单 { Recipes.ElementAt(index).RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"下发工单 { Recipes.ElementAt(index).RecipeName}"); | |||||
devices.Enqueue(deviceName); | devices.Enqueue(deviceName); | ||||
var res = Recipes.FirstOrDefault(p => p.RecipeName == deviceName); | var res = Recipes.FirstOrDefault(p => p.RecipeName == deviceName); | ||||
UserTreeWait.Add(new RecipeModel { RecipeName = deviceName, RawMaterials = res.RawMaterials }); | UserTreeWait.Add(new RecipeModel { RecipeName = deviceName, RawMaterials = res.RawMaterials }); | ||||
@@ -43,7 +43,7 @@ namespace BPASmartClient.DosingHKProject.ViewModel | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方下发成功!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方下发成功!"); | ||||
MessageLog.GetInstance.ShowUserLog($"下发工单 {Guid.NewGuid().ToString()}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"下发工单 {Guid.NewGuid().ToString()}"); | |||||
}); | }); | ||||
ChangeRecipeStateCommand = new RelayCommand<object>(ChangeRecipeState); | ChangeRecipeStateCommand = new RelayCommand<object>(ChangeRecipeState); | ||||
@@ -128,7 +128,7 @@ namespace BPASmartClient.DosingHKProject.ViewModel | |||||
for (int n = 0; n < recipeProcesses.Count; n++) | for (int n = 0; n < recipeProcesses.Count; n++) | ||||
{ | { | ||||
DeviceInquire.GetInstance.GetDevice(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp).StatusReset();//完成配料的设备运行状态地址写0 | DeviceInquire.GetInstance.GetDevice(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp).StatusReset();//完成配料的设备运行状态地址写0 | ||||
MessageLog.GetInstance.ShowRunLog(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp); | |||||
MessageNotify.GetInstance.ShowRunLog(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp); | |||||
} | } | ||||
App.Current.Dispatcher.Invoke(new Action(() => { recipeProcesses.Clear(); })); | App.Current.Dispatcher.Invoke(new Action(() => { recipeProcesses.Clear(); })); | ||||
Recipes.ElementAt(recipIndex).IsEnable = true; | Recipes.ElementAt(recipIndex).IsEnable = true; | ||||
@@ -43,7 +43,7 @@ namespace BPASmartClient.DosingHKProject.ViewModel | |||||
if (res != null) | if (res != null) | ||||
{ | { | ||||
Json<LocalRecipeDataColl>.Data.Recipes.Remove(res); | Json<LocalRecipeDataColl>.Data.Recipes.Remove(res); | ||||
MessageLog.GetInstance.ShowUserLog($"删除配方——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"删除配方——{res.RecipeName}"); | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
@@ -58,7 +58,7 @@ namespace BPASmartClient.DosingHKProject.ViewModel | |||||
{ | { | ||||
ActionManage.GetInstance.Send("LocalRecipeEdit", res); | ActionManage.GetInstance.Send("LocalRecipeEdit", res); | ||||
nrv.Show(); | nrv.Show(); | ||||
MessageLog.GetInstance.ShowUserLog($"编辑配方——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"编辑配方——{res.RecipeName}"); | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
@@ -70,7 +70,7 @@ namespace BPASmartClient.DosingHKProject.ViewModel | |||||
if (res != null) | if (res != null) | ||||
{ | { | ||||
Json<RemoteRecipeDataColl>.Data.Recipes.Add(res); | Json<RemoteRecipeDataColl>.Data.Recipes.Add(res); | ||||
MessageLog.GetInstance.ShowUserLog($"下发配方——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"下发配方——{res.RecipeName}"); | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
@@ -37,12 +37,12 @@ namespace BPASmartClient.DosingHKProject.ViewModel | |||||
{ | { | ||||
NewRecipeView nrv = new NewRecipeView(); | NewRecipeView nrv = new NewRecipeView(); | ||||
nrv.ShowDialog(); | nrv.ShowDialog(); | ||||
MessageLog.GetInstance.ShowUserLog("新建配方"); | |||||
MessageNotify.GetInstance.ShowUserLog("新建配方"); | |||||
}); | }); | ||||
SaveRecipe = new RelayCommand(() => | SaveRecipe = new RelayCommand(() => | ||||
{ | { | ||||
Json<LocaPar>.Save(); | Json<LocaPar>.Save(); | ||||
MessageLog.GetInstance.ShowUserLog("保存配方"); | |||||
MessageNotify.GetInstance.ShowUserLog("保存配方"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方保存成功!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方保存成功!"); | ||||
}); | }); | ||||
RemoveCommand = new RelayCommand<object>((o) => | RemoveCommand = new RelayCommand<object>((o) => | ||||
@@ -51,7 +51,7 @@ namespace BPASmartClient.DosingHKProject.ViewModel | |||||
{ | { | ||||
var res = Json<LocaPar>.Data.Recipes.FirstOrDefault(p => p.RecipCode == str); | var res = Json<LocaPar>.Data.Recipes.FirstOrDefault(p => p.RecipCode == str); | ||||
if (res != null) Json<LocaPar>.Data.Recipes.Remove(res); | if (res != null) Json<LocaPar>.Data.Recipes.Remove(res); | ||||
MessageLog.GetInstance.ShowUserLog($"删除名称——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"删除名称——{res.RecipeName}"); | |||||
} | } | ||||
}); | }); | ||||
@@ -64,7 +64,7 @@ namespace BPASmartClient.DosingHKProject.ViewModel | |||||
var res = Json<LocaPar>.Data.Recipes.FirstOrDefault(p => p.RecipCode == str); | var res = Json<LocaPar>.Data.Recipes.FirstOrDefault(p => p.RecipCode == str); | ||||
ActionManage.GetInstance.Send("Details", res); | ActionManage.GetInstance.Send("Details", res); | ||||
nrv.ShowDialog(); | nrv.ShowDialog(); | ||||
MessageLog.GetInstance.ShowUserLog($"编辑配方名称——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"编辑配方名称——{res.RecipeName}"); | |||||
} | } | ||||
}); | }); | ||||
@@ -40,7 +40,7 @@ namespace BPASmartClient.DosingHKProject.ViewModel | |||||
{ | { | ||||
ActionManage.GetInstance.Send("RecipeInfo", res); | ActionManage.GetInstance.Send("RecipeInfo", res); | ||||
nrv.Show(); | nrv.Show(); | ||||
MessageLog.GetInstance.ShowUserLog($"查看配方——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"查看配方——{res.RecipeName}"); | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
@@ -34,7 +34,7 @@ namespace BPASmartClient.JXJFoodBigStation | |||||
var res = lv.ShowDialog(); | var res = lv.ShowDialog(); | ||||
if (res != null && res == true) | if (res != null && res == true) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog("用户登录"); | |||||
MessageNotify.GetInstance.ShowUserLog("用户登录"); | |||||
mv.Show(); | mv.Show(); | ||||
} | } | ||||
else | else | ||||
@@ -45,7 +45,7 @@ namespace BPASmartClient.JXJFoodBigStation | |||||
protected override void OnExit(ExitEventArgs e) | protected override void OnExit(ExitEventArgs e) | ||||
{ | { | ||||
base.OnExit(e); | base.OnExit(e); | ||||
MessageLog.GetInstance.LogSave(); | |||||
MessageNotify.GetInstance.LogSave(); | |||||
ThreadManage.GetInstance().Dispose(); | ThreadManage.GetInstance().Dispose(); | ||||
} | } | ||||
@@ -54,7 +54,7 @@ namespace BPASmartClient.JXJFoodBigStation.Model.HK_PLC | |||||
{ | { | ||||
string address = "MD" + (4120 + (loc - 1) * 4 + (barrel - 1 - 1) * 48); | string address = "MD" + (4120 + (loc - 1) * 4 + (barrel - 1 - 1) * 48); | ||||
HK_PLC_S7.Write<float>(address, recipe.RawMaterial.ElementAt(index).RawMaterialWeight); | HK_PLC_S7.Write<float>(address, recipe.RawMaterial.ElementAt(index).RawMaterialWeight); | ||||
MessageLog.GetInstance.ShowRunLog($"配方数据下发完成,地址:{address},重量:{recipe.RawMaterial.ElementAt(index).RawMaterialWeight}"); | |||||
MessageNotify.GetInstance.ShowRunLog($"配方数据下发完成,地址:{address},重量:{recipe.RawMaterial.ElementAt(index).RawMaterialWeight}"); | |||||
} | } | ||||
else//不存在的原料信息,重量写0 | else//不存在的原料信息,重量写0 | ||||
{ | { | ||||
@@ -68,7 +68,7 @@ namespace BPASmartClient.JXJFoodBigStation.Model.HK_PLC | |||||
{ | { | ||||
string address = "MD" + (4120 + (loc - 1) * 4 + (barrel - 1) * 48); | string address = "MD" + (4120 + (loc - 1) * 4 + (barrel - 1) * 48); | ||||
HK_PLC_S7.Write<float>(address, recipe.RawMaterial.ElementAt(index).RawMaterialWeight); | HK_PLC_S7.Write<float>(address, recipe.RawMaterial.ElementAt(index).RawMaterialWeight); | ||||
MessageLog.GetInstance.ShowRunLog($"配方数据下发完成,地址:{address},重量:{recipe.RawMaterial.ElementAt(index).RawMaterialWeight}"); | |||||
MessageNotify.GetInstance.ShowRunLog($"配方数据下发完成,地址:{address},重量:{recipe.RawMaterial.ElementAt(index).RawMaterialWeight}"); | |||||
} | } | ||||
else//不存在的原料信息,重量写0 | else//不存在的原料信息,重量写0 | ||||
{ | { | ||||
@@ -108,7 +108,7 @@ namespace BPASmartClient.JXJFoodBigStation.Model | |||||
if (HKDevice.IsConnected) | if (HKDevice.IsConnected) | ||||
{ | { | ||||
HKDevice.Init(); | HKDevice.Init(); | ||||
MessageLog.GetInstance.ShowRunLog("海科plc连接成功"); | |||||
MessageNotify.GetInstance.ShowRunLog("海科plc连接成功"); | |||||
} | } | ||||
if (SiemensDevice.IsConnected) | if (SiemensDevice.IsConnected) | ||||
{ | { | ||||
@@ -299,20 +299,20 @@ namespace BPASmartClient.JXJFoodBigStation.Model | |||||
HKDevice.HK_PLC_S7.Write<bool>("M4001.0", true);//配发下发完成,to plc | HKDevice.HK_PLC_S7.Write<bool>("M4001.0", true);//配发下发完成,to plc | ||||
HKDevice.HK_PLC_S7.Write<bool>("M5001.0", false);//复位允许下发配方1信号 | HKDevice.HK_PLC_S7.Write<bool>("M5001.0", false);//复位允许下发配方1信号 | ||||
BigStation.RecipeDosingStatus = 1; | BigStation.RecipeDosingStatus = 1; | ||||
MessageLog.GetInstance.ShowRunLog($"配方状态:{code}下发完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"配方状态:{code}下发完成"); | |||||
} | } | ||||
if (HKDevice.HK_PLC_S7.Read<bool>("M5001.4") && BigStation.RecipeDosingStatus == 1) | if (HKDevice.HK_PLC_S7.Read<bool>("M5001.4") && BigStation.RecipeDosingStatus == 1) | ||||
{ | { | ||||
BigStation.RecipeDosingStatus = 2; | BigStation.RecipeDosingStatus = 2; | ||||
HKDevice.HK_PLC_S7.Write<bool>("M5001.4", false);// | HKDevice.HK_PLC_S7.Write<bool>("M5001.4", false);// | ||||
MessageLog.GetInstance.ShowRunLog($"配方状态:{code}配方配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"配方状态:{code}配方配料"); | |||||
} | } | ||||
if (BigStation.RecipeDosingStatus == 2) | if (BigStation.RecipeDosingStatus == 2) | ||||
{ | { | ||||
if (RTrig.GetInstance("StockState").Start(HKDevice.HK_PLC_S7.Read<bool>("M5007.0"))) | if (RTrig.GetInstance("StockState").Start(HKDevice.HK_PLC_S7.Read<bool>("M5007.0"))) | ||||
{ | { | ||||
BigStation.RecipeDosingStatus = 3; | BigStation.RecipeDosingStatus = 3; | ||||
MessageLog.GetInstance.ShowRunLog($"配方状态:{code}配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"配方状态:{code}配料完成"); | |||||
HKDevice.HK_PLC_S7.Write<bool>("M5007.0",false); | HKDevice.HK_PLC_S7.Write<bool>("M5007.0",false); | ||||
RecipeQueue.TryDequeue(out code); | RecipeQueue.TryDequeue(out code); | ||||
IssuedComplete.Add(RemoteRecipes.ElementAt(index));//将该配方添加到下 | IssuedComplete.Add(RemoteRecipes.ElementAt(index));//将该配方添加到下 | ||||
@@ -37,7 +37,7 @@ namespace BPASmartClient.JXJFoodBigStation.ViewModel | |||||
var res = Json<LocalRecipe>.Data.Recipes.FirstOrDefault(p => p.RecipeCode == num); | var res = Json<LocalRecipe>.Data.Recipes.FirstOrDefault(p => p.RecipeCode == num); | ||||
ActionManage.GetInstance.Send("RecipeInfo", res); | ActionManage.GetInstance.Send("RecipeInfo", res); | ||||
nrv.Show(); | nrv.Show(); | ||||
MessageLog.GetInstance.ShowUserLog($"查看配方——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"查看配方——{res.RecipeName}"); | |||||
} | } | ||||
}); | }); | ||||
NewRecipe = new RelayCommand(() => { | NewRecipe = new RelayCommand(() => { | ||||
@@ -35,7 +35,7 @@ namespace BPASmartClient.JXJFoodSmallStation | |||||
var res = lv.ShowDialog(); | var res = lv.ShowDialog(); | ||||
if (res != null && res == true) | if (res != null && res == true) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog("用户登录"); | |||||
MessageNotify.GetInstance.ShowUserLog("用户登录"); | |||||
mv.Show(); | mv.Show(); | ||||
} | } | ||||
else | else | ||||
@@ -48,7 +48,7 @@ namespace BPASmartClient.JXJFoodSmallStation | |||||
base.OnExit(e); | base.OnExit(e); | ||||
Json<LocaPar>.Save(); | Json<LocaPar>.Save(); | ||||
Json<LocalRecipeDataColl>.Save(); | Json<LocalRecipeDataColl>.Save(); | ||||
MessageLog.GetInstance.LogSave(); | |||||
MessageNotify.GetInstance.LogSave(); | |||||
ThreadManage.GetInstance().Dispose(); | ThreadManage.GetInstance().Dispose(); | ||||
} | } | ||||
@@ -86,7 +86,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model.HK_PLC | |||||
{ | { | ||||
HK_PLC_S7.Write<bool>("DB4.DBX11." + (StockBinLocation - 9), true); | HK_PLC_S7.Write<bool>("DB4.DBX11." + (StockBinLocation - 9), true); | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1—1号桶在料仓{StockBinLocation}配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1—1号桶在料仓{StockBinLocation}配料"); | |||||
} | } | ||||
else if (BarrelNum == 2) | else if (BarrelNum == 2) | ||||
{ | { | ||||
@@ -98,7 +98,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model.HK_PLC | |||||
{ | { | ||||
HK_PLC_S7.Write<bool>("DB4.DBX13." + (StockBinLocation - 9), true); | HK_PLC_S7.Write<bool>("DB4.DBX13." + (StockBinLocation - 9), true); | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1—2号桶在料仓{StockBinLocation}配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1—2号桶在料仓{StockBinLocation}配料"); | |||||
} | } | ||||
else if (BarrelNum == 3) | else if (BarrelNum == 3) | ||||
{ | { | ||||
@@ -110,7 +110,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model.HK_PLC | |||||
{ | { | ||||
HK_PLC_S7.Write<bool>("DB4.DBX15." + (StockBinLocation - 9), true); | HK_PLC_S7.Write<bool>("DB4.DBX15." + (StockBinLocation - 9), true); | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1—3号桶在料仓{StockBinLocation}配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1—3号桶在料仓{StockBinLocation}配料"); | |||||
} | } | ||||
else if (BarrelNum == 4) | else if (BarrelNum == 4) | ||||
{ | { | ||||
@@ -122,7 +122,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model.HK_PLC | |||||
{ | { | ||||
HK_PLC_S7.Write<bool>("DB4.DBX17." + (StockBinLocation - 9), true); | HK_PLC_S7.Write<bool>("DB4.DBX17." + (StockBinLocation - 9), true); | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1—4号桶在料仓{StockBinLocation}配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1—4号桶在料仓{StockBinLocation}配料"); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -140,7 +140,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model.HK_PLC | |||||
{ | { | ||||
HK_PLC_S7.Write<bool>("DB4.DBX19." + (StockBinLocation - 9), true); | HK_PLC_S7.Write<bool>("DB4.DBX19." + (StockBinLocation - 9), true); | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2—1号桶在料仓{StockBinLocation}配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2—1号桶在料仓{StockBinLocation}配料"); | |||||
} | } | ||||
else if (BarrelNum == 2) | else if (BarrelNum == 2) | ||||
{ | { | ||||
@@ -152,7 +152,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model.HK_PLC | |||||
{ | { | ||||
HK_PLC_S7.Write<bool>("DB4.DBX21." + (StockBinLocation - 9), true); | HK_PLC_S7.Write<bool>("DB4.DBX21." + (StockBinLocation - 9), true); | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2—2号桶在料仓{StockBinLocation}配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2—2号桶在料仓{StockBinLocation}配料"); | |||||
} | } | ||||
else if (BarrelNum == 3) | else if (BarrelNum == 3) | ||||
{ | { | ||||
@@ -164,7 +164,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model.HK_PLC | |||||
{ | { | ||||
HK_PLC_S7.Write<bool>("DB4.DBX23." + (StockBinLocation - 9), true); | HK_PLC_S7.Write<bool>("DB4.DBX23." + (StockBinLocation - 9), true); | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2—3号桶在料仓{StockBinLocation}配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2—3号桶在料仓{StockBinLocation}配料"); | |||||
} | } | ||||
else if (BarrelNum == 4) | else if (BarrelNum == 4) | ||||
{ | { | ||||
@@ -176,7 +176,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model.HK_PLC | |||||
{ | { | ||||
HK_PLC_S7.Write<bool>("DB4.DBX25." + (StockBinLocation - 9), true); | HK_PLC_S7.Write<bool>("DB4.DBX25." + (StockBinLocation - 9), true); | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2—4号桶在料仓{StockBinLocation}配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2—4号桶在料仓{StockBinLocation}配料"); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -80,7 +80,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.AlarmLog("配方名称与本地不符合"); | |||||
MessageNotify.GetInstance.AlarmLog("配方名称与本地不符合"); | |||||
} | } | ||||
} | } | ||||
Json<RemoteRecipeDataColl>.Data.Recipes.Add(new RemoteRecipeData() | Json<RemoteRecipeDataColl>.Data.Recipes.Add(new RemoteRecipeData() | ||||
@@ -117,17 +117,17 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
if (HKDevice.IsConnected) | if (HKDevice.IsConnected) | ||||
{ | { | ||||
HKDevice.Init(); | HKDevice.Init(); | ||||
MessageLog.GetInstance.ShowRunLog("海科plc连接成功,并初始化完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("海科plc连接成功,并初始化完成"); | |||||
} | } | ||||
if (SiemensDevice.IsConnected) | if (SiemensDevice.IsConnected) | ||||
{ | { | ||||
SiemensDevice.Init(); | SiemensDevice.Init(); | ||||
MessageLog.GetInstance.ShowRunLog("西门子plc连接成功,并初始化完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("西门子plc连接成功,并初始化完成"); | |||||
} | } | ||||
if (WindSendDevice.IsConnected) | if (WindSendDevice.IsConnected) | ||||
{ | { | ||||
WindSendDevice.Init(); | WindSendDevice.Init(); | ||||
MessageLog.GetInstance.ShowRunLog("风送plc连接成功,并初始化完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("风送plc连接成功,并初始化完成"); | |||||
} | } | ||||
} | } | ||||
catch(Exception ex) | catch(Exception ex) | ||||
@@ -706,7 +706,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
} | } | ||||
HKDevice.HK_PLC_S7.Write("DB4.DBX1.3", true); | HKDevice.HK_PLC_S7.Write("DB4.DBX1.3", true); | ||||
GVL_SmallStation.GetInstance.RecipeStatusID = 1; | GVL_SmallStation.GetInstance.RecipeStatusID = 1; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},下发完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},下发完成"); | |||||
HKDevice.HK_PLC_S7.Write("DB3.DBX1.3", true); | HKDevice.HK_PLC_S7.Write("DB3.DBX1.3", true); | ||||
} | } | ||||
@@ -714,14 +714,14 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
{ | { | ||||
HKDevice.HK_PLC_S7.Write("DB3.DBX1.3", false); | HKDevice.HK_PLC_S7.Write("DB3.DBX1.3", false); | ||||
GVL_SmallStation.GetInstance.RecipeStatusID = 2; | GVL_SmallStation.GetInstance.RecipeStatusID = 2; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,{ recipeName}plc端 配方接收完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,{ recipeName}plc端 配方接收完成"); | |||||
} | } | ||||
if (GVL_SmallStation.GetInstance.RecipeStatusID == 2) | if (GVL_SmallStation.GetInstance.RecipeStatusID == 2) | ||||
{ | { | ||||
if (RTrig.GetInstance("DB3.DBX50.0").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.0"))) | if (RTrig.GetInstance("DB3.DBX50.0").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.0"))) | ||||
{ | { | ||||
var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD10"); | var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD10"); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},1号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},1号桶,{res}料仓,允许配料"); | |||||
if (res > 0 && res is float loc) | if (res > 0 && res is float loc) | ||||
{ | { | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | ||||
@@ -734,13 +734,13 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray1 = true; | GVL_SmallStation.GetInstance.DosingTray1 = true; | ||||
GVL_SmallStation.GetInstance.DosingTray1Loc = (int)loc; | GVL_SmallStation.GetInstance.DosingTray1Loc = (int)loc; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},1号桶,{(int)loc}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},1号桶,{(int)loc}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
else if(RTrig.GetInstance("DB3.DBX50.1").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.1"))) | else if(RTrig.GetInstance("DB3.DBX50.1").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.1"))) | ||||
{ | { | ||||
var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD14"); | var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD14"); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},2号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},2号桶,{res}料仓,允许配料"); | |||||
if (res > 0 && res is float loc) | if (res > 0 && res is float loc) | ||||
{ | { | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | ||||
@@ -753,13 +753,13 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray1 = true; | GVL_SmallStation.GetInstance.DosingTray1 = true; | ||||
GVL_SmallStation.GetInstance.DosingTray1Loc = (int)loc; | GVL_SmallStation.GetInstance.DosingTray1Loc = (int)loc; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},2号桶,{(int)loc}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},2号桶,{(int)loc}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
else if (RTrig.GetInstance("DB3.DBX50.2").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.2"))) | else if (RTrig.GetInstance("DB3.DBX50.2").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.2"))) | ||||
{ | { | ||||
var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD18"); | var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD18"); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},3号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},3号桶,{res}料仓,允许配料"); | |||||
if (res > 0 && res is float loc) | if (res > 0 && res is float loc) | ||||
{ | { | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | ||||
@@ -772,13 +772,13 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray1 = true; | GVL_SmallStation.GetInstance.DosingTray1 = true; | ||||
GVL_SmallStation.GetInstance.DosingTray1Loc = (int)loc; | GVL_SmallStation.GetInstance.DosingTray1Loc = (int)loc; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},3号桶,{(int)loc}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},3号桶,{(int)loc}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
else if (RTrig.GetInstance("DB3.DBX50.3").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.3"))) | else if (RTrig.GetInstance("DB3.DBX50.3").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.3"))) | ||||
{ | { | ||||
var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD22"); | var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD22"); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},4号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},4号桶,{res}料仓,允许配料"); | |||||
if (res > 0 && res is float loc) | if (res > 0 && res is float loc) | ||||
{ | { | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | ||||
@@ -791,7 +791,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray1 = true; | GVL_SmallStation.GetInstance.DosingTray1 = true; | ||||
GVL_SmallStation.GetInstance.DosingTray1Loc = (int)loc; | GVL_SmallStation.GetInstance.DosingTray1Loc = (int)loc; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},4号桶,{(int)loc}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方:{recipeName},4号桶,{(int)loc}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
if (GVL_SmallStation.GetInstance.DosingTray1 && GVL_SmallStation.GetInstance.DosingTray1Loc > 0 && GVL_SmallStation.GetInstance.DosingTray1Loc < 16) | if (GVL_SmallStation.GetInstance.DosingTray1 && GVL_SmallStation.GetInstance.DosingTray1Loc > 0 && GVL_SmallStation.GetInstance.DosingTray1Loc < 16) | ||||
@@ -799,27 +799,27 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
int i = GVL_SmallStation.GetInstance.DosingTray1Loc; | int i = GVL_SmallStation.GetInstance.DosingTray1Loc; | ||||
if (RTrig.GetInstance("Tray1StatusDevice" + i).Start(DeviceInquire.GetInstance.GetDevice(i).deviceStatus.RunStatus == 3)) | if (RTrig.GetInstance("Tray1StatusDevice" + i).Start(DeviceInquire.GetInstance.GetDevice(i).deviceStatus.RunStatus == 3)) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"柔性味魔方,托盘1,配方:{recipeName},{i}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"柔性味魔方,托盘1,配方:{recipeName},{i}号仓,配料完成"); | |||||
int res = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == i); | int res = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == i); | ||||
RemoteRecipes.ElementAt(index).RawMaterial.ElementAt(res).Laying_Off_Weight = DeviceInquire.GetInstance.GetDevice(i).deviceStatus.CutWeightFeedback; | RemoteRecipes.ElementAt(index).RawMaterial.ElementAt(res).Laying_Off_Weight = DeviceInquire.GetInstance.GetDevice(i).deviceStatus.CutWeightFeedback; | ||||
bool info = DeviceInquire.GetInstance.GetDevice(i).StatusReset(); | bool info = DeviceInquire.GetInstance.GetDevice(i).StatusReset(); | ||||
if (info) | if (info) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"柔性味魔方配料完成后复位 发送成功"); | |||||
MessageNotify.GetInstance.ShowRunLog($"柔性味魔方配料完成后复位 发送成功"); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"柔性味魔方配料完成后复位 发送失败"); | |||||
MessageNotify.GetInstance.ShowRunLog($"柔性味魔方配料完成后复位 发送失败"); | |||||
} | } | ||||
if (i >= 1 && i <= 8) | if (i >= 1 && i <= 8) | ||||
{ | { | ||||
string commInfo = HKDevice.HK_PLC_S7.Write("DB4.DBX30." + (i - 1), true, 4); | string commInfo = HKDevice.HK_PLC_S7.Write("DB4.DBX30." + (i - 1), true, 4); | ||||
MessageLog.GetInstance.ShowRunLog(commInfo); | |||||
MessageNotify.GetInstance.ShowRunLog(commInfo); | |||||
} | } | ||||
else if (i >= 9 && i <= 15) | else if (i >= 9 && i <= 15) | ||||
{ | { | ||||
string commInfo1 = HKDevice.HK_PLC_S7.Write("DB4.DBX31." + (i - 9), true, 4); | string commInfo1 = HKDevice.HK_PLC_S7.Write("DB4.DBX31." + (i - 9), true, 4); | ||||
MessageLog.GetInstance.ShowRunLog(commInfo1); | |||||
MessageNotify.GetInstance.ShowRunLog(commInfo1); | |||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray1 = false; | GVL_SmallStation.GetInstance.DosingTray1 = false; | ||||
GVL_SmallStation.GetInstance.DosingTray1Loc = 0; | GVL_SmallStation.GetInstance.DosingTray1Loc = 0; | ||||
@@ -829,7 +829,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
if (RTrig.GetInstance("配方配料完成").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX1.1")) && (GVL_SmallStation.GetInstance.WindSendDosingFinish || !GVL_SmallStation.GetInstance.IsUseWindSend)) | if (RTrig.GetInstance("配方配料完成").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX1.1")) && (GVL_SmallStation.GetInstance.WindSendDosingFinish || !GVL_SmallStation.GetInstance.IsUseWindSend)) | ||||
{ | { | ||||
var res = Json<RemoteRecipeDataColl>.Data.Recipes.FirstOrDefault(p => p.RecipeCode == code); | var res = Json<RemoteRecipeDataColl>.Data.Recipes.FirstOrDefault(p => p.RecipeCode == code); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘1,配方{res.RecipeName},配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘1,配方{res.RecipeName},配料完成"); | |||||
RecipeFinishInfo.Order_No = RemoteRecipes.ElementAt(index).RecipeCode; | RecipeFinishInfo.Order_No = RemoteRecipes.ElementAt(index).RecipeCode; | ||||
RecipeFinishInfo.Product_Code = RemoteRecipes.ElementAt(index).RecipeName; | RecipeFinishInfo.Product_Code = RemoteRecipes.ElementAt(index).RecipeName; | ||||
for (int i = 0; i < RemoteRecipes.ElementAt(index).RawMaterial.Count; i++) | for (int i = 0; i < RemoteRecipes.ElementAt(index).RawMaterial.Count; i++) | ||||
@@ -868,14 +868,14 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
{ | { | ||||
if (GVL_SmallStation.GetInstance.RecipeStatusIDTray2 == 0) | if (GVL_SmallStation.GetInstance.RecipeStatusIDTray2 == 0) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},初始化"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},初始化"); | |||||
foreach (var item in RemoteRecipes.ElementAt(index).RawMaterial) | foreach (var item in RemoteRecipes.ElementAt(index).RawMaterial) | ||||
{ | { | ||||
HKDevice.StockBinPar((uint)item.RawMaterialBarrelNum, (ushort)item.RawMaterialLocation, 2); | HKDevice.StockBinPar((uint)item.RawMaterialBarrelNum, (ushort)item.RawMaterialLocation, 2); | ||||
} | } | ||||
HKDevice.HK_PLC_S7.Write("DB4.DBX1.4", true); | HKDevice.HK_PLC_S7.Write("DB4.DBX1.4", true); | ||||
GVL_SmallStation.GetInstance.RecipeStatusIDTray2 = 1; | GVL_SmallStation.GetInstance.RecipeStatusIDTray2 = 1; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},下发完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},下发完成"); | |||||
HKDevice.HK_PLC_S7.Write("DB3.DBX1.4", true); | HKDevice.HK_PLC_S7.Write("DB3.DBX1.4", true); | ||||
} | } | ||||
@@ -883,14 +883,14 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
{ | { | ||||
HKDevice.HK_PLC_S7.Write("DB3.DBX1.4", false); | HKDevice.HK_PLC_S7.Write("DB3.DBX1.4", false); | ||||
GVL_SmallStation.GetInstance.RecipeStatusIDTray2 = 2; | GVL_SmallStation.GetInstance.RecipeStatusIDTray2 = 2; | ||||
MessageLog.GetInstance.ShowRunLog($"配方:{recipeName},plc端 配方接收完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"配方:{recipeName},plc端 配方接收完成"); | |||||
} | } | ||||
if (GVL_SmallStation.GetInstance.RecipeStatusIDTray2 == 2) | if (GVL_SmallStation.GetInstance.RecipeStatusIDTray2 == 2) | ||||
{ | { | ||||
if (RTrig.GetInstance("DB3.DBX50.4").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.4"))) | if (RTrig.GetInstance("DB3.DBX50.4").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.4"))) | ||||
{ | { | ||||
var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD26"); | var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD26"); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},1号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},1号桶,{res}料仓,允许配料"); | |||||
if (res > 0 && res is float loc) | if (res > 0 && res is float loc) | ||||
{ | { | ||||
//int decimalNum = Convert.ToInt32(loc.ToString().Substring(loc.ToString().IndexOf(".") + 1)); | //int decimalNum = Convert.ToInt32(loc.ToString().Substring(loc.ToString().IndexOf(".") + 1)); | ||||
@@ -904,13 +904,13 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray2 = true; | GVL_SmallStation.GetInstance.DosingTray2 = true; | ||||
GVL_SmallStation.GetInstance.DosingTray2Loc = (int)loc; | GVL_SmallStation.GetInstance.DosingTray2Loc = (int)loc; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},1号桶,{(int)loc}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},1号桶,{(int)loc}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
else if (RTrig.GetInstance("DB3.DBX50.5").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.5"))) | else if (RTrig.GetInstance("DB3.DBX50.5").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.5"))) | ||||
{ | { | ||||
var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD30"); | var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD30"); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},2号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},2号桶,{res}料仓,允许配料"); | |||||
if (res > 0 && res is float loc) | if (res > 0 && res is float loc) | ||||
{ | { | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | ||||
@@ -923,13 +923,13 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray2 = true; | GVL_SmallStation.GetInstance.DosingTray2 = true; | ||||
GVL_SmallStation.GetInstance.DosingTray2Loc = (int)loc; | GVL_SmallStation.GetInstance.DosingTray2Loc = (int)loc; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},2号桶,{(int)loc}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},2号桶,{(int)loc}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
else if (RTrig.GetInstance("DB3.DBX50.6").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.6"))) | else if (RTrig.GetInstance("DB3.DBX50.6").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.6"))) | ||||
{ | { | ||||
var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD34"); | var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD34"); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},3号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},3号桶,{res}料仓,允许配料"); | |||||
if (res > 0 && res is float loc) | if (res > 0 && res is float loc) | ||||
{ | { | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | ||||
@@ -942,13 +942,13 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray2 = true; | GVL_SmallStation.GetInstance.DosingTray2 = true; | ||||
GVL_SmallStation.GetInstance.DosingTray2Loc = (int)loc; | GVL_SmallStation.GetInstance.DosingTray2Loc = (int)loc; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},3号桶,{(int)loc}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},3号桶,{(int)loc}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
else if (RTrig.GetInstance("DB3.DBX50.7").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.7"))) | else if (RTrig.GetInstance("DB3.DBX50.7").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX50.7"))) | ||||
{ | { | ||||
var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD38"); | var res = HKDevice.HK_PLC_S7.Read<float>("DB3.DBD38"); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},4号桶,{res}料仓,允许配料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},4号桶,{res}料仓,允许配料"); | |||||
if (res > 0 && res is float loc) | if (res > 0 && res is float loc) | ||||
{ | { | ||||
int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | int loc_index = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == loc); | ||||
@@ -961,7 +961,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray2 = true; | GVL_SmallStation.GetInstance.DosingTray2 = true; | ||||
GVL_SmallStation.GetInstance.DosingTray2Loc = (int)loc; | GVL_SmallStation.GetInstance.DosingTray2Loc = (int)loc; | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},4号桶,{(int)loc}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2,配方:{recipeName},4号桶,{(int)loc}号仓,配料完成"); | |||||
} | } | ||||
} | } | ||||
if (GVL_SmallStation.GetInstance.DosingTray2 == true && GVL_SmallStation.GetInstance.DosingTray1 == false && GVL_SmallStation.GetInstance.DosingTray2Loc > 0 && GVL_SmallStation.GetInstance.DosingTray2Loc < 16) | if (GVL_SmallStation.GetInstance.DosingTray2 == true && GVL_SmallStation.GetInstance.DosingTray1 == false && GVL_SmallStation.GetInstance.DosingTray2Loc > 0 && GVL_SmallStation.GetInstance.DosingTray2Loc < 16) | ||||
@@ -969,27 +969,27 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
int i = GVL_SmallStation.GetInstance.DosingTray2Loc; | int i = GVL_SmallStation.GetInstance.DosingTray2Loc; | ||||
if (RTrig.GetInstance("Tray2StatusDevice" + i).Start(DeviceInquire.GetInstance.GetDevice(i).deviceStatus.RunStatus == 3)) | if (RTrig.GetInstance("Tray2StatusDevice" + i).Start(DeviceInquire.GetInstance.GetDevice(i).deviceStatus.RunStatus == 3)) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"柔性味魔方,托盘2,配方:{recipeName},{i}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"柔性味魔方,托盘2,配方:{recipeName},{i}号仓,配料完成"); | |||||
int res = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == i); | int res = Array.FindIndex(RemoteRecipes.ElementAt(index).RawMaterial.ToArray(), p => p.RawMaterialLocation == i); | ||||
RemoteRecipes.ElementAt(index).RawMaterial.ElementAt(res).Laying_Off_Weight = DeviceInquire.GetInstance.GetDevice(i).deviceStatus.CutWeightFeedback; | RemoteRecipes.ElementAt(index).RawMaterial.ElementAt(res).Laying_Off_Weight = DeviceInquire.GetInstance.GetDevice(i).deviceStatus.CutWeightFeedback; | ||||
bool info = DeviceInquire.GetInstance.GetDevice(i).StatusReset(); | bool info = DeviceInquire.GetInstance.GetDevice(i).StatusReset(); | ||||
if (info) | if (info) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"柔性味魔方配料完成后复位 发送成功"); | |||||
MessageNotify.GetInstance.ShowRunLog($"柔性味魔方配料完成后复位 发送成功"); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"柔性味魔方配料完成后复位 发送失败"); | |||||
MessageNotify.GetInstance.ShowRunLog($"柔性味魔方配料完成后复位 发送失败"); | |||||
} | } | ||||
if (i >= 1 && i <= 8) | if (i >= 1 && i <= 8) | ||||
{ | { | ||||
string commInfo = HKDevice.HK_PLC_S7.Write("DB4.DBX30." + (i - 1), true, 4); | string commInfo = HKDevice.HK_PLC_S7.Write("DB4.DBX30." + (i - 1), true, 4); | ||||
MessageLog.GetInstance.ShowRunLog(commInfo); | |||||
MessageNotify.GetInstance.ShowRunLog(commInfo); | |||||
} | } | ||||
else if (i >= 9 && i <= 15) | else if (i >= 9 && i <= 15) | ||||
{ | { | ||||
string commInfo1 = HKDevice.HK_PLC_S7.Write("DB4.DBX31." + (i - 9), true, 4); | string commInfo1 = HKDevice.HK_PLC_S7.Write("DB4.DBX31." + (i - 9), true, 4); | ||||
MessageLog.GetInstance.ShowRunLog(commInfo1); | |||||
MessageNotify.GetInstance.ShowRunLog(commInfo1); | |||||
} | } | ||||
GVL_SmallStation.GetInstance.DosingTray2 = false; | GVL_SmallStation.GetInstance.DosingTray2 = false; | ||||
GVL_SmallStation.GetInstance.DosingTray2Loc = 0; | GVL_SmallStation.GetInstance.DosingTray2Loc = 0; | ||||
@@ -998,7 +998,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
if (RTrig.GetInstance("DB3.DBX1.2").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX1.2"))) | if (RTrig.GetInstance("DB3.DBX1.2").Start(HKDevice.HK_PLC_S7.Read<bool>("DB3.DBX1.2"))) | ||||
{ | { | ||||
var res = Json<RemoteRecipeDataColl>.Data.Recipes.FirstOrDefault(p => p.RecipeCode == code); | var res = Json<RemoteRecipeDataColl>.Data.Recipes.FirstOrDefault(p => p.RecipeCode == code); | ||||
MessageLog.GetInstance.ShowRunLog($"托盘2,配方{res.RecipeName},配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"托盘2,配方{res.RecipeName},配料完成"); | |||||
RecipeFinishInfo.Order_No = RemoteRecipes.ElementAt(index).RecipeCode; | RecipeFinishInfo.Order_No = RemoteRecipes.ElementAt(index).RecipeCode; | ||||
RecipeFinishInfo.Product_Code = RemoteRecipes.ElementAt(index).RecipeName; | RecipeFinishInfo.Product_Code = RemoteRecipes.ElementAt(index).RecipeName; | ||||
for (int i = 0; i < RemoteRecipes.ElementAt(index).RawMaterial.Count; i++) | for (int i = 0; i < RemoteRecipes.ElementAt(index).RawMaterial.Count; i++) | ||||
@@ -1040,7 +1040,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
{ | { | ||||
if (RTrig.GetInstance("Tray2StatusDevice" + DeviceID).Start(DeviceInquire.GetInstance.GetDevice(DeviceID).deviceStatus.RunStatus == 3)) | if (RTrig.GetInstance("Tray2StatusDevice" + DeviceID).Start(DeviceInquire.GetInstance.GetDevice(DeviceID).deviceStatus.RunStatus == 3)) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"柔性味魔方,托盘2,配方:{RemoteRecipes.ElementAt(Index).RecipeName},{DeviceID}号仓,配料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"柔性味魔方,托盘2,配方:{RemoteRecipes.ElementAt(Index).RecipeName},{DeviceID}号仓,配料完成"); | |||||
int res = Array.FindIndex(RemoteRecipes.ElementAt(Index).RawMaterial.ToArray(), p => p.RawMaterialLocation == DeviceID); | int res = Array.FindIndex(RemoteRecipes.ElementAt(Index).RawMaterial.ToArray(), p => p.RawMaterialLocation == DeviceID); | ||||
RemoteRecipes.ElementAt(Index).RawMaterial.ElementAt(res).Laying_Off_Weight = DeviceInquire.GetInstance.GetDevice(DeviceID).deviceStatus.CutWeightFeedback; | RemoteRecipes.ElementAt(Index).RawMaterial.ElementAt(res).Laying_Off_Weight = DeviceInquire.GetInstance.GetDevice(DeviceID).deviceStatus.CutWeightFeedback; | ||||
DeviceInquire.GetInstance.GetDevice(DeviceID).StatusReset(); | DeviceInquire.GetInstance.GetDevice(DeviceID).StatusReset(); | ||||
@@ -297,12 +297,12 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
{ | { | ||||
modbusTcp.Show += new Action<string>((s) => | modbusTcp.Show += new Action<string>((s) => | ||||
{ | { | ||||
if (s != null) MessageLog.GetInstance.ShowRunLog(s); | |||||
if (s != null) MessageNotify.GetInstance.ShowRunLog(s); | |||||
}); | }); | ||||
modbusTcp.ShowEx += new Action<string>((s) => | modbusTcp.ShowEx += new Action<string>((s) => | ||||
{ | { | ||||
if (s != null) MessageLog.GetInstance.ShowRunLog(s); | |||||
if (s != null) MessageNotify.GetInstance.ShowRunLog(s); | |||||
}); | }); | ||||
this.DeviceName = DeviceName; | this.DeviceName = DeviceName; | ||||
AlarmHelper<AlarmInfo>.Init(); | AlarmHelper<AlarmInfo>.Init(); | ||||
@@ -358,11 +358,11 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
bool returnValue = modbusTcp.Write(DeviceAddress.Start, (ushort)1);//设备启动写入 | bool returnValue = modbusTcp.Write(DeviceAddress.Start, (ushort)1);//设备启动写入 | ||||
if (returnValue) | if (returnValue) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"发送成功" + DeviceAddress.Start); | |||||
MessageNotify.GetInstance.ShowRunLog($"发送成功" + DeviceAddress.Start); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"发送失败" + DeviceAddress.Start); | |||||
MessageNotify.GetInstance.ShowRunLog($"发送失败" + DeviceAddress.Start); | |||||
} | } | ||||
//配料设备参数写入 | //配料设备参数写入 | ||||
var res = Json<DevicePar>.Data.deviceParModels.FirstOrDefault(p => p.MaterialName == DeviceName); | var res = Json<DevicePar>.Data.deviceParModels.FirstOrDefault(p => p.MaterialName == DeviceName); | ||||
@@ -376,7 +376,7 @@ namespace BPASmartClient.JXJFoodSmallStation.Model | |||||
modbusTcp.SetUint(DeviceAddress.SiloUpperLimitWeight, (uint)res.SiloUpperLimitWeight); | modbusTcp.SetUint(DeviceAddress.SiloUpperLimitWeight, (uint)res.SiloUpperLimitWeight); | ||||
modbusTcp.SetUint(DeviceAddress.LowerLimitWeightOfSilo, (uint)res.LowerLimitWeightOfSilo); | modbusTcp.SetUint(DeviceAddress.LowerLimitWeightOfSilo, (uint)res.LowerLimitWeightOfSilo); | ||||
modbusTcp.SetUint(DeviceAddress.StirringSpeed, (uint)res.StirringSpeed * 100); | modbusTcp.SetUint(DeviceAddress.StirringSpeed, (uint)res.StirringSpeed * 100); | ||||
MessageLog.GetInstance.ShowRunLog($"{res.MaterialName},参数下发完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"{res.MaterialName},参数下发完成"); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -37,7 +37,7 @@ public class NewMaterialViewModel:ObservableObject | |||||
var res = Materials.FirstOrDefault(p=>p.RawMaterialId == id); | var res = Materials.FirstOrDefault(p=>p.RawMaterialId == id); | ||||
Materials.Remove(res); | Materials.Remove(res); | ||||
Json<LocaMaterial>.Save(); | Json<LocaMaterial>.Save(); | ||||
MessageLog.GetInstance.ShowUserLog($"删除原料--{res.RawMaterialName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"删除原料--{res.RawMaterialName}"); | |||||
} | } | ||||
} | } | ||||
@@ -52,7 +52,7 @@ public class NewMaterialViewModel:ObservableObject | |||||
if(Json<LocaMaterial>.Data.LocalMaterails.FirstOrDefault(p=>p.RawMaterialName == MaterialName) != null) { ErrorInfo = "本地原料名称重复";return ;} | if(Json<LocaMaterial>.Data.LocalMaterails.FirstOrDefault(p=>p.RawMaterialName == MaterialName) != null) { ErrorInfo = "本地原料名称重复";return ;} | ||||
Json<LocaMaterial>.Data.LocalMaterails.Add(new RawMaterialModel { RawMaterialName = MaterialName, RawMaterialId = Guid.NewGuid().ToString() , RawMaterialSource = 0 }); | Json<LocaMaterial>.Data.LocalMaterails.Add(new RawMaterialModel { RawMaterialName = MaterialName, RawMaterialId = Guid.NewGuid().ToString() , RawMaterialSource = 0 }); | ||||
Json<LocaMaterial>.Save(); | Json<LocaMaterial>.Save(); | ||||
MessageLog.GetInstance.ShowUserLog($"添加原料--{MaterialName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"添加原料--{MaterialName}"); | |||||
}); | }); | ||||
} | } | ||||
} | } |
@@ -34,7 +34,7 @@ namespace BPASmartClient.JXJFoodSmallStation.ViewModel | |||||
{ | { | ||||
Recipes.ElementAt(index).IsEnable = false; | Recipes.ElementAt(index).IsEnable = false; | ||||
} | } | ||||
MessageLog.GetInstance.ShowUserLog($"下发工单 { Recipes.ElementAt(index).RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"下发工单 { Recipes.ElementAt(index).RecipeName}"); | |||||
devices.Enqueue(deviceName); | devices.Enqueue(deviceName); | ||||
var res = Recipes.FirstOrDefault(p => p.RecipeName == deviceName); | var res = Recipes.FirstOrDefault(p => p.RecipeName == deviceName); | ||||
UserTreeWait.Add(new RecipeModel { RecipeName = deviceName, RawMaterials = res.RawMaterials }); | UserTreeWait.Add(new RecipeModel { RecipeName = deviceName, RawMaterials = res.RawMaterials }); | ||||
@@ -42,7 +42,7 @@ namespace BPASmartClient.JXJFoodSmallStation.ViewModel | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方下发成功!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方下发成功!"); | ||||
MessageLog.GetInstance.ShowUserLog($"下发工单 {Guid.NewGuid().ToString()}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"下发工单 {Guid.NewGuid().ToString()}"); | |||||
}); | }); | ||||
ChangeRecipeStateCommand = new RelayCommand<object>(ChangeRecipeState); | ChangeRecipeStateCommand = new RelayCommand<object>(ChangeRecipeState); | ||||
@@ -127,7 +127,7 @@ namespace BPASmartClient.JXJFoodSmallStation.ViewModel | |||||
for (int n = 0; n < recipeProcesses.Count; n++) | for (int n = 0; n < recipeProcesses.Count; n++) | ||||
{ | { | ||||
DeviceInquire.GetInstance.GetDevice(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp).StatusReset();//完成配料的设备运行状态地址写0 | DeviceInquire.GetInstance.GetDevice(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp).StatusReset();//完成配料的设备运行状态地址写0 | ||||
MessageLog.GetInstance.ShowRunLog(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp); | |||||
MessageNotify.GetInstance.ShowRunLog(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp); | |||||
} | } | ||||
App.Current.Dispatcher.Invoke(new Action(() => { recipeProcesses.Clear(); })); | App.Current.Dispatcher.Invoke(new Action(() => { recipeProcesses.Clear(); })); | ||||
Recipes.ElementAt(recipIndex).IsEnable = true; | Recipes.ElementAt(recipIndex).IsEnable = true; | ||||
@@ -45,7 +45,7 @@ namespace BPASmartClient.JXJFoodSmallStation.ViewModel | |||||
if (res != null) | if (res != null) | ||||
{ | { | ||||
Json<LocalRecipeDataColl>.Data.Recipes.Remove(res); | Json<LocalRecipeDataColl>.Data.Recipes.Remove(res); | ||||
MessageLog.GetInstance.ShowUserLog($"删除配方——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"删除配方——{res.RecipeName}"); | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
@@ -60,7 +60,7 @@ namespace BPASmartClient.JXJFoodSmallStation.ViewModel | |||||
{ | { | ||||
ActionManage.GetInstance.Send("LocalRecipeEdit", res); | ActionManage.GetInstance.Send("LocalRecipeEdit", res); | ||||
nrv.Show(); | nrv.Show(); | ||||
MessageLog.GetInstance.ShowUserLog($"编辑配方——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"编辑配方——{res.RecipeName}"); | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
@@ -86,7 +86,7 @@ namespace BPASmartClient.JXJFoodSmallStation.ViewModel | |||||
{ | { | ||||
ActionManage.GetInstance.Send("LocalSimulationRecipeIssue", res); | ActionManage.GetInstance.Send("LocalSimulationRecipeIssue", res); | ||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"{res.RecipeName}配方下发成功!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"{res.RecipeName}配方下发成功!"); | ||||
MessageLog.GetInstance.ShowUserLog($"下发本地模拟配方——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"下发本地模拟配方——{res.RecipeName}"); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -36,12 +36,12 @@ namespace BPASmartClient.JXJFoodSmallStation.ViewModel | |||||
{ | { | ||||
NewRecipeView nrv = new NewRecipeView(); | NewRecipeView nrv = new NewRecipeView(); | ||||
nrv.ShowDialog(); | nrv.ShowDialog(); | ||||
MessageLog.GetInstance.ShowUserLog("新建配方"); | |||||
MessageNotify.GetInstance.ShowUserLog("新建配方"); | |||||
}); | }); | ||||
SaveRecipe = new RelayCommand(() => | SaveRecipe = new RelayCommand(() => | ||||
{ | { | ||||
Json<LocaPar>.Save(); | Json<LocaPar>.Save(); | ||||
MessageLog.GetInstance.ShowUserLog("保存配方"); | |||||
MessageNotify.GetInstance.ShowUserLog("保存配方"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方保存成功!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方保存成功!"); | ||||
}); | }); | ||||
RemoveCommand = new RelayCommand<object>((o) => | RemoveCommand = new RelayCommand<object>((o) => | ||||
@@ -50,7 +50,7 @@ namespace BPASmartClient.JXJFoodSmallStation.ViewModel | |||||
{ | { | ||||
var res = Json<LocaPar>.Data.Recipes.FirstOrDefault(p => p.RecipCode == str); | var res = Json<LocaPar>.Data.Recipes.FirstOrDefault(p => p.RecipCode == str); | ||||
if (res != null) Json<LocaPar>.Data.Recipes.Remove(res); | if (res != null) Json<LocaPar>.Data.Recipes.Remove(res); | ||||
MessageLog.GetInstance.ShowUserLog($"删除名称——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"删除名称——{res.RecipeName}"); | |||||
} | } | ||||
}); | }); | ||||
@@ -63,7 +63,7 @@ namespace BPASmartClient.JXJFoodSmallStation.ViewModel | |||||
var res = Json<LocaPar>.Data.Recipes.FirstOrDefault(p => p.RecipCode == str); | var res = Json<LocaPar>.Data.Recipes.FirstOrDefault(p => p.RecipCode == str); | ||||
ActionManage.GetInstance.Send("Details", res); | ActionManage.GetInstance.Send("Details", res); | ||||
nrv.ShowDialog(); | nrv.ShowDialog(); | ||||
MessageLog.GetInstance.ShowUserLog($"编辑配方名称——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"编辑配方名称——{res.RecipeName}"); | |||||
} | } | ||||
}); | }); | ||||
@@ -40,7 +40,7 @@ namespace BPASmartClient.JXJFoodSmallStation.ViewModel | |||||
{ | { | ||||
ActionManage.GetInstance.Send("RecipeInfo", res); | ActionManage.GetInstance.Send("RecipeInfo", res); | ||||
nrv.Show(); | nrv.Show(); | ||||
MessageLog.GetInstance.ShowUserLog($"查看配方——{res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"查看配方——{res.RecipeName}"); | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
@@ -312,13 +312,13 @@ PlcServer.GetInstance.WriteData("M4.0", false);//复位出料完成信号 | |||||
public void RunLog(string info) | public void RunLog(string info) | ||||
{ | { | ||||
BPASmartClient.CustomResource.Pages.Model.MessageLog.GetInstance.ShowRunLog(info); | |||||
BPASmartClient.CustomResource.Pages.Model.MessageNotify.GetInstance.ShowRunLog(info); | |||||
Debug.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")}:{info}"); | Debug.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")}:{info}"); | ||||
} | } | ||||
public void OperationLog(string info) | public void OperationLog(string info) | ||||
{ | { | ||||
BPASmartClient.CustomResource.Pages.Model.MessageLog.GetInstance.ShowUserLog(info); | |||||
BPASmartClient.CustomResource.Pages.Model.MessageNotify.GetInstance.ShowUserLog(info); | |||||
Debug.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")}:{info}"); | Debug.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")}:{info}"); | ||||
} | } | ||||
@@ -35,7 +35,7 @@ namespace BPASmartClient.ZhuoDian | |||||
protected override void OnExit(ExitEventArgs e) | protected override void OnExit(ExitEventArgs e) | ||||
{ | { | ||||
base.OnExit(e); | base.OnExit(e); | ||||
MessageLog.GetInstance.LogSave(); | |||||
MessageNotify.GetInstance.LogSave(); | |||||
} | } | ||||
private void MenuInit() | private void MenuInit() | ||||
@@ -12,8 +12,7 @@ using BPASmartClient.CustomResource.Pages.Model; | |||||
using BPASmartClient.CustomResource.Pages.View; | using BPASmartClient.CustomResource.Pages.View; | ||||
using BPASmartClient.CustomResource.Pages.ViewModel; | using BPASmartClient.CustomResource.Pages.ViewModel; | ||||
using BPASmartClient.DosingSystem.View; | using BPASmartClient.DosingSystem.View; | ||||
using BPASmartClient.Helper; | |||||
using BPASmartClient.Nfc; | |||||
using BPA.Helper; | |||||
namespace BPASmartClient.DosingSystem | namespace BPASmartClient.DosingSystem | ||||
{ | { | ||||
@@ -37,7 +36,7 @@ namespace BPASmartClient.DosingSystem | |||||
var res = lv.ShowDialog(); | var res = lv.ShowDialog(); | ||||
if (res != null && res == true) | if (res != null && res == true) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog("用户登录"); | |||||
BPASmartClient.CustomResource.Pages.Model.MessageNotify.GetInstance.ShowUserLog("用户登录"); | |||||
mv.Show(); | mv.Show(); | ||||
} | } | ||||
else | else | ||||
@@ -50,7 +49,7 @@ namespace BPASmartClient.DosingSystem | |||||
base.OnExit(e); | base.OnExit(e); | ||||
Json<LocaPar>.Save(); | Json<LocaPar>.Save(); | ||||
Json<DevicePar>.Save(); | Json<DevicePar>.Save(); | ||||
MessageLog.GetInstance.LogSave(); | |||||
BPASmartClient.CustomResource.Pages.Model.MessageNotify.GetInstance.LogSave(); | |||||
ThreadManage.GetInstance().Dispose(); | ThreadManage.GetInstance().Dispose(); | ||||
} | } | ||||
@@ -95,6 +94,14 @@ namespace BPASmartClient.DosingSystem | |||||
ToggleWindowPath = "View.DeviceMaterialParView" | ToggleWindowPath = "View.DeviceMaterialParView" | ||||
}); | }); | ||||
ParSet.Add(new SubMenumodel() | |||||
{ | |||||
SubMenuName = "通讯参数设置", | |||||
SubMenuPermission = new Permission[] { Permission.管理员 }, | |||||
AssemblyName = "BPASmartClient.DosingSystem", | |||||
ToggleWindowPath = "View.CommParSetView" | |||||
}); | |||||
MenuManage.GetInstance.menuModels.Add(new MenuModel() | MenuManage.GetInstance.menuModels.Add(new MenuModel() | ||||
{ | { | ||||
MainMenuIcon = "", | MainMenuIcon = "", | ||||
@@ -24,7 +24,10 @@ | |||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\BPASmartClient.CustomResource\BPASmartClient.CustomResource.csproj" /> | <ProjectReference Include="..\BPASmartClient.CustomResource\BPASmartClient.CustomResource.csproj" /> | ||||
<ProjectReference Include="..\BPASmartClient.Modbus\BPASmartClient.Modbus.csproj" /> | <ProjectReference Include="..\BPASmartClient.Modbus\BPASmartClient.Modbus.csproj" /> | ||||
<ProjectReference Include="..\BPASmartClient.Nfc\BPASmartClient.Nfc.csproj" /> | |||||
</ItemGroup> | |||||
<ItemGroup> | |||||
<Folder Include="Service\" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
</Project> | </Project> |
@@ -1,6 +1,5 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.DosingSystem.ViewModel; | using BPASmartClient.DosingSystem.ViewModel; | ||||
using BPASmartClient.Helper; | |||||
using BPASmartClient.Modbus; | using BPASmartClient.Modbus; | ||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using System; | using System; | ||||
@@ -11,6 +10,8 @@ using System.Linq; | |||||
using System.Net.NetworkInformation; | using System.Net.NetworkInformation; | ||||
using System.Threading; | using System.Threading; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using BPA.Helper; | |||||
using System.Text.RegularExpressions; | |||||
namespace BPASmartClient.DosingSystem | namespace BPASmartClient.DosingSystem | ||||
{ | { | ||||
@@ -106,6 +107,8 @@ namespace BPASmartClient.DosingSystem | |||||
public void Init() | public void Init() | ||||
{ | { | ||||
if (!string.IsNullOrEmpty(Json<DevicePar>.Data.Address)) IPSegment = Json<DevicePar>.Data.Address; | |||||
else Json<DevicePar>.Data.Address = IPSegment; | |||||
TestData(); | TestData(); | ||||
IpAddressLines(); | IpAddressLines(); | ||||
DeviceDataInit(); | DeviceDataInit(); | ||||
@@ -150,7 +153,11 @@ namespace BPASmartClient.DosingSystem | |||||
{ | { | ||||
if (!InvalidIP.Contains($"{IPSegment}{i}") && !DeviceLists.ContainsKey($"{IPSegment}{i}")) | if (!InvalidIP.Contains($"{IPSegment}{i}") && !DeviceLists.ContainsKey($"{IPSegment}{i}")) | ||||
{ | { | ||||
IPLists.Add($"{IPSegment}{i}"); | |||||
string pattern = @"^(([1-9]\d?)|(1\d{2})|(2[01]\d)|(22[0-3]))(\.((1?\d\d?)|(2[04]/d)|(25[0-5]))){3}$"; | |||||
if (Regex.IsMatch($"{IPSegment}{i}", pattern)) | |||||
{ | |||||
IPLists.Add($"{IPSegment}{i}"); | |||||
} | |||||
} | } | ||||
} | } | ||||
@@ -281,8 +288,6 @@ namespace BPASmartClient.DosingSystem | |||||
/// </summary> | /// </summary> | ||||
public RawMaterialDeviceStatus deviceStatus { get; set; } = new RawMaterialDeviceStatus(); | public RawMaterialDeviceStatus deviceStatus { get; set; } = new RawMaterialDeviceStatus(); | ||||
public ModbusTcp modbusTcp = new ModbusTcp(); | public ModbusTcp modbusTcp = new ModbusTcp(); | ||||
public bool IsConnected => modbusTcp.Connected; | public bool IsConnected => modbusTcp.Connected; | ||||
@@ -311,12 +316,12 @@ namespace BPASmartClient.DosingSystem | |||||
deviceStatus.DeviceNum = (ushort)this.modbusTcp.ReadShort(DeviceAddress.DeviceNum);//获取设备编号 | deviceStatus.DeviceNum = (ushort)this.modbusTcp.ReadShort(DeviceAddress.DeviceNum);//获取设备编号 | ||||
deviceStatus.DeviceAlarmCode = (ushort)this.modbusTcp.ReadShort(DeviceAddress.DeviceAlarmCode);//获取设备故障编码 | deviceStatus.DeviceAlarmCode = (ushort)this.modbusTcp.ReadShort(DeviceAddress.DeviceAlarmCode);//获取设备故障编码 | ||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).EStop1 = deviceStatus.DeviceAlarmCode.Get16bitValue(1); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).Servo = deviceStatus.DeviceAlarmCode.Get16bitValue(2); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).Inverter = deviceStatus.DeviceAlarmCode.Get16bitValue(3); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).EStop2 = deviceStatus.DeviceAlarmCode.Get16bitValue(7); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).SiloUpperLimit = deviceStatus.DeviceAlarmCode.Get16bitValue(8); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).SiloLowerLimit = deviceStatus.DeviceAlarmCode.Get16bitValue(9); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).EStop1 = deviceStatus.DeviceAlarmCode.GetBitValue(1); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).Servo = deviceStatus.DeviceAlarmCode.GetBitValue(2); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).Inverter = deviceStatus.DeviceAlarmCode.GetBitValue(3); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).EStop2 = deviceStatus.DeviceAlarmCode.GetBitValue(7); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).SiloUpperLimit = deviceStatus.DeviceAlarmCode.GetBitValue(8); | |||||
AlarmHelper<AlarmInfo>.GetInstance(DeviceName).SiloLowerLimit = deviceStatus.DeviceAlarmCode.GetBitValue(9); | |||||
Thread.Sleep(100); | Thread.Sleep(100); | ||||
}), $"{DeviceName} 开始监听", true); | }), $"{DeviceName} 开始监听", true); | ||||
} | } | ||||
@@ -1,15 +0,0 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using System.Collections.ObjectModel; | |||||
namespace BPASmartClient.DosingSystem | |||||
{ | |||||
public class DevicePar | |||||
{ | |||||
public ObservableCollection<DeviceParModel> deviceParModels { get; set; } = new ObservableCollection<DeviceParModel>(); | |||||
} | |||||
} |
@@ -0,0 +1,44 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using System.Collections.ObjectModel; | |||||
namespace BPASmartClient.DosingSystem | |||||
{ | |||||
public class DevicePar | |||||
{ | |||||
/// <summary> | |||||
/// 配料设备参数 | |||||
/// </summary> | |||||
public ObservableCollection<DeviceParModel> deviceParModels { get; set; } = new ObservableCollection<DeviceParModel>(); | |||||
/// <summary> | |||||
/// 设备扫描网段 | |||||
/// </summary> | |||||
public string Address { get; set; } = string.Empty; | |||||
/// <summary> | |||||
/// 设备端口号 | |||||
/// </summary> | |||||
public int Port { get; set; } = 502; | |||||
/// <summary> | |||||
/// 升降气缸数量 | |||||
/// </summary> | |||||
public int LiftCylinderCount { get; set; } | |||||
/// <summary> | |||||
/// 阻挡气缸数量 | |||||
/// </summary> | |||||
public int BlockCylinderCount { get; set; } | |||||
/// <summary> | |||||
/// 托盘气缸数量 | |||||
/// </summary> | |||||
public int PalletCylinderCount { get; set; } | |||||
} | |||||
} |
@@ -0,0 +1,45 @@ | |||||
<UserControl | |||||
x:Class="BPASmartClient.DosingSystem.View.CommParSetView" | |||||
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:local="clr-namespace:BPASmartClient.DosingSystem.View" | |||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | |||||
xmlns:vm="clr-namespace:BPASmartClient.DosingSystem.ViewModel" | |||||
d:DesignHeight="450" | |||||
d:DesignWidth="800" | |||||
mc:Ignorable="d"> | |||||
<UserControl.DataContext> | |||||
<vm:CommparSetViewModel /> | |||||
</UserControl.DataContext> | |||||
<Grid> | |||||
<StackPanel | |||||
Margin="0,10,0,0" | |||||
VerticalAlignment="Top" | |||||
Orientation="Horizontal"> | |||||
<TextBlock | |||||
Margin="10,0,0,0" | |||||
HorizontalAlignment="Left" | |||||
Style="{StaticResource TextBlockStyle}" | |||||
Text="设备网段地址设置:" /> | |||||
<TextBox | |||||
Width="180" | |||||
Height="35" | |||||
Margin="0,0,0,0" | |||||
FontSize="20" | |||||
Style="{StaticResource TextBoxStyle}" | |||||
Text="{Binding Address}" /> | |||||
<Button | |||||
Width="90" | |||||
Height="30" | |||||
Margin="5,0,5,0" | |||||
Command="{Binding SaveCommand}" | |||||
Content="保存参数" | |||||
FontSize="20" | |||||
Style="{StaticResource ImageButtonStyle}" /> | |||||
</StackPanel> | |||||
</Grid> | |||||
</UserControl> |
@@ -0,0 +1,28 @@ | |||||
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 BPASmartClient.DosingSystem.View | |||||
{ | |||||
/// <summary> | |||||
/// CommParSetView.xaml 的交互逻辑 | |||||
/// </summary> | |||||
public partial class CommParSetView : UserControl | |||||
{ | |||||
public CommParSetView() | |||||
{ | |||||
InitializeComponent(); | |||||
} | |||||
} | |||||
} |
@@ -3,8 +3,7 @@ using System.Collections.Generic; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | using Microsoft.Toolkit.Mvvm.ComponentModel; | ||||
using Microsoft.Toolkit.Mvvm.Input; | using Microsoft.Toolkit.Mvvm.Input; | ||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
@@ -0,0 +1,48 @@ | |||||
using System; | |||||
using System.Collections.Generic; | |||||
using System.Linq; | |||||
using System.Text; | |||||
using System.Threading.Tasks; | |||||
using BPA.Helper; | |||||
using BPASmartClient.CustomResource.UserControls; | |||||
using BPASmartClient.CustomResource.UserControls.MessageShow; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using Microsoft.Toolkit.Mvvm.Input; | |||||
namespace BPASmartClient.DosingSystem.ViewModel | |||||
{ | |||||
public class CommparSetViewModel : ObservableObject | |||||
{ | |||||
public CommparSetViewModel() | |||||
{ | |||||
SaveCommand = new RelayCommand(() => | |||||
{ | |||||
if (!string.IsNullOrEmpty(Address)) | |||||
{ | |||||
var res = Address.Split("."); | |||||
if (res != null) | |||||
{ | |||||
StringBuilder sb = new StringBuilder(); | |||||
if (res.Length >= 3) | |||||
{ | |||||
for (int i = 0; i < 3; i++) | |||||
{ | |||||
sb.Append($"{res[i]}."); | |||||
} | |||||
Json<DevicePar>.Data.Address = sb.ToString(); | |||||
Json<DevicePar>.Save(); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"参数保存成功!"); | |||||
} | |||||
} | |||||
} | |||||
}); | |||||
Address = Json<DevicePar>.Data.Address; | |||||
} | |||||
public string Address { get { return _mAddress; } set { _mAddress = value; OnPropertyChanged(); } } | |||||
private string _mAddress; | |||||
public RelayCommand SaveCommand { get; set; } | |||||
} | |||||
} |
@@ -7,7 +7,7 @@ using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Windows; | using System.Windows; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using Microsoft.Toolkit.Mvvm.Input; | using Microsoft.Toolkit.Mvvm.Input; | ||||
using BPASmartClient.DosingSystem.View; | using BPASmartClient.DosingSystem.View; | ||||
@@ -5,8 +5,7 @@ using System.Text; | |||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | using Microsoft.Toolkit.Mvvm.ComponentModel; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using Microsoft.Toolkit.Mvvm.Input; | using Microsoft.Toolkit.Mvvm.Input; | ||||
using BPASmartClient.CustomResource.UserControls.MessageShow; | using BPASmartClient.CustomResource.UserControls.MessageShow; | ||||
using BPASmartClient.CustomResource.UserControls; | using BPASmartClient.CustomResource.UserControls; | ||||
@@ -7,7 +7,7 @@ using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Windows; | using System.Windows; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using Microsoft.Toolkit.Mvvm.Input; | using Microsoft.Toolkit.Mvvm.Input; | ||||
@@ -6,6 +6,7 @@ using System.Threading.Tasks; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | using Microsoft.Toolkit.Mvvm.ComponentModel; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using Microsoft.Toolkit.Mvvm.Input; | using Microsoft.Toolkit.Mvvm.Input; | ||||
using BPA.Helper; | |||||
namespace BPASmartClient.DosingSystem.ViewModel | namespace BPASmartClient.DosingSystem.ViewModel | ||||
{ | { | ||||
@@ -13,7 +14,7 @@ namespace BPASmartClient.DosingSystem.ViewModel | |||||
{ | { | ||||
public ManualControlViewModel() | public ManualControlViewModel() | ||||
{ | { | ||||
for (int i = 0; i < 15; i++) | |||||
for (int i = 0; i < Json<DevicePar>.Data.LiftCylinderCount; i++) | |||||
{ | { | ||||
cylinderModels.Add(new CylinderModel() | cylinderModels.Add(new CylinderModel() | ||||
{ | { | ||||
@@ -21,7 +22,10 @@ namespace BPASmartClient.DosingSystem.ViewModel | |||||
LeftTog = false, | LeftTog = false, | ||||
RightTog = false, | RightTog = false, | ||||
}); | }); | ||||
} | |||||
for (int i = 0; i < Json<DevicePar>.Data.BlockCylinderCount; i++) | |||||
{ | |||||
BlockCylinders.Add(new CylinderModel() | BlockCylinders.Add(new CylinderModel() | ||||
{ | { | ||||
Name = $"阻挡气缸 {i + 1}", | Name = $"阻挡气缸 {i + 1}", | ||||
@@ -30,7 +34,7 @@ namespace BPASmartClient.DosingSystem.ViewModel | |||||
}); | }); | ||||
} | } | ||||
for (int i = 0; i < 4; i++) | |||||
for (int i = 0; i < Json<DevicePar>.Data.PalletCylinderCount; i++) | |||||
{ | { | ||||
PalletCylinders.Add(new CylinderModel() | PalletCylinders.Add(new CylinderModel() | ||||
{ | { | ||||
@@ -1,6 +1,5 @@ | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | using Microsoft.Toolkit.Mvvm.ComponentModel; | ||||
using Microsoft.Toolkit.Mvvm.Input; | using Microsoft.Toolkit.Mvvm.Input; | ||||
@@ -37,7 +36,7 @@ public class NewMaterialViewModel : ViewModelBase | |||||
var res = Materials.FirstOrDefault(p => p.RawMaterialId == id); | var res = Materials.FirstOrDefault(p => p.RawMaterialId == id); | ||||
Materials.Remove(res); | Materials.Remove(res); | ||||
Json<LocaMaterial>.Save(); | Json<LocaMaterial>.Save(); | ||||
MessageLog.GetInstance.ShowUserLog($"删除原料--{res.RawMaterialName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"删除原料--{res.RawMaterialName}"); | |||||
} | } | ||||
} | } | ||||
@@ -52,7 +51,7 @@ public class NewMaterialViewModel : ViewModelBase | |||||
if (Json<LocaMaterial>.Data.LocalMaterails.FirstOrDefault(p => p.RawMaterialName == MaterialName) != null) { ErrorInfo = "本地原料名称重复"; return; } | if (Json<LocaMaterial>.Data.LocalMaterails.FirstOrDefault(p => p.RawMaterialName == MaterialName) != null) { ErrorInfo = "本地原料名称重复"; return; } | ||||
Json<LocaMaterial>.Data.LocalMaterails.Add(new RawMaterialModel { RawMaterialName = MaterialName, RawMaterialId = Guid.NewGuid().ToString(), RawMaterialSource = 0 }); | Json<LocaMaterial>.Data.LocalMaterails.Add(new RawMaterialModel { RawMaterialName = MaterialName, RawMaterialId = Guid.NewGuid().ToString(), RawMaterialSource = 0 }); | ||||
Json<LocaMaterial>.Save(); | Json<LocaMaterial>.Save(); | ||||
MessageLog.GetInstance.ShowUserLog($"添加原料--{MaterialName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"添加原料--{MaterialName}"); | |||||
}); | }); | ||||
} | } | ||||
} | } |
@@ -6,7 +6,7 @@ using System.Threading.Tasks; | |||||
using Microsoft.Toolkit.Mvvm.ComponentModel; | using Microsoft.Toolkit.Mvvm.ComponentModel; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using Microsoft.Toolkit.Mvvm.Input; | using Microsoft.Toolkit.Mvvm.Input; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.Model; | using BPASmartClient.Model; | ||||
using BPASmartClient.CustomResource.UserControls.MessageShow; | using BPASmartClient.CustomResource.UserControls.MessageShow; | ||||
@@ -7,9 +7,8 @@ using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Windows; | using System.Windows; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using Microsoft.Toolkit.Mvvm.Input; | using Microsoft.Toolkit.Mvvm.Input; | ||||
using System.Threading; | using System.Threading; | ||||
using BPASmartClient.CustomResource.Pages.Model; | using BPASmartClient.CustomResource.Pages.Model; | ||||
using BPASmartClient.CustomResource.UserControls.MessageShow; | using BPASmartClient.CustomResource.UserControls.MessageShow; | ||||
@@ -34,7 +33,7 @@ namespace BPASmartClient.DosingSystem.ViewModel | |||||
{ | { | ||||
Recipes.ElementAt(index).IsEnable = false; | Recipes.ElementAt(index).IsEnable = false; | ||||
} | } | ||||
MessageLog.GetInstance.ShowUserLog($"下发工单 {Recipes.ElementAt(index).RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"下发工单 {Recipes.ElementAt(index).RecipeName}"); | |||||
devices.Enqueue(deviceName); | devices.Enqueue(deviceName); | ||||
var res = Recipes.FirstOrDefault(p => p.RecipeName == deviceName); | var res = Recipes.FirstOrDefault(p => p.RecipeName == deviceName); | ||||
UserTreeWait.Add(new RecipeModel { RecipeName = deviceName, RawMaterials = res.RawMaterials }); | UserTreeWait.Add(new RecipeModel { RecipeName = deviceName, RawMaterials = res.RawMaterials }); | ||||
@@ -42,7 +41,7 @@ namespace BPASmartClient.DosingSystem.ViewModel | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方下发成功!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方下发成功!"); | ||||
MessageLog.GetInstance.ShowUserLog($"下发工单 {Guid.NewGuid().ToString()}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"下发工单 {Guid.NewGuid().ToString()}"); | |||||
}); | }); | ||||
ChangeRecipeStateCommand = new RelayCommand<object>(ChangeRecipeState); | ChangeRecipeStateCommand = new RelayCommand<object>(ChangeRecipeState); | ||||
@@ -129,7 +128,7 @@ namespace BPASmartClient.DosingSystem.ViewModel | |||||
for (int n = 0; n < recipeProcesses.Count; n++) | for (int n = 0; n < recipeProcesses.Count; n++) | ||||
{ | { | ||||
DeviceInquire.GetInstance.GetDevice(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp).StatusReset();//完成配料的设备运行状态地址写0 | DeviceInquire.GetInstance.GetDevice(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp).StatusReset();//完成配料的设备运行状态地址写0 | ||||
MessageLog.GetInstance.ShowRunLog(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp); | |||||
MessageNotify.GetInstance.ShowRunLog(Recipes.ElementAt(recipIndex).RawMaterials.ElementAt(n).DeviceIp); | |||||
} | } | ||||
App.Current.Dispatcher.Invoke(new Action(() => { recipeProcesses.Clear(); })); | App.Current.Dispatcher.Invoke(new Action(() => { recipeProcesses.Clear(); })); | ||||
Recipes.ElementAt(recipIndex).IsEnable = true; | Recipes.ElementAt(recipIndex).IsEnable = true; | ||||
@@ -7,7 +7,7 @@ using Microsoft.Toolkit.Mvvm.ComponentModel; | |||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
using System.Collections.ObjectModel; | using System.Collections.ObjectModel; | ||||
using System.Windows; | using System.Windows; | ||||
using BPASmartClient.Helper; | |||||
using BPA.Helper; | |||||
using Microsoft.Toolkit.Mvvm.Input; | using Microsoft.Toolkit.Mvvm.Input; | ||||
using BPASmartClient.DosingSystem.View; | using BPASmartClient.DosingSystem.View; | ||||
using BPASmartClient.CustomResource.UserControls; | using BPASmartClient.CustomResource.UserControls; | ||||
@@ -35,25 +35,25 @@ namespace BPASmartClient.DosingSystem.ViewModel | |||||
{ | { | ||||
NewRecipeView nrv = new NewRecipeView(); | NewRecipeView nrv = new NewRecipeView(); | ||||
nrv.ShowDialog(); | nrv.ShowDialog(); | ||||
MessageLog.GetInstance.ShowUserLog("新建配方"); | |||||
MessageNotify.GetInstance.ShowUserLog("新建配方"); | |||||
}); | }); | ||||
SaveRecipe = new RelayCommand(() => | SaveRecipe = new RelayCommand(() => | ||||
{ | { | ||||
Json<LocaPar>.Save(); | Json<LocaPar>.Save(); | ||||
MessageLog.GetInstance.ShowUserLog("保存配方"); | |||||
MessageNotify.GetInstance.ShowUserLog("保存配方"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方保存成功!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方保存成功!"); | ||||
}); | }); | ||||
RemoveCommand = new RelayCommand<object>((o) => | RemoveCommand = new RelayCommand<object>((o) => | ||||
{ | { | ||||
if (!string.IsNullOrEmpty(o?.ToString())) | if (!string.IsNullOrEmpty(o?.ToString())) | ||||
{ | { | ||||
if (MessageLog.GetInstance.ShowDialog($"是否删除【{o.ToString()}】配方,删除后数据将永久丢失!无法找回", DialogType.Warning)) | |||||
if (MessageNotify.GetInstance.ShowDialog($"是否删除【{o.ToString()}】配方,删除后数据将永久丢失!无法找回", DialogType.Warning)) | |||||
{ | { | ||||
var res = Json<LocaPar>.Data.Recipes.FirstOrDefault(p => p.RecipeName == o.ToString()); | var res = Json<LocaPar>.Data.Recipes.FirstOrDefault(p => p.RecipeName == o.ToString()); | ||||
if (res != null) Json<LocaPar>.Data.Recipes.Remove(res); | if (res != null) Json<LocaPar>.Data.Recipes.Remove(res); | ||||
Json<LocaPar>.Save(); | Json<LocaPar>.Save(); | ||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方删除成功!"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"配方删除成功!"); | ||||
MessageLog.GetInstance.ShowUserLog($"删除配方 {res.RecipeName}"); | |||||
MessageNotify.GetInstance.ShowUserLog($"删除配方 {res.RecipeName}"); | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
@@ -38,7 +38,7 @@ namespace FryPot_DosingSystem | |||||
if (res != null && res == true) | if (res != null && res == true) | ||||
{ | { | ||||
mv.Show(); | mv.Show(); | ||||
MessageLog.GetInstance.ShowUserLog("用户登录"); | |||||
MessageNotify.GetInstance.ShowUserLog("用户登录"); | |||||
await Task.Run(()=> { DeviceOperate deviceOperate = DeviceOperate.GetInstance; });//开启实时PLC数据读取 | await Task.Run(()=> { DeviceOperate deviceOperate = DeviceOperate.GetInstance; });//开启实时PLC数据读取 | ||||
DosingLogicControl logigControl = DosingLogicControl.GetInstance;//开启逻辑控制任务程序 | DosingLogicControl logigControl = DosingLogicControl.GetInstance;//开启逻辑控制任务程序 | ||||
HubHelper.GetInstance.Connect("192.168.1.20", 8089); | HubHelper.GetInstance.Connect("192.168.1.20", 8089); | ||||
@@ -67,7 +67,7 @@ namespace FryPot_DosingSystem | |||||
{ | { | ||||
base.OnExit(e); | base.OnExit(e); | ||||
Json<RecipeManage>.Save(); | Json<RecipeManage>.Save(); | ||||
MessageLog.GetInstance.LogSave(); | |||||
MessageNotify.GetInstance.LogSave(); | |||||
} | } | ||||
private void MenuInite() | private void MenuInite() | ||||
{ | { | ||||
@@ -130,19 +130,19 @@ namespace FryPot_DosingSystem.Control | |||||
} | } | ||||
} | } | ||||
IsConfig = true; | IsConfig = true; | ||||
MessageLog.GetInstance.ShowRunLog("PLC变量配置加载成功"); | |||||
MessageNotify.GetInstance.ShowRunLog("PLC变量配置加载成功"); | |||||
} | } | ||||
catch (Exception) | catch (Exception) | ||||
{ | { | ||||
IsConfig = false; | IsConfig = false; | ||||
MessageLog.GetInstance.ShowRunLog("PLC变量配置加载错误,请重新配置并重启软件"); | |||||
MessageNotify.GetInstance.ShowRunLog("PLC变量配置加载错误,请重新配置并重启软件"); | |||||
//throw; | //throw; | ||||
} | } | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
IsConfig = false; | IsConfig = false; | ||||
MessageLog.GetInstance.ShowRunLog("PLC变量配置加载失败:文件无数据,请重新配置并重启软件"); | |||||
MessageNotify.GetInstance.ShowRunLog("PLC变量配置加载失败:文件无数据,请重新配置并重启软件"); | |||||
} | } | ||||
//Variables.Add(new PlcVariableModel() { Address = "D2001", Length = 8 });//1号线体滚筒工位号 | //Variables.Add(new PlcVariableModel() { Address = "D2001", Length = 8 });//1号线体滚筒工位号 | ||||
//Variables.Add(new PlcVariableModel() { Address = "D2011", Length = 8 });//2号线体滚筒工位号 | //Variables.Add(new PlcVariableModel() { Address = "D2011", Length = 8 });//2号线体滚筒工位号 | ||||
@@ -180,12 +180,12 @@ namespace FryPot_DosingSystem.Control | |||||
string DeviceName = devices.Devices[i].DeviceName; | string DeviceName = devices.Devices[i].DeviceName; | ||||
switch (DeviceName) | switch (DeviceName) | ||||
{ | { | ||||
case "滚筒输送线": modbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageLog.GetInstance.ShowRunLog("滚筒线PLC连接成功"); break; | |||||
case "炒锅1": fryOneModbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageLog.GetInstance.ShowRunLog("1号炒锅PLC连接成功"); break; | |||||
case "炒锅2": fryTwoModbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageLog.GetInstance.ShowRunLog("2号炒锅PLC连接成功"); break; | |||||
case "炒锅3": fryThreeModbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageLog.GetInstance.ShowRunLog("3号炒锅PLC连接成功"); break; | |||||
case "炒锅4": fryFourModbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageLog.GetInstance.ShowRunLog("4号炒锅PLC连接成功"); break; | |||||
case "炒锅5": fryFiveModbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageLog.GetInstance.ShowRunLog("5号炒锅PLC连接成功"); break; | |||||
case "滚筒输送线": modbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageNotify.GetInstance.ShowRunLog("滚筒线PLC连接成功"); break; | |||||
case "炒锅1": fryOneModbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageNotify.GetInstance.ShowRunLog("1号炒锅PLC连接成功"); break; | |||||
case "炒锅2": fryTwoModbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageNotify.GetInstance.ShowRunLog("2号炒锅PLC连接成功"); break; | |||||
case "炒锅3": fryThreeModbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageNotify.GetInstance.ShowRunLog("3号炒锅PLC连接成功"); break; | |||||
case "炒锅4": fryFourModbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageNotify.GetInstance.ShowRunLog("4号炒锅PLC连接成功"); break; | |||||
case "炒锅5": fryFiveModbus.ModbusTcpConnect(Ip, Convert.ToInt32(Port)); MessageNotify.GetInstance.ShowRunLog("5号炒锅PLC连接成功"); break; | |||||
} | } | ||||
} | } | ||||
@@ -225,7 +225,7 @@ namespace FryPot_DosingSystem.Control | |||||
DeviceManage devices = Json<DeviceManage>.Data; | DeviceManage devices = Json<DeviceManage>.Data; | ||||
var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "滚筒输送线"); | var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "滚筒输送线"); | ||||
if (res != null) | if (res != null) | ||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageLog.GetInstance.ShowRunLog("滚筒线PLC重连成功"); | |||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageNotify.GetInstance.ShowRunLog("滚筒线PLC重连成功"); | |||||
} | } | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
}), $"滚筒线实时数据读取线程"); | }), $"滚筒线实时数据读取线程"); | ||||
@@ -259,7 +259,7 @@ namespace FryPot_DosingSystem.Control | |||||
DeviceManage devices = Json<DeviceManage>.Data; | DeviceManage devices = Json<DeviceManage>.Data; | ||||
var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "炒锅1"); | var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "炒锅1"); | ||||
if (res != null) | if (res != null) | ||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageLog.GetInstance.ShowRunLog("1号炒锅PLC重连成功"); | |||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageNotify.GetInstance.ShowRunLog("1号炒锅PLC重连成功"); | |||||
} | } | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
}), $"炒锅1实时数据读取线程"); | }), $"炒锅1实时数据读取线程"); | ||||
@@ -289,7 +289,7 @@ namespace FryPot_DosingSystem.Control | |||||
DeviceManage devices = Json<DeviceManage>.Data; | DeviceManage devices = Json<DeviceManage>.Data; | ||||
var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "炒锅2"); | var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "炒锅2"); | ||||
if (res != null) | if (res != null) | ||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageLog.GetInstance.ShowRunLog("2号炒锅PLC重连成功"); | |||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageNotify.GetInstance.ShowRunLog("2号炒锅PLC重连成功"); | |||||
} | } | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
}), $"炒锅2实时数据读取线程"); | }), $"炒锅2实时数据读取线程"); | ||||
@@ -319,7 +319,7 @@ namespace FryPot_DosingSystem.Control | |||||
DeviceManage devices = Json<DeviceManage>.Data; | DeviceManage devices = Json<DeviceManage>.Data; | ||||
var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "炒锅3"); | var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "炒锅3"); | ||||
if (res != null) | if (res != null) | ||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageLog.GetInstance.ShowRunLog("3号炒锅PLC重连成功"); | |||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageNotify.GetInstance.ShowRunLog("3号炒锅PLC重连成功"); | |||||
} | } | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
}), $"炒锅3实时数据读取线程"); | }), $"炒锅3实时数据读取线程"); | ||||
@@ -349,7 +349,7 @@ namespace FryPot_DosingSystem.Control | |||||
DeviceManage devices = Json<DeviceManage>.Data; | DeviceManage devices = Json<DeviceManage>.Data; | ||||
var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "炒锅4"); | var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "炒锅4"); | ||||
if (res != null) | if (res != null) | ||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageLog.GetInstance.ShowRunLog("4号炒锅PLC重连成功"); | |||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageNotify.GetInstance.ShowRunLog("4号炒锅PLC重连成功"); | |||||
} | } | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
}), $"炒锅4实时数据读取线程"); | }), $"炒锅4实时数据读取线程"); | ||||
@@ -379,7 +379,7 @@ namespace FryPot_DosingSystem.Control | |||||
DeviceManage devices = Json<DeviceManage>.Data; | DeviceManage devices = Json<DeviceManage>.Data; | ||||
var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "炒锅5"); | var res = devices.Devices.FirstOrDefault(p => p.DeviceName == "炒锅5"); | ||||
if (res != null) | if (res != null) | ||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageLog.GetInstance.ShowRunLog("5号炒锅PLC重连成功"); | |||||
modbus.ModbusTcpConnect(res.Ip, Convert.ToInt32(res.Port)); MessageNotify.GetInstance.ShowRunLog("5号炒锅PLC重连成功"); | |||||
} | } | ||||
Thread.Sleep(10); | Thread.Sleep(10); | ||||
}), $"炒锅5实时数据读取线程"); | }), $"炒锅5实时数据读取线程"); | ||||
@@ -222,35 +222,35 @@ namespace FryPot_DosingSystem.Control | |||||
string errorCode = AGVHelper.GetInstance.AgvToLineOneLoadRoller(id); | string errorCode = AGVHelper.GetInstance.AgvToLineOneLoadRoller(id); | ||||
if (errorCode == "SUCCESS") | if (errorCode == "SUCCESS") | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"AGV任务下发成功"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV任务下发成功"); | |||||
} | } | ||||
else if (errorCode == "Analysis Error") | else if (errorCode == "Analysis Error") | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"提示:AGV 调用API失败,请检查请求报文"); | |||||
MessageNotify.GetInstance.ShowRunLog($"提示:AGV 调用API失败,请检查请求报文"); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"提示:AGV任务下发失败,错误码:{errorCode}"); | |||||
MessageNotify.GetInstance.ShowRunLog($"提示:AGV任务下发失败,错误码:{errorCode}"); | |||||
} | } | ||||
}), "AgvDebug"); | }), "AgvDebug"); | ||||
ActionManage.GetInstance.Register(() => | ActionManage.GetInstance.Register(() => | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("清洗台卸桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("清洗台卸桶完成"); | |||||
}, "AgvArriveCleanPlateLocCom"); | }, "AgvArriveCleanPlateLocCom"); | ||||
ActionManage.GetInstance.Register(() => | ActionManage.GetInstance.Register(() => | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("清洗台空桶在【4】号线卸桶完成"); | |||||
MessageLog.GetInstance.ShowRunLog("【1】号线炒锅空桶在【4】号线卸桶完成"); | |||||
MessageLog.GetInstance.ShowRunLog("【2】号线炒锅空桶在【4】号线卸桶完成"); | |||||
MessageLog.GetInstance.ShowRunLog("【3】号线炒锅空桶在【4】号线卸桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("清洗台空桶在【4】号线卸桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("【1】号线炒锅空桶在【4】号线卸桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("【2】号线炒锅空桶在【4】号线卸桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("【3】号线炒锅空桶在【4】号线卸桶完成"); | |||||
}, "AgvArriveLineFourLocCom"); | }, "AgvArriveLineFourLocCom"); | ||||
ActionManage.GetInstance.Register(() => | ActionManage.GetInstance.Register(() => | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("清洗台空桶装载完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("清洗台空桶装载完成"); | |||||
}, "AgvArriveCleanPlateLocLoadCom"); | }, "AgvArriveCleanPlateLocLoadCom"); | ||||
@@ -1015,7 +1015,7 @@ namespace FryPot_DosingSystem.Control | |||||
//线体1任务上报 | //线体1任务上报 | ||||
if (objData.state == "DONE" && objData.robotJobId == LFourrobotJobId && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指炒锅空桶下料 | if (objData.state == "DONE" && objData.robotJobId == LFourrobotJobId && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指炒锅空桶下料 | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("1号线炒锅空桶在4号线卸桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("1号线炒锅空桶在4号线卸桶完成"); | |||||
if (globalVar.LFourRollerNum >= 8) | if (globalVar.LFourRollerNum >= 8) | ||||
{ | { | ||||
@@ -1033,7 +1033,7 @@ namespace FryPot_DosingSystem.Control | |||||
//线体2任务上报 | //线体2任务上报 | ||||
if (objData.state == "DONE" && objData.robotJobId == LFiverobotJobId && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指炒锅空桶下料 | if (objData.state == "DONE" && objData.robotJobId == LFiverobotJobId && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指炒锅空桶下料 | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("2号线炒锅空桶在4号线卸桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("2号线炒锅空桶在4号线卸桶完成"); | |||||
if (globalVar.LFourRollerNum >= 8) | if (globalVar.LFourRollerNum >= 8) | ||||
{ | { | ||||
@@ -1050,7 +1050,7 @@ namespace FryPot_DosingSystem.Control | |||||
//线体3任务上报 | //线体3任务上报 | ||||
if (objData.state == "DONE" && objData.robotJobId == LSixrobotJobId && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指炒锅空桶下料 | if (objData.state == "DONE" && objData.robotJobId == LSixrobotJobId && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指炒锅空桶下料 | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("3号线炒锅空桶在4号线卸桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("3号线炒锅空桶在4号线卸桶完成"); | |||||
if (globalVar.LFourRollerNum >= 8) | if (globalVar.LFourRollerNum >= 8) | ||||
{ | { | ||||
@@ -1100,7 +1100,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (objData.state == "DONE" && LSevenrobotJobId.FirstOrDefault(p => p == objData.robotJobId) != null && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指从线体1到清戏台空桶下料 | if (objData.state == "DONE" && LSevenrobotJobId.FirstOrDefault(p => p == objData.robotJobId) != null && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指从线体1到清戏台空桶下料 | ||||
{ | { | ||||
LSevenrobotJobId.Remove(objData.robotJobId); | LSevenrobotJobId.Remove(objData.robotJobId); | ||||
MessageLog.GetInstance.ShowRunLog("线体【1】空桶在清洗台卸桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("线体【1】空桶在清洗台卸桶完成"); | |||||
AgvViewModel.GetInstance().Set小车是否承载物品(agvCode[objData.jobData.agvCode], IsBool.No); | AgvViewModel.GetInstance().Set小车是否承载物品(agvCode[objData.jobData.agvCode], IsBool.No); | ||||
AgvViewModel.GetInstance().Set小车运动(agvCode[objData.jobData.agvCode], CartMotionTrajectory.qxt_hj); | AgvViewModel.GetInstance().Set小车运动(agvCode[objData.jobData.agvCode], CartMotionTrajectory.qxt_hj); | ||||
AgvViewModel.GetInstance().Set停车桩(agvCode[objData.jobData.agvCode], IsBool.Yes); | AgvViewModel.GetInstance().Set停车桩(agvCode[objData.jobData.agvCode], IsBool.Yes); | ||||
@@ -1109,7 +1109,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (objData.state == "DONE" && LEightrobotJobId.FirstOrDefault(p => p == objData.robotJobId) != null && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指从线体2到清戏台空桶下料 | if (objData.state == "DONE" && LEightrobotJobId.FirstOrDefault(p => p == objData.robotJobId) != null && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指从线体2到清戏台空桶下料 | ||||
{ | { | ||||
LEightrobotJobId.Remove(objData.robotJobId); | LEightrobotJobId.Remove(objData.robotJobId); | ||||
MessageLog.GetInstance.ShowRunLog("线体【2】空桶在清洗台卸桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("线体【2】空桶在清洗台卸桶完成"); | |||||
AgvViewModel.GetInstance().Set小车是否承载物品(agvCode[objData.jobData.agvCode], IsBool.No); | AgvViewModel.GetInstance().Set小车是否承载物品(agvCode[objData.jobData.agvCode], IsBool.No); | ||||
AgvViewModel.GetInstance().Set小车运动(agvCode[objData.jobData.agvCode], CartMotionTrajectory.qxt_hj); | AgvViewModel.GetInstance().Set小车运动(agvCode[objData.jobData.agvCode], CartMotionTrajectory.qxt_hj); | ||||
AgvViewModel.GetInstance().Set停车桩(agvCode[objData.jobData.agvCode], IsBool.Yes); | AgvViewModel.GetInstance().Set停车桩(agvCode[objData.jobData.agvCode], IsBool.Yes); | ||||
@@ -1118,7 +1118,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (objData.state == "DONE" && LNinerobotJobId.FirstOrDefault(p => p == objData.robotJobId) != null && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指从线体3到清戏台空桶下料 | if (objData.state == "DONE" && LNinerobotJobId.FirstOrDefault(p => p == objData.robotJobId) != null && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指从线体3到清戏台空桶下料 | ||||
{ | { | ||||
LNinerobotJobId.Remove(objData.robotJobId); | LNinerobotJobId.Remove(objData.robotJobId); | ||||
MessageLog.GetInstance.ShowRunLog("线体【3】空桶在清洗台卸桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("线体【3】空桶在清洗台卸桶完成"); | |||||
AgvViewModel.GetInstance().Set小车是否承载物品(agvCode[objData.jobData.agvCode], IsBool.No); | AgvViewModel.GetInstance().Set小车是否承载物品(agvCode[objData.jobData.agvCode], IsBool.No); | ||||
AgvViewModel.GetInstance().Set小车运动(agvCode[objData.jobData.agvCode], CartMotionTrajectory.qxt_hj); | AgvViewModel.GetInstance().Set小车运动(agvCode[objData.jobData.agvCode], CartMotionTrajectory.qxt_hj); | ||||
AgvViewModel.GetInstance().Set停车桩(agvCode[objData.jobData.agvCode], IsBool.Yes); | AgvViewModel.GetInstance().Set停车桩(agvCode[objData.jobData.agvCode], IsBool.Yes); | ||||
@@ -1128,7 +1128,7 @@ namespace FryPot_DosingSystem.Control | |||||
#region 清洗台到线体4 | #region 清洗台到线体4 | ||||
if (objData.state == "ROLLER_LOAD_FINISH" && LTenrobotJobId.FirstOrDefault(p => p == objData.robotJobId) != null && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定上料位置上料完成,指清戏台空桶到上料 | if (objData.state == "ROLLER_LOAD_FINISH" && LTenrobotJobId.FirstOrDefault(p => p == objData.robotJobId) != null && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定上料位置上料完成,指清戏台空桶到上料 | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("清洗台空桶装载完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("清洗台空桶装载完成"); | |||||
AgvViewModel.GetInstance().Set小车是否承载物品(agvCode[objData.jobData.agvCode], IsBool.OnllYes); | AgvViewModel.GetInstance().Set小车是否承载物品(agvCode[objData.jobData.agvCode], IsBool.OnllYes); | ||||
AgvViewModel.GetInstance().Set小车运动(agvCode[objData.jobData.agvCode], CartMotionTrajectory.hs_4);//去四号空桶线 | AgvViewModel.GetInstance().Set小车运动(agvCode[objData.jobData.agvCode], CartMotionTrajectory.hs_4);//去四号空桶线 | ||||
AgvViewModel.GetInstance().SetCleanRollerNum(--CleanNum); | AgvViewModel.GetInstance().SetCleanRollerNum(--CleanNum); | ||||
@@ -1143,7 +1143,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (objData.state == "DONE" && LTenrobotJobId.FirstOrDefault(p => p == objData.robotJobId) != null && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指清戏台空桶到线体4下料 | if (objData.state == "DONE" && LTenrobotJobId.FirstOrDefault(p => p == objData.robotJobId) != null && objData.jobData.startPointCode == "" && objData.jobData.targetPointCode == "")//指定下料位置下料完成,指清戏台空桶到线体4下料 | ||||
{ | { | ||||
LTenrobotJobId.Remove(objData.robotJobId); | LTenrobotJobId.Remove(objData.robotJobId); | ||||
MessageLog.GetInstance.ShowRunLog("【4】号线空桶回桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("【4】号线空桶回桶完成"); | |||||
if (globalVar.LFourRollerNum >= 8) | if (globalVar.LFourRollerNum >= 8) | ||||
{ | { | ||||
AgvViewModel.GetInstance().Set滚筒线上数量(4, "8"); | AgvViewModel.GetInstance().Set滚筒线上数量(4, "8"); | ||||
@@ -1175,7 +1175,7 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
if (RTrig.GetInstance("ResetProgram").Start(globalVar.PlcInite == 1))//判断是否初始化 一初始化就重启主任务 | if (RTrig.GetInstance("ResetProgram").Start(globalVar.PlcInite == 1))//判断是否初始化 一初始化就重启主任务 | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog("主任务正在重启"); | |||||
MessageNotify.GetInstance.ShowUserLog("主任务正在重启"); | |||||
ThreadManage.GetInstance().StopTask("MainViewReadPlcData", new Action(() => | ThreadManage.GetInstance().StopTask("MainViewReadPlcData", new Action(() => | ||||
{ | { | ||||
@@ -1193,7 +1193,7 @@ namespace FryPot_DosingSystem.Control | |||||
ReicpeNum = 0; | ReicpeNum = 0; | ||||
ReadPlcData(); | ReadPlcData(); | ||||
MainTask(); | MainTask(); | ||||
MessageLog.GetInstance.ShowUserLog("主任务重启完成"); | |||||
MessageNotify.GetInstance.ShowUserLog("主任务重启完成"); | |||||
})); | })); | ||||
})); | })); | ||||
@@ -1234,7 +1234,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.agvLineOneLoadCom = false; | globalVar.agvLineOneLoadCom = false; | ||||
ThreadManage.GetInstance().StartLong(new Action(() => { LineOneProcessExecute(); Thread.Sleep(10); }), "滚筒线1任务线程"); | ThreadManage.GetInstance().StartLong(new Action(() => { LineOneProcessExecute(); Thread.Sleep(10); }), "滚筒线1任务线程"); | ||||
MessageLog.GetInstance.ShowUserLog("滚筒线【1】任务重启成功"); | |||||
MessageNotify.GetInstance.ShowUserLog("滚筒线【1】任务重启成功"); | |||||
})); | })); | ||||
} | } | ||||
public void LineTwoTaskRestart() | public void LineTwoTaskRestart() | ||||
@@ -1266,7 +1266,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.agvLineTwoLoadCom = false; | globalVar.agvLineTwoLoadCom = false; | ||||
ThreadManage.GetInstance().StartLong(new Action(() => { LineTwoProcessExecute(); Thread.Sleep(10); }), "滚筒线2任务线程"); | ThreadManage.GetInstance().StartLong(new Action(() => { LineTwoProcessExecute(); Thread.Sleep(10); }), "滚筒线2任务线程"); | ||||
MessageLog.GetInstance.ShowUserLog("滚筒线【2】任务重启成功"); | |||||
MessageNotify.GetInstance.ShowUserLog("滚筒线【2】任务重启成功"); | |||||
})); | })); | ||||
} | } | ||||
public void LineThreeTaskRestart() | public void LineThreeTaskRestart() | ||||
@@ -1295,7 +1295,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.LThreeagvFryPotEmptyRollerArrive = false; | globalVar.LThreeagvFryPotEmptyRollerArrive = false; | ||||
globalVar.agvLineThreeLoadCom = false; | globalVar.agvLineThreeLoadCom = false; | ||||
ThreadManage.GetInstance().StartLong(new Action(() => { LineThreeProcessExecute(); Thread.Sleep(10); }), "滚筒线3任务线程"); | ThreadManage.GetInstance().StartLong(new Action(() => { LineThreeProcessExecute(); Thread.Sleep(10); }), "滚筒线3任务线程"); | ||||
MessageLog.GetInstance.ShowUserLog("滚筒线【3】任务重启成功"); | |||||
MessageNotify.GetInstance.ShowUserLog("滚筒线【3】任务重启成功"); | |||||
})); | })); | ||||
} | } | ||||
@@ -1315,7 +1315,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.agvArriveLineOneLoadEmptyRoller = false; | globalVar.agvArriveLineOneLoadEmptyRoller = false; | ||||
globalVar.agvArriveLineOneLoadCom = false; | globalVar.agvArriveLineOneLoadCom = false; | ||||
ThreadManage.GetInstance().StartLong(new Action(() => { LineOneToCleanProcessExecute(); Thread.Sleep(10); }), "滚筒线1空桶清洗任务线程"); | ThreadManage.GetInstance().StartLong(new Action(() => { LineOneToCleanProcessExecute(); Thread.Sleep(10); }), "滚筒线1空桶清洗任务线程"); | ||||
MessageLog.GetInstance.ShowUserLog("滚筒线【1】空桶清洗任务重启成功"); | |||||
MessageNotify.GetInstance.ShowUserLog("滚筒线【1】空桶清洗任务重启成功"); | |||||
})); | })); | ||||
} | } | ||||
@@ -1339,7 +1339,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.agvArriveLineTwoLoadEmptyRoller = false; | globalVar.agvArriveLineTwoLoadEmptyRoller = false; | ||||
globalVar.agvArriveLineTwoLoadCom = false; | globalVar.agvArriveLineTwoLoadCom = false; | ||||
ThreadManage.GetInstance().StartLong(new Action(() => { LineTwoToCleanProcessExecute(); Thread.Sleep(10); }), "滚筒线2空桶清洗任务线程"); | ThreadManage.GetInstance().StartLong(new Action(() => { LineTwoToCleanProcessExecute(); Thread.Sleep(10); }), "滚筒线2空桶清洗任务线程"); | ||||
MessageLog.GetInstance.ShowUserLog("滚筒线【2】空桶清洗任务重启成功"); | |||||
MessageNotify.GetInstance.ShowUserLog("滚筒线【2】空桶清洗任务重启成功"); | |||||
})); | })); | ||||
} | } | ||||
@@ -1359,7 +1359,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.agvArriveLineThreeLoadEmptyRoller = false; | globalVar.agvArriveLineThreeLoadEmptyRoller = false; | ||||
globalVar.agvArriveLineThreeLoadCom = false; | globalVar.agvArriveLineThreeLoadCom = false; | ||||
ThreadManage.GetInstance().StartLong(new Action(() => { LineThreeToCleanProcessExecute(); Thread.Sleep(10); }), "滚筒线3空桶清洗任务线程"); | ThreadManage.GetInstance().StartLong(new Action(() => { LineThreeToCleanProcessExecute(); Thread.Sleep(10); }), "滚筒线3空桶清洗任务线程"); | ||||
MessageLog.GetInstance.ShowUserLog("滚筒线【3】空桶清洗任务重启成功"); | |||||
MessageNotify.GetInstance.ShowUserLog("滚筒线【3】空桶清洗任务重启成功"); | |||||
})); | })); | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -1981,7 +1981,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (obj != null && obj is NewRecipeModel[] recipes) | if (obj != null && obj is NewRecipeModel[] recipes) | ||||
{ | { | ||||
ReicpeNum = ReicpeNum + recipes.Length; | ReicpeNum = ReicpeNum + recipes.Length; | ||||
MessageLog.GetInstance.ShowUserLog($"新接收到{recipes.Length}个配方,总共{ReicpeNum}个配方"); | |||||
MessageNotify.GetInstance.ShowUserLog($"新接收到{recipes.Length}个配方,总共{ReicpeNum}个配方"); | |||||
for (int i = 0; i < recipes.Length; i++) | for (int i = 0; i < recipes.Length; i++) | ||||
{ | { | ||||
int? res = recipes[i].materialCollection.ElementAt(0).MaterialLoc / 100; | int? res = recipes[i].materialCollection.ElementAt(0).MaterialLoc / 100; | ||||
@@ -2122,7 +2122,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.agvArriveCleanLoad) | if (globalVar.agvArriveCleanLoad) | ||||
{ | { | ||||
globalVar.agvArriveCleanLoad = false; | globalVar.agvArriveCleanLoad = false; | ||||
MessageLog.GetInstance.ShowRunLog("AGV到达清洗台空桶上料位置"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV到达清洗台空桶上料位置"); | |||||
erp: if (AlarmHelper<AlarmInfo>.GetInstance().CleanOutputRollerRunning == 0) | erp: if (AlarmHelper<AlarmInfo>.GetInstance().CleanOutputRollerRunning == 0) | ||||
{ | { | ||||
//plc交互 | //plc交互 | ||||
@@ -2137,7 +2137,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.ExitLineOneTask) | if (globalVar.ExitLineOneTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("清洗台空桶出桶滚筒重新运行!!"); | |||||
MessageNotify.GetInstance.ShowRunLog("清洗台空桶出桶滚筒重新运行!!"); | |||||
goto erp; | goto erp; | ||||
} | } | ||||
} | } | ||||
@@ -2277,7 +2277,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.rollerLineOne.agvArriveCleanUnLoad) | if (globalVar.rollerLineOne.agvArriveCleanUnLoad) | ||||
{ | { | ||||
globalVar.rollerLineOne.agvArriveCleanUnLoad = false; | globalVar.rollerLineOne.agvArriveCleanUnLoad = false; | ||||
MessageLog.GetInstance.ShowRunLog("空桶从线体1到达清洗位置,准备卸桶"); | |||||
MessageNotify.GetInstance.ShowRunLog("空桶从线体1到达清洗位置,准备卸桶"); | |||||
erp: if (AlarmHelper<AlarmInfo>.GetInstance().CleanEnterRollerRunning == 0) | erp: if (AlarmHelper<AlarmInfo>.GetInstance().CleanEnterRollerRunning == 0) | ||||
{ | { | ||||
@@ -2293,7 +2293,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.ExitLineOneTask) | if (globalVar.ExitLineOneTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("清洗台空桶进桶滚筒重新运行!!"); | |||||
MessageNotify.GetInstance.ShowRunLog("清洗台空桶进桶滚筒重新运行!!"); | |||||
goto erp; | goto erp; | ||||
} | } | ||||
} | } | ||||
@@ -2309,7 +2309,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.rollerLineTwo.agvArriveCleanUnLoad) | if (globalVar.rollerLineTwo.agvArriveCleanUnLoad) | ||||
{ | { | ||||
globalVar.rollerLineTwo.agvArriveCleanUnLoad = false; | globalVar.rollerLineTwo.agvArriveCleanUnLoad = false; | ||||
MessageLog.GetInstance.ShowRunLog("空桶从线体2到达清洗位置,准备卸桶"); | |||||
MessageNotify.GetInstance.ShowRunLog("空桶从线体2到达清洗位置,准备卸桶"); | |||||
erp: if (AlarmHelper<AlarmInfo>.GetInstance().CleanEnterRollerRunning == 0) | erp: if (AlarmHelper<AlarmInfo>.GetInstance().CleanEnterRollerRunning == 0) | ||||
{ | { | ||||
@@ -2325,7 +2325,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.ExitLineOneTask) | if (globalVar.ExitLineOneTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("清洗台空桶进桶滚筒重新运行!!"); | |||||
MessageNotify.GetInstance.ShowRunLog("清洗台空桶进桶滚筒重新运行!!"); | |||||
goto erp; | goto erp; | ||||
} | } | ||||
} | } | ||||
@@ -2341,7 +2341,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.rollerLineThree.agvArriveCleanUnLoad) | if (globalVar.rollerLineThree.agvArriveCleanUnLoad) | ||||
{ | { | ||||
globalVar.rollerLineThree.agvArriveCleanUnLoad = false; | globalVar.rollerLineThree.agvArriveCleanUnLoad = false; | ||||
MessageLog.GetInstance.ShowRunLog("空桶从线体3到达清洗位置,准备卸桶"); | |||||
MessageNotify.GetInstance.ShowRunLog("空桶从线体3到达清洗位置,准备卸桶"); | |||||
erp: if (AlarmHelper<AlarmInfo>.GetInstance().CleanEnterRollerRunning == 0) | erp: if (AlarmHelper<AlarmInfo>.GetInstance().CleanEnterRollerRunning == 0) | ||||
{ | { | ||||
//plc交互 | //plc交互 | ||||
@@ -2356,7 +2356,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.ExitLineOneTask) | if (globalVar.ExitLineOneTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("清洗台空桶进桶滚筒重新运行!!"); | |||||
MessageNotify.GetInstance.ShowRunLog("清洗台空桶进桶滚筒重新运行!!"); | |||||
goto erp; | goto erp; | ||||
} | } | ||||
////plc交互 | ////plc交互 | ||||
@@ -2385,11 +2385,11 @@ namespace FryPot_DosingSystem.Control | |||||
string info = AGVHelper.GetInstance.AgvFromCleanToLineFourUnLoadRoller(id); | string info = AGVHelper.GetInstance.AgvFromCleanToLineFourUnLoadRoller(id); | ||||
LTenrobotJobId.Add(id); | LTenrobotJobId.Add(id); | ||||
//Thread.Sleep(500); | //Thread.Sleep(500); | ||||
MessageLog.GetInstance.ShowRunLog("清洗台呼叫AGV取桶"); | |||||
MessageNotify.GetInstance.ShowRunLog("清洗台呼叫AGV取桶"); | |||||
if (!CleanToLineCarryTaskErrorCodeAnalysis(info, 4)) | if (!CleanToLineCarryTaskErrorCodeAnalysis(info, 4)) | ||||
{ | { | ||||
LTenrobotJobId.Remove(id); | LTenrobotJobId.Remove(id); | ||||
MessageLog.GetInstance.ShowRunLog("清洗台呼叫AGV取桶失败"); | |||||
MessageNotify.GetInstance.ShowRunLog("清洗台呼叫AGV取桶失败"); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -2404,7 +2404,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.rollerLineThree.RecipeComMidSingle = 1; | globalVar.rollerLineThree.RecipeComMidSingle = 1; | ||||
if (globalVar.LThreeCurrentRecipeName != string.Empty) | if (globalVar.LThreeCurrentRecipeName != string.Empty) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog($"【3】号滚筒线【{globalVar.LThreeCurrentRecipeName}】 配方制作完成"); | |||||
MessageNotify.GetInstance.ShowUserLog($"【3】号滚筒线【{globalVar.LThreeCurrentRecipeName}】 配方制作完成"); | |||||
if (globalVar.LThreeFryPotSerial == 3) | if (globalVar.LThreeFryPotSerial == 3) | ||||
{ | { | ||||
FryPotMonitorManage.GetInstance.fryThree.TotalProduct++; | FryPotMonitorManage.GetInstance.fryThree.TotalProduct++; | ||||
@@ -2436,7 +2436,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.LThreeCurrentRecipeName = result.RecipeName; | globalVar.LThreeCurrentRecipeName = result.RecipeName; | ||||
AgvViewModel.GetInstance().Set滚筒线上数量(3, globalVar.LThreeMaterialNum.ToString()); | AgvViewModel.GetInstance().Set滚筒线上数量(3, globalVar.LThreeMaterialNum.ToString()); | ||||
MessageLog.GetInstance.ShowUserLog($"【3】号滚筒线开始制作【{result.RecipeName}】 配方"); | |||||
MessageNotify.GetInstance.ShowUserLog($"【3】号滚筒线开始制作【{result.RecipeName}】 配方"); | |||||
for (int i = 0; i < result.materialCollection.Count; i++) //遍历单个配方中所有物料 | for (int i = 0; i < result.materialCollection.Count; i++) //遍历单个配方中所有物料 | ||||
{ | { | ||||
if (result.materialCollection[i].MaterialLoc % 100 == i + 1 && result.materialCollection[i].MaterialLoc / 100 == headNum && headNum == 3) | if (result.materialCollection[i].MaterialLoc % 100 == i + 1 && result.materialCollection[i].MaterialLoc / 100 == headNum && headNum == 3) | ||||
@@ -2453,8 +2453,8 @@ namespace FryPot_DosingSystem.Control | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"【3】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
MessageLog.GetInstance.ShowUserLog($"【3】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
MessageNotify.GetInstance.ShowRunLog($"【3】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
MessageNotify.GetInstance.ShowUserLog($"【3】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
LThreeInputMaterialQuene.Clear(); | LThreeInputMaterialQuene.Clear(); | ||||
LThreeErrorRecipe = true; | LThreeErrorRecipe = true; | ||||
return; | return; | ||||
@@ -2479,7 +2479,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.rollerLineTwo.RecipeComMidSingle = 1; | globalVar.rollerLineTwo.RecipeComMidSingle = 1; | ||||
if (globalVar.LTwoCurrentRecipeName != string.Empty) | if (globalVar.LTwoCurrentRecipeName != string.Empty) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog($"【2】号滚筒线【{globalVar.LTwoCurrentRecipeName}】 配方制作完成"); | |||||
MessageNotify.GetInstance.ShowUserLog($"【2】号滚筒线【{globalVar.LTwoCurrentRecipeName}】 配方制作完成"); | |||||
if (globalVar.LTwoFryPotSerial == 2) | if (globalVar.LTwoFryPotSerial == 2) | ||||
{ | { | ||||
FryPotMonitorManage.GetInstance.fryTwo.TotalProduct++; | FryPotMonitorManage.GetInstance.fryTwo.TotalProduct++; | ||||
@@ -2531,7 +2531,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.LTwoFryPotSerial = headNum; | globalVar.LTwoFryPotSerial = headNum; | ||||
globalVar.LTwoCurrentRecipeName = result.RecipeName; | globalVar.LTwoCurrentRecipeName = result.RecipeName; | ||||
AgvViewModel.GetInstance().Set滚筒线上数量(2, globalVar.LTwoMaterialNum.ToString()); | AgvViewModel.GetInstance().Set滚筒线上数量(2, globalVar.LTwoMaterialNum.ToString()); | ||||
MessageLog.GetInstance.ShowUserLog($"【2】号滚筒线开始制作【{result.RecipeName}】 配方"); | |||||
MessageNotify.GetInstance.ShowUserLog($"【2】号滚筒线开始制作【{result.RecipeName}】 配方"); | |||||
for (int i = 0; i < result.materialCollection.Count; i++) //遍历单个配方中所有物料 | for (int i = 0; i < result.materialCollection.Count; i++) //遍历单个配方中所有物料 | ||||
{ | { | ||||
if (result.materialCollection[i].MaterialLoc % 100 == i + 1 && result.materialCollection[i].MaterialLoc / 100 == headNum && (headNum == 2 || headNum == 5)) | if (result.materialCollection[i].MaterialLoc % 100 == i + 1 && result.materialCollection[i].MaterialLoc / 100 == headNum && (headNum == 2 || headNum == 5)) | ||||
@@ -2556,8 +2556,8 @@ namespace FryPot_DosingSystem.Control | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"【2】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
MessageLog.GetInstance.ShowUserLog($"【2】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
MessageNotify.GetInstance.ShowRunLog($"【2】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
MessageNotify.GetInstance.ShowUserLog($"【2】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
LTwoInputMaterialQuene.Clear(); | LTwoInputMaterialQuene.Clear(); | ||||
LTwoErrorRecipe = true; | LTwoErrorRecipe = true; | ||||
return; | return; | ||||
@@ -2579,7 +2579,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.rollerLineOne.RecipeComMidSingle = 1; | globalVar.rollerLineOne.RecipeComMidSingle = 1; | ||||
if (globalVar.LOneCurrentRecipeName != string.Empty) | if (globalVar.LOneCurrentRecipeName != string.Empty) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog($"【1】号滚筒线【{globalVar.LOneCurrentRecipeName}】 配方制作完成"); | |||||
MessageNotify.GetInstance.ShowUserLog($"【1】号滚筒线【{globalVar.LOneCurrentRecipeName}】 配方制作完成"); | |||||
if (globalVar.LOneFryPotSerial == 1) | if (globalVar.LOneFryPotSerial == 1) | ||||
{ | { | ||||
FryPotMonitorManage.GetInstance.fryOne.TotalProduct++; | FryPotMonitorManage.GetInstance.fryOne.TotalProduct++; | ||||
@@ -2628,7 +2628,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.LOneFryPotSerial = headNum; | globalVar.LOneFryPotSerial = headNum; | ||||
globalVar.LOneCurrentRecipeName = result.RecipeName; | globalVar.LOneCurrentRecipeName = result.RecipeName; | ||||
AgvViewModel.GetInstance().Set滚筒线上数量(1, globalVar.LOneMaterialNum.ToString()); | AgvViewModel.GetInstance().Set滚筒线上数量(1, globalVar.LOneMaterialNum.ToString()); | ||||
MessageLog.GetInstance.ShowUserLog($"【1】号滚筒线开始制作【{result.RecipeName}】 配方"); | |||||
MessageNotify.GetInstance.ShowUserLog($"【1】号滚筒线开始制作【{result.RecipeName}】 配方"); | |||||
for (int i = 0; i < result.materialCollection.Count; i++) //遍历单个配方中所有物料 | for (int i = 0; i < result.materialCollection.Count; i++) //遍历单个配方中所有物料 | ||||
{ | { | ||||
if (result.materialCollection.Count <= 8 && result.materialCollection[i].MaterialLoc % 100 == i + 1 && result.materialCollection[i].MaterialLoc / 100 == headNum && (headNum == 1 || headNum == 4)) | if (result.materialCollection.Count <= 8 && result.materialCollection[i].MaterialLoc % 100 == i + 1 && result.materialCollection[i].MaterialLoc / 100 == headNum && (headNum == 1 || headNum == 4)) | ||||
@@ -2653,8 +2653,8 @@ namespace FryPot_DosingSystem.Control | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"【1】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
MessageLog.GetInstance.ShowUserLog($"【1】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
MessageNotify.GetInstance.ShowRunLog($"【1】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
MessageNotify.GetInstance.ShowUserLog($"【1】号滚筒线配方桶号配置错误,取消【{result.RecipeName}】配方制作"); | |||||
InputMaterialQuene.Clear(); | InputMaterialQuene.Clear(); | ||||
ErrorRecipe = true; | ErrorRecipe = true; | ||||
return; | return; | ||||
@@ -2768,7 +2768,7 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
globalVar.rollerLineOne.CanRun = true; | globalVar.rollerLineOne.CanRun = true; | ||||
globalVar.agvLineOneLoadCom = false; | globalVar.agvLineOneLoadCom = false; | ||||
MessageLog.GetInstance.ShowRunLog("AGV在【1】号滚筒线装桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV在【1】号滚筒线装桶完成"); | |||||
} | } | ||||
} | } | ||||
@@ -2794,7 +2794,7 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
globalVar.rollerLineTwo.CanRun = true; | globalVar.rollerLineTwo.CanRun = true; | ||||
globalVar.agvLineTwoLoadCom = false; | globalVar.agvLineTwoLoadCom = false; | ||||
MessageLog.GetInstance.ShowRunLog("AGV在【2】号滚筒线装桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV在【2】号滚筒线装桶完成"); | |||||
} | } | ||||
} | } | ||||
@@ -2820,7 +2820,7 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
globalVar.rollerLineThree.CanRun = true; | globalVar.rollerLineThree.CanRun = true; | ||||
globalVar.agvLineThreeLoadCom = false; | globalVar.agvLineThreeLoadCom = false; | ||||
MessageLog.GetInstance.ShowRunLog("AGV在【3】号滚筒线装桶完成"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV在【3】号滚筒线装桶完成"); | |||||
} | } | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -2864,7 +2864,7 @@ namespace FryPot_DosingSystem.Control | |||||
// AgvViewModel.GetInstance().Set小车运动(1, CartMotionTrajectory.yc_1_4); | // AgvViewModel.GetInstance().Set小车运动(1, CartMotionTrajectory.yc_1_4); | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"AGV到达【{globalVar.LOneFryPotSerial}】号炒锅下料位置"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV到达【{globalVar.LOneFryPotSerial}】号炒锅下料位置"); | |||||
AgvArriveFryPotOneOrFourSingleSetDown(); | AgvArriveFryPotOneOrFourSingleSetDown(); | ||||
globalVar.agvArriveUnLoad = false; | globalVar.agvArriveUnLoad = false; | ||||
globalVar.PotOneInputMaterialArrive = true; | globalVar.PotOneInputMaterialArrive = true; | ||||
@@ -2929,7 +2929,7 @@ namespace FryPot_DosingSystem.Control | |||||
//{ | //{ | ||||
// AgvViewModel.GetInstance().Set小车运动(2, CartMotionTrajectory.yc_2_5); | // AgvViewModel.GetInstance().Set小车运动(2, CartMotionTrajectory.yc_2_5); | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"AGV到达【{globalVar.LTwoFryPotSerial}】号炒锅下料位置"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV到达【{globalVar.LTwoFryPotSerial}】号炒锅下料位置"); | |||||
AgvArriveFryPotTwoOrFiveSingleSetDown(); | AgvArriveFryPotTwoOrFiveSingleSetDown(); | ||||
globalVar.LTwoagvArriveUnLoad = false; | globalVar.LTwoagvArriveUnLoad = false; | ||||
globalVar.LTwoPotInputMaterialArrive = true; | globalVar.LTwoPotInputMaterialArrive = true; | ||||
@@ -2986,7 +2986,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (LThreeOutputMaterialQuene.Count > 0 && globalVar.LThreeagvArriveUnLoad && globalVar.LThreeAgvToFryPot && !globalVar.LThreePotInputMaterialArrive) | if (LThreeOutputMaterialQuene.Count > 0 && globalVar.LThreeagvArriveUnLoad && globalVar.LThreeAgvToFryPot && !globalVar.LThreePotInputMaterialArrive) | ||||
{ | { | ||||
// AgvViewModel.GetInstance().Set小车运动(3, CartMotionTrajectory.yc_3_3); | // AgvViewModel.GetInstance().Set小车运动(3, CartMotionTrajectory.yc_3_3); | ||||
MessageLog.GetInstance.ShowRunLog("AGV到达【3】号炒锅下料位置"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV到达【3】号炒锅下料位置"); | |||||
AgvArriveFryPotThreeSingleSetDown(); | AgvArriveFryPotThreeSingleSetDown(); | ||||
globalVar.LThreeagvArriveUnLoad = false; | globalVar.LThreeagvArriveUnLoad = false; | ||||
globalVar.LThreePotInputMaterialArrive = true; | globalVar.LThreePotInputMaterialArrive = true; | ||||
@@ -3062,7 +3062,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (OutputMaterialQuene.Count > 0 && globalVar.InOrOutputLock && globalVar.agvArriveUpLoad && globalVar.PotOneOutputRollerArrive && !globalVar.AgvArrivePot) | if (OutputMaterialQuene.Count > 0 && globalVar.InOrOutputLock && globalVar.agvArriveUpLoad && globalVar.PotOneOutputRollerArrive && !globalVar.AgvArrivePot) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"AGV到达【{globalVar.LOneFryPotSerial}】号炒锅空桶上料位置"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV到达【{globalVar.LOneFryPotSerial}】号炒锅空桶上料位置"); | |||||
AgvArriveFryPotOneOrFourOutEmptyRollerSingleSetDown();//暂时考虑agv送完料后原地等待,不加条件,直接发送到位信号 | AgvArriveFryPotOneOrFourOutEmptyRollerSingleSetDown();//暂时考虑agv送完料后原地等待,不加条件,直接发送到位信号 | ||||
globalVar.agvArriveUpLoad = false; | globalVar.agvArriveUpLoad = false; | ||||
globalVar.AgvArrivePot = true; | globalVar.AgvArrivePot = true; | ||||
@@ -3094,7 +3094,7 @@ namespace FryPot_DosingSystem.Control | |||||
//} | //} | ||||
globalVar.agvFryPotEmptyRollerArrive = false; | globalVar.agvFryPotEmptyRollerArrive = false; | ||||
globalVar.InOrOutputLock = false; | globalVar.InOrOutputLock = false; | ||||
MessageLog.GetInstance.ShowRunLog($"AGV在【{globalVar.LOneFryPotSerial}】号炒锅将空桶回收到4号滚筒线"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV在【{globalVar.LOneFryPotSerial}】号炒锅将空桶回收到4号滚筒线"); | |||||
//AGV拿到空桶,让AGV运桶到指定位置,同时可以让下一个AGV从线体装料运到炒锅 | //AGV拿到空桶,让AGV运桶到指定位置,同时可以让下一个AGV从线体装料运到炒锅 | ||||
globalVar.AllowAgvToLineLoadRoller = true; | globalVar.AllowAgvToLineLoadRoller = true; | ||||
globalVar.LoadRoller = false; | globalVar.LoadRoller = false; | ||||
@@ -3119,7 +3119,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (LTwoOutputMaterialQuene.Count > 0 && globalVar.LTwoInOrOutputLock && globalVar.agvArriveLTwoUpLoad && globalVar.LTwoPotOutputRollerArrive && !globalVar.LTwoAgvArrivePot) | if (LTwoOutputMaterialQuene.Count > 0 && globalVar.LTwoInOrOutputLock && globalVar.agvArriveLTwoUpLoad && globalVar.LTwoPotOutputRollerArrive && !globalVar.LTwoAgvArrivePot) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"AGV到达【{globalVar.LTwoFryPotSerial}】号炒锅空桶上料位置"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV到达【{globalVar.LTwoFryPotSerial}】号炒锅空桶上料位置"); | |||||
AgvArriveFryPotTwoOrFiveOutEmptyRollerSingleSetDown();//暂时考虑agv送完料后原地等待,不加条件,直接发送到位信号 | AgvArriveFryPotTwoOrFiveOutEmptyRollerSingleSetDown();//暂时考虑agv送完料后原地等待,不加条件,直接发送到位信号 | ||||
globalVar.agvArriveLTwoUpLoad = false; | globalVar.agvArriveLTwoUpLoad = false; | ||||
globalVar.LTwoAgvArrivePot = true; | globalVar.LTwoAgvArrivePot = true; | ||||
@@ -3151,7 +3151,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.LTwoagvFryPotEmptyRollerArrive = false; | globalVar.LTwoagvFryPotEmptyRollerArrive = false; | ||||
globalVar.LTwoInOrOutputLock = false; | globalVar.LTwoInOrOutputLock = false; | ||||
MessageLog.GetInstance.ShowRunLog($"AGV在【{globalVar.LTwoFryPotSerial}】号炒锅将空桶回收到4号滚筒线"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV在【{globalVar.LTwoFryPotSerial}】号炒锅将空桶回收到4号滚筒线"); | |||||
//AGV拿到空桶,让AGV运桶到指定位置,同时可以让下一个AGV从线体装料运到炒锅 | //AGV拿到空桶,让AGV运桶到指定位置,同时可以让下一个AGV从线体装料运到炒锅 | ||||
globalVar.AllowAgvToLineTwoLoadRoller = true; | globalVar.AllowAgvToLineTwoLoadRoller = true; | ||||
globalVar.LTwoLoadRoller = false; | globalVar.LTwoLoadRoller = false; | ||||
@@ -3173,7 +3173,7 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
if (LThreeOutputMaterialQuene.Count > 0 && globalVar.LThreeInOrOutputLock && globalVar.agvArriveLThreeUpLoad && globalVar.LThreePotOutputRollerArrive && !globalVar.LThreeAgvArrivePot) | if (LThreeOutputMaterialQuene.Count > 0 && globalVar.LThreeInOrOutputLock && globalVar.agvArriveLThreeUpLoad && globalVar.LThreePotOutputRollerArrive && !globalVar.LThreeAgvArrivePot) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"AGV到达【{globalVar.LThreeFryPotSerial}】号炒锅空桶上料位置"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV到达【{globalVar.LThreeFryPotSerial}】号炒锅空桶上料位置"); | |||||
AgvArriveFryPotThreeOutEmptyRollerSingleSetDown();//暂时考虑agv送完料后原地等待,不加条件,直接发送到位信号 | AgvArriveFryPotThreeOutEmptyRollerSingleSetDown();//暂时考虑agv送完料后原地等待,不加条件,直接发送到位信号 | ||||
globalVar.agvArriveLThreeUpLoad = false; | globalVar.agvArriveLThreeUpLoad = false; | ||||
globalVar.LThreeAgvArrivePot = true; | globalVar.LThreeAgvArrivePot = true; | ||||
@@ -3197,7 +3197,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.LThreeagvFryPotEmptyRollerArrive = false; | globalVar.LThreeagvFryPotEmptyRollerArrive = false; | ||||
globalVar.LThreeInOrOutputLock = false; | globalVar.LThreeInOrOutputLock = false; | ||||
MessageLog.GetInstance.ShowRunLog($"AGV在【{globalVar.LThreeFryPotSerial}】号炒锅将空桶回收到4号滚筒线"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV在【{globalVar.LThreeFryPotSerial}】号炒锅将空桶回收到4号滚筒线"); | |||||
//AGV拿到空桶,让AGV运桶到指定位置,同时可以让下一个AGV从线体装料运到炒锅 | //AGV拿到空桶,让AGV运桶到指定位置,同时可以让下一个AGV从线体装料运到炒锅 | ||||
globalVar.AllowAgvToLineThreeLoadRoller = true; | globalVar.AllowAgvToLineThreeLoadRoller = true; | ||||
globalVar.LThreeLoadRoller = false; | globalVar.LThreeLoadRoller = false; | ||||
@@ -3224,7 +3224,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.agvArriveLineFour = false; | globalVar.agvArriveLineFour = false; | ||||
//线体四信号交互 | //线体四信号交互 | ||||
WritePlcData("D1067", 1);//AGV空桶回桶就位信号下发PLC | WritePlcData("D1067", 1);//AGV空桶回桶就位信号下发PLC | ||||
MessageLog.GetInstance.ShowRunLog("AGV从清洗台到达【4】号回收线体,准备卸桶"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV从清洗台到达【4】号回收线体,准备卸桶"); | |||||
// MessageLog.GetInstance.ShowRunLog("卸桶完成"); | // MessageLog.GetInstance.ShowRunLog("卸桶完成"); | ||||
} | } | ||||
@@ -3237,7 +3237,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.rollerLineOne.agvArriveLineFour = false; | globalVar.rollerLineOne.agvArriveLineFour = false; | ||||
//线体四信号交互 | //线体四信号交互 | ||||
WritePlcData("D1067", 1);//AGV空桶回桶就位信号下发PLC | WritePlcData("D1067", 1);//AGV空桶回桶就位信号下发PLC | ||||
MessageLog.GetInstance.ShowRunLog("AGV从1号线体对应炒锅到达【4】号回收线体,准备卸桶"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV从1号线体对应炒锅到达【4】号回收线体,准备卸桶"); | |||||
// MessageLog.GetInstance.ShowRunLog("卸桶完成"); | // MessageLog.GetInstance.ShowRunLog("卸桶完成"); | ||||
} | } | ||||
if (globalVar.rollerLineTwo.agvArriveLineFour)//agv到达线体4下料位置 | if (globalVar.rollerLineTwo.agvArriveLineFour)//agv到达线体4下料位置 | ||||
@@ -3245,7 +3245,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.rollerLineTwo.agvArriveLineFour = false; | globalVar.rollerLineTwo.agvArriveLineFour = false; | ||||
//线体四信号交互 | //线体四信号交互 | ||||
WritePlcData("D1067", 1);//AGV空桶回桶就位信号下发PLC | WritePlcData("D1067", 1);//AGV空桶回桶就位信号下发PLC | ||||
MessageLog.GetInstance.ShowRunLog("AGV从2号线体对应炒锅到达【4】号回收线体,准备卸桶"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV从2号线体对应炒锅到达【4】号回收线体,准备卸桶"); | |||||
// MessageLog.GetInstance.ShowRunLog("卸桶完成"); | // MessageLog.GetInstance.ShowRunLog("卸桶完成"); | ||||
} | } | ||||
if (globalVar.rollerLineThree.agvArriveLineFour)//agv到达线体4下料位置 | if (globalVar.rollerLineThree.agvArriveLineFour)//agv到达线体4下料位置 | ||||
@@ -3253,7 +3253,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.rollerLineThree.agvArriveLineFour = false; | globalVar.rollerLineThree.agvArriveLineFour = false; | ||||
//线体四信号交互 | //线体四信号交互 | ||||
WritePlcData("D1067", 1);//AGV空桶回桶就位信号下发PLC | WritePlcData("D1067", 1);//AGV空桶回桶就位信号下发PLC | ||||
MessageLog.GetInstance.ShowRunLog("AGV从3号炒锅到达【4】号回收线体,准备卸桶"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV从3号炒锅到达【4】号回收线体,准备卸桶"); | |||||
// MessageLog.GetInstance.ShowRunLog("卸桶完成"); | // MessageLog.GetInstance.ShowRunLog("卸桶完成"); | ||||
} | } | ||||
} | } | ||||
@@ -3319,14 +3319,14 @@ namespace FryPot_DosingSystem.Control | |||||
// Thread.Sleep(5); if (globalVar.ExitMainTask) | // Thread.Sleep(5); if (globalVar.ExitMainTask) | ||||
// return; | // return; | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"炒锅【1】:【{OutputMaterialQuene.ElementAt(0).materialType.MaterialLoc}】号桶已到进料位置,准备倒料"); break; | |||||
MessageNotify.GetInstance.ShowRunLog($"炒锅【1】:【{OutputMaterialQuene.ElementAt(0).materialType.MaterialLoc}】号桶已到进料位置,准备倒料"); break; | |||||
case 4: | case 4: | ||||
//while (globalVar.fryPotFour.InputMaterialArrivedSingle == 0) | //while (globalVar.fryPotFour.InputMaterialArrivedSingle == 0) | ||||
//{ | //{ | ||||
// Thread.Sleep(5); if (globalVar.ExitMainTask) | // Thread.Sleep(5); if (globalVar.ExitMainTask) | ||||
// return; | // return; | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"炒锅【4】:【{OutputMaterialQuene.ElementAt(0).materialType.MaterialLoc}】号桶已到进料位置,准备倒料"); break; | |||||
MessageNotify.GetInstance.ShowRunLog($"炒锅【4】:【{OutputMaterialQuene.ElementAt(0).materialType.MaterialLoc}】号桶已到进料位置,准备倒料"); break; | |||||
} | } | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -3342,14 +3342,14 @@ namespace FryPot_DosingSystem.Control | |||||
// Thread.Sleep(5); if (globalVar.ExitMainTask) | // Thread.Sleep(5); if (globalVar.ExitMainTask) | ||||
// return; | // return; | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"炒锅【2】:【{LTwoOutputMaterialQuene.ElementAt(0).materialType.MaterialLoc}】号桶已到进料位置,准备倒料"); break; | |||||
MessageNotify.GetInstance.ShowRunLog($"炒锅【2】:【{LTwoOutputMaterialQuene.ElementAt(0).materialType.MaterialLoc}】号桶已到进料位置,准备倒料"); break; | |||||
case 5: | case 5: | ||||
//while (globalVar.fryPotFive.InputMaterialArrivedSingle == 0) | //while (globalVar.fryPotFive.InputMaterialArrivedSingle == 0) | ||||
//{ | //{ | ||||
// Thread.Sleep(5); if (globalVar.ExitMainTask) | // Thread.Sleep(5); if (globalVar.ExitMainTask) | ||||
// return; | // return; | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"炒锅【5】:【{LTwoOutputMaterialQuene.ElementAt(0).materialType.MaterialLoc}】号桶已到进料位置,准备倒料"); break; | |||||
MessageNotify.GetInstance.ShowRunLog($"炒锅【5】:【{LTwoOutputMaterialQuene.ElementAt(0).materialType.MaterialLoc}】号桶已到进料位置,准备倒料"); break; | |||||
} | } | ||||
} | } | ||||
public void FryPotThreeInputMaterialRollerOperate() | public void FryPotThreeInputMaterialRollerOperate() | ||||
@@ -3359,7 +3359,7 @@ namespace FryPot_DosingSystem.Control | |||||
// Thread.Sleep(5); if (globalVar.ExitMainTask) | // Thread.Sleep(5); if (globalVar.ExitMainTask) | ||||
// return; | // return; | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"炒锅【3】:【{LThreeOutputMaterialQuene.ElementAt(0).materialType.MaterialLoc}】号桶已到进料位置,准备倒料"); | |||||
MessageNotify.GetInstance.ShowRunLog($"炒锅【3】:【{LThreeOutputMaterialQuene.ElementAt(0).materialType.MaterialLoc}】号桶已到进料位置,准备倒料"); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 炒锅滚筒空桶出桶处理 | /// 炒锅滚筒空桶出桶处理 | ||||
@@ -3419,14 +3419,14 @@ namespace FryPot_DosingSystem.Control | |||||
// Thread.Sleep(5); if (globalVar.ExitMainTask) | // Thread.Sleep(5); if (globalVar.ExitMainTask) | ||||
// return; | // return; | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"炒锅【1】原料:【{OutputMaterialQuene.ElementAt(0).materialType.MaterialName}】空桶上料完成"); break; | |||||
MessageNotify.GetInstance.ShowRunLog($"炒锅【1】原料:【{OutputMaterialQuene.ElementAt(0).materialType.MaterialName}】空桶上料完成"); break; | |||||
case 4: | case 4: | ||||
//while (globalVar.fryPotFour.EmptyBarrelArrivedSingle == 0) | //while (globalVar.fryPotFour.EmptyBarrelArrivedSingle == 0) | ||||
//{ | //{ | ||||
// Thread.Sleep(5); if (globalVar.ExitMainTask) | // Thread.Sleep(5); if (globalVar.ExitMainTask) | ||||
// return; | // return; | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"炒锅【4】原料:【{OutputMaterialQuene.ElementAt(0).materialType.MaterialName}】空桶上料完成"); break; | |||||
MessageNotify.GetInstance.ShowRunLog($"炒锅【4】原料:【{OutputMaterialQuene.ElementAt(0).materialType.MaterialName}】空桶上料完成"); break; | |||||
} | } | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -3442,14 +3442,14 @@ namespace FryPot_DosingSystem.Control | |||||
// Thread.Sleep(5); if (globalVar.ExitMainTask) | // Thread.Sleep(5); if (globalVar.ExitMainTask) | ||||
// return; | // return; | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"炒锅【2】原料:【{LTwoOutputMaterialQuene.ElementAt(0).materialType.MaterialName}】空桶上料完成"); break; | |||||
MessageNotify.GetInstance.ShowRunLog($"炒锅【2】原料:【{LTwoOutputMaterialQuene.ElementAt(0).materialType.MaterialName}】空桶上料完成"); break; | |||||
case 5: | case 5: | ||||
//while (globalVar.fryPotFive.EmptyBarrelArrivedSingle == 0) | //while (globalVar.fryPotFive.EmptyBarrelArrivedSingle == 0) | ||||
//{ | //{ | ||||
// Thread.Sleep(5); if (globalVar.ExitMainTask) | // Thread.Sleep(5); if (globalVar.ExitMainTask) | ||||
// return; | // return; | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"炒锅【5】原料:【{LTwoOutputMaterialQuene.ElementAt(0).materialType.MaterialName}】空桶上料完成"); break; | |||||
MessageNotify.GetInstance.ShowRunLog($"炒锅【5】原料:【{LTwoOutputMaterialQuene.ElementAt(0).materialType.MaterialName}】空桶上料完成"); break; | |||||
} | } | ||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -3462,7 +3462,7 @@ namespace FryPot_DosingSystem.Control | |||||
// Thread.Sleep(5); if (globalVar.ExitMainTask) | // Thread.Sleep(5); if (globalVar.ExitMainTask) | ||||
// return; | // return; | ||||
//} | //} | ||||
MessageLog.GetInstance.ShowRunLog($"炒锅【3】原料:【{LThreeOutputMaterialQuene.ElementAt(0).materialType.MaterialName}】空桶上料完成"); | |||||
MessageNotify.GetInstance.ShowRunLog($"炒锅【3】原料:【{LThreeOutputMaterialQuene.ElementAt(0).materialType.MaterialName}】空桶上料完成"); | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 发送agv送料就位信号至PLC(线体到炒锅) | /// 发送agv送料就位信号至PLC(线体到炒锅) | ||||
@@ -3610,7 +3610,7 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
goto erp; | goto erp; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("AGV执行【1】号炒锅空桶回收任务"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV执行【1】号炒锅空桶回收任务"); | |||||
string info = AGVHelper.GetInstance.AgvLeaveFryPotOne(id); | string info = AGVHelper.GetInstance.AgvLeaveFryPotOne(id); | ||||
LFourrobotJobId = id; | LFourrobotJobId = id; | ||||
@@ -3626,7 +3626,7 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
goto erp3; | goto erp3; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("AGV执行【4】号炒锅空桶回收任务"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV执行【4】号炒锅空桶回收任务"); | |||||
string info3 = AGVHelper.GetInstance.AgvLeaveFryPotFour(id3); | string info3 = AGVHelper.GetInstance.AgvLeaveFryPotFour(id3); | ||||
LFourrobotJobId = id3; | LFourrobotJobId = id3; | ||||
if (!FryCarryTaskErrorCodeAnalysis(info3, 4)) | if (!FryCarryTaskErrorCodeAnalysis(info3, 4)) | ||||
@@ -3653,7 +3653,7 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
goto erp1; | goto erp1; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("AGV执行【2】号炒锅空桶回收任务"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV执行【2】号炒锅空桶回收任务"); | |||||
string info1 = AGVHelper.GetInstance.AgvLeaveFryPotTwo(id1); | string info1 = AGVHelper.GetInstance.AgvLeaveFryPotTwo(id1); | ||||
LFiverobotJobId = id1; | LFiverobotJobId = id1; | ||||
@@ -3669,7 +3669,7 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
goto erp4; | goto erp4; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("AGV执行【5】号炒锅空桶回收任务"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV执行【5】号炒锅空桶回收任务"); | |||||
string info4 = AGVHelper.GetInstance.AgvLeaveFryPotFive(id4); | string info4 = AGVHelper.GetInstance.AgvLeaveFryPotFive(id4); | ||||
LFiverobotJobId = id4; | LFiverobotJobId = id4; | ||||
@@ -3693,7 +3693,7 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
goto erp2; | goto erp2; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("AGV执行【3】号炒锅空桶回收任务"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV执行【3】号炒锅空桶回收任务"); | |||||
string info2 = AGVHelper.GetInstance.AgvLeaveFryPotThree(id2); | string info2 = AGVHelper.GetInstance.AgvLeaveFryPotThree(id2); | ||||
LSixrobotJobId = id2; | LSixrobotJobId = id2; | ||||
@@ -3715,11 +3715,11 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.agvArriveUpLoad && globalVar.LoadRoller && globalVar.rollerLineOne.StationEight == InputMaterialQuene.ElementAt(0).materialType.MaterialLoc && !globalVar.AgvToFryPot)//无故障 | if (globalVar.agvArriveUpLoad && globalVar.LoadRoller && globalVar.rollerLineOne.StationEight == InputMaterialQuene.ElementAt(0).materialType.MaterialLoc && !globalVar.AgvToFryPot)//无故障 | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("AGV到达【1】号滚筒线装桶位置"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV到达【1】号滚筒线装桶位置"); | |||||
AgvArriveLineSingelSetDown(InputMaterialQuene); | AgvArriveLineSingelSetDown(InputMaterialQuene); | ||||
if (InputMaterialQuene.TryDequeue(out MaterialInfo materialInfo)) | if (InputMaterialQuene.TryDequeue(out MaterialInfo materialInfo)) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"AGV正在装载{materialInfo.materialType.MaterialLoc}号料桶"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV正在装载{materialInfo.materialType.MaterialLoc}号料桶"); | |||||
globalVar.LOneCurrentCookingStep++; | globalVar.LOneCurrentCookingStep++; | ||||
OutputMaterialQuene.Enqueue(materialInfo); | OutputMaterialQuene.Enqueue(materialInfo); | ||||
@@ -3738,7 +3738,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.ExitLineOneTask) | if (globalVar.ExitLineOneTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("线体【1】滚筒故障解除,继续运行"); | |||||
MessageNotify.GetInstance.ShowRunLog("线体【1】滚筒故障解除,继续运行"); | |||||
//lineAlarm = 1; | //lineAlarm = 1; | ||||
goto erp; | goto erp; | ||||
} | } | ||||
@@ -3752,9 +3752,9 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
if (globalVar.agvArriveLineOneLoadEmptyRoller)//agv到达上料位置 | if (globalVar.agvArriveLineOneLoadEmptyRoller)//agv到达上料位置 | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("AGV到达【1】号滚筒线装桶位置"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV到达【1】号滚筒线装桶位置"); | |||||
DeviceOperate.GetInstance.WritePlcData("D1052", 1);//agv到达线体1上料位置信号下发plc | DeviceOperate.GetInstance.WritePlcData("D1052", 1);//agv到达线体1上料位置信号下发plc | ||||
MessageLog.GetInstance.ShowRunLog($"AGV正在装载【{emptyRollerNum}】号空料桶"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV正在装载【{emptyRollerNum}】号空料桶"); | |||||
globalVar.agvArriveLineOneLoadEmptyRoller = false; | globalVar.agvArriveLineOneLoadEmptyRoller = false; | ||||
@@ -3765,7 +3765,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.rollerLineOne.EmptyRollerNums.RemoveAt(0); | globalVar.rollerLineOne.EmptyRollerNums.RemoveAt(0); | ||||
globalVar.agvArriveLineOneLoadCom = false; | globalVar.agvArriveLineOneLoadCom = false; | ||||
globalVar.rollerLineOne.IsEpmtyBefore = false; | globalVar.rollerLineOne.IsEpmtyBefore = false; | ||||
MessageLog.GetInstance.ShowRunLog($"AGV在【1】号线体完成【{emptyRollerNum}】号空料桶装载"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV在【1】号线体完成【{emptyRollerNum}】号空料桶装载"); | |||||
} | } | ||||
} | } | ||||
else//有故障 | else//有故障 | ||||
@@ -3776,7 +3776,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.ExitLineOneTask) | if (globalVar.ExitLineOneTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("线体【1】滚筒故障解除,继续运行"); | |||||
MessageNotify.GetInstance.ShowRunLog("线体【1】滚筒故障解除,继续运行"); | |||||
//lineAlarm = 1; | //lineAlarm = 1; | ||||
goto erp; | goto erp; | ||||
} | } | ||||
@@ -3792,11 +3792,11 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
if (globalVar.agvArriveLTwoUpLoad && globalVar.LTwoLoadRoller && globalVar.rollerLineTwo.StationEight == LTwoInputMaterialQuene.ElementAt(0).materialType.MaterialLoc && !globalVar.LTwoAgvToFryPot)//无故障 | if (globalVar.agvArriveLTwoUpLoad && globalVar.LTwoLoadRoller && globalVar.rollerLineTwo.StationEight == LTwoInputMaterialQuene.ElementAt(0).materialType.MaterialLoc && !globalVar.LTwoAgvToFryPot)//无故障 | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("AGV到达【2】号滚筒线装桶位置"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV到达【2】号滚筒线装桶位置"); | |||||
AgvArriveLineSingelSetDown(LTwoInputMaterialQuene); | AgvArriveLineSingelSetDown(LTwoInputMaterialQuene); | ||||
if (LTwoInputMaterialQuene.TryDequeue(out MaterialInfo materialInfo)) | if (LTwoInputMaterialQuene.TryDequeue(out MaterialInfo materialInfo)) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"AGV正在装载{materialInfo.materialType.MaterialLoc}号料桶"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV正在装载{materialInfo.materialType.MaterialLoc}号料桶"); | |||||
globalVar.LTwoCurrentCookingStep++; | globalVar.LTwoCurrentCookingStep++; | ||||
LTwoOutputMaterialQuene.Enqueue(materialInfo); | LTwoOutputMaterialQuene.Enqueue(materialInfo); | ||||
@@ -3817,7 +3817,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.ExitLineTwoTask) | if (globalVar.ExitLineTwoTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("线体【2】滚筒故障解除,继续运行"); | |||||
MessageNotify.GetInstance.ShowRunLog("线体【2】滚筒故障解除,继续运行"); | |||||
// lineAlarm = 1; | // lineAlarm = 1; | ||||
goto erp; | goto erp; | ||||
} | } | ||||
@@ -3831,9 +3831,9 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
if (globalVar.agvArriveLineTwoLoadEmptyRoller)//agv到达上料位置 | if (globalVar.agvArriveLineTwoLoadEmptyRoller)//agv到达上料位置 | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("AGV到达【2】号滚筒线装桶位置"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV到达【2】号滚筒线装桶位置"); | |||||
DeviceOperate.GetInstance.WritePlcData("D1053", 1);//agv到达线体2上料位置信号下发plc | DeviceOperate.GetInstance.WritePlcData("D1053", 1);//agv到达线体2上料位置信号下发plc | ||||
MessageLog.GetInstance.ShowRunLog($"AGV正在装载【{emptyRollerNum}】号空料桶"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV正在装载【{emptyRollerNum}】号空料桶"); | |||||
globalVar.agvArriveLineTwoLoadEmptyRoller = false; | globalVar.agvArriveLineTwoLoadEmptyRoller = false; | ||||
@@ -3845,7 +3845,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.rollerLineTwo.EmptyRollerNums.RemoveAt(0); | globalVar.rollerLineTwo.EmptyRollerNums.RemoveAt(0); | ||||
globalVar.agvArriveLineTwoLoadCom = false; | globalVar.agvArriveLineTwoLoadCom = false; | ||||
globalVar.rollerLineTwo.IsEpmtyBefore = false; | globalVar.rollerLineTwo.IsEpmtyBefore = false; | ||||
MessageLog.GetInstance.ShowRunLog($"AGV在【2】号线体完成【{emptyRollerNum}】号空料桶装载"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV在【2】号线体完成【{emptyRollerNum}】号空料桶装载"); | |||||
} | } | ||||
} | } | ||||
else//有故障 | else//有故障 | ||||
@@ -3856,7 +3856,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.ExitLineOneTask) | if (globalVar.ExitLineOneTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("线体【2】滚筒故障解除,继续运行"); | |||||
MessageNotify.GetInstance.ShowRunLog("线体【2】滚筒故障解除,继续运行"); | |||||
//lineAlarm = 1; | //lineAlarm = 1; | ||||
goto erp; | goto erp; | ||||
} | } | ||||
@@ -3872,11 +3872,11 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
if (globalVar.agvArriveLThreeUpLoad && globalVar.LThreeLoadRoller && globalVar.rollerLineThree.StationEight == LThreeInputMaterialQuene.ElementAt(0).materialType.MaterialLoc && !globalVar.LThreeAgvToFryPot)//无故障 | if (globalVar.agvArriveLThreeUpLoad && globalVar.LThreeLoadRoller && globalVar.rollerLineThree.StationEight == LThreeInputMaterialQuene.ElementAt(0).materialType.MaterialLoc && !globalVar.LThreeAgvToFryPot)//无故障 | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("AGV到达【3】号滚筒线装桶位置"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV到达【3】号滚筒线装桶位置"); | |||||
AgvArriveLineSingelSetDown(LThreeInputMaterialQuene); | AgvArriveLineSingelSetDown(LThreeInputMaterialQuene); | ||||
if (LThreeInputMaterialQuene.TryDequeue(out MaterialInfo materialInfo)) | if (LThreeInputMaterialQuene.TryDequeue(out MaterialInfo materialInfo)) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"AGV正在装载{materialInfo.materialType.MaterialLoc}号料桶"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV正在装载{materialInfo.materialType.MaterialLoc}号料桶"); | |||||
globalVar.LThreeCurrentCookingStep++; | globalVar.LThreeCurrentCookingStep++; | ||||
LThreeOutputMaterialQuene.Enqueue(materialInfo); | LThreeOutputMaterialQuene.Enqueue(materialInfo); | ||||
@@ -3897,7 +3897,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.ExitLineThreeTask) | if (globalVar.ExitLineThreeTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("线体【3】滚筒故障解除,继续运行"); | |||||
MessageNotify.GetInstance.ShowRunLog("线体【3】滚筒故障解除,继续运行"); | |||||
// lineAlarm = 1; | // lineAlarm = 1; | ||||
goto erp; | goto erp; | ||||
} | } | ||||
@@ -3911,9 +3911,9 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
if (globalVar.agvArriveLineThreeLoadEmptyRoller)//agv到达上料位置 | if (globalVar.agvArriveLineThreeLoadEmptyRoller)//agv到达上料位置 | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog("AGV到达【3】号滚筒线装桶位置"); | |||||
MessageNotify.GetInstance.ShowRunLog("AGV到达【3】号滚筒线装桶位置"); | |||||
DeviceOperate.GetInstance.WritePlcData("D1054", 1);//agv到达线体3上料位置信号下发plc | DeviceOperate.GetInstance.WritePlcData("D1054", 1);//agv到达线体3上料位置信号下发plc | ||||
MessageLog.GetInstance.ShowRunLog($"AGV正在装载【{emptyRollerNum}】号空料桶"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV正在装载【{emptyRollerNum}】号空料桶"); | |||||
globalVar.agvArriveLineThreeLoadEmptyRoller = false; | globalVar.agvArriveLineThreeLoadEmptyRoller = false; | ||||
@@ -3926,7 +3926,7 @@ namespace FryPot_DosingSystem.Control | |||||
globalVar.rollerLineThree.EmptyRollerNums.RemoveAt(0); | globalVar.rollerLineThree.EmptyRollerNums.RemoveAt(0); | ||||
globalVar.agvArriveLineThreeLoadCom = false; | globalVar.agvArriveLineThreeLoadCom = false; | ||||
globalVar.rollerLineThree.IsEpmtyBefore = false; | globalVar.rollerLineThree.IsEpmtyBefore = false; | ||||
MessageLog.GetInstance.ShowRunLog($"AGV在【3】号线体完成【{emptyRollerNum}】号空料桶装载"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV在【3】号线体完成【{emptyRollerNum}】号空料桶装载"); | |||||
} | } | ||||
} | } | ||||
else//有故障 | else//有故障 | ||||
@@ -3937,7 +3937,7 @@ namespace FryPot_DosingSystem.Control | |||||
if (globalVar.ExitLineOneTask) | if (globalVar.ExitLineOneTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("线体【3】滚筒故障解除,继续运行"); | |||||
MessageNotify.GetInstance.ShowRunLog("线体【3】滚筒故障解除,继续运行"); | |||||
//lineAlarm = 1; | //lineAlarm = 1; | ||||
goto erp; | goto erp; | ||||
} | } | ||||
@@ -3952,17 +3952,17 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
if (errorCode == "SUCCESS") | if (errorCode == "SUCCESS") | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"AGV去{num}号滚筒线装桶"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV去{num}号滚筒线装桶"); | |||||
return true; | return true; | ||||
} | } | ||||
else if (errorCode == "Analysis Error") | else if (errorCode == "Analysis Error") | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线API调用失败,请检查请求报文"); | |||||
MessageNotify.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线API调用失败,请检查请求报文"); | |||||
return false; | return false; | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线失败,错误码:{errorCode}"); | |||||
MessageNotify.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线失败,错误码:{errorCode}"); | |||||
return false; | return false; | ||||
} | } | ||||
} | } | ||||
@@ -3975,17 +3975,17 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
if (errorCode == "SUCCESS") | if (errorCode == "SUCCESS") | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"AGV去{num}号滚筒线装空桶"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV去{num}号滚筒线装空桶"); | |||||
return true; | return true; | ||||
} | } | ||||
else if (errorCode == "Analysis Error") | else if (errorCode == "Analysis Error") | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线API调用失败,请检查请求报文"); | |||||
MessageNotify.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线API调用失败,请检查请求报文"); | |||||
return false; | return false; | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线失败,错误码:{errorCode}"); | |||||
MessageNotify.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线失败,错误码:{errorCode}"); | |||||
return false; | return false; | ||||
} | } | ||||
} | } | ||||
@@ -3998,17 +3998,17 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
if (errorCode == "SUCCESS") | if (errorCode == "SUCCESS") | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"AGV从清洗台到{num}号滚筒线卸桶"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV从清洗台到{num}号滚筒线卸桶"); | |||||
return true; | return true; | ||||
} | } | ||||
else if (errorCode == "Analysis Error") | else if (errorCode == "Analysis Error") | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线API调用失败,请检查请求报文"); | |||||
MessageNotify.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线API调用失败,请检查请求报文"); | |||||
return false; | return false; | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线失败,错误码:{errorCode}"); | |||||
MessageNotify.GetInstance.ShowRunLog($"提示:AGV去{num}号滚筒线失败,错误码:{errorCode}"); | |||||
return false; | return false; | ||||
} | } | ||||
} | } | ||||
@@ -4021,17 +4021,17 @@ namespace FryPot_DosingSystem.Control | |||||
{ | { | ||||
if (errorCode == "SUCCESS") | if (errorCode == "SUCCESS") | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"AGV离开{num}号炒锅"); | |||||
MessageNotify.GetInstance.ShowRunLog($"AGV离开{num}号炒锅"); | |||||
return true; | return true; | ||||
} | } | ||||
else if (errorCode == "Analysis Error") | else if (errorCode == "Analysis Error") | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"提示:AGV离开{num}号炒锅接口调用失败,请检查"); | |||||
MessageNotify.GetInstance.ShowRunLog($"提示:AGV离开{num}号炒锅接口调用失败,请检查"); | |||||
return false; | return false; | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowRunLog($"提示:AGV离开{num}号炒锅失败,错误码:{errorCode}"); | |||||
MessageNotify.GetInstance.ShowRunLog($"提示:AGV离开{num}号炒锅失败,错误码:{errorCode}"); | |||||
return false; | return false; | ||||
} | } | ||||
} | } | ||||
@@ -4454,7 +4454,7 @@ namespace FryPot_DosingSystem.Control | |||||
case 1: | case 1: | ||||
if (AlarmHelper<AlarmInfo>.GetInstance().FryPotOneRollerTrouble == 1) | if (AlarmHelper<AlarmInfo>.GetInstance().FryPotOneRollerTrouble == 1) | ||||
{ | { | ||||
FryPotAlarm = -1; MessageLog.GetInstance.ShowRunLog("警告:炒锅【1】输送滚筒发生故障"); | |||||
FryPotAlarm = -1; MessageNotify.GetInstance.ShowRunLog("警告:炒锅【1】输送滚筒发生故障"); | |||||
} | } | ||||
else | else | ||||
{ | { | ||||
@@ -4466,15 +4466,15 @@ namespace FryPot_DosingSystem.Control | |||||
Thread.Sleep(1000); if (globalVar.ExitLineOneTask) | Thread.Sleep(1000); if (globalVar.ExitLineOneTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("炒锅【1】输送滚筒故障解除,继续运行"); | |||||
MessageNotify.GetInstance.ShowRunLog("炒锅【1】输送滚筒故障解除,继续运行"); | |||||
FryPotAlarm = 1; break; | FryPotAlarm = 1; break; | ||||
case 4: | case 4: | ||||
if (AlarmHelper<AlarmInfo>.GetInstance().FryPotFourRollerTrouble == 1) { FryPotFourAlarm = -1; MessageLog.GetInstance.ShowRunLog("警告:炒锅【4】输送滚筒发生故障"); } else { FryPotFourAlarm = 1; return; } while (AlarmHelper<AlarmInfo>.GetInstance().FryPotFourRollerTrouble == 1) | |||||
if (AlarmHelper<AlarmInfo>.GetInstance().FryPotFourRollerTrouble == 1) { FryPotFourAlarm = -1; MessageNotify.GetInstance.ShowRunLog("警告:炒锅【4】输送滚筒发生故障"); } else { FryPotFourAlarm = 1; return; } while (AlarmHelper<AlarmInfo>.GetInstance().FryPotFourRollerTrouble == 1) | |||||
{ | { | ||||
Thread.Sleep(1000); if (globalVar.ExitLineOneTask) | Thread.Sleep(1000); if (globalVar.ExitLineOneTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("炒锅【4】输送滚筒故障解除,继续运行"); | |||||
MessageNotify.GetInstance.ShowRunLog("炒锅【4】输送滚筒故障解除,继续运行"); | |||||
FryPotFourAlarm = 1; break; | FryPotFourAlarm = 1; break; | ||||
} | } | ||||
@@ -4489,20 +4489,20 @@ namespace FryPot_DosingSystem.Control | |||||
switch (LTwoOutputMaterialQuene.ElementAt(0).materialType.MaterialLoc / 100) | switch (LTwoOutputMaterialQuene.ElementAt(0).materialType.MaterialLoc / 100) | ||||
{ | { | ||||
case 2: | case 2: | ||||
if (AlarmHelper<AlarmInfo>.GetInstance().FryPotTwoRollerTrouble == 1) { FryPotTwoAlarm = -1; MessageLog.GetInstance.ShowRunLog("警告:炒锅【1】输送滚筒发生故障"); } else { FryPotTwoAlarm = 1; return; } while (AlarmHelper<AlarmInfo>.GetInstance().FryPotTwoRollerTrouble == 1) | |||||
if (AlarmHelper<AlarmInfo>.GetInstance().FryPotTwoRollerTrouble == 1) { FryPotTwoAlarm = -1; MessageNotify.GetInstance.ShowRunLog("警告:炒锅【1】输送滚筒发生故障"); } else { FryPotTwoAlarm = 1; return; } while (AlarmHelper<AlarmInfo>.GetInstance().FryPotTwoRollerTrouble == 1) | |||||
{ | { | ||||
Thread.Sleep(1000); if (globalVar.ExitLineTwoTask) | Thread.Sleep(1000); if (globalVar.ExitLineTwoTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("炒锅【1】输送滚筒故障解除,继续运行"); | |||||
MessageNotify.GetInstance.ShowRunLog("炒锅【1】输送滚筒故障解除,继续运行"); | |||||
FryPotTwoAlarm = 1; break; | FryPotTwoAlarm = 1; break; | ||||
case 5: | case 5: | ||||
if (AlarmHelper<AlarmInfo>.GetInstance().FryPotFiveRollerTrouble == 1) { FryPotFiveAlarm = -1; MessageLog.GetInstance.ShowRunLog("警告:炒锅【4】输送滚筒发生故障"); } else { FryPotFiveAlarm = 1; return; } while (AlarmHelper<AlarmInfo>.GetInstance().FryPotFiveRollerTrouble == 1) | |||||
if (AlarmHelper<AlarmInfo>.GetInstance().FryPotFiveRollerTrouble == 1) { FryPotFiveAlarm = -1; MessageNotify.GetInstance.ShowRunLog("警告:炒锅【4】输送滚筒发生故障"); } else { FryPotFiveAlarm = 1; return; } while (AlarmHelper<AlarmInfo>.GetInstance().FryPotFiveRollerTrouble == 1) | |||||
{ | { | ||||
Thread.Sleep(1000); if (globalVar.ExitLineTwoTask) | Thread.Sleep(1000); if (globalVar.ExitLineTwoTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("炒锅【4】输送滚筒故障解除,继续运行"); | |||||
MessageNotify.GetInstance.ShowRunLog("炒锅【4】输送滚筒故障解除,继续运行"); | |||||
FryPotFiveAlarm = 1; break; | FryPotFiveAlarm = 1; break; | ||||
} | } | ||||
} | } | ||||
@@ -4512,12 +4512,12 @@ namespace FryPot_DosingSystem.Control | |||||
public void FryPotThreeRollerTroubleCheck() | public void FryPotThreeRollerTroubleCheck() | ||||
{ | { | ||||
FryPotThreeAlarm = 0; | FryPotThreeAlarm = 0; | ||||
if (AlarmHelper<AlarmInfo>.GetInstance().FryPotThreeRollerTrouble == 1) { FryPotThreeAlarm = -1; MessageLog.GetInstance.ShowRunLog("警告:炒锅【3】输送滚筒发生故障"); } else { FryPotThreeAlarm = 1; return; } while (AlarmHelper<AlarmInfo>.GetInstance().FryPotThreeRollerTrouble == 1) | |||||
if (AlarmHelper<AlarmInfo>.GetInstance().FryPotThreeRollerTrouble == 1) { FryPotThreeAlarm = -1; MessageNotify.GetInstance.ShowRunLog("警告:炒锅【3】输送滚筒发生故障"); } else { FryPotThreeAlarm = 1; return; } while (AlarmHelper<AlarmInfo>.GetInstance().FryPotThreeRollerTrouble == 1) | |||||
{ | { | ||||
Thread.Sleep(1000); if (globalVar.ExitLineThreeTask) | Thread.Sleep(1000); if (globalVar.ExitLineThreeTask) | ||||
return; | return; | ||||
} | } | ||||
MessageLog.GetInstance.ShowRunLog("炒锅【3】输送滚筒故障解除,继续运行"); | |||||
MessageNotify.GetInstance.ShowRunLog("炒锅【3】输送滚筒故障解除,继续运行"); | |||||
FryPotThreeAlarm = 1; | FryPotThreeAlarm = 1; | ||||
} | } | ||||
@@ -107,7 +107,7 @@ namespace FryPot_DosingSystem.ViewModel | |||||
{ | { | ||||
if (materials.ElementAt(i).MaterialLoc / 100 != lineNum|| materials.ElementAt(i).MaterialLoc % 100!=i+1||lineNum<=0||lineNum>5) | if (materials.ElementAt(i).MaterialLoc / 100 != lineNum|| materials.ElementAt(i).MaterialLoc % 100!=i+1||lineNum<=0||lineNum>5) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog($"新建配方【{RecipeName}】无效:【配方中原料桶号异常】"); | |||||
MessageNotify.GetInstance.ShowUserLog($"新建配方【{RecipeName}】无效:【配方中原料桶号异常】"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"新建配方【{RecipeName}】无效"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"新建配方【{RecipeName}】无效"); | ||||
ActionManage.GetInstance.Send("CloseNewRecipeView"); | ActionManage.GetInstance.Send("CloseNewRecipeView"); | ||||
return; | return; | ||||
@@ -124,12 +124,12 @@ namespace FryPot_DosingSystem.ViewModel | |||||
{ | { | ||||
goto prop; | goto prop; | ||||
} | } | ||||
MessageLog.GetInstance.ShowUserLog($"配方【{RecipeName}】新建成功"); | |||||
MessageNotify.GetInstance.ShowUserLog($"配方【{RecipeName}】新建成功"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"新建配方【{RecipeName}】成功"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"新建配方【{RecipeName}】成功"); | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog($"新建配方【{RecipeName}】无效:【配方中原料桶数异常】"); | |||||
MessageNotify.GetInstance.ShowUserLog($"新建配方【{RecipeName}】无效:【配方中原料桶数异常】"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"新建配方【{RecipeName}】无效"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"新建配方【{RecipeName}】无效"); | ||||
} | } | ||||
ActionManage.GetInstance.Send("CloseNewRecipeView"); | ActionManage.GetInstance.Send("CloseNewRecipeView"); | ||||
@@ -150,7 +150,7 @@ namespace FryPot_DosingSystem.ViewModel | |||||
{ | { | ||||
if (materials.ElementAt(i).MaterialLoc / 100 != lineNum && materials.ElementAt(i).MaterialLoc % 100 != i + 1 || lineNum <= 0 || lineNum > 5) | if (materials.ElementAt(i).MaterialLoc / 100 != lineNum && materials.ElementAt(i).MaterialLoc % 100 != i + 1 || lineNum <= 0 || lineNum > 5) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog($"另存配方【{RecipeName}】无效:【配方中原料桶号异常】"); | |||||
MessageNotify.GetInstance.ShowUserLog($"另存配方【{RecipeName}】无效:【配方中原料桶号异常】"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"另存配方【{RecipeName}】无效"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"另存配方【{RecipeName}】无效"); | ||||
ActionManage.GetInstance.Send("CloseNewRecipeView"); | ActionManage.GetInstance.Send("CloseNewRecipeView"); | ||||
return; | return; | ||||
@@ -160,12 +160,12 @@ namespace FryPot_DosingSystem.ViewModel | |||||
bom.RecipeName = RecipeName; | bom.RecipeName = RecipeName; | ||||
bom.UpdateTime = DateTime.Now.ToShortDateString(); | bom.UpdateTime = DateTime.Now.ToShortDateString(); | ||||
Json<RecipeManage>.Save(); | Json<RecipeManage>.Save(); | ||||
MessageLog.GetInstance.ShowUserLog($"配方【{RecipeName}】修改成功"); | |||||
MessageNotify.GetInstance.ShowUserLog($"配方【{RecipeName}】修改成功"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"修改配方【{RecipeName}】成功"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"修改配方【{RecipeName}】成功"); | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog($"修改配方【{RecipeName}】无效:【配方中原料桶数异常】"); | |||||
MessageNotify.GetInstance.ShowUserLog($"修改配方【{RecipeName}】无效:【配方中原料桶数异常】"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"修改配方【{RecipeName}】无效"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"修改配方【{RecipeName}】无效"); | ||||
} | } | ||||
ActionManage.GetInstance.Send("CloseNewRecipeView"); | ActionManage.GetInstance.Send("CloseNewRecipeView"); | ||||
@@ -186,7 +186,7 @@ namespace FryPot_DosingSystem.ViewModel | |||||
{ | { | ||||
if (materials.ElementAt(i).MaterialLoc / 100 != lineNum && materials.ElementAt(i).MaterialLoc % 100 != i + 1 || lineNum <= 0 || lineNum > 5) | if (materials.ElementAt(i).MaterialLoc / 100 != lineNum && materials.ElementAt(i).MaterialLoc % 100 != i + 1 || lineNum <= 0 || lineNum > 5) | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog($"另存配方【{RecipeName}】无效:【配方中原料桶号异常】"); | |||||
MessageNotify.GetInstance.ShowUserLog($"另存配方【{RecipeName}】无效:【配方中原料桶号异常】"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"另存配方【{RecipeName}】无效"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"另存配方【{RecipeName}】无效"); | ||||
ActionManage.GetInstance.Send("CloseNewRecipeView"); | ActionManage.GetInstance.Send("CloseNewRecipeView"); | ||||
return; | return; | ||||
@@ -203,12 +203,12 @@ namespace FryPot_DosingSystem.ViewModel | |||||
{ | { | ||||
goto prop; | goto prop; | ||||
} | } | ||||
MessageLog.GetInstance.ShowUserLog("另存配方成功"); | |||||
MessageNotify.GetInstance.ShowUserLog("另存配方成功"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"另存配方【{RecipeName}】成功"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Success, App.MainWindow, "提示", $"另存配方【{RecipeName}】成功"); | ||||
} | } | ||||
else | else | ||||
{ | { | ||||
MessageLog.GetInstance.ShowUserLog($"另存配方【{rec.RecipeName}】无效:【配方中原料桶数异常】"); | |||||
MessageNotify.GetInstance.ShowUserLog($"另存配方【{rec.RecipeName}】无效:【配方中原料桶数异常】"); | |||||
NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"另存配方【{rec.RecipeName}】无效"); | NoticeDemoViewModel.OpenMsg(EnumPromptType.Error, App.MainWindow, "提示", $"另存配方【{rec.RecipeName}】无效"); | ||||
} | } | ||||
ActionManage.GetInstance.Send("CloseNewRecipeView"); | ActionManage.GetInstance.Send("CloseNewRecipeView"); | ||||