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