diff --git a/silecs-communication-cpp/src/silecs-communication/interface/core/PLCRecvAction.cpp b/silecs-communication-cpp/src/silecs-communication/interface/core/PLCRecvAction.cpp index 9dae94d9cef4ce43d65d500c8841ae66a144f901..92230bc9f55862f82423578699d112534c5d0da4 100644 --- a/silecs-communication-cpp/src/silecs-communication/interface/core/PLCRecvAction.cpp +++ b/silecs-communication-cpp/src/silecs-communication/interface/core/PLCRecvAction.cpp @@ -59,6 +59,7 @@ int PLCRecvBlockMode::execute(Context* pContext) int errorCode = 0; Connection* pConn = theBlock_->getPLC()->getConnection(); + AccessArea area = theBlock_->getAccessArea(); try { @@ -69,7 +70,6 @@ int PLCRecvBlockMode::execute(Context* pContext) Device* pDev = pContext->getDevice(); //Base attributes of the device within the complete data block containing all devices. - AccessArea area = theBlock_->getAccessArea(); unsigned long usedAddress = theBlock_->getAddress(); unsigned long usedSize = theBlock_->getMemSize(); unsigned long usedDeviceOffset = pDev->getInputAddress(area) * usedSize; @@ -148,7 +148,6 @@ int PLCRecvBlockMode::execute(Context* pContext) //begin critical section Lock lock(bufferMux_); - AccessArea area = theBlock_->getAccessArea(); switch (area) { case Digital: @@ -204,6 +203,7 @@ int PLCRecvDeviceMode::execute(Context* pContext) timeval tod; //Time-of-day for register time-stamping int errorCode = 0; Connection* pConn = theBlock_->getPLC()->getConnection(); + AccessArea area = theBlock_->getAccessArea(); try { @@ -214,7 +214,6 @@ int PLCRecvDeviceMode::execute(Context* pContext) Device* pDev = pContext->getDevice(); //Set base attributes of the device blocks - AccessArea area = theBlock_->getAccessArea(); unsigned long usedDeviceAddress = pDev->getInputAddress(area); unsigned long usedBlockAddress = theBlock_->getAddress(); unsigned long usedSize = theBlock_->getMemSize(); @@ -297,7 +296,6 @@ int PLCRecvDeviceMode::execute(Context* pContext) } //begin critical section Lock lock(bufferMux_); - AccessArea area = theBlock_->getAccessArea(); switch (area) { case Digital: