@@ -157,199 +157,199 @@ public class KukaJoinThread implements ApplicationRunner {
@Override
public void run ( ApplicationArguments args ) throws Exception {
kukaStep1. scheduleAtFixedRate( new Runnable ( ) {
@Override
public void run ( ) {
//调度开始
logger. info ( " " ) ;
logger. info ( " ================= 现在开始执行 过程一 任务 ==================" ) ;
Integer subArrived = waitingForTarget( Step1Plc2MesVar. SubArrivedToMes, true ) ;
if ( subArrived ! = 1 ) {
logger. info ( " 失败 " + " --- " + " MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败" ) ;
}
//一. 从plc 中获取 subId 和 lineNum
String subId = ( String ) read ( S7Client. S7_KUKA, Step1Plc2MesVar. SubIdToMes) ;
Integer lineNum = ( Integer ) read ( S7Client. S7_KUKA, Step1Plc2MesVar. LineNum) ;
//二. MES 业务
//=============== MES 业务 开始 =================
//1. 从comline数据库中获取 实际pmpp
float pmppBySubId = service. getPMPPBySubId( subId ) ;
//2. 匹配和计算补偿功率
float actualPMPP = compensationPowerServiceBiz. calculCompensationPMPP( pmppBySubId, lineNum) ;
//3. 依据补偿功率, 获取工艺参数, 并且把这些工艺参数传给kuka
WoPowerLevel argByPMPP = levelServiceBiz. getArgByPMPP( actualPMPP, lineNum) ;
write( S7Client. S7_KUKA, Step1Mes2PlcVar. dLable_Pnom, Integer. valueOf( argByPMPP. getPowerClass( ) ) ) ;
write( S7Client. S7_KUKA, Step1Mes2PlcVar. dLable_Voc, argByPMPP. getLableVoc( ) ) ;
write( S7Client. S7_KUKA, Step1Mes2PlcVar. dLable_Isc, argByPMPP. getLableIsc( ) ) ;
write( S7Client. S7_KUKA, Step1Mes2PlcVar. dLable_Vmpp, argByPMPP. getLableVmpp( ) ) ;
write( S7Client. S7_KUKA, Step1Mes2PlcVar. dLable_Impp, argByPMPP. getLableImpp( ) ) ;
//4. 把基板录到数据库
WoPackagingBoxSubstrate woPackagingBoxSubstrate = new WoPackagingBoxSubstrate( ) ;
woPackagingBoxSubstrate. setLineBody( lineNum) ;
woPackagingBoxSubstrate. setPowerLevel( argByPMPP. getPowerClass( ) ) ;
woPackagingBoxSubstrate. setSapMaterial( argByPMPP. getSapMaterialNum( ) ) ;
woPackagingBoxSubstrate. setWoSubstrateId( subId ) ;
//5. 从camline那里获取可变字段
CamlineExtendArgDTO extendArgFromCamline = service. getExtendArgFromCamline( subId ) ;
woPackagingBoxSubstrate. setLastUpdateTime( extendArgFromCamline. getLastUpdateTime( ) ) ;
woPackagingBoxSubstrate. setPmpp( actualPMPP) ;
woPackagingBoxSubstrate. setOrderName( extendArgFromCamline. getOrderName( ) ) ;
woPackagingBoxSubstrate. setBinclassFl1( extendArgFromCamline. getBinclassFl1( ) ) ;
woPackagingBoxSubstrate. setBinclassFl2( extendArgFromCamline. getBinclassFl2( ) ) ;
woPackagingBoxSubstrate. setEtaFl1( extendArgFromCamline. getEtaFl1( ) ) ;
woPackagingBoxSubstrate. setEtaFl2( extendArgFromCamline. getEtaFl2( ) ) ;
woPackagingBoxSubstrate. setFfFl1( extendArgFromCamline. getFfFl1( ) ) ;
woPackagingBoxSubstrate. setFfFl2( extendArgFromCamline. getFfFl2( ) ) ;
woPackagingBoxSubstrate. setImppFl1( extendArgFromCamline. getImppFl1( ) ) ;
woPackagingBoxSubstrate. setImppFl2( extendArgFromCamline. getImppFl2( ) ) ;
woPackagingBoxSubstrate. setInsolflashcontrolFl1( extendArgFromCamline. getInsolflashcontrolFl1( ) ) ;
woPackagingBoxSubstrate. setInsolflashcontrolFl2( extendArgFromCamline. getInsolflashcontrolFl2( ) ) ;
woPackagingBoxSubstrate. setInsolmppFl1( extendArgFromCamline. getInsolmppFl1( ) ) ;
woPackagingBoxSubstrate. setInsolmppFl2( extendArgFromCamline. getInsolmppFl2( ) ) ;
woPackagingBoxSubstrate. setInsolvocFl1( extendArgFromCamline. getInsolvocFl1( ) ) ;
woPackagingBoxSubstrate. setInsolvocFl2( extendArgFromCamline. getInsolvocFl2( ) ) ;
woPackagingBoxSubstrate. setInsolFl1( extendArgFromCamline. getInsolFl1( ) ) ;
woPackagingBoxSubstrate. setInsolFl2( extendArgFromCamline. getInsolFl2( ) ) ;
woPackagingBoxSubstrate. setIscFl1( extendArgFromCamline. getIscFl1( ) ) ;
woPackagingBoxSubstrate. setIscFl2( extendArgFromCamline. getIscFl2( ) ) ;
woPackagingBoxSubstrate. setMeasTimeFl1( extendArgFromCamline. getMeasTimeFl1( ) ) ;
woPackagingBoxSubstrate. setMeasTimeFl2( extendArgFromCamline. getMeasTimeFl2( ) ) ;
woPackagingBoxSubstrate. setPmppFl1( extendArgFromCamline. getPmppFl1( ) ) ;
woPackagingBoxSubstrate. setPmppFl2( extendArgFromCamline. getPmppFl2( ) ) ;
woPackagingBoxSubstrate. setTcellFl1( extendArgFromCamline. getTcellFl1( ) ) ;
woPackagingBoxSubstrate. setTcellFl2( extendArgFromCamline. getTcellFl2( ) ) ;
woPackagingBoxSubstrate. setTmonicellFl1( extendArgFromCamline. getTmonicellFl1( ) ) ;
woPackagingBoxSubstrate. setTmonicellFl2( extendArgFromCamline. getTmonicellFl2( ) ) ;
woPackagingBoxSubstrate. setUmppFl1( extendArgFromCamline. getUmppFl1( ) ) ;
woPackagingBoxSubstrate. setUmppFl2( extendArgFromCamline. getUmppFl2( ) ) ;
woPackagingBoxSubstrate. setUocFl1( extendArgFromCamline. getUocFl1( ) ) ;
woPackagingBoxSubstrate. setUocFl1( extendArgFromCamline. getUocFl2( ) ) ;
substrateServiceBiz. insert( woPackagingBoxSubstrate) ;
//=============== MES 业务 结束 =================
//三. 当MES完成任务后, 把MesToPlc.SubArrivedFinish变量置为true, 告诉plc, 我操作完成了
write( S7Client. S7_KUKA, Step1Mes2PlcVar. SubArrivedFinish, true ) ;
//四. mes 监控 到PlcToMes.SubArrived==false, 就把MesToPlc.SubArrivedFinish置为false
Integer subArrived2 = waitingForTarget( Step1Plc2MesVar. SubArrivedToMes, false ) ;
if ( subArrived2 ! = 1 ) {
logger. info ( " 失败 " + " --- " + " MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败" ) ;
}
write( S7Client. S7_KUKA, Step1Mes2PlcVar. SubArrivedFinish, false ) ;
logger. info ( " 采集到的基板id : " + subId ) ;
logger. info ( " ================= 过程一 任务成功完成 ==================" ) ;
logger. info ( " " ) ;
}
} , 1 , 1 , TimeUnit. SECONDS) ;
kukaStep2. scheduleAtFixedRate( new Runnable ( ) {
@Override
public void run ( ) {
//调度开始
logger. info ( " " ) ;
logger. info ( " ================= 现在开始执行 过程二 任务 ==================" ) ;
Integer shelfIsFull = waitingForTarget( Step2Plc2MesVar. ShelfIsFull, true ) ;
if ( shelfIsFull ! = 1 ) {
logger. info ( " 失败 " + " --- " + " MES监听 Step2Plc2MesVar.ShelfIsFull 是否 等于 1 失败" ) ;
}
//一. 从plc 中获取 subIdList 和 lineNum
String[ ] subIdList = ( String [ ] ) read ( S7Client. S7_KUKA, Step2Plc2MesVar. SubIdList) ;
// Integer lineNum = (Integer) read(S7Client.S7_KUKA,Step2Plc2MesVar.LineNum);
//二. MES 业务
//=============== MES 业务 开始 =================
//1.MES 生成BoxId
if ( subIdList. length< = 0 ) {
logger. info ( " 失败 " + " --- " + " 从plc里面获取到的基板列表 为空" ) ;
}
WoPackagingBoxSubstrate bySubId = substrateServiceBiz. getBySubId( subIdList[ 0 ] ) ;
String boxId = getBoxId( bySubId. getSapMaterial( ) ) ;
//2. 依次update 基板表, 把boxId 赋予这些基板
for( int i = 0 ; i < subIdList. length; i + + ) {
substrateServiceBiz. updatePackagingBoxIdByWoSubstrateId( boxId , subIdList [ i ] ) ;
}
//3.去camline数据库 查询此基板ID 对应的订单
String orderNameBySubId = service. getOrderNameBySubId( subIdList[ 0 ] ) ;
//4. box信息录入到box表
WoPackagingBox woPackagingBox = new WoPackagingBox( ) ;
woPackagingBox. setBoxNo( boxId ) ;
woPackagingBox. setPackagingTime( LocalDateTime. now ( ) ) ;
woPackagingBox. setPowerLevel( bySubId. getPowerLevel( ) ) ;
woPackagingBox. setLineBody( bySubId. getLineBody( ) ) ;
woPackagingBox. setSapMaterial( bySubId. getSapMaterial( ) ) ;
woPackagingBox. setOrderNum( orderNameBySubId) ;
//1-手动模式, 2-自动模式
woPackagingBox. setModel( 2 ) ;
boxServiceBiz. insert( woPackagingBox) ;
//=============== MES 业务 结束 =================
//三. 把生成的BoxId 告诉kuka
write( S7Client. S7_KUKA, Step2Mes2PlcVar. BoxId , boxId ) ;
//四. 当MES完成任务后, 把MesToPlc.ShelfIsFullFinish变量置为true, 告诉plc, 我操作完成了
write( S7Client. S7_KUKA, Step2Mes2PlcVar. ShelfIsFullFinish, true ) ;
//四. mes 监控 到PlcToMes.SubArrived==false, 就把MesToPlc.SubArrivedFinish置为false
Integer subArrived2 = waitingForTarget( Step2Plc2MesVar. ShelfIsFull, false ) ;
if ( subArrived2 ! = 1 ) {
logger. info ( " 失败 " + " --- " + " 步骤1. MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败" ) ;
}
write( S7Client. S7_KUKA, Step2Mes2PlcVar. ShelfIsFullFinish, false ) ;
logger. info ( " ================= 过程二 任务成功完成 ==================" ) ;
logger. info ( " " ) ;
}
} , 1 , 1 , TimeUnit. SECONDS) ;
kukaStep3. scheduleAtFixedRate( new Runnable ( ) {
@Override
public void run ( ) {
//调度开始
logger. info ( " " ) ;
logger. info ( " ================= 现在开始执行 过程三 任务 ==================" ) ;
Integer shelfIsFull = waitingForTarget( Step3Plc2MesVar. ShelfIsFullArrived, true ) ;
if ( shelfIsFull ! = 1 ) {
logger. info ( " 失败 " + " --- " + " MES监听 Step3Plc2MesVar.ShelfIsFullArrived 是否 等于 1 失败" ) ;
}
//一. 从plc 中获取 subIdList 和 lineNum
String boxId = ( String ) read ( S7Client. S7_KUKA, Step3Plc2MesVar. BoxId ) ;
Integer lineNum = ( Integer ) read ( S7Client. S7_KUKA, Step3Plc2MesVar. LineNum) ;
//二. MES 业务
//=============== MES 业务 开始 =================
//1. box信息录入到box表
boxServiceBiz. updateIsArrivedByBoxNo( 1 , boxId ) ;
//=============== MES 业务 结束 =================
//四. 当MES完成任务后, 把MesToPlc.ShelfIsFullArrivedFinish变量置为true, 告诉plc, 我操作完成了
write( S7Client. S7_KUKA, Step3Mes2PlcVar. ShelfIsFullArrivedFinish, true ) ;
//四. mes 监控 到PlcToMes.SubArrived==false, 就把MesToPlc.SubArrivedFinish置为false
Integer subArrived2 = waitingForTarget( Step3Plc2MesVar. ShelfIsFullArrived, false ) ;
if ( subArrived2 ! = 1 ) {
logger. info ( " 失败 " + " --- " + " 步骤1. MES监听 Step3Plc2MesVar.ShelfIsFullArrived 是否 等于 1 失败" ) ;
}
write( S7Client. S7_KUKA, Step3Mes2PlcVar. ShelfIsFullArrivedFinish, false ) ;
logger. info ( " ================= 过程三 任务成功完成 ==================" ) ;
logger. info ( " " ) ;
}
} , 1 , 1 , TimeUnit. SECONDS) ;
// kukaStep1. scheduleAtFixedRate(new Runnable() {
// @Override
// public void run() {
// //调度开始
// logger.info("") ;
// logger.info(" ================= 现在开始执行 过程一 任务 ==================") ;
// Integer subArrived = waitingForTarget( Step1Plc2MesVar. SubArrivedToMes, true) ;
// if( subArrived != 1) {
// logger.info("失败"+" --- "+" MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败") ;
// }
//
// //一. 从plc 中获取 subId 和 lineNum
// String subId = (String) read( S7Client. S7_KUKA, Step1Plc2MesVar. SubIdToMes) ;
// Integer lineNum = (Integer) read( S7Client. S7_KUKA, Step1Plc2MesVar. LineNum) ;
//
// //二. MES 业务
// //=============== MES 业务 开始 =================
// //1. 从comline数据库中获取 实际pmpp
// float pmppBySubId = service. getPMPPBySubId(subId) ;
// //2. 匹配和计算补偿功率
// float actualPMPP = compensationPowerServiceBiz. calculCompensationPMPP( pmppBySubId, lineNum) ;
// //3. 依据补偿功率, 获取工艺参数, 并且把这些工艺参数传给kuka
// WoPowerLevel argByPMPP = levelServiceBiz. getArgByPMPP( actualPMPP, lineNum) ;
// write( S7Client. S7_KUKA, Step1Mes2PlcVar. dLable_Pnom, Integer. valueOf( argByPMPP. getPowerClass())) ;
// write( S7Client. S7_KUKA, Step1Mes2PlcVar. dLable_Voc, argByPMPP. getLableVoc()) ;
// write( S7Client. S7_KUKA, Step1Mes2PlcVar. dLable_Isc, argByPMPP. getLableIsc()) ;
// write( S7Client. S7_KUKA, Step1Mes2PlcVar. dLable_Vmpp, argByPMPP. getLableVmpp()) ;
// write( S7Client. S7_KUKA, Step1Mes2PlcVar. dLable_Impp, argByPMPP. getLableImpp()) ;
//
//
// //4. 把基板录到数据库
// WoPackagingBoxSubstrate woPackagingBoxSubstrate = new WoPackagingBoxSubstrate() ;
// woPackagingBoxSubstrate. setLineBody( lineNum) ;
// woPackagingBoxSubstrate. setPowerLevel( argByPMPP. getPowerClass()) ;
// woPackagingBoxSubstrate. setSapMaterial( argByPMPP. getSapMaterialNum()) ;
// woPackagingBoxSubstrate. setWoSubstrateId(subId) ;
//
// //5. 从camline那里获取可变字段
// CamlineExtendArgDTO extendArgFromCamline = service. getExtendArgFromCamline(subId) ;
// woPackagingBoxSubstrate. setLastUpdateTime( extendArgFromCamline. getLastUpdateTime()) ;
// woPackagingBoxSubstrate. setPmpp( actualPMPP) ;
// woPackagingBoxSubstrate. setOrderName( extendArgFromCamline. getOrderName()) ;
// woPackagingBoxSubstrate. setBinclassFl1( extendArgFromCamline. getBinclassFl1()) ;
// woPackagingBoxSubstrate. setBinclassFl2( extendArgFromCamline. getBinclassFl2()) ;
// woPackagingBoxSubstrate. setEtaFl1( extendArgFromCamline. getEtaFl1()) ;
// woPackagingBoxSubstrate. setEtaFl2( extendArgFromCamline. getEtaFl2()) ;
// woPackagingBoxSubstrate. setFfFl1( extendArgFromCamline. getFfFl1()) ;
// woPackagingBoxSubstrate. setFfFl2( extendArgFromCamline. getFfFl2()) ;
// woPackagingBoxSubstrate. setImppFl1( extendArgFromCamline. getImppFl1()) ;
// woPackagingBoxSubstrate. setImppFl2( extendArgFromCamline. getImppFl2()) ;
// woPackagingBoxSubstrate. setInsolflashcontrolFl1( extendArgFromCamline. getInsolflashcontrolFl1()) ;
// woPackagingBoxSubstrate. setInsolflashcontrolFl2( extendArgFromCamline. getInsolflashcontrolFl2()) ;
// woPackagingBoxSubstrate. setInsolmppFl1( extendArgFromCamline. getInsolmppFl1()) ;
// woPackagingBoxSubstrate. setInsolmppFl2( extendArgFromCamline. getInsolmppFl2()) ;
// woPackagingBoxSubstrate. setInsolvocFl1( extendArgFromCamline. getInsolvocFl1()) ;
// woPackagingBoxSubstrate. setInsolvocFl2( extendArgFromCamline. getInsolvocFl2()) ;
// woPackagingBoxSubstrate. setInsolFl1( extendArgFromCamline. getInsolFl1()) ;
// woPackagingBoxSubstrate. setInsolFl2( extendArgFromCamline. getInsolFl2()) ;
// woPackagingBoxSubstrate. setIscFl1( extendArgFromCamline. getIscFl1()) ;
// woPackagingBoxSubstrate. setIscFl2( extendArgFromCamline. getIscFl2()) ;
// woPackagingBoxSubstrate. setMeasTimeFl1( extendArgFromCamline. getMeasTimeFl1()) ;
// woPackagingBoxSubstrate. setMeasTimeFl2( extendArgFromCamline. getMeasTimeFl2()) ;
// woPackagingBoxSubstrate. setPmppFl1( extendArgFromCamline. getPmppFl1()) ;
// woPackagingBoxSubstrate. setPmppFl2( extendArgFromCamline. getPmppFl2()) ;
// woPackagingBoxSubstrate. setTcellFl1( extendArgFromCamline. getTcellFl1()) ;
// woPackagingBoxSubstrate. setTcellFl2( extendArgFromCamline. getTcellFl2()) ;
// woPackagingBoxSubstrate. setTmonicellFl1( extendArgFromCamline. getTmonicellFl1()) ;
// woPackagingBoxSubstrate. setTmonicellFl2( extendArgFromCamline. getTmonicellFl2()) ;
// woPackagingBoxSubstrate. setUmppFl1( extendArgFromCamline. getUmppFl1()) ;
// woPackagingBoxSubstrate. setUmppFl2( extendArgFromCamline. getUmppFl2()) ;
// woPackagingBoxSubstrate. setUocFl1( extendArgFromCamline. getUocFl1()) ;
// woPackagingBoxSubstrate. setUocFl1( extendArgFromCamline. getUocFl2()) ;
//
// substrateServiceBiz. insert( woPackagingBoxSubstrate) ;
// //=============== MES 业务 结束 =================
//
// //三. 当MES完成任务后, 把MesToPlc.SubArrivedFinish变量置为true, 告诉plc, 我操作完成了
// write( S7Client. S7_KUKA, Step1Mes2PlcVar. SubArrivedFinish,true) ;
//
// //四. mes 监控 到PlcToMes.SubArrived==false, 就把MesToPlc.SubArrivedFinish置为false
// Integer subArrived2 = waitingForTarget( Step1Plc2MesVar. SubArrivedToMes, false) ;
// if( subArrived2 != 1) {
// logger.info("失败"+" --- "+" MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败") ;
// }
// write( S7Client. S7_KUKA, Step1Mes2PlcVar. SubArrivedFinish,false) ;
// logger.info("采集到的基板id : "+subId) ;
// logger.info(" ================= 过程一 任务成功完成 ==================") ;
// logger.info("") ;
//
//
// }
// },1,1, TimeUnit. SECONDS) ;
//
//
// kukaStep2. scheduleAtFixedRate(new Runnable() {
// @Override
// public void run() {
// //调度开始
// logger.info("") ;
// logger.info(" ================= 现在开始执行 过程二 任务 ==================") ;
// Integer shelfIsFull = waitingForTarget( Step2Plc2MesVar. ShelfIsFull, true) ;
// if( shelfIsFull != 1) {
// logger.info("失败"+" --- "+" MES监听 Step2Plc2MesVar.ShelfIsFull 是否 等于 1 失败") ;
// }
//
// //一. 从plc 中获取 subIdList 和 lineNum
// String[] subIdList = (String[])read( S7Client. S7_KUKA, Step2Plc2MesVar. SubIdList) ;
//// Integer lineNum = (Integer) read(S7Client.S7_KUKA,Step2Plc2MesVar.LineNum);
//
//
// //二. MES 业务
// //=============== MES 业务 开始 =================
// //1.MES 生成BoxId
// if( subIdList. length<=0) {
// logger.info("失败"+" --- "+" 从plc里面获取到的基板列表 为空") ;
// }
// WoPackagingBoxSubstrate bySubId = substrateServiceBiz. getBySubId( subIdList[0]) ;
// String boxId = getBoxId( bySubId. getSapMaterial()) ;
// //2. 依次update 基板表, 把boxId 赋予这些基板
// for(int i=0;i< subIdList. length;i++) {
// substrateServiceBiz. updatePackagingBoxIdByWoSubstrateId(boxId,subIdList[i]) ;
// }
// //3.去camline数据库 查询此基板ID 对应的订单
// String orderNameBySubId = service. getOrderNameBySubId( subIdList[0]) ;
// //4. box信息录入到box表
// WoPackagingBox woPackagingBox = new WoPackagingBox() ;
// woPackagingBox. setBoxNo(boxId) ;
// woPackagingBox. setPackagingTime( LocalDateTime.now()) ;
// woPackagingBox. setPowerLevel( bySubId. getPowerLevel()) ;
// woPackagingBox. setLineBody( bySubId. getLineBody()) ;
// woPackagingBox. setSapMaterial( bySubId. getSapMaterial()) ;
// woPackagingBox. setOrderNum( orderNameBySubId) ;
// //1-手动模式, 2-自动模式
// woPackagingBox. setModel(2) ;
// boxServiceBiz. insert( woPackagingBox) ;
// //=============== MES 业务 结束 =================
//
// //三. 把生成的BoxId 告诉kuka
// write( S7Client. S7_KUKA, Step2Mes2PlcVar.BoxId,boxId) ;
//
// //四. 当MES完成任务后, 把MesToPlc.ShelfIsFullFinish变量置为true, 告诉plc, 我操作完成了
// write( S7Client. S7_KUKA, Step2Mes2PlcVar. ShelfIsFullFinish,true) ;
//
// //四. mes 监控 到PlcToMes.SubArrived==false, 就把MesToPlc.SubArrivedFinish置为false
// Integer subArrived2 = waitingForTarget( Step2Plc2MesVar. ShelfIsFull, false) ;
// if( subArrived2 != 1) {
// logger.info("失败"+" --- "+" 步骤1. MES监听 Step1Plc2MesVar.SubArrivedToMes 是否 等于 1 失败") ;
// }
// write( S7Client. S7_KUKA, Step2Mes2PlcVar. ShelfIsFullFinish,false) ;
// logger.info(" ================= 过程二 任务成功完成 ==================") ;
// logger.info("") ;
//
// }
// },1,1, TimeUnit. SECONDS) ;
//
//
// kukaStep3. scheduleAtFixedRate(new Runnable() {
// @Override
// public void run() {
// //调度开始
// logger.info("") ;
// logger.info(" ================= 现在开始执行 过程三 任务 ==================") ;
// Integer shelfIsFull = waitingForTarget( Step3Plc2MesVar. ShelfIsFullArrived, true) ;
// if( shelfIsFull != 1) {
// logger.info("失败"+" --- "+" MES监听 Step3Plc2MesVar.ShelfIsFullArrived 是否 等于 1 失败") ;
// }
//
// //一. 从plc 中获取 subIdList 和 lineNum
// String boxId = (String)read( S7Client. S7_KUKA, Step3Plc2MesVar.BoxId) ;
// Integer lineNum = (Integer) read( S7Client. S7_KUKA, Step3Plc2MesVar. LineNum) ;
//
//
// //二. MES 业务
// //=============== MES 业务 开始 =================
// //1. box信息录入到box表
// boxServiceBiz. updateIsArrivedByBoxNo(1,boxId) ;
// //=============== MES 业务 结束 =================
//
//
// //四. 当MES完成任务后, 把MesToPlc.ShelfIsFullArrivedFinish变量置为true, 告诉plc, 我操作完成了
// write( S7Client. S7_KUKA, Step3Mes2PlcVar. ShelfIsFullArrivedFinish,true) ;
//
// //四. mes 监控 到PlcToMes.SubArrived==false, 就把MesToPlc.SubArrivedFinish置为false
// Integer subArrived2 = waitingForTarget( Step3Plc2MesVar. ShelfIsFullArrived, false) ;
// if( subArrived2 != 1) {
// logger.info("失败"+" --- "+" 步骤1. MES监听 Step3Plc2MesVar.ShelfIsFullArrived 是否 等于 1 失败") ;
// }
// write( S7Client. S7_KUKA, Step3Mes2PlcVar. ShelfIsFullArrivedFinish,false) ;
// logger.info(" ================= 过程三 任务成功完成 ==================") ;
// logger.info("") ;
//
// }
// },1,1, TimeUnit. SECONDS) ;
}