@ -788,7 +788,7 @@ namespace WcfControlMonitorLib
ob = new object [ 7 ] { apptype , dcode , barcode , 0 , dtime , "" , ccf . GetWarehouseIndex ( ) } ;
try
{
// dboMan.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_REMARK,WAREHOUSE_CODE)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}')", ob));
// dboMan.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_REMARK,WAREHOUSE_CODE)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}')", ob));
}
//20101124
@ -2586,40 +2586,40 @@ namespace WcfControlMonitorLib
#region 获得货位信息
else
if ( CellCode ! = "" )
{
cell = CellCode . Split ( cc ) ;
if ( cell . Length = = 3 )
{
cell = CellCode . Split ( cc ) ;
if ( cell . Length = = 3 )
{
#region 获得物料条码信息,连接管理系统数据库
#region 获得物料条码信息,连接管理系统数据库
//根据托盘条码查询物料信息
sqlstr = string . Format ( "SELECT STOCK_BARCODE,GOODS_PROPERTY1,GOODS_PROPERTY2,GOODS_PROPERTY3,GOODS_PROPERTY4,GOODS_CLASS_NAME From V_STORAGE_LIST where CELL_CODE = '{0:D2}-{1:D2}-{2:D2}'" , cell [ 0 ] , cell [ 1 ] , cell [ 2 ] ) ;
dvclient = dboMan . ExceSQL ( sqlstr ) . Tables [ 0 ] . DefaultView ;
if ( dvclient . Count > 0 )
{
PalletBarCode = dvclient [ 0 ] [ "STOCK_BARCODE" ] . ToString ( ) ; //托盘条码
GoodsType = dvclient [ 0 ] [ "GOODS_CLASS_NAME" ] . ToString ( ) ; //物料类型
GoodsBarCode = string . Format ( "{0}|{1}|{2}|{3}" ,
dvclient [ 0 ] [ "GOODS_PROPERTY1" ] . ToString ( ) . Trim ( ) ,
dvclient [ 0 ] [ "GOODS_PROPERTY2" ] . ToString ( ) . Trim ( ) ,
dvclient [ 0 ] [ "GOODS_PROPERTY3" ] . ToString ( ) . Trim ( ) ,
dvclient [ 0 ] [ "GOODS_PROPERTY4" ] . ToString ( ) . Trim ( ) ) ;
//根据托盘条码查询物料信息
sqlstr = string . Format ( "SELECT STOCK_BARCODE,GOODS_PROPERTY1,GOODS_PROPERTY2,GOODS_PROPERTY3,GOODS_PROPERTY4,GOODS_CLASS_NAME From V_STORAGE_LIST where CELL_CODE = '{0:D2}-{1:D2}-{2:D2}'" , cell [ 0 ] , cell [ 1 ] , cell [ 2 ] ) ;
dvclient = dboMan . ExceSQL ( sqlstr ) . Tables [ 0 ] . DefaultView ;
if ( dvclient . Count > 0 )
{
PalletBarCode = dvclient [ 0 ] [ "STOCK_BARCODE" ] . ToString ( ) ; //托盘条码
GoodsType = dvclient [ 0 ] [ "GOODS_CLASS_NAME" ] . ToString ( ) ; //物料类型
GoodsBarCode = string . Format ( "{0}|{1}|{2}|{3}" ,
dvclient [ 0 ] [ "GOODS_PROPERTY1" ] . ToString ( ) . Trim ( ) ,
dvclient [ 0 ] [ "GOODS_PROPERTY2" ] . ToString ( ) . Trim ( ) ,
dvclient [ 0 ] [ "GOODS_PROPERTY3" ] . ToString ( ) . Trim ( ) ,
dvclient [ 0 ] [ "GOODS_PROPERTY4" ] . ToString ( ) . Trim ( ) ) ;
}
}
#endregion
}
_ tempSB
. Append ( CellCode . Trim ( ) ) . Append ( "," ) //货位
. Append ( PalletBarCode . Trim ( ) ) . Append ( "," ) //托盘条码
. Append ( GoodsType . Trim ( ) ) . Append ( "," ) //物料类型
. Append ( GoodsBarCode . Trim ( ) ) ; //物料条码
//.Append(";");
#endregion
}
_ tempSB
. Append ( CellCode . Trim ( ) ) . Append ( "," ) //货位
. Append ( PalletBarCode . Trim ( ) ) . Append ( "," ) //托盘条码
. Append ( GoodsType . Trim ( ) ) . Append ( "," ) //物料类型
. Append ( GoodsBarCode . Trim ( ) ) ; //物料条码
//.Append(";");
}
#endregion
@ -2742,7 +2742,7 @@ namespace WcfControlMonitorLib
CStaticClass . ObtainManageTask = true ;
CCallService . StartListen ( ) ; //民航二所 打开开关后启用线程调用管理系统的webapi接口
// CObtainTask.StartListen();
// CObtainTask.StartListen();
return true ;
}
catch
@ -2811,9 +2811,9 @@ namespace WcfControlMonitorLib
CStaticClass . ReConnect ( ) ;
SocketsTCPIP . CClientTCPIP . InitAllClientTCPIP ( ) ;
CParsePLCData . StartListen ( ) ;
// CCallService.StartListenPLC();//山东时代
// CDisassembleTask.StartListen();
// CDisassembleTask.StartListen();
// CCallService.StartListenPLC();//山东时代
// CDisassembleTask.StartListen();
// CDisassembleTask.StartListen();
CUpdateIoControl . StartListen ( ) ; // NewWrieDarkCasket 位置1
OPCClient . CCommonOPCClient . CreateSubscriptionGroup ( ) ;
@ -2855,7 +2855,7 @@ namespace WcfControlMonitorLib
//SocketsTCPIP.CClientTCPIP.EndConnect();
CParsePLCData . EndListen ( ) ;
CUpdateIoControl . EndListen ( ) ; // NewWrieDarkCasket 位置2'
// CCallService.EndListenPLC();//山东时代
// CCallService.EndListenPLC();//山东时代
return true ;
}
catch
@ -3520,12 +3520,12 @@ namespace WcfControlMonitorLib
}
}
string FLOGIC_AREA = string . Empty ; //逻辑区域
if ( _ tasktype = = "2" ) //出库任务
if ( _ tasktype = = "2" ) //出库任务
{
FLOGIC_AREA = FENDDEVICE . ToString ( ) ;
iStartLayer = Convert . ToInt16 ( FSTARTCELL . Split ( '-' ) [ 2 ] ) ;
}
if ( _ tasktype = = "3" ) //移库任务
if ( _ tasktype = = "3" ) //移库任务
{
FLOGIC_AREA = FENDDEVICE . ToString ( ) ;
iStartLayer = Convert . ToInt16 ( FSTARTCELL . Split ( '-' ) [ 2 ] ) ;
@ -3913,11 +3913,11 @@ namespace WcfControlMonitorLib
var client = ( IClient ) OperationContext . Current . Channel ;
if ( ClientCallbackLists [ client ] = = null )
{
userDescription = "" ;
userDescription = "" ;
}
else
{
userDescription = ClientCallbackLists [ client ] . ToString ( ) ;
userDescription = ClientCallbackLists [ client ] . ToString ( ) ;
}
//string userID = ClientShowLists[client].ToString();
@ -4934,8 +4934,8 @@ namespace WcfControlMonitorLib
CUpdateIoControl . EndListen ( ) ; //民航二所
CCallService . EndListen ( ) ; //民航二所 结束调用管理系统接口
// CCallService.EndListenPLC();//山东时代
//Application.Exit();
// CCallService.EndListenPLC();//山东时代
//Application.Exit();
return true ;
}
catch ( Exception ex )
@ -5310,7 +5310,7 @@ namespace WcfControlMonitorLib
devicebegin = Convert . ToInt32 ( dv [ 0 ] [ "F_DeviceIndex" ] ) ;
DBW2Addressbegin = Convert . ToInt32 ( dv [ 0 ] [ "F_DBW2Address" ] ) ;
SplitBytebegin = Convert . ToInt32 ( dv [ 0 ] [ "F_SplitByte" ] ) ;
SplitBytebegin = Convert . ToInt32 ( dv [ 0 ] [ "F_SplitByte" ] ) ;
S7Connection = dv [ 0 ] [ "F_S7Connection" ] . ToString ( ) ;
sql . Clear ( ) ;
@ -5419,7 +5419,7 @@ namespace WcfControlMonitorLib
int xc = 0 ; int yc = 0 ;
int xc = 0 ; int yc = 0 ;
int devkind = ccf . GetDeviceKindIdx ( devidx ) ;
if ( devkind = = 3 1 )
{ //解析南京14所得高端自动化的是否有物信号,高位低位信号(I/O信号字节填写在状态字节的后面)
@ -5651,12 +5651,12 @@ namespace WcfControlMonitorLib
task23 . Append ( ",3叉任务号:" ) . Append ( taskindex3 ) . Append ( ",3叉条码:" ) . Append ( GetBarcodeFromMonitorIndex ( taskindex3 ) ) ;
}
#region AGV取放货的输送线状态实时跟新 PLC断开连接后,该值不会变更,可能存在BUG,需要加以限制 有货可取货
if ( devinfo . DeviceIndex > = 3 0 0 0 2 & & devinfo . DeviceIndex < = 3 0 0 0 5 )
if ( devinfo . DeviceIndex > = 3 0 0 0 2 & & devinfo . DeviceIndex < = 3 0 0 0 5 )
{
sql . Remove ( 0 , sql . Length ) ;
sql . Append ( "select * from T_AGVIOStation where F_PLCOtherDevice=" ) . Append ( devinfo . DeviceIndex ) ;
DataView data = dbo . ExceSQL ( sql . ToString ( ) ) . Tables [ 0 ] . DefaultView ;
DataView data = dbo . ExceSQL ( sql . ToString ( ) ) . Tables [ 0 ] . DefaultView ;
int status = 0 ;
if ( data [ 0 ] [ "F_AGVStatus" ] . ToString ( ) = = "6" )
{
@ -5694,28 +5694,28 @@ namespace WcfControlMonitorLib
string aa ;
int mankind = 0 , tindex = 0 ;
long relFID = 0 , fid1 = 0 , fid2 = 0 , fid3 = 0 ;
long relFID = 0 , fid1 = 0 , fid2 = 0 , fid3 = 0 ;
if ( taskindex3 > 0 )
{
mankind = GetManageTaskKindFromMonitor ( out aa , taskindex3 ) ;
relFID = GetManageTaskIndexFromMonitor ( out aa , taskindex3 ) ;
mankind = GetManageTaskKindFromMonitor ( out aa , taskindex3 ) ;
relFID = GetManageTaskIndexFromMonitor ( out aa , taskindex3 ) ;
tindex = taskindex3 ;
}
if ( taskindex2 > 0 )
{
mankind = GetManageTaskKindFromMonitor ( out aa , taskindex2 ) ;
relFID = GetManageTaskIndexFromMonitor ( out aa , taskindex2 ) ;
mankind = GetManageTaskKindFromMonitor ( out aa , taskindex2 ) ;
relFID = GetManageTaskIndexFromMonitor ( out aa , taskindex2 ) ;
tindex = taskindex2 ;
}
if ( taskindex > 0 )
{
mankind = GetManageTaskKindFromMonitor ( out aa , taskindex ) ;
relFID = GetManageTaskIndexFromMonitor ( out aa , taskindex ) ;
mankind = GetManageTaskKindFromMonitor ( out aa , taskindex ) ;
relFID = GetManageTaskIndexFromMonitor ( out aa , taskindex ) ;
tindex = taskindex ;
}
fid1 = GetManageTaskIndexFromMonitor ( out aa , taskindex ) ;
fid2 = GetManageTaskIndexFromMonitor ( out aa , taskindex2 ) ;
fid3 = GetManageTaskIndexFromMonitor ( out aa , taskindex3 ) ;
fid1 = GetManageTaskIndexFromMonitor ( out aa , taskindex ) ;
fid2 = GetManageTaskIndexFromMonitor ( out aa , taskindex2 ) ;
fid3 = GetManageTaskIndexFromMonitor ( out aa , taskindex3 ) ;
//关联分配三叉
sql . Remove ( 0 , sql . Length ) ;
sql . Append ( "update T_Manage_Task set FUseAwayFork=1,F_RELATIVECONTORLID=" ) . Append ( relFID ) . Append ( " where F_ManageTaskKindIndex=" ) . Append ( mankind ) . Append ( " and FID=" ) . Append ( fid1 ) ;
@ -5846,7 +5846,7 @@ namespace WcfControlMonitorLib
}
int size = devicestates [ tempdb2addr + 1 ] ; //异常信息// 高度值 1:矮货 2:高货
devinfo . RunState = size ;
// int Weight = devicestates[tempdb2addr + 5] + (devicestates[tempdb2addr + 4] << 8) + (devicestates[tempdb2addr + 3] << 16) + (devicestates[tempdb2addr + 2] << 32); ;//称重重量:1轻,2重 3 超重
// int Weight = devicestates[tempdb2addr + 5] + (devicestates[tempdb2addr + 4] << 8) + (devicestates[tempdb2addr + 3] << 16) + (devicestates[tempdb2addr + 2] << 32); ;//称重重量:1轻,2重 3 超重
int BarcodeTotalLength = BarcodeReservedLength * BoxQuality ;
int PalletBarcodeLength = Convert . ToInt32 ( dvsp [ 0 ] [ "F_PalletBarcodeLength" ] ) ; //电力纸箱码垛机器人专用\普通条码申请
int PalletBarcodeReservedLength = Convert . ToInt32 ( dvsp [ 0 ] [ "F_PalletBarcodeReservedLength" ] ) ; //电力纸箱码垛机器人专用\普通条码申请
@ -5880,14 +5880,14 @@ namespace WcfControlMonitorLib
{
incompleteBarcode . Clear ( ) ; //20150103
noneBarcode . Clear ( ) ; //20150103
for ( int j = 2 ; j < = PalletBarcodeLength + 2 ; j + + )
for ( int j = 2 ; j < = PalletBarcodeLength + 2 ; j + + )
{ //20150103
incompleteBarcode . Append ( "1" ) ; //PLC扫到残码,但是有货物,转换为字符'1'
noneBarcode . Append ( "0" ) ; //PLC没扫描,没货物,保留的空值0,转换为字符'\0'
}
//获得托盘条码值
//emptypallet=devicestates[tempdb2addr + 1];//托盘高度检测标志,0表示空托盘,1表示实托盘
for ( int j = 1 0 ; j < PalletBarcodeLength + 1 0 ; j + + ) //标志位+空、实托盘+条码值
for ( int j = 1 0 ; j < PalletBarcodeLength + 1 0 ; j + + ) //标志位+空、实托盘+条码值
{
if ( devicestates [ tempdb2addr + j ] = = 1 )
{
@ -5954,28 +5954,28 @@ namespace WcfControlMonitorLib
if ( barcode . ToString ( ) = = incompleteBarcode . ToString ( ) )
{ //扫到残码
RefreshMonitorEventArgs rmea ;
int abst ;
//if (int.TryParse(dvsp[0]["F_Remark"].ToString(), out abst) == true)
//{
// if (IfExitDeviceBarcodeTask(dcode, barcode.ToString()) == false)
// {
// object[] ob = new object[17] { ccf.GetTempManageIdx(), 2, barcode.ToString(), 1, 2, 1, 1, ccf.GetWarehouseIndex(), ccf.GetWarehouseIndex(), "-", dcode, dvsp[0]["F_Remark"].ToString(), "-", 0, DateTime.Now.ToString("u"), 0, Model.CGeneralFunction.TASKABEND };
// dbo.ExceSQL(string.Format("INSERT INTO T_Manage_Task(FID, F_ManageTaskKindIndex,FPALLETBARCODE,FMANAGETASKTYPE,FCONTROLTASKTYPE, FTASKLEVEL, FISRETURN,FSTARTWAREHOUSE,FENDWAREHOUSE, FSTARTCELL, FSTARTDEVICE, FENDDEVICE, FENDCELL, FSTATUS, FBEGTIME, FIntoStepOK,FExceptionNO)VALUES({0},{1},'{2}',{3},{4},{5},{6},'{7}','{8}','{9}',{10},{11},'{12}',{13},'{14}','{15}',{16})", ob));
// }
//}
//else
//{
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理条码申请任务时:", devidx.ToString(), ",站台:" + dcode + ",扫到残缺条码!" + barcode.ToString().ToUpper());
// rmea = new RefreshMonitorEventArgs("notifyIcon1", "警告:向管理条码申请任务时,站台:" + dcode + ",扫到残缺条码!时间:" + DateTime.Now.ToString("u"));
// OnRefreshMonitor(rmea);
//}
//wv[0].Clear();
//wv[0].Append("2");
//sdo = CommModeCreate.CreateSendDeviceOrder(devidx);
//sdo.WriteDBData(witemnames, wv, devinfo.S7Connection);
//dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_BarCode = '{1}',F_Time='{2}',F_Size='{3}',F_Hight='{4}' WHERE (F_DeviceIndex = {0}) ", devidx, barcode.ToString(), DateTime.Now, Weight, size));
//continue;//20160120
}
int abst ;
//if (int.TryParse(dvsp[0]["F_Remark"].ToString(), out abst) == true)
//{
// if (IfExitDeviceBarcodeTask(dcode, barcode.ToString()) == false)
// {
// object[] ob = new object[17] { ccf.GetTempManageIdx(), 2, barcode.ToString(), 1, 2, 1, 1, ccf.GetWarehouseIndex(), ccf.GetWarehouseIndex(), "-", dcode, dvsp[0]["F_Remark"].ToString(), "-", 0, DateTime.Now.ToString("u"), 0, Model.CGeneralFunction.TASKABEND };
// dbo.ExceSQL(string.Format("INSERT INTO T_Manage_Task(FID, F_ManageTaskKindIndex,FPALLETBARCODE,FMANAGETASKTYPE,FCONTROLTASKTYPE, FTASKLEVEL, FISRETURN,FSTARTWAREHOUSE,FENDWAREHOUSE, FSTARTCELL, FSTARTDEVICE, FENDDEVICE, FENDCELL, FSTATUS, FBEGTIME, FIntoStepOK,FExceptionNO)VALUES({0},{1},'{2}',{3},{4},{5},{6},'{7}','{8}','{9}',{10},{11},'{12}',{13},'{14}','{15}',{16})", ob));
// }
//}
//else
//{
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理条码申请任务时:", devidx.ToString(), ",站台:" + dcode + ",扫到残缺条码!" + barcode.ToString().ToUpper());
// rmea = new RefreshMonitorEventArgs("notifyIcon1", "警告:向管理条码申请任务时,站台:" + dcode + ",扫到残缺条码!时间:" + DateTime.Now.ToString("u"));
// OnRefreshMonitor(rmea);
//}
//wv[0].Clear();
//wv[0].Append("2");
//sdo = CommModeCreate.CreateSendDeviceOrder(devidx);
//sdo.WriteDBData(witemnames, wv, devinfo.S7Connection);
//dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_BarCode = '{1}',F_Time='{2}',F_Size='{3}',F_Hight='{4}' WHERE (F_DeviceIndex = {0}) ", devidx, barcode.ToString(), DateTime.Now, Weight, size));
//continue;//20160120
}
#endregion
@ -6017,7 +6017,7 @@ namespace WcfControlMonitorLib
string errormsg = "" ;
if ( err ! = null )
{
errormsg = err . ErrorName + ",代码:" + devinfo . ErrorCode . ToString ( ) ;
errormsg = err . ErrorName + ",代码:" + devinfo . ErrorCode . ToString ( ) ;
}
string sql5 = string . Format ( "insert into IO_CONTROL_APPLY_HIS(CONTROL_APPLY_ID,CONTROL_ID,CONTROL_APPLY_TYPE,WAREHOUSE_CODE,DEVICE_CODE,STOCK_BARCODE,APPLY_TASK_STATUS,CREATE_TIME,CONTROL_APPLY_PARAMETER,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02,CONTROL_APPLY_REMARK)" +
@ -6069,31 +6069,31 @@ namespace WcfControlMonitorLib
//dvbc = dboMan.ExceSQL(string.Format("select CONTROL_ID from IO_CONTROL where STOCK_BARCODE like '%{0}%'", barcode)).Tables[0].DefaultView;
//if (dvbc.Count <= 0)
//{
//dvbc = dbo.ExceSQL(string.Format("select fid from T_Manage_Task where FPALLETBARCODE like '%{0}%'", barcode)).Tables[0].DefaultView;
//if (dvbc.Count <= 0)
//{
StringBuilder dtime = new StringBuilder ( DateTime . Now . ToString ( "u" ) ) ;
dtime . Remove ( dtime . Length - 1 , 1 ) ;
//int appid = dboMan.GetManageTableIndex("IO_CONTROL_APPLY", true);//CONTROL_APPLY_ID
//object[] ob = new object[9] { apptype, dcode, barcode, 0, dtime, "", warehouse.ToString(), appid, BoxQuality };
object [ ] ob = new object [ 9 ] { apptype , dcode , barcode , 0 , dtime , "" , warehouse . ToString ( ) , Weight , size } ;
try
{
//dboMan.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY(CONTROL_APPLY_ID, CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_REMARK,WAREHOUSE_CODE,BOX_QUANTITY)VALUES ({7},{0},'{1}','{2}',{3},'{4}','{5}','{6}',{8})", ob));
dboMan . ExecuteSql ( string . Format ( "INSERT INTO IO_CONTROL_APPLY(CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_REMARK,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')" , ob ) ) ;
CommonClassLib . CCarryConvert . WriteDarkCasket ( "OPCClient" , "向管理条码申请任务:" , devidx . ToString ( ) , ",站台:" + dcode + ",条码:" + barcode . ToString ( ) . ToUpper ( ) + ",申请类型:" + apptype . ToString ( ) + "申请高度:" + size + "申请重量:" + Weight ) ; //20140218
}
catch ( Exception ex )
{
RefreshMonitorEventArgs rmea = new RefreshMonitorEventArgs ( "tsStatus" , "向管理申请入库任务时发生错误:" + ex . StackTrace + ex . Message ) ;
OnRefreshMonitor ( rmea ) ;
continue ; //20140218
}
//dvbc = dbo.ExceSQL(string.Format("select fid from T_Manage_Task where FPALLETBARCODE like '%{0}%'", barcode)).Tables[0].DefaultView;
//if (dvbc.Count <= 0)
//{
StringBuilder dtime = new StringBuilder ( DateTime . Now . ToString ( "u" ) ) ;
dtime . Remove ( dtime . Length - 1 , 1 ) ;
//int appid = dboMan.GetManageTableIndex("IO_CONTROL_APPLY", true);//CONTROL_APPLY_ID
//object[] ob = new object[9] { apptype, dcode, barcode, 0, dtime, "", warehouse.ToString(), appid, BoxQuality };
object [ ] ob = new object [ 9 ] { apptype , dcode , barcode , 0 , dtime , "" , warehouse . ToString ( ) , Weight , size } ;
try
{
//dboMan.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY(CONTROL_APPLY_ID, CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_REMARK,WAREHOUSE_CODE,BOX_QUANTITY)VALUES ({7},{0},'{1}','{2}',{3},'{4}','{5}','{6}',{8})", ob));
dboMan . ExecuteSql ( string . Format ( "INSERT INTO IO_CONTROL_APPLY(CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_REMARK,WAREHOUSE_CODE,CONTROL_APPLY_PARA01,CONTROL_APPLY_PARA02)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}','{8}')" , ob ) ) ;
CommonClassLib . CCarryConvert . WriteDarkCasket ( "OPCClient" , "向管理条码申请任务:" , devidx . ToString ( ) , ",站台:" + dcode + ",条码:" + barcode . ToString ( ) . ToUpper ( ) + ",申请类型:" + apptype . ToString ( ) + "申请高度:" + size + "申请重量:" + Weight ) ; //20140218
}
catch ( Exception ex )
{
RefreshMonitorEventArgs rmea = new RefreshMonitorEventArgs ( "tsStatus" , "向管理申请入库任务时发生错误:" + ex . StackTrace + ex . Message ) ;
OnRefreshMonitor ( rmea ) ;
continue ; //20140218
}
//}
//}
//}
}
@ -6893,7 +6893,7 @@ namespace WcfControlMonitorLib
break ;
#endregion
#endregion
case 3 2 :
#region 高端触摸屏
if ( devicestates [ tempdb2addr + 0 ] ! = 1 ) continue ;
@ -7020,7 +7020,7 @@ namespace WcfControlMonitorLib
break ;
#endregion
#endregion
#endregion
#region 高端设备
@ -7519,9 +7519,9 @@ namespace WcfControlMonitorLib
}
else
if ( dcode = = 2 2 0 6 6 )
{
deviceend = 2 1 0 0 1 ;
}
{
deviceend = 2 1 0 0 1 ;
}
dvbc =
dbo . ExceSQL (
string . Format (
@ -7752,107 +7752,107 @@ namespace WcfControlMonitorLib
#region 检尺
case 3 7 :
//if (devicestates[tempdb2addr + 0] != 1) continue;
//dvsp = dbo.ExceSQL(string.Format("select F_BarCode,F_Time, F_PalletBarcodeLength,F_PalletBarcodeReservedLength,F_BarcodeReservedLength,F_WareHouse,F_ManageAskkind,F_BarcodeForkAmount,F_BarcodeLength,F_BindingDevice,F_Askkind,F_Remark,F_TaskIndex from T_Base_PLC_Ask WHERE (F_DeviceIndex = {0}) ", devidx)).Tables[0].DefaultView; //20130510F_ManageAskkind
//if (dvsp.Count > 0)
//{
// StringBuilder warehouse = new StringBuilder(dvsp[0]["F_WareHouse"].ToString());
// int dcode = Convert.ToInt32(dvsp[0]["F_BindingDevice"]);
// int apptype = Convert.ToInt32(dvsp[0]["F_ManageAskkind"]);
// int sb = Convert.ToInt32(dvsp[0]["F_remark"]);
// int BoxQuality = devicestates[tempdb2addr + 1];
// DateTime appdt = new DateTime();
// if (dvsp[0]["F_Time"] == DBNull.Value)
// {
// appdt = DateTime.Now.AddSeconds(-10);
// }
// else
// {
// DateTime.TryParse(dvsp[0]["F_Time"].ToString(), out appdt);
// }
// if (dvsp[0]["F_TaskIndex"] != DBNull.Value)
// {
// if ((appdt.AddSeconds(5) > DateTime.Now) && (dvsp[0]["F_TaskIndex"].ToString() == BoxQuality.ToString()))
// {
// dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_TaskIndex = '{1}',F_Time='{2}' WHERE (F_DeviceIndex = {0}) ", devidx, BoxQuality, DateTime.Now));
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "PLC重复上报检尺:", devidx.ToString(), ",检尺:" + devidx + ",高度:" + BoxQuality.ToString().ToUpper());
// break;
// }
// }
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "检尺上报", devidx.ToString(), "读标志1**:" + BoxQuality.ToString());
// StringBuilder dtime = new StringBuilder(DateTime.Now.ToString("u"));
// dtime.Remove(dtime.Length - 1, 1);
// barcode.Clear();
// dvsp = dbo.ExceSQL(string.Format("select F_BarCode,F_BindingDevice from T_Base_PLC_Ask WHERE (F_DeviceIndex = {0}) ", dcode)).Tables[0].DefaultView; //20130510F_ManageAskkind
// if (dvsp.Count > 0)
// {
// barcode.Append(dvsp[0]["F_BarCode"]);
// }
// string jic = string.Empty;
// switch (BoxQuality)
// {
// case 1:
// jic = "Low";
// break;
// case 2:
// jic = "Height%";
// break;
// case 3:
// jic = "Height";
// break;
// default:
// jic = BoxQuality.ToString();
// break;
// }
// //int appid = dboMan.GetManageTableIndex("IO_CONTROL_APPLY", true);//CONTROL_APPLY_ID
// object[] ob = new object[8] { apptype, sb, barcode, 0, dtime, "", warehouse.ToString(), jic };
// if (CStaticClass.StopTestLane == true)
// {
// if ((!WcfControlMonitorLib.CStaticClass.StopTest.ContainsKey(18001)) || ((WcfControlMonitorLib.CStaticClass.StopTest.ContainsKey(18001)) && WcfControlMonitorLib.CStaticClass.StopTest[18001] == true))
// {
// try
// {
// dboMan.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_REMARK,WAREHOUSE_CODE,CONTROL_APPLY_PARAMETER)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}')", ob));
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理条码申请任务:", devidx.ToString(), ",站台:" + dcode + ",条码:" + barcode.ToString().ToUpper());//20140218
// }
// catch (Exception ex)
// {
// RefreshMonitorEventArgs rmea = new RefreshMonitorEventArgs("tsStatus", "向管理申请入库任务时发生错误:" + ex.StackTrace + ex.Message);
// OnRefreshMonitor(rmea);
// continue;//20140218
// }
// }
// }
// else
// {
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "调度系统测试:", devidx.ToString(), ",站台:" + dcode + ",条码:" + barcode.ToString().ToUpper());//20140218
// }
// witemnames[0].Clear();
// witemnames[0].Append(Model.CGeneralFunction.DBGet).Append(".").Append(Convert.ToString(devinfo.Dbw2Address + 0)).Append(",b");//20130510
// wv[0].Clear();
// wv[0].Append("2");
// sdo = CommModeCreate.CreateSendDeviceOrder(devidx);
// sdo.WriteDBData(witemnames, wv, devinfo.S7Connection);
//if (devicestates[tempdb2addr + 0] != 1) continue;
//dvsp = dbo.ExceSQL(string.Format("select F_BarCode,F_Time, F_PalletBarcodeLength,F_PalletBarcodeReservedLength,F_BarcodeReservedLength,F_WareHouse,F_ManageAskkind,F_BarcodeForkAmount,F_BarcodeLength,F_BindingDevice,F_Askkind,F_Remark,F_TaskIndex from T_Base_PLC_Ask WHERE (F_DeviceIndex = {0}) ", devidx)).Tables[0].DefaultView; //20130510F_ManageAskkind
//if (dvsp.Count > 0)
//{
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "写检尺应答", devidx.ToString(), "写标志2**检尺:" + BoxQuality.ToString());
// ob = new object[4] { devidx, BoxQuality.ToString(), DateTime.Now, barcode };
// dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_BarCode='{3}',F_Time='{2}', F_TaskIndex ={1} WHERE (F_DeviceIndex = {0}) ", ob));
// StringBuilder warehouse = new StringBuilder(dvsp[0]["F_WareHouse"].ToString());
// int dcode = Convert.ToInt32(dvsp[0]["F_BindingDevice"]);
// int apptype = Convert.ToInt32(dvsp[0]["F_ManageAskkind"]);
// int sb = Convert.ToInt32(dvsp[0]["F_remark"]);
// int BoxQuality = devicestates[tempdb2addr + 1];
// DateTime appdt = new DateTime();
// if (dvsp[0]["F_Time"] == DBNull.Value)
// {
// appdt = DateTime.Now.AddSeconds(-10);
// }
// else
// {
// DateTime.TryParse(dvsp[0]["F_Time"].ToString(), out appdt);
// }
// if (dvsp[0]["F_TaskIndex"] != DBNull.Value)
// {
// if ((appdt.AddSeconds(5) > DateTime.Now) && (dvsp[0]["F_TaskIndex"].ToString() == BoxQuality.ToString()))
// {
// dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_TaskIndex = '{1}',F_Time='{2}' WHERE (F_DeviceIndex = {0}) ", devidx, BoxQuality, DateTime.Now));
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "PLC重复上报检尺:", devidx.ToString(), ",检尺:" + devidx + ",高度:" + BoxQuality.ToString().ToUpper());
// break;
// }
// }
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "检尺上报", devidx.ToString(), "读标志1**:" + BoxQuality.ToString());
// StringBuilder dtime = new StringBuilder(DateTime.Now.ToString("u"));
// dtime.Remove(dtime.Length - 1, 1);
// barcode.Clear();
// dvsp = dbo.ExceSQL(string.Format("select F_BarCode,F_BindingDevice from T_Base_PLC_Ask WHERE (F_DeviceIndex = {0}) ", dcode)).Tables[0].DefaultView; //20130510F_ManageAskkind
// if (dvsp.Count > 0)
// {
// barcode.Append(dvsp[0]["F_BarCode"]);
// }
// string jic = string.Empty;
// switch (BoxQuality)
// {
// case 1:
// jic = "Low";
// break;
// case 2:
// jic = "Height%";
// break;
// case 3:
// jic = "Height";
// break;
// default:
// jic = BoxQuality.ToString();
// break;
// }
// //int appid = dboMan.GetManageTableIndex("IO_CONTROL_APPLY", true);//CONTROL_APPLY_ID
// object[] ob = new object[8] { apptype, sb, barcode, 0, dtime, "", warehouse.ToString(), jic };
// if (CStaticClass.StopTestLane == true)
// {
// if ((!WcfControlMonitorLib.CStaticClass.StopTest.ContainsKey(18001)) || ((WcfControlMonitorLib.CStaticClass.StopTest.ContainsKey(18001)) && WcfControlMonitorLib.CStaticClass.StopTest[18001] == true))
// {
// try
// {
// dboMan.ExecuteSql(string.Format("INSERT INTO IO_CONTROL_APPLY( CONTROL_APPLY_TYPE,DEVICE_CODE, STOCK_BARCODE, APPLY_TASK_STATUS, CREATE_TIME,CONTROL_APPLY_REMARK,WAREHOUSE_CODE,CONTROL_APPLY_PARAMETER)VALUES ({0},'{1}','{2}',{3},'{4}','{5}','{6}','{7}')", ob));
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "向管理条码申请任务:", devidx.ToString(), ",站台:" + dcode + ",条码:" + barcode.ToString().ToUpper());//20140218
// }
// catch (Exception ex)
// {
// RefreshMonitorEventArgs rmea = new RefreshMonitorEventArgs("tsStatus", "向管理申请入库任务时发生错误:" + ex.StackTrace + ex.Message);
// OnRefreshMonitor(rmea);
// continue;//20140218
// }
// }
// }
// else
// {
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "调度系统测试:", devidx.ToString(), ",站台:" + dcode + ",条码:" + barcode.ToString().ToUpper());//20140218
// }
// witemnames[0].Clear();
// witemnames[0].Append(Model.CGeneralFunction.DBGet).Append(".").Append(Convert.ToString(devinfo.Dbw2Address + 0)).Append(",b");//20130510
// wv[0].Clear();
// wv[0].Append("2");
// sdo = CommModeCreate.CreateSendDeviceOrder(devidx);
// sdo.WriteDBData(witemnames, wv, devinfo.S7Connection);
// CommonClassLib.CCarryConvert.WriteDarkCasket("OPCClient", "写检尺应答", devidx.ToString(), "写标志2**检尺:" + BoxQuality.ToString());
// ob = new object[4] { devidx, BoxQuality.ToString(), DateTime.Now, barcode };
// dbo.ExecuteSql(string.Format("UPDATE T_Base_PLC_Ask SET F_BarCode='{3}',F_Time='{2}', F_TaskIndex ={1} WHERE (F_DeviceIndex = {0}) ", ob));
//}
//break;
//}
//break;
#endregion
#region 每楼层报警点
@ -7948,8 +7948,8 @@ namespace WcfControlMonitorLib
int mankindd = 0 ;
long fidd1 = 0 , fidd2 = 0 , relFIDD = 0 ;
string aainfo = string . Empty ;
int mankind = GetManageTaskKindFromMonitor ( out aainfo , taskindex ) ;
long mantaskindex = GetManageTaskIndexFromMonitor ( out aainfo , taskindex ) ;
int mankind = GetManageTaskKindFromMonitor ( out aainfo , taskindex ) ;
long mantaskindex = GetManageTaskIndexFromMonitor ( out aainfo , taskindex ) ;
int tasktypee = ccf . GetFCONTROLTASKTYPEFromManageTask ( mankind , mantaskindex ) ;
int layer = 0 ;
layer = ccf . getLayerFromMonitorTask ( taskindex ) ;
@ -7958,7 +7958,7 @@ namespace WcfControlMonitorLib
int [ ] corrtasks = Model . CGeneralFunction . MutiForkIfSync ( taskindex , devidx , 4 0 ) ;
int boxnum = Model . CGeneralFunction . getDoubleForkMonitorCount ( taskindex , tasktypee , order ) ;
cgs . ActionComplete ( devidx , taskindex , 1 ) ;
if ( corrtasks [ 0 ] ! = 0 )
if ( corrtasks [ 0 ] ! = 0 )
{
CommonClassLib . CCarryConvert . WriteDarkCasket ( "OPCClient" , "多工位提升机状态:" , devidx . ToString ( ) , "报完成时:查找关联任务:" + corrtasks [ 0 ] + "当前任务:" + taskindex . ToString ( ) + "箱数:" + boxnum ) ;
}
@ -7976,7 +7976,7 @@ namespace WcfControlMonitorLib
#region 20180427 add by lyj提升机送货完成解除关联
string sqlrela = string . Empty ;
if ( order = = 5 & & devinfo . SplitByte_0 = = 0 & & devinfo . SplitByte_1 = = 0 & & tasktypee = = 1 )
if ( order = = 5 & & devinfo . SplitByte_0 = = 0 & & devinfo . SplitByte_1 = = 0 & & tasktypee = = 1 )
{
sqlrela = "update T_Manage_Task set F_RELATIVECONTORLID=-" + relaid . ToString ( ) + " where F_RELATIVECONTORLID=" + relaid . ToString ( ) ;
@ -7988,7 +7988,7 @@ namespace WcfControlMonitorLib
cgs . ActionComplete ( devidx , taskindex , 1 ) ;
}
#endregion
#endregion
#region add by lyj20180507出库不同层配关联
if ( tasktypee = = 2 & & order = = 4 & & relaid < = 0 )
@ -8057,7 +8057,7 @@ namespace WcfControlMonitorLib
#endregion
#region 20210324_上海晟碟,拣选塔灯清零确认
case 4 1 :
if ( states [ 0 ] = = 1 )
if ( states [ 0 ] = = 1 )
{
//int iStation = deviceindex / 10;
//sql.Remove(0, sql.Length);
@ -8078,7 +8078,7 @@ namespace WcfControlMonitorLib
//}
}
break ;
#endregion
#endregion
}
#endregion
@ -8154,7 +8154,7 @@ namespace WcfControlMonitorLib
wv [ 0 ] . Clear ( ) ;
wv [ 0 ] . Append ( Wdata ) ;
sdo = CommModeCreate . CreateSendDeviceOrder ( deviceIndex ) ;
sdo . WriteDBData ( wn , wv , md . S7Connection ) ;
sdo . WriteDBData ( wn , wv , md . S7Connection ) ;
CommonClassLib . CCarryConvert . WriteDarkCasket ( "OPCClient" , "写堆垛机急停按钮信号:" , deviceIndex . ToString ( ) , md . S7Connection + ";" + DBBlock + ";" + ( md . Dbw1Address + 2 2 ) . ToString ( ) + ";" + Wdata ) ;
@ -8242,7 +8242,7 @@ namespace WcfControlMonitorLib
if ( DBBlock = = "DB2" )
{
StringBuilder [ ] wv = { new StringBuilder ( "" ) , new StringBuilder ( "" ) } ;
StringBuilder [ ] wv = { new StringBuilder ( "" ) , new StringBuilder ( "" ) } ;
StringBuilder [ ] wn = { new StringBuilder ( "" ) , new StringBuilder ( "" ) } ;
wn [ 0 ] . Clear ( ) ;
wn [ 0 ] . Append ( DBBlock ) . Append ( "." ) . Append ( Convert . ToString ( md . Dbw1Address + 1 ) ) . Append ( ",b" ) ; //
@ -8289,7 +8289,7 @@ namespace WcfControlMonitorLib
/// <param name="byteindex">索引</param>
/// <param name="errtext"></param>
/// <returns></returns>
public bool WriteDBData2 ( int deviceIndex , string DBBlock , string Wdata , string byteindex , out string errtext )
public bool WriteDBData2 ( int deviceIndex , string DBBlock , string Wdata , string byteindex , out string errtext )
{
errtext = string . Empty ;
try
@ -8928,11 +8928,11 @@ namespace WcfControlMonitorLib
md . RunState = Convert . ToInt32 ( dv [ i ] [ "INOut_Value" ] ) ;
//Model.CGetInfo.SetDeviceMessage(devinfo);
WriteDBDataConveyor ( Convert . ToInt32 ( dv [ i ] [ "Device_Index" ] ) , "DB1" , dv [ i ] [ "INOut_Value" ] . ToString ( ) , out string errtext ) ;
if ( errtext ! = null & & errtext ! = "" )
WriteDBDataConveyor ( Convert . ToInt32 ( dv [ i ] [ "Device_Index" ] ) , "DB1" , dv [ i ] [ "INOut_Value" ] . ToString ( ) , out string errtext ) ;
if ( errtext ! = null & & errtext ! = "" )
{
CommonClassLib . CCarryConvert . WriteDarkCasket ( "opcclient" , "设备编号:" + Convert . ToInt32 ( dv [ i ] [ "Device_Index" ] ) . ToString ( ) ,
"写入的值:" + dv [ i ] [ "INOut_Value" ] . ToString ( ) + "异常信息:" + errtext . ToString ( ) , "PLC标识:" + md . S7Connection . ToString ( ) ) ;
"写入的值:" + dv [ i ] [ "INOut_Value" ] . ToString ( ) + "异常信息:" + errtext . ToString ( ) , "PLC标识:" + md . S7Connection . ToString ( ) ) ;
}
}
}
@ -8966,8 +8966,8 @@ namespace WcfControlMonitorLib
int [ ] States ;
if ( CStaticClass . Order = = true )
{
int [ ] iDeviceIn = { 1 2 0 0 4 } ; //出库路径终点设备
int [ ] iDevice = { 1 5 1 0 2 } ; //写点灯,指示灯设备名称
int [ ] iDeviceIn = { 1 2 0 0 4 } ; //出库路径终点设备
int [ ] iDevice = { 1 5 1 0 2 } ; //写点灯,指示灯设备名称
DataView dvi = new DataView ( ) ;
DataView dviMon = new DataView ( ) ;
DataView dv = new DataView ( ) ;
@ -8992,14 +8992,14 @@ namespace WcfControlMonitorLib
if ( States ! = null )
{
Model . MDevice md = Model . CGetInfo . GetDeviceInfo ( iDevice [ i ] ) ;
witemnames [ 0 ] . Clear ( ) ;
witemnames [ 0 ] . Append ( Model . CGeneralFunction . DBGet ) . Append ( "." ) . Append ( Convert . ToString ( md . Dbw2Address + 2 ) ) . Append ( ",b" ) ; //
wv [ 0 ] . Clear ( ) ;
wv [ 0 ] . Append ( "1" ) ;
sdo = CommModeCreate . CreateSendDeviceOrder ( iDevice [ i ] ) ;
sdo . WriteDBData ( witemnames , wv , md . S7Connection ) ;
// CommonClassLib.CCarryConvert.WriteDarkCasket("发送", "亮灯", "指令", "2,亮灯站台:" + iDeviceIn[i].ToString());
Model . MDevice md = Model . CGetInfo . GetDeviceInfo ( iDevice [ i ] ) ;
witemnames [ 0 ] . Clear ( ) ;
witemnames [ 0 ] . Append ( Model . CGeneralFunction . DBGet ) . Append ( "." ) . Append ( Convert . ToString ( md . Dbw2Address + 2 ) ) . Append ( ",b" ) ; //
wv [ 0 ] . Clear ( ) ;
wv [ 0 ] . Append ( "1" ) ;
sdo = CommModeCreate . CreateSendDeviceOrder ( iDevice [ i ] ) ;
sdo . WriteDBData ( witemnames , wv , md . S7Connection ) ;
// CommonClassLib.CCarryConvert.WriteDarkCasket("发送", "亮灯", "指令", "2,亮灯站台:" + iDeviceIn[i].ToString());
}
}
else //灭灯
@ -9008,14 +9008,14 @@ namespace WcfControlMonitorLib
States = CStaticClass . GetDeviceState ( iDevice [ i ] ) ; //1为亮绿灯 2为灭灯
if ( States ! = null )
{
Model . MDevice md = Model . CGetInfo . GetDeviceInfo ( iDevice [ i ] ) ;
witemnames [ 0 ] . Clear ( ) ;
witemnames [ 0 ] . Append ( Model . CGeneralFunction . DBGet ) . Append ( "." ) . Append ( Convert . ToString ( md . Dbw2Address + 2 ) ) . Append ( ",b" ) ; //
wv [ 0 ] . Clear ( ) ;
wv [ 0 ] . Append ( "2" ) ;
sdo = CommModeCreate . CreateSendDeviceOrder ( iDevice [ i ] ) ;
sdo . WriteDBData ( witemnames , wv , md . S7Connection ) ;
// CommonClassLib.CCarryConvert.WriteDarkCasket("发送", "灭灯", "指令", "1,灭灯站台:" + iDeviceIn[i].ToString());
Model . MDevice md = Model . CGetInfo . GetDeviceInfo ( iDevice [ i ] ) ;
witemnames [ 0 ] . Clear ( ) ;
witemnames [ 0 ] . Append ( Model . CGeneralFunction . DBGet ) . Append ( "." ) . Append ( Convert . ToString ( md . Dbw2Address + 2 ) ) . Append ( ",b" ) ; //
wv [ 0 ] . Clear ( ) ;
wv [ 0 ] . Append ( "2" ) ;
sdo = CommModeCreate . CreateSendDeviceOrder ( iDevice [ i ] ) ;
sdo . WriteDBData ( witemnames , wv , md . S7Connection ) ;
// CommonClassLib.CCarryConvert.WriteDarkCasket("发送", "灭灯", "指令", "1,灭灯站台:" + iDeviceIn[i].ToString());
}
}
@ -9036,68 +9036,61 @@ namespace WcfControlMonitorLib
//堆垛机测试
public void SendConveyorTestTask ( ) {
if ( 1 = = 1 ) {
string startCode = "01-02-01" ;
string endCode = "01-01-01" ;
int Y = 3 ; //最高层
int hand = 1 9 ; //中间货位(2+37)/2 中间货位到后正常排序
int ConveryorDeviceIndex = 1 8 0 0 1 ;
int deviceIndex = 1 1 0 0 1 ;
StringBuilder sql1 = new StringBuilder ( ) ;
sql1 . Append ( "select * from T_Manage_Task where F_ManageTaskKindIndex=2 and FSTARTDEVICE='" ) . Append ( ConveryorDeviceIndex ) . Append ( "'" ) ; //查找任务类型为自动任务的某台堆垛机的任务
int Count = dbo . ExceSQL ( sql1 . ToString ( ) ) . Tables [ 0 ] . DefaultView . Count ;
if ( Count = = 0 ) {
#region 寻找起点
sql1 . Clear ( ) ;
sql1 . Append ( "SELECT LastTaskEndDevice from T_LastDeviceTaskMsg where ConveryorDeviceIndex='" ) . Append ( ConveryorDeviceIndex ) . Append ( "'" ) ;
DataView data = dbo . ExceSQL ( sql1 . ToString ( ) ) . Tables [ 0 ] . DefaultView ;
var a = data [ 0 ] [ "LastTaskEndDevice" ] . ToString ( ) ;
if ( data [ 0 ] [ "LastTaskEndDevice" ] . ToString ( ) = = null | | data [ 0 ] [ "LastTaskEndDevice" ] . ToString ( ) = = "" )
if ( CStaticClass . ObtainManageTask = = true ) {
try {
if ( CCallService . mythread = = null )
{
startCode = "01-02-01" ;
}
else {
startCode = data [ 0 ] [ "LastTaskEndDevice" ] . ToString ( ) ;
//CCallService.mythread.Start();
CCallService . mythread = new Thread ( new ThreadStart ( CCallService . BeginListen ) ) ;
CCallService . mythread . IsBackground = true ;
CCallService . mythread . Start ( ) ;
}
#endregion
#region 寻找终点
DataView data1 = new DataView ( ) ;
var row = Convert . ToInt32 ( startCode . Split ( '-' ) [ 1 ] ) ; //获取列
if ( row < hand ) //后半区
else
{
sql1 . Clear ( ) ;
sql1 = new StringBuilder ( "select top 1 FCELLCODE from ST_CELL where FLaneWay='" ) . Append ( ConveryorDeviceIndex ) . Append ( "' and F_FLAG=0 order by F_Z desc,F_X desc,F_Y DESC" ) ;
data1 = dbo . ExceSQL ( sql1 . ToString ( ) ) . Tables [ 0 ] . DefaultView ;
if ( data1 . Count > 0 )
{
endCode = data1 [ 0 ] [ "FCELLCODE" ] . ToString ( ) ; //获取终点
}
else {
return ;
if ( CCallService . mythread . IsAlive = = false ) {
CCallService . mythread . Abort ( ) ;
CCallService . mythread = null ;
}
}
else {
sql1 . Clear ( ) ;
sql1 = new StringBuilder ( "select top 1 FCELLCODE from ST_CELL where FLaneWay='" ) . Append ( ConveryorDeviceIndex ) . Append ( "' and F_FLAG=0 order by F_Z,F_X ,F_Y" ) ;
data1 = dbo . ExceSQL ( sql1 . ToString ( ) ) . Tables [ 0 ] . DefaultView ;
if ( data1 . Count > 0 )
if ( CCallService . mythread1 = = null )
{
// CCallService.mythread1.Start();
CCallService . mythread1 = new Thread ( new ThreadStart ( CCallService . BeginListen1 ) ) ;
CCallService . mythread1 . IsBackground = true ;
CCallService . mythread1 . Start ( ) ;
}
else
{
if ( CCallService . mythread1 . IsAlive = = false )
{
endCode = data1 [ 0 ] [ "FCELLCODE" ] . ToString ( ) ; //获取终点
CCallService . mythread1 . Abort ( ) ;
CCallService . mythread1 = null ;
}
else
}
if ( CCallService . mythread2 = = null )
{
// CCallService.mythread2.Start();
CCallService . mythread2 = new Thread ( new ThreadStart ( CCallService . BeginListen2 ) ) ;
CCallService . mythread2 . IsBackground = true ;
CCallService . mythread2 . Start ( ) ;
}
else
{
if ( CCallService . mythread2 . IsAlive = = false )
{
return ;
CCallService . mythread2 . Abort ( ) ;
CCallService . mythread2 = null ;
}
}
Model . AutoTask at = new Model . AutoTask ( 3 , "111111" , ConveryorDeviceIndex . ToString ( ) , startCode , ConveryorDeviceIndex . ToString ( ) , endCode , false , false , 0 ) ;
BuildAutoTask ( at , out string _l istenPLCAskError ) ;
#endregion
}
catch ( Exception ex ) {
}
}
}
}
public void SendConveyorTestTask2 ( )
{