|  |  |  | 
|---|
|  |  |  | * @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) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|