You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
3.0 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Net.NetworkInformation;
using System.Text;
using System.Linq;
using System.Data;
using System.Threading;
using Mesnac.Action.Base;
using Mesnac.Controls.Base;
using System.Windows.Forms;
using Mesnac.Codd.Session;
using System.IO;
using Mesnac.Action.Feeding.Qingquan.BasicInfo;
namespace Mesnac.Action.Feeding.Qingquan.FeedingPlc
{
/// <summary>
/// 终止密炼
/// </summary>
public class StopMixing : FeedingAction, IAction
{
/// <summary>
/// 终止密炼业务入口
/// </summary>
/// <param name="runtime"></param>
public void Run(RuntimeParameter runtime)
{
base.LogDebug("终止密炼...");
string msg = String.Empty;
#region 判断当班计划界面是否打开
if (PlanCommon.IsInit == false)
{
msg = "当班计划还为初始化,请先打开当班计划,再进行此操作!";
ShowMsg(msg, Language(1), MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
#endregion
if (MessageBox.Show("确认终止密炼吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
{
return;
}
string recipeName = new RecipeData().GetCurrentRecipeInfo().RecipeName;
base.LogInfo("终止密炼:" + recipeName);
if (StopMixing.ExecStopMixing())
{
ShowMsg("写入终止密炼成功至PLC成功!", Language(1), MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
ShowMsg("写入终止密炼至PLC失败", Language(1), MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
/// <summary>
/// 把终止密炼信号下传至PLC位运算位或1
/// </summary>
/// <returns>下传成功返回true否则返回false</returns>
public static bool ExecStopMixing()
{
try
{
int readword = 0;
//Mesnac.Equips.Factory.Instance.Read();
if (int.TryParse(PlcData.Instance.AbortMixing.EquipData.LastBeforeMathValue.FirstOrDefault().ToString(), out readword))
{
readword = readword | 1;
if (PlcData.Instance.PlcWriteByDataKey(PlcData.Instance.AbortMixing, new object[] { readword }))
{
ICSharpCode.Core.LoggingService.Debug("写入终止密炼成功...");
return true;
}
}
ICSharpCode.Core.LoggingService.Warn("写入终止密炼失败...");
return false;
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService.Error("写入终止密炼失败:" + ex.Message, ex);
return false;
}
}
}
}