955 lines
36 KiB
C#
955 lines
36 KiB
C#
|
using RGD.Common;
|
|||
|
using RGD.DataService;
|
|||
|
using RGD.DBUtility;
|
|||
|
using RGD.OPCClient;
|
|||
|
using System;
|
|||
|
|
|||
|
namespace RGD.WCS
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Creator:rgd
|
|||
|
/// <20><><EFBFBD><EFBFBD>ص<EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static class CStaticClass
|
|||
|
{
|
|||
|
//public static string[] TestLaneCell = new string[3];
|
|||
|
//public static int[] TestLane = new int[3];
|
|||
|
//public static bool StopTestLane = false;
|
|||
|
//public static bool TestOut = true;
|
|||
|
//public static bool TestIn = true;
|
|||
|
//public static int[] testWorkstation = new int[48];
|
|||
|
|
|||
|
//public static bool IfRemind = true;
|
|||
|
//public static System.Windows.Forms.Form FormMonitor = null;
|
|||
|
|
|||
|
//public static int gcCount = 0;
|
|||
|
//public static Dictionary<int, System.IO.Ports.SerialPort> serialports = new Dictionary<int, System.IO.Ports.SerialPort>();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>־<EFBFBD><D6BE>ϻ<EFBFBD>ӱ<EFBFBD><D3B1><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
/// </summary>
|
|||
|
public static string SaveDays = "30";//20110603
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// CParsePLCData<74><61><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD> ʱ<><CAB1><EFBFBD><EFBFBD>ʶ
|
|||
|
/// </summary>
|
|||
|
public static DateTime routetime = DateTime.Now;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// CParsePLCData<74><61><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD> ʱ<><CAB1><EFBFBD><EFBFBD>ʶ
|
|||
|
/// </summary>
|
|||
|
public static DateTime reporttime = DateTime.Now;
|
|||
|
|
|||
|
public static Model.MDevice devinfo28;
|
|||
|
public static Model.MDevice devinfo;
|
|||
|
public static ISendDeviceOrder sdo;
|
|||
|
public static IGetDeviceState gds;
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
private static string _userID;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static string UserID
|
|||
|
{
|
|||
|
get { return CStaticClass._userID; }
|
|||
|
set { CStaticClass._userID = value; }
|
|||
|
}
|
|||
|
|
|||
|
private static string _movedDeviceAheadTrigger = "1";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>ƶ<EFBFBD><C6B6>豸<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ
|
|||
|
/// </summary>
|
|||
|
public static string MovedDeviceAheadTrigger
|
|||
|
{
|
|||
|
get { return CStaticClass._movedDeviceAheadTrigger; }
|
|||
|
set
|
|||
|
{
|
|||
|
if ((value == "0") || (value == "1"))
|
|||
|
{
|
|||
|
CStaticClass._movedDeviceAheadTrigger = value;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
CStaticClass._movedDeviceAheadTrigger = "1";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static string _outDetectArrowIdleGoods = "1";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static string OutDetectArrowIdleGoods
|
|||
|
{
|
|||
|
get { return CStaticClass._outDetectArrowIdleGoods; }
|
|||
|
set
|
|||
|
{
|
|||
|
if ((value == "0") || (value == "1"))
|
|||
|
{
|
|||
|
CStaticClass._outDetectArrowIdleGoods = value;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
CStaticClass._outDetectArrowIdleGoods = "1";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static string _deviceErrorAutoModifyRoutePath = "0";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
|||
|
/// </summary>
|
|||
|
public static string DeviceErrorAutoModifyRoutePath
|
|||
|
{
|
|||
|
get { return CStaticClass._deviceErrorAutoModifyRoutePath; }
|
|||
|
set
|
|||
|
{
|
|||
|
if ((value == "0") || (value == "1"))
|
|||
|
{
|
|||
|
CStaticClass._deviceErrorAutoModifyRoutePath = value;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
CStaticClass._deviceErrorAutoModifyRoutePath = "0";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static string _doubleForkWaitTime = "120";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>ʱ<EFBFBD>䵥λ<E4B5A5><CEBB><EFBFBD>룩<EFBFBD><EBA3A9>Ĭ<EFBFBD><C4AC>120<32><30>
|
|||
|
/// </summary>
|
|||
|
public static string DoubleForkWaitTime
|
|||
|
{
|
|||
|
get { return CStaticClass._doubleForkWaitTime; }
|
|||
|
set
|
|||
|
{
|
|||
|
if (Microsoft.VisualBasic.Information.IsNumeric(_doubleForkWaitTime) == true)
|
|||
|
{
|
|||
|
CStaticClass._doubleForkWaitTime = value;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
CStaticClass._doubleForkWaitTime = "120";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static string _agvAllowSingleFork = "0";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// AGV<47>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>涯<EFBFBD><E6B6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>˫<EFBFBD><CBAB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0
|
|||
|
/// </summary>
|
|||
|
public static string AGVAllowSingleFork
|
|||
|
{
|
|||
|
get { return CStaticClass._agvAllowSingleFork; }
|
|||
|
set
|
|||
|
{
|
|||
|
if ((value == "0") || (value == "1"))
|
|||
|
{
|
|||
|
CStaticClass._agvAllowSingleFork = value;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
CStaticClass._agvAllowSingleFork = "0";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static bool _Order;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EEBFAA><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static bool Order
|
|||
|
{
|
|||
|
get { return CStaticClass._Order; }
|
|||
|
set { CStaticClass._Order = value; }
|
|||
|
}
|
|||
|
|
|||
|
private static string _routeSearchMode = "0";
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ·<><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ:0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>ѡ<EFBFBD><D1A1><EFBFBD>̶<EFBFBD>·<EFBFBD>ߣ<EFBFBD>1<EFBFBD><31>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>Ľڵ<C4BD><DAB5><EFBFBD>Ϊ<EFBFBD><CEAA>ʼ<EFBFBD>㣬<EFBFBD><E3A3AC>ĩ<EFBFBD>˽ڵ<CBBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>Ľڵ<C4BD>
|
|||
|
/// </summary>
|
|||
|
public static string RouteSearchMode
|
|||
|
{
|
|||
|
get { return CStaticClass._routeSearchMode; }
|
|||
|
set
|
|||
|
{
|
|||
|
if ((value == "0") || (value == "1"))
|
|||
|
{
|
|||
|
CStaticClass._routeSearchMode = value;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
CStaticClass._routeSearchMode = "0";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static int _MessageIndex;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static int MessageIndex
|
|||
|
{
|
|||
|
get { return CStaticClass._MessageIndex; }
|
|||
|
set
|
|||
|
{
|
|||
|
if (value > 240)
|
|||
|
{
|
|||
|
value = 1;
|
|||
|
}
|
|||
|
|
|||
|
CStaticClass._MessageIndex = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#region OPC<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
|
|||
|
public static void ReConnect()
|
|||
|
{
|
|||
|
OPCClient.CCommonOPCClient.ConnectCount = 0;
|
|||
|
}
|
|||
|
|
|||
|
#endregion OPC<EFBFBD><EFBFBD><EFBFBD>س<EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
private static string _manstatus = " F_Status<>-1 ";//Ĭ<>ϣ<EFBFBD><CFA3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private static string _monstatus = " F_Status<>-1 ";//Ĭ<>ϣ<EFBFBD><CFA3><EFBFBD>ʾ<EFBFBD>豸ָ<E8B1B8><D6B8>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private static bool _realRefresh = true;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" F_Status<>-1 ";<3B>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>" F_Status=0 "<22><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>" F_Status=1 "<22><>
|
|||
|
/// </summary>
|
|||
|
public static string Manstatus
|
|||
|
{
|
|||
|
get { return CStaticClass._manstatus; }
|
|||
|
set { CStaticClass._manstatus = value; }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ʾ<EFBFBD>豸ָ<E8B1B8><D6B8>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" F_Status<>-1 ";<3B>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>" F_Status=0 "<22><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD>" F_Status=1 "<22><>
|
|||
|
/// </summary>
|
|||
|
public static string Monstatus
|
|||
|
{
|
|||
|
get { return CStaticClass._monstatus; }
|
|||
|
set { CStaticClass._monstatus = value; }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>Ƿ<EFBFBD>ʵʱˢ<CAB1>¼<EFBFBD><C2BC>غ͵<D8BA><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static bool RealRefresh
|
|||
|
{
|
|||
|
get { return CStaticClass._realRefresh; }
|
|||
|
set { CStaticClass._realRefresh = value; }
|
|||
|
}
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#region OPC<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD>--<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>--
|
|||
|
|
|||
|
public static int[] AllReturns;
|
|||
|
public static bool GetAllReturnFlag = false;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9>翪<EFBFBD>ص<EFBFBD><D8B5>ź<EFBFBD> <20><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
|
|||
|
/// </summary>
|
|||
|
public static void GetAllReturns()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
GetAllReturnFlag = true;
|
|||
|
if (devinfo28.DeviceIndex == 11001)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
gds = CommModeCreate.CreateGetDeviceState(devinfo28.DeviceIndex);
|
|||
|
AllReturns = gds.GetDeviceState(devinfo28.DeviceIndex);
|
|||
|
//AllReturns = new int[100] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
|
|||
|
if (AllReturns == null)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9>翪<EFBFBD>ص<EFBFBD><D8B5>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + gds.CommLayerError) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9>翪<EFBFBD>ص<EFBFBD><D8B5>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + gds.CommLayerError, true);
|
|||
|
}
|
|||
|
}
|
|||
|
//Thread.Sleep(500);//̽<><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>źŴ<C5BA>λ
|
|||
|
//LogUtil.WriteLog("", "ִ<><D6B4>GetAllReturns<6E><73>"+ AllReturns.Length);
|
|||
|
GetAllReturnFlag = false;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9>翪<EFBFBD>ص<EFBFBD><D8B5>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9>翪<EFBFBD>ص<EFBFBD><D8B5>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="deviceIdx"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetOverlapStatus(int deviceIdx)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (devinfo28.DeviceKind == 28)
|
|||
|
{
|
|||
|
if (CStaticClass.AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(deviceIdx);
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
int flag = CStaticClass.AllReturns[temp];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־
|
|||
|
int sendouttype = CStaticClass.AllReturns[temp + 1];//<2F><><EFBFBD><EFBFBD><EFBFBD>뿪<EFBFBD><EBBFAA><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// return 3; // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (flag == 0 || sendouttype < 3)// || boxnumber == 0)
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return sendouttype;
|
|||
|
}
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("ȡ<>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "ȡ<>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ӧ<><D3A6><EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="deviceIdx"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetboxNum(int deviceIdx)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (devinfo28.DeviceKind == 28)
|
|||
|
{
|
|||
|
if (CStaticClass.AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(deviceIdx);
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
int boxNum = (CStaticClass.AllReturns[temp + 4] << 8) + CStaticClass.AllReturns[temp + 5];
|
|||
|
return boxNum;
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("ȡ<>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "ȡ<>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="deviceIdx"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int Gettaskno(int deviceIdx)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (devinfo28.DeviceKind == 28)
|
|||
|
{
|
|||
|
if (CStaticClass.AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(deviceIdx);
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
int taskno = (CStaticClass.AllReturns[temp + 2] << 8) + CStaticClass.AllReturns[temp + 3];
|
|||
|
return taskno;
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("ȡ<>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "ȡ<>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ȡɨ<C8A1><C9A8>ͷ <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ӿ<EFBFBD>ǰ
|
|||
|
/// </summary>
|
|||
|
/// <param name="deviceIdx"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetScannerStatus(int deviceIdx)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (devinfo28.DeviceKind == 28)
|
|||
|
{
|
|||
|
if (CStaticClass.AllReturns != null)
|
|||
|
{
|
|||
|
#region ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(deviceIdx);
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
int flag = CStaticClass.AllReturns[temp];//ɨ<><C9A8><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־
|
|||
|
return flag;
|
|||
|
|
|||
|
#endregion ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("ȡ<><C8A1>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "ȡ<><C8A1>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ȡɨ<C8A1><C9A8>ͷ <20><><EFBFBD><EFBFBD> <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="deviceIdx"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static string GetStringData(int deviceIdx)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (devinfo28.DeviceKind == 28)
|
|||
|
{
|
|||
|
if (CStaticClass.AllReturns != null)
|
|||
|
{
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(deviceIdx);
|
|||
|
|
|||
|
if (devinfo.Dbw2Address != -1)
|
|||
|
{
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
decimal glen = devinfo.Dbw2Getlength;
|
|||
|
string strdata = "";
|
|||
|
string headstr = CStaticClass.AllReturns[temp].ToString();
|
|||
|
if (headstr != "2") return null;
|
|||
|
switch (devinfo.DeviceKind.ToString())
|
|||
|
{
|
|||
|
#region <EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
|
|||
|
case "7"://<2F><><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD>
|
|||
|
for (int i = 1; i <= 12; i++)//20110401
|
|||
|
{
|
|||
|
strdata += Convert.ToChar(CStaticClass.AllReturns[temp + i + 1]);
|
|||
|
if (strdata == "?")
|
|||
|
{
|
|||
|
return "";
|
|||
|
}
|
|||
|
}
|
|||
|
strdata = strdata.ToUpper();
|
|||
|
CCarryConvert.WriteDarkCasket("OPCClient", "CGetDeviceState", deviceIdx.ToString(), strdata);
|
|||
|
break;
|
|||
|
|
|||
|
#endregion <EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
}
|
|||
|
return strdata;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("CStaticClassȡ<73><C8A1><EFBFBD>豸<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>Ϣʱ<CFA2><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "CStaticClassȡ<73><C8A1><EFBFBD>豸<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>Ϣʱ<CFA2><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD>ʶ <20><>ȡij<C8A1><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="devicePhotoelectricBit"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetDevicePhotoelectric(string devicePhotoelectricBit)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (devinfo28.DeviceKind != 28)
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
if (CStaticClass.AllReturns == null)
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
|||
|
char[] dd = new char[1] { '.' };
|
|||
|
string[] DS = devicePhotoelectricBit.Split(dd);
|
|||
|
int deviceIdx = 0; int devbit = 0;
|
|||
|
int.TryParse(DS[0], out deviceIdx);
|
|||
|
int.TryParse(DS[1], out devbit);
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(deviceIdx);
|
|||
|
if (devinfo == null)
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
int glen = 0;
|
|||
|
int IfVis = 0;
|
|||
|
if (devinfo.SplitByte != -1)
|
|||
|
{
|
|||
|
int temp = devinfo.SplitByte - devinfo28.Dbw2Address;
|
|||
|
temp += devbit / 8;
|
|||
|
glen = devbit % 8;
|
|||
|
|
|||
|
if (temp >= 0)
|
|||
|
{
|
|||
|
IfVis = CCarryConvert.GetBitFromInteger(CStaticClass.AllReturns[temp], glen);
|
|||
|
return IfVis;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("ȡ<><C8A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>翪<EFBFBD>ص<EFBFBD><D8B5>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "ȡ<><C8A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>翪<EFBFBD>ص<EFBFBD><D8B5>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return -1;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ź<EFBFBD>bitλ<74><CEBB>ȡ<EFBFBD><C8A1>F_SplitByte<74><65><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>bitֵ<74><D6B5>0,1
|
|||
|
/// </summary>
|
|||
|
/// <param name="deviceIdx"></param>
|
|||
|
/// <param name="bit"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetDevicePhotoelectric(int deviceIdx, int abit)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
if (devinfo28.DeviceKind == 28)
|
|||
|
{
|
|||
|
if (CStaticClass.AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(deviceIdx);
|
|||
|
int glen = 0;
|
|||
|
int IfVis = 0;
|
|||
|
if (devinfo.SplitByte != -1)
|
|||
|
{
|
|||
|
int temp = devinfo.SplitByte - devinfo28.Dbw2Address;
|
|||
|
if (abit > 7)
|
|||
|
{
|
|||
|
glen = abit - 8;
|
|||
|
temp = temp + 1;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
glen = abit;
|
|||
|
}
|
|||
|
if (temp >= 0)
|
|||
|
{
|
|||
|
IfVis = CCarryConvert.GetBitFromInteger(CStaticClass.AllReturns[temp], glen);
|
|||
|
//if (dvle[0]["F_DeviceKindIndex"].ToString() == "18")
|
|||
|
//{//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>翪<EFBFBD><E7BFAA>0<EFBFBD><30>̽<EFBFBD>1<EFA3AC><31>̽<EFBFBD><EFBFBD><EFA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// if (IfVis == 1)
|
|||
|
// {
|
|||
|
// IfVis = 0;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// IfVis = 1;
|
|||
|
// }
|
|||
|
//}
|
|||
|
return IfVis;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("ȡ<><C8A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>翪<EFBFBD>ص<EFBFBD><D8B5>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "ȡ<><C8A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>翪<EFBFBD>ص<EFBFBD><D8B5>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return -1;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ȡ<><C8A1>ָ<EFBFBD><D6B8><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸״̬:[0]<5D><>д<EFBFBD><D0B4>־;[1]״̬;[2]<5D><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>[3]X<><58><EFBFBD><EFBFBD>;[4]Y<><59><EFBFBD><EFBFBD>;[5]<5D>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="deviceIdx"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int[] GetDeviceState(int deviceIdx)
|
|||
|
{
|
|||
|
int[] states = new int[6];
|
|||
|
//string headstr;
|
|||
|
string[] wv = new string[1] { "2" };
|
|||
|
string[] witemnames;
|
|||
|
try
|
|||
|
{
|
|||
|
if (devinfo28.DeviceKind == 28)//<2F><><EFBFBD><EFBFBD><EFBFBD>豸 <20><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (CStaticClass.AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD>ȡ<EFBFBD>豸״̬
|
|||
|
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(deviceIdx);
|
|||
|
if (devinfo.Dbw2Address != -1)
|
|||
|
{
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
decimal glen = devinfo.Dbw2Getlength;
|
|||
|
states = new int[6];
|
|||
|
wv = new string[1] { "2" };
|
|||
|
witemnames = new string[1] { "DB2,byte" + Convert.ToString((devinfo.Dbw2Address + 0)) };
|
|||
|
sdo = CommModeCreate.CreateSendDeviceOrder(deviceIdx);
|
|||
|
switch (devinfo.DeviceKind.ToString())
|
|||
|
{
|
|||
|
#region
|
|||
|
|
|||
|
case "1":
|
|||
|
|
|||
|
#region <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
states[0] = CStaticClass.AllReturns[temp];//<2F><>д<EFBFBD><D0B4>־
|
|||
|
states[1] = CStaticClass.AllReturns[temp + 1];//״̬
|
|||
|
states[2] = (CStaticClass.AllReturns[temp + 2] << 8) + CStaticClass.AllReturns[temp + 3];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
states[3] = CStaticClass.AllReturns[temp + 7] + (CStaticClass.AllReturns[temp + 6] << 8) + (CStaticClass.AllReturns[temp + 5] << 16) + (CStaticClass.AllReturns[temp + 4] << 32);//X<><58><EFBFBD><EFBFBD>
|
|||
|
states[4] = CStaticClass.AllReturns[temp + 11] + (CStaticClass.AllReturns[temp + 10] << 8) + (CStaticClass.AllReturns[temp + 9] << 16) + (CStaticClass.AllReturns[temp + 8] << 32);//Y<><59><EFBFBD><EFBFBD>
|
|||
|
states[5] = deviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (IsEquals(devinfo.ReturnMessage, states, 3) == false)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ڴ治һ<E6B2BB><D2BB> <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
devinfo.ReturnMessage = states;
|
|||
|
BaseDeviceService.SetDeviceMessage(devinfo);
|
|||
|
DbHelperSQL.Query("update t_base_device set f_currentlocation='" + states[3] + "," + states[4] + "' where f_deviceindex=" + deviceIdx);
|
|||
|
string sss = "";
|
|||
|
for (int j = 0; j <= 5; j++)
|
|||
|
{
|
|||
|
sss += "**" + states[j].ToString();
|
|||
|
}
|
|||
|
CCarryConvert.WriteDarkCasket("OPCClient", "CGetDeviceState", deviceIdx.ToString(), sss);
|
|||
|
}
|
|||
|
break;
|
|||
|
|
|||
|
#endregion <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
case "2":
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
|
|||
|
|
|||
|
states[0] = CStaticClass.AllReturns[temp];//<2F><>д<EFBFBD><D0B4>־
|
|||
|
states[1] = CStaticClass.AllReturns[temp + 1];//״̬
|
|||
|
states[2] = (CStaticClass.AllReturns[temp + 2] << 8) + CStaticClass.AllReturns[temp + 3];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
states[3] = 0;
|
|||
|
states[4] = 0;
|
|||
|
states[5] = deviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (IsEquals(devinfo.ReturnMessage, states, 3) == false)
|
|||
|
{
|
|||
|
devinfo.ReturnMessage = states;
|
|||
|
BaseDeviceService.SetDeviceMessage(devinfo);
|
|||
|
string sss = "";
|
|||
|
for (int j = 0; j <= 5; j++)
|
|||
|
{
|
|||
|
sss += "**" + states[j].ToString();
|
|||
|
}
|
|||
|
CCarryConvert.WriteDarkCasket("OPCClient", "CGetDeviceState", deviceIdx.ToString(), sss);
|
|||
|
}
|
|||
|
break;
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
|
|||
|
|
|||
|
case "34":
|
|||
|
|
|||
|
#region AGV
|
|||
|
|
|||
|
states[0] = CStaticClass.AllReturns[temp];//<2F><>д<EFBFBD><D0B4>־
|
|||
|
states[1] = CStaticClass.AllReturns[temp + 1];//״̬
|
|||
|
states[2] = (CStaticClass.AllReturns[temp + 2] << 8) + CStaticClass.AllReturns[temp + 3];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
states[3] = 0;
|
|||
|
states[4] = 0;
|
|||
|
states[5] = deviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (IsEquals(devinfo.ReturnMessage, states, 3) == false)
|
|||
|
{
|
|||
|
devinfo.ReturnMessage = states;
|
|||
|
BaseDeviceService.SetDeviceMessage(devinfo);
|
|||
|
string sss = "";
|
|||
|
for (int j = 0; j <= 5; j++)
|
|||
|
{
|
|||
|
sss += "**" + states[j].ToString();
|
|||
|
}
|
|||
|
CCarryConvert.WriteDarkCasket("OPCClient", "CGetDeviceState", deviceIdx.ToString(), sss);
|
|||
|
}
|
|||
|
break;
|
|||
|
|
|||
|
#endregion AGV
|
|||
|
|
|||
|
case "5":
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD>̻<EFBFBD>
|
|||
|
|
|||
|
states[0] = CStaticClass.AllReturns[temp];//<2F><>д<EFBFBD><D0B4>־
|
|||
|
states[1] = CStaticClass.AllReturns[temp + 1];//״̬
|
|||
|
states[2] = 0;
|
|||
|
states[3] = 0;
|
|||
|
states[4] = 0;
|
|||
|
states[5] = deviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (IsEquals(devinfo.ReturnMessage, states, 3) == false)
|
|||
|
{
|
|||
|
devinfo.ReturnMessage = states;
|
|||
|
BaseDeviceService.SetDeviceMessage(devinfo);
|
|||
|
string sss = "";
|
|||
|
for (int j = 0; j <= 5; j++)
|
|||
|
{
|
|||
|
sss += "**" + states[j].ToString();
|
|||
|
}
|
|||
|
CCarryConvert.WriteDarkCasket("OPCClient", "CGetDeviceState", deviceIdx.ToString(), sss);
|
|||
|
}
|
|||
|
break;
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD>̻<EFBFBD>
|
|||
|
|
|||
|
case "32":
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD>ѡģ<EFBFBD><EFBFBD>
|
|||
|
|
|||
|
states[0] = CStaticClass.AllReturns[temp];//<2F><>д<EFBFBD><D0B4>־
|
|||
|
states[1] = CStaticClass.AllReturns[temp + 1];//״̬
|
|||
|
states[2] = (CStaticClass.AllReturns[temp + 2] << 8) + CStaticClass.AllReturns[temp + 3];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
states[3] = CStaticClass.AllReturns[temp + 4]; ;//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
states[4] = 0;
|
|||
|
states[5] = deviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (IsEquals(devinfo.ReturnMessage, states, 3) == false)
|
|||
|
{
|
|||
|
devinfo.ReturnMessage = states;
|
|||
|
BaseDeviceService.SetDeviceMessage(devinfo);
|
|||
|
string sss = "";
|
|||
|
for (int j = 0; j <= 5; j++)
|
|||
|
{
|
|||
|
sss += "**" + states[j].ToString();
|
|||
|
}
|
|||
|
CCarryConvert.WriteDarkCasket("OPCClient", "CGetDeviceState", deviceIdx.ToString(), sss);
|
|||
|
}
|
|||
|
break;
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD>ѡģ<EFBFBD><EFBFBD>
|
|||
|
|
|||
|
case "33":
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
states[0] = CStaticClass.AllReturns[temp];//<2F><>д<EFBFBD><D0B4>־
|
|||
|
states[1] = CStaticClass.AllReturns[temp + 1];//״̬
|
|||
|
states[2] = (CStaticClass.AllReturns[temp + 2] << 8) + CStaticClass.AllReturns[temp + 3];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
states[3] = CStaticClass.AllReturns[temp + 5];//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|||
|
states[4] = (CStaticClass.AllReturns[temp + 6] << 8) + CStaticClass.AllReturns[temp + 7];
|
|||
|
states[5] = deviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (IsEquals(devinfo.ReturnMessage, states, 3) == false)
|
|||
|
{
|
|||
|
devinfo.ReturnMessage = states;
|
|||
|
BaseDeviceService.SetDeviceMessage(devinfo);
|
|||
|
string sss = "";
|
|||
|
for (int j = 0; j <= 5; j++)
|
|||
|
{
|
|||
|
sss += "**" + states[j].ToString();
|
|||
|
}
|
|||
|
CCarryConvert.WriteDarkCasket("OPCClient", "CGetDeviceState", deviceIdx.ToString(), sss);
|
|||
|
}
|
|||
|
|
|||
|
break;
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD>ȡ<EFBFBD>豸״̬
|
|||
|
}
|
|||
|
return states;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
#endregion OPC<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD>--<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>--
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("CStaticClassȡ<73><C8A1>ָ<EFBFBD><D6B8><EFBFBD>豸״̬ʱ<CCAC><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "CStaticClassȡ<73><C8A1>ָ<EFBFBD><D6B8><EFBFBD>豸״̬ʱ<CCAC><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
states = null;
|
|||
|
wv = null;
|
|||
|
witemnames = null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>һά<D2BB><CEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="array1">ֵ<><D6B5>һά<D2BB><CEAC><EFBFBD><EFBFBD>1</param>
|
|||
|
/// <param name="array2">ֵ<><D6B5>һά<D2BB><CEAC><EFBFBD><EFBFBD>2</param>
|
|||
|
/// <returns><3E>ȽϽ<C8BD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>true<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false</returns>
|
|||
|
public static bool IsEquals(Array array1, Array array2, int arraylength)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>arraylength
|
|||
|
//<2F>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
if ((array1 == null) || (array2 == null)) return false;
|
|||
|
if (!Object.ReferenceEquals(array1.GetType(), array2.GetType()))
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
//<2F>Ƚϳ<C8BD><CFB3><EFBFBD><EFBFBD>Ƿ<EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
if (array1.GetLength(0) != array2.GetLength(0))
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
//<2F>Ƚϳ<C8BD>Ա<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
|
|||
|
ValueType v1, v2;
|
|||
|
for (int i = 0; i < arraylength; i++)
|
|||
|
{
|
|||
|
v1 = (ValueType)array1.GetValue(i);
|
|||
|
v2 = (ValueType)array2.GetValue(i);
|
|||
|
|
|||
|
if (!v1.Equals(v2))
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|