| | |
| | | * @param code |
| | | * @param callbackCom |
| | | */ |
| | | public void trigger(String rtuAddr, String code, String protocolName, Short protocolVersion, Callback callbackCom){ |
| | | public void trigger(String rtuAddr, String code, String protocolName, Short protocolVersion, Callback callbackCom, Object ...objects){ |
| | | if(this.upgradeRtus != null && this.upgradeRtus.size() > 0 |
| | | && this.taskVo.rtuAddrList != null && this.taskVo.rtuAddrList.size() > 0){ |
| | | UpgradeRtu ugRtu = this.upgradeRtus.get(rtuAddr) ; |
| | |
| | | //初始态,说明升级任务设置以来,该RTU第一次上行数据 |
| | | if(this.curUgRunningRtuTotal <= UpgradeUnit.confVo.ugMaxRtuAtOnce){ |
| | | //当前正在升级的RTU数量还未受限 |
| | | ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ; |
| | | ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ; |
| | | }else{ |
| | | //同时升级的RTU数量受限,等待下次机会 |
| | | //但先表明一下状态 |
| | |
| | | //根据上面逻辑, 说明必然在线了 |
| | | if(this.curUgRunningRtuTotal <= UpgradeUnit.confVo.ugMaxRtuAtOnce){ |
| | | //当前正在升级的RTU数量还未受限 |
| | | ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ; |
| | | ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ; |
| | | }else{ |
| | | //同时升级的RTU数量受限,等待下次机会 |
| | | return ; |
| | | } |
| | | }else{ |
| | | //RTU已经处于升级过程中 |
| | | ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ; |
| | | ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ; |
| | | } |
| | | }else{ |
| | | //没有设置同时升级的RTU最大数量的限制 |
| | | ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom) ; |
| | | ugRtu.trigger(code, protocolName, protocolVersion, this.softFileDataGrp, callbackCom, objects) ; |
| | | } |
| | | } |
| | | } |