1954 lines
81 KiB
C#
1954 lines
81 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Text;
|
|||
|
using System.Data;
|
|||
|
using ICommLayer;
|
|||
|
using CommLayerFactory;
|
|||
|
using DBFactory;
|
|||
|
using System.Threading;
|
|||
|
|
|||
|
namespace ControlSystem
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Creator:Richard.liu
|
|||
|
///
|
|||
|
/// <20><><EFBFBD><EFBFBD>ص<EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static class CStaticClass
|
|||
|
{
|
|||
|
static StringBuilder sss = new StringBuilder();
|
|||
|
static StringBuilder[] wv = {new StringBuilder("2") };
|
|||
|
static StringBuilder[] witemnames ={ new StringBuilder("") };
|
|||
|
static char[] dd = new char[1] { '.' };//20101124
|
|||
|
static string[] sp;//20101124
|
|||
|
|
|||
|
static string _userID;
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD>ϼ<EFBFBD>¼<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ʱ<EFBFBD>䣬Ĭ<E4A3AC><C4AC>Ϊ30<33><30>
|
|||
|
/// </summary>
|
|||
|
public static string SaveDays = "30";//20110603
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
|
|||
|
public static bool isDisassembleTask = false;
|
|||
|
public static string UserID
|
|||
|
{
|
|||
|
get { return CStaticClass._userID; }
|
|||
|
set { CStaticClass._userID = value; }
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
static int _MessageIndex;
|
|||
|
static bool _Order;//
|
|||
|
static bool _InvStatus;//
|
|||
|
static bool _ObtainManageTask;//
|
|||
|
static bool _autoOrder;
|
|||
|
static bool _handOrder;
|
|||
|
static bool _tempOrder;
|
|||
|
|
|||
|
// 20120619 <20>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
static bool _tempStopObtainTask;
|
|||
|
static ISendDeviceOrder sdo;
|
|||
|
//20100108
|
|||
|
static IGetDeviceState gds;
|
|||
|
//20091102
|
|||
|
public static int gcCount = 0;
|
|||
|
//20091107
|
|||
|
|
|||
|
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";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
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";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
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";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
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";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
static string _transportTimeout = "5";
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD>ͳ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䵥λ<E4B5A5><CEBB><EFBFBD>֣<EFBFBD><D6A3><EFBFBD>Ĭ<EFBFBD><C4AC>5<EFBFBD><35><EFBFBD><EFBFBD>//20110608
|
|||
|
/// </summary>
|
|||
|
public static string TransportTimeout
|
|||
|
{
|
|||
|
get { return CStaticClass._transportTimeout; }
|
|||
|
set
|
|||
|
{
|
|||
|
if (Microsoft.VisualBasic.Information.IsNumeric(_transportTimeout) == true)
|
|||
|
{
|
|||
|
|
|||
|
CStaticClass._transportTimeout = value;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
CStaticClass._transportTimeout = "5";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
static string _stackTimeout = "5";
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD>ͳ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䵥λ<E4B5A5><CEBB><EFBFBD>֣<EFBFBD><D6A3><EFBFBD>Ĭ<EFBFBD><C4AC>5<EFBFBD><35><EFBFBD><EFBFBD>//20110608
|
|||
|
/// </summary>
|
|||
|
public static string StackTimeout
|
|||
|
{
|
|||
|
get { return CStaticClass._stackTimeout; }
|
|||
|
set
|
|||
|
{
|
|||
|
if (Microsoft.VisualBasic.Information.IsNumeric(_stackTimeout) == true)
|
|||
|
{
|
|||
|
|
|||
|
CStaticClass._stackTimeout = value;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
CStaticClass._stackTimeout = "5";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
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";
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//20100108
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP
|
|||
|
/// </summary>
|
|||
|
public static string CameraIP = "1";
|
|||
|
/// <summary>
|
|||
|
/// <20><>½<EFBFBD><C2BD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ʶ
|
|||
|
/// </summary>
|
|||
|
public static string CameraUsername = "1";
|
|||
|
/// <summary>
|
|||
|
/// <20><>½<EFBFBD><C2BD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static string CameraPassword = "1";
|
|||
|
public static bool IfRemind = false;
|
|||
|
|
|||
|
public static DateTime routetime=DateTime.Now;
|
|||
|
public static DBOperator dbo =new DBOperator();
|
|||
|
public static DBOperator dbo1 = new DBOperator();
|
|||
|
public static DBOperator dboM = new DBOperator("ManConnString", "ManDBFactory");
|
|||
|
public static System.Windows.Forms.Form FormMonitor = null;
|
|||
|
static bool _deviceInit;
|
|||
|
static string _routeSearchMode="0";
|
|||
|
static bool _realRefresh=true;
|
|||
|
public static Model.MDevice devinfo28;
|
|||
|
//20100609
|
|||
|
public static Dictionary<int, System.IO.Ports.SerialPort> serialports=new Dictionary<int,System.IO.Ports.SerialPort>();
|
|||
|
|
|||
|
static Model.MDevice devinfo;
|
|||
|
|
|||
|
//20120519 nanchang <20><><EFBFBD>Ӳ<EFBFBD><D3B2>Գ<EFBFBD><D4B3><EFBFBD><EFBFBD>õı<C3B5>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
public static bool StopTestLane = true;
|
|||
|
|
|||
|
public static bool LIKUSTATUS = true;
|
|||
|
|
|||
|
static int _stackSafeDistance = 12; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>λ<EFBFBD><CEBB> == 6<><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
public static string BarcodeNull = "11111111111"; //<2F><>ʾδ<CABE><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// <summary>
|
|||
|
/// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static int StackSafeDistance
|
|||
|
{
|
|||
|
get { return CStaticClass._stackSafeDistance; }
|
|||
|
set
|
|||
|
{
|
|||
|
CStaticClass._stackSafeDistance = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
static StringBuilder manZWhere = new StringBuilder();
|
|||
|
/// <summary>
|
|||
|
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>Z<EFBFBD><5A><EFBFBD><EFBFBD>between<65><6E><EFBFBD><EFBFBD>OR<4F><52>ϵ
|
|||
|
/// </summary>
|
|||
|
public static StringBuilder ManZWhere
|
|||
|
{
|
|||
|
get { return CStaticClass.manZWhere; }
|
|||
|
set {
|
|||
|
CStaticClass.manZWhere = value;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
//20100607<30><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><E0B9A4><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
|
|||
|
|
|||
|
static string _manDBFactory = dboM.GetValue("ManDBFactory");
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD><EFBFBD>ݿ<DDBF><E2B9A4><EFBFBD><EFBFBD>SQLServerDBFactory<72><79>OracleDBFactory<72><79>OleDBFactory
|
|||
|
/// </summary>
|
|||
|
public static string ManDBFactory
|
|||
|
{
|
|||
|
get { return CStaticClass._manDBFactory; }
|
|||
|
set
|
|||
|
{
|
|||
|
if ((value == "SQLServerDBFactory") || (value == "OracleDBFactory") || (value == "OleDBFactory"))
|
|||
|
{
|
|||
|
|
|||
|
CStaticClass._manDBFactory = value;
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
CStaticClass._manDBFactory = "SQLServerDBFactory";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
static string _manstatus = " F_Status<>-1 ";//Ĭ<>ϣ<EFBFBD><CFA3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
static string _monstatus = " F_Status<>-1 ";//Ĭ<>ϣ<EFBFBD><CFA3><EFBFBD>ʾ<EFBFBD>豸ָ<E8B1B8><D6B8>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
|
|||
|
/// <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; }
|
|||
|
}
|
|||
|
/// <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";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ִ<><D6B4><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EEBFAA>
|
|||
|
/// </summary>
|
|||
|
public static bool AutoOrder
|
|||
|
{
|
|||
|
get { return CStaticClass._autoOrder; }
|
|||
|
set { CStaticClass._autoOrder = value; }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ִ<><D6B4><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EEBFAA>
|
|||
|
/// </summary>
|
|||
|
public static bool HandOrder
|
|||
|
{
|
|||
|
get { return CStaticClass._handOrder; }
|
|||
|
set { CStaticClass._handOrder = value; }
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// ִ<><D6B4><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEBFAA>
|
|||
|
/// </summary>
|
|||
|
public static bool TempOrder
|
|||
|
{
|
|||
|
get { return CStaticClass._tempOrder; }
|
|||
|
set { CStaticClass._tempOrder = value; }
|
|||
|
}
|
|||
|
/// <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;
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EEBFAA><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static bool Order
|
|||
|
{
|
|||
|
get { return CStaticClass._Order; }
|
|||
|
set { CStaticClass._Order = value; }
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// <20>̿<EFBFBD><CCBF>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ
|
|||
|
/// </summary>
|
|||
|
public static bool InvStatus
|
|||
|
{
|
|||
|
get { return CStaticClass._InvStatus; }
|
|||
|
set { CStaticClass._InvStatus = value; }
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// <20>Ƿ<EFBFBD><C7B7><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static bool ObtainManageTask
|
|||
|
{
|
|||
|
get { return _ObtainManageTask; }
|
|||
|
set { _ObtainManageTask = value; }
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 20120619 <20>Ƿ<EFBFBD><C7B7><EFBFBD>ͣ<EFBFBD><CDA3>ȡ<EFBFBD><C8A1><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static bool TempStopObtainTask
|
|||
|
{
|
|||
|
get { return _tempStopObtainTask; }
|
|||
|
set { _tempStopObtainTask = value; }
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// <20>Ƿ<EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>豸<EFBFBD><E8B1B8>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static bool DeviceInit
|
|||
|
{
|
|||
|
get { return CStaticClass._deviceInit; }
|
|||
|
set { CStaticClass._deviceInit = value; }
|
|||
|
}
|
|||
|
|
|||
|
public static void ReConnect()
|
|||
|
{
|
|||
|
//20100127
|
|||
|
//SimensProdave6.CSimensProdave6_S7.InitCount = 0;
|
|||
|
SocketsTCPIP.CClientTCPIP.TcpIPInitCount = 0;
|
|||
|
OPCClient.CCommonOPCClient.ConnectCount = 0;
|
|||
|
// 20120427 <20>ϲ<EFBFBD> <20><><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF>S7<53><37><EFBFBD>ӵļ<D3B5><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
OPCClient.CCommonOPCClient.ErrorCount = new int[11] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
|
|||
|
}
|
|||
|
|
|||
|
public static int LambDB2Add = 2016;
|
|||
|
static StringBuilder sql = new StringBuilder();
|
|||
|
public static int[] AllReturns;
|
|||
|
static string GetDeviceS7Connection(int deviceindex)
|
|||
|
{//20110216
|
|||
|
DataView dv = dbo.ExceSQL("SELECT F_S7Connection FROM T_Base_Device WHERE (F_DeviceIndex = " + deviceindex + ")").Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
return dv[0]["F_S7Connection"].ToString();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 20110216֧<36>ֶ<EFBFBD><D6B6><EFBFBD>S7Connnection<6F><6E>̬OPC
|
|||
|
/// </summary>
|
|||
|
public static Dictionary <string,int[]> MutiS7ConnReturns=new Dictionary<string,int[]>();
|
|||
|
/// <summary>
|
|||
|
/// ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><D0B9>翪<EFBFBD>ص<EFBFBD><D8B5>ź<EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public static void GetAllReturns()
|
|||
|
{//20110216
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
// 20120420 <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F_LockedState<74>ֶΣ<D6B6>û<EFBFBD><C3BB><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
|
|||
|
DataView dv = dbo.ExceSQL("SELECT F_DeviceIndex,F_S7Connection, F_LockedState FROM T_Base_Device WHERE (F_DeviceKindIndex = 28)").Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
for (int i = 0; i < dv.Count; i++)
|
|||
|
{
|
|||
|
// 20120425 nanchang <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժõ<D4BA>S7<53><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>-1
|
|||
|
if (Convert.ToInt32(dv[i]["F_LockedState"]) != -1)
|
|||
|
{
|
|||
|
gds = CommModeCreate.CreateGetDeviceState(Convert.ToInt32(dv[i]["F_DeviceIndex"]));
|
|||
|
MutiS7ConnReturns[dv[i]["F_S7Connection"].ToString()] = gds.GetDeviceState(Convert.ToInt32(dv[i]["F_DeviceIndex"]), 0);
|
|||
|
if (gds.CommLayerError != 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);
|
|||
|
//}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
MutiS7ConnReturns = null;
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
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>
|
|||
|
/// ȡ<><C8A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>翪<EFBFBD>أ<EFBFBD>ȷ<EFBFBD>ϰ<EFBFBD>ť<EFBFBD><C5A5><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>źţ<C5BA>0<EFBFBD><30>1<EFBFBD><31>
|
|||
|
/// </summary>
|
|||
|
/// <param name="deviceIdx"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns>0<><30>1</returns>
|
|||
|
|
|||
|
public static int GetDevicePhotoelectric(int deviceIdx)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//20110216
|
|||
|
if (CStaticClass.MutiS7ConnReturns.Count > 0)
|
|||
|
{
|
|||
|
AllReturns = CStaticClass.MutiS7ConnReturns[GetDeviceS7Connection(deviceIdx)];
|
|||
|
}
|
|||
|
if (deviceIdx == 22001)
|
|||
|
{
|
|||
|
deviceIdx = 22001;
|
|||
|
}
|
|||
|
if (AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
|||
|
|
|||
|
//DataView dvle = dbo.ExceSQL("SELECT F_DeviceIndex, F_DeviceKindIndex,F_DBWGetLength," +
|
|||
|
// " F_DBW2Address FROM T_Base_Device WHERE ((F_DeviceKindIndex = 14)" +
|
|||
|
// " OR (F_DeviceKindIndex = 18)) and (F_DBW2Address is not NULL) and F_DeviceIndex=" + deviceIdx + "").Tables[0].DefaultView;
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(deviceIdx);
|
|||
|
|
|||
|
int glen = 0;
|
|||
|
int IfVis = 0;
|
|||
|
if ((devinfo.DeviceKind == 14) || (devinfo.DeviceKind == 18))
|
|||
|
{
|
|||
|
//20110216
|
|||
|
devinfo28 = Model.CGeneralFunction.GetDevice28AllDB1Data(new StringBuilder(devinfo.S7Connection));
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
if (Convert.ToInt32((devinfo.Dbw2Getlength * 8 - 1)) > 7)
|
|||
|
{
|
|||
|
glen = Convert.ToInt32((devinfo.Dbw2Getlength * 8 - 1)) - 8;
|
|||
|
temp = temp + 1;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
glen = Convert.ToInt32((devinfo.Dbw2Getlength * 8 - 1));
|
|||
|
}
|
|||
|
if (temp >= 0)
|
|||
|
{
|
|||
|
IfVis = CommonClassLib.CCarryConvert.GetBitFromInteger(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
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
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>
|
|||
|
/// 20101118<31><38><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
|
|||
|
{
|
|||
|
//20110216
|
|||
|
if (MutiS7ConnReturns.Count > 0)
|
|||
|
{
|
|||
|
AllReturns = CStaticClass.MutiS7ConnReturns[GetDeviceS7Connection(deviceIdx)];
|
|||
|
}
|
|||
|
if (AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
|||
|
|
|||
|
//DataView dvle = dbo.ExceSQL("SELECT F_DeviceIndex, F_DeviceKindIndex,F_DBWGetLength," +
|
|||
|
// " F_DBW2Address FROM T_Base_Device WHERE ((F_DeviceKindIndex = 14)" +
|
|||
|
// " OR (F_DeviceKindIndex = 18)) and (F_DBW2Address is not NULL) and F_DeviceIndex=" + deviceIdx + "").Tables[0].DefaultView;
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(deviceIdx);
|
|||
|
|
|||
|
int glen = 0;
|
|||
|
int IfVis = 0;
|
|||
|
if (devinfo.SplitByte!=-1)
|
|||
|
{
|
|||
|
//20110216
|
|||
|
devinfo28 = Model.CGeneralFunction.GetDevice28AllDB1Data(new StringBuilder(devinfo.S7Connection));
|
|||
|
int temp = devinfo.SplitByte - devinfo28.Dbw2Address;
|
|||
|
if (abit > 7)
|
|||
|
{
|
|||
|
glen = abit - 8;
|
|||
|
temp = temp + 1;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
glen = abit;
|
|||
|
}
|
|||
|
if (temp >= 0)
|
|||
|
{
|
|||
|
IfVis = CommonClassLib.CCarryConvert.GetBitFromInteger(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
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
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>
|
|||
|
/// //20101124<32><34><EFBFBD>ݡ<EFBFBD><DDA1>豸<EFBFBD><E8B1B8>.bitλ<74><CEBB><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ȡ<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(string devicebit)
|
|||
|
{
|
|||
|
sp = devicebit.Split(dd);//20101124
|
|||
|
if (sp.GetLength(0) <= 1) return -1;
|
|||
|
int deviceIdx,abit;
|
|||
|
int.TryParse(sp[0], out deviceIdx);
|
|||
|
int.TryParse(sp[1], out abit);
|
|||
|
try
|
|||
|
{
|
|||
|
//20110216
|
|||
|
|
|||
|
if (CStaticClass.MutiS7ConnReturns.Count > 0)
|
|||
|
{
|
|||
|
AllReturns = CStaticClass.MutiS7ConnReturns[GetDeviceS7Connection(deviceIdx)];
|
|||
|
}
|
|||
|
|
|||
|
if (AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
|||
|
|
|||
|
//DataView dvle = dbo.ExceSQL("SELECT F_DeviceIndex, F_DeviceKindIndex,F_DBWGetLength," +
|
|||
|
// " F_DBW2Address FROM T_Base_Device WHERE ((F_DeviceKindIndex = 14)" +
|
|||
|
// " OR (F_DeviceKindIndex = 18)) and (F_DBW2Address is not NULL) and F_DeviceIndex=" + deviceIdx + "").Tables[0].DefaultView;
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(deviceIdx);
|
|||
|
|
|||
|
int glen = 0;
|
|||
|
int IfVis = 0;
|
|||
|
if (devinfo.SplitByte != -1)
|
|||
|
{
|
|||
|
//20110216
|
|||
|
devinfo28 = Model.CGeneralFunction.GetDevice28AllDB1Data(new StringBuilder(devinfo.S7Connection));
|
|||
|
int temp = devinfo.SplitByte - devinfo28.Dbw2Address;
|
|||
|
if (abit > 7)
|
|||
|
{
|
|||
|
glen = abit - 8;
|
|||
|
temp = temp + 1;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
glen = abit;
|
|||
|
}
|
|||
|
if (temp >= 0)
|
|||
|
{
|
|||
|
IfVis = CommonClassLib.CCarryConvert.GetBitFromInteger(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
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
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 -2;
|
|||
|
}
|
|||
|
}
|
|||
|
/// <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)
|
|||
|
{
|
|||
|
//20100108
|
|||
|
//DataView dv;
|
|||
|
//DataView dvM;
|
|||
|
Model.MDevice askdev;
|
|||
|
int[] states = new int[6];
|
|||
|
//string headstr;
|
|||
|
|
|||
|
DataView dvbc;
|
|||
|
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
//20110216
|
|||
|
if (CStaticClass.MutiS7ConnReturns.Count > 0)
|
|||
|
{
|
|||
|
AllReturns = CStaticClass.MutiS7ConnReturns[GetDeviceS7Connection(deviceIdx)];
|
|||
|
}
|
|||
|
if (deviceIdx == 22001)
|
|||
|
{
|
|||
|
deviceIdx = 22001;
|
|||
|
}
|
|||
|
if (AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD>ȡ<EFBFBD>豸״̬
|
|||
|
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(deviceIdx);
|
|||
|
|
|||
|
if (devinfo.Dbw2Address != -1)
|
|||
|
{
|
|||
|
//20100108
|
|||
|
//DataView dv;
|
|||
|
//DataView dvM;
|
|||
|
//Model.MDevice askdev;
|
|||
|
//20110216
|
|||
|
devinfo28 = Model.CGeneralFunction.GetDevice28AllDB1Data(new StringBuilder(devinfo.S7Connection));
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
decimal glen = devinfo.Dbw2Getlength;
|
|||
|
|
|||
|
//20100108
|
|||
|
states = new int[6];
|
|||
|
wv[0].Remove(0, wv[0].Length);
|
|||
|
wv[0].Append("2");
|
|||
|
witemnames[0].Remove(0, witemnames[0].Length);
|
|||
|
witemnames[0].Append(Model.CGeneralFunction.DBGet).Append(",byte").Append(Convert.ToString(devinfo.Dbw2Address + 0));
|
|||
|
sdo = CommModeCreate.CreateSendDeviceOrder(deviceIdx);
|
|||
|
switch (devinfo.DeviceKind.ToString())
|
|||
|
{
|
|||
|
#region <EFBFBD>ֳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>16<EFBFBD><EFBFBD><EFBFBD>ֽڣ<EFBFBD>
|
|||
|
case "22":
|
|||
|
|
|||
|
if (AllReturns[temp] != 1) return null;
|
|||
|
states = new int[16];
|
|||
|
states[0] = 0;
|
|||
|
states[1] = deviceIdx;
|
|||
|
states[2] = AllReturns[temp + 1];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
states[3] = (AllReturns[temp + 2] << 8) + AllReturns[temp + 3];//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
states[4] = (AllReturns[temp + 4] << 8) + AllReturns[temp + 5];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
askdev = Model.CGetInfo.GetDeviceInfo(states[3]);
|
|||
|
//states[2];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//states[3];//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//states[4];//<2F><><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>Ҫ<EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>
|
|||
|
|
|||
|
//20091102
|
|||
|
if (askdev == null)
|
|||
|
{
|
|||
|
wv[0].Remove(0, wv[0].Length);
|
|||
|
wv[0].Append("37");
|
|||
|
sdo.WriteDBData(witemnames, wv, devinfo.DeviceIndex);//20091013
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ", deviceIdx.ToString(), "37<33><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
return null;
|
|||
|
}
|
|||
|
int bcz = 0;
|
|||
|
|
|||
|
StringBuilder barcode = new StringBuilder();
|
|||
|
for (int j = 6; j < 16; j++)
|
|||
|
{
|
|||
|
bcz = bcz + AllReturns[temp + j];
|
|||
|
barcode.Append(Convert.ToChar(AllReturns[temp + j]).ToString().ToUpper());
|
|||
|
states[j - 1] = AllReturns[temp + j];
|
|||
|
}
|
|||
|
//20090902<30><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>arraylength
|
|||
|
if (IsEquals(devinfo.ReturnMessage, states, 5) == false)
|
|||
|
{
|
|||
|
devinfo.ReturnMessage = states;
|
|||
|
Model.CGetInfo.SetDeviceMessage(devinfo);
|
|||
|
sss.Remove(0, sss.Length);
|
|||
|
sss.Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>" + states[1]).Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + states[2])
|
|||
|
.Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>" + states[3]).Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + states[4]).Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + barcode);
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22>յ<EFBFBD><D5B5>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ", deviceIdx.ToString(), sss.ToString());
|
|||
|
|
|||
|
}
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>豸ָ<EFBFBD><EFBFBD>(1)
|
|||
|
|
|||
|
if (states[2] == 1)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (states[4] == 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (bcz == 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
//32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붼<EFBFBD><EBB6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
wv[0].Remove(0, wv[0].Length);
|
|||
|
wv[0].Append("32");
|
|||
|
|
|||
|
sdo.WriteDBData(witemnames, wv, devinfo.DeviceIndex );//20091013
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ", deviceIdx.ToString(), "32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붼<EFBFBD><EBB6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
return null;
|
|||
|
}
|
|||
|
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//DataView dv = dbo.ExceSQL("SELECT F_BarCode, F_Askkind, F_DeviceIndex FROM T_Base_PLC_Ask where F_DeviceIndex=" + DeviceIndex).Tables[0].DefaultView;
|
|||
|
//if (dv.Count > 0)
|
|||
|
//{
|
|||
|
// if (barcode == dv[i]["F_BarCode"].ToString())
|
|||
|
// {
|
|||
|
// return null;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
if (askdev.UseCommonDB == "1")
|
|||
|
{
|
|||
|
sql.Remove(0, sql.Length);
|
|||
|
sql.Append("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2,").Append(
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_TxtParam = '").Append(
|
|||
|
barcode).Append("' order by F_MonitorIndex asc");
|
|||
|
}
|
|||
|
else
|
|||
|
{//20090928 and F_DeviceIndex=" + states[3] + "
|
|||
|
sql.Remove(0, sql.Length);
|
|||
|
sql.Append("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2,").Append(
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_TxtParam = '").Append(
|
|||
|
barcode).Append("' order by F_MonitorIndex asc");
|
|||
|
}
|
|||
|
//20100108
|
|||
|
dvbc = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|||
|
|
|||
|
if (dvbc.Count > 0)
|
|||
|
{
|
|||
|
if (askdev.UseCommonDB == "1")
|
|||
|
{
|
|||
|
//20090915
|
|||
|
sql.Remove(0, sql.Length);
|
|||
|
sql.Append("update T_Monitor_Task set F_AheadDetect='',F_DeviceIndex=").Append(states[3]).Append(" where F_MonitorIndex=").Append(dvbc[0]["F_MonitorIndex"]).Append("");
|
|||
|
dbo.ExceSQL(sql.ToString());
|
|||
|
}
|
|||
|
|
|||
|
//wv[0] = "4";
|
|||
|
//sdo.WriteDBData(witemnames, wv);
|
|||
|
return states;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//35<33><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벻ƥ<EBB2BB><C6A5>
|
|||
|
wv[0].Remove(0, wv[0].Length);
|
|||
|
wv[0].Append("35");
|
|||
|
sdo.WriteDBData(witemnames, wv,devinfo.DeviceIndex );//20091013
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ", deviceIdx.ToString(), "35<33><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벻ƥ<EBB2BB><C6A5>");
|
|||
|
return null;
|
|||
|
}
|
|||
|
// }
|
|||
|
//}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//DataView dv = dbo.ExceSQL("SELECT F_TaskIndex, F_Askkind, F_DeviceIndex FROM T_Base_PLC_Ask where F_DeviceIndex=" + DeviceIndex).Tables[0].DefaultView;
|
|||
|
//if (dv.Count > 0)
|
|||
|
//{
|
|||
|
// if (states[4] == dv[i]["F_TaskIndex"].ToString())
|
|||
|
// {
|
|||
|
// return null;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
|
|||
|
if (askdev.UseCommonDB == "1")
|
|||
|
{
|
|||
|
sql.Remove(0, sql.Length);
|
|||
|
sql.Append("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2,").Append(
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_MonitorIndex = '").Append(
|
|||
|
states[4]).Append("' order by F_MonitorIndex asc");
|
|||
|
}
|
|||
|
else
|
|||
|
{//20090928 and F_DeviceIndex=" + states[3] + "
|
|||
|
sql.Remove(0, sql.Length);
|
|||
|
sql.Append("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2,").Append(
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_MonitorIndex = '").Append(
|
|||
|
states[4]).Append("' order by F_MonitorIndex asc");
|
|||
|
}
|
|||
|
//20101008
|
|||
|
dvbc = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|||
|
|
|||
|
if (dvbc.Count > 0)
|
|||
|
{
|
|||
|
if (askdev.UseCommonDB == "1")
|
|||
|
{
|
|||
|
//20090915
|
|||
|
sql.Remove(0, sql.Length);
|
|||
|
sql.Append("update T_Monitor_Task set F_AheadDetect='',F_DeviceIndex=").Append(states[3]).Append(" where F_MonitorIndex=").Append(dvbc[0]["F_MonitorIndex"]);
|
|||
|
dbo.ExceSQL(sql.ToString());
|
|||
|
}
|
|||
|
|
|||
|
//RestoreDevice(Convert.ToInt32(dvbc[0]["F_MonitorIndex"]));
|
|||
|
//wv[0] = "4";
|
|||
|
//sdo.WriteDBData(witemnames, wv);
|
|||
|
////<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//dbo.ExceSQL("update T_Base_PLC_Ask set F_TaskIndex='" + states[4]
|
|||
|
// + "' where F_DeviceIndex=" + DeviceIndex);
|
|||
|
return states;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//36<33><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD>ƥ<EFBFBD><C6A5>
|
|||
|
wv[0].Remove(0, wv[0].Length);
|
|||
|
wv[0].Append("36");
|
|||
|
sdo.WriteDBData(witemnames, wv,devinfo.DeviceIndex);//20091013
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ", deviceIdx.ToString(), "36<33><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD>ƥ<EFBFBD><C6A5>");
|
|||
|
return null;
|
|||
|
}
|
|||
|
// }
|
|||
|
//}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ǰ<EFBFBD>豸<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>(2)
|
|||
|
|
|||
|
else if (states[2] == 2)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ĵ<DEB8>ǰ<EFBFBD>豸<EFBFBD><E8B1B8>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD>õ<EFBFBD>F_TaskIndex<65>ظ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
|
|||
|
return states;
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region <EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(3)
|
|||
|
else if (states[2] == 3)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (states[4] == 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (bcz == 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
//32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붼<EFBFBD><EBB6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
wv[0].Remove(0, wv[0].Length);
|
|||
|
wv[0].Append("32");
|
|||
|
sdo.WriteDBData(witemnames, wv,devinfo.DeviceIndex);//20091013
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ", deviceIdx.ToString(), "32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붼<EFBFBD><EBB6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
return null;
|
|||
|
}
|
|||
|
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//20100108
|
|||
|
sql.Remove(0, sql.Length);
|
|||
|
sql.Append("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2,").Append(
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_TxtParam = '").Append(
|
|||
|
barcode).Append("' order by F_MonitorIndex asc");
|
|||
|
dvbc = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|||
|
if (dvbc.Count > 0)
|
|||
|
{
|
|||
|
|
|||
|
return states;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//30<33><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
wv[0].Remove(0, wv[0].Length);
|
|||
|
wv[0].Append("30");
|
|||
|
sdo.WriteDBData(witemnames, wv,devinfo .DeviceIndex);//20091013
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ", deviceIdx.ToString(), "30<33><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
return null;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//DataView dv = dbo.ExceSQL("SELECT F_TaskIndex, F_Askkind, F_DeviceIndex FROM T_Base_PLC_Ask where F_DeviceIndex=" + DeviceIndex).Tables[0].DefaultView;
|
|||
|
//if (dv.Count > 0)
|
|||
|
//{
|
|||
|
// if (states[4] == dv[i]["F_TaskIndex"].ToString())
|
|||
|
// {
|
|||
|
// return null;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
//and F_DeviceIndex=" + states[3] + "
|
|||
|
|
|||
|
//20100108
|
|||
|
sql.Remove(0, sql.Length);
|
|||
|
sql.Append("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2,").Append(
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_MonitorIndex = '").Append(
|
|||
|
states[4]).Append("' order by F_MonitorIndex asc");
|
|||
|
dvbc = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|||
|
if (dvbc.Count > 0)
|
|||
|
{
|
|||
|
//wv[0] = "2";
|
|||
|
//sdo.WriteDBData(witemnames, wv);
|
|||
|
////<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//dbo.ExceSQL("update T_Base_PLC_Ask set F_TaskIndex='" + states[4]
|
|||
|
// + "' where F_DeviceIndex=" + DeviceIndex);
|
|||
|
return states;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//31<33><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
wv[0].Remove(0, wv[0].Length);
|
|||
|
wv[0].Append("31");
|
|||
|
sdo.WriteDBData(witemnames, wv,devinfo.DeviceIndex);//20091013
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ", deviceIdx.ToString(), "31<33><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
return null;
|
|||
|
}
|
|||
|
// }
|
|||
|
//}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>豸<EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(4)<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>
|
|||
|
else if (states[2] == 4)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
//20090915
|
|||
|
if (states[4] == 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if (bcz == 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
//32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붼<EFBFBD><EBB6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
wv[0].Remove(0, wv[0].Length);
|
|||
|
wv[0].Append("32");
|
|||
|
sdo.WriteDBData(witemnames, wv,devinfo .DeviceIndex);//20091013
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ", deviceIdx.ToString(), "32<33><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>붼<EFBFBD><EBB6BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
return null;
|
|||
|
}
|
|||
|
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//20100108
|
|||
|
sql.Remove(0, sql.Length);
|
|||
|
sql.Append("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2,").Append(
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_TxtParam = '").Append(
|
|||
|
barcode).Append("' order by F_MonitorIndex asc");
|
|||
|
dvbc = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|||
|
if (dvbc.Count > 0)
|
|||
|
{
|
|||
|
|
|||
|
return states;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//30<33><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
wv[0].Remove(0, wv[0].Length);
|
|||
|
wv[0].Append("30");
|
|||
|
sdo.WriteDBData(witemnames, wv,devinfo.DeviceIndex);//20091013
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ", deviceIdx.ToString(), "30<33><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
return null;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{//20090915
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//20100108
|
|||
|
sql.Remove(0, sql.Length);
|
|||
|
sql.Append("SELECT F_MonitorIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2,").Append(
|
|||
|
"F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6 FROM T_Monitor_Task WHERE F_MonitorIndex = '").Append(
|
|||
|
states[4]).Append("' order by F_MonitorIndex asc");
|
|||
|
dvbc = dbo.ExceSQL(sql.ToString()).Tables[0].DefaultView;
|
|||
|
if (dvbc.Count > 0)
|
|||
|
{
|
|||
|
|
|||
|
return states;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//31<33><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
wv[0].Remove(0, wv[0].Length);
|
|||
|
wv[0].Append("31");
|
|||
|
sdo.WriteDBData(witemnames, wv,devinfo .DeviceIndex );//20091013
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD>Ϣ", deviceIdx.ToString(), "31<33><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD>");
|
|||
|
return null;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
break;
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
case "24":
|
|||
|
|
|||
|
if (AllReturns[temp] != 1) return null;
|
|||
|
states[0] = 0;
|
|||
|
states[1] = deviceIdx;
|
|||
|
states[2] = AllReturns[temp + 1];//<2F><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD>:1-ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;2-<2D>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD>;3-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
states[3] = AllReturns[temp + 2];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//sdo.WriteDBData(witemnames, wv);
|
|||
|
devinfo.ReturnMessage = states;
|
|||
|
Model.CGetInfo.SetDeviceMessage(devinfo);
|
|||
|
//string ssss = "";
|
|||
|
//for (int j = 0; j <= 3; j++)
|
|||
|
//{
|
|||
|
// ssss += "**" + states[j].ToString();
|
|||
|
//}
|
|||
|
//CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "CGetDeviceState", deviceIdx.ToString(), ssss);
|
|||
|
|
|||
|
|
|||
|
break;
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸
|
|||
|
case "1"://<2F>Ѷ<EFBFBD><D1B6><EFBFBD>
|
|||
|
|
|||
|
states[0] = AllReturns[temp];//<2F><>д<EFBFBD><D0B4>־
|
|||
|
states[1] = AllReturns[temp + 1];//״̬
|
|||
|
states[2] = (AllReturns[temp + 2] << 8) + AllReturns[temp + 3];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
states[3] = AllReturns[temp + 7] + (AllReturns[temp + 6] << 8) + (AllReturns[temp + 5] << 16) + (AllReturns[temp + 4] << 32);//X<><58><EFBFBD><EFBFBD>
|
|||
|
//states[4] = AllReturns[temp + 11] + (AllReturns[temp + 10] << 8) + (AllReturns[temp + 9] << 16) + (AllReturns[temp + 8] << 32);//Y<><59><EFBFBD><EFBFBD>
|
|||
|
states[4] = AllReturns[temp + 8] + AllReturns[temp + 9] + AllReturns[temp + 10] + AllReturns[temp + 11];//Y<><59><EFBFBD><EFBFBD>
|
|||
|
states[5] = deviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (IsEquals(devinfo.ReturnMessage, states, 3) == false)
|
|||
|
{
|
|||
|
devinfo.ReturnMessage = states;
|
|||
|
Model.CGetInfo.SetDeviceMessage(devinfo);
|
|||
|
sss.Remove(0, sss.Length);
|
|||
|
sss.Append("**<2A><><EFBFBD><EFBFBD>־" + states[0]).Append("**״̬" + states[1]).Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + states[2])
|
|||
|
.Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + states[3]).Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + states[4]);
|
|||
|
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22>յ<EFBFBD><D5B5>Ѷ<EFBFBD><D1B6><EFBFBD>״̬", deviceIdx.ToString(), sss.ToString());
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
break;
|
|||
|
case "2"://<2F><><EFBFBD>ͻ<EFBFBD>
|
|||
|
states[0] = AllReturns[temp];//<2F><>д<EFBFBD><D0B4>־
|
|||
|
states[1] = AllReturns[temp + 1];//״̬
|
|||
|
states[2] = (AllReturns[temp + 2] << 8) + AllReturns[temp + 3];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
states[3] = AllReturns[temp + 4];//20120506 <20>ϲ<EFBFBD> <20><><EFBFBD><EFBFBD>״̬;
|
|||
|
states[4] = AllReturns[temp + 5];//20120506 <20>ϲ<EFBFBD> <20>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
states[5] = deviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (IsEquals(devinfo.ReturnMessage, states, 3) == false)
|
|||
|
{
|
|||
|
devinfo.ReturnMessage = states;
|
|||
|
Model.CGetInfo.SetDeviceMessage(devinfo);
|
|||
|
|
|||
|
//if (states[1] > 1) // 20120815 <20>ij<EFBFBD>ֻ<EFBFBD><D6BB>¼<EFBFBD><C2BC><EFBFBD>ɺͱ<C9BA><CDB1><EFBFBD><EFBFBD>ĺ<EFBFBD>ϻ<EFBFBD><CFBB>
|
|||
|
//{
|
|||
|
sss.Remove(0, sss.Length);
|
|||
|
sss.Append("**<2A><><EFBFBD><EFBFBD>־" + states[0]).Append("**״̬" + states[1]).Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + states[2]);
|
|||
|
if (deviceIdx == 14021 || deviceIdx == 14011)
|
|||
|
{
|
|||
|
int ssss = 0;
|
|||
|
}
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ͻ<EFBFBD>״̬", deviceIdx.ToString(), sss.ToString());
|
|||
|
|
|||
|
// }
|
|||
|
}
|
|||
|
break;
|
|||
|
case "4"://RGV
|
|||
|
states[0] = AllReturns[temp];//<2F><>д<EFBFBD><D0B4>־
|
|||
|
states[1] = AllReturns[temp + 1];//״̬
|
|||
|
states[2] = (AllReturns[temp + 2] << 8) + AllReturns[temp + 3];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
states[3] = AllReturns[temp + 7] + (AllReturns[temp + 6] << 8) + (AllReturns[temp + 5] << 16) + (AllReturns[temp + 4] << 32);//X<><58><EFBFBD><EFBFBD>
|
|||
|
states[4] = 0;
|
|||
|
states[5] = deviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (IsEquals(devinfo.ReturnMessage, states, 3) == false)
|
|||
|
{
|
|||
|
|
|||
|
devinfo.ReturnMessage = states;
|
|||
|
Model.CGetInfo.SetDeviceMessage(devinfo);
|
|||
|
sss.Remove(0, sss.Length);
|
|||
|
sss.Append("**<2A><><EFBFBD><EFBFBD>־" + states[0]).Append("**״̬" + states[1]).Append("**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + states[2]).Append("**X<><58><EFBFBD><EFBFBD>" + states[3]);
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "CGetDeviceState", deviceIdx.ToString(), sss.ToString());
|
|||
|
|
|||
|
}
|
|||
|
break;
|
|||
|
case "8":// sanyi<79><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD>ǵĹ<C7B5><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>-<2D><><EFBFBD><EFBFBD>8<EFBFBD><38>2010-4-2
|
|||
|
states[0] = CStaticClass.AllReturns[temp];//<2F><>д<EFBFBD><D0B4>־,
|
|||
|
if (states[0] == 2 || states[0] == 0)// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
else// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<DEB8>д<EFBFBD><D0B4>־Ϊ:1<>Ŷ<EFBFBD>ȡ
|
|||
|
{
|
|||
|
states[1] = CStaticClass.AllReturns[temp + 1];//״̬,PLC 0:<3A><EFBFBD> 1:<3A>ͻ<EFBFBD> 2<><32><EFBFBD><EFBFBD><DFBB><EFBFBD>50<35><30><EFBFBD>ߴ<EFBFBD><DFB4><EFBFBD> 51:<3A><><EFBFBD><EFBFBD>
|
|||
|
states[2] = 0;
|
|||
|
states[3] = 0;
|
|||
|
states[4] = 0;
|
|||
|
states[5] = deviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
string sss = "";
|
|||
|
for (int j = 0; j <= 5; j++)
|
|||
|
{
|
|||
|
sss += "***" + states[j].ToString();
|
|||
|
}
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "CGetDeviceState", deviceIdx.ToString(), sss);
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>д<EFBFBD><D0B4>־<EFBFBD>ij<EFBFBD>2
|
|||
|
sdo.WriteDBData(witemnames, wv,devinfo.DeviceIndex);
|
|||
|
}
|
|||
|
break;
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return states;
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
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+deviceIdx.ToString (), true);
|
|||
|
}
|
|||
|
return null;
|
|||
|
}
|
|||
|
finally
|
|||
|
{//20100108
|
|||
|
//dv=null;
|
|||
|
//dvM = null;
|
|||
|
askdev = null;
|
|||
|
states = null;
|
|||
|
|
|||
|
dvbc = null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
public static string GetStringData(int deviceIdx)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
//20110216
|
|||
|
|
|||
|
if (CStaticClass.MutiS7ConnReturns.Count > 0)
|
|||
|
{
|
|||
|
AllReturns = CStaticClass.MutiS7ConnReturns[GetDeviceS7Connection(deviceIdx)];
|
|||
|
}
|
|||
|
if (AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD>ȡ<EFBFBD>豸״̬
|
|||
|
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(deviceIdx);
|
|||
|
|
|||
|
if (devinfo.Dbw2Address != -1)
|
|||
|
{
|
|||
|
int temp = devinfo.Dbw2Address + 4;
|
|||
|
//int temp = devinfo.Dbw2Address;
|
|||
|
decimal glen = devinfo.Dbw2Getlength;
|
|||
|
|
|||
|
string headstr = AllReturns[devinfo.Dbw2Address].ToString();
|
|||
|
string strdate = string.Empty;
|
|||
|
if (headstr != "2") return null;
|
|||
|
|
|||
|
switch (devinfo.DeviceKind.ToString())
|
|||
|
{
|
|||
|
|
|||
|
#region <EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
case "7"://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
sss.Remove(0, sss.Length);
|
|||
|
for (int i = 0; i < 6; i++)
|
|||
|
{
|
|||
|
sss.Append( Convert.ToChar(AllReturns[temp+i]));
|
|||
|
|
|||
|
}
|
|||
|
strdate = sss.ToString().TrimEnd('/');
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><>PLC<4C><43><EFBFBD><EFBFBD>", deviceIdx.ToString(), "<22><><EFBFBD><EFBFBD>־1**<2A><><EFBFBD>룺" + strdate);
|
|||
|
|
|||
|
break;
|
|||
|
case "21"://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>
|
|||
|
sss.Remove(0, sss.Length);
|
|||
|
for (int i = 1; i <= 116; i++)
|
|||
|
{
|
|||
|
sss.Append(Convert.ToChar(AllReturns[temp + i]));
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><>PLCȺ<43><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",deviceIdx.ToString(), "<22><><EFBFBD><EFBFBD>־1**<2A><><EFBFBD>룺"+sss.ToString().ToUpper());
|
|||
|
break;
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
return strdate;
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return null;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region ԭ<EFBFBD><EFBFBD>ȡ<EFBFBD>豸״̬
|
|||
|
|
|||
|
//devinfo = Model.CGetInfo.GetDeviceInfo(deviceIdx);
|
|||
|
|
|||
|
//if (devinfo.Dbw2Address != -1)
|
|||
|
//{
|
|||
|
// //20110216
|
|||
|
// devinfo28 = Model.CGeneralFunction.GetDevice28AllDB1Data(new StringBuilder(devinfo.S7Connection));
|
|||
|
// int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
// decimal glen = devinfo.Dbw2Getlength;
|
|||
|
|
|||
|
// string headstr = AllReturns[temp].ToString();
|
|||
|
// string strdate = string.Empty;
|
|||
|
// if (headstr != "1") return null;
|
|||
|
|
|||
|
// switch (devinfo.DeviceKind.ToString())
|
|||
|
// {
|
|||
|
|
|||
|
// #region <20>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
// case "7"://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
// sss.Remove(0, sss.Length);
|
|||
|
// temp = 253;
|
|||
|
// for (int i = 1; i <= 6; i++)
|
|||
|
// {
|
|||
|
// sss.Append(Convert.ToChar(AllReturns[temp + i]));
|
|||
|
|
|||
|
// }
|
|||
|
// strdate = sss.ToString().TrimEnd('/');
|
|||
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><>PLC<4C><43><EFBFBD><EFBFBD>", deviceIdx.ToString(), "<22><><EFBFBD><EFBFBD>־1**<2A><><EFBFBD>룺" + strdate);
|
|||
|
|
|||
|
// break;
|
|||
|
// case "21"://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱥ<EFBFBD><C8BA>
|
|||
|
// sss.Remove(0, sss.Length);
|
|||
|
// for (int i = 1; i <= 116; i++)
|
|||
|
// {
|
|||
|
// sss.Append(Convert.ToChar(AllReturns[temp + i]));
|
|||
|
|
|||
|
// }
|
|||
|
|
|||
|
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><>PLCȺ<43><C8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", deviceIdx.ToString(), "<22><><EFBFBD><EFBFBD>־1**<2A><><EFBFBD>룺" + sss.ToString().ToUpper());
|
|||
|
// break;
|
|||
|
|
|||
|
|
|||
|
// #endregion
|
|||
|
// }
|
|||
|
|
|||
|
|
|||
|
// return strdate;
|
|||
|
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
// return null;
|
|||
|
//}
|
|||
|
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
}
|
|||
|
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><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)
|
|||
|
{//20090902<30><32><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;
|
|||
|
}
|
|||
|
|
|||
|
private static void BeginListenAllReturns()
|
|||
|
{
|
|||
|
while (!exitThread)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
GetAllReturns();
|
|||
|
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
//
|
|||
|
}
|
|||
|
Thread.Sleep(600);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public static void StartListenReturn()
|
|||
|
{
|
|||
|
|
|||
|
//exitThread = false;
|
|||
|
//mythread = new Thread(new ThreadStart(BeginListenAllReturns));
|
|||
|
//mythread.IsBackground = true;
|
|||
|
//mythread.Start();
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
public static void EndListenReturn()
|
|||
|
{
|
|||
|
//exitThread = true;
|
|||
|
|
|||
|
//if (mythread != null)
|
|||
|
//{
|
|||
|
|
|||
|
// mythread.Abort();
|
|||
|
// mythread = null;
|
|||
|
//}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
private static Thread mythread;
|
|||
|
private static bool exitThread = false;
|
|||
|
|
|||
|
public static int GetDeviceRunState(int deviceIdx)
|
|||
|
{
|
|||
|
int[] status = GetDeviceState(deviceIdx);
|
|||
|
if (status == null)
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return status[1];
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
///
|
|||
|
/// </summary>
|
|||
|
/// <param name="deviceIdx"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD></param>
|
|||
|
/// <param name="recordedbarcode"><3E><><EFBFBD>̻<EFBFBD><CCBB><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetOverlapStatus(int deviceIdx)
|
|||
|
{
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
if (devinfo28.DeviceKind == 28)
|
|||
|
{
|
|||
|
if (CStaticClass.MutiS7ConnReturns.Count > 0)
|
|||
|
{
|
|||
|
AllReturns = CStaticClass.MutiS7ConnReturns[GetDeviceS7Connection(deviceIdx)];
|
|||
|
}
|
|||
|
if (CStaticClass.AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
|
|||
|
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(deviceIdx);
|
|||
|
devinfo28 = Model.CGeneralFunction.GetDevice28AllDB1Data(new StringBuilder(devinfo.S7Connection));
|
|||
|
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
int flag = CStaticClass.AllReturns[temp];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־
|
|||
|
int boxnumber = CStaticClass.AllReturns[temp + 1];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (flag !=1)
|
|||
|
{
|
|||
|
return flag;
|
|||
|
}
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", deviceIdx.ToString(), "<22><><EFBFBD><EFBFBD>־1**<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + boxnumber);
|
|||
|
return flag;
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="deviceIdx"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetRobotStatus(int deviceIdx ,out int boxsum)
|
|||
|
{
|
|||
|
boxsum = 0;
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
if (devinfo28.DeviceKind == 28)
|
|||
|
{
|
|||
|
AllReturns = CStaticClass.MutiS7ConnReturns[GetDeviceS7Connection(deviceIdx)];
|
|||
|
if (CStaticClass.AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
|
|||
|
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(deviceIdx);
|
|||
|
devinfo28 = Model.CGeneralFunction.GetDevice28AllDB1Data(new StringBuilder(devinfo.S7Connection));
|
|||
|
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
int flag = CStaticClass.AllReturns[temp];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
boxsum = CStaticClass.AllReturns[temp + 1];//<2F><><EFBFBD><EFBFBD>
|
|||
|
if (flag != 1)
|
|||
|
{
|
|||
|
return flag;
|
|||
|
}
|
|||
|
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", deviceIdx.ToString(), "<22><><EFBFBD><EFBFBD>־1**<2A><><EFBFBD><EFBFBD>" + boxsum);
|
|||
|
|
|||
|
return flag;
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetPackBoxBarcodes(int deviceIdx, out string packbarcodes)
|
|||
|
{
|
|||
|
packbarcodes = string.Empty;
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
if (devinfo28.DeviceKind == 28)
|
|||
|
{
|
|||
|
AllReturns = CStaticClass.MutiS7ConnReturns[GetDeviceS7Connection(deviceIdx)];
|
|||
|
if (CStaticClass.AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
|
|||
|
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(deviceIdx);
|
|||
|
devinfo28 = Model.CGeneralFunction.GetDevice28AllDB1Data(new StringBuilder(devinfo.S7Connection));
|
|||
|
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
int flag = CStaticClass.AllReturns[temp];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
if (flag != 1)
|
|||
|
{
|
|||
|
return flag;
|
|||
|
}
|
|||
|
int sum = CStaticClass.AllReturns[temp + 1];//<2F><><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
int sumlenght =Convert .ToInt32( devinfo.Dbw2Getlength);
|
|||
|
|
|||
|
int boxlenght = CStaticClass.AllReturns[temp + 2];//<2F>䳤<EFBFBD><E4B3A4>
|
|||
|
if (sum == 1)
|
|||
|
{
|
|||
|
sumlenght = 25;
|
|||
|
}
|
|||
|
else if (sum == 2)
|
|||
|
{
|
|||
|
// sumlenght = 47;
|
|||
|
}
|
|||
|
|
|||
|
sss.Remove(0, sss.ToString().Length);
|
|||
|
StringBuilder sb = new StringBuilder();
|
|||
|
|
|||
|
for (int i = 3; i < sumlenght; i++)
|
|||
|
{
|
|||
|
//if ((i > 16 && i < 25) || (i > 38 && i < 47))
|
|||
|
//{
|
|||
|
// sss.Append("0");
|
|||
|
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
sss.Append(Convert.ToChar(AllReturns[temp + i]));
|
|||
|
//}
|
|||
|
|
|||
|
if (sss.Length == 22)
|
|||
|
{
|
|||
|
//if (sss.ToString().TrimEnd('0') != string.Empty)
|
|||
|
//{
|
|||
|
sb.Append(sss.ToString()).Append("|");
|
|||
|
//}
|
|||
|
sss.Remove(0, sss.Length);
|
|||
|
}
|
|||
|
}
|
|||
|
packbarcodes = sb.ToString().TrimEnd('|');
|
|||
|
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", deviceIdx.ToString(), "<22><><EFBFBD><EFBFBD>־1**<2A><><EFBFBD><EFBFBD>" + sum + "**<2A><><EFBFBD>볤<EFBFBD><EBB3A4>" + boxlenght + "**<2A><><EFBFBD><EFBFBD>ֵ" + packbarcodes);
|
|||
|
|
|||
|
return flag;
|
|||
|
#endregion
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="deviceIdx"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public static int GetRobotUnpack(int deviceIdx)
|
|||
|
{
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
if (devinfo28.DeviceKind == 28)
|
|||
|
{
|
|||
|
AllReturns = CStaticClass.MutiS7ConnReturns[GetDeviceS7Connection(deviceIdx)];
|
|||
|
if (CStaticClass.AllReturns != null)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
|
|||
|
|
|||
|
devinfo = Model.CGetInfo.GetDeviceInfo(deviceIdx);
|
|||
|
devinfo28 = Model.CGeneralFunction.GetDevice28AllDB1Data(new StringBuilder(devinfo.S7Connection));
|
|||
|
|
|||
|
int temp = devinfo.Dbw2Address - devinfo28.Dbw2Address;
|
|||
|
int flag = CStaticClass.AllReturns[temp];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (flag != 1)
|
|||
|
{
|
|||
|
return flag;
|
|||
|
}
|
|||
|
|
|||
|
CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", deviceIdx.ToString(), "<22><><EFBFBD><EFBFBD>־1");
|
|||
|
|
|||
|
return flag;
|
|||
|
#endregion
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
public static bool SetInLightOnOff()
|
|||
|
{
|
|||
|
DataView dv, dv1;
|
|||
|
string sql = string.Empty;
|
|||
|
int askkind = 44;
|
|||
|
int reader = 16004;
|
|||
|
char[] dd = new char[1] { ';' };//20101124
|
|||
|
string[] DS;//20101124
|
|||
|
try
|
|||
|
{
|
|||
|
sql = string.Format("select F_DeviceIndex from T_Base_PLC_Ask WHERE F_Askkind = {0} and F_DeviceIndex={1}", askkind, reader);
|
|||
|
dv = dbo.ExceSQL(sql).Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
|
|||
|
int devidx =12605;//<2F><><EFBFBD>豸
|
|||
|
int taskend = 12604;//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ㣬<D5B5>ж<EFBFBD><D0B6>κ<EFBFBD>վ̨<D5BE>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD>
|
|||
|
string checklight = "12605.2";//<2F><>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
string checkdevice = "12604";//<2F><><EFBFBD>ͻ<EFBFBD>״̬
|
|||
|
|
|||
|
int curlightstatus = GetDevicePhotoelectric(checklight);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|||
|
int setlightstatus;
|
|||
|
int sendorder;
|
|||
|
|
|||
|
sql = string.Format("select FID from T_Manage_Task where FENDDEVICE ={0} and FCONTROLTASKTYPE=2 and FSTATUS>0 ", taskend);
|
|||
|
|
|||
|
dv1 = dbo.ExceSQL(sql).Tables[0].DefaultView;
|
|||
|
|
|||
|
if (dv1.Count > 0)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
setlightstatus = 0;
|
|||
|
sendorder = 8;
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
//ֻ<>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵Ƶ<CCB5><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD>ⰴť<E2B0B4>Ż<EFBFBD><C5BB><EFBFBD>Ч
|
|||
|
setlightstatus = 1;
|
|||
|
sendorder = 7;
|
|||
|
|
|||
|
//DS = checkdevice.Trim().Split(dd);
|
|||
|
//string item;
|
|||
|
//int value = 0;
|
|||
|
//for (int k = 0; k < DS.Length; k++)
|
|||
|
//{
|
|||
|
// item = DS[k];
|
|||
|
|
|||
|
// int deviceindex = Convert.ToInt32(item);
|
|||
|
// devinfo = Model.CGetInfo.GetDeviceInfo(deviceindex);
|
|||
|
// if (devinfo != null)
|
|||
|
// {
|
|||
|
// if (devinfo.SplitByte_0 == 1 || devinfo.SplitByte_1 == 1 || devinfo.RunState == 1)
|
|||
|
// {
|
|||
|
// value++;
|
|||
|
// }
|
|||
|
// }
|
|||
|
|
|||
|
|
|||
|
//}
|
|||
|
//if (value > 0)
|
|||
|
//{
|
|||
|
// //<2F><><EFBFBD><EFBFBD>
|
|||
|
// setlightstatus = 0;
|
|||
|
// sendorder = 8;
|
|||
|
|
|||
|
//}
|
|||
|
//else
|
|||
|
//{
|
|||
|
// //<2F><><EFBFBD><EFBFBD>
|
|||
|
// setlightstatus = 1;
|
|||
|
// sendorder = 7;
|
|||
|
//}
|
|||
|
}
|
|||
|
if (curlightstatus!=-1 && setlightstatus != curlightstatus )
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
sdo = CommModeCreate.CreateSendDeviceOrder(devidx);
|
|||
|
|
|||
|
|
|||
|
sdo.SendDeviceOrder(1, 30001, sendorder, devidx, 0);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw ex;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
//dv.Dispose();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|