/// <summary> /// 获取控制器状态 /// </summary> private int GetGWStatus() { bool bGoOn; int ret, timeStart; for (int i = 0; i < GWCount; i++) { Dapapi.AB_GW_Open(GWID[i]); ret = Dapapi.AB_GW_Status(GWID[i]); if (ret != 7) { bGoOn = true; timeStart = System.Environment.TickCount; while (bGoOn) { ret = Dapapi.AB_GW_Status(GWID[i]); if (ret == 7) { bGoOn = false; } else if (System.Environment.TickCount - timeStart > 3000) { bGoOn = false; } } } if (ret == 7) { //写日志 MonitorLog monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "设备初始化"; monitorLog.LOGINFO = "电子标签串口路由ID:" + GWID[i] + " 连接成功, 状态 :" + ret; monitorLog.LOGLOCATION = "设备"; monitorLog.LOGTYPE = 0; monitorLog.Save(); return(1); } else { MessageBox.Show("电子标签串口路由ID:" + GWID[i] + " 连接失败, 状态 :" + ret); //写日志 MonitorLog monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "设备初始化"; monitorLog.LOGINFO = "电子标签串口路由ID:" + GWID[i] + " 连接失败, 状态 :" + ret; monitorLog.LOGLOCATION = "设备"; monitorLog.LOGTYPE = 0; monitorLog.Save(); } } return(0); }
/// <summary> /// 熄灭所有标签 /// </summary> private void TagClear() { for (int i = 0; i < GWCount; i++) { if (Dapapi.AB_GW_Status(GWID[i]) == 7) { Dapapi.AB_LB_DspNum(GWID[i], -252, 0, 0, -3); Dapapi.AB_LB_DspNum(GWID[i], 252, 0, 0, -3); Dapapi.AB_LED_Dsp(GWID[i], -252, 0, 0); Dapapi.AB_LED_Dsp(GWID[i], 252, 0, 0); Dapapi.AB_BUZ_On(GWID[i], -252, 0); Dapapi.AB_BUZ_On(GWID[i], 252, 0); Dapapi.AB_LB_DspStr(GWID[i], -252, "", 0, -3); Dapapi.AB_LB_DspStr(GWID[i], 252, "", 0, -3); //12-digits Alphanumerical display Dapapi.AB_AHA_ClrDsp(GWID[i], -252); Dapapi.AB_AHA_ClrDsp(GWID[i], 252); Dapapi.AB_AHA_BUZ_On(GWID[i], -252, 0); Dapapi.AB_AHA_BUZ_On(GWID[i], 252, 0); } } }
/// <summary> /// 接收标签信息 /// </summary> private void RcvMsg() { int gwid, ret; short tagNode, subCmd, msgType, dataCnt; short gwPort, keyType, maxTag; byte[] rcvData = new byte[200]; Dapapi.Tccb ccb_data; string tmpStr, rcvStr; gwid = 0; //all gateway tagNode = 0; //all tagnode subCmd = -1; //all subcmd msgType = 0; dataCnt = 200; Dapapi.AB_GW_Status(0); ret = Dapapi.AB_Tag_RcvMsg(ref gwid, ref tagNode, ref subCmd, ref msgType, rcvData, ref dataCnt); if (ret > 0) { rcvStr = System.Text.Encoding.Default.GetString(rcvData); if (tagNode < 0) { gwPort = 1; } else { gwPort = 2; } tmpStr = "GW_ID:" + gwid + ",GW Port:" + gwPort + ",TagNode:" + System.Math.Abs(tagNode) + ",SubCmd:" + subCmd + ",Data:" + rcvStr; switch (subCmd) { case SUMCMD_CONFIRM_BUTTON: //写日志 monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "接收到标签信号"; monitorLog.LOGINFO = tmpStr; monitorLog.LOGLOCATION = "设备"; monitorLog.LOGTYPE = 0; monitorLog.Save(); //ShowMsg(tmpStr); if (Tags.ContainsKey(System.Math.Abs(Convert.ToInt32(tagNode)))) { Tags[System.Math.Abs(Convert.ToInt32(tagNode))].Qty = 0; } break; default: monitorLog = MonitorLog.NewMonitorLog(); monitorLog.LOGNAME = "设备初始化"; monitorLog.LOGINFO = tmpStr; monitorLog.LOGLOCATION = "设备"; monitorLog.LOGTYPE = 0; monitorLog.Save(); break; } } }