using IWareCC.Properties;
using IWareCommon.Enum.Conveyor;
using IWareCommon.Help;
using S7.Net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace IWareCC.Conveyor.Entity
{
public class ConveyorEntity
{
private System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();
public int ConveyorType { get; set; }
///
/// 输送线名称
///
public string ConveyorName { get; set; }
///
/// PLCl连接字符串
///
public string PLCContionString { get; set; }
///
/// 设备Id
///
public int DeviceId { get; set; }
///
/// 是否在线
///
public bool IsOnline { get; set; }
///
/// 下线次数
///
public int OffLineTimes { get; set; }
///
/// 上一次心跳数
///
public int LastHandShake { get; set; }
///
/// 连接PLC读的对象
///
public PlcS7 RCVS71500 { get; set; }
///
/// 连接PLC写的对象
///
public PlcS7 WCVS71500 { get; set; }
#region 输送线信息写入
public int WHandShake { get; set; }
///
/// 设备编号
///
public string WConveyorNo { get; set; }
///
/// 任务号
///
public int WTaskNo { get; set; }
///
/// 目标端口点
///
public int WToStationNo { get; set; }
///
/// 急停
///
public bool WEStop { get; set; }
///
/// 任务取消
///
public bool WTaskCancel { get; set; }
///
/// 确认收到任务完成
///
public bool WConfirmTaskFinish { get; set; }
///
/// 任务下完成信号
///
public bool WSTP { get; set; }
#endregion
#region 输送线信息读取
///
/// 心跳
///
public int RHandShake { get; set; }
///
/// 设备编号
///
public string RConveyorNo { get; set; }
///
/// 任务号
///
public int RTaskNo { get; set; }
///
/// 当前目标位置
///
public int RDestination { get; set; }
///
/// 是否有报警
///
public bool RAlarm { get; set; }
///
/// 光电1状态(1有货;2无货)
///
public int RPh1 { get; set; }
///
/// ///
/// 光电2状态(1有货;2无货)
///
///
public int RPh2 { get; set; }
///
/// 光电1状态(1有货;2无货)
///
public int RPh3 { get; set; }
///
/// 任务完成
///
public bool RTaskfinish { get; set; }
///
/// 报警代码
///
public int RAlarmCode { get; set; }
///
/// 外形检测(0通过,1前超,2后超,3左超,4右超,5超高)
///
public int RShape { get; set; }
///
/// 任务收到确认
///
public bool RAck { get; set; }
///
/// 模式
///
public int RMode { get; set; }
///
/// 状态
///
public int RState { get; set; }
///
/// 状态,输送线的光电检测高度
///
public int RHeight { get; set; }
#endregion
public OpcReadItem OpcReadItems { get; set; }
public OpcWriteItem OpcWriteItems { get; set; }
public ConveyorEntity() { }
public ConveyorEntity(string conveyorName, int deviceId, int type, PlcS7 plc)
{
this.ConveyorType = type;
this.ConveyorName = conveyorName;
this.DeviceId = deviceId;
this.WCVS71500 = plc;
switch (conveyorName)
{
#region 入库口线体
case "Line1030":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD232",
ToStationNo = "DB601.DBW236",
EStop = "DB601.DBX238.0",
TaskCancel = "DB601.DBX238.1",
STP = "DB601.DBX238.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW640",
Ph1 = "DB600.DBW642",
Ph2 = "DB600.DBW644",
State = "DB600.DBW646",
Alarm = "DB600.DBX648.0",
AlarmCode = "DB600.DBW650",
TaskNo = "DB600.DBD652",
Destination = "DB600.DBW656",
Ack = "DB600.DBX658.0",
Shape = "DB600.DBW644",
HandShake = "DB600.DBW0",
};
break;
case "Line1031":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD240",
ToStationNo = "DB601.DBW244",
EStop = "DB601.DBX246.0",
TaskCancel = "DB601.DBX246.1",
STP = "DB601.DBX246.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW662",
Ph1 = "DB600.DBW664",
Ph2 = "DB600.DBW666",
State = "DB600.DBW668",
Alarm = "DB600.DBX670.0",
AlarmCode = "DB600.DBW672",
TaskNo = "DB600.DBD674",
Destination = "DB600.DBW678",
Ack = "DB600.DBX680.0",
Shape = "DB600.DBW682",
HandShake = "DB600.DBW0",
};
break;
case "Line1032":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD248",
ToStationNo = "DB601.DBW252",
EStop = "DB601.DBX254.0",
TaskCancel = "DB601.DBX254.1",
STP = "DB601.DBX254.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW684",
Ph1 = "DB600.DBW686",
Ph2 = "DB600.DBW688",
State = "DB600.DBW690",
Alarm = "DB600.DBX692.0",
AlarmCode = "DB600.DBW694",
TaskNo = "DB600.DBD696",
Destination = "DB600.DBW700",
Ack = "DB600.DBX702.0",
Shape = "DB600.DBW704",
HandShake = "DB600.DBW0",
};
break;
case "Line1033":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD256",
ToStationNo = "DB601.DBW260",
EStop = "DB601.DBX262.0",
TaskCancel = "DB601.DBX262.1",
STP = "DB601.DBX262.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW706",
Ph1 = "DB600.DBW708",
Ph2 = "DB600.DBW710",
State = "DB600.DBW712",
Alarm = "DB600.DBX714.0",
AlarmCode = "DB600.DBW716",
TaskNo = "DB600.DBD718",
Destination = "DB600.DBW722",
Ack = "DB600.DBX724.0",
Shape = "DB600.DBW726",
HandShake = "DB600.DBW0",
};
break;
#endregion
#region 出库口线体
case "Line1016":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD120",
ToStationNo = "DB601.DBW124",
EStop = "DB601.DBX126.0",
TaskCancel = "DB601.DBX126.1",
STP = "DB601.DBX126.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW332",
Ph1 = "DB600.DBW334",
Ph2 = "DB600.DBW336",
State = "DB600.DBW338",
Alarm = "DB600.DBX340.0",
AlarmCode = "DB600.DBW342",
TaskNo = "DB600.DBD344",
Destination = "DB600.DBW348",
Ack = "DB600.DBX350.0",
Shape = "DB600.DBW352",
HandShake = "DB600.DBW0",
};
break;
case "Line1015":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD112",
ToStationNo = "DB601.DBW116",
EStop = "DB601.DBX118.0",
TaskCancel = "DB601.DBX118.1",
STP = "DB601.DBX118.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW310",
Ph1 = "DB600.DBW312",
Ph2 = "DB600.DBW314",
State = "DB600.DBW316",
Alarm = "DB600.DBX318.0",
AlarmCode = "DB600.DBW320",
TaskNo = "DB600.DBD322",
Destination = "DB600.DBW326",
Ack = "DB600.DBX328.0",
Shape = "DB600.DBW330",
HandShake = "DB600.DBW0",
};
break;
case "Line1014":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD104",
ToStationNo = "DB601.DBW108",
EStop = "DB601.DBX110.0",
TaskCancel = "DB601.DBX110.1",
STP = "DB601.DBX110.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW288",
Ph1 = "DB600.DBW290",
Ph2 = "DB600.DBW292",
State = "DB600.DBW294",
Alarm = "DB600.DBX296.0",
AlarmCode = "DB600.DBW298",
TaskNo = "DB600.DBD300",
Destination = "DB600.DBW304",
Ack = "DB600.DBX306.0",
Shape = "DB600.DBW308",
HandShake = "DB600.DBW0",
};
break;
case "Line1013":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD96",
ToStationNo = "DB601.DBW100",
EStop = "DB601.DBX102.0",
TaskCancel = "DB601.DBX102.1",
STP = "DB601.DBX102.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW266",
Ph1 = "DB600.DBW268",
Ph2 = "DB600.DBW270",
State = "DB600.DBW272",
Alarm = "DB600.DBX274.0",
AlarmCode = "DB600.DBW276",
TaskNo = "DB600.DBD278",
Destination = "DB600.DBW282",
Ack = "DB600.DBX284.0",
Shape = "DB600.DBW286",
HandShake = "DB600.DBW0",
};
break;
#endregion
#region 入库小盘线体
case "Line1021":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD160",
ToStationNo = "DB601.DBW164",
EStop = "DB601.DBX166.0",
TaskCancel = "DB601.DBX166.1",
STP = "DB601.DBX166.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW442",
Ph1 = "DB600.DBW444",
Ph2 = "DB600.DBW446",
State = "DB600.DBW448",
Alarm = "DB600.DBX450.0",
AlarmCode = "DB600.DBW452",
TaskNo = "DB600.DBD454",
Destination = "DB600.DBW458",
Ack = "DB600.DBX460.0",
Shape = "DB600.DBW462",
HandShake = "DB600.DBW0",
};
break;
case "Line1022":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD168",
ToStationNo = "DB601.DBW172",
EStop = "DB601.DBX174.0",
TaskCancel = "DB601.DBX174.1",
STP = "DB601.DBX174.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW464",
Ph1 = "DB600.DBW466",
Ph2 = "DB600.DBW468",
State = "DB600.DBW470",
Alarm = "DB600.DBX472.0",
AlarmCode = "DB600.DBW474",
TaskNo = "DB600.DBD476",
Destination = "DB600.DBW480",
Ack = "DB600.DBX482.0",
Shape = "DB600.DBW484",
HandShake = "DB600.DBW0",
};
break;
case "Line1023":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD176",
ToStationNo = "DB601.DBW180",
EStop = "DB601.DBX182.0",
TaskCancel = "DB601.DBX182.1",
STP = "DB601.DBX182.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW486",
Ph1 = "DB600.DBW488",
Ph2 = "DB600.DBW490",
State = "DB600.DBW492",
Alarm = "DB600.DBX494.0",
AlarmCode = "DB600.DBW496",
TaskNo = "DB600.DBD498",
Destination = "DB600.DBW502",
Ack = "DB600.DBX504.0",
Shape = "DB600.DBW506",
HandShake = "DB600.DBW0",
};
break;
case "Line1024":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD184",
ToStationNo = "DB601.DBW188",
EStop = "DB601.DBX190.0",
TaskCancel = "DB601.DBX190.1",
STP = "DB601.DBX190.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW508",
Ph1 = "DB600.DBW510",
Ph2 = "DB600.DBW512",
State = "DB600.DBW514",
Alarm = "DB600.DBX516.0",
AlarmCode = "DB600.DBW518",
TaskNo = "DB600.DBD520",
Destination = "DB600.DBW524",
Ack = "DB600.DBX526.0",
Shape = "DB600.DBW528",
HandShake = "DB600.DBW0",
};
break;
#endregion
#region 入库大盘线体
case "Line1026":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD200",
ToStationNo = "DB601.DBW204",
EStop = "DB601.DBX206.0",
TaskCancel = "DB601.DBX206.1",
STP = "DB601.DBX206.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW552",
Ph1 = "DB600.DBW554",
Ph2 = "DB600.DBW556",
State = "DB600.DBW558",
Alarm = "DB600.DBX560.0",
AlarmCode = "DB600.DBW562",
TaskNo = "DB600.DBD564",
Destination = "DB600.DBW568",
Ack = "DB600.DBX570.0",
Shape = "DB600.DBW572",
HandShake = "DB600.DBW0",
};
break;
case "Line1027":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD208",
ToStationNo = "DB601.DBW212",
EStop = "DB601.DBX214.0",
TaskCancel = "DB601.DBX214.1",
STP = "DB601.DBX214.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW574",
Ph1 = "DB600.DBW576",
Ph2 = "DB600.DBW578",
State = "DB600.DBW580",
Alarm = "DB600.DBX582.0",
AlarmCode = "DB600.DBW584",
TaskNo = "DB600.DBD586",
Destination = "DB600.DBW590",
Ack = "DB600.DBX592.0",
Shape = "DB600.DBW594",
HandShake = "DB600.DBW0",
};
break;
case "Line1028":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD216",
ToStationNo = "DB601.DBW220",
EStop = "DB601.DBX222.0",
TaskCancel = "DB601.DBX222.1",
STP = "DB601.DBX222.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW596",
Ph1 = "DB600.DBW598",
Ph2 = "DB600.DBW600",
State = "DB600.DBW602",
Alarm = "DB600.DBX604.0",
AlarmCode = "DB600.DBW606",
TaskNo = "DB600.DBD608",
Destination = "DB600.DBW612",
Ack = "DB600.DBX614.0",
Shape = "DB600.DBW616",
HandShake = "DB600.DBW0",
};
break;
case "Line1029":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD224",
ToStationNo = "DB601.DBW228",
EStop = "DB601.DBX230.0",
TaskCancel = "DB601.DBX230.1",
STP = "DB601.DBX230.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW618",
Ph1 = "DB600.DBW620",
Ph2 = "DB600.DBW622",
State = "DB600.DBW624",
Alarm = "DB600.DBX626.0",
AlarmCode = "DB600.DBW628",
TaskNo = "DB600.DBD630",
Destination = "DB600.DBW634",
Ack = "DB600.DBX636.0",
Shape = "DB600.DBW638",
HandShake = "DB600.DBW0",
};
break;
#endregion
#region 人工分拣线体
case "Line1001":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD0",
ToStationNo = "DB601.DBW4",
EStop = "DB601.DBX6.0",
TaskCancel = "DB601.DBX6.1",
STP = "DB601.DBX6.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW2",
Ph1 = "DB600.DBW4",
Ph2 = "DB600.DBW6",
State = "DB600.DBW8",
Alarm = "DB600.DBX10.0",
AlarmCode = "DB600.DBW12",
TaskNo = "DB600.DBD14",
Destination = "DB600.DBW18",
Ack = "DB600.DBX20.0",
Shape = "DB600.DBW22",
HandShake = "DB600.DBW0",
};
break;
#endregion
#region 助力臂分拣1线体
case "Line1002":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD8",
ToStationNo = "DB601.DBW12",
EStop = "DB601.DBX14.0",
TaskCancel = "DB601.DBX14.1",
STP = "DB601.DBX14.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW24",
Ph1 = "DB600.DBW26",
Ph2 = "DB600.DBW28",
State = "DB600.DBW30",
Alarm = "DB600.DBX32.0",
AlarmCode = "DB600.DBW34",
TaskNo = "DB600.DBD36",
Destination = "DB600.DBW40",
Ack = "DB600.DBX42.0",
Shape = "DB600.DBW44",
HandShake = "DB600.DBW0",
};
break;
case "Line1003":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD16",
ToStationNo = "DB601.DBW20",
EStop = "DB601.DBX22.0",
TaskCancel = "DB601.DBX22.1",
STP = "DB601.DBX22.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW46",
Ph1 = "DB600.DBW48",
Ph2 = "DB600.DBW50",
State = "DB600.DBW52",
Alarm = "DB600.DBX54.0",
AlarmCode = "DB600.DBW56",
TaskNo = "DB600.DBD58",
Destination = "DB600.DBW62",
Ack = "DB600.DBX64.0",
Shape = "DB600.DBW66",
HandShake = "DB600.DBW0",
};
break;
case "Line1006":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD40",
ToStationNo = "DB601.DBW44",
EStop = "DB601.DBX46.0",
TaskCancel = "DB601.DBX46.1",
STP = "DB601.DBX46.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW112",
Ph1 = "DB600.DBW114",
Ph2 = "DB600.DBW116",
State = "DB600.DBW118",
Alarm = "DB600.DBX120.0",
AlarmCode = "DB600.DBW122",
TaskNo = "DB600.DBD124",
Destination = "DB600.DBW128",
Ack = "DB600.DBX130.0",
Shape = "DB600.DBW132",
HandShake = "DB600.DBW0",
};
break;
#endregion
#region 助力臂分拣2线体
case "Line1007":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD48",
ToStationNo = "DB601.DBW52",
EStop = "DB601.DBX54.0",
TaskCancel = "DB601.DBX54.1",
STP = "DB601.DBX54.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW134",
Ph1 = "DB600.DBW136",
Ph2 = "DB600.DBW138",
State = "DB600.DBW140",
Alarm = "DB600.DBX142.0",
AlarmCode = "DB600.DBW144",
TaskNo = "DB600.DBD146",
Destination = "DB600.DBW150",
Ack = "DB600.DBX152.0",
Shape = "DB600.DBW154",
HandShake = "DB600.DBW0",
};
break;
case "Line1008":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD56",
ToStationNo = "DB601.DBW60",
EStop = "DB601.DBX62.0",
TaskCancel = "DB601.DBX62.1",
STP = "DB601.DBX62.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW156",
Ph1 = "DB600.DBW158",
Ph2 = "DB600.DBW160",
State = "DB600.DBW162",
Alarm = "DB600.DBX164.0",
AlarmCode = "DB600.DBW166",
TaskNo = "DB600.DBD168",
Destination = "DB600.DBW172",
Ack = "DB600.DBX174.0",
Shape = "DB600.DBW176",
HandShake = "DB600.DBW0",
};
break;
case "Line1012":
OpcWriteItems = new OpcWriteItem
{
TaskNo = "DB601.DBD88",
ToStationNo = "DB601.DBW92",
EStop = "DB601.DBX94.0",
TaskCancel = "DB601.DBX94.1",
STP = "DB601.DBX94.2",
};
OpcReadItems = new OpcReadItem
{
Mode = "DB600.DBW244",
Ph1 = "DB600.DBW246",
Ph2 = "DB600.DBW248",
State = "DB600.DBW250",
Alarm = "DB600.DBX252.0",
AlarmCode = "DB600.DBW254",
TaskNo = "DB600.DBD256",
Destination = "DB600.DBW260",
Ack = "DB600.DBX262.0",
Shape = "DB600.DBW264",
HandShake = "DB600.DBW0",
};
break;
#endregion
}
}
///
/// 发送任务
///
///
///
///
///
///
///
///
///
public bool SendTask(int deviceId, int taskId, string toPlace, int palltype, out string msg)
{
try
{
msg = "";
if (!CanSendTask(deviceId, out msg))
{
return false;
}
bool b2 = this.WriteValue(this.OpcWriteItems.ToStationNo, toPlace);
bool b1 = this.WriteValue(this.OpcWriteItems.TaskNo, taskId);
// bool b3 = this.WriteValue(this.OpcWriteItems.STP, 1);
bool b4 = true;
if (this.ConveyorName == "Line1021")
{
b4 = this.WriteValue("DB601.DBW268", palltype);
}
if (this.ConveyorName == "Line1026")
{
b4 = this.WriteValue("DB601.DBW266", palltype);
}
if (!(b1 && b2 && b4))
{
msg = string.Format("向输送线{0}发送任务{1}失败", ConveyorName, taskId);
return false;
}
return true;
}
catch (Exception ex)
{
msg = ex.Message;
return false;
}
}
///
/// 任务删除
///
///
///
///
///
public bool DeleteTask(int deviceId, out string msg)
{
try
{
msg = "";
bool b1 = this.WriteValue(this.OpcWriteItems.TaskCancel, 1);
if (!(b1))
{
msg = string.Format("写入OPC失败", ConveyorName);
return false;
}
return true;
}
catch (Exception ex)
{
msg = ex.Message;
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "DeleteTask", msg);
return false;
}
}
///
/// 确认任务完成
///
///
///
///
///
public bool ConfirmStp(int deviceId, out string msg)
{
try
{
msg = "";
var flag = this.WriteValue(this.OpcWriteItems.STP, false);
if (!flag)
{
msg = string.Format("向输送线{0}发送确认任务下发成功信号失败", ConveyorName);
return false;
}
return true;
}
catch (Exception ex)
{
msg = ex.Message;
return false;
}
}
///
/// 判断任务是否完成
///
///
///
///
///
public bool IsTaskFinish(int deviceId, int taskId, out string msg)
{
try
{
msg = "";
if (this.RTaskNo == taskId)
{
return this.RTaskfinish;
}
return false;
}
catch (Exception ex)
{
msg = ex.Message;
return false;
}
}
public bool CanSendTask(int deviceId, out string msg)
{
msg = "";
if (!IsOnline)
{
msg = "已离线";
return false;
}
if (RMode != (int)EConveyorMode.自动空闲模式)
{
msg = "当前非自动模式";
return false;
}
if (RState != (int)EConveyorState.空闲)
{
msg = "设备状态非空闲,无法执行其他任务";
return false;
}
return true;
}
public bool WriteValue(string addr, object value)
{
string msg = string.Empty;
if (!string.IsNullOrEmpty(addr))
{
try
{
if (!this.WCVS71500.IsConnected)
{
this.WCVS71500.Close();
Thread.Sleep(100);
this.WCVS71500.Open();
}
msg = this.WCVS71500.Write(addr, value).ToString();
if (msg != "NoError")
{
string msg1 = this.WCVS71500.Write(addr, value).ToString();
if (msg1 != "NoError")
{
this.WCVS71500.Close();
Thread.Sleep(100);
this.WCVS71500.Open();
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), this.ConveyorName + "WriteValue" + addr, msg);
return false;
}
else
{
return true;
}
}
else
{
return true;
}
}
catch
{
msg = addr + "写入失败 ";
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), this.ConveyorName + "WriteValue", msg);
return false;
}
}
else
{
msg = addr + "写入失败 ";
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), this.ConveyorName + "WriteValue", msg);
return false;
}
}
public object ReadValuePoint(string add)
{
try
{
if (!this.WCVS71500.IsConnected)
{
this.WCVS71500.Close();
Thread.Sleep(100);
this.WCVS71500.Open();
}
object MyPlcData = this.WCVS71500.Read(add);
if (MyPlcData.ToString() == "WrongVarFormat" || MyPlcData.ToString() == "10")
{
MyPlcData = this.WCVS71500.Read(add);
if (MyPlcData.ToString() == "WrongVarFormat" || MyPlcData.ToString() == "10")
{
MyPlcData = this.WCVS71500.Read(add);
}
}
return MyPlcData;
}
catch (Exception ex)
{
LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), this.ConveyorName + "ReadValuePoint", ex.Message);
return 0;
}
}
}
}