|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Text;
|
|
|
using System.Threading.Tasks;
|
|
|
using System.Data;
|
|
|
using System.Reflection;
|
|
|
using ICSharpCode.Core;
|
|
|
using Mesnac.Basic;
|
|
|
using Mesnac.Equips;
|
|
|
using Mesnac.Codd.Session;
|
|
|
using Mesnac.Action.ChemicalWeighing.Entity;
|
|
|
|
|
|
namespace Mesnac.Action.ChemicalWeighing
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// Plc操作辅助类
|
|
|
/// </summary>
|
|
|
public class BasePlcHelper
|
|
|
{
|
|
|
#region 单例模式
|
|
|
|
|
|
private static BasePlcHelper _this = null;
|
|
|
|
|
|
public static BasePlcHelper Instance
|
|
|
{
|
|
|
get
|
|
|
{
|
|
|
if (null == _this)
|
|
|
_this = new BasePlcHelper();
|
|
|
return _this;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private BasePlcHelper()
|
|
|
{
|
|
|
foreach (PropertyInfo pi in this.GetType().GetProperties())
|
|
|
{
|
|
|
if (pi.PropertyType == typeof(DataKeyValue))
|
|
|
{
|
|
|
DataKeyValue data = new DataKeyValue(pi.Name);
|
|
|
pi.SetValue(this, data, null);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 方法定义
|
|
|
|
|
|
#region GetDataKeyValue
|
|
|
|
|
|
public DataKeyValue GetDataKeyValue(string key)
|
|
|
{
|
|
|
foreach (PropertyInfo pi in this.GetType().GetProperties())
|
|
|
{
|
|
|
if (pi.PropertyType == typeof(DataKeyValue))
|
|
|
{
|
|
|
DataKeyValue data = (DataKeyValue)pi.GetValue(this, null);
|
|
|
if (data.FieldKey.ToLower() == key.ToLower())
|
|
|
{
|
|
|
return data;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 从PLC中读取原始数据的方法
|
|
|
|
|
|
/// <summary>
|
|
|
/// 从PLC中读取原始数据
|
|
|
/// </summary>
|
|
|
/// <param name="dataName">要读取的设备变量名称</param>
|
|
|
/// <param name="dataValue">从PLC读取的值</param>
|
|
|
/// <returns>成功返回true,失败返回false</returns>
|
|
|
public bool PlcRead(string dataName, out int[] dataValue)
|
|
|
{
|
|
|
return Mesnac.Equips.Factory.Instance.Read(dataName, out dataValue);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据设备名称读取指定数据块,指定起始字,指定长度的数据
|
|
|
/// </summary>
|
|
|
/// <param name="equipName">设备名称</param>
|
|
|
/// <param name="block">数据块</param>
|
|
|
/// <param name="start">起始字</param>
|
|
|
/// <param name="len">长度</param>
|
|
|
/// <param name="dataValue">输出数据</param>
|
|
|
/// <returns>成功返回true,失败返回false</returns>
|
|
|
public bool PlcRead(string equipName, string block, int start, int len, out Int16[] dataValue)
|
|
|
{
|
|
|
return Mesnac.Equips.Factory.Instance.Read(equipName, block, start, len, out dataValue);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 从PLC中读取原始数据
|
|
|
/// </summary>
|
|
|
/// <param name="dataKey"></param>
|
|
|
/// <param name="dataValue"></param>
|
|
|
/// <returns></returns>
|
|
|
public bool PlcRead(DataKeyValue dataKey, out int[] dataValue)
|
|
|
{
|
|
|
return PlcRead(dataKey.EquipKey, out dataValue);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 按设备变量别名从PLC读取数据
|
|
|
/// </summary>
|
|
|
/// <param name="runName">PLC设备变量别名</param>
|
|
|
/// <param name="dataValue">读取值</param>
|
|
|
/// <returns>读取成功返回true,失败返回false</returns>
|
|
|
public bool PlcReadByRunName(string runName, out int[] dataValue)
|
|
|
{
|
|
|
return Mesnac.Equips.Factory.Instance.ReadByRunName(runName, out dataValue);
|
|
|
}
|
|
|
|
|
|
public object PlcLastValueRead(string dataName)
|
|
|
{
|
|
|
return Mesnac.Equips.Factory.Instance.ReadLastValue(dataName);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 读取设备数据
|
|
|
/// </summary>
|
|
|
/// <param name="dataName">设备变量名称</param>
|
|
|
/// <param name="dataValue">读取的设备值</param>
|
|
|
/// <returns>读取成功返回true,失败返回false</returns>
|
|
|
public bool PlcLastValueRead(string dataName, out int[] dataValue)
|
|
|
{
|
|
|
return Mesnac.Equips.Factory.Instance.ReadLastValue(dataName, out dataValue);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 向PLC变量中写入值,并不真正下传至PLC
|
|
|
|
|
|
/// <summary>
|
|
|
/// 向PLC变量中写入值,并不真正下传至PLC
|
|
|
/// </summary>
|
|
|
/// <param name="equipKey"></param>
|
|
|
/// <param name="runName"></param>
|
|
|
/// <param name="shifting"></param>
|
|
|
/// <param name="dataValue"></param>
|
|
|
/// <returns></returns>
|
|
|
public bool PlcVarWrite(string equipKey, string runName, int shifting, object dataValue)
|
|
|
{
|
|
|
StringBuilder log = new StringBuilder();
|
|
|
try
|
|
|
{
|
|
|
//log.Append("equipKey=[").Append(equipKey).Append("]runName=[").Append(runName);
|
|
|
foreach (Mesnac.Equips.BaseEquip equip in Factory.Instance.AllEquips.Values)
|
|
|
{
|
|
|
foreach (Mesnac.Equips.BaseInfo.Group group in equip.Group.Values)
|
|
|
{
|
|
|
if (group.Access == System.IO.FileAccess.Write ||
|
|
|
group.Access == System.IO.FileAccess.ReadWrite)
|
|
|
{
|
|
|
foreach (Mesnac.Equips.BaseInfo.Data data in group.Data.Values)
|
|
|
{
|
|
|
if (data.KeyName == equipKey ||
|
|
|
(!String.IsNullOrEmpty(data.RunName) && data.RunName == runName))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
data.Value = dataValue;
|
|
|
return true;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService.Error(ex.Message);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//log.Append("]No Find");
|
|
|
return false;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService.Error("写入PLC变量值失败:" + ex.Message, ex);
|
|
|
return false;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
//if (log.Length > "equipKey=[]runName=[]No Find".Length)
|
|
|
//{
|
|
|
// action.LogDebug(log.AppendLine("...").ToString());
|
|
|
//}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 向PLC变量中写入值,并不真正下传至PLC
|
|
|
/// </summary>
|
|
|
/// <param name="equipKey"></param>
|
|
|
/// <param name="shifting"></param>
|
|
|
/// <param name="dataValue"></param>
|
|
|
/// <returns></returns>
|
|
|
public bool PlcVarWriteByDataKey(string equipKey, int shifting, object dataValue)
|
|
|
{
|
|
|
return PlcVarWrite(equipKey, string.Empty, shifting, dataValue);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 向PLC变量中写入值,并不真正下传至PLC
|
|
|
/// </summary>
|
|
|
/// <param name="dataKey"></param>
|
|
|
/// <param name="shifting"></param>
|
|
|
/// <param name="dataValue"></param>
|
|
|
/// <returns></returns>
|
|
|
public bool PlcVarWriteByDataKey(DataKeyValue dataKey, int shifting, object dataValue)
|
|
|
{
|
|
|
return PlcVarWriteByDataKey(dataKey.EquipKey, shifting, dataValue);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 向PLC变量中写入值,并不真正下传至PLC
|
|
|
/// </summary>
|
|
|
/// <param name="dataKey"></param>
|
|
|
/// <param name="dataValue"></param>
|
|
|
/// <returns></returns>
|
|
|
public bool PlcVarWriteByDataKey(DataKeyValue dataKey, object dataValue)
|
|
|
{
|
|
|
return PlcVarWriteByDataKey(dataKey, 0, dataValue);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region Plc写入方法,真正写入PLC
|
|
|
|
|
|
/// <summary>
|
|
|
/// PlcWrite
|
|
|
/// </summary>
|
|
|
/// <param name="equipKey"></param>
|
|
|
/// <param name="runName"></param>
|
|
|
/// <param name="shifting"></param>
|
|
|
/// <param name="dataValue"></param>
|
|
|
/// <param name="isOutFlag"></param>
|
|
|
/// <returns></returns>
|
|
|
private bool PlcWrite(string equipKey, string runName, int shifting, object[] dataValue,
|
|
|
params bool[] isOutFlag)
|
|
|
{
|
|
|
StringBuilder log = new StringBuilder();
|
|
|
try
|
|
|
{
|
|
|
log.Append("equipKey=[").Append(equipKey).Append("]runName=[").Append(runName);
|
|
|
foreach (Mesnac.Equips.BaseEquip equip in Factory.Instance.AllEquips.Values)
|
|
|
{
|
|
|
foreach (Mesnac.Equips.BaseInfo.Group group in equip.Group.Values)
|
|
|
{
|
|
|
if (group.Access == System.IO.FileAccess.Write ||
|
|
|
group.Access == System.IO.FileAccess.ReadWrite)
|
|
|
{
|
|
|
foreach (Mesnac.Equips.BaseInfo.Data data in group.Data.Values)
|
|
|
{
|
|
|
//if (data.KeyName == equipKey || data.RunName == runName)
|
|
|
//if (data.KeyName == equipKey)
|
|
|
if (data.KeyName == equipKey ||
|
|
|
(!String.IsNullOrEmpty(data.RunName) && data.RunName == runName))
|
|
|
{
|
|
|
int block = 0;
|
|
|
if (int.TryParse(group.Block.ToString(), out block))
|
|
|
{
|
|
|
log.Append("]shifting=[")
|
|
|
.Append((group.Start + data.Start + shifting).ToString());
|
|
|
log.Append("]dataLen=[").Append(dataValue.Length);
|
|
|
log.Append("]Find Result=");
|
|
|
foreach (object v in dataValue)
|
|
|
{
|
|
|
log.Append(v + ",");
|
|
|
}
|
|
|
|
|
|
#region 二进制位写入
|
|
|
|
|
|
if (data.Method.StartsWith("Default_Bit"))
|
|
|
{
|
|
|
string parameters = data.Method.Replace("Default_Bit(", String.Empty)
|
|
|
.Replace(")", String.Empty);
|
|
|
string[] ps = parameters.Split(new char[] { ',' });
|
|
|
int startIndex = 0;
|
|
|
int length = 1;
|
|
|
if (ps.Length == 1) //单参数判断
|
|
|
{
|
|
|
if (!int.TryParse(ps[0], out startIndex))
|
|
|
{
|
|
|
log.Append(
|
|
|
"[false](Convert The Bit method first parameter to int failure!)");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
else if (ps.Length == 2) //多参数判断
|
|
|
{
|
|
|
if (!int.TryParse(ps[0], out startIndex))
|
|
|
{
|
|
|
log.Append(
|
|
|
"[false](Convert The Bit method first parameter to int failure!)");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
if (!int.TryParse(ps[1], out length))
|
|
|
{
|
|
|
log.Append(
|
|
|
"[false](Convert The Bit method second parameter to int failure!)");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
object originalValue = 0; //保存原始值
|
|
|
if (data.Len == 1) //如果len=1则为Int16类型
|
|
|
{
|
|
|
int[] buff = null;
|
|
|
if (PlcRead(data.KeyName, out buff))
|
|
|
{
|
|
|
originalValue = buff[0];
|
|
|
originalValue =
|
|
|
Mesnac.Basic.DataProcessor.Swap(
|
|
|
short.Parse(originalValue.ToString()));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<BasePlcHelper>.Warn(
|
|
|
String.Format("在进行二进制写入时读取设备变量[{0}]失败!", data.KeyName));
|
|
|
}
|
|
|
}
|
|
|
else if (data.Len == 2) //如果len=2则为Int32类型
|
|
|
{
|
|
|
int[] buff = null;
|
|
|
if (PlcRead(data.KeyName, out buff))
|
|
|
{
|
|
|
if (equip.Main.Brand == Mesnac.Basic.PlcBrand.Siemens)
|
|
|
{
|
|
|
originalValue = Mesnac.Basic.DataProcessor.ToSiemensInt32(buff);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
originalValue = Mesnac.Basic.DataProcessor.ToInt32(buff);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<BasePlcHelper>.Warn(
|
|
|
String.Format("在进行二进制写入时读取设备变量[{0}]失败!", data.KeyName));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
object[] newValue = null;
|
|
|
if (data.Len == 1)
|
|
|
{
|
|
|
newValue = new object[]
|
|
|
{
|
|
|
Mesnac.Basic.DataProcessor.SetBitValue(originalValue, startIndex,
|
|
|
length, dataValue[0])
|
|
|
};
|
|
|
//从PLC中读取到的值进行高低位转换
|
|
|
int int16 = Mesnac.Basic.DataProcessor.Swap(
|
|
|
short.Parse(newValue[0].ToString()));
|
|
|
newValue = new object[] { int16 };
|
|
|
|
|
|
////解析为二进制数组
|
|
|
//int[] binaryAlarmData = Mesnac.Basic.DataProcessor.ParseBinaryValue(int16, int16*2);
|
|
|
//String str = "";
|
|
|
//for (int i = 0; i < (int16 * 2); i++)
|
|
|
//{
|
|
|
// //按照偏移量对数组进行赋值
|
|
|
// if (i == group.Start + data.Start + shifting)
|
|
|
// {
|
|
|
// if (int.Parse(dataValue[0].ToString()) == 0)
|
|
|
// {
|
|
|
// binaryAlarmData[i] = 0;
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// binaryAlarmData[i] = 1;
|
|
|
// }
|
|
|
// }
|
|
|
// str += binaryAlarmData[i].ToString();
|
|
|
//}
|
|
|
//Int16 iwrite = Convert.ToInt16(str,2);
|
|
|
//int swpint16 = Mesnac.Basic.DataProcessor.Swap(iwrite);
|
|
|
////获取二进制数组字符串
|
|
|
//newValue = new object[] { swpint16 };
|
|
|
//if (equip.Write(block, group.Start + data.Start + shifting, newValue))
|
|
|
//{
|
|
|
// log.Append("[true]");
|
|
|
// return true;
|
|
|
//}
|
|
|
//else
|
|
|
//{
|
|
|
// log.Append("[false]");
|
|
|
// return false;
|
|
|
//}
|
|
|
//int writedata = Mesnac.Basic.DataProcessor.ToInt32(binaryAlarmData);
|
|
|
|
|
|
}
|
|
|
else if (data.Len == 2)
|
|
|
{
|
|
|
object objNewValue =
|
|
|
Mesnac.Basic.DataProcessor.SetBitValue32(originalValue, startIndex,
|
|
|
length, dataValue[0]);
|
|
|
int intNewValue = Convert.ToInt32(objNewValue);
|
|
|
if (equip.Main.Brand == Mesnac.Basic.PlcBrand.Siemens)
|
|
|
{
|
|
|
newValue =
|
|
|
Mesnac.Basic.DataProcessor.ToSiemensPLCDataArray(intNewValue);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
newValue = Mesnac.Basic.DataProcessor.ToPLCDataArray(intNewValue);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (equip.Write(block, group.Start + data.Start + shifting, newValue))
|
|
|
{
|
|
|
log.Append("[true]");
|
|
|
return true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
log.Append("[false]");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
if (equip.Write(block, group.Start + data.Start + shifting, dataValue))
|
|
|
{
|
|
|
log.Append("[true]");
|
|
|
return true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
log.Append("[false]");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
log.Append("]No Find");
|
|
|
return false;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<BasePlcHelper>.Error("下传PLC失败:" + ex.Message, ex);
|
|
|
return false;
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
if (isOutFlag.Length == 0 || isOutFlag[0] == true)
|
|
|
{
|
|
|
if (log.Length > "equipKey=[]runName=[]No Find".Length)
|
|
|
{
|
|
|
ICSharpCode.Core.LoggingService<BasePlcHelper>.Debug(log.AppendLine("...").ToString());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public bool PlcWriteByRunName(string runName, int shifting, object[] dataValue)
|
|
|
{
|
|
|
return PlcWrite(string.Empty, runName, shifting, dataValue);
|
|
|
}
|
|
|
|
|
|
public bool PlcWriteByRunName(string runName, object[] dataValue)
|
|
|
{
|
|
|
return PlcWriteByRunName(runName, 0, dataValue);
|
|
|
}
|
|
|
|
|
|
public bool PlcWriteByEquipKey(string equipKey, int shifting, object[] dataValue)
|
|
|
{
|
|
|
return PlcWrite(equipKey, string.Empty, shifting, dataValue);
|
|
|
}
|
|
|
|
|
|
public bool PlcWriteByEquipKey(string equipKey, object[] dataValue)
|
|
|
{
|
|
|
return PlcWriteByEquipKey(equipKey, 0, dataValue);
|
|
|
}
|
|
|
|
|
|
public bool PlcWriteByDataKey(DataKeyValue dataKey, int shifting, object[] dataValue)
|
|
|
{
|
|
|
return PlcWriteByEquipKey(dataKey.EquipKey, shifting, dataValue);
|
|
|
}
|
|
|
|
|
|
public bool PlcWriteByDataKey(DataKeyValue dataKey, object[] dataValue)
|
|
|
{
|
|
|
return PlcWriteByDataKey(dataKey, 0, dataValue);
|
|
|
}
|
|
|
|
|
|
public bool PlcWriteByDataKey(DataKeyValue dataKey, string dataValue)
|
|
|
{
|
|
|
object[] buff = null;
|
|
|
buff = new object[dataKey.EquipData.Len];
|
|
|
for (int i = 0; i < buff.Length; i++)
|
|
|
{
|
|
|
buff[i] = 0;
|
|
|
}
|
|
|
|
|
|
object[] planIDData = Mesnac.Basic.DataProcessor.ToPLCDataArray(dataValue);
|
|
|
if (planIDData.Length <= buff.Length)
|
|
|
{
|
|
|
Array.Copy(planIDData, buff, planIDData.Length);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
Array.Copy(planIDData, buff, buff.Length);
|
|
|
}
|
|
|
|
|
|
return PlcWriteByDataKey(dataKey, buff);
|
|
|
}
|
|
|
|
|
|
//增加是否输出日志
|
|
|
public bool PlcWriteByEquipKey(string equipKey, int shifting, object[] dataValue, bool isOutLog)
|
|
|
{
|
|
|
return PlcWrite(equipKey, string.Empty, shifting, dataValue, isOutLog);
|
|
|
}
|
|
|
|
|
|
//增加是否输出日志
|
|
|
public bool PlcWriteByDataKey(DataKeyValue dataKey, int shifting, object[] dataValue, bool isOutLog)
|
|
|
{
|
|
|
return PlcWriteByEquipKey(dataKey.EquipKey, shifting, dataValue, isOutLog);
|
|
|
}
|
|
|
|
|
|
//增加是否输出日志
|
|
|
public bool PlcWriteByDataKey(DataKeyValue dataKey, object[] dataValue, bool isOutLog)
|
|
|
{
|
|
|
return PlcWriteByDataKey(dataKey, 0, dataValue, isOutLog);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 向Plc变量写入float浮点数,下传Plc
|
|
|
/// </summary>
|
|
|
/// <param name="dataKey"></param>
|
|
|
/// <param name="dataValue"></param>
|
|
|
/// <returns></returns>
|
|
|
public bool PlcWriteFloatByDataKey(DataKeyValue dataKey, float dataValue)
|
|
|
{
|
|
|
string equipName = dataKey.EquipKey;
|
|
|
if (dataKey.EquipKey.Contains("."))
|
|
|
{
|
|
|
equipName = dataKey.EquipKey.Split(new char[] { '.' })[0];
|
|
|
}
|
|
|
|
|
|
if (Factory.Instance.AllEquips[equipName].Main.Brand
|
|
|
.Equals("Siemens", StringComparison.CurrentCultureIgnoreCase))
|
|
|
{
|
|
|
return PlcWriteByDataKey(dataKey, 0, Mesnac.Basic.DataProcessor.ToSiemensPLCDataArray(dataValue));
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return PlcWriteByDataKey(dataKey, 0, Mesnac.Basic.DataProcessor.ToPLCDataArray(dataValue));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 向Plc变量写入float浮点数,下传Plc
|
|
|
/// </summary>
|
|
|
/// <param name="dataKey"></param>
|
|
|
/// <param name="dataValue"></param>
|
|
|
/// <param name="isOutLog"></param>
|
|
|
/// <returns></returns>
|
|
|
public bool PlcWriteFloatByDataKey(DataKeyValue dataKey, float dataValue, bool isOutLog)
|
|
|
{
|
|
|
string equipName = dataKey.EquipKey;
|
|
|
if (dataKey.EquipKey.Contains("."))
|
|
|
{
|
|
|
equipName = dataKey.EquipKey.Split(new char[] { '.' })[0];
|
|
|
}
|
|
|
|
|
|
if (Factory.Instance.AllEquips[equipName].Main.Brand
|
|
|
.Equals("Siemens", StringComparison.CurrentCultureIgnoreCase))
|
|
|
{
|
|
|
return PlcWriteByDataKey(dataKey, 0, Mesnac.Basic.DataProcessor.ToSiemensPLCDataArray(dataValue),
|
|
|
isOutLog);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
return PlcWriteByDataKey(dataKey, 0, Mesnac.Basic.DataProcessor.ToPLCDataArray(dataValue), isOutLog);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region PptPlcData表写入操作
|
|
|
|
|
|
/// <summary>
|
|
|
/// 把设备变量的值写入PptPlcData表
|
|
|
/// </summary>
|
|
|
/// <param name="dataKey">设备变量</param>
|
|
|
/// <param name="equipKey">设备</param>
|
|
|
/// <param name="shifting">偏移</param>
|
|
|
/// <param name="dataValue">值数组</param>
|
|
|
/// <returns></returns>
|
|
|
public bool DataWrite(string dataKey, string equipKey, int shifting, object[] dataValue)
|
|
|
{
|
|
|
if (string.IsNullOrWhiteSpace(dataKey))
|
|
|
{
|
|
|
dataKey = equipKey;
|
|
|
}
|
|
|
|
|
|
if (string.IsNullOrWhiteSpace(equipKey))
|
|
|
{
|
|
|
equipKey = dataKey;
|
|
|
}
|
|
|
|
|
|
DbHelper dbHelper =
|
|
|
Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
|
|
|
if (dbHelper == null)
|
|
|
{
|
|
|
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
|
|
|
}
|
|
|
|
|
|
dbHelper.CommandType = System.Data.CommandType.Text;
|
|
|
dbHelper.ClearParameter();
|
|
|
|
|
|
#region 支持SQL2000
|
|
|
|
|
|
StringBuilder sqlstr =
|
|
|
new StringBuilder(
|
|
|
"INSERT INTO PptPlcData (PlcSchemaField, EquipRunName, PlcDataValue, PlcDataIndex, PlcDownState) ");
|
|
|
for (int i = 0; i < dataValue.Length; i++)
|
|
|
{
|
|
|
object obj = dataValue[i];
|
|
|
if (obj == null || obj == DBNull.Value)
|
|
|
{
|
|
|
obj = string.Empty;
|
|
|
}
|
|
|
|
|
|
string key1 = "@PlcSchemaField" + i.ToString();
|
|
|
string key2 = "@EquipRunName" + i.ToString();
|
|
|
string key3 = "@PlcDataValue" + i.ToString();
|
|
|
string key4 = "@PlcDataIndex" + i.ToString();
|
|
|
sqlstr.Append(" (select ").Append(key1).Append(" as PlcSchemaField").Append(",").Append(key2)
|
|
|
.Append(" as EquipRunName").Append(",").Append(key3).Append(" as PlcDataValue").Append(",")
|
|
|
.Append(key4).Append(" as PlcDataIndex").Append(",0 as PlcDownState)");
|
|
|
if (i < dataValue.Length - 1)
|
|
|
{
|
|
|
sqlstr.AppendLine("union all");
|
|
|
}
|
|
|
|
|
|
if (obj is PlcDataInfo)
|
|
|
{
|
|
|
PlcDataInfo data = obj as PlcDataInfo;
|
|
|
dbHelper.AddParameter(key1,
|
|
|
string.IsNullOrWhiteSpace(data.PlcSchemaField) ? dataKey : data.PlcSchemaField);
|
|
|
dbHelper.AddParameter(key2,
|
|
|
string.IsNullOrWhiteSpace(data.EquipRunName) ? equipKey : data.EquipRunName);
|
|
|
dbHelper.AddParameter(key3, data.PlcDataValue == null ? 0 : data.PlcDataValue);
|
|
|
dbHelper.AddParameter(key4, (shifting + i).ToString());
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dbHelper.AddParameter(key1, dataKey);
|
|
|
dbHelper.AddParameter(key2, equipKey);
|
|
|
dbHelper.AddParameter(key3, obj);
|
|
|
dbHelper.AddParameter(key4, (shifting + i).ToString());
|
|
|
}
|
|
|
} //插入语句
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
dbHelper.CommandText = sqlstr.ToString();
|
|
|
dbHelper.ExecuteNonQuery();
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
public bool DataWrite(string dataKey, string equipKey, object[] dataValue)
|
|
|
{
|
|
|
return DataWrite(dataKey, equipKey, 0, dataValue);
|
|
|
}
|
|
|
|
|
|
public bool DataWrite(string equipKey, object[] dataValue)
|
|
|
{
|
|
|
return DataWrite(equipKey, equipKey, 0, dataValue);
|
|
|
}
|
|
|
|
|
|
public bool DataWrite(DataKeyValue dataKey, int shifting, object[] dataValue)
|
|
|
{
|
|
|
return DataWrite(dataKey.Name, dataKey.EquipRunName, shifting, dataValue);
|
|
|
}
|
|
|
|
|
|
public bool DataWrite(DataKeyValue dataKey, object[] dataValue)
|
|
|
{
|
|
|
return DataWrite(dataKey, 0, dataValue);
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 属性定义
|
|
|
|
|
|
#region 自定义设备变量
|
|
|
|
|
|
/// <summary>
|
|
|
/// 最小计划数(由PLC实时读取)
|
|
|
/// </summary>
|
|
|
public int MinPlanNum = 3;
|
|
|
|
|
|
|
|
|
#region PC在线标志
|
|
|
|
|
|
/// <summary>
|
|
|
/// 开门料仓号
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_PC_Online = new DataKeyValue("PC_Online");
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
/// <summary>
|
|
|
/// 小料PLC在线标志
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_PLC_Online_Flag = new DataKeyValue("PLC_Online_Flag");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 等待计划数
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Scheduled_Num = new DataKeyValue("Scheduled_Num");
|
|
|
|
|
|
#region 自动下传计划相关变量
|
|
|
|
|
|
/// <summary>
|
|
|
/// 小料PLC请求计划交互信息
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_PLC_LoadingStatus = new DataKeyValue("PLC_LoadingStatus");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 小料PC计划反馈交互信息
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_PC_LoadingStatus = new DataKeyValue("PC_LoadingStatus");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 速度1
|
|
|
/// </summary>
|
|
|
public DataKeyValue DwSpeed = new DataKeyValue("DwSpeed");
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 自动更新计划状态相关变量
|
|
|
|
|
|
/// <summary>
|
|
|
/// 小料PLC计划状态变化交互PLC请求信息
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_PLC_Plan_Status_ShakeHand = new DataKeyValue("PLC_Plan_Status_ShakeHand");
|
|
|
|
|
|
/// <summary>
|
|
|
/// PC计划状态根据PLC状态更新交互信息
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_PLC_Plan_Status_FeedBack = new DataKeyValue("PLC_Plan_Status_FeedBack");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 小料计划序号
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Plan_Serial = new DataKeyValue("Plan_Serial");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 小料计划状态
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Plan_Status = new DataKeyValue("Plan_Status");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 小料计划完成数
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Plan_Number = new DataKeyValue("Plan_Number");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 小料计划剩余数量
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Remain_Number = new DataKeyValue("Remain_Number");
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region HMI配方列表请求相关变量
|
|
|
|
|
|
/// <summary>
|
|
|
/// 小料HMI配方查询请求信息
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_HMI_Request_Recipe_Name_ShakeHand =
|
|
|
new DataKeyValue("HMI_Request_Recipe_Name_ShakeHand");
|
|
|
|
|
|
/// <summary>
|
|
|
/// PCHMI配方查询请求信息响应
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_HMI_Request_Recipe_Name_FeedBack =
|
|
|
new DataKeyValue("HMI_Request_Recipe_Name_FeedBack");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 读取到的机台号
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Sys_Machine = new DataKeyValue("Sys_Machine");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 读取到的配方名称
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Plan_Code = new DataKeyValue("Plan_Code");
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region HMI根据配方请求添加计划相关变量
|
|
|
|
|
|
/// <summary>
|
|
|
/// 小料HMI配方添加计划请求信息
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_HMI_Confirm_Recipe_ShakeHand =
|
|
|
new DataKeyValue("HMI_Confirm_Recipe_ShakeHand");
|
|
|
|
|
|
/// <summary>
|
|
|
/// PCHMI配方添加计划请求信息响应
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_HMI_Confirm_Recipe_FeedBack =
|
|
|
new DataKeyValue("HMI_Confirm_Recipe_FeedBack");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 读取到的机台号
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Sys_Machine1 = new DataKeyValue("Sys_Machine1");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 读取到的配方名称
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Plan_Code1 = new DataKeyValue("Plan_Code1");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 设定数量
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_HMI_Plan_Num = new DataKeyValue("HMI_Plan_Num");
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region HMI请求修改计划相关变量
|
|
|
|
|
|
/// <summary>
|
|
|
/// PLCHMI修改计划请求信息
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_HMI_Request_Recipe_Change_ShakeHand =
|
|
|
new DataKeyValue("HMI_Request_Recipe_Change_ShakeHand");
|
|
|
|
|
|
/// <summary>
|
|
|
/// PCHMI修改计划请求信息响应
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_HMI_Request_Recipe_Change_FeedBack =
|
|
|
new DataKeyValue("HMI_Request_Recipe_Change_FeedBack");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 命令:0默认 1刷新 2上移 3下移 4修改车数 5删除计划
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_HMI_Request_Recipe_Change_Command =
|
|
|
new DataKeyValue("HMI_Request_Recipe_Change_Command");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 读取到的机台号
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Sys_Machine2 = new DataKeyValue("Sys_Machine2");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 读取到的计划号
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_HMIChange_PlanId = new DataKeyValue("HMIChange_PlanId");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 设定数量
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_HMIChange_PlanNum = new DataKeyValue("HMIChange_PlanNum");
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 自动存盘相关变量
|
|
|
|
|
|
/// <summary>
|
|
|
/// PLC存盘请求
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_PLC_Request_Save_ShakeHand =
|
|
|
new DataKeyValue("Plc_Request_Save_ShakeHand");
|
|
|
|
|
|
/// <summary>
|
|
|
/// PC存盘反馈信息
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_PC_Request_Save_FeedBack = new DataKeyValue("PC_Request_Save_FeedBack");
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 报表基本信息
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Report_Update_Block_BaseInf =
|
|
|
new DataKeyValue("Report_Update_Block_BaseInf");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 物料报表信息
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Report_Update_Block_Material_Report =
|
|
|
new DataKeyValue("Report_Update_Block_Material_Report");
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 上位机修改计划数、终止计划相关变量
|
|
|
|
|
|
/// <summary>
|
|
|
/// PC下传终止计划状态
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Plan_Status_Com_ShakeHand = new DataKeyValue("Plan_Status_Com_ShakeHand");
|
|
|
|
|
|
/// <summary>
|
|
|
/// PLC终止计划状态反馈
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Plan_Status_Com_FeedBack = new DataKeyValue("Plan_Status_Com_FeedBack");
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 条码扫描后,下传到PLC的命令相关变量
|
|
|
|
|
|
/// <summary>
|
|
|
/// 开门料仓号
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Hopper_No_103 = new DataKeyValue("Hopper_No_103");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 条码开门命令
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_ScanCommand = new DataKeyValue("Command");
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 条码开门握手信号
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_Open_door_Command_ShakeHand =
|
|
|
new DataKeyValue("Open_door_Command_ShakeHand");
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 自动写入物料名称相关变量
|
|
|
|
|
|
/// <summary>
|
|
|
/// PLC物料名称下传请求
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_PLC_LoadingConfig = new DataKeyValue("PLC_LoadingConfig");
|
|
|
|
|
|
/// <summary>
|
|
|
/// PC物料名称下传反馈
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_PC_LoadingConfig = new DataKeyValue("PC_LoadingConfig");
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 冠合上位机计划下传
|
|
|
|
|
|
public List<Entity.DataKeyValue> dataKeyValues = new List<Entity.DataKeyValue>();
|
|
|
|
|
|
|
|
|
//下位机准备信号(上位机下传时读取)
|
|
|
/// <summary>
|
|
|
/// 下位机在线
|
|
|
/// </summary>
|
|
|
public DataKeyValue GH_PC_ConfirmOnline = new DataKeyValue("Sign_Confirm_ConfirmOnline"); //下位机在线
|
|
|
|
|
|
/// <summary>
|
|
|
/// 下位机遥控
|
|
|
/// </summary>
|
|
|
public DataKeyValue GH_PC_ConfirmRemote = new DataKeyValue("Sign_Confirm_ConfirmRemote"); //下位机遥控
|
|
|
|
|
|
/// <summary>
|
|
|
/// 下位机准备好
|
|
|
/// </summary>
|
|
|
public DataKeyValue GH_PC_ConfirmReady = new DataKeyValue("Sign_Confirm_ConfirmReady"); //下位机准备好
|
|
|
|
|
|
/// <summary>
|
|
|
/// 下位机配方运行
|
|
|
/// </summary>
|
|
|
public DataKeyValue GH_PC_ConfirmRun = new DataKeyValue("Sign_Confirm_ConfirmRun"); //下位机配方运行
|
|
|
|
|
|
/// <summary>
|
|
|
/// 调试模式允许
|
|
|
/// </summary>
|
|
|
public DataKeyValue GH_PC_ConfirmForc = new DataKeyValue("Sign_Confirm_ConfirmForc"); // 调试模式允许
|
|
|
|
|
|
//配方编号、名称
|
|
|
public DataKeyValue ChemicalWeighing_PC_RecipeCode = new DataKeyValue("Recipe_Code");
|
|
|
|
|
|
public DataKeyValue ChemicalWeighing_PC_RecipeName = new DataKeyValue("recipe_name");
|
|
|
|
|
|
//设定车数、格数、层数
|
|
|
public DataKeyValue ChemicalWeighing_PC_SetCarNumber = new DataKeyValue("set_carnumber");
|
|
|
public DataKeyValue ChemicalWeighing_PC_SetGeNumber = new DataKeyValue("set_genumber");
|
|
|
|
|
|
public DataKeyValue ChemicalWeighing_PC_SetLineNumber = new DataKeyValue("set_linenumber");
|
|
|
|
|
|
//混料速度
|
|
|
public DataKeyValue ChemicalWeighing_PC_Hlsd1 = new DataKeyValue("hlsd1");
|
|
|
public DataKeyValue ChemicalWeighing_PC_Hlsd2 = new DataKeyValue("hlsd2");
|
|
|
|
|
|
public DataKeyValue ChemicalWeighing_PC_Hlsd3 = new DataKeyValue("hlsd3");
|
|
|
|
|
|
//进料时间、混料时间
|
|
|
public DataKeyValue ChemicalWeighing_PC_Jlsj = new DataKeyValue("jl_sj");
|
|
|
|
|
|
public DataKeyValue ChemicalWeighing_PC_Hlsj = new DataKeyValue("hl_sj");
|
|
|
|
|
|
//VCC、GFA、树脂进料、进料误差
|
|
|
public DataKeyValue ChemicalWeighing_PC_VCCJl = new DataKeyValue("vcc_jl");
|
|
|
public DataKeyValue ChemicalWeighing_PC_VCCJlWc = new DataKeyValue("vcc_jlwc");
|
|
|
public DataKeyValue ChemicalWeighing_PC_GFAJl = new DataKeyValue("gfa_jl");
|
|
|
public DataKeyValue ChemicalWeighing_PC_GFAJlWc = new DataKeyValue("gfa_jlwc");
|
|
|
public DataKeyValue ChemicalWeighing_PC_SZJl = new DataKeyValue("sz_jl");
|
|
|
public DataKeyValue ChemicalWeighing_PC_SZJlWc = new DataKeyValue("sz_jlwc");
|
|
|
public DataKeyValue ChemicalWeighing_PC_VCC_2th = new DataKeyValue("vcc2th_jl");
|
|
|
public DataKeyValue ChemicalWeighing_PC_GFA_2th = new DataKeyValue("GFA2th_jl");
|
|
|
|
|
|
//配方下传完成信号
|
|
|
public DataKeyValue ChemicalWeighing_PC_RpFinished = new DataKeyValue("PlanDownLoad");
|
|
|
|
|
|
//计划完成车数
|
|
|
public DataKeyValue ChemicalWeighing_PC_RecipeNum = new DataKeyValue("RecipeNum");
|
|
|
|
|
|
//计划编号PlanNo
|
|
|
public DataKeyValue ChemicalWeighing_PC_PlanNo = new DataKeyValue("PlanNo");
|
|
|
|
|
|
//计划终止
|
|
|
public DataKeyValue ChemicalWeighing_PC_RpCancel = new DataKeyValue("RpCancel");
|
|
|
public DataKeyValue TestWriteBool1 = new DataKeyValue("TestWriteBool1");
|
|
|
public DataKeyValue TestWriteBool2 = new DataKeyValue("TestWriteBool2");
|
|
|
|
|
|
|
|
|
#region 冠合存盘数据
|
|
|
|
|
|
/// <summary>
|
|
|
/// 存盘数据准备好
|
|
|
/// </summary>
|
|
|
public DataKeyValue GH_PC_ConfirmSDReady = new DataKeyValue("Sign_Confirm_ConfirmSDReady");
|
|
|
|
|
|
/// <summary>
|
|
|
/// 配方编号
|
|
|
/// </summary>
|
|
|
public DataKeyValue GH_PC_SaveCode = new DataKeyValue("SaveCode");
|
|
|
|
|
|
public DataKeyValue GH_PC_SaveFinishedNum = new DataKeyValue("SaveFinishedNum");
|
|
|
public DataKeyValue GH_PC_SaveRow = new DataKeyValue("SaveRow");
|
|
|
public DataKeyValue GH_PC_SaveCol = new DataKeyValue("SaveCol");
|
|
|
public DataKeyValue GH_PC_SaveVCCSet = new DataKeyValue("SaveVCCSet");
|
|
|
public DataKeyValue GH_PC_SaveVCCAct = new DataKeyValue("SaveVCCAct");
|
|
|
public DataKeyValue GH_PC_SaveGFASet = new DataKeyValue("SaveGFASet");
|
|
|
public DataKeyValue GH_PC_SaveGFAAct = new DataKeyValue("SaveGFAAct");
|
|
|
public DataKeyValue GH_PC_Save3thSet = new DataKeyValue("Save3thSet");
|
|
|
public DataKeyValue GH_PC_Save3thAct = new DataKeyValue("Save3thAct");
|
|
|
public DataKeyValue GH_PC_SaveLevel = new DataKeyValue("SaveLevel");
|
|
|
public DataKeyValue GH_PC_SaveFillTime = new DataKeyValue("SaveFillTime");
|
|
|
public DataKeyValue GH_PC_SaveSpeed1 = new DataKeyValue("SaveSpeed1");
|
|
|
public DataKeyValue GH_PC_SaveSpeed2 = new DataKeyValue("SaveSpeed2");
|
|
|
public DataKeyValue GH_PC_SaveTime = new DataKeyValue("SaveTime");
|
|
|
public DataKeyValue GH_PC_SavePlanId = new DataKeyValue("SavePlanId");
|
|
|
public DataKeyValue GH_PC_SaveVCC2thSet = new DataKeyValue("SaveVCC2thSet");
|
|
|
public DataKeyValue GH_PC_SaveVCC2thAct = new DataKeyValue("SaveVCC2thAct");
|
|
|
public DataKeyValue GH_PC_SaveGFA2thSet = new DataKeyValue("SaveGFA2thSet");
|
|
|
public DataKeyValue GH_PC_SaveGFA2thAct = new DataKeyValue("SaveGFA2thAct");
|
|
|
|
|
|
|
|
|
|
|
|
public DataKeyValue WatchDog = new DataKeyValue("WatchDog");
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 存盘数据保存完成
|
|
|
/// </summary>
|
|
|
public DataKeyValue ChemicalWeighing_PC_RpSaved = new DataKeyValue("RpSaved");
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
// public DataKeyValue FirstWord { get; set; }
|
|
|
// public DataKeyValue Spare4 { get; set; }
|
|
|
//
|
|
|
// public DataKeyValue RecipePause { get; set; }
|
|
|
//
|
|
|
// public DataKeyValue recipeName0 { get; set; }
|
|
|
// public DataKeyValue Dryer0_speed { get; set; }
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 压送秤A气源压力 dbw12
|
|
|
/// </summary>
|
|
|
public DataKeyValue mainPress_V1_LowLimit { get; set; }
|
|
|
|
|
|
public DataKeyValue mainPress_V1_HighLimit { get; set; }
|
|
|
public DataKeyValue mainPress_V1_Alarm { get; set; }
|
|
|
|
|
|
//压送秤A顶部压力 dbw26
|
|
|
|
|
|
public DataKeyValue topPres_V1_LowLimit { get; set; }
|
|
|
public DataKeyValue topPres_V1_HighLimit { get; set; }
|
|
|
public DataKeyValue topPres_V1_Alarm { get; set; }
|
|
|
|
|
|
//压送秤A底部压力 dbw40
|
|
|
|
|
|
public DataKeyValue linePres_V1_LowLimit { get; set; }
|
|
|
public DataKeyValue linePres_V1_HighLimit { get; set; }
|
|
|
public DataKeyValue linePres_V1_Alarm { get; set; }
|
|
|
|
|
|
//压送秤B气源压力 dbw54
|
|
|
|
|
|
public DataKeyValue mainPress_V2_LowLimit { get; set; }
|
|
|
public DataKeyValue mainPress_V2_HighLimit { get; set; }
|
|
|
public DataKeyValue mainPress_V2_Alarm { get; set; }
|
|
|
|
|
|
|
|
|
//压送秤B顶部压力 dbw68
|
|
|
|
|
|
public DataKeyValue topPres_V2_LowLimit { get; set; }
|
|
|
public DataKeyValue topPres_V2_HighLimit { get; set; }
|
|
|
public DataKeyValue topPres_V2_Alarm { get; set; }
|
|
|
|
|
|
//压送秤B底部压力 dbw82
|
|
|
|
|
|
public DataKeyValue linePres_V2_LowLimit { get; set; }
|
|
|
public DataKeyValue linePres_V2_HighLimit { get; set; }
|
|
|
public DataKeyValue linePres_V2_Alarm { get; set; }
|
|
|
|
|
|
//压送秤C气源压力 dbw96
|
|
|
|
|
|
public DataKeyValue mainPress_V3_LowLimit { get; set; }
|
|
|
public DataKeyValue mainPress_V3_HighLimit { get; set; }
|
|
|
public DataKeyValue mainPress_V3_Alarm { get; set; }
|
|
|
|
|
|
|
|
|
//压送秤C顶部压力 dbw110
|
|
|
|
|
|
public DataKeyValue topPres_V3_LowLimit { get; set; }
|
|
|
public DataKeyValue topPres_V3_HighLimit { get; set; }
|
|
|
public DataKeyValue topPres_V3_Alarm { get; set; }
|
|
|
|
|
|
//压送秤C底部压力 dbw124
|
|
|
|
|
|
public DataKeyValue linePres_V3_LowLimit { get; set; }
|
|
|
public DataKeyValue linePres_V3_HighLimit { get; set; }
|
|
|
public DataKeyValue linePres_V3_Alarm { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
//压送秤C气源压力 dbw138
|
|
|
|
|
|
public DataKeyValue mainPress_V4_LowLimit { get; set; }
|
|
|
public DataKeyValue mainPress_V4_HighLimit { get; set; }
|
|
|
public DataKeyValue mainPress_V4_Alarm { get; set; }
|
|
|
|
|
|
|
|
|
//压送秤C顶部压力 dbw154
|
|
|
|
|
|
public DataKeyValue topPres_V4_LowLimit { get; set; }
|
|
|
public DataKeyValue topPres_V4_HighLimit { get; set; }
|
|
|
public DataKeyValue topPres_V4_Alarm { get; set; }
|
|
|
|
|
|
//压送秤C底部压力 dbw166
|
|
|
|
|
|
public DataKeyValue linePres_V4_LowLimit { get; set; }
|
|
|
public DataKeyValue linePres_V4_HighLimit { get; set; }
|
|
|
public DataKeyValue linePres_V4_Alarm { get; set; }
|
|
|
|
|
|
|
|
|
//压送秤C气源压力 dbw180
|
|
|
|
|
|
public DataKeyValue mainPress_V5_LowLimit { get; set; }
|
|
|
public DataKeyValue mainPress_V5_HighLimit { get; set; }
|
|
|
public DataKeyValue mainPress_V5_Alarm { get; set; }
|
|
|
|
|
|
|
|
|
//压送秤C顶部压力 dbw194
|
|
|
|
|
|
public DataKeyValue topPres_V5_LowLimit { get; set; }
|
|
|
public DataKeyValue topPres_V5_HighLimit { get; set; }
|
|
|
public DataKeyValue topPres_V5_Alarm { get; set; }
|
|
|
|
|
|
//压送秤C底部压力 dbw208
|
|
|
|
|
|
public DataKeyValue linePres_V5_LowLimit { get; set; }
|
|
|
public DataKeyValue linePres_V5_HighLimit { get; set; }
|
|
|
public DataKeyValue linePres_V5_Alarm { get; set; }
|
|
|
|
|
|
|
|
|
//日罐压力B1 dbw222
|
|
|
public DataKeyValue presDay_B1_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B1_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B1_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B1_Alarm { get; set; }
|
|
|
|
|
|
//日罐压力B2 dbw236
|
|
|
public DataKeyValue presDay_B2_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B2_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B2_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B2_Alarm { get; set; }
|
|
|
|
|
|
//日罐压力B3 dbw250
|
|
|
public DataKeyValue presDay_B3_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B3_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B3_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B3_Alarm { get; set; }
|
|
|
|
|
|
//日罐压力B4 dbw264
|
|
|
public DataKeyValue presDay_B4_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B4_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B4_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B4_Alarm { get; set; }
|
|
|
|
|
|
//日罐压力B5 dbw278
|
|
|
public DataKeyValue presDay_B5_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B5_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B5_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B5_Alarm { get; set; }
|
|
|
|
|
|
//日罐压力B6 dbw292
|
|
|
public DataKeyValue presDay_B6_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B6_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B6_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B6_Alarm { get; set; }
|
|
|
|
|
|
//日罐压力B7 dbw306
|
|
|
public DataKeyValue presDay_B7_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B7_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B7_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B7_Alarm { get; set; }
|
|
|
|
|
|
//日罐压力B8 dbw320
|
|
|
public DataKeyValue presDay_B8_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B8_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B8_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B8_Alarm { get; set; }
|
|
|
|
|
|
//日罐压力B9 dbw334
|
|
|
public DataKeyValue presDay_B9_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B9_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B9_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B9_Alarm { get; set; }
|
|
|
|
|
|
//日罐压力B10 dbw348
|
|
|
public DataKeyValue presDay_B10_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B10_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B10_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B10_Alarm { get; set; }
|
|
|
|
|
|
//日罐压力B11 dbw362
|
|
|
public DataKeyValue presDay_B11_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B11_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B11_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B11_Alarm { get; set; }
|
|
|
|
|
|
//日罐压力B12 dbw376
|
|
|
public DataKeyValue presDay_B12_ActualValue { get; set; }
|
|
|
public DataKeyValue presDay_B12_LowLimit { get; set; }
|
|
|
public DataKeyValue presDay_B12_HighLimit { get; set; }
|
|
|
public DataKeyValue presDay_B12_Alarm { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
//管道压力传感器1 dbw390
|
|
|
public DataKeyValue PR2PCP01_B12_ActualValue { get; set; }
|
|
|
public DataKeyValue PR2PCP01_B12_LowLimit { get; set; }
|
|
|
public DataKeyValue PR2PCP01_B12_HighLimit { get; set; }
|
|
|
public DataKeyValue PR2PCP01_B12_Alarm { get; set; }
|
|
|
|
|
|
|
|
|
//管道压力传感器2 dbw404
|
|
|
public DataKeyValue PR2PCP02_B12_ActualValue { get; set; }
|
|
|
public DataKeyValue PR2PCP02_B12_LowLimit { get; set; }
|
|
|
public DataKeyValue PR2PCP02_B12_HighLimit { get; set; }
|
|
|
public DataKeyValue PR2PCP02_B12_Alarm { get; set; }
|
|
|
|
|
|
//管道压力传感器3 dbw418
|
|
|
public DataKeyValue PR2PCP03_B12_ActualValue { get; set; }
|
|
|
public DataKeyValue PR2PCP03_B12_LowLimit { get; set; }
|
|
|
public DataKeyValue PR2PCP03_B12_HighLimit { get; set; }
|
|
|
public DataKeyValue PR2PCP03_B12_Alarm { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public DataKeyValue Hopper1_ActWeight { get; set; }
|
|
|
public DataKeyValue Hopper1_HighWeight { get; set; }
|
|
|
public DataKeyValue Hopper1_LowWeight { get; set; }
|
|
|
public DataKeyValue Hopper1_HighLevel { get; set; }
|
|
|
public DataKeyValue Hopper1_LowLevel { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public DataKeyValue Hopper2_ActWeight { get; set; }
|
|
|
public DataKeyValue Hopper2_HighWeight { get; set; }
|
|
|
public DataKeyValue Hopper2_LowWeight { get; set; }
|
|
|
public DataKeyValue Hopper2_HighLevel { get; set; }
|
|
|
public DataKeyValue Hopper2_LowLevel { get; set; }
|
|
|
|
|
|
public DataKeyValue Hopper3_ActWeight { get; set; }
|
|
|
public DataKeyValue Hopper3_HighWeight { get; set; }
|
|
|
public DataKeyValue Hopper3_LowWeight { get; set; }
|
|
|
public DataKeyValue Hopper3_HighLevel { get; set; }
|
|
|
public DataKeyValue Hopper3_LowLevel { get; set; }
|
|
|
|
|
|
public DataKeyValue Hopper4_ActWeight { get; set; }
|
|
|
public DataKeyValue Hopper4_HighWeight { get; set; }
|
|
|
public DataKeyValue Hopper4_LowWeight { get; set; }
|
|
|
public DataKeyValue Hopper4_HighLevel { get; set; }
|
|
|
public DataKeyValue Hopper4_LowLevel { get; set; }
|
|
|
|
|
|
|
|
|
public DataKeyValue Vessel1_ActWeight { get; set; }
|
|
|
public DataKeyValue Vessel1_HighWeight { get; set; }
|
|
|
public DataKeyValue Vessel1_LowWeight { get; set; }
|
|
|
public DataKeyValue Vessel1_HighLevel { get; set; }
|
|
|
public DataKeyValue Vessel1_LowLevel { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public DataKeyValue Vessel2_ActWeight { get; set; }
|
|
|
public DataKeyValue Vessel2_HighWeight { get; set; }
|
|
|
public DataKeyValue Vessel2_LowWeight { get; set; }
|
|
|
public DataKeyValue Vessel2_HighLevel { get; set; }
|
|
|
public DataKeyValue Vessel2_LowLevel { get; set; }
|
|
|
|
|
|
public DataKeyValue Vessel3_ActWeight { get; set; }
|
|
|
public DataKeyValue Vessel3_HighWeight { get; set; }
|
|
|
public DataKeyValue Vessel3_LowWeight { get; set; }
|
|
|
public DataKeyValue Vessel3_HighLevel { get; set; }
|
|
|
public DataKeyValue Vessel3_LowLevel { get; set; }
|
|
|
|
|
|
public DataKeyValue Vessel4_ActWeight { get; set; }
|
|
|
public DataKeyValue Vessel4_HighWeight { get; set; }
|
|
|
public DataKeyValue Vessel4_LowWeight { get; set; }
|
|
|
public DataKeyValue Vessel4_HighLevel { get; set; }
|
|
|
public DataKeyValue Vessel4_LowLevel { get; set; }
|
|
|
|
|
|
|
|
|
public DataKeyValue Vessel5_ActWeight { get; set; }
|
|
|
public DataKeyValue Vessel5_HighWeight { get; set; }
|
|
|
public DataKeyValue Vessel5_LowWeight { get; set; }
|
|
|
public DataKeyValue Vessel5_HighLevel { get; set; }
|
|
|
public DataKeyValue Vessel5_LowLevel { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public DataKeyValue WScale1_ActWeight { get; set; }
|
|
|
public DataKeyValue WScale1_HighWeight { get; set; }
|
|
|
public DataKeyValue WScale1_LowWeight { get; set; }
|
|
|
public DataKeyValue WScale1_HighLevel { get; set; }
|
|
|
public DataKeyValue WScale1_LowLevel { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public DataKeyValue WScale2_ActWeight { get; set; }
|
|
|
public DataKeyValue WScale2_HighWeight { get; set; }
|
|
|
public DataKeyValue WScale2_LowWeight { get; set; }
|
|
|
public DataKeyValue WScale2_HighLevel { get; set; }
|
|
|
public DataKeyValue WScale2_LowLevel { get; set; }
|
|
|
|
|
|
public DataKeyValue WScale3_ActWeight { get; set; }
|
|
|
public DataKeyValue WScale3_HighWeight { get; set; }
|
|
|
public DataKeyValue WScale3_LowWeight { get; set; }
|
|
|
public DataKeyValue WScale3_HighLevel { get; set; }
|
|
|
public DataKeyValue WScale3_LowLevel { get; set; }
|
|
|
|
|
|
public DataKeyValue WScale4_ActWeight { get; set; }
|
|
|
public DataKeyValue WScale4_HighWeight { get; set; }
|
|
|
public DataKeyValue WScale4_LowWeight { get; set; }
|
|
|
public DataKeyValue WScale4_HighLevel { get; set; }
|
|
|
public DataKeyValue WScale4_LowLevel { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public DataKeyValue conveyV1_PV { get; set; }
|
|
|
public DataKeyValue conveyV1_SV { get; set; }
|
|
|
|
|
|
|
|
|
public DataKeyValue purgeV1_PV { get; set; }
|
|
|
public DataKeyValue purgeV1_SV { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public DataKeyValue conveyV2_PV { get; set; }
|
|
|
public DataKeyValue conveyV2_SV { get; set; }
|
|
|
|
|
|
public DataKeyValue purgeV2_PV { get; set; }
|
|
|
public DataKeyValue purgeV2_SV { get; set; }
|
|
|
public DataKeyValue conveyV3_PV { get; set; }
|
|
|
public DataKeyValue conveyV3_SV { get; set; }
|
|
|
public DataKeyValue purgeV3_PV { get; set; }
|
|
|
public DataKeyValue purgeV3_SV { get; set; }
|
|
|
public DataKeyValue conveyV4_PV { get; set; }
|
|
|
public DataKeyValue conveyV4_SV { get; set; }
|
|
|
public DataKeyValue purgeV4_PV { get; set; }
|
|
|
public DataKeyValue purgeV4_SV { get; set; }
|
|
|
public DataKeyValue conveyV5_SV { get; set; }
|
|
|
public DataKeyValue purgeV5_PV { get; set; }
|
|
|
public DataKeyValue purgeV5_SV { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public DataKeyValue weightPraSilo0_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo0_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo0_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo0_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo0_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo1_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo1_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo1_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo1_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo1_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo2_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo2_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo2_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo2_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo2_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo3_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo3_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo3_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo3_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo3_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo4_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo4_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo4_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo4_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo4_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo5_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo5_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo5_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo5_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo5_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo6_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo6_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo6_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo6_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo6_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo7_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo7_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo7_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo7_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo7_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo8_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo8_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo8_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo8_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo8_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo9_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo9_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo9_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo9_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo9_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo10_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo10_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo10_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo10_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo10_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo11_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo11_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo11_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo11_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo11_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo12_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo12_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo12_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo12_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo12_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo13_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo13_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo13_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo13_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo13_JogTime { get; set; }
|
|
|
public DataKeyValue weightPraSilo14_HighSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo14_LowSpeed { get; set; }
|
|
|
public DataKeyValue weightPraSilo14_WeightSlow { get; set; }
|
|
|
public DataKeyValue weightPraSilo14_Precut { get; set; }
|
|
|
public DataKeyValue weightPraSilo14_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin0_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin0_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin0_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin0_Precut { get; set; }
|
|
|
public DataKeyValue Daybin0_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin1_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin1_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin1_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin1_Precut { get; set; }
|
|
|
public DataKeyValue Daybin1_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin2_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin2_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin2_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin2_Precut { get; set; }
|
|
|
public DataKeyValue Daybin2_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin3_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin3_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin3_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin3_Precut { get; set; }
|
|
|
public DataKeyValue Daybin3_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin4_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin4_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin4_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin4_Precut { get; set; }
|
|
|
public DataKeyValue Daybin4_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin5_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin5_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin5_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin5_Precut { get; set; }
|
|
|
public DataKeyValue Daybin5_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin6_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin6_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin6_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin6_Precut { get; set; }
|
|
|
public DataKeyValue Daybin6_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin7_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin7_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin7_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin7_Precut { get; set; }
|
|
|
public DataKeyValue Daybin7_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin8_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin8_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin8_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin8_Precut { get; set; }
|
|
|
public DataKeyValue Daybin8_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin9_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin9_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin9_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin9_Precut { get; set; }
|
|
|
public DataKeyValue Daybin9_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin10_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin10_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin10_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin10_Precut { get; set; }
|
|
|
public DataKeyValue Daybin10_JogTime { get; set; }
|
|
|
public DataKeyValue Daybin11_HighSpeed { get; set; }
|
|
|
public DataKeyValue Daybin11_LowSpeed { get; set; }
|
|
|
public DataKeyValue Daybin11_WeightSlow { get; set; }
|
|
|
public DataKeyValue Daybin11_Precut { get; set; }
|
|
|
public DataKeyValue Daybin11_JogTime { get; set; }
|
|
|
public DataKeyValue Hoper0_HighSpeed { get; set; }
|
|
|
public DataKeyValue Hoper0_LowSpeed { get; set; }
|
|
|
public DataKeyValue Hoper0_WeightSlow { get; set; }
|
|
|
public DataKeyValue Hoper0_Precut { get; set; }
|
|
|
public DataKeyValue Hoper0_JogTime { get; set; }
|
|
|
public DataKeyValue Hoper1_HighSpeed { get; set; }
|
|
|
public DataKeyValue Hoper1_LowSpeed { get; set; }
|
|
|
public DataKeyValue Hoper1_WeightSlow { get; set; }
|
|
|
public DataKeyValue Hoper1_Precut { get; set; }
|
|
|
public DataKeyValue Hoper1_JogTime { get; set; }
|
|
|
public DataKeyValue Hoper2_HighSpeed { get; set; }
|
|
|
public DataKeyValue Hoper2_LowSpeed { get; set; }
|
|
|
public DataKeyValue Hoper2_WeightSlow { get; set; }
|
|
|
public DataKeyValue Hoper2_Precut { get; set; }
|
|
|
public DataKeyValue Hoper2_JogTime { get; set; }
|
|
|
public DataKeyValue Hoper3_HighSpeed { get; set; }
|
|
|
public DataKeyValue Hoper3_LowSpeed { get; set; }
|
|
|
public DataKeyValue Hoper3_WeightSlow { get; set; }
|
|
|
public DataKeyValue Hoper3_Precut { get; set; }
|
|
|
public DataKeyValue Hoper3_JogTime { get; set; }
|
|
|
public DataKeyValue Water0_HighSpeed { get; set; }
|
|
|
public DataKeyValue Water0_LowSpeed { get; set; }
|
|
|
public DataKeyValue Water0_WeightSlow { get; set; }
|
|
|
public DataKeyValue Water0_Precut { get; set; }
|
|
|
public DataKeyValue Water0_JogTime { get; set; }
|
|
|
public DataKeyValue Water1_HighSpeed { get; set; }
|
|
|
public DataKeyValue Water1_LowSpeed { get; set; }
|
|
|
public DataKeyValue Water1_WeightSlow { get; set; }
|
|
|
public DataKeyValue Water1_Precut { get; set; }
|
|
|
public DataKeyValue Water1_JogTime { get; set; }
|
|
|
public DataKeyValue Water2_HighSpeed { get; set; }
|
|
|
public DataKeyValue Water2_LowSpeed { get; set; }
|
|
|
public DataKeyValue Water2_WeightSlow { get; set; }
|
|
|
public DataKeyValue Water2_Precut { get; set; }
|
|
|
public DataKeyValue Water2_JogTime { get; set; }
|
|
|
public DataKeyValue Water3_HighSpeed { get; set; }
|
|
|
public DataKeyValue Water3_LowSpeed { get; set; }
|
|
|
public DataKeyValue Water3_WeightSlow { get; set; }
|
|
|
public DataKeyValue Water3_Precut { get; set; }
|
|
|
public DataKeyValue Water3_JogTime { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public DataKeyValue SpeedD1 { get; set; }
|
|
|
public DataKeyValue SpeedD2 { get; set; }
|
|
|
public DataKeyValue SpeedD3 { get; set; }
|
|
|
public DataKeyValue SpeedD4 { get; set; }
|
|
|
|
|
|
public DataKeyValue SpeedG1 { get; set; }
|
|
|
public DataKeyValue SpeedG2 { get; set; }
|
|
|
public DataKeyValue SpeedG3 { get; set; }
|
|
|
public DataKeyValue SpeedG4 { get; set; }
|
|
|
|
|
|
public DataKeyValue SpeedG5 { get; set; }
|
|
|
public DataKeyValue SpeedG6 { get; set; }
|
|
|
public DataKeyValue SpeedG7 { get; set; }
|
|
|
public DataKeyValue SpeedG8 { get; set; }
|
|
|
|
|
|
|
|
|
public DataKeyValue SpeedH1 { get; set; }
|
|
|
public DataKeyValue SpeedH2 { get; set; }
|
|
|
public DataKeyValue SpeedH3 { get; set; }
|
|
|
public DataKeyValue SpeedH4 { get; set; }
|
|
|
|
|
|
|
|
|
public DataKeyValue SpeedS1 { get; set; }
|
|
|
public DataKeyValue SpeedS5 { get; set; }
|
|
|
public DataKeyValue SpeedS7 { get; set; }
|
|
|
public DataKeyValue SpeedS11 { get; set; }
|
|
|
public DataKeyValue SpeedS15 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public DataKeyValue Dryer0_mode { get; set; }
|
|
|
public DataKeyValue Dryer0_status { get; set; }
|
|
|
public DataKeyValue Dryer0_batch { get; set; }
|
|
|
public DataKeyValue Dryer0_step { get; set; }
|
|
|
public DataKeyValue Dryer0_stepCode { get; set; }
|
|
|
public DataKeyValue Dryer0_totalTime { get; set; }
|
|
|
public DataKeyValue Dryer0_stepTime { get; set; }
|
|
|
public DataKeyValue Dryer0_temperature { get; set; }
|
|
|
public DataKeyValue Dryer0_speed { get; set; }
|
|
|
public DataKeyValue Dryer0_currnet { get; set; }
|
|
|
public DataKeyValue Dryer0_pressure { get; set; }
|
|
|
|
|
|
public DataKeyValue Dryer1_mode { get; set; }
|
|
|
public DataKeyValue Dryer1_status { get; set; }
|
|
|
public DataKeyValue Dryer1_batch { get; set; }
|
|
|
public DataKeyValue Dryer1_step { get; set; }
|
|
|
public DataKeyValue Dryer1_stepCode { get; set; }
|
|
|
public DataKeyValue Dryer1_totalTime { get; set; }
|
|
|
public DataKeyValue Dryer1_stepTime { get; set; }
|
|
|
public DataKeyValue Dryer1_temperature { get; set; }
|
|
|
public DataKeyValue Dryer1_speed { get; set; }
|
|
|
public DataKeyValue Dryer1_currnet { get; set; }
|
|
|
public DataKeyValue Dryer1_pressure { get; set; }
|
|
|
public DataKeyValue Dryer2_mode { get; set; }
|
|
|
public DataKeyValue Dryer2_status { get; set; }
|
|
|
public DataKeyValue Dryer2_batch { get; set; }
|
|
|
public DataKeyValue Dryer2_step { get; set; }
|
|
|
public DataKeyValue Dryer2_stepCode { get; set; }
|
|
|
public DataKeyValue Dryer2_totalTime { get; set; }
|
|
|
public DataKeyValue Dryer2_stepTime { get; set; }
|
|
|
public DataKeyValue Dryer2_temperature { get; set; }
|
|
|
public DataKeyValue Dryer2_speed { get; set; }
|
|
|
public DataKeyValue Dryer2_currnet { get; set; }
|
|
|
public DataKeyValue Dryer2_pressure { get; set; }
|
|
|
public DataKeyValue Dryer3_mode { get; set; }
|
|
|
public DataKeyValue Dryer3_status { get; set; }
|
|
|
public DataKeyValue Dryer3_batch { get; set; }
|
|
|
public DataKeyValue Dryer3_step { get; set; }
|
|
|
public DataKeyValue Dryer3_stepCode { get; set; }
|
|
|
public DataKeyValue Dryer3_totalTime { get; set; }
|
|
|
public DataKeyValue Dryer3_stepTime { get; set; }
|
|
|
public DataKeyValue Dryer3_temperature { get; set; }
|
|
|
public DataKeyValue Dryer3_speed { get; set; }
|
|
|
public DataKeyValue Dryer3_currnet { get; set; }
|
|
|
public DataKeyValue Dryer3_pressure { get; set; }
|
|
|
|
|
|
public DataKeyValue Gelater0_mode { get; set; }
|
|
|
public DataKeyValue Gelater0_status { get; set; }
|
|
|
public DataKeyValue Gelater0_batch { get; set; }
|
|
|
public DataKeyValue Gelater0_step { get; set; }
|
|
|
public DataKeyValue Gelater0_stepCode { get; set; }
|
|
|
public DataKeyValue Gelater0_totalTime { get; set; }
|
|
|
public DataKeyValue Gelater0_stepTime { get; set; }
|
|
|
public DataKeyValue Gelater0_temperature { get; set; }
|
|
|
public DataKeyValue Gelater0_speed { get; set; }
|
|
|
public DataKeyValue Gelater0_currnet { get; set; }
|
|
|
public DataKeyValue Gelater0_pressure { get; set; }
|
|
|
public DataKeyValue Gelater1_mode { get; set; }
|
|
|
public DataKeyValue Gelater1_status { get; set; }
|
|
|
public DataKeyValue Gelater1_batch { get; set; }
|
|
|
public DataKeyValue Gelater1_step { get; set; }
|
|
|
public DataKeyValue Gelater1_stepCode { get; set; }
|
|
|
public DataKeyValue Gelater1_totalTime { get; set; }
|
|
|
public DataKeyValue Gelater1_stepTime { get; set; }
|
|
|
public DataKeyValue Gelater1_temperature { get; set; }
|
|
|
public DataKeyValue Gelater1_speed { get; set; }
|
|
|
public DataKeyValue Gelater1_currnet { get; set; }
|
|
|
public DataKeyValue Gelater1_pressure { get; set; }
|
|
|
public DataKeyValue Gelater2_mode { get; set; }
|
|
|
public DataKeyValue Gelater2_status { get; set; }
|
|
|
public DataKeyValue Gelater2_batch { get; set; }
|
|
|
public DataKeyValue Gelater2_step { get; set; }
|
|
|
public DataKeyValue Gelater2_stepCode { get; set; }
|
|
|
public DataKeyValue Gelater2_totalTime { get; set; }
|
|
|
public DataKeyValue Gelater2_stepTime { get; set; }
|
|
|
public DataKeyValue Gelater2_temperature { get; set; }
|
|
|
public DataKeyValue Gelater2_speed { get; set; }
|
|
|
public DataKeyValue Gelater2_currnet { get; set; }
|
|
|
public DataKeyValue Gelater2_pressure { get; set; }
|
|
|
public DataKeyValue Gelater3_mode { get; set; }
|
|
|
public DataKeyValue Gelater3_status { get; set; }
|
|
|
public DataKeyValue Gelater3_batch { get; set; }
|
|
|
public DataKeyValue Gelater3_step { get; set; }
|
|
|
public DataKeyValue Gelater3_stepCode { get; set; }
|
|
|
public DataKeyValue Gelater3_totalTime { get; set; }
|
|
|
public DataKeyValue Gelater3_stepTime { get; set; }
|
|
|
public DataKeyValue Gelater3_temperature { get; set; }
|
|
|
public DataKeyValue Gelater3_speed { get; set; }
|
|
|
public DataKeyValue Gelater3_currnet { get; set; }
|
|
|
public DataKeyValue Gelater3_pressure { get; set; }
|
|
|
public DataKeyValue Gelater4_mode { get; set; }
|
|
|
public DataKeyValue Gelater4_status { get; set; }
|
|
|
public DataKeyValue Gelater4_batch { get; set; }
|
|
|
public DataKeyValue Gelater4_step { get; set; }
|
|
|
public DataKeyValue Gelater4_stepCode { get; set; }
|
|
|
public DataKeyValue Gelater4_totalTime { get; set; }
|
|
|
public DataKeyValue Gelater4_stepTime { get; set; }
|
|
|
public DataKeyValue Gelater4_temperature { get; set; }
|
|
|
public DataKeyValue Gelater4_speed { get; set; }
|
|
|
public DataKeyValue Gelater4_currnet { get; set; }
|
|
|
public DataKeyValue Gelater4_pressure { get; set; }
|
|
|
public DataKeyValue Gelater5_mode { get; set; }
|
|
|
public DataKeyValue Gelater5_status { get; set; }
|
|
|
public DataKeyValue Gelater5_batch { get; set; }
|
|
|
public DataKeyValue Gelater5_step { get; set; }
|
|
|
public DataKeyValue Gelater5_stepCode { get; set; }
|
|
|
public DataKeyValue Gelater5_totalTime { get; set; }
|
|
|
public DataKeyValue Gelater5_stepTime { get; set; }
|
|
|
public DataKeyValue Gelater5_temperature { get; set; }
|
|
|
public DataKeyValue Gelater5_speed { get; set; }
|
|
|
public DataKeyValue Gelater5_currnet { get; set; }
|
|
|
public DataKeyValue Gelater5_pressure { get; set; }
|
|
|
public DataKeyValue Gelater6_mode { get; set; }
|
|
|
public DataKeyValue Gelater6_status { get; set; }
|
|
|
public DataKeyValue Gelater6_batch { get; set; }
|
|
|
public DataKeyValue Gelater6_step { get; set; }
|
|
|
public DataKeyValue Gelater6_stepCode { get; set; }
|
|
|
public DataKeyValue Gelater6_totalTime { get; set; }
|
|
|
public DataKeyValue Gelater6_stepTime { get; set; }
|
|
|
public DataKeyValue Gelater6_temperature { get; set; }
|
|
|
public DataKeyValue Gelater6_speed { get; set; }
|
|
|
public DataKeyValue Gelater6_currnet { get; set; }
|
|
|
public DataKeyValue Gelater6_pressure { get; set; }
|
|
|
public DataKeyValue Gelater7_mode { get; set; }
|
|
|
public DataKeyValue Gelater7_status { get; set; }
|
|
|
public DataKeyValue Gelater7_batch { get; set; }
|
|
|
public DataKeyValue Gelater7_step { get; set; }
|
|
|
public DataKeyValue Gelater7_stepCode { get; set; }
|
|
|
public DataKeyValue Gelater7_totalTime { get; set; }
|
|
|
public DataKeyValue Gelater7_stepTime { get; set; }
|
|
|
public DataKeyValue Gelater7_temperature { get; set; }
|
|
|
public DataKeyValue Gelater7_speed { get; set; }
|
|
|
public DataKeyValue Gelater7_currnet { get; set; }
|
|
|
public DataKeyValue Gelater7_pressure { get; set; }
|
|
|
public DataKeyValue Weter0_mode { get; set; }
|
|
|
public DataKeyValue Weter0_status { get; set; }
|
|
|
public DataKeyValue Weter0_batch { get; set; }
|
|
|
public DataKeyValue Weter0_step { get; set; }
|
|
|
public DataKeyValue Weter0_stepCode { get; set; }
|
|
|
public DataKeyValue Weter0_totalTime { get; set; }
|
|
|
public DataKeyValue Weter0_stepTime { get; set; }
|
|
|
public DataKeyValue Weter0_temperature { get; set; }
|
|
|
public DataKeyValue Weter0_speed { get; set; }
|
|
|
public DataKeyValue Weter0_currnet { get; set; }
|
|
|
public DataKeyValue Weter0_pressure { get; set; }
|
|
|
public DataKeyValue Weter1_mode { get; set; }
|
|
|
public DataKeyValue Weter1_status { get; set; }
|
|
|
public DataKeyValue Weter1_batch { get; set; }
|
|
|
public DataKeyValue Weter1_step { get; set; }
|
|
|
public DataKeyValue Weter1_stepCode { get; set; }
|
|
|
public DataKeyValue Weter1_totalTime { get; set; }
|
|
|
public DataKeyValue Weter1_stepTime { get; set; }
|
|
|
public DataKeyValue Weter1_temperature { get; set; }
|
|
|
public DataKeyValue Weter1_speed { get; set; }
|
|
|
public DataKeyValue Weter1_currnet { get; set; }
|
|
|
public DataKeyValue Weter1_pressure { get; set; }
|
|
|
public DataKeyValue Weter2_mode { get; set; }
|
|
|
public DataKeyValue Weter2_status { get; set; }
|
|
|
public DataKeyValue Weter2_batch { get; set; }
|
|
|
public DataKeyValue Weter2_step { get; set; }
|
|
|
public DataKeyValue Weter2_stepCode { get; set; }
|
|
|
public DataKeyValue Weter2_totalTime { get; set; }
|
|
|
public DataKeyValue Weter2_stepTime { get; set; }
|
|
|
public DataKeyValue Weter2_temperature { get; set; }
|
|
|
public DataKeyValue Weter2_speed { get; set; }
|
|
|
public DataKeyValue Weter2_currnet { get; set; }
|
|
|
public DataKeyValue Weter2_pressure { get; set; }
|
|
|
public DataKeyValue Weter3_mode { get; set; }
|
|
|
public DataKeyValue Weter3_status { get; set; }
|
|
|
public DataKeyValue Weter3_batch { get; set; }
|
|
|
public DataKeyValue Weter3_step { get; set; }
|
|
|
public DataKeyValue Weter3_stepCode { get; set; }
|
|
|
public DataKeyValue Weter3_totalTime { get; set; }
|
|
|
public DataKeyValue Weter3_stepTime { get; set; }
|
|
|
public DataKeyValue Weter3_temperature { get; set; }
|
|
|
public DataKeyValue Weter3_speed { get; set; }
|
|
|
public DataKeyValue Weter3_currnet { get; set; }
|
|
|
public DataKeyValue Weter3_pressure { get; set; }
|
|
|
public DataKeyValue Weter4_mode { get; set; }
|
|
|
public DataKeyValue Weter4_status { get; set; }
|
|
|
public DataKeyValue Weter4_batch { get; set; }
|
|
|
public DataKeyValue Weter4_step { get; set; }
|
|
|
public DataKeyValue Weter4_stepCode { get; set; }
|
|
|
public DataKeyValue Weter4_totalTime { get; set; }
|
|
|
public DataKeyValue Weter4_stepTime { get; set; }
|
|
|
public DataKeyValue Weter4_temperature { get; set; }
|
|
|
public DataKeyValue Weter4_speed { get; set; }
|
|
|
public DataKeyValue Weter4_currnet { get; set; }
|
|
|
public DataKeyValue Weter4_pressure { get; set; }
|
|
|
public DataKeyValue Weter5_mode { get; set; }
|
|
|
public DataKeyValue Weter5_status { get; set; }
|
|
|
public DataKeyValue Weter5_batch { get; set; }
|
|
|
public DataKeyValue Weter5_step { get; set; }
|
|
|
public DataKeyValue Weter5_stepCode { get; set; }
|
|
|
public DataKeyValue Weter5_totalTime { get; set; }
|
|
|
public DataKeyValue Weter5_stepTime { get; set; }
|
|
|
public DataKeyValue Weter5_temperature { get; set; }
|
|
|
public DataKeyValue Weter5_speed { get; set; }
|
|
|
public DataKeyValue Weter5_currnet { get; set; }
|
|
|
public DataKeyValue Weter5_pressure { get; set; }
|
|
|
public DataKeyValue Weter6_mode { get; set; }
|
|
|
public DataKeyValue Weter6_status { get; set; }
|
|
|
public DataKeyValue Weter6_batch { get; set; }
|
|
|
public DataKeyValue Weter6_step { get; set; }
|
|
|
public DataKeyValue Weter6_stepCode { get; set; }
|
|
|
public DataKeyValue Weter6_totalTime { get; set; }
|
|
|
public DataKeyValue Weter6_stepTime { get; set; }
|
|
|
public DataKeyValue Weter6_temperature { get; set; }
|
|
|
public DataKeyValue Weter6_speed { get; set; }
|
|
|
public DataKeyValue Weter6_currnet { get; set; }
|
|
|
public DataKeyValue Weter6_pressure { get; set; }
|
|
|
public DataKeyValue Weter7_mode { get; set; }
|
|
|
public DataKeyValue Weter7_status { get; set; }
|
|
|
public DataKeyValue Weter7_batch { get; set; }
|
|
|
public DataKeyValue Weter7_step { get; set; }
|
|
|
public DataKeyValue Weter7_stepCode { get; set; }
|
|
|
public DataKeyValue Weter7_totalTime { get; set; }
|
|
|
public DataKeyValue Weter7_stepTime { get; set; }
|
|
|
public DataKeyValue Weter7_temperature { get; set; }
|
|
|
public DataKeyValue Weter7_speed { get; set; }
|
|
|
public DataKeyValue Weter7_currnet { get; set; }
|
|
|
public DataKeyValue Weter7_pressure { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|