網(wǎng)上有很多關(guān)于pos機(jī)自動(dòng)鎖螺絲機(jī),非標(biāo)自動(dòng)化之運(yùn)動(dòng)控制卡編程及應(yīng)用的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)自動(dòng)鎖螺絲機(jī)的問(wèn)題,今天pos機(jī)之家(www.tjfsxbj.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來(lái)看下吧!
本文目錄一覽:
pos機(jī)自動(dòng)鎖螺絲機(jī)
目 錄
一、運(yùn)動(dòng)控制簡(jiǎn)介
二、運(yùn)動(dòng)控制系統(tǒng)組成
三、運(yùn)動(dòng)控制卡特性
四、運(yùn)動(dòng)控制卡選型
五、運(yùn)動(dòng)控制卡在高級(jí)編程語(yǔ)言中的使用
六、凌華AMP-204C編程流程
一、運(yùn)動(dòng)控制簡(jiǎn)介
簡(jiǎn)單地說(shuō),運(yùn)動(dòng)控制就是對(duì)機(jī)械運(yùn)動(dòng)部件的位置、速度等進(jìn)行實(shí)時(shí)的控制管理,使其按照規(guī)劃的運(yùn)動(dòng)軌跡和規(guī)定的運(yùn)動(dòng)參數(shù)進(jìn)行運(yùn)動(dòng)。
運(yùn)動(dòng)控制卡是基于PCI總線的高集成度、高可靠度的脈沖式運(yùn)動(dòng)控制卡。
常用的運(yùn)動(dòng)控制卡品牌有研華運(yùn)動(dòng)控制卡,凌華運(yùn)動(dòng)控制卡,雷賽運(yùn)動(dòng)控制卡等
二、運(yùn)動(dòng)控制系統(tǒng)組成
運(yùn)動(dòng)控制卡:速度曲線規(guī)劃、路徑規(guī)劃、位置脈沖輸出
驅(qū)動(dòng)器: 把普通電能轉(zhuǎn)化為電機(jī)所需要的電能
電 機(jī): 產(chǎn)生推動(dòng)負(fù)載的扭矩
位置傳感器: 提供機(jī)械移動(dòng)部件實(shí)時(shí)的位置和速度
2.1 死循環(huán)控制系統(tǒng)
特點(diǎn):
?運(yùn)動(dòng)控制卡送出速度控制命令,驅(qū)動(dòng)電機(jī)運(yùn)動(dòng)
?在運(yùn)動(dòng)控制卡上做PID增益調(diào)節(jié),定位精度高
2.2 半死循環(huán)控制系統(tǒng)
特點(diǎn):
?運(yùn)動(dòng)控制卡送出位置與速度命令
?在運(yùn)動(dòng)控制卡上做PID增益調(diào)節(jié),定位精度比死循環(huán)差
2.3 開環(huán)控制系統(tǒng)
特點(diǎn):
?運(yùn)動(dòng)控制卡送出位置與速度命令
? 定位精度最差
三、運(yùn)動(dòng)控制卡特性
3.1 點(diǎn)對(duì)點(diǎn)運(yùn)動(dòng)
?點(diǎn)對(duì)點(diǎn)運(yùn)動(dòng)是指在預(yù)定的速度規(guī)劃下控制某一軸由 A 位置移動(dòng)到 B 位置。
3.2 直線插補(bǔ)
、?運(yùn)動(dòng)軌跡是直線。為了完成多維直線運(yùn)動(dòng),需要任意2軸, 3軸或甚至6軸都需要進(jìn)行線性插補(bǔ)。
3.3 圓弧插補(bǔ)
?運(yùn)動(dòng)軌跡是圓弧。為了完成多維圓弧運(yùn)動(dòng),需要任意2軸或3軸進(jìn)行圓弧插補(bǔ)。
3.4 點(diǎn)表運(yùn)動(dòng)
運(yùn)動(dòng)控制卡開辟一個(gè)N字節(jié)的緩存區(qū)存放大量的位置信息,用戶通過(guò)相關(guān)的函數(shù)來(lái)達(dá)成多線段的連續(xù)運(yùn)動(dòng)。點(diǎn)表運(yùn)動(dòng)包含了一系列的直線插補(bǔ)和圓弧插補(bǔ)指令。
3.5 多軸同步運(yùn)動(dòng)
多軸同步運(yùn)動(dòng)指用戶可以設(shè)定某一軸 ( 從軸) 和另一軸( 主軸) 的同步運(yùn)動(dòng)關(guān)系,這個(gè)關(guān)系類似機(jī)械上的齒輪結(jié)構(gòu)。
3.6 位置比較觸發(fā)
?用戶先確定一個(gè)電機(jī)運(yùn)動(dòng)位置表,運(yùn)動(dòng)控制卡會(huì)把當(dāng)前電機(jī)運(yùn)動(dòng)位置與這個(gè)位置表進(jìn)行比較,一旦位置符合,運(yùn)動(dòng)控制器就會(huì)發(fā)出一個(gè)或者一串觸發(fā)脈沖。
四、運(yùn)動(dòng)控制卡選型
4.1 運(yùn)動(dòng)控制卡接口選擇
運(yùn)動(dòng)控制卡一般有PCI、RS232、RS485、網(wǎng)口、USB等幾種接口。
如果運(yùn)算量比較大、功能復(fù)雜,選擇PCI和工控機(jī)比較好,工控機(jī)具備PCI卡槽,運(yùn)動(dòng)控制卡一般都支持多種高級(jí)程序設(shè)計(jì)語(yǔ)言,利于程序開發(fā)。
如果選擇HMI(人機(jī)界面)配合運(yùn)動(dòng)控制卡進(jìn)行運(yùn)動(dòng)控制,則RS232、RS485 和網(wǎng)口是比較好的選擇,因?yàn)镠MI一般都帶有這樣的接口;另外需要運(yùn)動(dòng)控制卡具有標(biāo)準(zhǔn)的通信協(xié)議。
如果用單片機(jī)/DSP/FPGA做主控進(jìn)行控制,則RS232是比較好的選擇,因?yàn)?一般的這樣的主控都具有RS232接口,物理上非常方便連接。
4.2 運(yùn)動(dòng)控制卡功能選擇
運(yùn)動(dòng)控制卡一般能實(shí)現(xiàn)的功能是比較相似的,一般都包括歸零、定速、點(diǎn)位 、直線插補(bǔ)、多軸聯(lián)動(dòng)插補(bǔ)和圓弧插補(bǔ)等功能。用戶要根據(jù)自己的需要進(jìn)行選擇,功能的要求一般是符合自己用就可以,沒(méi)必要多而全,從軟件工程的角度來(lái)說(shuō),功能越多,可靠性越低,不需要的功能反而是累贅。一般的情況下,功能越多,價(jià)格也越高。所以功能的選擇上,一般以夠用為標(biāo)準(zhǔn),可以適當(dāng)考慮未來(lái)的擴(kuò)展。
4.3 運(yùn)動(dòng)控制卡性能選擇
運(yùn)動(dòng)控制卡的性能一般包括通信速度、響應(yīng)速度和控制速度(脈沖速度)。用戶需要根據(jù)自己的應(yīng)用的最高要求,計(jì)算自己需要的性能指針,然后預(yù)留 20%左右的余量,一般都可以滿足未來(lái)的要求,沒(méi)有必要進(jìn)行個(gè)別指標(biāo)的強(qiáng) 烈追求,需要綜合進(jìn)行考慮,否則會(huì)付出不必要的成本。比如步進(jìn)控制器的 一般接收脈沖的能力是80KHz左右,你選1MHz的脈沖速度,是沒(méi)有任何意義 的。如果根據(jù)整機(jī)設(shè)計(jì)計(jì)算出需要達(dá)到的精度需要500KHz,那一定要選擇滿 足這個(gè)要求的運(yùn)動(dòng)控制卡。
4.4 運(yùn)動(dòng)控制卡可靠性選擇
用戶使用運(yùn)動(dòng)控制卡,一定非常關(guān)心運(yùn)動(dòng)控制卡的穩(wěn)定性。一個(gè)控制系統(tǒng)的 穩(wěn)定性,是由幾個(gè)部分組成的,包括電機(jī)和驅(qū)動(dòng)的可靠性(比如驅(qū)動(dòng)器)、 整機(jī)電子學(xué)的可靠性(比如電源)、運(yùn)動(dòng)控制卡硬件的可靠性、運(yùn)動(dòng)控制卡 嵌入式軟件的可靠性、主控軟件的可靠性(比如HMI的組態(tài)軟件,PC軟件異 常情況處理等)。一般的能經(jīng)過(guò)市場(chǎng)檢驗(yàn)的運(yùn)動(dòng)控制卡,在隔離設(shè)計(jì)(比如 電源隔離、光耦隔離等)、濾波和保護(hù)(限位保護(hù)、接口保護(hù))等都是有考 慮的,能力上不會(huì)有多大的差別。
4.5 運(yùn)動(dòng)控制卡價(jià)格選擇
選擇性價(jià)比高的運(yùn)動(dòng)控制卡
4.6 運(yùn)動(dòng)控制卡易用性選擇
易用性包括硬件的易用性和軟件的易用性。硬件的易用性需要聯(lián)機(jī)方便實(shí)用 ,從用戶方便實(shí)用的角度考慮,比如一個(gè)接插件螺絲空位上需要插入十幾根電線再擰螺絲是很難的,也不可靠的。軟件的易用性包括文文件的質(zhì)量、例程的質(zhì)量和軟件入手的難度上,重要的是能快速有效的完成自己需要的功能,而不是很復(fù)雜很難用。
五、運(yùn)動(dòng)控制卡在高級(jí)編程語(yǔ)言中的使用
5.1.在VS2010中創(chuàng)建程序
5.1.1.啟動(dòng)Visual Studio 2010,選擇“文件”→“新建” →“項(xiàng)目”→“Windows窗體應(yīng)用程序”
名稱可自主選擇如“Motion”;
5.1.2.點(diǎn)擊方案資源管理器,點(diǎn)擊引用,鼠標(biāo)右鍵點(diǎn)擊選擇添加引用,加入需要添加的引用,如研華1245AE加入的引用為“AdvMotAPI.dll”;
5.1.3.至此程序已創(chuàng)建完成可以開始后續(xù)的編程工作
5.2. 程序接口規(guī)劃
5.2.1.界面規(guī)劃如下圖所示
5.3. 程序編寫框架
六、運(yùn)凌華AMP-204C編程流程
6.1 系統(tǒng)&初始化
n I32 APS_initial(I32 *BoardID_InBits, I32 Mode)
- 板卡初始化
nI32 APS_load_parameter_from_flash( I32 Board_ID )
- 從板卡Flash載入?yún)?shù)
nI32 APS_load_param_from_File( const char *pXMLFile )
- 從XML格式文件中載入?yún)?shù)
注意:推薦使用從板卡Flash載入?yún)?shù)
6.2 IO狀態(tài)獲取
n I32 APS_motion_io_status( I32 Axis_ID )
- IO狀態(tài)獲取
注意:
1、在正式操作機(jī)構(gòu)前,必須確認(rèn)相關(guān)IO的狀態(tài),比如EL、ALM、ORG、EZ、INP等的狀態(tài),因?yàn)楹竺娴幕亓恪⒕_定位等需要用到上述IO。
2、推薦使用多線程來(lái)實(shí)時(shí)監(jiān)視IO狀態(tài)變化
6.3 參數(shù)設(shè)置
n I32 APS_set_axis_param( I32 Axis_ID, I32 AXS_Param_No, I32 AXS_Param )
-按指定的軸參數(shù)類型設(shè)定軸參數(shù)(僅用于I32參數(shù)類型)
n I32 APS_set_axis_param_f( I32 Axis_ID, I32 AXS_Param_No, F64 AXS_Param )
- 按指定的軸參數(shù)類型設(shè)定軸參數(shù)(僅用于F64參數(shù)類型)
注意:使用函數(shù)時(shí),要注意使用和參數(shù)值類型對(duì)應(yīng)的函數(shù)
6.4 參數(shù)保存
n I32 APS_save_parameter_to_flash( I32 Board_ID )
- 保存參數(shù)到卡片F(xiàn)lash
n I32 APS_save_param_to_file( I32 Board_ID, const char *pXMLFile )
- 將參數(shù)保存到XML文件中
6.5 電機(jī)激磁
n I32 APS_set_servo_on( I32 Axis_ID, I32 Servo_on )
- 電機(jī)激磁/消磁
注意:SVON信號(hào)如果不為ON,則卡片無(wú)法發(fā)送運(yùn)動(dòng)指令
6.6.1 回零參數(shù)設(shè)置
n I32 APS_set_axis_param( I32 Axis_ID, I32 AXS_Param_No, I32 AXS_Param )
-按指定的軸參數(shù)類型設(shè)定軸參數(shù)(僅用于I32參數(shù)類型)
n I32 APS_set_axis_param_f( I32 Axis_ID, I32 AXS_Param_No, F64 AXS_Param )
- 按指定的軸參數(shù)類型設(shè)定軸參數(shù)(僅用于F64參數(shù)類型)
注意:使用函數(shù)時(shí),要注意使用和參數(shù)值類型對(duì)應(yīng)的函數(shù)
6.6.2 回零參數(shù)保存
n I32 APS_save_parameter_to_flash( I32 Board_ID )
- 保存參數(shù)到卡片F(xiàn)lash
n I32 APS_save_param_to_file( I32 Board_ID, const char *pXMLFile )
- 將參數(shù)保存到XML文件中
6.6.3 回零運(yùn)動(dòng)
n I32 APS_home_move( I32 Axis_ID )
- 開始回零運(yùn)動(dòng)
6.6.4 停止運(yùn)動(dòng)
n I32 APS_stop_move(I32 Axis_ID)
- 減速停止
n I32 APS_emg_stop(I32 Axis_ID);
- 立刻停止
6.7.1 運(yùn)動(dòng)狀態(tài)監(jiān)視
n I32 APS_motion_status( I32 Axis_ID )
-運(yùn)動(dòng)狀態(tài)監(jiān)視
注意:
1、建議在正式運(yùn)動(dòng)前開啟運(yùn)動(dòng)狀態(tài)監(jiān)視,以便于在運(yùn)動(dòng)之后能夠?qū)崟r(shí)監(jiān)視運(yùn)動(dòng)狀態(tài)變化。
6.7.2 位置&速度監(jiān)視
n I32 APS_get_command( I32 Axis_ID, I32 *Command )
-指令位置監(jiān)視
n I32 APS_get_position( I32 Axis_ID, I32 *Position );
-反饋位置監(jiān)視
n I32 APS_get_error_position( I32 Axis_ID, I32 *Err_Pos )
-偏差位置監(jiān)視
n I32 APS_get_command_velocity(I32 Axis_ID, I32 *Velocity )
-指令速度監(jiān)視
n I32 APS_get_feedback_velocity(I32 Axis_ID, I32 *Velocity);
-反饋速度監(jiān)視
注意:
1、建議在正式運(yùn)動(dòng)前開啟位置及速度監(jiān)視,以便于在運(yùn)動(dòng)之后能夠?qū)崟r(shí)監(jiān)視位置及速度變化
6.7.3 位置&速度監(jiān)視
n I32 APS_get_command( I32 Axis_ID, I32 *Command )
-指令位置監(jiān)視(僅用于I32參數(shù)類型)
n I32 APS_get_position( I32 Axis_ID, I32 *Position )
-反饋位置監(jiān)視(僅用于I32參數(shù)類型)
n I32 APS_get_error_position( I32 Axis_ID, I32 *Err_Pos )
-偏差位置監(jiān)視(僅用于I32參數(shù)類型)
n I32 APS_get_command_velocity(I32 Axis_ID, I32 *Velocity )
-指令速度監(jiān)視(僅用于I32參數(shù)類型)
n I32 APS_get_feedback_velocity(I32 Axis_ID, I32 *Velocity)
-反饋速度監(jiān)視(僅用于I32參數(shù)類型)
注意:
1、建議在正式運(yùn)動(dòng)前開啟位置及速度監(jiān)視,以便于在運(yùn)動(dòng)之后能夠?qū)崟r(shí)監(jiān)視位置及速度變化
6.8 位置重置
n I32 APS_set_command(I32 Axis_ID, I32 Command)
-指令位置重置(僅用于I32參數(shù)類型)
n I32 APS_set_position(I32 Axis_ID, I32 Position)
-反饋位置重置(僅用于I32參數(shù)類型)
注意:
1、在回零完成后,可以立刻使用位置重置函數(shù)。之后,則請(qǐng)謹(jǐn)慎使用位置重置函數(shù)。它將改變?cè)O(shè)備的參考零點(diǎn)位置。
6.9.1 PTP運(yùn)動(dòng)
n I32 APS_relative_move( I32 Axis_ID, I32 Distance, I32 Max_Speed )
-相對(duì)運(yùn)動(dòng)
n I32 APS_absolute_move( I32 Axis_ID, I32 Position, I32 Max_Speed )
-絕對(duì)運(yùn)動(dòng)
注意:
1、該2條函數(shù)可以實(shí)現(xiàn)在線變速/變位
6.9.2 JOG運(yùn)動(dòng)
n I32 APS_jog_start( I32 Axis_ID, I32 STA_On );
-JOG運(yùn)動(dòng)
6.9.3 插補(bǔ)運(yùn)動(dòng)
n I32 APS_absolute_linear_move( I32 Dimension, I32 *Axis_ID_Array, I32 *Position_Array, I32 Max_Linear_Speed )
-絕對(duì)線性運(yùn)動(dòng)
n I32 APS_relative_linear_move( I32 Dimension, I32 *Axis_ID_Array, I32 *Distance_Array, I32 Max_Linear_Speed )
-相對(duì)線性運(yùn)動(dòng)
n I32 APS_absolute_arc_move( I32 Dimension, I32 *Axis_ID_Array, I32 *Center_Pos_Array, I32 Max_Arc_Speed, I32 Angle )
-絕對(duì)圓弧運(yùn)動(dòng)
n I32 APS_relative_arc_move( I32 Dimension, I32 *Axis_ID_Array, I32 *Center_Offset_Array, I32 Max_Arc_Speed, I32 Angle )
-相對(duì)圓弧運(yùn)動(dòng)
6.10 關(guān)閉卡片
n I32 APS_close()
-關(guān)閉卡片
以上就是關(guān)于pos機(jī)自動(dòng)鎖螺絲機(jī),非標(biāo)自動(dòng)化之運(yùn)動(dòng)控制卡編程及應(yīng)用的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)自動(dòng)鎖螺絲機(jī)的知識(shí),希望能夠幫助到大家!
