예제 #1
0
        /// 模组条码请求
        /// </summary>
        /// <returns></returns>
        private bool ModuleCodeRequire(ref string M_SN, ref string reStr)
        {
            string     M_WORKSTATION_SN = "M00100101";
            RootObject rObj             = new RootObject();
            string     jsonStr          = "";

            rObj = WShelper.BarCodeRequest(M_WORKSTATION_SN, EnumQRCodeType.模组, "", ref jsonStr);
            if (rObj.CONTROL_TYPE.ToUpper().Contains("STOP"))
            {
                //停机
                if (PlcRWStop != null)
                {
                    bool re = PlcRWStop.WriteDB(MesStopAddr, 1);
                    logRecorder.AddDebugLog(nodeName, string.Format("收到MES停机,发送停机命令到PLC,发送结果:{0}", re));
                }
                rObj = WShelper.BarCodeRequest(M_WORKSTATION_SN, EnumQRCodeType.模组, "STOP", ref jsonStr);
                logRecorder.AddDebugLog(nodeName, string.Format("上传MES停机,返回结果{0},发送Json{1}", rObj.RES, jsonStr));
                return(false);
            }
            if (rObj.RES.Contains("OK"))
            {
                M_SN  = rObj.M_COMENT[0].M_SN;
                reStr = this.nodeName + "模组条码请求成功:" + M_SN + rObj.RES;
                return(true);
            }
            else
            {
                M_SN  = "";
                reStr = this.nodeName + "模组条码请求失败!" + rObj.RES;
                return(false);
            }
        }
예제 #2
0
        /// 模组条码请求
        /// </summary>
        /// <returns></returns>
        private bool ModuleCodeRequire(ref string M_SN, ref string reStr)
        {
            string     M_WORKSTATION_SN = "Y00200101";
            RootObject reObj            = new RootObject();
            string     strJson          = "";

            reObj = WShelper.BarCodeRequest(M_WORKSTATION_SN, EnumQRCodeType.模块, "", ref strJson);
            if (reObj.CONTROL_TYPE.ToUpper() == "STOP")
            {
                //停机
                if (PlcRWStop != null)
                {
                    bool re = PlcRWStop.WriteDB(MesStopAddr, 1);
                    logRecorder.AddDebugLog(nodeName, string.Format("收到MES停机,发送停机命令到PLC,发送结果:{0}", re));
                }
                ////上传MES 停机
                //string M_AREA = "Y001";

                //string M_DEVICE_SN = "";
                //// string M_SN = modCode;
                //string M_UNION_SN = "";
                //string M_CONTAINER_SN = "";
                //string M_LEVEL = "";
                //string M_ITEMVALUE = "扫码结果:" + "NG";

                //reObj = WShelper.ProcParamUpload(M_AREA, M_DEVICE_SN, M_WORKSTATION_SN, M_UNION_SN, M_CONTAINER_SN, M_LEVEL, M_ITEMVALUE, ref strJson, "STOP");
                reObj = WShelper.BarCodeRequest(M_WORKSTATION_SN, EnumQRCodeType.模块, "STOP", ref strJson);
                logRecorder.AddDebugLog(nodeName, string.Format("上传MES停机,返回结果{0},发送Json{1}", reObj.RES, strJson));
                return(false);
            }
            if (reObj.RES.Contains("OK"))
            {
                M_SN  = reObj.M_COMENT[0].M_SN;
                reStr = this.nodeName + "模块条码请求成功:" + M_SN + reObj.RES;
                return(true);
            }
            else
            {
                M_SN  = "";
                reStr = this.nodeName + "模块条码请求失败!" + reObj.RES;
                return(false);
            }
        }
