1160 lines
63 KiB
C#
1160 lines
63 KiB
C#
|
using RGD.Common;
|
|||
|
using RGD.DataService;
|
|||
|
using RGD.DBUtility;
|
|||
|
using RGD.MdsAPI;
|
|||
|
using RGD.MdsAPI.WMS;
|
|||
|
using RGD.OPCClient;
|
|||
|
using System;
|
|||
|
using System.Data;
|
|||
|
|
|||
|
namespace RGD.WCS
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Creator:RGD
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD>豸״̬<D7B4><CCAC>
|
|||
|
/// <20><>Ҫ<EFBFBD><D2AA><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// 1.<2E><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>״̬<D7B4><CCAC><EFBFBD>߱<EFBFBD><DFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>F_SerialNumber<65><72>=<3D><>ǰֵ<C7B0><D6B5>
|
|||
|
/// 2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD><EFBFBD>һ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD>룩
|
|||
|
/// 3.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>źţ<C5BA>1-<2D>ط<EFBFBD><D8B7><EFBFBD>ǰ<EFBFBD>豸ָ<E8B1B8><D6B8>
|
|||
|
/// 2-<2D><><EFBFBD><EFBFBD><EFBFBD>ĵ<DEB8>ǰ<EFBFBD>豸<EFBFBD><E8B1B8>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD><CEBB>
|
|||
|
/// 4.<2E><><EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD>λ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>̽<EFBFBD><CCBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ǰλ<C7B0>ã<EFBFBD>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// 5.<2E><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Я<EFBFBD><D0AF><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Я<EFBFBD><D0AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// 6.<2E><><EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><C5B4>ݵ<EFBFBD><DDB5><EFBFBD>ǰ<EFBFBD>豸ʱ<E8B1B8><CAB1><EFBFBD>ѱ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ǰһ<C7B0>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// ͬʱ<CDAC>ѵ<EFBFBD>ǰ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// 7.<2E><><EFBFBD><EFBFBD><EFBFBD>ݹ<EFBFBD><DDB9>ϵ㵥<CFB5><E3B5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>õķ<C3B5><C4B7><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD>
|
|||
|
/// 8.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// 9.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>豸״̬
|
|||
|
/// </summary>
|
|||
|
public class CGetState
|
|||
|
{
|
|||
|
private Model.MError errs;
|
|||
|
private Model.MDevice devinfo;
|
|||
|
private ISendDeviceOrder sdo;
|
|||
|
private CCommonFunction ccf = new CCommonFunction();
|
|||
|
private CControl ccl = new CControl();
|
|||
|
private string _CGetStateError = "";//<2F><><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
|||
|
|
|||
|
public string CGetStateError
|
|||
|
{
|
|||
|
get { return _CGetStateError; }
|
|||
|
set { _CGetStateError = value; }
|
|||
|
}
|
|||
|
|
|||
|
public int[] _States;
|
|||
|
private int _fid;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// ManageTypeIndex
|
|||
|
/// </summary>
|
|||
|
private int _mti;
|
|||
|
|
|||
|
private string _start_cell;
|
|||
|
private string _fmanageid;
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>豸<EFBFBD><E8B1B8>״̬
|
|||
|
/// </summary>
|
|||
|
public CGetState()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>"<22><><EFBFBD><EFBFBD>"ʱ ɾ<><C9BE><EFBFBD>豸ָ<E8B1B8><D6B8> , <20><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ռ<EFBFBD><D5BC>״̬F_LockedState=0<><30>
|
|||
|
///·<><C2B7><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8>F_LockedDeviceIndex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ӧ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
///
|
|||
|
///<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD>? <20><>,<2C><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO_Control<6F><6C>FSTATUS=2<><32>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
/// T_Manage_Task<73><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>״̬FSTATUS=2
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
public void GetDeviceState()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
DataView dv = new DataView();
|
|||
|
DataView dvm = new DataView();
|
|||
|
DataView dvmo = new DataView();
|
|||
|
int devKind;
|
|||
|
int DeviceIdx;
|
|||
|
int MonitorIndex = 0;
|
|||
|
string[] wv = new string[1] { "2" };
|
|||
|
string[] witemnames = new string[1];
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
DataView dd = DbHelperSQL.Query("SELECT F_DeviceIndex,F_DeviceKindIndex,F_MaxSendCount,F_SendInterval FROM T_Base_Device WHERE F_DeviceKindIndex in(1,2,5,32,33,34)").Tables[0].DefaultView;
|
|||
|
for (int j = 0; j < dd.Count; j++)
|
|||
|
{
|
|||
|
DeviceIdx = Convert.ToInt32(dd[j]["F_DeviceIndex"]);
|
|||
|
devKind = Convert.ToInt32(dd[j]["F_DeviceKindIndex"]);
|
|||
|
if (devKind != 1)
|
|||
|
{
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(DeviceIdx);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸״̬
|
|||
|
GetKindDeviceState(MonitorIndex, DeviceIdx, 0);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
continue;
|
|||
|
}
|
|||
|
}
|
|||
|
dv = null; dvm = null; dvmo = null; dd = null;
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>STOPPING<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DataView dv_task = DbHelperSQL.Query("select * from t_warehouse").Tables[0].DefaultView;
|
|||
|
|
|||
|
Object RFIDCount = DbHelperSQL.GetSingle("select count from T_InTask_QTY");
|
|||
|
//<2F><><EFBFBD><EFBFBD>ֹͣ״̬ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>β<EFBFBD><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
|||
|
if (dv_task[0]["F_TASK_STATUS"].ToString() == "STOPPING" || (dv_task[0]["F_LASTBOX_REACH_FLAG"] != DBNull.Value && ((bool)dv_task[0]["F_LASTBOX_REACH_FLAG"])) || dv_task[0]["F_TASK_TYPE"].Equals("Out") || RFIDCount.ToString() == "0")
|
|||
|
{
|
|||
|
DataView dv_manage = DbHelperSQL.Query("select * from t_manage_task where fmanageid='" + dv_task[0]["F_TASK_NO"] + "'").Tables[0].DefaultView;
|
|||
|
//<2F><><EFBFBD><EFBFBD><DEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (dv_manage.Count == 0)
|
|||
|
{
|
|||
|
{
|
|||
|
DataView dv_rfid = DbHelperSQL.Query("select SOURCE_CELL_CODE from IO_RFID where STATION_CODE in ('" + CConfig.Device_Rfid + "') and not SOURCE_CELL_CODE='' and SOURCE_CELL_CODE is not null").Tables[0].DefaultView;
|
|||
|
//<2F><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>
|
|||
|
if (dv_rfid.Count == 0)
|
|||
|
{
|
|||
|
bool cleared = true;
|
|||
|
DataSet ds_diepan = DbHelperSQL.Query("select * from t_base_plc_ask where f_askkind=2 and not f_barcode='' and f_barcode is not null and not f_barcode='-'");
|
|||
|
if (ds_diepan.Tables[0].Rows.Count > 0)
|
|||
|
{ //<2F><><EFBFBD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>
|
|||
|
foreach (DataRow dr in ds_diepan.Tables[0].Rows)
|
|||
|
{
|
|||
|
//sdo = CommModeCreate.CreateSendDeviceOrder(14001);
|
|||
|
//sdo.SendDeviceOrder(3, 0, 0, 14001, 0);
|
|||
|
//sdo = CommModeCreate.CreateSendDeviceOrder(12003);
|
|||
|
//sdo.SendDeviceOrder(3, 0, 0, 12003, 0);
|
|||
|
sdo = CommModeCreate.CreateSendDeviceOrder(int.Parse(dr["f_bindingdevice"].ToString()));
|
|||
|
sdo.SendDeviceOrder(3, 0, 0, int.Parse(dr["f_bindingdevice"].ToString()), 0);
|
|||
|
LogUtil.WriteLog("", "<22><><EFBFBD><EFBFBD>STOPPING<4E><47><EFBFBD><EFBFBD>;<3B><><EFBFBD>̷<EFBFBD><CCB7><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>´<EFBFBD>:" + int.Parse(dr["f_bindingdevice"].ToString()));
|
|||
|
}
|
|||
|
cleared = false;
|
|||
|
}
|
|||
|
/*//<2F>жϵ<D0B6>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>״̬<D7B4>Ƿ<EFBFBD>Ϊֹͣ,<2C><><EFBFBD>豸ָ<E8B1B8><D6B8>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؿ<EFBFBD>ʱ,<2C>豸ָ<E8B1B8><D6B8>ֻʣ<D6BB>¶Ѷ<C2B6><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>,<2C><>ѯ<EFBFBD><D1AF><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>Ϊ0,<2C><><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뿪<EFBFBD>ӿ<EFBFBD>
|
|||
|
DataView monitortask = DbHelperSQL.Query("select * from t_monitor_task where F_DeviceCommandIndex !='5'").Tables[0].DefaultView;
|
|||
|
if (dv_task[0]["F_TASK_STATUS"].ToString() == "STOPPING" && monitortask.Count == 0)
|
|||
|
{
|
|||
|
ApplyResult ar = SendDataToAgv.LetGo();
|
|||
|
}*/
|
|||
|
//<2F><><EFBFBD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״ֹ̬ͣ
|
|||
|
if (cleared && dv_task[0]["F_TASK_STATUS"].ToString() == "STOPPING")
|
|||
|
{ //ֹͣ<CDA3>ɹ<EFBFBD>
|
|||
|
DbHelperSQL.ExecuteSql("update t_warehouse set f_task_no='',f_task_type='',f_task_status='FREE',f_equip_type='',F_IO_WH_SORT_CODE='',F_LASTBOX_REACH_FLAG=0");
|
|||
|
DataView dv_task_list = DbHelperSQL.Query("select top 1 * from t_task_list where task_status ='Waiting'").Tables[0].DefaultView;
|
|||
|
if (dv_task_list.Count > 0)
|
|||
|
{
|
|||
|
string sResult = string.Empty;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ȴ<EFBFBD><C8B4>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
new RGD.MdsAPI.HouseBase().InvokeHouse(dv_task_list[0]["METHOD_NAME"].ToString(), dv_task_list[0]["XMLIN"].ToString(), out sResult);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD>STOPPING<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22><>ȡ<EFBFBD>豸״̬ʱ<CCAC><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22><>ȡ<EFBFBD>豸״̬ʱ<CCAC><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸״̬
|
|||
|
/// </summary>
|
|||
|
/// <param name="TaskIdx"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="DeviceIdx"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// /// <param name="RouteIDSub"><3E><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>ı<EFBFBD><C4B1><EFBFBD></param>
|
|||
|
public void GetKindDeviceState(int TaskIdx, int DeviceIdx, int RouteIDSub)
|
|||
|
{
|
|||
|
int[] States;
|
|||
|
try
|
|||
|
{
|
|||
|
States = CStaticClass.GetDeviceState(DeviceIdx);//[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>
|
|||
|
if (States == null || States.Length < 2)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
DbHelperSQL.ExecuteSql("update t_base_device set f_runstate='" + States[1] + "' where F_DeviceIndex='" + DeviceIdx + "'");
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update t_base_device set f_runstate='" + ex.Message + "' where F_DeviceIndex='" + DeviceIdx + "'");
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22><>ȡ״̬ʱ<CCAC><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22><>ȡ״̬ʱ<CCAC><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
_States = States;
|
|||
|
if (States == null)//û<><C3BB><EFBFBD>յ<EFBFBD><D5B5>κη<CEBA><CEB7><EFBFBD>ֵ
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
#region ״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
TaskIdx = States[2];
|
|||
|
int fid = ccf.GetManageTaskIndexfromMonitor(TaskIdx);//dzf<7A><66><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>TaskIdx<64>Ǵ<EFBFBD>PLC<4C>϶<EFBFBD><CFB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD>PLC<4C>е<EFBFBD>TaskIdx<64><78><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>send<6E><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
|
|||
|
int mti = ccf.GetManageTaskKindIndexFromMonitor(TaskIdx);//dzf<7A><66><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>1 <20><><EFBFBD><EFBFBD> 2<>Զ<EFBFBD> 4<>ֶ<EFBFBD><D6B6><EFBFBD>
|
|||
|
if (States[1] >= 30)//<2F><><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
ActionError(DeviceIdx, TaskIdx, States[1]);//<2F>豸<EFBFBD><E8B1B8> ָ<><D6B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
switch (BaseDeviceService.GetDeviceKindIdx(DeviceIdx))
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>豸
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>дT_Manage_Task<73>ĵ<EFBFBD>ǰλ<C7B0><CEBB>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź͵<C5BA>ǰλ<C7B0><CEBB><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><C5B4>ݵ<EFBFBD><DDB5><EFBFBD>ǰ<EFBFBD>豸ʱ<E8B1B8><CAB1><EFBFBD>ѱ<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ǰһ<C7B0>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//ͬʱ<CDAC>ѵ<EFBFBD>ǰ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
case 1:
|
|||
|
#region <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
//1-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2-<2D><><EFBFBD><EFBFBD>;3-Ҫ<><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD>;
|
|||
|
//4-֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
if ((States[1] == 1))
|
|||
|
{
|
|||
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>T_Monitor_Task<73><6B>F_Status=2// || (States[0] == 2)
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>豸
|
|||
|
ActionStartRun(DeviceIdx, TaskIdx);
|
|||
|
if (mti == 1)
|
|||
|
{
|
|||
|
}
|
|||
|
#region ˫<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><EFBFBD><EFBFBD>
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(DeviceIdx);
|
|||
|
if (devinfo.IfCorrelDoubleFork == "1")
|
|||
|
{
|
|||
|
if (CGeneralFunction.DoubleForkIfSync(TaskIdx, DeviceIdx, 1) == true)
|
|||
|
{
|
|||
|
string[] df = CGeneralFunction.GetDoubleForkMonitorInfo(TaskIdx, DeviceIdx);
|
|||
|
if (df != null)
|
|||
|
{
|
|||
|
ActionStartRun(Convert.ToInt32(df[2]), Convert.ToInt32(df[0]));
|
|||
|
if (mti == 1)
|
|||
|
{//20100714
|
|||
|
fid = ccf.GetManageTaskIndexfromMonitor(Convert.ToInt32(df[0]));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion ˫<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><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
if (States[1] == 2)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,Ӧ<><D3A6>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
string[] df = CGeneralFunction.GetDoubleForkMonitorInfo(TaskIdx, DeviceIdx);
|
|||
|
bool snyc = CGeneralFunction.DoubleForkIfSync(TaskIdx, DeviceIdx, 1);
|
|||
|
ActionComplete(DeviceIdx, TaskIdx, 1);
|
|||
|
//ˢ<>¼<EFBFBD><C2BC><EFBFBD><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD>첽<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>ִ<EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(DeviceIdx);
|
|||
|
if ((devinfo.IfCorrelDoubleFork == "1") && (df != null))
|
|||
|
{
|
|||
|
if (snyc == true)//˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
ActionComplete(DeviceIdx, Convert.ToInt32(df[0]), 1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ccl.SendMonitorTask(Convert.ToInt32(df[0]));
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion ˫<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><EFBFBD>ֱ<EFBFBD><EFBFBD>ִ<EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
break;
|
|||
|
#endregion <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>:
|
|||
|
case 2:
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
|
|||
|
if ((States[1] == 1))//<2F><>ʼ<EFBFBD><CABC><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>T_Monitor_Task<73><6B>F_Status=2// || (States[0] == 2)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>豸
|
|||
|
ActionStartRun(DeviceIdx, TaskIdx);
|
|||
|
#region ˫<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>
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(DeviceIdx);
|
|||
|
if (devinfo.IfCorrelDoubleFork == "1")
|
|||
|
{
|
|||
|
if (CGeneralFunction.DoubleForkIfSync(TaskIdx, DeviceIdx, 2) == true)
|
|||
|
{
|
|||
|
string[] df = CGeneralFunction.GetDoubleForkMonitorInfo(TaskIdx, DeviceIdx);
|
|||
|
if (df != null)
|
|||
|
{
|
|||
|
ActionStartRun(Convert.ToInt32(df[2]), Convert.ToInt32(df[0]));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion ˫<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><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
}
|
|||
|
if (States[1] == 2)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
string[] df = CGeneralFunction.GetDoubleForkMonitorInfo(TaskIdx, DeviceIdx);
|
|||
|
bool snyc = CGeneralFunction.DoubleForkIfSync(TaskIdx, DeviceIdx, 2);
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(DeviceIdx);
|
|||
|
if (devinfo.IfCorrelDoubleFork == "1")
|
|||
|
{
|
|||
|
int updowndevice = new CommonService().GetUpAndDownDevices(DeviceIdx, devinfo.Dbw1Address);
|
|||
|
if (-1 != updowndevice)
|
|||
|
{
|
|||
|
GetKindDeviceState(0, updowndevice, 0);
|
|||
|
}
|
|||
|
}
|
|||
|
ActionComplete(DeviceIdx, TaskIdx, 1);
|
|||
|
//ˢ<>¼<EFBFBD><C2BC><EFBFBD><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD>첽<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>ִ<EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if ((devinfo.IfCorrelDoubleFork == "1") && (df != null))
|
|||
|
{
|
|||
|
if (snyc == true)
|
|||
|
{
|
|||
|
ActionComplete(DeviceIdx, Convert.ToInt32(df[0]), 1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ccl.SendMonitorTask(Convert.ToInt32(df[0]));
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion ˫<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><EFBFBD>ֱ<EFBFBD><EFBFBD>ִ<EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
break;
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
|
|||
|
case 4:
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if ((States[1] == 1)) //<2F><>ʼ<EFBFBD><CABC><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>T_Monitor_Task<73><6B>F_Status=2// || (States[0] == 2)
|
|||
|
{//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>豸
|
|||
|
ActionStartRun(DeviceIdx, TaskIdx);
|
|||
|
//ˢ<>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
}
|
|||
|
if (States[1] == 2)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
ActionComplete(DeviceIdx, TaskIdx, 1);
|
|||
|
}
|
|||
|
break;
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
case 32:
|
|||
|
#region <EFBFBD><EFBFBD>ѡ
|
|||
|
if ((States[1] == 1))//<2F><>ʼ<EFBFBD><CABC><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>T_Monitor_Task<73><6B>F_Status=2// || (States[0] == 2)
|
|||
|
{//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>豸
|
|||
|
ActionStartRun(DeviceIdx, TaskIdx);
|
|||
|
}
|
|||
|
if (States[1] == 2)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
ActionComplete(DeviceIdx, TaskIdx, 1);
|
|||
|
}
|
|||
|
break;
|
|||
|
#endregion <EFBFBD><EFBFBD>ѡ
|
|||
|
case 33:
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if ((States[1] == 1))//<2F><>ʼ<EFBFBD><CABC><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>T_Monitor_Task<73><6B>F_Status=2// || (States[0] == 2)
|
|||
|
{//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>豸
|
|||
|
ActionStartRun(DeviceIdx, TaskIdx);
|
|||
|
}
|
|||
|
if (States[1] == 2)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
ActionComplete(DeviceIdx, TaskIdx, 1);
|
|||
|
}
|
|||
|
break;
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
case 34:
|
|||
|
#region AGV
|
|||
|
if ((States[1] == 1))//<2F><>ʼ<EFBFBD><CABC><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>T_Monitor_Task<73><6B>F_Status=2// || (States[0] == 2)
|
|||
|
{//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>豸
|
|||
|
ActionStartRun(DeviceIdx, TaskIdx);
|
|||
|
}
|
|||
|
if (States[1] == 10)//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
string sql = "select F_DeviceIndex from T_Monitor_Task where F_MonitorIndex=" + TaskIdx;
|
|||
|
|
|||
|
DataView dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
|
|||
|
|
|||
|
if (dv.Count > 0 && dv[0]["F_DeviceIndex"].ToString() == DeviceIdx.ToString())
|
|||
|
{
|
|||
|
ActionComplete(DeviceIdx, TaskIdx, 1);
|
|||
|
}
|
|||
|
}
|
|||
|
break;
|
|||
|
#endregion AGV
|
|||
|
}
|
|||
|
#endregion ״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>豸<EFBFBD><E8B1B8>ʼ<EFBFBD><CABC><EFBFBD>У<EFBFBD>
|
|||
|
/// 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD>λ<EFBFBD>û<EFBFBD>д<EFBFBD><D0B4><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// 2<><32><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>ʼִ<CABC><D6B4>״̬
|
|||
|
/// 3<><33><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="DeviceIdx"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="TaskIdx"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
public void ActionStartRun(int DeviceIdx, int TaskIdx)
|
|||
|
{
|
|||
|
if (TaskIdx <= 0) return;
|
|||
|
int mti = ccf.GetManageTaskIndexfromMonitor(TaskIdx);
|
|||
|
int mtikind = ccf.GetManageTaskKindIndexFromMonitor(TaskIdx);
|
|||
|
|
|||
|
DataView dvlane;
|
|||
|
DataView dv;
|
|||
|
try
|
|||
|
{
|
|||
|
//<2F>ĵ<DEB8><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|||
|
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_Status=2 where F_Status=1 and F_MonitorIndex=" + TaskIdx);
|
|||
|
|
|||
|
#region <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><EFBFBD>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DbHelperSQL.ExecuteSql("update T_Manage_Task set FCurrentLocation=" + DeviceIdx + " where F_ManageTaskKindIndex=" + mtikind + " and FID=" + mti + "");
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>¼<EFBFBD><C2BC>ǰλ<C7B0>ã<EFBFBD><C3A3><EFBFBD>Ҫ<EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_CurrentLocation=" + DeviceIdx + " where F_MonitorIndex=" + TaskIdx);
|
|||
|
//<2F>豸<EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//20090918<31><38><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F_HaveGoods=0
|
|||
|
dvlane = DbHelperSQL.Query("SELECT F_LaneGateDeviceIndex FROM T_Base_Lane_Gate where F_LaneGateDeviceIndex=" + DeviceIdx).Tables[0].DefaultView;
|
|||
|
if (dvlane.Count > 0)
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_HaveGoods=0 where F_DeviceIndex=" + DeviceIdx);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//AGV<47><56><EFBFBD><EFBFBD>
|
|||
|
dvlane = DbHelperSQL.Query("SELECT F_AGVGateDeviceIndex FROM T_Base_AGV_Gate where F_AGVGateDeviceIndex=" + DeviceIdx).Tables[0].DefaultView;
|
|||
|
if (dvlane.Count > 0)
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_HaveGoods=0 where F_DeviceIndex=" + DeviceIdx);
|
|||
|
}
|
|||
|
}
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Lane_Gate set F_LogicHave = 0 where F_LogicHave =" + TaskIdx);//<2F><><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>õ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
|
|||
|
#endregion <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><EFBFBD>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (CStaticClass.MovedDeviceAheadTrigger == "1")
|
|||
|
{
|
|||
|
#region <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><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F_AheadTrigger
|
|||
|
dv = DbHelperSQL.Query("select F_AheadTrigger from T_Monitor_Task " + "where F_MonitorIndex=" + TaskIdx + " and F_AheadTrigger like '" + DeviceIdx.ToString() + "-" + "%'").Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
char[] cc = new char[1] { '-' };
|
|||
|
string[] sp = dv[0]["F_AheadTrigger"].ToString().Split(cc);
|
|||
|
if (sp.GetLength(0) > 0)
|
|||
|
{
|
|||
|
int TriTask = Convert.ToInt32(sp[1]);
|
|||
|
if (ccl.SendMonitorTask(TriTask) == true)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_AheadTrigger ='' where F_MonitorIndex=" + TaskIdx);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion <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><EFBFBD><EFBFBD><EFBFBD>) <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
_CGetStateError = "ControlSystem.CGetState<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + ex.Message;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
dvlane = null;
|
|||
|
dv = null;
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>"<22><><EFBFBD><EFBFBD>"ʱ ɾ<><C9BE><EFBFBD>豸ָ<E8B1B8><D6B8> , <20><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ռ<EFBFBD><D5BC>״̬F_LockedState=0<><30>
|
|||
|
///·<><C2B7><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8>F_LockedDeviceIndex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ӧ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
///
|
|||
|
///<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD>? <20><>,<2C><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO_Control<6F><6C>FSTATUS=2<><32>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
/// T_Manage_Task<73><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>״̬FSTATUS=2 <20><>
|
|||
|
/// </summary>
|
|||
|
/// <param name="DeviceIdx"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="TaskIdx"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
///<param name="ClearZero"><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:1<><31><EFBFBD>㣻900<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>999<39>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
public void ActionComplete(int DeviceIdx, int TaskIdx, int ClearZero)
|
|||
|
{
|
|||
|
if (TaskIdx == 0)
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(DeviceIdx);
|
|||
|
int devKind = BaseDeviceService.GetDeviceKindIdx(DeviceIdx);
|
|||
|
int[] zxy = ccf.GetCoordinatesFromMonitorTask(TaskIdx);
|
|||
|
string zxystr = "";
|
|||
|
if (zxy != null)
|
|||
|
{
|
|||
|
//<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
zxystr = (zxy[3].ToString().Length == 1 ? "0" + zxy[3].ToString() : zxy[3].ToString()) + "-" + ((zxy[4].ToString().Length == 1) ? ("0" + zxy[4].ToString()) : (zxy[4].ToString())) + "-" + ((zxy[5].ToString().Length == 1) ? ("0" + zxy[5].ToString()) : (zxy[5].ToString()));
|
|||
|
}
|
|||
|
int order = ccf.GetDeviceOrderFromMonitor(TaskIdx);
|
|||
|
if (order == -1)
|
|||
|
{
|
|||
|
_CGetStateError = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>м<EFBFBD><D0BC>䣡";
|
|||
|
return;
|
|||
|
}
|
|||
|
if (GetManage_Kind(TaskIdx) == false)
|
|||
|
{
|
|||
|
//û<>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|||
|
return;
|
|||
|
}
|
|||
|
LogUtil.WriteLog("", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;DeviceIdx:" + DeviceIdx + ";TaskIdx:" + TaskIdx);
|
|||
|
|
|||
|
int errrcode = new ManageTaskService().GetExceptionNOFromManageTask(_fid, _mti);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int ControlType = ccf.GetFCONTROLTASKTYPEFromManageTask(_mti, _fid);
|
|||
|
//20100710
|
|||
|
int AgvNextDeviceKind = 0;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
if ((devKind == 6) && (order == 2))
|
|||
|
{
|
|||
|
AgvNextDeviceKind = BaseDeviceService.GetDeviceKindIdx(zxy[4]);
|
|||
|
}
|
|||
|
|
|||
|
int ErrorCount = 0;
|
|||
|
DataView dvtemp = DbHelperSQL.Query("select F_ErrorCount from t_base_device where F_DeviceIndex=" + DeviceIdx).Tables[0].DefaultView;
|
|||
|
if (dvtemp.Count > 0)
|
|||
|
{
|
|||
|
if (dvtemp[0][0] == DBNull.Value)
|
|||
|
{
|
|||
|
ErrorCount = 0;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ErrorCount = ((int)dvtemp[0][0]);
|
|||
|
}
|
|||
|
}
|
|||
|
if (ErrorCount > 1)
|
|||
|
{
|
|||
|
//<2F>豸<EFBFBD><E8B1B8><EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
return;
|
|||
|
}
|
|||
|
DataView dvman;
|
|||
|
DataView dv;
|
|||
|
DataView dvlane;
|
|||
|
|
|||
|
#region <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><EFBFBD>⽻<EFBFBD>棩
|
|||
|
if ((devKind == 1) && (ccf.GetFCONTROLTASKTYPEFromManageTask(_mti, _fid) == 2))//<2F>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>Я<EFBFBD><D0AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
string mansql = "select * from T_Manage_Task where FTASKLEVEL=10 and FSTACK = " + DeviceIdx + " AND (FCONTROLTASKTYPE = 1) AND (FIntoStepOK = '1') ";
|
|||
|
dvman = DbHelperSQL.Query(mansql).Tables[0].DefaultView;
|
|||
|
if (dvman.Count <= 0)
|
|||
|
{
|
|||
|
mansql = "SELECT FID, F_ManageTaskKindIndex, FCONTROLTASKTYPE FROM T_Manage_Task WHERE (FSTACK = " + DeviceIdx + ") AND (FCONTROLTASKTYPE = 1) AND (FIntoStepOK = '1') order by FTASKLEVEL desc, F_ManageTaskKindIndex desc,FID asc";
|
|||
|
dvman = DbHelperSQL.Query(mansql).Tables[0].DefaultView;
|
|||
|
for (int ii = 0; ii < dvman.Count; ii++)
|
|||
|
{
|
|||
|
string sql = "select * from T_Monitor_Task where F_ManageTASKKINDINDEX=" + dvman[ii]["F_ManageTASKKINDINDEX"] + " and F_ManageTaskIndex=" + dvman[ii]["FID"] + " order by F_MonitorIndex asc";
|
|||
|
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
int stackkind = BaseDeviceService.GetDeviceKindIdx(Convert.ToInt32(dv[0]["F_DeviceIndex"]));
|
|||
|
if (stackkind == 1)
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_MonitorTaskLevel=10 where F_ManageTASKKINDINDEX=" + dvman[ii]["F_ManageTASKKINDINDEX"] + " and F_ManageTaskIndex=" + dvman[ii]["FID"] + "");
|
|||
|
DbHelperSQL.ExecuteSql("update T_Manage_Task set FTASKLEVEL=10 where F_ManageTASKKINDINDEX=" + dvman[ii]["F_ManageTASKKINDINDEX"] + " and FID=" + dvman[ii]["FID"] + "");
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion <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><EFBFBD>⽻<EFBFBD>棩
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|||
|
try
|
|||
|
{
|
|||
|
int fid = _fid;
|
|||
|
int mti = _mti;
|
|||
|
string BOX_LABLE = string.Empty;
|
|||
|
bool TASK_TYPE = false;
|
|||
|
|
|||
|
#region [<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><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤԼ<EFBFBD><EFBFBD>
|
|||
|
if (devKind == 1)
|
|||
|
{
|
|||
|
object ob = DbHelperSQL.GetSingle("select count(F_MonitorIndex) as counts from T_Monitor_Task " +
|
|||
|
" where F_ManageTaskIndex =" + fid + " and F_ManageTaskKindIndex= " + mti + " and F_DeviceIndex=" + DeviceIdx);
|
|||
|
if (Convert.ToInt32(ob) == 1)//dzfͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬһ<CDAC>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ָ<EFBFBD><D6B8>
|
|||
|
{
|
|||
|
#region <EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤԼ<EFBFBD><EFBFBD>//20100710
|
|||
|
ob = DbHelperSQL.GetSingle("SELECT T_Manage_Task.FID FROM T_Manage_Task ,T_Monitor_Task where T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX AND T_Manage_Task.FID = T_Monitor_Task.F_ManageTaskIndex and (T_Manage_Task.F_RELATIVECONTORLID = " + fid + ") AND (T_Manage_Task.F_ManageTaskKindIndex = " + mti + ") and F_DeviceIndex=" + DeviceIdx + "");
|
|||
|
if (ob != null)
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_ManTaskReserve=" + (mti.ToString() + ob.ToString()) + " where F_ManTaskReserve=" + (mti.ToString() + fid.ToString()) + " and F_DeviceIndex=" + DeviceIdx);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_ManTaskReserve=0 where F_ManTaskReserve=" + (mti.ToString() + fid.ToString()) + " and F_DeviceIndex=" + DeviceIdx);
|
|||
|
}
|
|||
|
#endregion <EFBFBD>й<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤԼ<EFBFBD><EFBFBD>//20100710
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion [<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><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤԼ<EFBFBD><EFBFBD>
|
|||
|
|
|||
|
//dv = DbHelperSQL.Query("select count(F_MonitorIndex) as counts from T_Monitor_Task ").Tables[0].DefaultView;
|
|||
|
dv = DbHelperSQL.Query("select count(F_MonitorIndex) as counts from T_Monitor_Task " + " where F_ManageTaskIndex =" + fid + " and F_ManageTaskKindIndex= " + mti).Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if ((Convert.ToInt32(dv[0]["counts"]) == 1))
|
|||
|
{
|
|||
|
//<2F><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>//20091128
|
|||
|
if ((ClearZero != CGeneralFunction.TASKDELETE) && (ClearZero != CGeneralFunction.TASKSTOPOUTPUT))//<2F><><EFBFBD>ȳ<EFBFBD><C8B3><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>900<30><30><EFBFBD>˹<EFBFBD><CBB9><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>940
|
|||
|
{
|
|||
|
bool IS_PICKUP = true;
|
|||
|
Object dt1 = DbHelperSQL.GetSingle("select F_DeviceCommandIndex from T_Monitor_Task");
|
|||
|
if (dt1.ToString() == "9")
|
|||
|
{
|
|||
|
IS_PICKUP = false;
|
|||
|
}
|
|||
|
string Task_NO = "";
|
|||
|
//<2F>̶<EFBFBD>·<EFBFBD><C2B7>ģʽ
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>fid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>طֽ<D8B7><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (mti == 1)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>FSTATUS=999<39><39>970<37>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>ع<EFBFBD><D8B9><EFBFBD><EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD>ɣ<EFBFBD>980<38>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD>ɣ<EFBFBD>990<39><30><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD>ɣ<EFBFBD>
|
|||
|
//<2F><><EFBFBD>ȳ<EFBFBD><C8B3><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>900;950<35>͵<EFBFBD><CDB5><EFBFBD><EFBFBD>̻<EFBFBD><CCBB>IJ<EFBFBD><C4B2>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;940<34>˹<EFBFBD><CBB9><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bool bResult = true;
|
|||
|
string sResult = string.Empty;
|
|||
|
DataView dvt = DbHelperSQL.Query("SELECT * FROM T_Manage_Task where F_ManageTaskKindIndex=" + mti + " and FID=" + fid + "").Tables[0].DefaultView;
|
|||
|
DataView dv_task = DbHelperSQL.Query("select * from t_WareHouse").Tables[0].DefaultView;
|
|||
|
|
|||
|
//if (dv_task[0]["F_TASK_TYPE"].ToString() == "In" && dvt[0]["FENDDEVICE"].ToString()!="12001")
|
|||
|
//{
|
|||
|
// TASK_TYPE = true;
|
|||
|
//}
|
|||
|
BOX_LABLE = dvt[0]["BOX_LABLE"].ToString();
|
|||
|
Task_NO = dvt[0]["fmanageid"].ToString();
|
|||
|
//flaneway<61><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
if (dvt[0]["flaneway"].ToString() != "-1")
|
|||
|
{
|
|||
|
#region <EFBFBD>̵<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
string IO_FLAG, LOC_NO;
|
|||
|
|
|||
|
{
|
|||
|
if (dvt[0]["FSTARTCELL"].ToString() == "-")
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
IO_FLAG = "02";
|
|||
|
LOC_NO = dvt[0]["FENDCELL"].ToString();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
IO_FLAG = "01";
|
|||
|
LOC_NO = dvt[0]["FSTARTCELL"].ToString();
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>agv<67><76><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
bResult = (new uploadStackIODet()).Notify(dvt[0]["fmanageid"].ToString(), IO_FLAG, LOC_NO, out sResult);
|
|||
|
if (!bResult)
|
|||
|
{
|
|||
|
throw new Exception("<22>ӿڵ<D3BF><DAB5><EFBFBD>ʧ<EFBFBD>ܡ<EFBFBD>" + DateTime.Now.ToString() + "\r\n<>ӿڣ<D3BF>uploadStackIODet<65><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>" + TaskIdx + "\r\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>" + sResult);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion <EFBFBD>̵<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD>µ<EFBFBD><C2B5>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD>ǩ
|
|||
|
if (dvt[0]["FENDDEVICE"].ToString() == CConfig.Device_Stacker.ToString())
|
|||
|
{
|
|||
|
if (dvt[0]["BOX_LABLE"].ToString().Contains("IS_RESTACK"))
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_PLC_Ask set F_BOX_LABLE='" + dvt[0]["BOX_LABLE"].ToString().Replace("IS_RESTACK|", "") + "' where (F_BindingDevice=" + DeviceIdx + ")");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_PLC_Ask set F_BOX_LABLE='" + dvt[0]["BOX_LABLE"].ToString() + "' where (F_BindingDevice=" + DeviceIdx + ")");
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ
|
|||
|
if (zxy != null && (zxy[3] == CConfig.Device_Rfid))
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update IO_RFID set BEGIN_TIME='" + DateTime.Now.ToString() + "',SOURCE_CELL_CODE='" + dvt[0]["FSTARTCELL"] + "',box_barcode='" + dvt[0]["FPALLETBARCODE"] + "' where (STATION_CODE='" + zxy[3] + "')");
|
|||
|
}
|
|||
|
if (!bResult)
|
|||
|
{
|
|||
|
bResult = (new uploadWhExceptionInfo()).Notify(DeviceIdx.ToString(), devinfo.DeviceName, sResult, DateTime.Now.ToString(), out sResult);
|
|||
|
if (!bResult)
|
|||
|
{
|
|||
|
throw new Exception("<22>ӿڵ<D3BF><DAB5><EFBFBD>ʧ<EFBFBD>ܡ<EFBFBD>" + DateTime.Now.ToString() + "\r\n<>ӿڣ<D3BF>uploadWhExceptionInfo<66><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>" + TaskIdx + "\r\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>" + sResult);
|
|||
|
}
|
|||
|
ErrorCountAdd(DeviceIdx);
|
|||
|
}
|
|||
|
else
|
|||
|
{//<2F><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>
|
|||
|
DbHelperSQL.ExecuteSql("update t_base_device set F_ErrorCount=0 where F_DeviceIndex=" + DeviceIdx);
|
|||
|
}
|
|||
|
}
|
|||
|
ReturnManageInfo(fid, mti, true);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ReturnManageInfo(fid, mti, false);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ȫ<E8B1B8><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_LockedState=0 where F_LockedState=" + TaskIdx);
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_CreateLock='0' where F_DeviceIndex=" + DeviceIdx);
|
|||
|
if (ClearZero != CGeneralFunction.TASKDELETE)//20100710ɾ<30><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
//<2F>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><DFBC><EFBFBD>20100710
|
|||
|
dvlane = DbHelperSQL.Query("SELECT F_LaneGateDeviceIndex FROM T_Base_Lane_Gate where F_LaneGateDeviceIndex=" + DeviceIdx).Tables[0].DefaultView;
|
|||
|
if (dvlane.Count > 0)
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_HaveGoods=0 where F_DeviceIndex=" + DeviceIdx + " and F_HaveGoods=1");
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//AGV<47>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><DFBC><EFBFBD>20100710
|
|||
|
dvlane = DbHelperSQL.Query("SELECT F_AGVGateDeviceIndex FROM T_Base_AGV_Gate where F_AGVGateDeviceIndex=" + DeviceIdx).Tables[0].DefaultView;
|
|||
|
if (dvlane.Count > 0)
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_HaveGoods=0 where F_DeviceIndex=" + DeviceIdx);
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD>
|
|||
|
DataView dvj = DbHelperSQL.Query("select F_LaneGateDeviceIndex from T_Base_Lane_Gate where F_LogicHave =" + TaskIdx).Tables[0].DefaultView;
|
|||
|
if (dvj.Count > 0)
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_HaveGoods=0 where F_DeviceIndex='" + dvj[0]["F_LaneGateDeviceIndex"] + "'");
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Lane_Gate set F_LogicHave = 0 where F_LogicHave =" + TaskIdx);// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#region <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AGV<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>20101011
|
|||
|
if (ClearZero != CGeneralFunction.TASKDELETE)//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
if ((devKind == 1) && ((order == 4) || (order == 5) || (order == 6)))//20101011 4ȡ5<C8A1><35>
|
|||
|
{
|
|||
|
bool sh = false;//20101011
|
|||
|
if (order == 5) sh = true;//20101011
|
|||
|
if (sh == true)//20101011
|
|||
|
{
|
|||
|
//20090918<31><38><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
////20100609<30><39>Ϊʹ<CEAA><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
dvlane = DbHelperSQL.Query("SELECT T_Base_Lane_Gate.F_LaneGateDeviceIndex from T_Base_Lane_Gate,T_Base_LaneInfo " +
|
|||
|
" where T_Base_Lane_Gate.F_LaneIndex = T_Base_LaneInfo.F_LaneDeviceIndex and T_Base_Lane_Gate.F_ZXY='" + zxystr + "' " +
|
|||
|
" and T_Base_LaneInfo.F_StackIndex=" + DeviceIdx).Tables[0].DefaultView;
|
|||
|
if (dvlane.Count > 0)
|
|||
|
{
|
|||
|
//dbo.ExceSQL("update T_Base_Device set F_HaveGoods=1 where F_DeviceIndex=" + dvlane[0]["F_LaneGateDeviceIndex"]);
|
|||
|
DataView dvv = DbHelperSQL.Query("select F_MonitorIndex from T_Monitor_Task where F_ManageTaskIndex =" + fid + "and F_MonitorIndex>" + TaskIdx + "order by F_MonitorIndex asc").Tables[0].DefaultView;//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>д<EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
if (dvv.Count > 0)
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Lane_Gate set F_LogicHave = '" + dvv[0]["F_MonitorIndex"] + "' where F_LaneGateDeviceIndex =" + dvlane[0]["F_LaneGateDeviceIndex"]);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else if ((devKind == 6) && (order == 2) && (AgvNextDeviceKind == 2))//AGV<47><56><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>Ż<EFBFBD>20100710
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_HaveGoods=1 where F_DeviceIndex=" + zxy[4]);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (ClearZero == 1)
|
|||
|
{
|
|||
|
sdo = CommModeCreate.CreateSendDeviceOrder(DeviceIdx);
|
|||
|
if ((devKind == 34) || (devKind == 2) || (devKind == 32) || (devKind == 33))
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>RGV<47><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (zxy != null && (DeviceIdx == CConfig.Device_Stacker))
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ
|
|||
|
DataView dv_plc_ask = DbHelperSQL.Query("select * from t_base_plc_ask where f_bindingdevice=" + DeviceIdx).Tables[0].DefaultView;
|
|||
|
//<2F><><EFBFBD>˵<EFBFBD><CBB5>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DataView dv_manage_other = DbHelperSQL.Query("select * from t_manage_task where FENDDEVICE=" + DeviceIdx).Tables[0].DefaultView;
|
|||
|
LogUtil.WriteLog("", "TaskIdx:" + TaskIdx + ";GetState_<65><5F><EFBFBD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD>:" + dv_plc_ask[0]["F_BarCode"].ToString() + ";<3B><><EFBFBD>̻<EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD>ǩ:" + dv_plc_ask[0]["F_BOX_LABLE"].ToString());
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>̻<EFBFBD><CCBB>л<EFBFBD><D0BB>棨ʵ<E6A3A8><CAB5><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>ǰ<EFBFBD>䲢δ<E4B2A2>ģ<DEB8> <20><> ʣ<><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>һ<EFBFBD><D2BB> dv_plc_ask[0]["F_BarCode"].ToString() != ""
|
|||
|
//ֻҪ<D6BB><D2AA><EFBFBD><EFBFBD>IS_RESTACK <20>ض<EFBFBD><D8B6><EFBFBD><EFBFBD>뻺<EFBFBD><EBBBBA>һ<EFBFBD><D2BB>
|
|||
|
if (dv_manage_other.Count > 0 && (1 == 1 && dv_manage_other[0]["BOX_LABLE"].ToString() != dv_plc_ask[0]["F_BOX_LABLE"].ToString()))
|
|||
|
{
|
|||
|
//<2F><>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><D2A3><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ǩ<EFBFBD><C7A9>ͬ
|
|||
|
//sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0);
|
|||
|
//Thread.Sleep(100);
|
|||
|
sdo.SendDeviceOrder(3, 0, 0, DeviceIdx, 0);
|
|||
|
LogUtil.WriteLog("", "TaskIdx:" + TaskIdx + ";<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5>̷<EFBFBD><CCB7><EFBFBD>;<3B><><EFBFBD><EFBFBD>:" + new MonitorTaskService().GetBarCodeFromMonitor(TaskIdx) + ";<3B><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ: " + dv_manage_other[0]["BOX_LABLE"].ToString());
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0);
|
|||
|
LogUtil.WriteLog("", "TaskIdx:" + TaskIdx + ";<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD>Ӧ<EFBFBD><D3A6>;<3B><><EFBFBD><EFBFBD>:" + new MonitorTaskService().GetBarCodeFromMonitor(TaskIdx));
|
|||
|
//}
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0);
|
|||
|
}
|
|||
|
}
|
|||
|
else if (devKind == 1) //<2F>Ѷ<EFBFBD><D1B6><EFBFBD>
|
|||
|
{
|
|||
|
sdo.SendDeviceOrder(2, 0, 0, DeviceIdx, 0, 0, 0, 0, 0, 0);
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
// ÿ<>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>µ<EFBFBD><C2B5>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
if (zxy != null && zxy[3] == 12003)
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_PLC_Ask set F_BarCode=F_BarCode +'" + ccf.GetBarCodeFromMonitor(TaskIdx) + "|' where (F_BindingDevice=" + DeviceIdx + ")");
|
|||
|
}
|
|||
|
|
|||
|
DbHelperSQL.ExecuteSql("delete from T_Monitor_Task where F_MonitorIndex=" + TaskIdx);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
//dbo.TransRollback();
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
ErrorCountAdd(DeviceIdx);
|
|||
|
LogUtil.WriteLog("", "Error:" + ex.Message + "-" + ex.Source);
|
|||
|
//throw ex;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
dvman = null;
|
|||
|
dv = null;
|
|||
|
dvlane = null;
|
|||
|
}
|
|||
|
}
|
|||
|
private void ErrorCountAdd(int DeviceIndex)
|
|||
|
{
|
|||
|
int ErrorCount = 0;
|
|||
|
DataView dv = DbHelperSQL.Query("select F_ErrorCount from t_base_device where F_DeviceIndex=" + DeviceIndex).Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
if (dv[0][0] == DBNull.Value)
|
|||
|
{
|
|||
|
ErrorCount = 1;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ErrorCount = ((int)dv[0][0]) + 1;
|
|||
|
}
|
|||
|
}
|
|||
|
DbHelperSQL.ExecuteSql("update t_base_device set F_ErrorCount=" + ErrorCount + " where F_DeviceIndex=" + DeviceIndex);
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>д<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>״̬<D7B4>֣<EFBFBD>IO_Control,T_Manage_Task,T_Monitor_task<73><6B>
|
|||
|
/// </summary>
|
|||
|
/// <param name="DeviceIdx"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="TaskIdx"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="ErrId"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
public void ActionError(int DeviceIdx, int TaskIdx, int ErrId)
|
|||
|
{
|
|||
|
DataView dvmon;
|
|||
|
DataTable dt;
|
|||
|
DataView dv0;
|
|||
|
try
|
|||
|
{
|
|||
|
//090915
|
|||
|
string monsql = "SELECT F_MonitorIndex FROM T_Monitor_Task where F_Status =1 and F_DeviceIndex =" + DeviceIdx;
|
|||
|
//20100108
|
|||
|
dvmon = DbHelperSQL.Query(monsql).Tables[0].DefaultView;
|
|||
|
if ((dvmon.Count > 0) && (TaskIdx == 0))
|
|||
|
{
|
|||
|
TaskIdx = Convert.ToInt32(dvmon[0]["F_MonitorIndex"]);
|
|||
|
}
|
|||
|
//090915
|
|||
|
//<2F>й<EFBFBD><D0B9><EFBFBD>¼<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
string devstr = "SELECT F_DeviceIndex FROM T_Base_Device where F_DeviceIndex=" + DeviceIdx + " and F_ErrorTaskNo=" + TaskIdx + "";
|
|||
|
//20100108
|
|||
|
dt = DbHelperSQL.Query(devstr).Tables[0];
|
|||
|
if (dt.Rows.Count >= 1)
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_Status= " + ErrId + " where (F_MonitorIndex= " + TaskIdx + ") and ((F_Status<> " + ErrId + ") and (F_Status<> 3))");
|
|||
|
return;
|
|||
|
}
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(DeviceIdx);
|
|||
|
int devKind = BaseDeviceService.GetDeviceKindIdx(DeviceIdx);
|
|||
|
|
|||
|
if (GetManage_Kind(TaskIdx) == false) return;
|
|||
|
int fid = _fid;
|
|||
|
int mti = _mti;
|
|||
|
//string fwarehouse = "";
|
|||
|
//string fcode = "";
|
|||
|
//int flane = 0;
|
|||
|
errs = BaseDeviceService.GetErrorInfo(Convert.ToInt32(devKind.ToString() + ErrId.ToString()));
|
|||
|
|
|||
|
if (errs.ErrorIndex > 0)
|
|||
|
{
|
|||
|
FrmMain.FormInstance.notifyIcon1.BalloonTipText = "<22><><EFBFBD><EFBFBD>:" + devinfo.DeviceName + "," + DeviceIdx + "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>" + errs.ErrorName;
|
|||
|
FrmMain.FormInstance.notifyIcon1.ShowBalloonTip(10000, "<22><><EFBFBD><EFBFBD>", devinfo.DeviceName + "," + DeviceIdx + "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>" + errs.ErrorName, System.Windows.Forms.ToolTipIcon.Warning);
|
|||
|
if (mti == 1)
|
|||
|
{
|
|||
|
string sResult;
|
|||
|
RGD.MdsAPI.WMS.uploadWhExceptionInfo ss = new RGD.MdsAPI.WMS.uploadWhExceptionInfo();
|
|||
|
ss.Notify(DeviceIdx.ToString(), devinfo.DeviceName, errs.ErrorName, DateTime.Now.ToString(), out sResult);
|
|||
|
}
|
|||
|
//20100108
|
|||
|
dv0 = DbHelperSQL.Query("SELECT F_DeviceIndex, F_ErrorIndex FROM T_Base_Device_Error_Log Where F_ManageTaskNo=" + fid + " and F_DeviceIndex=" + DeviceIdx + " and F_ErrorIndex=" + errs.ErrorIndex).Tables[0].DefaultView;
|
|||
|
string dtime = DateTime.Now.ToString("u");//20110603
|
|||
|
|
|||
|
dtime = dtime.Substring(0, dtime.Length - 1);
|
|||
|
if (dv0.Count > 0)
|
|||
|
{//20091107
|
|||
|
DbHelperSQL.ExecuteSql("UPDATE T_Base_Device_Error_Log SET F_DateTime ='" + dtime + "' Where F_DeviceIndex=" + DeviceIdx + " and F_ErrorIndex=" + errs.ErrorIndex + " and F_ManageTaskNo=" + fid);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
DbHelperSQL.ExecuteSql("INSERT INTO T_Base_Device_Error_Log (F_ManageTaskNo,F_DeviceIndex, F_ErrorIndex, F_DateTime) VALUES (" + fid + "," + DeviceIdx + "," + errs.ErrorIndex + ",'" + dtime + "')");
|
|||
|
}
|
|||
|
}
|
|||
|
//20090915
|
|||
|
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_Status= " + ErrId + " where F_MonitorIndex= " + TaskIdx + " and (F_Status<> 3)");
|
|||
|
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_ErrorTaskNo= " + TaskIdx + " where F_DeviceIndex= " + DeviceIdx);
|
|||
|
DbHelperSQL.ExecuteSql("update T_Manage_Task set FERRORCODE='" + devinfo.DeviceName + "," + DeviceIdx + errs.ErrorName + "' where F_ManageTaskKindIndex=" + mti + " and FID=" + fid);
|
|||
|
|
|||
|
if (devinfo.UseCommonDB == "1")
|
|||
|
{
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
//dbo.TransRollback();
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
}
|
|||
|
finally
|
|||
|
{//20100108
|
|||
|
dvmon = null;
|
|||
|
dt = null;
|
|||
|
dv0 = null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public bool GetManage_Kind(int taskidx)
|
|||
|
{//20100108
|
|||
|
DataSet ds;
|
|||
|
try
|
|||
|
{
|
|||
|
//CCommonFunction ccf=new CCommonFunction();
|
|||
|
ds = DbHelperSQL.Query("SELECT F_ManageTaskIndex, T_Monitor_Task.F_ManageTaskKindIndex, F_MonitorIndex,FSTARTCELL,FMANAGEID FROM T_Monitor_Task,T_Manage_Task Where F_ManageTaskIndex=FID and F_MonitorIndex=" + taskidx);
|
|||
|
if (ds.Tables[0].DefaultView.Count > 0)
|
|||
|
{
|
|||
|
_fid = Convert.ToInt32(ds.Tables[0].DefaultView[0]["F_ManageTaskIndex"]);
|
|||
|
_mti = Convert.ToInt32(ds.Tables[0].DefaultView[0]["F_ManageTaskKindIndex"]);
|
|||
|
_start_cell = ds.Tables[0].DefaultView[0]["FSTARTCELL"].ToString();
|
|||
|
_fmanageid = ds.Tables[0].DefaultView[0]["FMANAGEID"].ToString();
|
|||
|
return true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw ex;
|
|||
|
}
|
|||
|
finally
|
|||
|
{//20100108
|
|||
|
ds = null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//ˢ<>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
public void RefreshControlMonitor(int devidx)
|
|||
|
{//_States[5] == DeviceIdx
|
|||
|
try
|
|||
|
{
|
|||
|
if (CStaticClass.RealRefresh == true)
|
|||
|
{
|
|||
|
//<2F><>ʾ<EFBFBD>豸ָ<E8B1B8><D6B8>
|
|||
|
DataSet ds = DbHelperSQL.Query("select * from V_Monitor_Task where " + CStaticClass.Monstatus);
|
|||
|
FrmControlMonitor.FormInstance.MonitorRefresh(ds.Tables[0].DefaultView);
|
|||
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
FrmControlMonitor.FormInstance.ManagerRefresh(
|
|||
|
DbHelperSQL.Query("select * from V_Manage_Task where " + CStaticClass.Manstatus).Tables[0].DefaultView);
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw ex;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD>ӻ<EFBFBD>λ<EFBFBD><CEBB>¼
|
|||
|
/// </summary>
|
|||
|
/// <param name="fid"></param>
|
|||
|
/// <param name="mti"></param>
|
|||
|
/// <param name="IFOK"></param>
|
|||
|
public void ReturnManageInfo(int fid, int mti, bool IFOK)
|
|||
|
{
|
|||
|
string dtime = DateTime.Now.ToString("u");//20101028
|
|||
|
dtime = dtime.Substring(0, dtime.Length - 1);//20101028
|
|||
|
char[] cc = new char[1] { '-' };
|
|||
|
string[] fcc;
|
|||
|
DataView dv;
|
|||
|
try
|
|||
|
{
|
|||
|
//200906240111<31><31><EFBFBD>ӻ<EFBFBD>λ<EFBFBD><CEBB>¼:<3A><><EFBFBD><EFBFBD>1-<2D><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2-<2D><>ʼλ<CABC><CEBB><EFBFBD><EFBFBD><DEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3-<2D><>ʼλ<CABC><CEBB><EFBFBD><EFBFBD><DEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>л<EFBFBD>
|
|||
|
//20100108
|
|||
|
dv = DbHelperSQL.Query("SELECT * FROM T_Manage_Task where F_ManageTaskKindIndex=" + mti + " and FID=" + fid + "").Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
if (IFOK == true)
|
|||
|
{
|
|||
|
switch (dv[0]["FCONTROLTASKTYPE"].ToString())
|
|||
|
{
|
|||
|
case "1":
|
|||
|
if (dv[0]["FENDCELL"].ToString().IndexOf("-") > 0)//20100905
|
|||
|
{
|
|||
|
fcc = dv[0]["FENDCELL"].ToString().Split(cc);
|
|||
|
DbHelperSQL.ExecuteSql("UPDATE ST_CELL SET FRUNSTATUS=0,FCELLSTATUS = 1,FPALLETBARCODE='" + dv[0]["FPALLETBARCODE"] + "' WHERE (FLaneWay=" + dv[0]["FENDDEVICE"] + " and F_Z='" +
|
|||
|
fcc[0] + "' and F_X='" + fcc[1] + "' and F_Y='" + fcc[2] + "')");
|
|||
|
}
|
|||
|
break;
|
|||
|
|
|||
|
case "2":
|
|||
|
{
|
|||
|
if (dv[0]["FSTARTCELL"].ToString().IndexOf("-") > 0)//20100905
|
|||
|
{
|
|||
|
fcc = dv[0]["FSTARTCELL"].ToString().Split(cc);
|
|||
|
DbHelperSQL.ExecuteSql("UPDATE ST_CELL SET FRUNSTATUS=0,FCELLSTATUS =0,FPALLETBARCODE='-' WHERE (FLaneWay=" + dv[0]["FSTARTDEVICE"] + " and F_Z=" +
|
|||
|
fcc[0] + " and F_X=" + fcc[1] + " and F_Y=" + fcc[2] + ")");
|
|||
|
}
|
|||
|
}
|
|||
|
break;
|
|||
|
|
|||
|
case "3":
|
|||
|
if (dv[0]["FENDCELL"].ToString().IndexOf("-") > 0)//20100905
|
|||
|
{
|
|||
|
fcc = dv[0]["FENDCELL"].ToString().Split(cc);//FRUNSTATUS=0,
|
|||
|
DbHelperSQL.ExecuteSql("UPDATE ST_CELL SET FCELLSTATUS = 1,FPALLETBARCODE='" + dv[0]["FPALLETBARCODE"] + "' WHERE (FLaneWay=" + dv[0]["FENDDEVICE"] + " and F_Z=" +
|
|||
|
fcc[0] + " and F_X=" + fcc[1] + " and F_Y=" + fcc[2] + ")");
|
|||
|
DbHelperSQL.ExecuteSql("UPDATE ST_CELL SET FBIAOZHI =1 WHERE (FLaneWay=" + dv[0]["FENDDEVICE"] + " and F_Z=" +
|
|||
|
fcc[0] + " and F_X=" + fcc[1] + " and F_Y=" + fcc[2] + ")");
|
|||
|
}
|
|||
|
if (dv[0]["FSTARTCELL"].ToString().IndexOf("-") > 0)//20100905
|
|||
|
{
|
|||
|
fcc = dv[0]["FSTARTCELL"].ToString().Split(cc);//FRUNSTATUS=0,
|
|||
|
DbHelperSQL.ExecuteSql("UPDATE ST_CELL SET FCELLSTATUS =0,FPALLETBARCODE='-' WHERE (FLaneWay=" + dv[0]["FSTARTDEVICE"] + " and F_Z=" +
|
|||
|
fcc[0] + " and F_X=" + fcc[1] + " and F_Y=" + fcc[2] + ")");
|
|||
|
}
|
|||
|
|
|||
|
break;
|
|||
|
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
//20101028
|
|||
|
DbHelperSQL.ExecuteSql("update T_Manage_Task set FSTATUS=999,FENDTIME='" + dtime + "' where FID=" + fid + " and F_ManageTaskKindIndex= " + mti);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
switch (dv[0]["FCONTROLTASKTYPE"].ToString())
|
|||
|
{
|
|||
|
case "1":
|
|||
|
if (dv[0]["FENDCELL"].ToString().IndexOf("-") > 0)//20100905
|
|||
|
{
|
|||
|
fcc = dv[0]["FENDCELL"].ToString().Split(cc);
|
|||
|
DbHelperSQL.ExecuteSql("UPDATE ST_CELL SET FRUNSTATUS=0,FPALLETBARCODE='' WHERE (FLaneWay=" + dv[0]["FENDDEVICE"] + " and F_Z='" +
|
|||
|
fcc[0] + "' and F_X='" + fcc[1] + "' and F_Y='" + fcc[2] + "')");
|
|||
|
}
|
|||
|
break;
|
|||
|
|
|||
|
case "2":
|
|||
|
if (dv[0]["FSTARTCELL"].ToString().IndexOf("-") > 0)//20100905
|
|||
|
{
|
|||
|
fcc = dv[0]["FSTARTCELL"].ToString().Split(cc);
|
|||
|
DbHelperSQL.ExecuteSql("UPDATE ST_CELL SET FRUNSTATUS=0,FPALLETBARCODE='" + dv[0]["FPALLETBARCODE"] + "' WHERE (FLaneWay=" + dv[0]["FSTARTDEVICE"] + " and F_Z=" +
|
|||
|
fcc[0] + " and F_X=" + fcc[1] + " and F_Y=" + fcc[2] + ")");
|
|||
|
}
|
|||
|
break;
|
|||
|
|
|||
|
case "3":
|
|||
|
if (dv[0]["FENDCELL"].ToString().IndexOf("-") > 0)//20100905
|
|||
|
{
|
|||
|
fcc = dv[0]["FENDCELL"].ToString().Split(cc);
|
|||
|
DbHelperSQL.ExecuteSql("UPDATE ST_CELL SET FRUNSTATUS=0,FPALLETBARCODE='' WHERE (FLaneWay=" + dv[0]["FENDDEVICE"] + " and F_Z=" +
|
|||
|
fcc[0] + " and F_X=" + fcc[1] + " and F_Y=" + fcc[2] + ")");
|
|||
|
}
|
|||
|
if (dv[0]["FSTARTCELL"].ToString().IndexOf("-") > 0)//20100905
|
|||
|
{
|
|||
|
fcc = dv[0]["FSTARTCELL"].ToString().Split(cc);
|
|||
|
DbHelperSQL.ExecuteSql("UPDATE ST_CELL SET FRUNSTATUS=0,FPALLETBARCODE='" + dv[0]["FPALLETBARCODE"] + "' WHERE (FLaneWay=" + dv[0]["FSTARTDEVICE"] + " and F_Z=" +
|
|||
|
fcc[0] + " and F_X=" + fcc[1] + " and F_Y=" + fcc[2] + ")");
|
|||
|
}
|
|||
|
|
|||
|
break;
|
|||
|
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
//20101028
|
|||
|
DbHelperSQL.ExecuteSql("update T_Manage_Task set FSTATUS=900,FENDTIME='" + dtime + "' where FID=" + fid + " and F_ManageTaskKindIndex= " + mti);
|
|||
|
}
|
|||
|
}
|
|||
|
DbHelperSQL.ExecuteSql("delete from T_Manage_Task where FID=" + fid + " and F_ManageTaskKindIndex= " + mti);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw ex;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
dv = null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ʵ<EFBFBD>յ<EFBFBD><D5B5><EFBFBD>λ<EFBFBD><CEBB>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>ָ<EFBFBD><D6B8>
|
|||
|
/// </summary>
|
|||
|
/// <param name="mti"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="fid"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="device"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="monitorindex"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
private void AppendMoveCellOperate(int mti, int fid, int device, int monitorindex)
|
|||
|
{
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>꣬<EFBFBD><EAA3AC>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>룬<EFBFBD><EBA3AC><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>棬<EFBFBD><E6A3AC>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
string manzxy = DbHelperSQL.GetSingle("SELECT FENDCELL FROM T_Manage_Task WHERE (FID = " + fid + ") AND (F_ManageTaskKindIndex = " + mti + ")").ToString();
|
|||
|
char[] cc = new char[1] { '-' };
|
|||
|
string[] spcell = manzxy.Split(cc);
|
|||
|
string newuseawayfork;
|
|||
|
DataView dv = DbHelperSQL.Query("select F_NumParam4, F_NumParam5,F_NumParam6, F_RouteID,F_MonitorTaskLevel, F_UseAwayFork, F_TxtParam from T_Monitor_Task where F_MonitorIndex=" + monitorindex).Tables[0].DefaultView;
|
|||
|
if (dv[0]["F_UseAwayFork"].ToString() == "1")
|
|||
|
{
|
|||
|
newuseawayfork = "0";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newuseawayfork = "1";
|
|||
|
}
|
|||
|
DbHelperSQL.ExecuteSql("update T_Manage_Task set FExceptionNO=NULL,FUseAwayFork='" + newuseawayfork + "' where F_ManageTaskKindIndex=" + mti + " and FID=" + fid);
|
|||
|
|
|||
|
int lev = int.Parse(dv[0]["F_MonitorTaskLevel"].ToString());
|
|||
|
int routeid = int.Parse(dv[0]["F_RouteID"].ToString());
|
|||
|
int fnp1 = int.Parse(dv[0]["F_NumParam4"].ToString());
|
|||
|
int fnp2 = int.Parse(dv[0]["F_NumParam5"].ToString());
|
|||
|
int fnp3 = int.Parse(dv[0]["F_NumParam6"].ToString());
|
|||
|
string pcode = dv[0]["F_TxtParam"].ToString();
|
|||
|
//string aheaddetect=;
|
|||
|
int mindex = ccf.GetMonitorIndex(fid, mti);
|
|||
|
DbHelperSQL.ExecuteSql("INSERT INTO T_Monitor_Task (F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex, F_MonitorTaskLevel," +
|
|||
|
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2, F_NumParam3, F_NumParam4, F_NumParam5," +
|
|||
|
" F_NumParam6, F_TxtParam, F_AheadDetect, F_UseAwayFork)VALUES " +
|
|||
|
"(" + fid + "," + mti + "," + mindex + "," + lev + "," + device + ",4," + routeid + ",0," + fnp1 + "," + fnp2 + "," + fnp3 + "," +
|
|||
|
spcell[0] + "," + spcell[1] + "," + spcell[2] + ",'" + pcode + "',NULL,'" + newuseawayfork + "')");
|
|||
|
mindex = ccf.GetMonitorIndex(fid, mti);
|
|||
|
DbHelperSQL.ExecuteSql("INSERT INTO T_Monitor_Task (F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex, F_MonitorTaskLevel," +
|
|||
|
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2, F_NumParam3, F_NumParam4, F_NumParam5," +
|
|||
|
" F_NumParam6, F_TxtParam, F_AheadDetect, F_UseAwayFork)VALUES " +
|
|||
|
"(" + fid + "," + mti + "," + mindex + "," + lev + "," + device + ",5," + routeid + ",0," + fnp1 + "," + fnp2 + "," + fnp3 + "," +
|
|||
|
spcell[0] + "," + spcell[1] + "," + spcell[2] + ",'" + pcode + "',NULL,'" + newuseawayfork + "')");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|