COM組件技術(shù)在現場(chǎng)總線(xiàn)控制系統組態(tài)軟件中的應用
//包含其它頭文件
…………
PARAMS pDIOCParams
{
PMAPDEVREQUEST pRea; //自己定義的結構體
switch(pDIOCParams->dioc_IOCtlCode)
{
case DIOC_OPEN:
case DIOC_CLOSEHANDLE:break;
case MDR_SERVICE_MAP:
pReq=*(PMAPDEVREQUEST*)pDIOCParams->dioc_InBuf;
pReq->mdr_LinearAddress=MapPhysToLinear
(pReq->mdr_PhysicalAddress,pReq->mdr_SizeInBytes,0);
if(pReq->mdr_LinearAddress==NULL)
pReq->mdr_Status=MDR_STATUS_ERROR;
else
pReq->mdr_Status=MDR_STATUS_SUCCESS;
break;
case MDR_SERVICE_UNMAP:break;
default:
return ERROR_INVALID_FUNCTION;
}
return DEVIOCTL_NOERROR;
}
在現場(chǎng)總線(xiàn)控制系統中使用COM組件技術(shù),不僅可以使數據傳輸部分的功能獨立于客戶(hù)端程序,減小開(kāi)發(fā)難度,而且使其可以被任何支持二進(jìn)制代碼的程序如Excel電子表格等直接調用。當系統中采用服務(wù)器和客戶(hù)端方式時(shí),代碼更加易于維護。即使要升級服務(wù)器端程序,只要接口不變,其客戶(hù)端程序也完全不需要修改,大量后續工作被減輕。象服務(wù)器端一樣,客店端也只需關(guān)心服務(wù)器的接口,而不必考慮其如何實(shí)現數據交換。也就是說(shuō),COM服務(wù)器或客戶(hù)機中的一端功能發(fā)生改變,只要其接口保持不變,另一端不需修改就可以工作。本文所介紹的技術(shù)已在勝利油田某注水站等實(shí)際工程項目中得到成功的應用。
評論