/// <summary> /// Serial数据接收 /// </summary> /// <param name="device"></param> /// <param name="dataB"></param> /// <param name="dataS"></param> public void SerialReceive(Common.SerialDevice device, byte[] dataB, string dataS) { Config.SerialItem item = this.GetConfig(device); if (item.IsHex) { item.BuffReceive = Common.ByteArrayToHexString(dataB); } else { item.BuffReceive = dataS; } switch (item.SerialDevice) { default: item.Value = item.BuffReceive; item.Reset.Set(); business kylin = SystemHandle.Instance.GetMachineKylin(item.MachineID); if (kylin != null) { // kylin.SerialReceive(device, dataS, dataB); this.Async_SerialReceive(kylin, device, dataB, dataS); } break; case Common.SerialDevice.TEST: break; } }
/// <summary> /// Serial数据接收 /// </summary> /// <param name="device"></param> /// <param name="dataB"></param> /// <param name="dataS"></param> public void SerialReceive(Config.SerialItem device, byte[] dataB, string dataS) { if (device.IsHex) { device.BuffReceive = Common.ByteArrayToHexString(dataB); } else { device.BuffReceive = dataS; } }
private void dgvSerial_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { if (e.RowIndex >= 0) { //当前串口 Config.SerialItem item = (Config.SerialItem) this.dgvSerial.CurrentRow.DataBoundItem; switch (dgvSerial.Columns[e.ColumnIndex].Name) { case "btnDelete": //删除 if (MessageBox.Show("是否删除该项设备? ", "删除提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } Config.ConfigManager.Instance.ConfigSerial.SerialItems.Remove(item); break; case "btnSend": //发送 if (item.IsHex) { Logic.SearialHandle.Instance.SerialSend(item.SerialDevice, Common.HexStringToByteArray(item.BuffSend)); } else { Logic.SearialHandle.Instance.SerialSend(item.SerialDevice, item.BuffSend); } break; case "btnReceive": //读取 item.BuffReceive = Logic.SearialHandle.Instance.SerialReadLine(item.SerialDevice); this.dgvSerial.UpdateCellValue(e.ColumnIndex, e.RowIndex); break; default: break; } } } catch { } }
private void dgvSerial_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { try { if (this.dgvSerial.Columns[e.ColumnIndex].Name.Equals("isConnected")) { Config.SerialItem item = (Config.SerialItem) this.dgvSerial.Rows[e.RowIndex].DataBoundItem; if (item == null) { e.Value = this.imageList1.Images[3]; } else { e.Value = (item.IsConnected == true) ? this.imageList1.Images[1] : this.imageList1.Images[2]; } } } catch { } }
/// <summary> /// 串口加锁byte[] /// </summary> /// <param name="device"></param> /// <param name="data"></param> public string SerialSendReturn(Common.SerialDevice device, byte[] data) { LogHandle.Instance.WriteRunLog(this.CfgBase.MachineID, "Serial", "{0}:发送,{1}", device.ToString(), Encoding.Default.GetString(data)); lock (lock_send_serial_byte) { Config.SerialItem serial = SearialHandle.Instance.GetConfig(device); //暂存包编号 serial.Value = ""; serial.Reset.Reset(); SearialHandle.Instance.SerialSend(device, data); if (serial.ReadTimeout < 200) { serial.Reset.WaitOne(200); } else { serial.Reset.WaitOne(serial.ReadTimeout); } return(serial.Value.ToString()); } }
/// <summary> /// 串口发送string,返回string /// </summary> /// <param name="device"></param> /// <param name="data"></param> public string SerialSendReturn(Common.SerialDevice device, string data) { lock (lock_send_serial_string) { Config.SerialItem serial = SearialHandle.Instance.GetConfig(device); //暂存包编号 serial.Value = ""; serial.Reset.Reset(); SearialHandle.Instance.SerialSend(device, data); if (serial.ReadTimeout < 200) { serial.Reset.WaitOne(200); } else { serial.Reset.WaitOne(serial.ReadTimeout); } if (serial.Value == "") { } return(serial.Value.ToString()); } }