1. 程式人生 > >基於win32api的PLC與MFC通訊

基於win32api的PLC與MFC通訊

作者使用歐姆龍PLC,採用FCS校驗,用Win32API,在MFC上實現通訊。

話說,這個賊簡單,直接上程式碼

(1)首先,建立埠,並初始化引數。

hCom=CreateFile("COM4", GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
SetupComm(hCom,1024,1024);		
GetCommState(hCom, &myDCB);
myDCB.BaudRate=9600;// 波特率
myDCB.fBinary=TRUE;// 通訊方式=二進位制
myDCB.fParity=TRUE;// 奇偶校驗 TRUE=使用,FALSE=不使用
myDCB.Parity=2; // 校驗方式:0-無 1-奇 2-偶 3-標誌 4-空格
myDCB.ByteSize=7;// 資料位數
myDCB.StopBits=2;// 停止位數:0-1位 1-1.5位 2-2位
SetCommState(hCom, &myDCB);

(2)然後直接傳送  讀取資料。

BYTE datas[17] = {'@',48,48,'R','R',48,49,48,48,48,48,48,49,52,48,'*',13};
WriteFile(hCom, &datas, 17, NULL, NULL);  //往緩衝區發資料
BYTE myByte[15];
ReadFile(hCom, &myByte, 15, NULL, NULL);//讀取緩衝區資料

(3)同樣,如果需要多次傳送和接收請求,用【while】或【定時器】或【執行緒】。

完事兒!!!