1、背景
pmac
是一系列控制卡的簡稱,常用的有
pmac1
、pmac2
、turbo pmac1
、turbo pmac2
、umac
、clipper
等,基本功能和使用方法是一樣的。在複雜條件下將預定的控制方案、規劃指令轉變成期望的機械運動,實現機械運動精確的位置控制、速度控制、加速度(轉矩
)的控制。pmac
是一系列控制卡的簡稱,常用的有
pmac1
、pmac2
、turbo pmac1
、turbo pmac2
、umac
、clipper
等,基本功能和使用方法是一樣的。在複雜條件下將預定的控制方案、規劃指令轉變成期望的機械運動,實現機械運動精確的位置控制、速度控制、加速度(轉矩
)的控制。
2、上位機應用
1)vc
程式設計的環境配置
pmacpc
程式設計必須安裝
pcomm32驅動程式,開啟
vctest
目錄,會發現有
myruntime.h
和myruntime.cpp
檔案,連同上面的
pcomm32.dll
一同拷貝進當前專案目錄。然後將
myruntime.h
和myruntime.cpp
新增到當前專案中,就可以開始使用了。
2)pmac卡初始化連線
bool bpmac = false;
cstring strre = "";
if (!openpmacdevice(0)) //pmac卡初始化連線
else
3)資料收發
dword m_dcard;//電機所屬卡號
char m_response[255];//反饋
uint m_maxchar;//傳送的指令的最大長度
char m_command[255];//命令
lstrcpy(szcmd,
"#6j+"
); //命令填充
pmacgetresponsea(m_dcard, m_response, m_maxchar, m_command);// 資料收發
4)中斷通訊(下位機通知上位機)
中斷處理函式:
void winapi interruptfunc(dword msg, pintrbuffer pbuffer)
int temp613,pvarible;
temp613 = g_pctrlcenter->getctrlcard()->getparam(m613)->getparamvalue();
//main process
if ( temp613 == 1)
if ( g_pctrlcenter->getctrlcard()->getparam(p81)->getparamvalue() == 1 )
if ( g_pctrlcenter->getctrlcard()->getparam(p81)->getparamvalue() == 1 )
g_pctrlcenter->getctrlcard()->getparam(m613)->setparamvalue(0);
} //post-process
return;
}
註冊中斷處理函式:
//中斷函式繫結
if( false == pmacintrfunccallinit(pmac_num, interruptfunc, 0, 0xff1f))
PMAC上位機程式設計基礎1 程式設計環境配置
最近看了一篇上海交通大學的碩士畢業 提到了關於pmac的上位機程式設計,覺得蠻有意思。於是也想寫乙個小介面試一試。看了兩三天文件,經過n次除錯,終於完成了實現電機jog運動的介面,其實回過頭來想想,還是蠻簡單的。一般,運動控制卡都配有開放的函式庫供使用者在dos或windows系統平台下自行開發 構...
上位機 下位機
上位機是指 人可以直接發出操控命令的計算機,一般是pc,螢幕上顯示各種訊號變化 液壓,水位,溫度等 下位機是直接控制裝置獲取裝置狀況的的計算機,一般是plc 微控制器之類的。上位機發出的命令首先給下位機,下位機再根據此命令解釋成相應時序訊號直接控制相應裝置。下位機不時讀取裝置狀態資料 一般模擬量 轉...
上位機與下位機
上位機一般是集中管理監控機,下位機是指現場直接控制器或控制機。上位機面向管理級使用者,下位機面向底層裝置控制。上位機 上位監視系統,一般為計算機系統 監控軟體 下位機 控制系統的現場執行系統,一般為plc等裝置。上位機是指人可以直接發出操控命令的計算機,一般是pc,螢幕上顯示各種訊號變化 液壓,水位...