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#

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;
}
}
}
}