|
|
using Estsh.Client.Base;
|
|
|
|
|
|
namespace Estsh.Client.StepLibrary
|
|
|
{
|
|
|
public class RFIDWrite : StepBase
|
|
|
{
|
|
|
public override bool Do()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
|
|
|
RFIDApp app = new RFIDApp(httpClient);
|
|
|
|
|
|
string el_no = Context["serial_number"].ToString();
|
|
|
string terminal_id = Context["terminal_id"].ToString();
|
|
|
// 执行父类的 Do 方法并返回
|
|
|
//bool TAGState = Convert.ToBoolean(Context["TAGState"].ToString());
|
|
|
|
|
|
////托盘到位就写条码
|
|
|
//if (TAGState == false)
|
|
|
//{
|
|
|
// ShowMessage(this, "red|托盘未到位!");
|
|
|
//}
|
|
|
//else
|
|
|
//{
|
|
|
//写条码到PLC
|
|
|
bool WrietPLCOK = app.UpdatePLC("OPC_WriteSN", Convert.ToInt32(terminal_id), el_no);
|
|
|
using (StreamWriter sw = new StreamWriter(terminal_id + " Error_Log_" + DateTime.Now.ToString("yyyyMM") + ".txt", true))
|
|
|
{
|
|
|
sw.WriteLine(string.Format("{0} {1}", "["
|
|
|
+ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
|
|
|
+ "] ", el_no + " 写入PLC成功!"));
|
|
|
sw.Flush();
|
|
|
sw.Close();
|
|
|
}
|
|
|
|
|
|
#region 不用循环等待写入RFID完成信号
|
|
|
//等待写入RFID完成信号
|
|
|
//while (true)
|
|
|
//{
|
|
|
// string WriteOK = app.ReadyPlc("OPC_WriteOK", Convert.ToInt32(terminal_id)).ToString().ToUpper();
|
|
|
// if (WriteOK.Equals("TRUE"))
|
|
|
// {
|
|
|
// ShowMessage(this, "green|PLC将条码写入RFID成功!");
|
|
|
// break;
|
|
|
// }
|
|
|
// else
|
|
|
// {
|
|
|
// ShowMessage(this, "red|等待PLC将条码写入RFID!");
|
|
|
// }
|
|
|
// Application.DoEvents();
|
|
|
// Thread.Sleep(1000);
|
|
|
//}
|
|
|
|
|
|
////发送放行信号
|
|
|
//bool RELASE = app.UpdatePLC("OPC_OK", Convert.ToInt32(terminal_id), "TRUE");
|
|
|
//if (RELASE==true)
|
|
|
//{
|
|
|
// ShowMessage(this, "green|发送放行信号成功!");
|
|
|
//}
|
|
|
//else
|
|
|
//{
|
|
|
// ShowMessage(this, "red|发送放行信号成失败!");
|
|
|
//}
|
|
|
#endregion
|
|
|
|
|
|
#region 没用代码
|
|
|
//List<dynamic> RFIDOperationType = app.GetRFIDOperationType(Convert.ToInt32(terminal_id), "RFID_IP");
|
|
|
//string perationType = "";
|
|
|
//if (RFIDOperationType.Count > 0)
|
|
|
//{
|
|
|
// perationType = RFIDOperationType[0]["operation_type"].ToString();
|
|
|
//}
|
|
|
//if (initializeRFIDState == true && perationType.ToUpper().ToString() == "WRITE")
|
|
|
//{
|
|
|
|
|
|
// // 记录日志
|
|
|
// using (StreamWriter sw = new StreamWriter("Error_Log_1" + DateTime.Now.ToString("yyyyMM") + ".txt", true))
|
|
|
// {
|
|
|
// sw.WriteLine(string.Format("{0} {1}", "["
|
|
|
// + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
|
|
|
// + "] ", "1"));
|
|
|
// sw.Flush();
|
|
|
// sw.Close();
|
|
|
// }
|
|
|
// RF182C.Write(el_no);
|
|
|
|
|
|
// // 记录日志
|
|
|
// using (StreamWriter sw = new StreamWriter("Error_Log_1" + DateTime.Now.ToString("yyyyMM") + ".txt", true))
|
|
|
// {
|
|
|
// sw.WriteLine(string.Format("{0} {1}", "["
|
|
|
// + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
|
|
|
// + "] ", "2"));
|
|
|
// sw.Flush();
|
|
|
// sw.Close();
|
|
|
// }
|
|
|
|
|
|
// Thread.Sleep(100);
|
|
|
|
|
|
// RF182C.read();
|
|
|
|
|
|
// // 记录日志
|
|
|
// using (StreamWriter sw = new StreamWriter("Error_Log_1" + DateTime.Now.ToString("yyyyMM") + ".txt", true))
|
|
|
// {
|
|
|
// sw.WriteLine(string.Format("{0} {1}", "["
|
|
|
// + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
|
|
|
// + "] ", "3"));
|
|
|
// sw.Flush();
|
|
|
// sw.Close();
|
|
|
// }
|
|
|
|
|
|
// if (el_no != RF182C.BarCode)
|
|
|
// {
|
|
|
|
|
|
// // 记录日志
|
|
|
// using (StreamWriter sw = new StreamWriter("Error_Log_1" + DateTime.Now.ToString("yyyyMM") + ".txt", true))
|
|
|
// {
|
|
|
// sw.WriteLine(string.Format("{0} {1}", "["
|
|
|
// + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
|
|
|
// + "] ", "4"));
|
|
|
// sw.Flush();
|
|
|
// sw.Close();
|
|
|
// }
|
|
|
|
|
|
// ShowMessage(this, "red|RFID写入失败,请重新扫描!");
|
|
|
|
|
|
// }
|
|
|
//}
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
Complate(this, new EventArgs());
|
|
|
|
|
|
return base.Do();
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
// 记录日志
|
|
|
using (StreamWriter sw = new StreamWriter("Error_Log_" + DateTime.Now.ToString("yyyyMM") + ".txt", true))
|
|
|
{
|
|
|
sw.WriteLine(string.Format("{0} {1}", "["
|
|
|
+ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
|
|
|
+ "] ", ex.ToString()));
|
|
|
sw.Flush();
|
|
|
sw.Close();
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
private void InitializeComponent()
|
|
|
{
|
|
|
this.SuspendLayout();
|
|
|
//
|
|
|
// RFIDWrite
|
|
|
//
|
|
|
this.Name = "RFIDWrite";
|
|
|
this.Size = new System.Drawing.Size(391, 376);
|
|
|
this.Load += new System.EventHandler(this.RFIDWrite_Load);
|
|
|
this.ResumeLayout(false);
|
|
|
|
|
|
}
|
|
|
|
|
|
private void RFIDWrite_Load(object sender, EventArgs e)
|
|
|
{
|
|
|
// 工步执行完成后调用此方法
|
|
|
Complate(this, e);
|
|
|
}
|
|
|
}
|
|
|
}
|