SCLS/SSWCS_JXDL(2019)/SocketsTCPIP/CSendDeviceOrder.cs

393 lines
15 KiB
C#
Raw Normal View History

2025-05-19 09:45:29 +08:00
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Threading;
using Microsoft.VisualBasic;
using DBFactory;
using ICommLayer;
namespace SocketsTCPIP
{
/// <summary>
/// ʹ<><CAB9>SocketsTCPIP<49>Ŀͻ<C4BF><CDBB>˽<EFBFBD><CBBD><EFBFBD>ͨѶ
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// <20><><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>Richard.Liu
/// </summary>
public class CSendDeviceOrder: ISendDeviceOrder
{
string _commLayerError;
public string CommLayerError
{
get { return _commLayerError; }
set { _commLayerError = value; }
}
DBOperator dbo = CClientTCPIP.dbo;
string AGVAllowSingleFork = CommonClassLib.AppSettings.GetValue("AGVAllowSingleFork");
public CSendDeviceOrder()
{
dbo.Open();
}
public bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int StartX, int StartY, int StartZ, int EndX, int EndY, int EndZ,string DoubleFork)
{
return true;
}
/// <summary>
/// ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD>ֽڣ<D6BD>һ<EFBFBD><D2BB><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>
/// 1<>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3BA>־ͷ61<36><31><EFBFBD>ͻ<EFBFBD><CDBB>˶Ͽ<CBB6><CFBF><EFBFBD><EFBFBD><EFBFBD><EEA3BA>־ͷ62<36><32>
/// 2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EEA3BA>־ͷ63<36><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>1--8<><38><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>λ<EFBFBD><CEBB><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>壺0<E5A3BA><30><EFBFBD>޶<EFBFBD><DEB6><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3>⣻2<E2A3BB><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><CCBB>գ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD>̡<EFBFBD><CCA1><EFBFBD>ֽ<EFBFBD>Ļ<EFBFBD><C4BB>գ<EFBFBD>4<EFBFBD><34>ʣ<EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7>⣻5<E2A3BB><35><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3>⣬ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><CCBB><EFBFBD>
/// 3ȡ<33><C8A1><EFBFBD><EFBFBD><EFBFBD>񣺱<EFBFBD>־ͷ65<36><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>
/// 4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣȷ<D6B9>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻؿ<CFBB><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ͷ67
/// 5<><35>ѯС<D1AF><D0A1>״̬<D7B4><CCAC><EFBFBD><EFBFBD>־ͷ69<36><39>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="MessageIndex"><3E><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD></param>
/// <param name="TaskIndex"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="Order">AGV<47><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="DeviceIndex"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="StartX">[N1]:ȡ<><C8A1><EFBFBD><EFBFBD></param>
/// <param name="StartY"></param>
/// <param name="StartZ"></param>
/// <param name="EndX">[N2]:<3A>Ż<EFBFBD><C5BB><EFBFBD></param>
/// <param name="EndY"></param>
/// <param name="EndZ"></param>
/// <returns><3E><><EFBFBD><EFBFBD>AGV<47><56><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ɹ<EFBFBD></returns>
public bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int StartX, int StartY, int StartZ, int EndX, int EndY, int EndZ)
{
//StartXȡ<58><EFBFBD><E8B1B8><EFBFBD><EFBFBD> EndX<64><58><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
//28901<30><31>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ȡ 28902<30><32>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 28903<30><33>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ȡ 28904<30><34>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//28905<30><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ 28906<30><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 28907<30><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ 28908<30><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//28909<30><39>˫<EFBFBD><CBAB><EFBFBD><EFBFBD>ȡ 28910<31><30>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 28911<31><31>˫<EFBFBD><CBAB><EFBFBD><EFBFBD>ȡ 28912<31><32>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//20100413<31><33><EFBFBD><EFBFBD>StartX<74><58>ȡ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>복βԶ<CEB2><D4B6><EFBFBD><EFBFBD>󣨾<EFBFBD><F3A3A8BE>복β<EBB3B5><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//order==1 <20><><EFBFBD><EFBFBD>StartX<74><58>ȡ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD> ȡ<><C8A1><EFBFBD>ң<EFBFBD>order==2 <20><><EFBFBD><EFBFBD>EndX<64><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//վ<>ڳ<EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҷ<EFBFBD><D2B7><EFBFBD><EFBFBD><EFBFBD>
//<2F>жϹ<D0B6><CFB9><EFBFBD>˫<EFBFBD><CBAB><EFBFBD>Ƿ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char useAwayFork = '0';
char channelLeft = '0';
int AGVAddress = 0;
int dorder = 0;
int _device = GetAGVNoFromMonitor(TaskIndex);
byte[] _Sdata;
try
{
switch (Order)
{
case 1://ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> StartXȡ<58><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
GetDeviceInfoFromAGVGate(StartX, ref channelLeft, ref useAwayFork, ref AGVAddress);
if ((Model.CGeneralFunction.DoubleForkIfSync(TaskIndex, DeviceIndex, 6) == false) && (AGVAllowSingleFork=="1"))//20100710
{//<2F><><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
GetDeviceInfoFromAGVGate(StartX, ref channelLeft, ref useAwayFork, ref AGVAddress);
if (useAwayFork == '1')//ǰ<><C7B0>
{
if (channelLeft == '1')
{
dorder = 28901;//ǰ<><C7B0><EFBFBD><EFBFBD>ȡ
}
else
{
dorder = 28903;//ǰ<><C7B0><EFBFBD><EFBFBD>ȡ
}
}
else//<2F><><EFBFBD><EFBFBD>
{
if (channelLeft == '1')
{
dorder = 28905;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ
}
else
{
dorder = 28907;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ
}
}
}
else
{//ͬ<><CDAC>
if (channelLeft == '1')
{
dorder = 28909;//˫<><CBAB><EFBFBD><EFBFBD>ȡ
}
else
{
dorder = 28911;//˫<><CBAB><EFBFBD><EFBFBD>ȡ
}
}
_Sdata = new byte[10];
_Sdata[0] = 72;
_Sdata[1] = 0;
_Sdata[2] = Convert.ToByte(TaskIndex & 255);
_Sdata[3] = Convert.ToByte(TaskIndex >> 8);
_Sdata[4] = Convert.ToByte(AGVAddress & 255);
_Sdata[5] = Convert.ToByte(AGVAddress >> 8);
_Sdata[6] = Convert.ToByte(dorder & 255);
_Sdata[7] = Convert.ToByte(dorder >> 8);
_Sdata[8] = Convert.ToByte(_device & 255);
_Sdata[9] = Convert.ToByte(_device >> 8);
return SendData(DeviceIndex, _Sdata);
case 2://<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
GetDeviceInfoFromAGVGate(EndX, ref channelLeft, ref useAwayFork, ref AGVAddress);
if ((Model.CGeneralFunction.DoubleForkIfSync(TaskIndex, DeviceIndex, 6) == false) && (AGVAllowSingleFork == "1"))//20100710
{//<2F><><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
GetDeviceInfoFromAGVGate(EndX, ref channelLeft, ref useAwayFork, ref AGVAddress);
if (useAwayFork == '1')//ǰ<><C7B0>
{
if (channelLeft == '1')
{
dorder = 28902;//ǰ<><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
dorder = 28904;//ǰ<><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
else//<2F><><EFBFBD><EFBFBD>
{
if (channelLeft == '1')
{
dorder = 28906;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
dorder = 28908;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
else
{//ͬ<><CDAC>
if (channelLeft == '1')
{
dorder = 28910;//˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
dorder = 28912;//˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
_Sdata = new byte[10];
_Sdata[0] = 72;
_Sdata[1] = 0;
_Sdata[2] = Convert.ToByte(TaskIndex & 255);
_Sdata[3] = Convert.ToByte(TaskIndex >> 8);
_Sdata[4] = Convert.ToByte(AGVAddress & 255);
_Sdata[5] = Convert.ToByte(AGVAddress >> 8);
_Sdata[6] = Convert.ToByte(dorder & 255);
_Sdata[7] = Convert.ToByte(dorder >> 8);
_Sdata[8] = Convert.ToByte(_device & 255);
_Sdata[9] = Convert.ToByte(_device >> 8);
return SendData(DeviceIndex, _Sdata);
case 3:
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>Ӧ<EFBFBD><D3A6>֡75
_Sdata = new byte[6];
_Sdata[0] = 75;
_Sdata[1] = 0;
TaskIndex = GetAGVTaskFromMonitor(TaskIndex);
_Sdata[2] = Convert.ToByte(TaskIndex & 255);
_Sdata[3] = Convert.ToByte(TaskIndex >> 8);
_Sdata[4] = Convert.ToByte(65535 & 255);
_Sdata[5] = Convert.ToByte(65535 >> 8);
return SendData(DeviceIndex, _Sdata);
case 4:
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
GetDeviceInfoFromAGVGate(EndX, ref channelLeft, ref useAwayFork, ref AGVAddress);
_Sdata = new byte[10];
_Sdata[0] = 72;
_Sdata[1] = 0;
_Sdata[2] = Convert.ToByte(TaskIndex & 255);
_Sdata[3] = Convert.ToByte(TaskIndex >> 8);
_Sdata[4] = Convert.ToByte(AGVAddress & 255);
_Sdata[5] = Convert.ToByte(AGVAddress >> 8);
_Sdata[6] = Convert.ToByte(65535 & 255);//<2F><><EFBFBD><EFBFBD>
_Sdata[7] = Convert.ToByte(65535 >> 8);
_Sdata[8] = Convert.ToByte(_device & 255);
_Sdata[9] = Convert.ToByte(_device >> 8);
return SendData(DeviceIndex, _Sdata);
default:
break;
}
return false;
}
catch (Exception ex)
{
_commLayerError = this.ToString() + ":SendDeviceOrder---" +ex.Message ;
return false;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>AGV<47><56><EFBFBD><EFBFBD>
/// </summary>
/// <param name="MessageIndex"><3E><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD></param>
/// <param name="TaskIndex"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="Order">AGV<47><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MAN֪ͨLCͨѶ<CDA8><D1B6><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MAN֪ͨLCͨѶ<CDA8><D1B6><EFBFBD>ӶϿ<D3B6></param>
/// <param name="DeviceIndex"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <returns><3E><><EFBFBD><EFBFBD>AGV<47><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ɹ<EFBFBD></returns>
public bool SendDeviceOrder(int MessageIndex, int TaskIndex, int Order, int DeviceIndex, int ArrowDeviceIndex)
{
try
{
byte[] _Sdata = new byte[2];
_Sdata[0] =Convert.ToByte(Order);
_Sdata[1] = 0;
_Sdata[2] =Convert.ToByte(TaskIndex & 255);//<2F>Ͱ<EFBFBD>λ
_Sdata[3] = Convert.ToByte(TaskIndex >> 8);//<2F>߰<EFBFBD>λ
//<2F><><EFBFBD><EFBFBD>DeviceIndex,<2C>õ<EFBFBD>SocketsͨѶ<CDA8>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
DataSet ds = dbo.ExceSQL("SELECT F_DeviceIndex,F_DeviceKindIndex, F_LocalIP, F_LocalPort, F_RemoteIP, F_RemotePort FROM T_Base_Device where F_DeviceIndex=" + DeviceIndex);
DataView dv = ds.Tables[0].DefaultView;
if (ds.Tables[0].DefaultView.Count == 0)
{
return false;
}
else
{
CClientTCPIP.Send(dv[0]["F_RemoteIP"].ToString(), (int)dv[0]["F_RemotePort"], _Sdata);
return true;
}
}
catch (Exception ex)
{
_commLayerError = this.ToString() + ":SendDeviceOrder---" + ex.Message;
return false;
}
}
/// <summary>
/// <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<E4B0B4><C6B7><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>Ϣ<EFBFBD><CFA2>15<31>ֽ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱд<CAB1><D0B4>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB>д<EFBFBD><D0B4>
/// </summary>
/// <param name="DeviceIndex"><3E><><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="TobaccoCode"><3E><>1--13<31>ֽ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="HaveFirstProjectCode"><3E><>14<31>ֽ<EFBFBD>,1-<2D><>һ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD>,0-<2D><>һ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="IfSmallTobacco"><3E><>15<31>ֽ<EFBFBD>,1-С<><D0A1><EFBFBD><EFBFBD>,0-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
public bool SendDeviceOrder(int DeviceIndex, string TobaccoCode, bool HaveFirstProjectCode, bool IfSmallTobacco,int Count)
{
return true;
}
bool SendData(int devID, byte[] _Sdata)
{
//<2F><><EFBFBD><EFBFBD>DeviceIndex,<2C>õ<EFBFBD>SocketsͨѶ<CDA8>ij<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
DataSet ds = dbo.ExceSQL("SELECT F_DeviceIndex,F_DeviceKindIndex, F_LocalIP, F_LocalPort, F_RemoteIP, F_RemotePort FROM T_Base_Device where F_DeviceIndex=" + devID);
DataView dv = ds.Tables[0].DefaultView;
if (dv.Count == 0)
{
return false;
}
else
{
if (CClientTCPIP.Send(dv[0]["F_RemoteIP"].ToString(), Convert.ToInt32(dv[0]["F_RemotePort"]), _Sdata) == false)
{
if (CClientTCPIP.TcpError != null) _commLayerError = CClientTCPIP.TcpError;
return false;
}
return true;
}
}
/// <summary>
/// <20><>PLC<4C><43>DB<44><42>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="ItemNames"><3E><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="ItemValues"><3E><>ǩֵ<C7A9><D6B5><EFBFBD><EFBFBD></param>
/// <returns></returns>
public bool WriteDBData(StringBuilder[] ItemNames, StringBuilder[] ItemValues,int deviceindex)
{
return true;
}
void GetDeviceInfoFromAGVGate(int agvGateDevice,ref char channelLeft,ref char useAwayFork,ref int AGVAddress)
{
DataView dv;
try
{
dv = dbo.ExceSQL("SELECT F_Address,F_IfChannelLeft,F_UseAwayFork FROM T_Base_AGV_Gate WHERE (F_AGVGateDeviceIndex = " + agvGateDevice + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
channelLeft = Convert.ToChar(dv[0]["F_IfChannelLeft"]);
useAwayFork = Convert.ToChar(dv[0]["F_UseAwayFork"]);
AGVAddress = Convert.ToChar(dv[0]["F_Address"]);
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
int GetAGVNoFromMonitor(int taskIndex)
{
DataView dv;
try
{
dv = dbo.ExceSQL("SELECT F_AgvNo FROM T_Monitor_Task WHERE (F_MonitorIndex = " + taskIndex + ") and (F_AgvNo is not null)").Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0][0]);
}
else
{
return 65535;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
int GetAGVTaskFromMonitor(int taskIndex)
{
DataView dv;
try
{
dv = dbo.ExceSQL("SELECT F_AgvTask FROM T_Monitor_Task WHERE (F_MonitorIndex = " + taskIndex + ") and (F_AgvTask is not null)").Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0][0]);
}
else
{
return 65535;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
}
}