void ChkCFG(parameters paras, out results rets) { rets = new results(); //result rst = new result(); //rst.name = "NumOfVars"; //rst.value = hartDev.Vars.Count; //rets.Add(rst); if (DPDev.asLocalDevCfgList[0].strWK_State == "WAIT_CFG") { DPDev.ChkCFG(); //生成SET_PRM报文中数据 CFRAME_PARSE_NODE cFrameParse = new CFRAME_PARSE_NODE(); if (DPDev.diagDevice(0, ref cFrameParse)) { string slaveState = DPDev.parseSlaveStateByDiag(cFrameParse.aucData, cFrameParse.ucDataLen); if (slaveState == "DATA_EXCHANGE") { rets.response = rspCode.positive; } } else { rets.response = rspCode.negitive; } } else { rets.response = rspCode.negitive; } }
void DataExchange(parameters paras, out results rets) { rets = new results(); //result rst = new result(); //rst.name = "NumOfVars"; //rst.value = hartDev.Vars.Count; //rets.Add(rst); if (paras.Count != 2) { rets.response = rspCode.negitive; rets.resDesc = "More than 1 variable to read."; saveLogfile("More than 1 variable to read."); } else { if (DPDev.asLocalDevCfgList[0].strWK_State == "DATA_EXCHANGE") { byte[] output = new byte[255]; string outputstr = (string)paras[0].value; byte length = (byte)paras[1].value; if (length * 2 == outputstr.Length) { for (int i = 0; i < outputstr.Length / 2; i++) { output[i] = Convert.ToByte(outputstr.Substring(i, 2)); } DPDev.dataExchange(output, length); CFRAME_PARSE_NODE cFrameParse = new CFRAME_PARSE_NODE(); if (DPDev.diagDevice(0, ref cFrameParse)) { string slaveState = DPDev.parseSlaveStateByDiag(cFrameParse.aucData, cFrameParse.ucDataLen); if (slaveState == "DATA_EXCHANGE") { rets.response = rspCode.positive; } } else { rets.response = rspCode.negitive; } } else { rets.response = rspCode.negitive; } } else { rets.response = rspCode.negitive; } } }
void DiagnoseDev(parameters paras, out results rets) { rets = new results(); result rst = new result(); ThreadUpdate tusend = new ThreadUpdate(); if (paras.Count != 1) { rets.response = rspCode.negitive; rets.resDesc = "More than 1 variable to read."; } else { CFRAME_PARSE_NODE cFrameParse = new CFRAME_PARSE_NODE(); if (DPDev.diagDevice(0, ref cFrameParse)) { //if (hartDev.pCmdDispatch.SendCmd(pCmd, pCmdDesc.transNumb) == Common.SUCCESS) { /* * rets.response = (hartDev.parentform.getCmdRes() as results).response;//getCmdRes * rst.name = (string)paras[0].value; * //rst.rtype = resultDataType.floatpoint; * rst.value = vartoread.GetDispString(); * rets.Add(rst); */ string slaveState = DPDev.parseSlaveStateByDiag(cFrameParse.aucData, cFrameParse.ucDataLen); rst = new result(); rst.name = "SlaveState"; rst.value = slaveState; rets.Add(rst); string DiagnoseInfo = ""; DPDev.parseDiagnosticsInfo(cFrameParse.aucData, cFrameParse.ucDataLen, ref DiagnoseInfo); rst = new result(); rst.name = "DiagnoseInfo"; rst.value = DiagnoseInfo; rets.Add(rst); } //else { rets.response = rspCode.positive; //rets.resDesc = String.Format("The Command {0}, transaction {1} cannot be sent.", pCmdDesc.cmdNumber, pCmdDesc.transNumb); } } else { rets.response = rspCode.negitive; rets.resDesc = "The Diagnose is failed."; } } }