SCLS/SSWCS_JXDL(2019)/Symbol3204/CSendDeviceOrder.cs
2025-05-19 09:45:29 +08:00

143 lines
4.4 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Threading;
using Microsoft.VisualBasic;
using DBFactory;
using ICommLayer;
namespace Symbol3204
{
/// <summary>
/// 使用SocketsUDP的客户端进行通讯
/// 发送设备命令类
/// 创建者Richard.Liu
/// </summary>
public class CSendDeviceOrder: ISendDeviceOrder
{
string _commLayerError;
public string CommLayerError
{
get { return _commLayerError; }
set { _commLayerError = value; }
}
DBOperator dbo = new DBOperator();
public CSendDeviceOrder()
{
dbo.Open();
}
public bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex)
{
try
{
CScan cs;
//根据DeviceIndex,得到串口号和初始设置
DataSet ds = dbo.ExceSQL("SELECT F_DeviceIndex, F_CommSettings, F_SerialPort FROM T_Base_Device where F_DeviceIndex=" + DeviceIndex);
DataView dv = ds.Tables[0].DefaultView;
if (ds.Tables[0].DefaultView.Count > 0)
{
cs = new CScan(Convert.ToInt16(dv[0]["F_SerialPort"]), Convert.ToString(dv[0]["F_CommSettings"]));
if (Order == 1)//触发扫描
{
if (cs.StartSession() == true)
{
cs.StopScan();
return true;
}
else
{
cs.StopScan();
return false;
}
}
else//停止触发
{
if (cs.StopSession() == true)
{
cs.StopScan();
return true;
}
else
{
cs.StopScan();
return false;
}
}
}
else
{
{
return false;
}
}
}
catch (Exception ex)
{
_commLayerError = "Symbol3204SendDeviceOrder---" + ex.Message;
return false;
}
}
public bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int StartX, int StartY, int StartZ, int EndX, int EndY, int EndZ)
{
try
{
CScan cs;
//根据DeviceIndex,得到串口号和初始设置
DataSet ds = dbo.ExceSQL("SELECT F_DeviceIndex, F_CommSettings, F_SerialPort FROM T_Base_Device where F_DeviceIndex=" + DeviceIndex);
DataView dv = ds.Tables[0].DefaultView;
if (ds.Tables[0].DefaultView.Count > 0)
{
cs = new CScan(Convert.ToInt16(dv[0]["F_SerialPort"]), Convert.ToString(dv[0]["F_CommSettings"]));
if (Order == 1)//触发扫描
{
if (cs.StartSession() == true)
{
cs.StopScan();
return true;
}
else
{
cs.StopScan();
return false;
}
}
else//停止触发
{
if (cs.StopSession() == true)
{
cs.StopScan();
return true;
}
else
{
cs.StopScan();
return false;
}
}
}
else
{
return false;
}
}
catch (Exception ex)
{
_commLayerError = "Symbol3204SendDeviceOrder---" + ex.Message;
return false;
}
}
}
}