25103101 配置为4个串口扫码枪
This commit is contained in:
191
SLC1-N/Form1.cs
191
SLC1-N/Form1.cs
@@ -457,6 +457,11 @@ namespace SLC1_N
|
||||
int SerialPort_CH2BaudRate = jsconfig.GetValue<int>("SerialPort_CH2BaudRate", 9600);
|
||||
string SerialPort_CH2PortName = jsconfig.GetValue<string>("SerialPort_CH2PortName", "COM11");
|
||||
|
||||
int SerialPort_CH3BaudRate = jsconfig.GetValue<int>("SerialPort_CH3BaudRate", 9600);
|
||||
string SerialPort_CH3PortName = jsconfig.GetValue<string>("SerialPort_CH3PortName", "COM11");
|
||||
int SerialPort_CH4BaudRate = jsconfig.GetValue<int>("SerialPort_CH4BaudRate", 9600);
|
||||
string SerialPort_CH4PortName = jsconfig.GetValue<string>("SerialPort_CH4PortName", "COM11");
|
||||
|
||||
//设置端口的参数,包括波特率等
|
||||
// 扫码枪1
|
||||
SerialPort_CH1Saoma.BaudRate = SerialPort_CH1BaudRate;
|
||||
@@ -475,22 +480,56 @@ namespace SLC1_N
|
||||
SetUITextBox(tb_CH1MainMessage, $"CH1串口扫码枪打开失败");
|
||||
}
|
||||
|
||||
//// 扫码枪2
|
||||
//SerialPort_CH2Saoma.BaudRate = SerialPort_CH2BaudRate;
|
||||
//SerialPort_CH2Saoma.PortName = SerialPort_CH2PortName;
|
||||
//SerialPort_CH2Saoma.DataBits = 8;
|
||||
//SerialPort_CH2Saoma.StopBits = System.IO.Ports.StopBits.One;
|
||||
//SerialPort_CH2Saoma.Parity = System.IO.Ports.Parity.None;
|
||||
//SerialPort_CH2Saoma.Open();
|
||||
//if (SerialPort_CH2Saoma.IsOpen)
|
||||
//{
|
||||
// Console.WriteLine($"SerialPort_CH2Saoma: T");
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// Console.WriteLine($"SerialPort_CH2Saoma: F");
|
||||
// SetUITextBox(tb_CH2MainMessage, $"CH2串口扫码枪打开失败");
|
||||
//}
|
||||
// 扫码枪2
|
||||
SerialPort_CH2Saoma.BaudRate = SerialPort_CH2BaudRate;
|
||||
SerialPort_CH2Saoma.PortName = SerialPort_CH2PortName;
|
||||
SerialPort_CH2Saoma.DataBits = 8;
|
||||
SerialPort_CH2Saoma.StopBits = System.IO.Ports.StopBits.One;
|
||||
SerialPort_CH2Saoma.Parity = System.IO.Ports.Parity.None;
|
||||
SerialPort_CH2Saoma.Open();
|
||||
if (SerialPort_CH2Saoma.IsOpen)
|
||||
{
|
||||
Console.WriteLine($"SerialPort_CH2Saoma: T");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"SerialPort_CH2Saoma: F");
|
||||
SetUITextBox(tb_CH2MainMessage, $"CH2串口扫码枪打开失败");
|
||||
}
|
||||
|
||||
// 扫码枪3
|
||||
SerialPort_CH3Saoma.BaudRate = SerialPort_CH3BaudRate;
|
||||
SerialPort_CH3Saoma.PortName = SerialPort_CH3PortName;
|
||||
SerialPort_CH3Saoma.DataBits = 8;
|
||||
SerialPort_CH3Saoma.StopBits = System.IO.Ports.StopBits.One;
|
||||
SerialPort_CH3Saoma.Parity = System.IO.Ports.Parity.None;
|
||||
SerialPort_CH3Saoma.Open();
|
||||
if (SerialPort_CH3Saoma.IsOpen)
|
||||
{
|
||||
Console.WriteLine($"SerialPort_CH3Saoma: T");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"SerialPort_CH3Saoma: F");
|
||||
SetUITextBox(tb_CH1MainMessage, $"CH3串口扫码枪打开失败");
|
||||
}
|
||||
|
||||
// 扫码枪4
|
||||
SerialPort_CH4Saoma.BaudRate = SerialPort_CH4BaudRate;
|
||||
SerialPort_CH4Saoma.PortName = SerialPort_CH4PortName;
|
||||
SerialPort_CH4Saoma.DataBits = 8;
|
||||
SerialPort_CH4Saoma.StopBits = System.IO.Ports.StopBits.One;
|
||||
SerialPort_CH4Saoma.Parity = System.IO.Ports.Parity.None;
|
||||
SerialPort_CH4Saoma.Open();
|
||||
if (SerialPort_CH4Saoma.IsOpen)
|
||||
{
|
||||
Console.WriteLine($"SerialPort_CH4Saoma: T");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"SerialPort_CH4Saoma: F");
|
||||
SetUITextBox(tb_CH2MainMessage, $"CH4串口扫码枪打开失败");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -618,6 +657,26 @@ namespace SLC1_N
|
||||
if (tcpSaoma_Enabled)
|
||||
saomaClient2?.SendStartCommand();
|
||||
break;
|
||||
|
||||
case 3: // 扫码枪3启动
|
||||
if (serialport_saoma_Enabled && SerialPort_CH3Saoma != null && SerialPort_CH3Saoma.IsOpen)
|
||||
{
|
||||
SerialPort_CH3Saoma.Write(byt, 0, byt.Length);
|
||||
}
|
||||
|
||||
//if (tcpSaoma_Enabled)
|
||||
// saomaClient3?.SendStartCommand();
|
||||
break;
|
||||
|
||||
case 4: // 扫码枪4启动
|
||||
if (serialport_saoma_Enabled && SerialPort_CH4Saoma != null && SerialPort_CH4Saoma.IsOpen)
|
||||
{
|
||||
SerialPort_CH4Saoma.Write(byt, 0, byt.Length);
|
||||
}
|
||||
|
||||
//if (tcpSaoma_Enabled)
|
||||
// saomaClient4?.SendStartCommand();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4013,6 +4072,106 @@ namespace SLC1_N
|
||||
}
|
||||
}
|
||||
|
||||
// 扫码枪3串口接收函数
|
||||
private void SerialPort_CH3Saoma_DataReceived(object sender, SerialDataReceivedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
System.Threading.Thread.Sleep(50);
|
||||
int len = SerialPort_CH3Saoma.BytesToRead; // 获取可以读取的字节数
|
||||
if (len > 1)
|
||||
{
|
||||
byte[] buff = new byte[len]; // 创建缓存数据数组
|
||||
SerialPort_CH3Saoma.Read(buff, 0, len); // 把数据读取到buff数组
|
||||
Invoke((new System.Action(() =>
|
||||
{
|
||||
string time = DateTime.Now.ToString();
|
||||
string code = Encoding.Default.GetString(buff).Replace(" ", "").Replace("\r", "").Replace("\n", "");
|
||||
|
||||
Console.WriteLine("扫码枪3串口收到:" + code);
|
||||
//code = code.Split(';')[0];
|
||||
//Console.WriteLine("扫码枪3串口去掉分隔符:" + code);
|
||||
|
||||
if (lb_CH1Code.Text == code || lb_CH2Code.Text == code || lb_CH3Code.Text == code || lb_CH4Code.Text == code)
|
||||
{
|
||||
//MessageBox.Show($"条码 {CODE} 已存在", "重复提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
SerialPort_CH3Saoma.DiscardInBuffer();
|
||||
return;
|
||||
}
|
||||
|
||||
if (code.Length.ToString() == tb_CH3codeLeng.Text.Trim())
|
||||
{
|
||||
lb_CH3Code.Text = code;
|
||||
}
|
||||
else
|
||||
{
|
||||
//SetUITextBox(tb_CH3MainMessage, "CH3当前条形码长度为" + code.Length + " 所设置的条码长度为" + tb_CH3codeLeng.Text);
|
||||
}
|
||||
|
||||
SerialPort_CH3Saoma.DiscardInBuffer();
|
||||
})));
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
mxlLog.Instance.Error($"串口扫码枪3接收函数 异常 ,行号{ex.StackTrace} ", ex);
|
||||
}
|
||||
}
|
||||
|
||||
// 扫码枪4串口接收函数
|
||||
private void SerialPort_CH4Saoma_DataReceived(object sender, SerialDataReceivedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
System.Threading.Thread.Sleep(50);
|
||||
int len = SerialPort_CH4Saoma.BytesToRead; // 获取可以读取的字节数
|
||||
if (len > 1)
|
||||
{
|
||||
byte[] buff = new byte[len]; // 创建缓存数据数组
|
||||
SerialPort_CH4Saoma.Read(buff, 0, len); // 把数据读取到buff数组
|
||||
Invoke((new System.Action(() =>
|
||||
{
|
||||
string time = DateTime.Now.ToString();
|
||||
string code = Encoding.Default.GetString(buff).Replace(" ", "").Replace("\r", "").Replace("\n", "");
|
||||
|
||||
Console.WriteLine("扫码枪4串口收到:" + code);
|
||||
//code = code.Split(';')[0];
|
||||
//Console.WriteLine("扫码枪4串口去掉分隔符:" + code);
|
||||
|
||||
if (lb_CH1Code.Text == code || lb_CH2Code.Text == code || lb_CH3Code.Text == code || lb_CH4Code.Text == code)
|
||||
{
|
||||
//MessageBox.Show($"条码 {CODE} 已存在", "重复提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||
SerialPort_CH4Saoma.DiscardInBuffer();
|
||||
return;
|
||||
}
|
||||
|
||||
if (code.Length.ToString() == tb_CH4codeLeng.Text.Trim())
|
||||
{
|
||||
lb_CH4Code.Text = code;
|
||||
}
|
||||
else
|
||||
{
|
||||
//SetUITextBox(tb_CH4MainMessage, "CH4当前条形码长度为" + code.Length + " 所设置的条码长度为" + tb_CH4codeLeng.Text);
|
||||
}
|
||||
|
||||
SerialPort_CH4Saoma.DiscardInBuffer();
|
||||
})));
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
mxlLog.Instance.Error($"串口扫码枪1接收函数 异常 ,行号{ex.StackTrace} ", ex);
|
||||
}
|
||||
}
|
||||
|
||||
// 条码变化函数
|
||||
private void CH1Code_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user