예제 #3
0
        private int UploadToMes(int flag, string barcode, string workStationNum, string itemValue, ref string reStr)
        {
            RootObject rObj = WShelper.DevDataUpload(flag, "", workStationNum, barcode, "", "", "", itemValue, ref reStr, "");

            reStr = "上传条码:" + barcode + ",MES返回:" + rObj.RES;
            if (rObj.RES.ToUpper().Contains("OK"))
            {
                return(0);
            }
            else if (rObj.RES.ToUpper().Contains("NG"))
            {
                return(1);
            }
            else
            {
                Console.WriteLine("上传MES二维码信息错误:" + rObj.RES);

                return(2);
            }
        }
예제 #4
0
        private int UploadToMesProcessData(string workStationNum, string itemValue, ref string restr)
        {
            RootObject rObj = WShelper.ProcParamUpload("L001", "", workStationNum, "", "", "", "", itemValue, ref restr, "");

            restr = "上传过程数据:" + rObj.RES;
            if (rObj.RES.ToUpper().Contains("OK"))
            {
                return(0);
            }
            else if (rObj.RES.ToUpper().Contains("NG"))
            {
                return(1);
            }
            else
            {
                Console.WriteLine("上传MES二维码过程信息错误:" + rObj.RES);

                return(2);
            }
        }
예제 #5
0
        private void bt_GetTestStandardData_Click(object sender, EventArgs e)
        {
            RootObject moduleObj      = WShelper.GetTestStandardDataFromMES(4, "Y001", 2);
            RootObject moduleGroupObj = WShelper.GetTestStandardDataFromMES(4, "M001", 2);

            if (moduleObj == null)
            {
                MessageBox.Show("返回模块测试标准数据对象为空!");
                return;
            }
            if (moduleGroupObj == null)
            {
                MessageBox.Show("返回模组测试标准数据对象为空!");
                return;
            }
            StringBuilder sb = new StringBuilder();

            sb.Append("模块测试标准数据:" + moduleObj.M_COMENT[0].M_ITEMVALUE + "\r\n");
            sb.Append("模组测试标准数据:" + moduleGroupObj.M_COMENT[0].M_ITEMVALUE + "\r\n");

            this.tb_TestStandardData.Text = sb.ToString();
        }
예제 #6
0
        public bool MesRunCommit(string nodeName, bool mesRun, ref string reStr)
        {
            CtlNodeBaseModel node = GetNode(nodeName);

            if (node == null)
            {
                reStr = "不存在:" + nodeName;
                return(false);
            }
            foreach (string mesID in node.MesIDS)
            {
                string     jsonStr = "";
                RootObject rObj    = WShelper.DevStopStatUpload(6, mesID, "RUN", ref jsonStr);
                node.LogRecorder.AddDebugLog(node.NodeName, string.Format("恢复停机,返回:{0}", rObj.RES));
            }
            if (!node.PlcRWStop.WriteDB(node.MesStopAddr, 2))
            {
                reStr = "给PLC发送恢复停机命令失败";
                return(false);
            }
            node.MesStopstat = false;
            return(true);
        }
예제 #7
0
 /// <summary>
 /// 离线数据上报MES线程
 /// </summary>
 private void OfflineDataUploadMesHandler()
 {
     try
     {
         if (SysCfgModel.MesOfflineMode == true)
         {
             return;
         }
         if (uploadOfflineDataToMesSwitch == false)
         {
             return;
         }
         string restr = "";
         List <FTDataAccess.Model.OfflineDataModel> offlineData = bllOfflineData.GetDataByUploadStatus(EnumUploadStatus.待上传.ToString());
         if (offlineData == null || offlineData.Count == 0)
         {
             uploadOfflineDataToMesSwitch = false;//上传数据完成后复位
             return;
         }
         foreach (OfflineDataModel offline in offlineData)
         {
             int uploadStatus = WShelper.UploadDataToMes(offline.UploadJsonData, ref restr);
             if (uploadStatus == 0 || uploadStatus == 1)
             {
                 offline.IsUpLoad = EnumUploadStatus.已上传.ToString();
                 bllOfflineData.Update(offline);
             }
             else//上传失败
             {
             }
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("离线数据上传MES错误:" + ex.Message);
     }
 }