8.PMAC上位機-VC編程環境配置

來源:互聯網
上載者:User

標籤:運動控制   pmac   pcomm32   下位機   通訊   

前面講的知識都是在PE-WIN32中操作的,都是針對PMAC下位機編程的,現在開始講解PMAC上位機——PC端如何與PMAC通訊:給PMAC發送控制訊號及處理PMAC的中斷響應。本文先說PMAC VC編程的環境配置。


1.檔案夾結構

PMAC PC編程必須安裝PComm32,安裝完檔案夾結構如下:



Pmactest.exe用於在PAMC按完成後測試當前安裝是否成功,PmacTest是該程式的源碼

PCOMM32PRO.HLP是PComm32的編程協助手冊

VCTest和VBTest檔案夾是上位機編程的小Demo

Driver (Debug Version)檔案夾裡是PMAC的各種驅動和動態連結程式庫及其匯入庫等

Include檔案尾PMAC的介面標頭檔


2.驅動結構模型

Driver (Debug Version)檔案夾內容如下


這裡提供了Pcomm32.dll動態連結程式庫和匯入庫Pcomm32.lib,.sys都是PMAC的各種介面的驅動。


PMAC的整個驅動結構模型如:


可以看到,我們針對動態連結程式庫提供介面編程就行了


3.代碼示範

  • 1.開啟VCTest目錄,會發現有myRuntime.h和myRuntime.cpp檔案,連同上面的Pcomm32.dll一同拷貝進當前項目目錄。
  • 2.然後將myRuntime.h和myRuntime.cpp添加到當前項目中
  • 3.就可以開始使用了


最簡單的測試程式如下:

建立MFC程式PmacConnect,PmacConnectDlg.cpp引入標頭檔

//添加PComm操作庫標頭檔#include "myRuntime.h"
添加一個按鈕響應,如下:

void CPmacConnectDlg::OnConnect() {//動態載入Pcomm32.dll函數if (NULL != OpenRuntimeLink()){AfxMessageBox(TEXT("載入Pcomm32.dll成功!"));}else{AfxMessageBox(TEXT("載入Pcomm32.dll失敗!"));return;}//開啟指定卡號PMAC,這裡開啟0號卡if (TRUE == OpenPmacDevice(0)){AfxMessageBox(TEXT("開啟PMAC成功!"));}else{AfxMessageBox(TEXT("開啟PMAC失敗!"));}//關閉到PMAC串連ClosePmacDevice(0);//動態關閉Pcomm32.dll的使用CloseRuntimeLink();}


這裡myRuntime.h和myRuntime.cpp封裝了動態載入PComm.dll的函數,其實就是LoadLibrary的調用,感興趣的可以自己看一下。這裡只封裝了常用部分的,需要的自己可以仿照它的形式從Include/Runtime.h中找到對應函數的原型來添加封裝。

這裡只是為了測試連接功能,實際編寫程式的時候,我們需要在InitInstance或InitDialog時初始化串連,在程式退出的時候關閉串連。簡單來說就是最開始開啟一次和最後關閉一次串連,不需要每次操作時都要頻繁的開啟和關閉。


代碼示範下載連結


原創,轉載請註明來自http://blog.csdn.net/wenzhou1219

8.PMAC上位機-VC編程環境配置

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.