|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Reflection;
|
|
|
using System.Text;
|
|
|
using System.Windows.Forms;
|
|
|
using ICSharpCode.Core;
|
|
|
using System.Data;
|
|
|
using Mesnac.Action.ChemicalWeighing.Entity;
|
|
|
using System.Threading;
|
|
|
using System.Configuration;
|
|
|
using Mesnac.Action.ChemicalWeighing.Entity.PptPlan;
|
|
|
using Mesnac.Action.ChemicalWeighing.Entity.station;
|
|
|
using Mesnac.Action.ChemicalWeighing.Product.PptPlan;
|
|
|
using Mesnac.Action.ChemicalWeighing.Report;
|
|
|
using DevExpress.XtraRichEdit.Fields.Expression;
|
|
|
using Mesnac.Action.ChemicalWeighing.DBHelper;
|
|
|
using System.Threading.Tasks;
|
|
|
using DevExpress.Charts.Native;
|
|
|
using System.Runtime.CompilerServices;
|
|
|
using HslCommunication.Profinet.Siemens;
|
|
|
|
|
|
namespace Mesnac.Action.ChemicalWeighing.ChemicalWeighingPlc
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 计划列表下传PLC辅助类
|
|
|
/// </summary>
|
|
|
public class PlcPlanHelper
|
|
|
{
|
|
|
static bool flag1 = false;//扫码枪是否初始化 ——小料
|
|
|
static bool flag2 = false;//扫码枪是否初始化 ——投料
|
|
|
static bool flag3 = false;//扫码枪是否初始化 ——溶剂称量
|
|
|
public static int execNum = 0;//记录未完成任务数量
|
|
|
public static event EventHandler OnUpdateRjPlanStateFromPlc;
|
|
|
#region 事件定义
|
|
|
|
|
|
public static object sender = null;
|
|
|
public static event EventHandler OnUpdatePlanStateFromPlc;
|
|
|
public static event EventHandler AutoDownloadPlan;
|
|
|
public static event EventHandler OnAutoAddPlan;
|
|
|
public static event EventHandler OnChangePlan;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 字段定义
|
|
|
|
|
|
private static string originalMixPlcPlanTableName = String.Empty;
|
|
|
private static string originalMillPlcPlanTableName = String.Empty;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 下传计划列表至PLC
|
|
|
|
|
|
/// <summary>
|
|
|
/// 下传计划列表至PLC
|
|
|
/// </summary>
|
|
|
/// <param name="msgList">输出消息列表</param>
|
|
|
/// <returns>成功返回true,失败返回false</returns>
|
|
|
public static bool DownloadPlanData(List<string> msgList)
|
|
|
{
|
|
|
bool result = true;
|
|
|
List<RT_plan> list = null;
|
|
|
//if (Global.PublicVar.Instance.ChemicalWeighingPlcOnlineFlag) //|| Global.PublicVar.Instance.IsLocalTest)
|
|
|
if (true)
|
|
|
{
|
|
|
if (result)
|
|
|
{
|
|
|
if (list == null)
|
|
|
{
|
|
|
list = Product.PptPlan.PlanHelper.GetUnExePlanEntityList(1);
|
|
|
}
|
|
|
result = DownloadPlanDataToChe(list, msgList);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 下传计划列表至PLC(自动)
|
|
|
/// </summary>
|
|
|
/// <param name="msgList">输出消息列表</param>
|
|
|
/// <returns>成功返回true,失败返回false</returns>
|
|
|
public static bool AutoDownloadPlanData(List<string> msgList)
|
|
|
{
|
|
|
bool result = true;
|
|
|
List<RT_plan> list = null;
|
|
|
|
|
|
#region 读取应答信号
|
|
|
|
|
|
if (!(BasePlcHelper.Instance.ChemicalWeighing_PLC_LoadingStatus.NowValue.ToInt() == 1 && BasePlcHelper.Instance.ChemicalWeighing_PC_LoadingStatus.NowValue.ToInt() == 0))
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
if (result)
|
|
|
{
|
|
|
if (list == null)
|
|
|
{
|
|
|
list = Product.PptPlan.PlanHelper.GetUnExePlanEntityList(1);
|
|
|
}
|
|
|
result = DownloadPlanDataToChe(list, msgList);
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
#region 下传计划列表至小料PLC
|
|
|
|
|
|
/// <summary>
|
|
|
/// 下传计划列表至小料PLC
|
|
|
/// </summary>
|
|
|
/// <param name="list">计划列表</param>
|
|
|
/// <param name="msgList">输出的消息列表</param>
|
|
|
/// <returns>成功返回true,失败返回flase</returns>
|
|
|
public static bool DownloadPlanDataToChe(List<RT_plan> list, List<string> msgList)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
#region 定义变量
|
|
|
|
|
|
//int cnt = 0; //循环计数
|
|
|
string msg = String.Empty;
|
|
|
List<Int16> writeDataList = new List<Int16>();
|
|
|
PropertyInfo[] ps = typeof(RT_plan).GetProperties();
|
|
|
PropertyInfo[] psMaterial = typeof(Pmt_weigh).GetProperties();
|
|
|
List<Pmt_weigh> listMaterial = new List<Pmt_weigh>(); //计划对应的配方对应的物料列表
|
|
|
Pmt_recipe currentPmtRecipe = new Pmt_recipe(); //当前配方
|
|
|
RT_plan nextRTPlan = null; //下一条计划
|
|
|
Pmt_recipe nextPmtRecipe = null; //当前配方
|
|
|
bool planDownFlag = false;
|
|
|
|
|
|
if (msgList == null)
|
|
|
{
|
|
|
msgList = new List<string>();
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 验证处理-配置
|
|
|
|
|
|
if (list == null || list.Count == 0)
|
|
|
{
|
|
|
msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_Mix_msg40")); //小料-计划信息下传PLC失败:无可下传计划!
|
|
|
msgList.Add(msg);
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
List<PlcWriter> writerList = PlcSchemaHelper.Instance.GetPlcWriter("PlanRecipeData"); //配方头数据
|
|
|
if (writerList == null || writerList.Count == 0)
|
|
|
{
|
|
|
msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_Mix_msg10")); //小料-计划信息下传PLC失败:在PlcSchema.xml中没有RT_plan配置节!
|
|
|
msgList.Add(msg);
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
List<PlcWriter> writerList1 = PlcSchemaHelper.Instance.GetMaterialPlcWriter("PlanMaterialData"); //物料数据
|
|
|
if (writerList == null || writerList.Count == 0)
|
|
|
{
|
|
|
msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_Mix_msg10")); //小料-计划信息下传PLC失败:在PlcSchema.xml中没有RT_plan配置节!
|
|
|
msgList.Add(msg);
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
writerList = writerList.Concat(writerList1).ToList();
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 验证处理-数据
|
|
|
|
|
|
if (list == null || list.Count == 0)
|
|
|
{
|
|
|
msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_Mix_msg15")); //小料-计划信息下传PLC失败:当班计划列表为空!
|
|
|
msgList.Add(msg);
|
|
|
return false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
#region 根据配方recipeID获取物料信息
|
|
|
|
|
|
string recipeID = list[0].Recipe_ID;
|
|
|
listMaterial = Product.PptPlan.PlanHelper.GetPmt_weighList(recipeID);
|
|
|
if (listMaterial != null)
|
|
|
{
|
|
|
Global.PublicVar.Instance.currentListPmt_weigh = listMaterial;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 根据配方recipeID获取配方信息
|
|
|
|
|
|
currentPmtRecipe = Technical.PmtRecipe.RecipeHelper.GetRecipeEntityByGUID(recipeID);
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取下一配方信息
|
|
|
|
|
|
nextRTPlan = Product.PptPlan.PlanHelper.GetNextPlan((int)list[0].Plan_Serial);
|
|
|
if (nextRTPlan != null)
|
|
|
{
|
|
|
nextPmtRecipe = Technical.PmtRecipe.RecipeHelper.GetRecipeEntityByGUID(nextRTPlan.Recipe_ID);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 业务处理
|
|
|
|
|
|
foreach (PlcWriter writer in writerList)
|
|
|
{
|
|
|
writeDataList.Clear();
|
|
|
|
|
|
#region 验证处理
|
|
|
|
|
|
if (writer.EquipRunName != "Recipe_Data_Download_BaseInf" && writer.EquipRunName != "Hopper_Recipe_Detail_Inf")
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取PLC品牌名称,处理西门子与其他PLC差异
|
|
|
|
|
|
string equipBrand = Mesnac.Equips.Factory.Instance.GetEquipBrandByRunName(writer.EquipRunName);
|
|
|
writer.EquipBrand = equipBrand;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 整理数据
|
|
|
|
|
|
if (writer.EquipRunName == "Recipe_Data_Download_BaseInf")
|
|
|
{
|
|
|
RT_plan entity = null;
|
|
|
|
|
|
for (int i = 0; i < writer.ThisCount; i++)
|
|
|
{
|
|
|
if (list != null && i < list.Count)
|
|
|
{
|
|
|
entity = list[i];
|
|
|
DateTime timeNow = DateTime.Now;
|
|
|
foreach (PlcWriteItem item in writer.SchemaList)
|
|
|
{
|
|
|
item.ClearData();
|
|
|
item.EquipBrand = equipBrand; //设置PLC设备品牌
|
|
|
foreach (PropertyInfo pi in ps)
|
|
|
{
|
|
|
if (item.DataFieldName == pi.Name)
|
|
|
{
|
|
|
item.SetValue = pi.GetValue(entity, null);
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_H_Year")
|
|
|
{
|
|
|
item.SetValue = timeNow.Year;
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_H_Month")
|
|
|
{
|
|
|
item.SetValue = timeNow.Month;
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_H_Date")
|
|
|
{
|
|
|
item.SetValue = timeNow.Day;
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_H_Hour")
|
|
|
{
|
|
|
item.SetValue = timeNow.Hour;
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_H_Minute")
|
|
|
{
|
|
|
item.SetValue = timeNow.Minute;
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_H_Second")
|
|
|
{
|
|
|
item.SetValue = timeNow.Second;
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_MachineCode")
|
|
|
{
|
|
|
item.SetValue = "01";
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_TotalSetWeight")
|
|
|
{
|
|
|
if (currentPmtRecipe != null && currentPmtRecipe.Total_Weight != null)
|
|
|
{
|
|
|
item.SetValue = Convert.ToInt32(currentPmtRecipe.Total_Weight * 1000);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_TotalErrorWeight")
|
|
|
{
|
|
|
if (currentPmtRecipe != null && currentPmtRecipe.Total_Error != null)
|
|
|
{
|
|
|
item.SetValue = Convert.ToInt32(currentPmtRecipe.Total_Error * 1000);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_1LOT")
|
|
|
{
|
|
|
if (currentPmtRecipe != null && currentPmtRecipe.GroupBags != null)
|
|
|
{
|
|
|
item.SetValue = (Int32)currentPmtRecipe.GroupBags;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_NextPlanCode")
|
|
|
{
|
|
|
if (nextPmtRecipe != null && nextPmtRecipe.Recipe_Name != null)
|
|
|
{
|
|
|
item.SetValue = nextPmtRecipe.Recipe_Name;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_NextTotalSetWeight")
|
|
|
{
|
|
|
if (nextPmtRecipe != null && nextPmtRecipe.Total_Weight != null)
|
|
|
{
|
|
|
item.SetValue = Convert.ToInt32(nextPmtRecipe.Total_Weight * 1000);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_NextPlanNum")
|
|
|
{
|
|
|
if (nextRTPlan != null && nextRTPlan.Plan_Num != null)
|
|
|
{
|
|
|
item.SetValue = Convert.ToInt32(nextRTPlan.Plan_Num);
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_SeparateNum")
|
|
|
{
|
|
|
if (entity != null && entity.Plan_Num != null)
|
|
|
{
|
|
|
item.SetValue = entity.Plan_Num; //后期会有配置项进行设置
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
writeDataList.AddRange(item.WriteData());
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
foreach (PlcWriteItem item in writer.SchemaList)
|
|
|
{
|
|
|
item.ClearData();
|
|
|
item.EquipBrand = equipBrand; //设置PLC设备品牌
|
|
|
writeDataList.AddRange(item.WriteData());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (writer.EquipRunName == "Hopper_Recipe_Detail_Inf")
|
|
|
{
|
|
|
Pmt_weigh entity = null;
|
|
|
|
|
|
for (int i = 0; i < writer.ThisCount; i++)
|
|
|
{
|
|
|
if (listMaterial != null && i < listMaterial.Count)
|
|
|
{
|
|
|
entity = listMaterial[i];
|
|
|
DateTime timeNow = DateTime.Now;
|
|
|
foreach (PlcWriteItem item in writer.SchemaList)
|
|
|
{
|
|
|
item.ClearData();
|
|
|
item.EquipBrand = equipBrand; //设置PLC设备品牌
|
|
|
foreach (PropertyInfo pi in psMaterial)
|
|
|
{
|
|
|
if (item.DataFieldName == pi.Name)
|
|
|
{
|
|
|
item.SetValue = pi.GetValue(entity, null);
|
|
|
if (item.DataFieldName == "Set_Weight" || item.DataFieldName == "Set_Error")
|
|
|
{
|
|
|
object temd = item.SetValue;
|
|
|
item.SetValue = Convert.ToDouble(temd) * 1000;
|
|
|
}
|
|
|
else if (item.DataFieldName == "Weight_Id")
|
|
|
{
|
|
|
object temd = item.SetValue;
|
|
|
item.SetValue = Convert.ToInt32(temd) - 1;
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_BinNo")
|
|
|
{
|
|
|
Pmt_Bin pmtBin = Product.PptPlan.PlanHelper.GetPmt_Bin(entity.Material_ID);
|
|
|
if (pmtBin != null && pmtBin.Bin_Serial != null)
|
|
|
{
|
|
|
item.SetValue = pmtBin.Bin_Serial;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
item.SetValue = 100; //对应手动秤功能
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
writeDataList.AddRange(item.WriteData());
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
foreach (PlcWriteItem item in writer.SchemaList)
|
|
|
{
|
|
|
item.ClearData();
|
|
|
item.EquipBrand = equipBrand; //设置PLC设备品牌
|
|
|
writeDataList.AddRange(item.WriteData());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 下传数据
|
|
|
|
|
|
object[] buff = new object[writeDataList.Count];
|
|
|
Array.Copy(writeDataList.ToArray(), buff, buff.Length);
|
|
|
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Debug(String.Format("[{0}]开始下传计划信息...", writer.EquipRunName));
|
|
|
if (!BasePlcHelper.Instance.PlcWriteByRunName(writer.EquipRunName, buff))
|
|
|
{
|
|
|
msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_Mix_msg50")); //小料-计划信息下传PLC[{0}]失败...
|
|
|
msg = String.Format(msg, writer.EquipRunName);
|
|
|
msgList.Add(msg);
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
planDownFlag = true;
|
|
|
}
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Debug(String.Format("[{0}]计划信息下传完毕...", writer.EquipRunName));
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 交互逻辑
|
|
|
|
|
|
if (planDownFlag)
|
|
|
{
|
|
|
|
|
|
#region 下传请求信号
|
|
|
|
|
|
bool result = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_PC_LoadingStatus, new object[] { 1 });
|
|
|
if (!result)
|
|
|
{
|
|
|
msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_Mix_msg20")); //小料-计划信息下传PLC:向PLC下传请求信号失败!
|
|
|
msgList.Add(msg);
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 数据下传完成后,将该条计划的状态更改为已下传
|
|
|
|
|
|
Product.PptPlan.PlanHelper.UpdatePlanState(list[0].Plan_Id, 4);
|
|
|
planDownFlag = false;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
if (AutoDownloadPlan != null)
|
|
|
{
|
|
|
AutoDownloadPlan(sender, System.EventArgs.Empty);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
msgList.Add(ex.Message);
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(ex.Message, ex);
|
|
|
return false;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
#region 交互逻辑
|
|
|
|
|
|
if (Global.PublicVar.Instance.PlcDownloadMode == 1)
|
|
|
{
|
|
|
//#region 清除请求信号
|
|
|
|
|
|
//bool result = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.Mix_SysAction_ExchPlanInfoRep_Req, new object[] { 0 });
|
|
|
//if (!result)
|
|
|
//{
|
|
|
// BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.Mix_SysAction_ExchPlanInfoRep_Req, new object[] { 0 });
|
|
|
//}
|
|
|
|
|
|
//#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取PLC计划列表中某条计划中允许修改的最小车数
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取上辅机PLC计划列表中某条计划中允许修改的最小车数
|
|
|
/// </summary>
|
|
|
/// <param name="planID">要获取的允许最小车数的计划号</param>
|
|
|
/// <returns>返回对应计划号的最小车数</returns>
|
|
|
//public static int GetMixMinPlanNumFromPlc(string planID)
|
|
|
//{
|
|
|
// DataTable dt = BasePlcHelper.Instance.Mix_PlanState_PlcPlanList.LastValue.ToObject() as DataTable;
|
|
|
// if (dt != null && dt.Rows.Count > 0)
|
|
|
// {
|
|
|
// foreach(DataRow dr in dt.Rows)
|
|
|
// {
|
|
|
// if (Mesnac.Basic.DataProcessor.RowValue(dr, "PlanID", String.Empty) == planID)
|
|
|
// {
|
|
|
// return Mesnac.Basic.DataProcessor.RowValue(dr, "NumModifyMin", 0);
|
|
|
// }
|
|
|
// }
|
|
|
// return 0;
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// return 0;
|
|
|
// }
|
|
|
//}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取PLC计划列表中某条计划的计划数
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取PLC计划列表中某条计划的计划数
|
|
|
/// </summary>
|
|
|
/// <param name="planID">计划编号</param>
|
|
|
/// <param name="defaultValue">默认值</param>
|
|
|
/// <returns>返回对应计划号的计划数</returns>
|
|
|
//public static int GetMixPlanNumFromPlc(string planID, int defaultValue)
|
|
|
//{
|
|
|
// DataTable dt = BasePlcHelper.Instance.Mix_PlanState_PlcPlanList.LastValue.ToObject() as DataTable;
|
|
|
// if (dt != null && dt.Rows.Count > 0)
|
|
|
// {
|
|
|
// foreach (DataRow dr in dt.Rows)
|
|
|
// {
|
|
|
// if (Mesnac.Basic.DataProcessor.RowValue(dr, "PlanID", String.Empty) == planID)
|
|
|
// {
|
|
|
// return Mesnac.Basic.DataProcessor.RowValue(dr, "PlanNum", defaultValue);
|
|
|
// }
|
|
|
// }
|
|
|
// return defaultValue;
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// return defaultValue;
|
|
|
// }
|
|
|
//}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 把PLC的计划状态更新至数据库
|
|
|
|
|
|
/// <summary>
|
|
|
/// 把PLC的计划状态更新至数据库
|
|
|
/// </summary>
|
|
|
public static void UpdatePlanStateFromPlc()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
bool flag = false;
|
|
|
|
|
|
#region 小料同步计划状态和完成数
|
|
|
|
|
|
if (BasePlcHelper.Instance.ChemicalWeighing_PLC_Plan_Status_ShakeHand.NowValue.ToInt() == 1 && BasePlcHelper.Instance.ChemicalWeighing_PLC_Plan_Status_FeedBack.NowValue.ToInt() == 0)
|
|
|
{
|
|
|
int planSerial = BasePlcHelper.Instance.ChemicalWeighing_Plan_Serial.NowValue.ToInt(); //计划序号
|
|
|
int planState = BasePlcHelper.Instance.ChemicalWeighing_Plan_Status.NowValue.ToInt(); //计划状态
|
|
|
int planNum = BasePlcHelper.Instance.ChemicalWeighing_Plan_Number.NowValue.ToInt(); //计划数量
|
|
|
int planRestNum = BasePlcHelper.Instance.ChemicalWeighing_Remain_Number.NowValue.ToInt(); //剩余数量
|
|
|
int planComNum = planNum - planRestNum; //完成数量
|
|
|
|
|
|
if (planState == (int)Entity.PlanState.Producting)
|
|
|
{
|
|
|
Product.PptPlan.PlanHelper.UpdatePlanInfo(planSerial, planState, planNum, planComNum);
|
|
|
}
|
|
|
else if (planState == (int)Entity.PlanState.Completed)
|
|
|
{
|
|
|
Product.PptPlan.PlanHelper.UpdatePlanInfo(planSerial, planState, planNum, planComNum, DateTime.Now.ToString());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
flag = true;
|
|
|
|
|
|
//PlanListReDown();20211205三元现场注释掉
|
|
|
|
|
|
#region 此处需要将RT_plan中计划写入到LR_Plan中,同时向LR_Recipe中存储信息
|
|
|
|
|
|
RT_plan rtPlan = Product.PptPlan.PlanHelper.GetPlanDataEntity(planSerial);
|
|
|
if (rtPlan != null)
|
|
|
{
|
|
|
LR_plan lrPlan = new LR_plan();
|
|
|
Product.PptPlan.PlanHelper.EntityToEntity(rtPlan, lrPlan);
|
|
|
if (Product.PptPlan.PlanHelper.LRPlanExists(lrPlan.Plan_Id))
|
|
|
{
|
|
|
//更新
|
|
|
if (planState == (int)Entity.PlanState.Producting)
|
|
|
{
|
|
|
Product.PptPlan.PlanHelper.LRUpdatePlanInfo(lrPlan.Plan_Id, planState, planNum, planComNum);
|
|
|
}
|
|
|
else if (planState == (int)Entity.PlanState.Completed)
|
|
|
{
|
|
|
Product.PptPlan.PlanHelper.LRUpdatePlanInfo(lrPlan.Plan_Id, planState, planNum, planComNum, DateTime.Now.ToString());
|
|
|
|
|
|
#region 执行删除计划操作
|
|
|
|
|
|
Product.PptPlan.PlanHelper.DeletePlan(rtPlan.Plan_Id);
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//添加(LR_plan)
|
|
|
Product.PptPlan.PlanHelper.LRAddPlan(lrPlan);
|
|
|
|
|
|
//添加(LR_recipe)
|
|
|
LR_recipe lrRecipe = new LR_recipe();
|
|
|
lrRecipe.Plan_id = rtPlan.Plan_Id;
|
|
|
lrRecipe.Equip_Code = rtPlan.Equip_Code;
|
|
|
|
|
|
string recipeID = rtPlan.Recipe_ID;
|
|
|
List<Pmt_weigh> listPmtWeigh = Product.PptPlan.PlanHelper.GetPmt_weighList(recipeID);
|
|
|
foreach (Pmt_weigh tempPW in listPmtWeigh)
|
|
|
{
|
|
|
lrRecipe.Weight_ID = tempPW.Weight_Id - 1;
|
|
|
lrRecipe.Set_Weight = (float)tempPW.Set_Weight;
|
|
|
lrRecipe.Set_Error = (float)tempPW.Set_Error;
|
|
|
lrRecipe.CPK_Error = (decimal)0;
|
|
|
|
|
|
Pmt_material pmtMaterial = Product.PptPlan.PlanHelper.GetPmt_material(tempPW.Material_ID);
|
|
|
if (pmtMaterial != null)
|
|
|
{
|
|
|
lrRecipe.Material_Code = pmtMaterial.Material_code;
|
|
|
lrRecipe.Material_Name = pmtMaterial.Material_name;
|
|
|
lrRecipe.Batch_number = pmtMaterial.Batch_number;
|
|
|
lrRecipe.remark = null;
|
|
|
Product.PptPlan.PlanHelper.AddLR_recipe(lrRecipe);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 触发事件
|
|
|
|
|
|
if (flag)
|
|
|
{
|
|
|
#region 下传请求信号
|
|
|
|
|
|
bool result = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_PLC_Plan_Status_FeedBack, new object[] { 1 });
|
|
|
if (!result)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_Mix_msg30")); //小料-计划信息下传PLC:向PLC下传计划状态请求信号失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
#region 判断等待计划数和正在运行的计划数。如果两个都是0,清空RT_plan表。
|
|
|
|
|
|
int waitPlanCount = Product.PptPlan.PlanHelper.GetUnExePlanNum();
|
|
|
int runningPlanCount = Product.PptPlan.PlanHelper.GetRunningPlanNum();
|
|
|
int downPlanCount = Product.PptPlan.PlanHelper.GetDownPlanNum();
|
|
|
if (waitPlanCount == 0 && runningPlanCount == 0 && downPlanCount == 0)
|
|
|
{
|
|
|
Product.PptPlan.PlanHelper.ClearRT_Plan();
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
if (OnUpdatePlanStateFromPlc != null)
|
|
|
{
|
|
|
OnUpdatePlanStateFromPlc(sender, System.EventArgs.Empty);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error("把PLC的计划状态更新至数据库异常:" + ex.Message, ex);
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
Global.PublicVar.Instance.LocalPlanIsRefresh = false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 处理HMI的修改计划请求
|
|
|
|
|
|
/// <summary>
|
|
|
/// 处理HMI的修改计划请求
|
|
|
/// </summary>
|
|
|
public static void ChangePlan()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
bool flag = false;
|
|
|
|
|
|
#region 读取并处理HMI的配方添加计划请求(添加计划)
|
|
|
|
|
|
if (BasePlcHelper.Instance.ChemicalWeighing_HMI_Request_Recipe_Change_ShakeHand.NowValue.ToInt() == 1 && (BasePlcHelper.Instance.ChemicalWeighing_HMI_Request_Recipe_Change_FeedBack.NowValue.ToInt() <= 0 || BasePlcHelper.Instance.ChemicalWeighing_HMI_Request_Recipe_Change_FeedBack.NowValue.ToInt() == 65535))
|
|
|
{
|
|
|
#region 从PLC中获取要添加的计划信息
|
|
|
|
|
|
int planCommand = BasePlcHelper.Instance.ChemicalWeighing_HMI_Request_Recipe_Change_Command.NowValue.ToInt(); //命令
|
|
|
String sysMachine = BasePlcHelper.Instance.ChemicalWeighing_Sys_Machine2.NowValue.ToString(); //机台号
|
|
|
int[] planIdData;
|
|
|
BasePlcHelper.Instance.PlcRead(BasePlcHelper.Instance.ChemicalWeighing_HMIChange_PlanId, out planIdData);
|
|
|
string planId = Mesnac.Basic.DataProcessor.ToString1(planIdData); //计划
|
|
|
int ChangePlanNum = BasePlcHelper.Instance.ChemicalWeighing_HMIChange_PlanNum.NowValue.ToInt(); //设定数量
|
|
|
|
|
|
if (String.IsNullOrEmpty(sysMachine))
|
|
|
{
|
|
|
sysMachine = "01";
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 验证(PLC中读取过来的planid对应的数据库中的计划必须是存在的)
|
|
|
|
|
|
RT_plan currentRT_Plan = Product.PptPlan.PlanHelper.GetPlanDataEntity(planId);
|
|
|
|
|
|
if (currentRT_Plan == null)
|
|
|
{
|
|
|
ChangePlanErrorReturn();
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 判断命令(0默认 1刷新 2上移 3下移 4修改车数 5删除计划)并执行操作
|
|
|
|
|
|
if (planCommand == 1)
|
|
|
{
|
|
|
//刷新事件,将最新的计划列表重写入PLC。
|
|
|
|
|
|
}
|
|
|
else if (planCommand == 2)
|
|
|
{
|
|
|
#region 获取交换位置对象并判断是否可以上移(条件:在该条计划前,是否有一条未运行中的计划)并执行上移
|
|
|
|
|
|
int swagPlanSerial = (int)currentRT_Plan.Plan_Serial - 1;
|
|
|
RT_plan swagRtPLan = Product.PptPlan.PlanHelper.GetPlanBySerialUp(swagPlanSerial);
|
|
|
if (swagRtPLan == null)
|
|
|
{
|
|
|
ChangePlanErrorReturn();
|
|
|
return;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
currentRT_Plan.Plan_Serial = currentRT_Plan.Plan_Serial - 1;
|
|
|
swagRtPLan.Plan_Serial = swagRtPLan.Plan_Serial + 1;
|
|
|
Product.PptPlan.PlanHelper.UpdatePlanSerial(currentRT_Plan);
|
|
|
Product.PptPlan.PlanHelper.UpdatePlanSerial(swagRtPLan);
|
|
|
|
|
|
#region 重新下传计划列表
|
|
|
|
|
|
flag = PlanListReDown();
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
else if (planCommand == 3)
|
|
|
{
|
|
|
#region 获取交换位置对象并判断是否可以下移(条件:在该条计划后,是否有一条未运行中的计划)并执行下移
|
|
|
|
|
|
int swagPlanSerial = (int)currentRT_Plan.Plan_Serial + 1;
|
|
|
RT_plan swagRtPLan = Product.PptPlan.PlanHelper.GetPlanBySerialDown(swagPlanSerial);
|
|
|
if (swagRtPLan == null)
|
|
|
{
|
|
|
ChangePlanErrorReturn();
|
|
|
return;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
currentRT_Plan.Plan_Serial = currentRT_Plan.Plan_Serial + 1;
|
|
|
swagRtPLan.Plan_Serial = swagRtPLan.Plan_Serial - 1;
|
|
|
Product.PptPlan.PlanHelper.UpdatePlanSerial(currentRT_Plan);
|
|
|
Product.PptPlan.PlanHelper.UpdatePlanSerial(swagRtPLan);
|
|
|
|
|
|
#region 重新下传计划列表
|
|
|
|
|
|
flag = PlanListReDown();
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
else if (planCommand == 4)
|
|
|
{
|
|
|
#region 执行修改计划操作
|
|
|
|
|
|
Product.PptPlan.PlanHelper.UpdatePlanNum(planId, ChangePlanNum);
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 重新下传计划列表
|
|
|
|
|
|
flag = PlanListReDown();
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
else if (planCommand == 5)
|
|
|
{
|
|
|
#region 获取计划号对应的序号
|
|
|
|
|
|
int delSerial = (int)currentRT_Plan.Plan_Serial;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 执行删除计划操作
|
|
|
|
|
|
Product.PptPlan.PlanHelper.DeletePlan(planId);
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 整理修改后续计划的序号(-1)
|
|
|
|
|
|
List<RT_plan> mRtPlan = Product.PptPlan.PlanHelper.GetPlanListAfterPlanSerial(delSerial);
|
|
|
if (mRtPlan != null && mRtPlan.Count > 0)
|
|
|
{
|
|
|
foreach (RT_plan tempRT in mRtPlan)
|
|
|
{
|
|
|
tempRT.Plan_Serial = tempRT.Plan_Serial - 1;
|
|
|
Product.PptPlan.PlanHelper.UpdatePlanSerial(tempRT);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 将等待计划数写入PLC
|
|
|
|
|
|
WaitPlanNumToPLC();
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 重新下传计划列表
|
|
|
|
|
|
flag = PlanListReDown();
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//默认
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 触发事件
|
|
|
|
|
|
if (OnChangePlan != null)
|
|
|
{
|
|
|
OnChangePlan(sender, System.EventArgs.Empty);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region HMI修改计划请求交互
|
|
|
|
|
|
if (flag)
|
|
|
{
|
|
|
#region 下传请求信号
|
|
|
|
|
|
bool result = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_HMI_Request_Recipe_Change_FeedBack, new object[] { 1 });
|
|
|
if (!result)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_ChangePlan_logContent_1")); //HMI修改计划请求成功后:向PLC下传反馈信号失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error("从HMI修改计划异常:" + ex.Message, ex);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 修改计划出现异常反馈到PLC
|
|
|
public static void ChangePlanErrorReturn()
|
|
|
{
|
|
|
bool result = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_HMI_Request_Recipe_Change_FeedBack, new object[] { 3 });
|
|
|
if (!result)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_ChangePlan_logContent_2")); //HMI修改计划请求成功后:向PLC下传异常反馈信号失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 执行完修改计划操作后重新向PLC写入计划列表数据
|
|
|
public static bool PlanListReDown()
|
|
|
{
|
|
|
#region 定义变量
|
|
|
|
|
|
bool reFlag = false;
|
|
|
List<Int16> writeDataList = new List<Int16>();
|
|
|
PropertyInfo[] ps = typeof(RT_plan).GetProperties();
|
|
|
List<RT_plan> rtPlanList = Product.PptPlan.PlanHelper.GetPlanEntityListByNum(5);
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 验证处理-配置
|
|
|
|
|
|
if (rtPlanList == null || rtPlanList.Count == 0)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_AutoAddPlan_logContent_3")); //HMI添加计划请求成功后:计划列表获取失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
|
|
|
List<PlcWriter> writerList = PlcSchemaHelper.Instance.GetPlcWriter("PlanListData"); //计划列表数据
|
|
|
if (writerList == null || writerList.Count == 0)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_AutoAddPlan_logContent_4")); //HMI添加计划请求成功后:计划列表写入数据结构获取失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 业务处理
|
|
|
|
|
|
foreach (PlcWriter writer in writerList)
|
|
|
{
|
|
|
writeDataList.Clear();
|
|
|
|
|
|
#region 验证处理
|
|
|
|
|
|
if (writer.EquipRunName != "PlanList_Info")
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取PLC品牌名称,处理西门子与其他PLC差异
|
|
|
|
|
|
string equipBrand = Mesnac.Equips.Factory.Instance.GetEquipBrandByRunName(writer.EquipRunName);
|
|
|
writer.EquipBrand = equipBrand;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 整理数据
|
|
|
|
|
|
if (writer.EquipRunName == "PlanList_Info")
|
|
|
{
|
|
|
RT_plan entity = null;
|
|
|
|
|
|
for (int i = 0; i < writer.ThisCount; i++)
|
|
|
{
|
|
|
if (rtPlanList != null && i < rtPlanList.Count)
|
|
|
{
|
|
|
entity = rtPlanList[i];
|
|
|
DateTime timeNow = DateTime.Now;
|
|
|
foreach (PlcWriteItem item in writer.SchemaList)
|
|
|
{
|
|
|
item.ClearData();
|
|
|
item.EquipBrand = equipBrand; //设置PLC设备品牌
|
|
|
foreach (PropertyInfo pi in ps)
|
|
|
{
|
|
|
if (item.DataFieldName == pi.Name)
|
|
|
{
|
|
|
item.SetValue = pi.GetValue(entity, null);
|
|
|
break;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_MachineCode")
|
|
|
{
|
|
|
item.SetValue = "01";
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
writeDataList.AddRange(item.WriteData());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (writeDataList.Count < 200)
|
|
|
{
|
|
|
int fillNum = 200 - writeDataList.Count;
|
|
|
for (int i = 0; i < fillNum; i++)
|
|
|
{
|
|
|
writeDataList.AddRange(new short[] { 0 });
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 下传数据
|
|
|
|
|
|
object[] buff = new object[writeDataList.Count];
|
|
|
Array.Copy(writeDataList.ToArray(), buff, buff.Length);
|
|
|
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Debug(String.Format("[{0}]开始下传计划信息...", writer.EquipRunName));
|
|
|
if (!BasePlcHelper.Instance.PlcWriteByRunName(writer.EquipRunName, buff))
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_AutoAddPlan_logContent_5")); //HMI添加计划请求成功后:计划列表写入PLC失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
reFlag = true;
|
|
|
}
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Debug(String.Format("[{0}]计划列表信息下传完毕...", writer.EquipRunName));
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
return reFlag;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 待计划数写入PLC
|
|
|
|
|
|
public static void WaitPlanNumToPLC()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
int waitPlanNum = Product.PptPlan.PlanHelper.GetUnExePlanNum();
|
|
|
|
|
|
#region 向PLC写入等待计划数
|
|
|
|
|
|
object[] tempob = new object[1] { 0 };
|
|
|
tempob[0] = waitPlanNum;
|
|
|
bool result = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Scheduled_Num, tempob);
|
|
|
if (!result)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_AutoAddPlan_logContent_8")); //向PLC写入等待计划数失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error("把等待计划数写入PLC异常:" + ex.Message, ex);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 终止计划
|
|
|
|
|
|
/// <summary>
|
|
|
/// 终止计划方法
|
|
|
/// </summary>
|
|
|
/// <param name="planSerial">要终止的计划序号</param>
|
|
|
/// <param name="planCommand">终止命令</param>
|
|
|
/// <param name="planNum">要终止的计划数</param>
|
|
|
/// <param name="unFinishedNum">要终止的计划剩余数</param>
|
|
|
/// <param name="isShowMsg">是否方法内显示消息窗口</param>
|
|
|
/// <param name="msgList">输出的消息列表</param>
|
|
|
/// <returns>成功返回true,失败返回false</returns>
|
|
|
public static bool ExecStop(int planSerial, int planCommand, int planNum, int unFinishedNum, bool isShowMsg, List<string> msgList)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
#region 1 定义变量
|
|
|
|
|
|
List<Int16> writeDataList = new List<Int16>();
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 2 验证处理-配置
|
|
|
|
|
|
List<PlcWriter> writerList = PlcSchemaHelper.Instance.GetPlcWriter("PlanModifyData");
|
|
|
if (writerList == null || writerList.Count == 0)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_ExecStop_logContent_1")); //终止计划数据结构获取失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 3 业务处理
|
|
|
|
|
|
foreach (PlcWriter writer in writerList)
|
|
|
{
|
|
|
writeDataList.Clear();
|
|
|
|
|
|
#region 验证处理
|
|
|
|
|
|
if (writer.EquipRunName != "Plan_To_Plc")
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取PLC品牌名称,处理西门子与其他PLC差异
|
|
|
|
|
|
string equipBrand = Mesnac.Equips.Factory.Instance.GetEquipBrandByRunName(writer.EquipRunName);
|
|
|
writer.EquipBrand = equipBrand;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 整理数据
|
|
|
|
|
|
if (writer.EquipRunName == "Plan_To_Plc")
|
|
|
{
|
|
|
for (int i = 0; i < writer.ThisCount; i++)
|
|
|
{
|
|
|
foreach (PlcWriteItem item in writer.SchemaList)
|
|
|
{
|
|
|
item.ClearData();
|
|
|
item.EquipBrand = equipBrand;
|
|
|
if (item.EquipRunName == "DownLoad_PlanSerial")
|
|
|
{
|
|
|
item.SetValue = planSerial;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_PlanCommand")
|
|
|
{
|
|
|
item.SetValue = planCommand;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_PlanNum")
|
|
|
{
|
|
|
item.SetValue = planNum;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_RealNum")
|
|
|
{
|
|
|
item.SetValue = unFinishedNum;
|
|
|
}
|
|
|
writeDataList.AddRange(item.WriteData());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 下传数据
|
|
|
|
|
|
bool result = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Plan_Status_Com_ShakeHand, new object[] { 1 });
|
|
|
if (!result)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_ExecStop_logContent_3")); //向PLC下传终止计划命令失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
object[] buff = new object[writeDataList.Count];
|
|
|
Array.Copy(writeDataList.ToArray(), buff, buff.Length);
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Debug(String.Format("[{0}]开始下传终止计划信息...", writer.EquipRunName));
|
|
|
if (!BasePlcHelper.Instance.PlcWriteByRunName(writer.EquipRunName, buff))
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_ExecStop_logContent_2")); //终止计划写入PLC失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bool result1 = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Plan_Status_Com_ShakeHand, new object[] { 2 });
|
|
|
if (!result1)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_ExecStop_logContent_4")); //向PLC下传终止计划命令及数据成功后,反馈失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
int readCount = 0;
|
|
|
while (readCount < 5)
|
|
|
{
|
|
|
if (BasePlcHelper.Instance.ChemicalWeighing_Plan_Status_Com_FeedBack.NowValue.ToInt() == 1)
|
|
|
{
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Plan_Status_Com_ShakeHand, new object[] { 0 });
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Plan_Status_Com_FeedBack, new object[] { 0 });
|
|
|
break;
|
|
|
}
|
|
|
readCount++;
|
|
|
Thread.Sleep(200);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Debug(String.Format("[{0}]计划列表信息下传完毕...", writer.EquipRunName));
|
|
|
}
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 4 关闭进度提示
|
|
|
|
|
|
Sys.FrmNotify.Instance.Value = 100;
|
|
|
Sys.FrmNotify.Instance.Destory();
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(ex.Message);
|
|
|
msgList.Add(ex.Message);
|
|
|
return false;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
Sys.FrmNotify.Instance.Destory();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 修改计划数
|
|
|
|
|
|
/// <summary>
|
|
|
/// 修改计划数方法
|
|
|
/// </summary>
|
|
|
/// <param name="planID">要终止的计划编号</param>
|
|
|
/// <param name="newPlanNum">新的计划数</param>
|
|
|
/// <param name="isShowMsg">是否方法内显示消息窗口</param>
|
|
|
/// <param name="msgList">输出的消息列表</param>
|
|
|
/// <returns>成功返回true,失败返回false</returns>
|
|
|
public static bool ExecModifyPlanNum(int planSerial, int planCommand, int newPlanNum, int unFinishedNum, bool isShowMsg, List<string> msgList)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
#region 1 定义变量
|
|
|
|
|
|
List<Int16> writeDataList = new List<Int16>();
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 2 验证处理-配置
|
|
|
|
|
|
List<PlcWriter> writerList = PlcSchemaHelper.Instance.GetPlcWriter("PlanModifyData");
|
|
|
if (writerList == null || writerList.Count == 0)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_ExecModify_logContent_1")); //上位机修改计划数:数据结构获取失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 3 业务处理
|
|
|
|
|
|
foreach (PlcWriter writer in writerList)
|
|
|
{
|
|
|
writeDataList.Clear();
|
|
|
|
|
|
#region 验证处理
|
|
|
|
|
|
if (writer.EquipRunName != "Plan_To_Plc")
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 获取PLC品牌名称,处理西门子与其他PLC差异
|
|
|
|
|
|
string equipBrand = Mesnac.Equips.Factory.Instance.GetEquipBrandByRunName(writer.EquipRunName);
|
|
|
writer.EquipBrand = equipBrand;
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 整理数据
|
|
|
|
|
|
if (writer.EquipRunName == "Plan_To_Plc")
|
|
|
{
|
|
|
for (int i = 0; i < writer.ThisCount; i++)
|
|
|
{
|
|
|
foreach (PlcWriteItem item in writer.SchemaList)
|
|
|
{
|
|
|
item.ClearData();
|
|
|
item.EquipBrand = equipBrand;
|
|
|
if (item.EquipRunName == "DownLoad_PlanSerial")
|
|
|
{
|
|
|
item.SetValue = planSerial;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_PlanCommand")
|
|
|
{
|
|
|
item.SetValue = planCommand;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_PlanNum")
|
|
|
{
|
|
|
item.SetValue = newPlanNum;
|
|
|
}
|
|
|
else if (item.EquipRunName == "DownLoad_RealNum")
|
|
|
{
|
|
|
item.SetValue = unFinishedNum;
|
|
|
}
|
|
|
writeDataList.AddRange(item.WriteData());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 下传数据
|
|
|
|
|
|
object[] buff = new object[writeDataList.Count];
|
|
|
Array.Copy(writeDataList.ToArray(), buff, buff.Length);
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Debug(String.Format("[{0}]开始下传终止计划信息...", writer.EquipRunName));
|
|
|
if (!BasePlcHelper.Instance.PlcWriteByRunName(writer.EquipRunName, buff))
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_ExecModify_logContent_3")); //上位机修改计划数:写入PLC失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bool result1 = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Plan_Status_Com_ShakeHand, new object[] { 2 });
|
|
|
if (!result1)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_Product_PptPlan_ExecModify_logContent_4")); //上位机修改计划数:向PLC下传修改计划数成功后,反馈失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
return false;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
int readCount = 0;
|
|
|
while (readCount < 5)
|
|
|
{
|
|
|
if (BasePlcHelper.Instance.ChemicalWeighing_Plan_Status_Com_FeedBack.NowValue.ToInt() == 1)
|
|
|
{
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Plan_Status_Com_ShakeHand, new object[] { 0 });
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Plan_Status_Com_FeedBack, new object[] { 0 });
|
|
|
break;
|
|
|
}
|
|
|
readCount++;
|
|
|
Thread.Sleep(200);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Debug(String.Format("[{0}]计划列表信息下传完毕...", writer.EquipRunName));
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 5 关闭进度提示
|
|
|
|
|
|
Sys.FrmNotify.Instance.Value = 100;
|
|
|
Sys.FrmNotify.Instance.Destory();
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(ex.Message);
|
|
|
msgList.Add(ex.Message);
|
|
|
return false;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
Sys.FrmNotify.Instance.Destory();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 条码命令处理下传
|
|
|
|
|
|
/// <summary>
|
|
|
/// 条码命令处理下传方法
|
|
|
/// </summary>
|
|
|
/// <param name="codeStr">通过Socket取到的扫码枪条码字符串</param>
|
|
|
/// <returns>成功返回true,失败返回false</returns>
|
|
|
public static bool ScanCodeDown(string codeStr)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
#region 1 条码处理:取出查找物料等相关信息的字符串。
|
|
|
|
|
|
//string useStr = codeStr.Substring(Global.PublicVar.Instance.ScanCodeStrStart, Global.PublicVar.Instance.ScanCodeStrEnd);
|
|
|
string useStr = codeStr;
|
|
|
if (useStr == null || useStr == string.Empty || useStr == "")
|
|
|
{
|
|
|
bool resultHopper_No1 = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Hopper_No_103, new object[] { 0 });
|
|
|
bool resultScanCommand1 = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_ScanCommand, new object[] { 0 });
|
|
|
if (!resultHopper_No1 || !resultScanCommand1)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_ScanCodeDown_Error1")); //没有获取到条码中的有效信息。
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 2 根据从条码中取出的物料名称获取物料代码
|
|
|
|
|
|
string meterialId = Product.PptPlan.PlanHelper.GetPmt_materialID(useStr);
|
|
|
if (meterialId == null || meterialId == string.Empty || meterialId == "")
|
|
|
{
|
|
|
bool resultHopper_No2 = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Hopper_No_103, new object[] { 0 });
|
|
|
bool resultScanCommand2 = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_ScanCommand, new object[] { 0 });
|
|
|
if (!resultHopper_No2 || !resultScanCommand2)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_ScanCodeDown_Error2")); //没有找到对应的物料代码。
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 3 根据物料代码获取对应的料仓号
|
|
|
|
|
|
int binSerial = Product.PptPlan.PlanHelper.GetPmt_BinSerial(meterialId);
|
|
|
if (binSerial == 0)
|
|
|
{
|
|
|
bool resultHopper_No3 = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Hopper_No_103, new object[] { 0 });
|
|
|
bool resultScanCommand3 = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_ScanCommand, new object[] { 0 });
|
|
|
if (!resultHopper_No3 || !resultScanCommand3)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_ScanCodeDown_Error3")); //没有找到对应的料仓号。
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 4 下传料仓号和命令(失败反馈)
|
|
|
|
|
|
bool resultHopper_No4 = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Hopper_No_103, new object[] { binSerial });
|
|
|
bool resultScanCommand4 = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_ScanCommand, new object[] { 1 });
|
|
|
bool resultFromPlc = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_Open_door_Command_ShakeHand, new object[] { 2 });
|
|
|
|
|
|
if (!resultHopper_No4 || !resultScanCommand4 || !resultFromPlc)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_ScanCodeDown_Error4")); //料仓号获取成功,下传时失败。
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 将扫码信息写入数据库报表
|
|
|
|
|
|
LR_BarcodeLog lR_BarcodeLog = new LR_BarcodeLog();
|
|
|
lR_BarcodeLog.Equip_Code = ConfigurationManager.AppSettings["EquipCode"];
|
|
|
lR_BarcodeLog.Scan_Time = DateTime.Now.ToString();
|
|
|
lR_BarcodeLog.Scan_Bar = useStr;
|
|
|
lR_BarcodeLog.Material = Product.PptPlan.PlanHelper.GetPmt_material(meterialId).Material_name;
|
|
|
lR_BarcodeLog.Bin = binSerial;
|
|
|
lR_BarcodeLog.Scan_State = 1;
|
|
|
Report.ReportHelper.InsertLR_BarcodeLog(lR_BarcodeLog);
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(ex.Message);
|
|
|
return false;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
Sys.FrmNotify.Instance.Destory();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 更新物料名称
|
|
|
|
|
|
/// <summary>
|
|
|
/// 更新物料名称
|
|
|
/// </summary>
|
|
|
public static void UpdateMaterialNameToPlc()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
bool flag = false;
|
|
|
|
|
|
#region 更新物料名称及物料代码
|
|
|
|
|
|
if (BasePlcHelper.Instance.ChemicalWeighing_PLC_LoadingConfig.NowValue.ToInt() == 1 && BasePlcHelper.Instance.ChemicalWeighing_PC_LoadingConfig.NowValue.ToInt() == 0)
|
|
|
{
|
|
|
#region 下传物料名称
|
|
|
|
|
|
List<Pmt_Bin> pmt_Bins = Product.PptPlan.PlanHelper.GetAllPmt_Bin();
|
|
|
|
|
|
for (int i = 1; i <= 20; i++)
|
|
|
{
|
|
|
bool findFlag = false;
|
|
|
DataKeyValue ChemicalWeighing_MaterName = new DataKeyValue("MaterName_Bin" + Mesnac.Basic.DataProcessor.FillZero(i.ToString(), 2));
|
|
|
DataKeyValue ChemicalWeighing_MaterCode = new DataKeyValue("MaterCode_Bin" + Mesnac.Basic.DataProcessor.FillZero(i.ToString(), 2));
|
|
|
if (pmt_Bins != null && pmt_Bins.Count > 0)
|
|
|
{
|
|
|
for (int j = 0; j < pmt_Bins.Count; j++)
|
|
|
{
|
|
|
Pmt_material pmt_Material = Product.PptPlan.PlanHelper.GetPmt_material(pmt_Bins[j].Material_ID);
|
|
|
string binStr = null;
|
|
|
if (pmt_Bins[j] != null && pmt_Bins[j].Bin_Serial != null && pmt_Material != null && pmt_Material.Material_name != null)
|
|
|
{
|
|
|
binStr = Mesnac.Basic.DataProcessor.FillZero(pmt_Bins[j].Bin_Serial.ToString(), 2);
|
|
|
if (ChemicalWeighing_MaterName.EquipRunName.Contains(binStr))
|
|
|
{
|
|
|
object[] oblist = Mesnac.Basic.DataProcessor.ToPLCDataArray(pmt_Material.Material_name);
|
|
|
object[] oblistCode = Mesnac.Basic.DataProcessor.ToPLCDataArray(pmt_Material.Material_code);
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(ChemicalWeighing_MaterName, FullObj(oblist));
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(ChemicalWeighing_MaterCode, FullObj(oblistCode));
|
|
|
findFlag = true;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (findFlag == false)
|
|
|
{
|
|
|
object[] oblist = new object[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
|
|
|
object[] oblistCode = new object[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(ChemicalWeighing_MaterName, oblist);
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(ChemicalWeighing_MaterCode, oblistCode);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
flag = true;
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 触发事件
|
|
|
|
|
|
if (flag)
|
|
|
{
|
|
|
#region 下传请求信号
|
|
|
|
|
|
bool result = BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_PC_LoadingConfig, new object[] { 1 });
|
|
|
if (!result)
|
|
|
{
|
|
|
string msg = StringParser.Parse(ResourceService.GetString("Mesnac_Action_ChemicalWeighing_ChemicalWeighingPlc_PlcPlanHelper_Mix_msg60")); //小料物料名称向PLC下传反馈信号失败!
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error(msg);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error("把PLC的计划状态更新至数据库异常:" + ex.Message, ex);
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
Global.PublicVar.Instance.LocalPlanIsRefresh = false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 修改PCOnlin心跳信号
|
|
|
|
|
|
public static void HeartBeatChange()
|
|
|
{
|
|
|
if (BasePlcHelper.Instance.ChemicalWeighing_PLC_Online_Flag.NowValue.ToInt() != 0)
|
|
|
{
|
|
|
if (BasePlcHelper.Instance.ChemicalWeighing_PC_Online.NowValue.ToInt() == 1)
|
|
|
{
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_PC_Online, new object[] { 0 });
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.ChemicalWeighing_PC_Online, new object[] { 1 });
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 自动修改班次
|
|
|
|
|
|
public static void shiftIDAutoChange()
|
|
|
{
|
|
|
Global.PublicVar.Instance.globalShiftID = Product.ProductHelper.shiftIDAtuoRefresh();
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
public static object[] FullObj(object[] ob)
|
|
|
{
|
|
|
object[] reOb = ob;
|
|
|
|
|
|
if (reOb.Count() < 20)
|
|
|
{
|
|
|
for (int z = reOb.Count(); z < 20; z++)
|
|
|
{
|
|
|
object[] tempo = new object[1] { 0 };
|
|
|
reOb = reOb.Concat(tempo).ToArray();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return reOb;
|
|
|
}
|
|
|
|
|
|
#region 溶剂配方
|
|
|
|
|
|
#region 溶剂下发任务到PLC——1号地磅 2023-06-17
|
|
|
/// <summary>
|
|
|
/// 溶剂下发任务到PLC
|
|
|
/// </summary>
|
|
|
/// <param name="materialList"></param>
|
|
|
/// <returns></returns>
|
|
|
public static bool DownloadPlanDataToWeighbridge1Plc(List<MetagePlan> materialList)
|
|
|
{
|
|
|
int i = 1;
|
|
|
foreach (var item in materialList)
|
|
|
{
|
|
|
int weight = 0;
|
|
|
if (item.IsRate == 1)
|
|
|
{
|
|
|
decimal sw = item.Set_Weight * 10;
|
|
|
decimal tr = item.TheoryRate / 100;
|
|
|
weight = Convert.ToInt32(sw * tr);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
weight = Convert.ToInt32(item.Set_Weight * 10);
|
|
|
}
|
|
|
|
|
|
#region 写入PLC
|
|
|
SiemensS7Net plc = PlcConnect.Instance;
|
|
|
switch (i)
|
|
|
{
|
|
|
case 1:
|
|
|
plc.Write("DB110.DBW30", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW32", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW34", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep0_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep0_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep0_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 2:
|
|
|
plc.Write("DB110.DBW36", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW38", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW40", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep1_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep1_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep1_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 3:
|
|
|
plc.Write("DB110.DBW42", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW44", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW46", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep2_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep2_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep2_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 4:
|
|
|
plc.Write("DB110.DBW48", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW50", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW52", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep3_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep3_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep3_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 5:
|
|
|
plc.Write("DB110.DBW54", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW56", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW58", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep4_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep4_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep4_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 6:
|
|
|
plc.Write("DB110.DBW60", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW62", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW64", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep5_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep5_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep5_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 7:
|
|
|
plc.Write("DB110.DBW66", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW68", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW70", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep6_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep6_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep6_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 8:
|
|
|
plc.Write("DB110.DBW72", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW74", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW76", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep7_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep7_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep7_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 9:
|
|
|
plc.Write("DB110.DBW78", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW80", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW82", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep8_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep8_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep8_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 10:
|
|
|
plc.Write("DB110.DBW84", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW86", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW88", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep9_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep9_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep9_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 11:
|
|
|
plc.Write("DB110.DBW90", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW92", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW94", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep10_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep10_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep10_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 12:
|
|
|
plc.Write("DB110.DBW96", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW98", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW100", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep11_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep11_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep11_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 13:
|
|
|
plc.Write("DB110.DBW102", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW104", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW106", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep12_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep12_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep12_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 14:
|
|
|
plc.Write("DB110.DBW108", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW110", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW112", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep13_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep13_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep13_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 15:
|
|
|
plc.Write("DB110.DBW114", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW116", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW118", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep14_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep14_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep14_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 16:
|
|
|
plc.Write("DB110.DBW120", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW122", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW124", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep15_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep15_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep15_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 17:
|
|
|
plc.Write("DB110.DBW126", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW128", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW130", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep16_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep16_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep16_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 18:
|
|
|
plc.Write("DB110.DBW132", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW134", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW136", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep17_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep17_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep17_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 19:
|
|
|
plc.Write("DB110.DBW138", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW140", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW142", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep18_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep18_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep18_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 20:
|
|
|
plc.Write("DB110.DBW144", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW146", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW148", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep19_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep19_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep19_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 21:
|
|
|
plc.Write("DB110.DBW150", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW152", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW154", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep20_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep20_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep20_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 22:
|
|
|
plc.Write("DB110.DBW156", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW158", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW160", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep21_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep21_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep21_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 23:
|
|
|
plc.Write("DB110.DBW162", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW164", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW166", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep22_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep22_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep22_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 24:
|
|
|
plc.Write("DB110.DBW168", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW170", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW172", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep23_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep23_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep23_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 25:
|
|
|
plc.Write("DB110.DBW174", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW176", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW178", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep24_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep24_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep24_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 26:
|
|
|
plc.Write("DB110.DBW180", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW182", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW184", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep25_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep25_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep25_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 27:
|
|
|
plc.Write("DB110.DBW186", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW188", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW190", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep26_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep26_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep26_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 28:
|
|
|
plc.Write("DB110.DBW192", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW194", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW196", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep27_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep27_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep27_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 29:
|
|
|
plc.Write("DB110.DBW198", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW200", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW202", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep28_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep28_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep28_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 30:
|
|
|
plc.Write("DB110.DBW204", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW206", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW208", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep29_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep29_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep29_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 31:
|
|
|
plc.Write("DB110.DBW210", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW212", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW214", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep30_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep30_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep30_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 32:
|
|
|
plc.Write("DB110.DBW216", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW218", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW220", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep31_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep31_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep31_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 33:
|
|
|
plc.Write("DB110.DBW222", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW224", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW226", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep32_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep32_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep32_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 34:
|
|
|
plc.Write("DB110.DBW228", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW230", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW232", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep33_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep33_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep33_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 35:
|
|
|
plc.Write("DB110.DBW234", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW236", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW238", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep34_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep34_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep34_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 36:
|
|
|
plc.Write("DB110.DBW240", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW242", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW244", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep35_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep35_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep35_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 37:
|
|
|
plc.Write("DB110.DBW246", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW248", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW250", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep36_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep36_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep36_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 38:
|
|
|
plc.Write("DB110.DBW252", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW254", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW256", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep37_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep37_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep37_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 39:
|
|
|
plc.Write("DB110.DBW258", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW260", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW262", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep38_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep38_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep38_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 40:
|
|
|
plc.Write("DB110.DBW264", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW266", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW268", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep39_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep39_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep39_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 41:
|
|
|
plc.Write("DB110.DBW270", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW272", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW274", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep40_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep40_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep40_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 42:
|
|
|
plc.Write("DB110.DBW276", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW278", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW280", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep41_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep41_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep41_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 43:
|
|
|
plc.Write("DB110.DBW282", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW284", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW286", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep42_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep42_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep42_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 44:
|
|
|
plc.Write("DB110.DBW288", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW290", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW292", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep43_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep43_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep43_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 45:
|
|
|
plc.Write("DB110.DBW294", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW296", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW298", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep44_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep44_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep44_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 46:
|
|
|
plc.Write("DB110.DBW300", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW302", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW304", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep45_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep45_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep45_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 47:
|
|
|
plc.Write("DB110.DBW306", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW308", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW310", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep46_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep46_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep46_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 48:
|
|
|
plc.Write("DB110.DBW312", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW314", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW316", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep47_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep47_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep47_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 49:
|
|
|
plc.Write("DB110.DBW318", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW320", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW322", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep48_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep48_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep48_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 50:
|
|
|
plc.Write("DB110.DBW324", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB110.DBW326", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB110.DBW328", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep49_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep49_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep49_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
i++;
|
|
|
}
|
|
|
var f = materialList.FirstOrDefault();
|
|
|
if (f != null)
|
|
|
{
|
|
|
SiemensS7Net plc = PlcConnect.Instance;
|
|
|
plc.Write("DB110.DBW20", short.Parse(f.Plan_Serial.ToString()));
|
|
|
plc.Write("DB110.DBW22", short.Parse(f.Plan_Num.ToString()));
|
|
|
int y =Convert.ToInt32(f.Total_Weight * 10);
|
|
|
plc.Write("DB110.DBW24", short.Parse(y.ToString()));
|
|
|
plc.Write("DB110.DBW26", short.Parse("1"));
|
|
|
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_RecipeNo, new object[] { f.Plan_Serial });//配方编码
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_reqSerial, new object[] { f.Plan_Num }); // 设定批次
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_Total, new object[] { f.Total_Weight * 10 }); // 总重
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_startScale, new object[] { 1 }); // 启动称量
|
|
|
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 溶剂下发任务到PLC——2号地磅 2023-06-17
|
|
|
/// <summary>
|
|
|
/// 溶剂下发任务到PLC
|
|
|
/// </summary>
|
|
|
/// <param name="materialList"></param>
|
|
|
/// <returns></returns>
|
|
|
public static bool DownloadPlanDataToWeighbridge2Plc(List<MetagePlan> materialList)
|
|
|
{
|
|
|
int i = 1;
|
|
|
foreach (var item in materialList)
|
|
|
{
|
|
|
int weight = 0;
|
|
|
if (item.IsRate == 1)
|
|
|
{
|
|
|
decimal sw = item.Set_Weight * 10;
|
|
|
decimal tr = item.TheoryRate / 100;
|
|
|
weight = Convert.ToInt32(sw * tr);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
weight = Convert.ToInt32(item.Set_Weight * 10);
|
|
|
}
|
|
|
|
|
|
#region 写入PLC
|
|
|
SiemensS7Net plc = PlcConnect.Instance;
|
|
|
switch (i)
|
|
|
{
|
|
|
case 1:
|
|
|
plc.Write("DB111.DBW30", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW32", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW34", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep0_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep0_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep0_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 2:
|
|
|
plc.Write("DB111.DBW36", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW38", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW40", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep1_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep1_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep1_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 3:
|
|
|
plc.Write("DB111.DBW42", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW44", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW46", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep2_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep2_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep2_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 4:
|
|
|
plc.Write("DB111.DBW48", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW50", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW52", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep3_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep3_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep3_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 5:
|
|
|
plc.Write("DB111.DBW54", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW56", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW58", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep4_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep4_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep4_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 6:
|
|
|
plc.Write("DB111.DBW60", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW62", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW64", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep5_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep5_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep5_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 7:
|
|
|
plc.Write("DB111.DBW66", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW68", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW70", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep6_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep6_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep6_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 8:
|
|
|
plc.Write("DB111.DBW72", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW74", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW76", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep7_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep7_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep7_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 9:
|
|
|
plc.Write("DB111.DBW78", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW80", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW82", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep8_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep8_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep8_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 10:
|
|
|
plc.Write("DB111.DBW84", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW86", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW88", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep9_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep9_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep9_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 11:
|
|
|
plc.Write("DB111.DBW90", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW92", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW94", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep10_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep10_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep10_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 12:
|
|
|
plc.Write("DB111.DBW96", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW98", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW100", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep11_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep11_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep11_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 13:
|
|
|
plc.Write("DB111.DBW102", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW104", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW106", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep12_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep12_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep12_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 14:
|
|
|
plc.Write("DB111.DBW108", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW110", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW112", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep13_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep13_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep13_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 15:
|
|
|
plc.Write("DB111.DBW114", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW116", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW118", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep14_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep14_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep14_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 16:
|
|
|
plc.Write("DB111.DBW120", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW122", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW124", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep15_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep15_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep15_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 17:
|
|
|
plc.Write("DB111.DBW126", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW128", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW130", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep16_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep16_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep16_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 18:
|
|
|
plc.Write("DB111.DBW132", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW134", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW136", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep17_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep17_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep17_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 19:
|
|
|
plc.Write("DB111.DBW138", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW140", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW142", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep18_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep18_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep18_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 20:
|
|
|
plc.Write("DB111.DBW144", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW146", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW148", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep19_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep19_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep19_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 21:
|
|
|
plc.Write("DB111.DBW150", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW152", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW154", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep20_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep20_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep20_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 22:
|
|
|
plc.Write("DB111.DBW156", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW158", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW160", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep21_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep21_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep21_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 23:
|
|
|
plc.Write("DB111.DBW162", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW164", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW166", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep22_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep22_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep22_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 24:
|
|
|
plc.Write("DB111.DBW168", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW170", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW172", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep23_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep23_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep23_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 25:
|
|
|
plc.Write("DB111.DBW174", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW176", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW178", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep24_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep24_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep24_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 26:
|
|
|
plc.Write("DB111.DBW180", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW182", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW184", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep25_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep25_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep25_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 27:
|
|
|
plc.Write("DB111.DBW186", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW188", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW190", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep26_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep26_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep26_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 28:
|
|
|
plc.Write("DB111.DBW192", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW194", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW196", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep27_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep27_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep27_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 29:
|
|
|
plc.Write("DB111.DBW198", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW200", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW202", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep28_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep28_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep28_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 30:
|
|
|
plc.Write("DB111.DBW204", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW206", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW208", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep29_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep29_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep29_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 31:
|
|
|
plc.Write("DB111.DBW210", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW212", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW214", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep30_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep30_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep30_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 32:
|
|
|
plc.Write("DB111.DBW216", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW218", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW220", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep31_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep31_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep31_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 33:
|
|
|
plc.Write("DB111.DBW222", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW224", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW226", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep32_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep32_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep32_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 34:
|
|
|
plc.Write("DB111.DBW228", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW230", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW232", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep33_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep33_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep33_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 35:
|
|
|
plc.Write("DB111.DBW234", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW236", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW238", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep34_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep34_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep34_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 36:
|
|
|
plc.Write("DB111.DBW240", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW242", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW244", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep35_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep35_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep35_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 37:
|
|
|
plc.Write("DB111.DBW246", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW248", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW250", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep36_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep36_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep36_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 38:
|
|
|
plc.Write("DB111.DBW252", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW254", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW256", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep37_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep37_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep37_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 39:
|
|
|
plc.Write("DB111.DBW258", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW260", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW262", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep38_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep38_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep38_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 40:
|
|
|
plc.Write("DB111.DBW264", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW266", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW268", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep39_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep39_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep39_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 41:
|
|
|
plc.Write("DB111.DBW270", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW272", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW274", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep40_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep40_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep40_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 42:
|
|
|
plc.Write("DB111.DBW276", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW278", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW280", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep41_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep41_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep41_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 43:
|
|
|
plc.Write("DB111.DBW282", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW284", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW286", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep42_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep42_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep42_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 44:
|
|
|
plc.Write("DB111.DBW288", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW290", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW292", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep43_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep43_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep43_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 45:
|
|
|
plc.Write("DB111.DBW294", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW296", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW298", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep44_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep44_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep44_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 46:
|
|
|
plc.Write("DB111.DBW300", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW302", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW304", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep45_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep45_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep45_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 47:
|
|
|
plc.Write("DB111.DBW306", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW308", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW310", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep46_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep46_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep46_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 48:
|
|
|
plc.Write("DB111.DBW312", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW314", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW316", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep47_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep47_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep47_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 49:
|
|
|
plc.Write("DB111.DBW318", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW320", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW322", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep48_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep48_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep48_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
case 50:
|
|
|
plc.Write("DB111.DBW324", short.Parse(item.MID.ToString()));
|
|
|
plc.Write("DB111.DBW326", short.Parse(weight.ToString()));
|
|
|
plc.Write("DB111.DBW328", Convert.ToInt16(item.Set_Error * 10));
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep49_MatCode_1, new object[] { item.MID }); // 物料名称
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep49_Set_1, new object[] { weight }); // 设定重量
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_DosStep49_Tolance_1, new object[] { Convert.ToInt32(item.Set_Error * 10) });//设定公差1
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
i++;
|
|
|
}
|
|
|
var f = materialList.FirstOrDefault();
|
|
|
if (f != null)
|
|
|
{
|
|
|
SiemensS7Net plc = PlcConnect.Instance;
|
|
|
int total_Weight = Convert.ToInt16(f.Total_Weight * 10);
|
|
|
plc.Write("DB111.DBW20", short.Parse(f.Plan_Serial.ToString()));
|
|
|
plc.Write("DB111.DBW22", short.Parse(f.Plan_Num.ToString()));
|
|
|
plc.Write("DB111.DBW24", short.Parse(total_Weight.ToString()));
|
|
|
plc.Write("DB111.DBW26", short.Parse("1"));
|
|
|
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_RecipeNo, new object[] { f.Plan_Serial });//配方编码
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_reqSerial, new object[] { f.Plan_Num }); // 设定批次
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_Total, new object[] { f.Total_Weight * 10 }); // 总重
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_startScale, new object[] { 1 }); // 启动称量
|
|
|
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
#endregion
|
|
|
/// <summary>
|
|
|
/// 更新溶剂状态
|
|
|
/// </summary>
|
|
|
public static void UpdateWeighbridge1PlanData()
|
|
|
{
|
|
|
//状态1,存盘信号
|
|
|
int status = BasePlcHelper.Instance.solvent_reportReady.NowValue.ToInt();
|
|
|
if (status == 1)
|
|
|
{
|
|
|
ReadMaterData1();
|
|
|
}
|
|
|
// return await Task.FromResult(0);
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 更新溶剂状态
|
|
|
/// </summary>
|
|
|
public static void UpdateWeighbridge2PlanData()
|
|
|
{
|
|
|
//状态1,存盘信号
|
|
|
int status = BasePlcHelper.Instance.solvent2_reportReady.NowValue.ToInt();
|
|
|
if (status == 1)
|
|
|
{
|
|
|
ReadMaterData2();
|
|
|
}
|
|
|
}
|
|
|
#region 把PLC的计划状态更新至数据库
|
|
|
|
|
|
/// <summary>
|
|
|
/// 把PLC的计划状态更新至数据库
|
|
|
/// </summary>
|
|
|
public static void UpdateRjPlanStateFromPlc()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
bool flag = false;
|
|
|
|
|
|
#region 小料同步计划状态和完成数
|
|
|
|
|
|
#region 触发事件
|
|
|
flag = true;
|
|
|
if (flag)
|
|
|
{
|
|
|
IFreeSql _fsql = DBHelper.FreeHelper.Instance;
|
|
|
string sql = "select * FROM RT_plan where datediff(day, CreateTime,getdate())=0 or Plan_State=5 order by Plan_State asc";
|
|
|
var obj = _fsql.Select<RT_plan>(sql).ToList();
|
|
|
if (obj.Count() != execNum)
|
|
|
{
|
|
|
if (OnUpdateRjPlanStateFromPlc != null)
|
|
|
{
|
|
|
OnUpdateRjPlanStateFromPlc(sender, System.EventArgs.Empty);
|
|
|
}
|
|
|
execNum = obj.Count();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<PlcPlanHelper>.Error("把PLC的计划状态更新至数据库异常:" + ex.Message, ex);
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
Global.PublicVar.Instance.LocalPlanIsRefresh = false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
/// <summary>
|
|
|
/// 1号地磅
|
|
|
/// </summary>
|
|
|
/// <param name="serial"></param>
|
|
|
public static void ReadMaterData1()
|
|
|
{
|
|
|
string RMatCode = string.Empty;
|
|
|
decimal RActWeight = 0M;
|
|
|
decimal RActTol = 0M;
|
|
|
decimal RRate = 0M;
|
|
|
decimal RPureWeight = 0M;
|
|
|
decimal XTotalWeigh = 0M;
|
|
|
decimal XTotalError = 0M;
|
|
|
|
|
|
try
|
|
|
{
|
|
|
var list = Product.PptPlan.PlanHelper.GetPlan();
|
|
|
if (list.Count == 0) return;
|
|
|
|
|
|
int reqSerial = BasePlcHelper.Instance.solvent_reqSerial.NowValue.ToInt();//计划批次
|
|
|
int batch = BasePlcHelper.Instance.solvent_finishedNum.NowValue.ToInt();//完成数量
|
|
|
for (int i = 1; i <= 25; i++)
|
|
|
{
|
|
|
#region 读取
|
|
|
switch (i)
|
|
|
{
|
|
|
case 1:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData0_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData0_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData0_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData0_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData0_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 2:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData1_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData1_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData1_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData1_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData1_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 3:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData2_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData2_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData2_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData2_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData2_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 4:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData3_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData3_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData3_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData3_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData3_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 5:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData4_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData4_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData4_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData4_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData4_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 6:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData5_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData5_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData5_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData5_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData5_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 7:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData6_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData6_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData6_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData6_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData6_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 8:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData7_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData7_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData7_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData7_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData7_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 9:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData8_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData8_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData8_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData8_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData8_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 10:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData9_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData9_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData9_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData9_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData9_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 11:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData10_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData10_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData10_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData10_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData10_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 12:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData11_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData11_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData11_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData11_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData11_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 13:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData12_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData12_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData12_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData12_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData12_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 14:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData13_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData13_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData13_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData13_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData13_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 15:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData14_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData14_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData14_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData14_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData14_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 16:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData15_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData15_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData16_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData15_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData15_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 17:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData16_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData16_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData16_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData16_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData16_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 18:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData17_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData17_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData17_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData17_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData17_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 19:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData18_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData18_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData18_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData18_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData18_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 20:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData19_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData19_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData19_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData19_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData19_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 21:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData20_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData20_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData20_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData20_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData20_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 22:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData21_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData21_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData21_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData21_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData21_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 23:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData22_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData22_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData22_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData22_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData22_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 24:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData23_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData23_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData23_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData23_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData23_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 25:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData24_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData24_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData24_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData24_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData24_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 26:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData25_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData25_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData25_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData25_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData25_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 27:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData26_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData26_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData26_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData26_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData26_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 28:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData27_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData27_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData27_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData27_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData27_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 29:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData28_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData28_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData28_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData28_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData28_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 30:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData29_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData29_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData29_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData29_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData29_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 31:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData30_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData30_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData30_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData30_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData30_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 32:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData31_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData31_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData31_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData31_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData31_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 33:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData32_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData32_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData32_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData32_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData32_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 34:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData33_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData33_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData33_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData33_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData33_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 35:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData34_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData34_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData34_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData34_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData34_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 36:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData35_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData35_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData35_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData35_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData35_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 37:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData36_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData36_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData36_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData36_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData36_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 38:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData37_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData37_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData37_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData37_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData37_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 39:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData38_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData38_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData38_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData38_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData38_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 40:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData39_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData39_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData39_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData39_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData39_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 41:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData40_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData40_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData40_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData40_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData40_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 42:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData41_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData41_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData41_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData41_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData41_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 43:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData42_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData42_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData42_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData42_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData42_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 44:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData43_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData43_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData43_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData43_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData43_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 45:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData44_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData44_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData44_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData44_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData44_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 46:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData45_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData45_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData45_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData45_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData45_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 47:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData46_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData46_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData46_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData46_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData46_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 48:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData47_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData47_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData47_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData47_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData47_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 49:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData48_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData48_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData48_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData48_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData48_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 50:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData49_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData49_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData49_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData49_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData49_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 51:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData50_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData50_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData50_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData50_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData50_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 52:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData51_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData51_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData51_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData51_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData51_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 53:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData52_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData52_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData52_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData52_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData52_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 54:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData53_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData53_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData53_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData53_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData53_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 55:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData54_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData54_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData54_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData54_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData54_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 56:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData55_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData55_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData55_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData55_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData55_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 57:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData56_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData56_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData56_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData56_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData56_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 58:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData57_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData57_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData57_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData57_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData57_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 59:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData58_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData58_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData58_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData58_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData58_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 60:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData59_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData59_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData59_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData59_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData59_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 61:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData60_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData60_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData60_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData60_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData60_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 62:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData61_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData61_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData61_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData61_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData61_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 63:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData62_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData62_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData62_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData62_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData62_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 64:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData63_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData63_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData63_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData63_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData63_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 65:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData64_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData64_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData64_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData64_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData64_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 66:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData65_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData65_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData65_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData65_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData65_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 67:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData66_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData66_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData66_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData66_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData66_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 68:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData67_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData67_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData67_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData67_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData67_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 69:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData68_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData68_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData68_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData68_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData68_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 70:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData69_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData69_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData69_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData69_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData69_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 71:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData70_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData70_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData70_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData70_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData70_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 72:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData71_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData71_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData71_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData71_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData71_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 73:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData72_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData72_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData72_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData72_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData72_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 74:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData73_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData73_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData73_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData73_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData73_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 75:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData74_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData74_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData74_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData74_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData74_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 76:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData75_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData75_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData75_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData75_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData75_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 77:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData76_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData76_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData76_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData76_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData76_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 78:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData77_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData77_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData77_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData77_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData77_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 79:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData78_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData78_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData78_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData78_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData78_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 80:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData79_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData79_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData79_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData79_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData79_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 81:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData80_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData80_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData80_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData80_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData80_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 82:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData81_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData81_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData81_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData81_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData81_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 83:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData82_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData82_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData82_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData82_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData82_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 84:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData83_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData83_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData83_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData83_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData83_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 85:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData84_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData84_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData84_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData84_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData84_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 86:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData85_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData85_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData85_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData85_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData85_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 87:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData86_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData86_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData86_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData86_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData86_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 88:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData87_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData87_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData87_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData87_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData87_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 89:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData88_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData88_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData88_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData88_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData88_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 90:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData89_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData89_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData89_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData89_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData89_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 91:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData90_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData90_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData90_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData90_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData90_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 92:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData91_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData91_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData91_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData91_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData91_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 93:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData92_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData92_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData92_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData92_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData92_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 94:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData93_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData93_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData93_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData93_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData93_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 95:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData94_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData94_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData94_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData94_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData94_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 96:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData95_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData95_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData95_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData95_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData95_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 97:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData96_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData96_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData96_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData96_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData96_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 98:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData97_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData97_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData97_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData97_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData97_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 99:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData98_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData98_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData98_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData98_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData98_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 100:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent_SaveData99_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData99_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData99_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData99_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent_SaveData99_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
if (RActWeight == 0) continue;
|
|
|
XTotalWeigh = XTotalWeigh + RActWeight;
|
|
|
XTotalError = XTotalError + RActTol;
|
|
|
int materialNo = BasePlcHelper.Instance.solvent_materialNo.NowValue.ToInt();//完成数量
|
|
|
var plan = list.FirstOrDefault(d => d.MID == materialNo);
|
|
|
if (plan == null)
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
decimal drate = Convert.ToDecimal(RRate / 10);
|
|
|
decimal rPureWeight = Convert.ToDecimal(RPureWeight);
|
|
|
SaveToHwPlan(plan, batch, i.ToString(), RActWeight, RActTol, drate, rPureWeight);
|
|
|
}
|
|
|
|
|
|
var rtplan = list.FirstOrDefault();
|
|
|
var finishedNum = BasePlcHelper.Instance.solvent_finishedNum.NowValue.ToInt();
|
|
|
decimal totalWeight = rtplan.Plan_TotalWeight + XTotalWeigh;
|
|
|
decimal totalError = rtplan.Plan_TotalError + RActTol;
|
|
|
//更新计划完成状态
|
|
|
if (finishedNum == rtplan.Plan_Num)
|
|
|
{
|
|
|
bool result = SolventPlanHelper.UpdatePlan(rtplan.Plan_Id, BasePlcHelper.Instance.solvent_finishedNum.NowValue.ToInt(), 8, totalWeight, totalError);
|
|
|
if (result)
|
|
|
{
|
|
|
//完成后写入清空信号
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_status, new object[] { 1 });//存盘以后置为1 需要加料
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_reportReady, new object[] { 0 });
|
|
|
|
|
|
if (OnUpdateRjPlanStateFromPlc != null)
|
|
|
{
|
|
|
OnUpdateRjPlanStateFromPlc(sender, System.EventArgs.Empty);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bool result = SolventPlanHelper.UpdateRealNum(rtplan.Plan_Id, BasePlcHelper.Instance.solvent_finishedNum.NowValue.ToInt(), totalWeight, totalError);
|
|
|
if (result)
|
|
|
{
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_reportReady, new object[] { 0 });
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
MessageBox.Show($"发生异常,请联系系统管理员!异常原因:{ex.Message}");
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
GC.Collect();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 2号地磅
|
|
|
/// </summary>
|
|
|
/// <param name="serial"></param>
|
|
|
public static void ReadMaterData2()
|
|
|
{
|
|
|
string RMatCode = string.Empty;
|
|
|
decimal RActWeight = 0M;
|
|
|
decimal RActTol = 0M;
|
|
|
decimal RRate = 0M;
|
|
|
decimal RPureWeight = 0M;
|
|
|
decimal XTotalWeigh = 0M;
|
|
|
decimal XTotalError = 0M;
|
|
|
|
|
|
var list = Product.PptPlan.PlanHelper.GetPlan2();
|
|
|
if (list.Count == 0) return;
|
|
|
|
|
|
int reqSerial = BasePlcHelper.Instance.solvent2_reqSerial.NowValue.ToInt();//计划批次
|
|
|
int batch = BasePlcHelper.Instance.solvent2_finishedNum.NowValue.ToInt();//完成批次
|
|
|
for (int i = 1; i <= 100; i++)
|
|
|
{
|
|
|
#region 读取
|
|
|
switch (i)
|
|
|
{
|
|
|
case 1:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData0_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData0_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData0_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData0_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData0_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 2:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData1_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData1_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData1_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData1_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData1_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 3:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData2_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData2_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData2_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData2_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData2_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 4:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData3_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData3_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData3_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData3_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData3_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 5:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData4_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData4_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData4_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData4_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData4_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 6:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData5_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData5_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData5_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData5_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData5_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 7:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData6_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData6_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData6_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData6_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData6_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 8:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData7_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData7_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData7_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData7_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData7_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 9:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData8_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData8_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData8_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData8_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData8_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 10:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData9_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData9_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData9_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData9_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData9_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 11:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData10_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData10_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData10_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData10_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData10_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 12:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData11_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData11_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData11_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData11_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData11_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 13:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData12_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData12_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData12_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData12_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData12_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 14:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData13_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData13_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData13_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData13_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData13_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 15:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData14_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData14_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData14_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData14_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData14_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 16:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData15_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData15_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData16_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData15_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData15_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 17:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData16_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData16_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData16_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData16_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData16_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 18:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData17_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData17_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData17_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData17_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData17_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 19:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData18_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData18_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData18_RActTol_1.NowValue.ToInt()) / 10;
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData18_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData18_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 20:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData19_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData19_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData19_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData19_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData19_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 21:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData20_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData20_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData20_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData20_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData20_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 22:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData21_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData21_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData21_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData21_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData21_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 23:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData22_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData22_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData22_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData22_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData22_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 24:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData23_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData23_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData23_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData23_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData23_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 25:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData24_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData24_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData24_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData24_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData24_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 26:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData25_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData25_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData25_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData25_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData25_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 27:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData26_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData26_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData26_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData26_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData26_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 28:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData27_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData27_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData27_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData27_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData27_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 29:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData28_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData28_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData28_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData28_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData28_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 30:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData29_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData29_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData29_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData29_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData29_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 31:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData30_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData30_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData30_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData30_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData30_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 32:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData31_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData31_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData31_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData31_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData31_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 33:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData32_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData32_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData32_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData32_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData32_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 34:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData33_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData33_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData33_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData33_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData33_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 35:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData34_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData34_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData34_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData34_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData34_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 36:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData35_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData35_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData35_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData35_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData35_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 37:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData36_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData36_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData36_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData36_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData36_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 38:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData37_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData37_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData37_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData37_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData37_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 39:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData38_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData38_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData38_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData38_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData38_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 40:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData39_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData39_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData39_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData39_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData39_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 41:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData40_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData40_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData40_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData40_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData40_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 42:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData41_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData41_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData41_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData41_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData41_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 43:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData42_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData42_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData42_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData42_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData42_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 44:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData43_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData43_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData43_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData43_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData43_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 45:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData44_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData44_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData44_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData44_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData44_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 46:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData45_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData45_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData45_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData45_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData45_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 47:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData46_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData46_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData46_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData46_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData46_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 48:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData47_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData47_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData47_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData47_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData47_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 49:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData48_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData48_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData48_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData48_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData48_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 50:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData49_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData49_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData49_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData49_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData49_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 51:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData50_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData50_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData50_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData50_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData50_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 52:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData51_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData51_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData51_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData51_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData51_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 53:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData52_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData52_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData52_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData52_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData52_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 54:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData53_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData53_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData53_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData53_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData53_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 55:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData54_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData54_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData54_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData54_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData54_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 56:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData55_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData55_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData55_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData55_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData55_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 57:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData56_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData56_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData56_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData56_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData56_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 58:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData57_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData57_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData57_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData57_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData57_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 59:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData58_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData58_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData58_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData58_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData58_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 60:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData59_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData59_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData59_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData59_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData59_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 61:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData60_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData60_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData60_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData60_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData60_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 62:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData61_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData61_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData61_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData61_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData61_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 63:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData62_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData62_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData62_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData62_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData62_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 64:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData63_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData63_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData63_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData63_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData63_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 65:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData64_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData64_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData64_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData64_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData64_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 66:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData65_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData65_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData65_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData65_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData65_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 67:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData66_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData66_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData66_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData66_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData66_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 68:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData67_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData67_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData67_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData67_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData67_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 69:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData68_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData68_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData68_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData68_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData68_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 70:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData69_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData69_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData69_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData69_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData69_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 71:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData70_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData70_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData70_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData70_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData70_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 72:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData71_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData71_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData71_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData71_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData71_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 73:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData72_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData72_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData72_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData72_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData72_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 74:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData73_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData73_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData73_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData73_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData73_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 75:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData74_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData74_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData74_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData74_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData74_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 76:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData75_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData75_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData75_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData75_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData75_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 77:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData76_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData76_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData76_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData76_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData76_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 78:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData77_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData77_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData77_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData77_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData77_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 79:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData78_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData78_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData78_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData78_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData78_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 80:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData79_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData79_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData79_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData79_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData79_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 81:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData80_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData80_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData80_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData80_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData80_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 82:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData81_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData81_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData81_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData81_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData81_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 83:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData82_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData82_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData82_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData82_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData82_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 84:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData83_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData83_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData83_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData83_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData83_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 85:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData84_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData84_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData84_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData84_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData84_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 86:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData85_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData85_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData85_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData85_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData85_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 87:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData86_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData86_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData86_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData86_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData86_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 88:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData87_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData87_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData87_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData87_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData87_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 89:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData88_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData88_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData88_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData88_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData88_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 90:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData89_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData89_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData89_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData89_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData89_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 91:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData90_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData90_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData90_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData90_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData90_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 92:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData91_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData91_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData91_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData91_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData91_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 93:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData92_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData92_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData92_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData92_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData92_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 94:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData93_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData93_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData93_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData93_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData93_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 95:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData94_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData94_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData94_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData94_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData94_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 96:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData95_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData95_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData95_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData95_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData95_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 97:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData96_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData96_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData96_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData96_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData96_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 98:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData97_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData97_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData97_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData97_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData97_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 99:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData98_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData98_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData98_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData98_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData98_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
case 100:
|
|
|
RMatCode = BasePlcHelper.Instance.solvent2_SaveData99_RMatCode1.NowValue.ToString();
|
|
|
RActWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData99_RActWeight_1.NowValue.ToInt()) / 10;
|
|
|
RActTol = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData99_RActTol_1.NowValue.ToInt()) / 10;//实际差值
|
|
|
RRate = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData99_RRate_1.NowValue.ToInt()) / 10;
|
|
|
RPureWeight = Convert.ToDecimal(BasePlcHelper.Instance.solvent2_SaveData99_RPureWeight_1.NowValue.ToInt()) / 10;
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
if (RActWeight == 0) continue;
|
|
|
XTotalWeigh = XTotalWeigh + RActWeight;
|
|
|
XTotalError = XTotalError + RActTol;
|
|
|
var plan = list.FirstOrDefault(d => d.MID == i);
|
|
|
decimal drate = Convert.ToDecimal(RRate / 10);
|
|
|
decimal rPureWeight = Convert.ToDecimal(RPureWeight);
|
|
|
bool result = SaveToHwPlan(plan, batch, i.ToString(), RActWeight, RActTol, drate, rPureWeight);
|
|
|
}
|
|
|
var rtplan = list.FirstOrDefault();
|
|
|
var finishedNum = BasePlcHelper.Instance.solvent2_finishedNum.NowValue.ToInt();
|
|
|
decimal totalWeight = rtplan.Plan_TotalWeight + XTotalWeigh;
|
|
|
decimal totalError = rtplan.Plan_TotalError + RActTol;
|
|
|
//更新计划完成状态
|
|
|
if (finishedNum == rtplan.Plan_Num)
|
|
|
{
|
|
|
bool result = SolventPlanHelper.UpdatePlan(rtplan.Plan_Id, BasePlcHelper.Instance.solvent2_finishedNum.NowValue.ToInt(), 8, totalWeight, totalError);
|
|
|
if (result)
|
|
|
{
|
|
|
//完成后写入清空信号
|
|
|
//BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_status, new object[] { 1 });//存盘以后置为1 需要加料
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent2_reportReady, new object[] { 0 });
|
|
|
|
|
|
if (OnUpdateRjPlanStateFromPlc != null)
|
|
|
{
|
|
|
OnUpdateRjPlanStateFromPlc(sender, System.EventArgs.Empty);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bool result = SolventPlanHelper.UpdateRealNum(rtplan.Plan_Id, BasePlcHelper.Instance.solvent2_finishedNum.NowValue.ToInt(), totalWeight, totalError);
|
|
|
if (result)
|
|
|
{
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent2_reportReady, new object[] { 0 });
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
public static string GetExecMaterName()
|
|
|
{
|
|
|
string no = string.Empty;//物料名称
|
|
|
int matSerial = BasePlcHelper.Instance.solvent_materialNo.NowValue.ToInt();//执行顺序
|
|
|
switch (matSerial)
|
|
|
{
|
|
|
case 1:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData0_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 2:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData1_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 3:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData2_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 4:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData3_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 5:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData4_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 6:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData5_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 7:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData6_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 8:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData7_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 9:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData8_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 10:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData9_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 11:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData10_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 12:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData11_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 13:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData12_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 14:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData13_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 15:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData14_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 16:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData15_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 17:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData16_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 18:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData17_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 19:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData18_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
case 20:
|
|
|
no = BasePlcHelper.Instance.solvent_SaveData19_RMatCode1.NowValue.ToString();
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
return no;
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 已完成重量
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public static double GetExecMaterWeight()
|
|
|
{
|
|
|
double weight = 0.000;
|
|
|
int matSerial = BasePlcHelper.Instance.solvent_materialNo.NowValue.ToInt();//执行顺序
|
|
|
for (int i = 1; i <= matSerial; i++)
|
|
|
{
|
|
|
switch (matSerial)
|
|
|
{
|
|
|
case 1:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData0_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 2:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData1_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 3:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData2_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 4:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData3_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 5:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData4_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 6:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData5_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 7:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData6_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 8:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData7_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 9:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData8_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 10:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData9_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 11:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData10_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 12:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData11_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 13:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData12_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 14:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData13_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 15:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData14_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 16:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData15_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 17:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData16_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 18:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData17_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 19:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData18_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
case 20:
|
|
|
weight = BasePlcHelper.Instance.solvent_SaveData19_RActWeight_1.NowValue.ToDouble();
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
weight += weight;
|
|
|
}
|
|
|
return weight;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 初始化扫码设备 采用COM连接
|
|
|
/// </summary>
|
|
|
public static void InitScanCode()
|
|
|
{
|
|
|
if (!flag1)
|
|
|
{
|
|
|
string COM1 = "COM3";
|
|
|
ScanControl scnew = new ScanControl();
|
|
|
scnew.InstanceSerialPort3(COM1);
|
|
|
flag1 = true;
|
|
|
}
|
|
|
//if (!flag2)
|
|
|
//{
|
|
|
// string COM2 = "COM5";
|
|
|
// ScanControl scnew2 = new ScanControl();
|
|
|
// scnew2.InstanceSerialPort5(COM2);
|
|
|
// flag2 = true;
|
|
|
//}
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 小料扫码
|
|
|
/// </summary>
|
|
|
public static void XlScanCode()
|
|
|
{
|
|
|
string scan = ScanControl.scanStr;
|
|
|
if (!string.IsNullOrEmpty(scan))
|
|
|
{
|
|
|
for (int i = 1; i <= 15; i++)
|
|
|
{
|
|
|
switch (i)
|
|
|
{
|
|
|
case 1:
|
|
|
int scan1 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
|
|
|
break;
|
|
|
case 2:
|
|
|
int scan2 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 3:
|
|
|
int scan3 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 4:
|
|
|
int scan4 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 5:
|
|
|
int scan5 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 6:
|
|
|
int scan6 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 7:
|
|
|
int scan7 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 8:
|
|
|
int scan8 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 9:
|
|
|
int scan9 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 10:
|
|
|
int scan10 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 11:
|
|
|
int scan11 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 12:
|
|
|
int scan12 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 13:
|
|
|
int scan13 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 14:
|
|
|
int scan14 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 15:
|
|
|
int scan15 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 溶剂投料扫码
|
|
|
/// </summary>
|
|
|
public static void RjScanCode()
|
|
|
{
|
|
|
string scan = ScanControl.scanStr;
|
|
|
for (int i = 1; i <= 20; i++)
|
|
|
{
|
|
|
switch (i)
|
|
|
{
|
|
|
case 1:
|
|
|
int scan1 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
if (scan1 == 1)
|
|
|
{
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_Set_station_U1_barcode, new object[] { 1 });//0、未扫描、1、匹配;2、报警
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
int scan2 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 3:
|
|
|
int scan3 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 4:
|
|
|
int scan4 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 5:
|
|
|
int scan5 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 6:
|
|
|
int scan6 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 7:
|
|
|
int scan7 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 8:
|
|
|
int scan8 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 9:
|
|
|
int scan9 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 10:
|
|
|
int scan10 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 11:
|
|
|
int scan11 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 12:
|
|
|
int scan12 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 13:
|
|
|
int scan13 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 14:
|
|
|
int scan14 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
case 15:
|
|
|
int scan15 = BasePlcHelper.Instance.solvent_Set_status_U0_stationStatus.NowValue.ToInt();//扫码求情
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 保存计划执行数据
|
|
|
/// </summary>
|
|
|
/// <param name="item"></param>
|
|
|
/// <param name="batch"></param>
|
|
|
/// <param name="RMatCode"></param>
|
|
|
/// <param name="realWeight"></param>
|
|
|
/// <param name="realError"></param>
|
|
|
/// <returns></returns>
|
|
|
public static bool SaveToHwPlan(MetagePlan item, int batch, string RMatCode, decimal realWeight, decimal realError, decimal RRate, decimal RPureWeight)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
Hw_plan plan = SolventDBHelper.GetRtPlan(item.Plan_Id, batch);
|
|
|
if (!string.IsNullOrEmpty(plan.Plan_Id))
|
|
|
{
|
|
|
decimal totalWeight = plan.Total_Weight + realWeight;
|
|
|
decimal totalError = plan.Total_Error + realError;
|
|
|
|
|
|
//保存物料
|
|
|
Hw_weigh weigh = new Hw_weigh();
|
|
|
weigh.Dosing_ID = plan.Dosing_Id;
|
|
|
weigh.Plan_ID = item.Plan_Id;
|
|
|
weigh.Recipe_ID = item.Recipe_ID;
|
|
|
weigh.Material_ID = item.MaterialID;
|
|
|
weigh.Material_Name = item.Material_name;
|
|
|
weigh.Set_Weight = item.Set_Weight;
|
|
|
weigh.Set_Error = item.Set_Error;
|
|
|
weigh.Real_Weight = realWeight;
|
|
|
weigh.Real_Error = realError;
|
|
|
weigh.Dosing_ID = batch.ToString();//标记为批次
|
|
|
weigh.EndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
weigh.RRate = RRate;
|
|
|
weigh.RPureWeight = RPureWeight;
|
|
|
|
|
|
plan.Total_Weight = totalWeight;
|
|
|
plan.Total_Error = totalError;
|
|
|
|
|
|
var result = SolventDBHelper.SaveToSolvenDB2(plan, weigh);
|
|
|
if (result)
|
|
|
{
|
|
|
return true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
//保存计划
|
|
|
Hw_plan hwPlan = new Hw_plan();
|
|
|
hwPlan.Plan_Id = item.Plan_Id;
|
|
|
hwPlan.Dosing_Id = string.IsNullOrEmpty(item.Dosing_Id) ? "0" : item.Dosing_Id;
|
|
|
hwPlan.Plan_Serial = item.Plan_Serial;
|
|
|
hwPlan.Recipe_ID = item.Recipe_ID;
|
|
|
hwPlan.Recipe_Name = item.Recipe_Name;
|
|
|
hwPlan.Version = item.Version;
|
|
|
hwPlan.Plan_Num = item.Plan_Num;
|
|
|
|
|
|
hwPlan.Real_Num = BasePlcHelper.Instance.solvent_finishedNum.NowValue.ToInt();
|
|
|
hwPlan.Shift_Id = item.Shift_Id;
|
|
|
hwPlan.Shift_Class = item.Shift_Class;
|
|
|
hwPlan.Total_Weight = realWeight;
|
|
|
hwPlan.Total_Error = realError;
|
|
|
hwPlan.IsRetransmission = item.IsRetransmission;
|
|
|
hwPlan.Retransmission_Num = item.Retransmission_Num;
|
|
|
|
|
|
//保存物料
|
|
|
Hw_weigh weigh = new Hw_weigh();
|
|
|
|
|
|
weigh.Plan_ID = item.Plan_Id;
|
|
|
weigh.Recipe_ID = item.Recipe_ID;
|
|
|
weigh.Material_ID = item.MaterialID;
|
|
|
weigh.Material_Name = item.Material_name;
|
|
|
weigh.Set_Weight = item.Set_Weight;
|
|
|
weigh.Set_Error = item.Set_Error;
|
|
|
weigh.Real_Weight = realWeight;
|
|
|
weigh.Real_Error = realError;
|
|
|
weigh.Dosing_ID = batch.ToString();//改为记录批次
|
|
|
weigh.EndTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
weigh.RRate = RRate;
|
|
|
weigh.RPureWeight = RPureWeight;
|
|
|
|
|
|
var addPlan = SolventDBHelper.SaveToSolvenDB(hwPlan, weigh);
|
|
|
if (addPlan)
|
|
|
{
|
|
|
return true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#region 设置配方 PLC点位信息
|
|
|
/// <summary>
|
|
|
/// 重传配方设置数量
|
|
|
/// </summary>
|
|
|
/// <param name="listMaterial">计划列表</param>
|
|
|
/// <returns>是否设置成功</returns>
|
|
|
public static bool ReloadPlanToPlc(int num)
|
|
|
{
|
|
|
string msg = string.Empty;
|
|
|
try
|
|
|
{
|
|
|
if (BasePlcHelper.Instance.solvent_finishedNum.NowValue.ToInt() < num)
|
|
|
{
|
|
|
BasePlcHelper.Instance.PlcWriteByDataKey(BasePlcHelper.Instance.solvent_reqSerial, new object[] { num });//设定执行数量
|
|
|
return true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
#endregion
|
|
|
}
|
|
|
}
|