版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3.1課程設(shè)計(jì)總要求
3.2運(yùn)動(dòng)控制卡的VB初步開(kāi)發(fā)
3.3較復(fù)雜圖形的數(shù)控代碼編程
3.4運(yùn)動(dòng)控制卡的VC初步開(kāi)發(fā)
3.5單片機(jī)實(shí)現(xiàn)步進(jìn)電機(jī)的控制
3.6西門(mén)子FM3572位控模塊的初步應(yīng)用
3.7基于變頻器與PLC的單閉環(huán)PID控制
3.8交流伺服驅(qū)動(dòng)器的初步應(yīng)用
3.9回零(找參考點(diǎn))及其實(shí)現(xiàn)3.1課程設(shè)計(jì)總要求1.目的本實(shí)踐環(huán)節(jié)的目的是綜合運(yùn)用運(yùn)動(dòng)控制知識(shí)結(jié)合已經(jīng)掌握的專業(yè)知識(shí),針對(duì)某工程上簡(jiǎn)化、典型的運(yùn)動(dòng)控制系統(tǒng)課題,綜合運(yùn)用檢測(cè)、計(jì)算機(jī)控制、電子技術(shù)、現(xiàn)場(chǎng)總線與通信、監(jiān)控技術(shù)等技術(shù)和運(yùn)動(dòng)控制行業(yè)背景知識(shí),進(jìn)行資料查閱、方案設(shè)計(jì)、硬件搭建操作或制作、軟件設(shè)計(jì)、軟硬件聯(lián)合調(diào)試、課題展示匯報(bào)、報(bào)告撰寫(xiě)、團(tuán)隊(duì)分工合作等環(huán)節(jié)的訓(xùn)練,培養(yǎng)學(xué)生動(dòng)腦動(dòng)手、做人做事、綜合創(chuàng)新、團(tuán)隊(duì)合作的能力或意識(shí),能熟練應(yīng)用常用的工控軟件,在教師的指導(dǎo)下自學(xué)新知識(shí),能發(fā)現(xiàn)、分析和解決工程實(shí)際問(wèn)題,為畢業(yè)設(shè)計(jì)和走上工作崗位打下良好的基礎(chǔ)。2.內(nèi)容與要求以計(jì)算機(jī)、PLC或單片機(jī)為主控制器,可以增加監(jiān)控組態(tài)軟件、觸摸屏、自行開(kāi)發(fā)界面等,運(yùn)動(dòng)控制與現(xiàn)場(chǎng)總線、監(jiān)控等相結(jié)合,設(shè)計(jì)包含硬件和軟件,選擇某一模塊方向進(jìn)行設(shè)計(jì),時(shí)間為1~3周。3.考核標(biāo)準(zhǔn)從學(xué)生出勤、態(tài)度、操作、悟性、報(bào)告、答辯、解決問(wèn)題的思路和團(tuán)隊(duì)合作情況等幾方面綜合考核。4.提交報(bào)告要求報(bào)告應(yīng)包括課題名稱、目的、任務(wù)、課題內(nèi)容、過(guò)程描述(課題結(jié)果分析、課題中遇到的問(wèn)題及體會(huì));報(bào)告必須由學(xué)生獨(dú)立書(shū)寫(xiě)完成;實(shí)驗(yàn)的描述必須條理清楚、層次分明、重點(diǎn)突出,并包含設(shè)計(jì)主要硬件連接圖、實(shí)物圖、數(shù)據(jù)流示意圖、原理圖、PCB圖、軟件流程圖和調(diào)試結(jié)果圖等;主要程序正確,程序注解詳細(xì),杜絕形式主義。3.2運(yùn)動(dòng)控制卡的VB初步開(kāi)發(fā)3.2.1基本要求(1)選擇以下其中一個(gè)課題進(jìn)行VB編程設(shè)計(jì):實(shí)現(xiàn)某個(gè)軸按輸入?yún)?shù)進(jìn)行寸動(dòng)功能,至少包括初始化、位置顯示、寸動(dòng)量輸入和寸動(dòng)運(yùn)行等功能;實(shí)現(xiàn)兩個(gè)軸的插補(bǔ)功能,至少包括初始化、坐標(biāo)影射、直線或圓弧的繪制;兩個(gè)軸插補(bǔ)軌跡的模擬動(dòng)態(tài)圖的實(shí)現(xiàn)。(2)描述硬件構(gòu)成和主要參數(shù),計(jì)算脈沖當(dāng)量。(3)描述項(xiàng)目開(kāi)發(fā)的主要步驟和注意點(diǎn)。(4)檢索資料,探討課題所用技術(shù)的工業(yè)應(yīng)用。(5)完成課程設(shè)計(jì)報(bào)告,進(jìn)行簡(jiǎn)單的匯報(bào)交流。3.3較復(fù)雜圖形的數(shù)控代碼編程3.3.1基本要求(1)完成規(guī)定圖形的數(shù)控代碼編程。對(duì)于給出的較復(fù)雜零件圖,能自行分析并編寫(xiě)出合理的數(shù)控代碼指令,在平臺(tái)上驗(yàn)證。圖3.-1為鑰匙輪廓軌跡,請(qǐng)編制數(shù)控程序代碼。加工時(shí)主軸正轉(zhuǎn)、速度為500r/min,進(jìn)給速度為100mm/min,開(kāi)切削液。①
計(jì)算出圖3.31中標(biāo)出的A~P點(diǎn)的坐標(biāo)值,圖中柵格距離為5mm。②
按O(工件坐標(biāo)系原點(diǎn),Z=5mm)—A—B—C—…—M—N—A,P—P(φ=10mm圓可分兩個(gè)半圓加工)加工路徑,按絕對(duì)坐標(biāo)編制出加工程序。切深為5mm,抬刀5mm,加工完畢回到O點(diǎn)。(2)自選、規(guī)劃一個(gè)有意義的圖形,復(fù)雜度遠(yuǎn)高于以上圖形,進(jìn)行數(shù)控代碼編程。(3)描述設(shè)計(jì)過(guò)程、給出仿真圖、實(shí)物圖、圖形意義、名稱、代碼及其注解。(4)了解所用硬件主要參數(shù),繪制硬件連接框圖。(5)搜索資料,討論課題的工業(yè)應(yīng)用,對(duì)比采用VC/VB直接調(diào)用廠家插補(bǔ)函數(shù)進(jìn)行運(yùn)動(dòng)控制的異同點(diǎn)。(6)思考如何進(jìn)行數(shù)控代碼到運(yùn)動(dòng)指令的編譯,如何直接從CAD圖和漢字庫(kù)到數(shù)控代碼。3.4運(yùn)動(dòng)控制卡的VC初步開(kāi)發(fā)本節(jié)示例為運(yùn)動(dòng)控制卡初步開(kāi)發(fā)過(guò)程,讀者按照步驟完成后,可進(jìn)一步豐富其功能。工業(yè)控制領(lǐng)域其他廠家設(shè)備、儀表的VC開(kāi)發(fā)過(guò)程和本例基本相似,如數(shù)據(jù)采集卡、工業(yè)相機(jī)等。第3.4.2節(jié)講解的是VC軟件的初步使用,第3.4.3節(jié)為GT400運(yùn)動(dòng)控制卡的VC開(kāi)發(fā)初步應(yīng)用?;疽?完成運(yùn)動(dòng)控制卡“寸動(dòng)”功能的VC監(jiān)控開(kāi)發(fā),按一下“寸動(dòng)”按鈕,按設(shè)定值運(yùn)動(dòng)一段距離;寸動(dòng)數(shù)值可以修改,其正、負(fù)值分別對(duì)應(yīng)著平臺(tái)某軸的正、負(fù)向移動(dòng)。完成卡初始化、軸開(kāi)啟、軸關(guān)閉功能。選做功能:插補(bǔ)指令調(diào)用,實(shí)時(shí)顯示當(dāng)前坐標(biāo),繪制預(yù)設(shè)曲線和實(shí)時(shí)曲線圖等。3.4.1VC軟件介紹MicrosoftVisualC++是Microsoft公司推出的32位Windows開(kāi)發(fā)環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它不但具有程序框架自動(dòng)生成、靈活方便的類管理、代碼編寫(xiě)和界面設(shè)計(jì)集成交互操作、可開(kāi)發(fā)多種程序等優(yōu)點(diǎn),而且通過(guò)簡(jiǎn)單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫(kù)接口、OLE2、WinSock網(wǎng)絡(luò)及3D控制界面等。MicrosoftVisualC++6.0集成了MFC6.0,于1998年發(fā)行,發(fā)行至今一直被廣泛地用于大大小小的項(xiàng)目開(kāi)發(fā)。最新穩(wěn)定版本VisualC++被整合在VisualStudio之中,但仍可單獨(dú)安裝使用。VisualStudio是微軟公司推出的開(kāi)發(fā)環(huán)境,VisualStudio可以用來(lái)創(chuàng)建Windows平臺(tái)下的Windows應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來(lái)創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和Office插件。VisualStudio是目前最流行的Windows平臺(tái)應(yīng)用程序開(kāi)發(fā)環(huán)境。VisualC++集成開(kāi)發(fā)環(huán)境使創(chuàng)建一個(gè)Windows程序變得很簡(jiǎn)單。通過(guò)軟件中的工具和向?qū)б约癕FC類庫(kù),使用者可以在很短的時(shí)間里創(chuàng)建出一個(gè)程序。VC在儀器、儀表、工程、機(jī)械和自動(dòng)化等方面有著廣泛的應(yīng)用,一般在控制系統(tǒng)中做上位機(jī)的監(jiān)控。隨著近年來(lái)自動(dòng)化控制技術(shù)的
迅
猛
發(fā)
展,除
以
單
片
機(jī)、可
編
程
控
制
器(PLC)等為主要控制單元的自動(dòng)化設(shè)備外,利用工業(yè)計(jì)算機(jī)所控制的設(shè)備越來(lái)越多,工業(yè)計(jì)算機(jī)在自動(dòng)控制領(lǐng)域中得到了極為廣泛的應(yīng)用。3.4.2按鈕觸發(fā)內(nèi)部變量增減并顯示本例關(guān)注工程建立過(guò)程、按鈕動(dòng)作和顯示內(nèi)部整形變量的VC開(kāi)發(fā)步驟。本節(jié)所涉及的編程技巧在3.4.3節(jié)也會(huì)用到。注意控件ID名稱修改后再保存;若保存后再修改,則會(huì)導(dǎo)致混亂,此時(shí)建議重新建立項(xiàng)目。本書(shū)采用基于MFC的VC編寫(xiě)運(yùn)動(dòng)控制界面,讀者一開(kāi)始可以按步驟進(jìn)行,甚至可以“不求甚解”,后續(xù)可以深入系統(tǒng)地學(xué)習(xí)這方面的計(jì)算機(jī)專業(yè)應(yīng)用知識(shí)。1.建立基于對(duì)話框的工程打開(kāi)VC應(yīng)用程序,如圖3.41所示。程序出現(xiàn)如圖3.42所示的畫(huà)面。然后,進(jìn)入VC開(kāi)發(fā)環(huán)境界面,如圖3.43所示擊“文件”?“新建”,如圖3.44所示新建MFCAppWizard(exe)文件,輸入工程名稱,本例為“AddDec”;選擇存放位置,本例為桌面,點(diǎn)擊“確定”按鈕,如圖3.45所示程序出現(xiàn)“MFC應(yīng)用程序向?qū)А睂?duì)話框,選擇“基本對(duì)話框”,點(diǎn)擊“完成”按鈕,如圖3.46所示。程序彈出“新建工程信息”對(duì)話框,如圖3.47所示點(diǎn)擊“新建工程信息”信息框的“確定”按鈕,出現(xiàn)如圖3.48所示的界面。在圖3.48中,左邊為工作空間,下方為輸出窗口,中間為對(duì)話框編輯區(qū)域,右方為控件工具欄。開(kāi)發(fā)過(guò)程中,點(diǎn)擊“ResourceView”選項(xiàng),展開(kāi)“AddDecresources”?“Dialog”?“IDD_ADDDEC_DIALOG”,可以打開(kāi)對(duì)話框進(jìn)行編輯,如圖3.49所示點(diǎn)擊工作空間“ClassView”選項(xiàng)可以查看相關(guān)類,雙擊該選項(xiàng)可以查看相關(guān)程序;點(diǎn)擊工作空間“FileView”選項(xiàng)可以查看相關(guān)文件,雙擊該選項(xiàng)可以查看相關(guān)文件內(nèi)容,如圖3.410所示。在圖3.49所示的編輯對(duì)話框中可以刪除“TODO:在這里設(shè)置對(duì)話控制”字樣,如圖3.411所示。點(diǎn)擊工具欄中的“全部保存”按鈕,關(guān)閉集成開(kāi)發(fā)環(huán)境,如圖3.412所示關(guān)閉集成開(kāi)發(fā)環(huán)境后,回到桌面可看到AddDec文件夾,如圖3.413所示,打開(kāi)文件夾可看到全部
工
程
文
件。如
果
未
安
裝
更
高
版
本VC軟
件,雙
擊dsw后
綴
文
件(本
例
為AddDec.dsw),可以進(jìn)入VC集成開(kāi)發(fā)環(huán)境進(jìn)行該工程的編輯。2.編輯對(duì)話框,增加控件在VC集成編輯界面右方控件工具欄中選擇“按鈕”,拖入對(duì)話框編輯區(qū)域,產(chǎn)生按鈕Button1,如圖3.414所示??梢渣c(diǎn)擊VC集成編輯界面右邊控件工具欄的“按鈕”后,鼠標(biāo)放置于對(duì)話框編輯畫(huà)面上,出現(xiàn)十字光標(biāo),按需要的位置和大小左鍵拖動(dòng)形成按鈕。同樣的方法添加第2個(gè)按鈕Button2。在Button1按鈕上單擊鼠標(biāo)右鍵選擇“屬性”,如圖3.415所示出現(xiàn)Button1按鈕“PushButton屬性”對(duì)話框,在“常規(guī)”選項(xiàng)“ID”欄輸入“IDC_Add”,在“標(biāo)題”欄輸入“加1”文字,則該按鈕顯示名稱變成“加1”,如圖3.416所示。注意:ID是項(xiàng)目中唯一標(biāo)簽,其名稱最好有意義,便于識(shí)別和記憶。用同樣的方式修改Button2屬性,在“常規(guī)”選項(xiàng)“ID”欄輸入“IDC_Dec”,在“標(biāo)題”欄輸入“減1”文字,則該按鈕顯示名稱變成“減1”,如圖3.417所示.這樣,兩個(gè)按鈕添加完畢,如圖3.418所示.類似的方法,點(diǎn)擊控件工具欄“靜態(tài)文本”按鈕,在適當(dāng)位置添加靜態(tài)文本,如圖3.419所示。類似地,在該靜態(tài)文本屬性對(duì)話框中,在“常規(guī)”選項(xiàng)“ID”欄中輸入“IDC_Display”,“標(biāo)題”欄不做修改,如圖3.420所示。在該靜態(tài)文本屬性對(duì)話框中,點(diǎn)擊“擴(kuò)展樣式”選項(xiàng),勾選“客戶邊緣”,則該靜態(tài)文本出現(xiàn)凹陷的立體視覺(jué)感,如圖3.421所示。類似地,在適當(dāng)位置添加“編輯框”控件,如圖3.422所示。在編輯框?qū)傩詫?duì)話框中,“ID”欄輸入“IDC_EDIT_Input”,如圖3.423所示。點(diǎn)擊
按鈕全部保存。至此,全部控件添加完畢。3.對(duì)按鈕控件添加觸發(fā)響應(yīng)的成員函數(shù)框架雙擊添加好的“加1”按鈕,出現(xiàn)增加成員函數(shù)對(duì)話框,點(diǎn)擊“OK”按鈕,如圖3.424所示。從而跳至AddDecDlg.cpp源程序,自動(dòng)產(chǎn)生OnAdd()響應(yīng)函數(shù)框架,如圖3.425所示?;氐綄?duì)話框編輯,同樣雙擊添加好的“減1”按鈕,出現(xiàn)增加成員函數(shù)對(duì)話框,點(diǎn)擊“OK”按鈕,如圖3.426所示。從而跳至AddDecDlg.cpp源程序,自動(dòng)產(chǎn)生OnDec()響應(yīng)函數(shù)框架,如圖3.427所示。按鈕觸發(fā)響應(yīng)函數(shù)在程序運(yùn)行時(shí),點(diǎn)擊鼠標(biāo)左鍵1次,對(duì)應(yīng)相應(yīng)的函數(shù)執(zhí)行1次并返回。4.增加1個(gè)全局變量雙擊“ClassView”選項(xiàng)的“CAddDecDlg”,打開(kāi)AddDecDlg.h文件,如圖3.428所示。在“classCAddDecDlg:publicCDialog的public:”后添加定義公共變量“l(fā)ongNumberDisplay;”,如圖3.429所示。在AddDecDlg.cpp文件下CAddDecDlg::OnInitDialog()函數(shù)中的“//TODO:Addextrainitializationhere”語(yǔ)句之后,添加“NumberDisplay=0;”初始化變量,如圖3.430所示5.各控件成員函數(shù)編程在AddDecDlg.cpp文件下OnAdd()函數(shù)中增加“NumberDisplay++;”語(yǔ)句,實(shí)現(xiàn)點(diǎn)擊“加1”按鈕觸發(fā)變量NumberDisplay加1;在OnDec()函數(shù)中增加“NumberDisplay--;”語(yǔ)句,實(shí)現(xiàn)點(diǎn)擊“減1”按鈕觸發(fā)變量NumberDisplay減1。在AddDecDlg.cpp文件下CAddDecDlg::OnInitDialog()函數(shù)中,NumberDisplay=0后,以及voidCAddDecDlg::OnAdd()、voidCAddDecDlg::OnDec()函數(shù)NumberDisplay++和NumberDisplay--后添上如下程序(該程序?qū)崿F(xiàn)在靜態(tài)文本(ID號(hào):IDC_Display)顯示NumberDisplay變量的功能)6.調(diào)試運(yùn)行與編輯框的編程應(yīng)用點(diǎn)擊
運(yùn)行程序,如圖3.431所示。點(diǎn)擊“加1”按鈕,則NumberDisplay增加1;點(diǎn)擊“減1”按鈕,則NumberDisplay減少1。NumberDisplay值的變化如圖3.432所示。圖3.432點(diǎn)擊圖3.432中的“確定”按鈕或“取消”按鈕或
關(guān)閉AddDec程序。打開(kāi)對(duì)話框編輯并雙擊編輯框,出現(xiàn)增加成員函數(shù)對(duì)話框,如圖3.433所示。點(diǎn)擊圖3.433中的“OK”按鈕,轉(zhuǎn)到AddDecDlg.cpp源程序,則會(huì)自動(dòng)產(chǎn)生編輯框改變響應(yīng)函數(shù)OnChangeEDITInput(),對(duì)應(yīng)的程序及其注解如下:再次點(diǎn)擊
運(yùn)行程序,在編輯框內(nèi)輸入整數(shù),編輯框內(nèi)容變化;執(zhí)行以上程序?qū)⒕庉嬁蜃址D(zhuǎn)換成整數(shù)并賦值給NumberDisplay變量,并同時(shí)在靜態(tài)文本框顯示出來(lái)。注意:若輸入不是合法整數(shù),則程序運(yùn)行可能出錯(cuò)。至此,完成按鈕觸發(fā)內(nèi)部變量增減并顯示的功能。完成本節(jié)內(nèi)容后,可以訓(xùn)練有關(guān)VC基于對(duì)話框的工程建立、按鈕動(dòng)作、變量的文本顯示、編輯框修改變量等內(nèi)容的初步應(yīng)用。3.4.3運(yùn)動(dòng)控制卡單軸伺服(步進(jìn))的寸動(dòng)實(shí)現(xiàn)本例為GT400SVPCI或GT400SGPCI運(yùn)動(dòng)控制卡的初步應(yīng)用,主要關(guān)注在Windows系統(tǒng)下VC調(diào)用運(yùn)動(dòng)控制卡庫(kù)函數(shù)、VC定時(shí)器(相當(dāng)于定時(shí)中斷)、初始化、點(diǎn)動(dòng)、關(guān)閉卡和軸等功能。對(duì)運(yùn)動(dòng)控制卡的詳細(xì)使用,硬件部分可參照對(duì)應(yīng)運(yùn)動(dòng)控制器用戶手冊(cè),軟件部分可參照對(duì)應(yīng)運(yùn)動(dòng)控制器編程手冊(cè)。1.硬件的連接及驅(qū)動(dòng)程序的安裝在學(xué)校實(shí)驗(yàn)室里,硬件的連接及驅(qū)動(dòng)程序的安裝步驟大都在學(xué)生實(shí)驗(yàn)之前就已完成。參照《GT系列運(yùn)動(dòng)控制器用戶手冊(cè)》“快速使用”部分,操作步驟如下:將運(yùn)動(dòng)控制卡插入計(jì)算機(jī)PCI插槽,安裝控制器通信驅(qū)動(dòng)軟件(在配套光盤(pán)\T4VPCD100930\Windows\Driver目錄下),建立計(jì)算機(jī)與運(yùn)動(dòng)控制卡PCI總線通信,連接電機(jī)和驅(qū)動(dòng)器,連接運(yùn)動(dòng)控制卡和端子板,連接驅(qū)動(dòng)器及系統(tǒng)輸入、輸出和端子板等。系統(tǒng)框圖如圖3.434所示(或參照?qǐng)D4.11)2.建立基于對(duì)話框的工程參照本書(shū)3.4.2節(jié)建立基于對(duì)話框的工程,工程名為GT400Inch,從而生成的文件夾也為GT400Inch。在對(duì)話框編輯中增加“初始化”按鈕(ID:IDC_BUTTON1_Initial)、“寸動(dòng)”按鈕(ID:IDC_BUTTON2_Inch)、用于顯示實(shí)際位置的靜態(tài)文本框(標(biāo)題空白,ID:IDC_STATIC_PosDisplay;擴(kuò)展式樣:客戶邊緣勾選)、用于輸入寸動(dòng)數(shù)值的編輯框(ID:IDC_EDIT1_InchPos)、“關(guān)閉卡”按鈕(ID:IDC_BUTTON3_Close)和靜態(tài)文本“實(shí)際位置:”等,如圖3.435所示3.Windows系統(tǒng)下動(dòng)態(tài)鏈接庫(kù)的使用以下是動(dòng)態(tài)鏈接庫(kù)的靜態(tài)調(diào)用,動(dòng)態(tài)調(diào)用請(qǐng)讀者參考有關(guān)資料。(1)將配套光
盤(pán)\T4VPCD100930\Windows\VC文
件
夾
下
的
動(dòng)
態(tài)
鏈
接
庫(kù)
文
件GT400.dll(靜態(tài)調(diào)用也可不拷貝)、頭文件Gt400.h和庫(kù)文件GT400.lib等三個(gè)文件拷貝到工程文件夾GT400Inch下,如圖3.436所示。(2)在GT400Inch工程的VC開(kāi)發(fā)環(huán)境中,選擇菜單“工程”下的“設(shè)置”菜單項(xiàng),出現(xiàn)“ProjectSettings”對(duì)話框,切換到“連接”選項(xiàng)標(biāo)簽,在“對(duì)象/庫(kù)模塊”欄中輸入庫(kù)文件名GT400l.ib,如圖3.437所示。(3)在應(yīng)用程序文件中加入函數(shù)庫(kù)頭文件的聲明:#include"GT400.h",如圖3.438所示。至此,用戶就可以在VC中調(diào)用函數(shù)庫(kù)中的任何函數(shù),開(kāi)始編寫(xiě)應(yīng)用程序。函數(shù)如何調(diào)用可查看運(yùn)動(dòng)控制器編程手冊(cè)和GT400.h頭文件等資料。動(dòng)態(tài)鏈接庫(kù)的靜態(tài)調(diào)用步驟也是許多硬件設(shè)備的VC開(kāi)發(fā)通用步驟,具有普遍性。4.定義變量定義三個(gè)整形變量,可與本書(shū)3.4.2節(jié)不同,這里直接在.cpp文件中定義,如圖3.439所示。定義整形變量的程序如下:5.編寫(xiě)控件響應(yīng)函數(shù)編寫(xiě)初始化、關(guān)閉卡、編輯框輸入改變和寸動(dòng)響應(yīng)函數(shù)。1)初始化函數(shù)在“CGT400InchDlg::OnBUTTON1Initial()”函數(shù)中編寫(xiě)如下代碼:2)關(guān)閉卡函數(shù)在CGT400InchDlg::OnBUTTON3Close()函數(shù)中編寫(xiě)如下代碼關(guān)閉卡的這段程序也可在可執(zhí)行程序關(guān)閉時(shí)調(diào)用,具體可參照“6.定時(shí)顯示實(shí)際位置”中添加Windows消息/事件句柄的步驟,如圖3.440所示。選擇“WM_CLOSE”,點(diǎn)
擊“AddandEdit”按
鈕,自
動(dòng)
產(chǎn)
生OnClose()函
數(shù)。在CGT400InchDlg::OnClose()函數(shù)中,添加以上CGT400InchDlg::OnBUTTON3Close()函數(shù)中所編寫(xiě)代碼,或者直接調(diào)用CGT400InchDlg::OnBUTTON3Close()函數(shù)即可。3)編輯框輸入改變數(shù)據(jù)的響應(yīng)函數(shù)在CGT400InchDlg::OnChangeEDIT1InchPos()函數(shù)中編寫(xiě)如下代碼:4)寸動(dòng)函數(shù)在CGT400InchDlg::OnBUTTON2Inch()函數(shù)中編寫(xiě)如下代碼:6.定時(shí)顯示實(shí)際位置用鼠標(biāo)右鍵單擊“ClassView”中的“CGT400InchDlg”,選
中“AddWindowsMessageHandler....”,如圖3.441所示。添加Windows消息/事件句柄,新建WM_TIMER,如圖3.442所示。選擇“WM_TIMER”,點(diǎn)
擊“AddandEdit”按
鈕,則
會(huì)
自
動(dòng)
產(chǎn)
生OnTimer(UINTnIDEvent)函數(shù),如圖3.443所示。CGT400InchDlg::OnTimer(UINTnIDEvent)函數(shù)的CDialog::OnTimer(nIDEvent);語(yǔ)句之前,添加以下代碼開(kāi)啟定時(shí)器需要在CGT400InchDlg::OnBUTTON1Initial()函數(shù)(初始化)最后添加如下代碼時(shí)間隔根據(jù)需要設(shè)定,數(shù)值大顯示更新慢;數(shù)值太小計(jì)算機(jī)頻繁與卡通信,占用過(guò)多資源。也可在CGT400InchDlg::OnInitDialog()函數(shù)返回語(yǔ)句前“//TODO:Addextrainitializationhere”處添加以上代碼。通常需要在適當(dāng)?shù)牡胤疥P(guān)閉定時(shí)器,本例可在CGT400InchDlg::OnBUTTON3Close()函數(shù)(關(guān)閉卡)的最后添加如下代碼:7.運(yùn)行調(diào)試點(diǎn)擊
運(yùn)行程序,出現(xiàn)如圖3.444所示畫(huà)面。點(diǎn)擊“初始化”按鈕,對(duì)運(yùn)動(dòng)控制器執(zhí)行相關(guān)初始化的工作;對(duì)于交流伺服系統(tǒng),可以聽(tīng)到伺服驅(qū)動(dòng)器使能的高頻聲音(音量很小)。在“寸動(dòng)”按鈕后的編輯框內(nèi)輸入寸動(dòng)量,然后點(diǎn)擊“寸動(dòng)”按鈕,則運(yùn)動(dòng)控制器1號(hào)軸(通常是平臺(tái)X軸)移動(dòng)所設(shè)定的距離后停止,寸動(dòng)量是負(fù)值時(shí)則向相反方向移動(dòng)。3.4.4拓展實(shí)踐與思考題(1)通過(guò)網(wǎng)絡(luò)資源,搜索下載VC6.0或VisualStudio軟件并安裝。(2)通過(guò)網(wǎng)絡(luò)查詢資料,了解VC6.0和最新VisualStudio在操作系統(tǒng)等方面有何區(qū)別。(3)參照本書(shū)第3.4.2節(jié),設(shè)計(jì)一個(gè)能完成計(jì)算器功能的應(yīng)用程序。(4)VC編寫(xiě)監(jiān)控界面和工控組態(tài)軟件有何區(qū)別與聯(lián)系?(5)通過(guò)查閱資料,試完成菜單、多個(gè)不同時(shí)間間隔定時(shí)器、平面坐標(biāo)圖形實(shí)時(shí)繪制、變量的數(shù)碼管顯示、多線程、日志文件、消息框彈出、動(dòng)態(tài)鏈接庫(kù)DLL的創(chuàng)建與調(diào)用、密碼分級(jí)管理、復(fù)選、指示燈、單選、下拉選擇和打包發(fā)布安裝文件等VC功能。(6)查閱運(yùn)動(dòng)控制卡相關(guān)手冊(cè),試完成1~4軸的找參考點(diǎn)和錯(cuò)誤處理等功能。(7)利用C語(yǔ)言讀文件函數(shù)編寫(xiě)應(yīng)用程序,實(shí)現(xiàn)第2.9節(jié)的讀數(shù)控代碼就可以轉(zhuǎn)換成運(yùn)動(dòng)控制程序的功能。3.5單片機(jī)實(shí)現(xiàn)步進(jìn)電機(jī)的控步進(jìn)電機(jī)的單片機(jī)控制是學(xué)習(xí)運(yùn)動(dòng)控制與單片機(jī)很好的載體,讀者可以根據(jù)自己的情況選擇系統(tǒng)集成編寫(xiě)軟件、設(shè)計(jì)驅(qū)動(dòng)器加軟件控制和2軸插補(bǔ)控制等3個(gè)方案進(jìn)行。3.5.1基本要求步進(jìn)電機(jī)的單片機(jī)控制基本要求如下:(1)選擇方案。①
購(gòu)買(mǎi)步進(jìn)電機(jī)及其配套驅(qū)動(dòng)器加單片機(jī)開(kāi)發(fā)板構(gòu)成硬件系統(tǒng),軟件編程實(shí)現(xiàn)步進(jìn)電機(jī)的啟動(dòng)、停止、正反轉(zhuǎn)、變速等控制。②
設(shè)計(jì)
步
進(jìn)
電
機(jī)
驅(qū)
動(dòng)
器,可
采
用L297(環(huán)
形
分
配
器)+L298、MC34932或
用
電
力Mosfet自行設(shè)計(jì)雙H橋(放大器)方案,也可直接采用環(huán)形分配器與放大器集成的芯片如TB6560,注意輸入信號(hào)采用光電隔離;軟件編程實(shí)現(xiàn)步進(jìn)電機(jī)的啟動(dòng)、停止、正反轉(zhuǎn)、調(diào)速等控制。③
在方案①的基礎(chǔ)上,控制兩只步進(jìn)電機(jī),從而控制簡(jiǎn)單帶筆的XY平臺(tái)(購(gòu)置),單片機(jī)軟件實(shí)現(xiàn)插補(bǔ)運(yùn)算,可選擇逐點(diǎn)比較法或數(shù)據(jù)采樣法插補(bǔ)原理進(jìn)行直線或圓弧插補(bǔ)。(2)繪制硬件框圖、原理圖和PCB圖,進(jìn)行主要元器件或零部件的選型設(shè)計(jì)。(3)繪制軟件流程圖,編寫(xiě)程序代碼并進(jìn)行詳細(xì)注解。(4)調(diào)試結(jié)果,總結(jié)注意事項(xiàng),描述實(shí)踐中遇到的問(wèn)題及解決過(guò)程。(5)探討所做課題的工業(yè)或日常生活應(yīng)用。3.5.2設(shè)計(jì)思路與提示步進(jìn)電機(jī)的單片機(jī)控制是學(xué)習(xí)運(yùn)動(dòng)控制與單片機(jī)很好的載體,這方面的參考資料非常之多,讀者可以多參考幾個(gè)方案,進(jìn)行對(duì)比選擇??刹捎贸S?1單片機(jī)控制、C語(yǔ)言編程、定時(shí)器中斷或延時(shí)脈沖。注意步進(jìn)電機(jī)的啟動(dòng)頻率和運(yùn)行頻率的匹配。3.6西門(mén)子FM3572位控模塊的初步應(yīng)用多軸運(yùn)動(dòng)控制在電子、半導(dǎo)體、醫(yī)藥制藥、汽車、生活消費(fèi)品等行業(yè)獲得廣泛應(yīng)用。本設(shè)計(jì)的目的是:基于多軸定位模塊FM3572控制器,利用STEP7編程軟件進(jìn)行編程,繼而通過(guò)電機(jī)驅(qū)動(dòng)器對(duì)四臺(tái)步進(jìn)電機(jī)實(shí)現(xiàn)運(yùn)行和控制。FM3572的應(yīng)用主要從硬件設(shè)計(jì)和軟件設(shè)計(jì)兩方面進(jìn)行闡述。硬件部分對(duì)實(shí)驗(yàn)用到的主要控制模塊進(jìn)行介紹,包括連接框圖及其說(shuō)明,FM3572模塊介紹,相應(yīng)的固件模塊介紹、安裝等;軟件設(shè)計(jì)方面包括:FM3572模塊工具程序的下載,模塊參數(shù)的配置,模塊參數(shù)的測(cè)試、調(diào)試等。3.6.1硬件設(shè)計(jì)1.硬件連接示意圖FM3572定位模塊應(yīng)用硬件連接圖如圖3.61所示。硬件清單如下:(1)電源模塊。(2)PLC模塊選用CPU3152PN/DP一臺(tái)。(3)4軸伺服控制模塊FM3572一臺(tái)。(4)光耦隔離伺服驅(qū)動(dòng)器四臺(tái)(實(shí)際采用自制步進(jìn)電機(jī)驅(qū)動(dòng)器)。(5)24V直流電源一臺(tái)。(6)24V步進(jìn)電機(jī)4臺(tái)。2.FM3572模塊介紹FM3572是一個(gè)基于微處理器的多軸伺服控制模塊(模擬量或脈沖輸出),有4個(gè)通道可控制多達(dá)4個(gè)軸,可以進(jìn)行獨(dú)立的或同步的軸定位,具有多種操作模式。FM3572可用于簡(jiǎn)單的定位和復(fù)雜的高精度插補(bǔ)以及多軸同步控制等設(shè)備中,包括輸送設(shè)備、傳輸線、裝配線、專用機(jī)械和食品行業(yè)的裝卸設(shè)備等。3.FM3572模板接口FM3572模板接口示意圖如圖3.62所示(1)X10電源連接口:連接外部24V直流電源,給模板提供電源。(2)X8PROFIBUSDP驅(qū)動(dòng)接口:SubD9針接口,用于連接SIMODRIVE611U。(3)X2驅(qū)動(dòng)接口:SubD50針公接口,用于連接4個(gè)軸所對(duì)應(yīng)的驅(qū)動(dòng)器接口;控制伺服的±10V電壓輸出或控制步進(jìn)的脈沖輸出。(4)X3~X6測(cè)量接口:SubD15針母接口,用于連接4個(gè)軸所對(duì)應(yīng)的編碼器反饋,支持TTL增量型編碼器和SSI絕對(duì)值編碼器。(5)X1外圍接口:FM3572集成了18個(gè)DI和8個(gè)DO,需要配置40針前連接器。(6)儲(chǔ)存卡接口:用于插入具有完整固件的儲(chǔ)存卡。(7)啟動(dòng)開(kāi)關(guān):選擇開(kāi)關(guān),特殊操作時(shí)有用,如安裝固件、備份數(shù)據(jù)到存儲(chǔ)卡等操作4.固件說(shuō)明1)FM3572固件訂貨號(hào)L固件6ES73574AH033AE0;LX固件6ES73574BH033AE0;H固件6ES73574CH033AE0。40針前連接器、驅(qū)動(dòng)連接電纜和編碼器連接電纜根據(jù)需要選訂。2)固件功能FM3572包含3種固件:L、LX、H。3種固件各自的功能不同,用戶可以根據(jù)具體功能要求選擇其中一種固件。3種固件功能區(qū)別見(jiàn)表3.61。概括來(lái)說(shuō),L固件不支持同步、插補(bǔ)等功能,多用于單個(gè)軸的獨(dú)立控制;LX固件支持同步、插補(bǔ)功能,這兩種固件使用較多。H固件使用較少,相對(duì)于LX固件,支持手持設(shè)備HPU、HT6連接到FM3572。本實(shí)驗(yàn)采用LX固件。3)固件的安裝3種固件安裝步驟是完全一樣的,具體操作步驟如下:(1)關(guān)閉系統(tǒng)電源,插入包含固件的存儲(chǔ)卡到FM3572存儲(chǔ)卡插槽中。CPU開(kāi)關(guān)撥到RUN位置。(2)設(shè)置FM3572上的啟動(dòng)開(kāi)關(guān)到位置A。(3)打開(kāi)系統(tǒng)電源,系統(tǒng)軟件和數(shù)據(jù)從存儲(chǔ)卡傳送到FM3572模板。傳輸過(guò)程中,LED狀態(tài):SFLED亮,DIAGLED閃爍4次,循環(huán)進(jìn)行。錯(cuò)誤顯示:如果SFLED以2Hz頻率閃爍,固件不能被傳送。例如,部分系統(tǒng)軟件已經(jīng)被刪除;如果SFLED亮,DIAGLED快速閃爍3次,然后周期性閃爍3次,固件不能被傳送。例如,存儲(chǔ)卡上的系統(tǒng)軟件已經(jīng)損壞。(4)當(dāng)DIAGLED閃爍5次,循環(huán)進(jìn)行,并且SFLED已經(jīng)熄滅,數(shù)據(jù)傳送已經(jīng)完成。關(guān)閉系統(tǒng)電源。(5)保留存儲(chǔ)卡在FM3572上,不要拔出。(6)設(shè)置FM3572上的啟動(dòng)開(kāi)關(guān)到位置1。(7)打開(kāi)系統(tǒng)電源,等待FM3572使用默認(rèn)值啟動(dòng),DIAGLED以3Hz速度閃爍,時(shí)間大約1min。(8)關(guān)閉系統(tǒng)電源。(9)設(shè)置FM3572上的啟動(dòng)開(kāi)關(guān)到位置0。(10)打開(kāi)系統(tǒng)電源,FM3572使用新的固件啟動(dòng)。通過(guò)上面10個(gè)步驟,固件傳送完成。需要注意的是,FM3572正常工作時(shí),存儲(chǔ)卡必須插在FM3572插槽上。FM3572每次啟動(dòng)時(shí)都會(huì)檢查存儲(chǔ)卡中的授權(quán)與FM中裝載的固件版本是否一致。3.6.2FM3572模塊軟件安裝1.軟件下載FM3572配置軟件包可以從SIEMENS網(wǎng)站下載,打開(kāi)下載鏈接地址會(huì)發(fā)現(xiàn),相關(guān)的軟件有多個(gè)(見(jiàn)圖3.63)2.軟件說(shuō)明(1)BFCT.exe:基本功能塊,編寫(xiě)用戶程序時(shí)需要,必須安裝。(2)S7FM357.exe:參數(shù)化工具,硬件組態(tài),配置FM3572參數(shù)需要,必須安裝。(3)UPD_FM.exe:模板固件更新工具,升級(jí)模板固件時(shí)需要。(4)NC_VAR.exe:NC_VAR變量加載工具,用于加載需要讀寫(xiě)的變量到相應(yīng)DB塊中。(5)OP_EX.exe:例子程序,建議安裝。(6)DOC_D_E.exe:用戶手冊(cè),有德文、英文版。(7)RSETUP.exe:構(gòu)架安裝工具3.安裝方法1)安裝上述組件中的一個(gè)下載相應(yīng)的exe文件,首先解壓縮,然后點(diǎn)擊解壓完成后文件夾中的SETUP.exe進(jìn)行安裝。2)安裝所有組件下載所有組件(將圖3.63中所見(jiàn)exe文件下載并解壓縮到同一文件夾),然后運(yùn)行該文件夾下的SETUP.exe文件,這樣就可以出現(xiàn)FM3572組件安裝選擇的窗口,此時(shí)就可以根據(jù)需要選擇需要安裝的組件(見(jiàn)圖3.64)3.6.3模塊參數(shù)配置1.Step7項(xiàng)目組態(tài)(1)在Step7新項(xiàng)目中插入新的項(xiàng)目“SIMATIC300Station”(見(jiàn)圖3.65)(2)打開(kāi)硬件配置窗口(見(jiàn)圖3.66)(3)在硬件配置窗口中,插入機(jī)架、CPU等(見(jiàn)圖3.67)(4)插入FM3572模板。之前如果已經(jīng)安裝了參數(shù)化工具S7FM357.exe,就可以在硬件
列
表
找
到“SIMAITC300”“FM300”“4axismotioncontrols”“FM35724AxisControl”(見(jiàn)圖3.68)2.進(jìn)入機(jī)器數(shù)據(jù)編輯界面(1)雙擊FM3572模
板,打
開(kāi)
模
板
屬
性
對(duì)
話
框,選
擇“Parameterize”標(biāo)
簽,點(diǎn)
擊“Parameterize”按鈕(見(jiàn)圖3.69)(2)如果PG與PLC通信連接已經(jīng)建立,點(diǎn)擊“Parameterize”按鈕后直接進(jìn)入FM3572在線窗口(見(jiàn)圖3.610)。如果通信連接失敗,則系統(tǒng)提示不能建立連接,只能工作在離線模式。(3)進(jìn)入機(jī)器數(shù)據(jù)編輯界面,選中“Machinedata”,點(diǎn)擊“MDBlock1”(見(jiàn)圖3.611)3.編輯機(jī)器數(shù)據(jù)(1)軸配置。點(diǎn)擊“AxisConfiguration”,以X軸為例,“SMw/oencoder”表示驅(qū)動(dòng)設(shè)備是不帶編碼器的步進(jìn)電機(jī)(見(jiàn)圖3.612)。(2)通道配置。FM3572可以配置4個(gè)通道,這里只使用通道1(見(jiàn)圖3.613)(3)配置電機(jī)轉(zhuǎn)1圈對(duì)應(yīng)的脈沖數(shù)、電子齒輪比以及工件軸轉(zhuǎn)1圈對(duì)應(yīng)的位移。設(shè)置電子齒輪比為1∶1,實(shí)際表示輸出1000脈沖對(duì)應(yīng)10mm位移(見(jiàn)圖3.614)。(4)點(diǎn)擊圖3.614中的“Finish”按鈕,裝載并激活MD參數(shù)更新。由于是在線編輯,因此直接更新FM3572模板中的MD參數(shù)(見(jiàn)圖3.615)(5)為了便于以后離線修改和項(xiàng)目備份,可以通過(guò)“File”?“Saveas”將MD參數(shù)保存為文件,文件格式為“.mcp”(見(jiàn)圖3.616)。3.6.4模塊調(diào)試工具測(cè)試步驟1.拷貝修改程序塊(1)在STEP7中打開(kāi)新項(xiàng)目,選擇“Sampleprojects”標(biāo)簽,選擇并打開(kāi)項(xiàng)目zEn16_01_FM3572_BF_EX(見(jiàn)圖3.617)。(2)將例程中所用程序塊和符號(hào)表通過(guò)拷貝粘貼到用戶自己建的項(xiàng)目中,包括UDT(見(jiàn)圖3.618)(3)打開(kāi)OB100,修改FMLADDR變量值,默認(rèn)值為256,需要按實(shí)際組態(tài)FM3572模板地址修改,此處按圖3.68中“Iaddress”和“Qaddress”欄地址“256...271”修改,取其首地址,故為256(見(jiàn)圖3.619)(4)打開(kāi)OB1,調(diào)用FC100(見(jiàn)圖3.620)2.下載所有程序塊下載所有程序塊(見(jiàn)圖3.621)。3.6.5模塊調(diào)試1.CPU運(yùn)行將CPU314模式開(kāi)關(guān)撥到“RUN”位置,運(yùn)行CPU。如果上述FM3572固件安裝、硬件配置和程序編寫(xiě)都正確,FM3572將進(jìn)入運(yùn)行狀態(tài)。FM3572正常運(yùn)行時(shí),LED的狀態(tài)如下:(1)SF滅;(2)BAF滅;(3)DC5V亮;(4)DIAG3Hz閃爍。2.通過(guò)FM3572參數(shù)化工具調(diào)試(1)重新打開(kāi)FM3572在線參數(shù)窗口。(2)通過(guò)菜單命令“Test”?“Startup”,進(jìn)入Startup界面。(3)激活X1軸點(diǎn)動(dòng)模式(見(jiàn)圖3.622),具體操作步驟如下:①
選中X1軸;②
點(diǎn)擊“TEST”按鈕,激活測(cè)試模式;③
選擇“Jogging”模式;④
勾選“Pulseenable”和“Enablecontroller”。(4)啟動(dòng)點(diǎn)動(dòng)操作。點(diǎn)擊“R+”正轉(zhuǎn)按鈕后,按下鍵盤(pán)空格鍵。X1軸將進(jìn)入點(diǎn)動(dòng)模式。通過(guò)X1軸的“Actualposition”和“Speed”顯示框,可以監(jiān)控X1軸當(dāng)前的位置和速度;通過(guò)“TraversePlus”指示燈可知軸當(dāng)前是正方向運(yùn)行(見(jiàn)圖3.623)3.通過(guò)用戶程序調(diào)試說(shuō)明:FC101來(lái)自FM3572標(biāo)準(zhǔn)例程,這里不對(duì)FC101程序代碼做詳細(xì)解釋。(1)通過(guò)程序控制運(yùn)行,先不激活Startup的測(cè)試功能。點(diǎn)擊“TEST”按鈕確認(rèn)關(guān)閉測(cè)試功能。操作完成后“TEST”按鈕左側(cè)的指示燈熄滅(見(jiàn)圖3.624)(2)為了便于監(jiān)控和調(diào)試,建立變量表,并在線(見(jiàn)圖3.625)。①
控制位:DB115.DBX0.1=1控制使能DB115.DBX0.3=1正向點(diǎn)動(dòng)使能②
狀態(tài)位:DB115.DBX0.5=1執(zhí)行沒(méi)有錯(cuò)誤,當(dāng)前正方向運(yùn)行(3)同樣,進(jìn)入“Startup”可以監(jiān)控當(dāng)前位置和速度。只是不能在Startup中控制軸的運(yùn)行,因?yàn)楫?dāng)前由用戶程序控制(見(jiàn)圖3.626)4.錯(cuò)誤診斷FM3572錯(cuò)誤類型很多,并且不是每一種錯(cuò)誤都會(huì)導(dǎo)致模板SF指示燈亮,通??梢酝ㄟ^(guò)Erroranalysis工具來(lái)讀取具體的錯(cuò)誤原因?,F(xiàn)在通過(guò)模擬一個(gè)錯(cuò)誤來(lái)描述錯(cuò)誤原因的讀取步驟。模擬的錯(cuò)誤是將CPU314模式開(kāi)關(guān)撥到“STOP”位置,即停止CPU運(yùn)行。(1)通過(guò)菜單命令“Test”?“Startup”,進(jìn)入Startup界面。從圖3.627上可以看到FM已經(jīng)有錯(cuò)誤顯示“003000:Emergencystop”(見(jiàn)圖3.627)。(2)通過(guò)菜單命令“Test”?“Erroranalysis”,進(jìn)入Erroranalysis界面(見(jiàn)圖3.628)。從圖3.628中
可
以
看
到,這
里
有
兩
個(gè)
錯(cuò)
誤。除
了“003000:Emergencystop”,還
有“002000:Signoflifemonitoring:CPUnotalive”。通過(guò)這兩個(gè)錯(cuò)誤的描述,可以發(fā)現(xiàn)實(shí)際模擬錯(cuò)誤與此是一致的。因?yàn)镃PU沒(méi)有運(yùn)行,所以在監(jiān)控時(shí)間內(nèi),CPU沒(méi)有輸出確認(rèn)信號(hào),導(dǎo)致FM3572急停。西門(mén)子FM3572位控模塊的硬件連接運(yùn)行實(shí)物圖如圖3.629所示。3.6.6后續(xù)工作西門(mén)子FM3572位控模塊的設(shè)計(jì)及應(yīng)用還有不少后續(xù)工作,包括進(jìn)一步研究脈沖數(shù)目和速度的控制,進(jìn)行伺服電機(jī)模擬量輸出閉環(huán)控制以及數(shù)控編程控制等?;诠I(yè)上的應(yīng)用,許多情況下需要多個(gè)運(yùn)動(dòng)同時(shí)協(xié)調(diào)的進(jìn)行控制才能達(dá)到加工要求,特別是在電子、半導(dǎo)體、醫(yī)藥制藥、汽車和生活消費(fèi)品等行業(yè)。西門(mén)子FM3572多軸定位模塊是多軸運(yùn)動(dòng)控制的典型,具有編程方便、精確度高、實(shí)時(shí)控制性能、較高的運(yùn)動(dòng)控制精度,以及良好的可升級(jí)性和可擴(kuò)展性等優(yōu)點(diǎn),結(jié)合多軸工作性能的要求,可以實(shí)現(xiàn)西門(mén)子FM3572多軸定位模塊在上述行業(yè)精確的軌跡控制,并具有良好的發(fā)展和應(yīng)用前景。3.7基于變頻器與PLC的單閉環(huán)PID控制基于PLC的單閉環(huán)PID控制是工程中最常見(jiàn)和最基礎(chǔ)的,以下是基于西門(mén)子S7300PLC的PID初步應(yīng)用實(shí)例。3.7.1目的設(shè)計(jì)水位自動(dòng)控制系統(tǒng),根據(jù)檢測(cè)的水位自動(dòng)控制變頻器轉(zhuǎn)速,從而控制水泵排量,進(jìn)而控制水箱水位在設(shè)定值上下小范圍波動(dòng)。3.7.2系統(tǒng)描述通常,基于S7300PLC的單閉環(huán)控制系統(tǒng)框圖可以用圖3.71表示。本例采用S7300PLC加模擬量輸入/輸出模塊(SM334),將0~10V電壓模擬水位變送器信號(hào),接入SM334的AI第一通道,數(shù)據(jù)被線性化為工程量(0~5m),并經(jīng)PLC低通數(shù)字濾波處理后用于顯示和PID(實(shí)際僅采用PI調(diào)節(jié)器)閉環(huán)控制,根據(jù)水位高度,通過(guò)模擬量輸出AO控制變頻器轉(zhuǎn)速(水位高于設(shè)定值則轉(zhuǎn)速降低,反之亦然),如圖3.72所示。水位自動(dòng)控制實(shí)驗(yàn)硬件連接示意圖如圖3.73所示3.7.3軟件編程1.建立工程、硬件組態(tài)建立項(xiàng)目工程PID300,根據(jù)實(shí)際硬件進(jìn)行硬件組態(tài),注意AI/AO地址,如圖3.74所示2.變量地址分配,建立符號(hào)表結(jié)合圖3.71~圖3.73的系統(tǒng)框圖和硬件連接圖,建立變量地址分配符號(hào)表,如圖3.75所示。3.PID模塊FB41的調(diào)用1)設(shè)置定時(shí)中斷時(shí)間間隔在硬件組態(tài)中雙擊“CPU313C2DP”,選取“周期性中斷”選項(xiàng),根據(jù)實(shí)際控制對(duì)象更改OB35執(zhí)行時(shí)間間隔,本例暫定1000ms,點(diǎn)擊“確定”按鈕,如圖3.76所示。2)添加OB35組織塊回到“SIMATICManager”窗口,右擊“塊”?“插入新對(duì)象”?“組織塊”,如圖3.77所示。出現(xiàn)“屬性
組織塊”對(duì)話框,選取“常規(guī)
第1部分”選項(xiàng)卡,在“名稱”欄輸入OB35,點(diǎn)擊“確定”按鈕,如圖3.78所示在“SIMATICManager”窗口中的“塊”選項(xiàng)下出現(xiàn)OB35模塊,如圖3.79所示。3)OB35中調(diào)用FB41雙擊“OB35”進(jìn)入編程,展開(kāi)庫(kù)”?“StandardLibrary”?“PIDControlBlocks”,選擇FB41拖動(dòng)至程序段1,如圖3.710所示。在FB41模塊上“???”處輸入FB41背景塊名稱“db1”,如圖3.711所示點(diǎn)擊圖3.711中的“是”按鈕,自動(dòng)生成FB41背景塊db1。為便于查看更全的信息,點(diǎn)擊“視圖”?“顯示方式”全部勾選,如圖3.712所示。選中FB41,按鍵盤(pán)上的F1鍵,即可查看FB41詳細(xì)的使用幫助,如圖3.713所示。在FB41模
塊SP_INT引
腳
填
寫(xiě)MD20,PV_IN引
腳
填
寫(xiě)MD24,LMN引
腳
填
寫(xiě)MD28,MAN_ON引腳填M0.0,GAIN引腳填1.0,TI引腳填T#5M,如圖3.714所示。GAIN和TI僅為方便仿真調(diào)試而設(shè)置的數(shù)值,GAIN即PID比例增益,數(shù)值越大,動(dòng)態(tài)響應(yīng)越快,但容易導(dǎo)致超調(diào)或系統(tǒng)不穩(wěn)定;TI為PID積分時(shí)間常數(shù),以上設(shè)為5min,則變化緩慢,仿真觀察方便。P_SEL、I_SEL默認(rèn)為T(mén)RUE,D_SEL默認(rèn)為FALSE,分別為PID功能使能位,本例均用默認(rèn)值,故為PI調(diào)節(jié)器。MAN_ON控制位M0.0為FALSE時(shí)設(shè)置為自動(dòng)PID運(yùn)算,為T(mén)RUE時(shí)將設(shè)置輸入“啟用手動(dòng)值”,并中斷控制回路。手動(dòng)值作為操作值進(jìn)行設(shè)置。4.調(diào)用FC105、FC106FC105為定標(biāo),將AI模塊轉(zhuǎn)換(變送器標(biāo)準(zhǔn)模擬量信號(hào)經(jīng)A/D轉(zhuǎn)換)后的16位整數(shù)規(guī)范化成工程量(浮點(diǎn)數(shù),本例為0~5m);FC106為解標(biāo),將PID模塊輸出模擬量值轉(zhuǎn)換成寫(xiě)入AO模塊的16位整數(shù),AO模塊經(jīng)D/A轉(zhuǎn)換成標(biāo)準(zhǔn)模擬量信號(hào)輸出給執(zhí)行器。FC105、FC106均為線性變換數(shù)據(jù)處理功能。在OB1中,展
開(kāi)“庫(kù)”?“StandardLibrary”?“TIS7ConvertingBlocks”,選
擇FC105和FC106并拖動(dòng)至程序段1,如圖3.715所示。在FC105和FC106對(duì)應(yīng)引腳填上主要輸入輸出量,如圖3.716所示。圖3.716中,M0.1設(shè)置為FALSE,單極性信號(hào)。圖3.716中的該段程序也可放入OB35,FC105在FB41前調(diào)用,FC106在FB41后調(diào)用。5.濾波程序編寫(xiě)由于傳感器采集信號(hào)通常含有高頻干擾信號(hào),可以使用軟件進(jìn)行濾波,濾波方法有指數(shù)平滑濾波、中值濾波和平均值濾波等。指數(shù)平滑濾波類似于一階低通濾波,在工程中比較常用,其運(yùn)算公式如下:式中:X(k)為第k次采樣值,本例對(duì)應(yīng)MD32;Y(k)為第k次濾波結(jié)構(gòu)輸出值,本例對(duì)應(yīng)MD24;Y(k-1)為第k-1次濾波結(jié)構(gòu)輸出值,本例對(duì)應(yīng)MD36;α為濾波平滑系數(shù),本例對(duì)應(yīng)MD40,取值范圍為0~1,其值大,濾波平滑效果小,響應(yīng)快,其值小,濾波平滑效果大,但所得過(guò)程值延時(shí)長(zhǎng),故需要根據(jù)實(shí)際情況折中處理。打開(kāi)OB35,添加REAL型局部變量temp1、temp2和temp3,如圖3.717所示,并在FB41前插入如圖3.718所示的程序。插入OB100組織塊,對(duì)濾波平滑系數(shù)MD40(暫定0.5)、MD20、MD24、MD28、MD32和MD36等變量進(jìn)行初始化,如圖3.719所示。6.添加變量表為方便仿真調(diào)試,添加變量表,如圖3.720所示。確認(rèn)以上程序無(wú)誤后全部保存,程序編寫(xiě)完成。3.7.4仿真調(diào)試回到“SIMATICManager”窗口,點(diǎn)擊
圖標(biāo)開(kāi)啟仿真器,出現(xiàn)S7PLCSIM1畫(huà)面,如圖3.721所示?;氐健癝IMATICManager”窗口,選擇“SIMATIC300(1)”,點(diǎn)擊
圖標(biāo),遇到彈出對(duì)話框時(shí)均點(diǎn)擊“確定”按鈕,將所有程序及配置下載至仿真PLC,即S7PLCSIM1中,如圖3.722所示。在S7PLCSIM1窗口中點(diǎn)擊
圖標(biāo),增加MB0;點(diǎn)擊
圖標(biāo),在變量編輯框處輸入PIW256;點(diǎn)擊
圖標(biāo),在變量編輯框處輸入PQW256,如圖3.723所示。在S7PLCSIM1窗口中勾選“RUN-P”,啟動(dòng)仿真PLC運(yùn)行,若系統(tǒng)正常,“RUN”綠色指示燈閃爍后常亮;在PIW256處輸入10000;打開(kāi)變量表,點(diǎn)擊
監(jiān)控,在MD20“修改數(shù)值”欄輸入設(shè)定水位為3.0,點(diǎn)擊
圖標(biāo)修改變量,可觀測(cè)到如圖3.724所示的畫(huà)面變量表監(jiān)控顯示濾波后水位1.8m(穩(wěn)定后,5.0×10000/27648)左右,可觀看到PID輸出MD28緩慢增加;運(yùn)行一段時(shí)間后,PIW256改成16589(相當(dāng)于實(shí)際檢測(cè)水位3.0m左右,5.0×16589/27648)則PID輸出MD28基本保持不變;PIW256改成20000(相當(dāng)于實(shí)際檢測(cè)水位3.6m左右,5.0×20000/27648)則PID輸出MD28緩慢減小,系統(tǒng)實(shí)現(xiàn)了自動(dòng)調(diào)節(jié)。3.7.5軟、
硬件聯(lián)合調(diào)試按照?qǐng)D3.73連接各硬件,MM420變頻器按本書(shū)2.12.6節(jié)進(jìn)行設(shè)置。運(yùn)行后,調(diào)節(jié)模擬水位變送器信號(hào)0~10V電壓,當(dāng)電壓小于6V(相當(dāng)于3.0m)時(shí),變頻器電機(jī)速度增加;當(dāng)電壓大于6V時(shí),變頻器電機(jī)速度減小。實(shí)際應(yīng)用中,采樣時(shí)間間隔、PID參數(shù)等需要根據(jù)具體控制對(duì)象和控制要求確定3.7.6拓展實(shí)踐與思考題(1)可以采用觸摸屏、監(jiān)控組態(tài)軟件等對(duì)MD20、MD24、MD28、MD32和MD40等實(shí)施監(jiān)控;可以繪制實(shí)時(shí)曲線,進(jìn)行PID整定;增加手動(dòng)操作和無(wú)擾切換,更接近工程實(shí)際。(2)其他過(guò)程控制如測(cè)控量溫度、流量、壓力和物位均可參照本例進(jìn)行,可以根據(jù)本例搭建硬件,實(shí)踐效果將更好。(3)進(jìn)行多回路PID的控制。當(dāng)采樣周期為1s時(shí),針對(duì)某型號(hào)S7300PLC完成10個(gè)PID運(yùn)算所需時(shí)間估計(jì)和測(cè)試。所有定時(shí)中斷的運(yùn)算時(shí)間不能大于定時(shí)間隔時(shí)間(采樣周期),并留有余量。測(cè)試主循環(huán)掃描時(shí)間不能超過(guò)200ms,否則系統(tǒng)運(yùn)行不正常。(4)進(jìn)行串級(jí)控制(或雙閉環(huán)控制),比如本例流量作內(nèi)環(huán),水位作外環(huán),控制效果將更好。3.6.6后續(xù)工作西門(mén)子FM3572位控模塊的設(shè)計(jì)及應(yīng)用還有不少后續(xù)工作,包括進(jìn)一步研究脈沖數(shù)目和速度的控制,進(jìn)行伺服電機(jī)模擬量輸出閉環(huán)控制以及數(shù)控編程控制等?;诠I(yè)上的應(yīng)用,許多情況下需要多個(gè)運(yùn)動(dòng)同時(shí)協(xié)調(diào)的進(jìn)行控制才能達(dá)到加工要求,特別是在電子、半導(dǎo)體、醫(yī)藥制藥、汽車和生活消費(fèi)品等行業(yè)。西門(mén)子FM3572多軸定位模塊是多軸運(yùn)動(dòng)控制的典型,具有編程方便、精確度高、實(shí)時(shí)控制性能、較高的運(yùn)動(dòng)控制精度,以及良好的可升級(jí)性和可擴(kuò)展性等優(yōu)點(diǎn),結(jié)合多軸工作性能的要求,可以實(shí)現(xiàn)西門(mén)子FM3572多軸定位模塊在上述行業(yè)精確的軌跡控制,并具有良好的發(fā)展和應(yīng)用前景。3.8交流伺服驅(qū)動(dòng)器的初步應(yīng)用本節(jié)簡(jiǎn)要介紹安川
系列伺服驅(qū)動(dòng)器在柔性PCB補(bǔ)強(qiáng)板預(yù)貼機(jī)XY平臺(tái)上的應(yīng)用,以及臺(tái)達(dá)ASDAB2系列伺服驅(qū)動(dòng)器速度模式下VC編程的Modbus控制。本章VC編程部分涉及串口控件應(yīng)用、Modbus協(xié)議、控件成員變量(示例用于編輯框和靜態(tài)文本顯示)以及PreTranslateMessage虛函數(shù)捕獲鼠標(biāo)左鍵按下和抬起事件實(shí)現(xiàn)Jog按鈕按下點(diǎn)動(dòng)、松開(kāi)停止功能等,部分新的應(yīng)用技巧與本書(shū)3.4節(jié)相比有所增加或不同,可以對(duì)比學(xué)習(xí)。3.8.1安川
系列位置模式及應(yīng)用1.工程背景柔性印刷電路板(FPCB)幾乎在所有流行的電子產(chǎn)品當(dāng)中都有使用,FPCB補(bǔ)強(qiáng)板預(yù)貼是FPCB生產(chǎn)過(guò)程中不可或缺的工序,目前多為人工粘貼。由于人工粘貼工作單調(diào)、勞動(dòng)量大,且質(zhì)量不穩(wěn)定,現(xiàn)在的年輕人普遍不愿意干,導(dǎo)致工廠勞動(dòng)力成本上升,管理難度加大。所以,迫切需要實(shí)現(xiàn)該工序的自動(dòng)化。FPCB補(bǔ)強(qiáng)板預(yù)貼機(jī)原理結(jié)構(gòu)簡(jiǎn)圖如圖3.81所示。機(jī)械傳動(dòng)系統(tǒng)為滾珠絲杠加導(dǎo)軌結(jié)構(gòu)。將電機(jī)旋轉(zhuǎn)運(yùn)動(dòng)轉(zhuǎn)換成X1、X2、Y三軸(X軸有2個(gè))平面運(yùn)動(dòng)控制粘貼位置;T1、T2軸旋轉(zhuǎn)運(yùn)動(dòng)控制粘貼角度(姿態(tài));粘貼材料沖切P1、P2上下運(yùn)動(dòng);供料F1、F2運(yùn)動(dòng)將要沖切的料帶準(zhǔn)確步進(jìn)送料,一共9個(gè)伺服控制軸。采用CCD工業(yè)相機(jī)可以拍攝視野中的目標(biāo)圖像,結(jié)合圖像處理算法得到圖像特征數(shù)據(jù),可用于測(cè)量;結(jié)合運(yùn)動(dòng)控制系統(tǒng)確定粘貼材料和FPCB對(duì)象的形狀、特征對(duì)象數(shù)據(jù)的絕對(duì)和相對(duì)坐標(biāo),這些坐標(biāo)數(shù)據(jù)可以用來(lái)注冊(cè)粘貼材料形狀數(shù)據(jù)和FPCB標(biāo)志點(diǎn)坐標(biāo)、粘貼位置標(biāo)記坐標(biāo)和形狀,也可以用于實(shí)際粘貼時(shí)目標(biāo)捕獲和位姿(位置和姿態(tài))校正參照。運(yùn)動(dòng)控制技術(shù)原理為:運(yùn)行于工業(yè)計(jì)算機(jī)中的運(yùn)動(dòng)控制程序指令通過(guò)高速并行PCI總線發(fā)送給運(yùn)動(dòng)控制器(板卡),運(yùn)動(dòng)控制器經(jīng)過(guò)DSP和FPGA高速處理發(fā)出運(yùn)動(dòng)指令給各軸伺服驅(qū)動(dòng)器,經(jīng)伺服驅(qū)動(dòng)器放大電壓和電流信號(hào)從而控制各軸電機(jī),電機(jī)帶動(dòng)機(jī)械部件運(yùn)動(dòng)??刂葡到y(tǒng)技術(shù)原理為:采用上位機(jī)加下位機(jī)架構(gòu)。上位機(jī)由工業(yè)控制計(jì)算機(jī)擔(dān)任,負(fù)責(zé)設(shè)備動(dòng)作調(diào)度、顯示、通信、非實(shí)時(shí)任務(wù)監(jiān)控、生產(chǎn)數(shù)據(jù)管理、機(jī)器視覺(jué)圖像處理和人機(jī)交互任務(wù)等。下位機(jī)主要由基于DSP+FPGA的多軸運(yùn)動(dòng)控制卡擔(dān)任,負(fù)責(zé)運(yùn)動(dòng)控制位置環(huán)算法、安全性監(jiān)控、加熱控制和硬件開(kāi)關(guān)量控制等實(shí)時(shí)性要求高的任務(wù)。2.硬件參數(shù)以X軸為例,伺服驅(qū)動(dòng)器型號(hào)為SGDV2R8A01B,功率為400W,電源電壓為交流單相200V;伺服電機(jī)型號(hào)為SGMJV04ADE6S,轉(zhuǎn)速為3000r/min,最高轉(zhuǎn)速為6000r/min,采用20位增量型編碼器;絲杠導(dǎo)程長(zhǎng)為20mm,電機(jī)軸與絲杠直接相連;運(yùn)動(dòng)控制器型號(hào)為GTS800PGPCI,脈沖輸出,最大頻率為1MHz,8軸,能接收四倍頻后達(dá)8MHz的編碼器輸入。3.硬件連接及要求硬件接線可參照運(yùn)動(dòng)控制器和伺服驅(qū)動(dòng)器手冊(cè)進(jìn)行,特別注意接地、屏蔽可靠,否則不能很好地控制。圖3.82為運(yùn)動(dòng)控制器與伺服驅(qū)動(dòng)器接線圖,伺服驅(qū)動(dòng)器輸出正交編碼器信號(hào)到運(yùn)動(dòng)控制器,供運(yùn)動(dòng)控制器讀取實(shí)際位置;運(yùn)動(dòng)控制器輸出高速脈沖和方向信號(hào)至伺服驅(qū)動(dòng)器,控制電機(jī)運(yùn)轉(zhuǎn)。顯然,這里伺服驅(qū)動(dòng)器要配置成位置模式。伺服驅(qū)動(dòng)器電源接線、電機(jī)及其編碼器與伺服驅(qū)動(dòng)器接線參照伺服驅(qū)動(dòng)器手冊(cè)進(jìn)行。本機(jī)要求脈沖當(dāng)量為0.001mm(1μm),X軸移動(dòng)最大速度為1000mm/s4.伺服驅(qū)動(dòng)器設(shè)置硬件連接好之后,需要根據(jù)所選硬件和要求確定好參數(shù),根據(jù)伺服驅(qū)動(dòng)器手冊(cè)進(jìn)行面板參數(shù)設(shè)定,試運(yùn)行。首先將Pn00B.2=1,支持單相電源輸入;Pn000.1=1位置控制模式;確認(rèn)Pn200.0=0符號(hào)+脈沖序列控制;確認(rèn)Pn216=0、Pn217=0位置指令加減速時(shí)間參數(shù),均設(shè)置為0,加減速由運(yùn)動(dòng)控制器控制;確認(rèn)Pn218=1指令脈沖輸入倍率;確認(rèn)Pn50A.3=8、Pn50B.0=8使禁止正轉(zhuǎn)、反轉(zhuǎn)驅(qū)動(dòng)功能無(wú)效。這些參數(shù)設(shè)定后,發(fā)送脈沖、方向和伺服使能等信號(hào)給伺服驅(qū)動(dòng)器,電機(jī)即可運(yùn)轉(zhuǎn),但脈沖當(dāng)量、速度等不符合要求。根據(jù)參考文獻(xiàn)[9]的5.4.4節(jié)內(nèi)容,進(jìn)行電子齒輪比的設(shè)定,有其中,編碼器分辨率為1048576,負(fù)載軸轉(zhuǎn)1圈的移動(dòng)量為導(dǎo)程20mm,按脈沖當(dāng)量為0.001mm,則負(fù)載軸轉(zhuǎn)1圈的移動(dòng)量(指令單位)數(shù)為20/0.001=20000,此處m/n為減速比1∶1,所以Pn20E=1048576、Pn210=20000,能滿足0.001的脈沖當(dāng)量,即向伺服驅(qū)動(dòng)器發(fā)送1個(gè)脈沖,X軸移動(dòng)0.001mm。再來(lái)驗(yàn)算一下最高速度。最高頻率為1MHz,即每移1000000個(gè)脈沖時(shí)X軸移動(dòng)的距離=1000000×0.001mm=1000mm,即最高速度為1000mm/s。脈沖當(dāng)量減小,最高速度也會(huì)降低,需要權(quán)衡考慮。5.其他事項(xiàng)電機(jī)軸通過(guò)聯(lián)軸器與絲杠連接,聯(lián)軸器最好在軸向有一定撓度,徑向有彈性,圓周方向剛性大,安裝時(shí)注意保持好同軸度。若伺服驅(qū)動(dòng)器通電伺服打開(kāi)狀態(tài)下仍然有振動(dòng),表現(xiàn)為高頻嘯叫聲,可以采用參考文獻(xiàn)[9]的6.2.2節(jié)輔助功能Fn200進(jìn)行免調(diào)整值設(shè)定,調(diào)整負(fù)載值和剛性值。負(fù)載值為0時(shí)負(fù)載小;負(fù)載值為2時(shí)負(fù)載大;負(fù)載值為1是出廠設(shè)定,負(fù)載中等。負(fù)載值大小可根據(jù)計(jì)算和經(jīng)驗(yàn)來(lái)判斷。剛性值范圍為0~4,出廠設(shè)定為4,數(shù)字越大增益越高,響應(yīng)越快,過(guò)大時(shí)可能發(fā)生振動(dòng),需要降低剛性值。發(fā)生高頻音時(shí),按Data/Shift鍵,將陷波濾波器的頻率自動(dòng)調(diào)整為振動(dòng)頻率,可以一定程度上解決高頻振動(dòng)問(wèn)題。伺服驅(qū)動(dòng)器的智能化程度越來(lái)越高,這需要讀者在掌握理論的基礎(chǔ)上,通過(guò)學(xué)習(xí)、實(shí)踐,很好地應(yīng)用這些功能,以解決工程實(shí)際問(wèn)題。3.8.2臺(tái)達(dá)ASDAB2系列速度模式與串口Modbus控制1.硬件參數(shù)及其連接ASDAB2系列伺服驅(qū)動(dòng)器利用精密的反饋控制并結(jié)合具有高速運(yùn)算能力的數(shù)字信號(hào)處理器,控制IGBT產(chǎn)生精確的電流輸出,用來(lái)驅(qū)動(dòng)三相永磁式同步交流伺服電機(jī)(PMSM)達(dá)到精確定位。不同型號(hào)伺服驅(qū)動(dòng)器的調(diào)試沒(méi)有差別。本例所用伺服驅(qū)動(dòng)器及其伺服電機(jī)具體型號(hào)和主要參數(shù)為:伺服驅(qū)動(dòng)器型號(hào)為ASD-B20421-B,功
率
為400W,電
源
電
壓
為
交
流
單
相220V;伺
服
電
機(jī)
型
號(hào)
為ECMA-C20804R3,電源電壓為交流單相220V,最高轉(zhuǎn)速為3000r/min,采用增量型17位編碼器,功率為400W。為傳輸較遠(yuǎn)距離,這里采用RS485通信接口,如圖3.83所示。注意:采用市面所售的IEEE1394通信線時(shí),勿使用內(nèi)部接地端子(1引腳,GND)和屏蔽網(wǎng)短路的方式。RS485接口與電腦RS232接口連接,需要在電腦端加一個(gè)RS232轉(zhuǎn)RS485轉(zhuǎn)接器;將RS485接口與電腦USB接口連接,需要在電腦端加一個(gè)USB轉(zhuǎn)RS485轉(zhuǎn)換器,并安裝相應(yīng)的驅(qū)動(dòng)軟件,虛擬出一個(gè)串口。本例采用后一種方法2.伺服驅(qū)動(dòng)器參數(shù)設(shè)置參照參考文獻(xiàn)[10],此處伺服驅(qū)動(dòng)器設(shè)置為速度模式,首先需要關(guān)注參考文獻(xiàn)中的安裝配線、面板顯示及操作、5.5節(jié)調(diào)機(jī)步驟和6.3.7節(jié)自動(dòng)共振抑制等。除關(guān)注參數(shù)配置外,還需關(guān)注P0-02驅(qū)動(dòng)器狀態(tài)顯示,P0-02=03顯示編碼器脈沖數(shù),16萬(wàn)PULSE/圈,超過(guò)16萬(wàn)計(jì)數(shù)則回0重新計(jì)數(shù);P0-17=3,讀取P0-09(0013H:0012H)CM1內(nèi)容為編碼器脈沖數(shù),16萬(wàn)PULSE/圈;P137負(fù)載慣量比;P1-36S曲線平滑系數(shù);P1-44、45電子齒輪比(位置模式常用);P1-46檢出每圈脈沖數(shù),4~40000,伺服驅(qū)動(dòng)到其他編碼器檢測(cè)裝置;P2-09DI為濾波時(shí)間;P0-46DO為狀態(tài)顯示等。端口設(shè)置:3.ModbusRTU協(xié)議概述通信程序可利用VC串口控件向串口發(fā)送程序進(jìn)行。ModbusRTU協(xié)議實(shí)現(xiàn)的關(guān)鍵是CRC校驗(yàn),產(chǎn)生CRC的過(guò)程如下:(1)把16位CRC寄存器置為FFFFH。(2)將第一個(gè)8位數(shù)據(jù)與CRC寄存器低8位進(jìn)行異或運(yùn)算,把結(jié)果放入CRC寄存器。(3)CRC寄存器向右移一位,MSB填零,檢查L(zhǎng)SB。(4)若LSB為0,則重復(fù)第(3)步,再右移一位;若LSB為1,則對(duì)CRC寄存器與A001H進(jìn)行異或運(yùn)算。(5)重復(fù)第(3)和(4)步直至完成8次移位,完成8位字節(jié)的處理。(6)重復(fù)第(2)至(5)步,處理下一個(gè)8位數(shù)據(jù),直至全部字節(jié)處理完畢。(7)CRC寄存器的最終值為CRC值。(8)把CRC值放入信息時(shí),高8位和低8位應(yīng)分開(kāi)放置。先送低8位,后送高8位。需要注意的是,以上第(3)步中的LSB指的是該步驟移出的這一位,而不是右移一位后CRC寄存器的最低位,否則將得不到正確的結(jié)果。CRC計(jì)算參考函數(shù)程序清單如下:本例需要向伺服驅(qū)動(dòng)器發(fā)送寫(xiě)單個(gè)字(2字節(jié))和寫(xiě)多個(gè)字以對(duì)伺服驅(qū)動(dòng)器配置或發(fā)送命令,對(duì)應(yīng)功能碼為0x06和0x10,串口事件觸發(fā)接收Modbus反饋報(bào)文,可根據(jù)從站地址、功能碼和CRC校驗(yàn)碼是否正確等判斷是否寫(xiě)入成功;向伺服驅(qū)動(dòng)器發(fā)送讀取多個(gè)字(功能碼0x03),串口事件觸發(fā)接收返回報(bào)文,根據(jù)返回報(bào)文的從站地址、功能碼和CRC校驗(yàn)碼判斷是否正常通信,若正常,則將返回報(bào)文要讀取的內(nèi)容數(shù)據(jù)(比如編碼器值)取出。向Modbus從站寫(xiě)單個(gè)字的報(bào)文格式見(jiàn)表3.81,CRC校驗(yàn)碼(以xxxx代)通過(guò)以上CRC函數(shù)得到,組織好數(shù)據(jù)(此處共8字節(jié))發(fā)送即可4.VC6.0開(kāi)發(fā)Modbus串口控制程序步驟1)建立基于基本對(duì)話框的工程和界面參照本書(shū)3.4節(jié)建立工程名為“MB_ASDA”基于基本對(duì)話框的工程文件,注意在“MFC應(yīng)用程序向?qū)А睂?duì)話框中點(diǎn)擊“下一步”按鈕進(jìn)入步驟2,程序出現(xiàn)如圖3.84所示的對(duì)話框,需要勾選“ActiveX控件”選項(xiàng)。建立如圖3.85所示的對(duì)話框界面。2)將mscomm控件加進(jìn)項(xiàng)目添加mscomm控件過(guò)程如圖3.86~圖3.810所示,添加完成可在控件工具欄看到串口控件(小電話)圖標(biāo),將該圖標(biāo)點(diǎn)擊拖至“MB_ASDA”界面,如圖3.810所示。3)添加類成員變量鼠標(biāo)右擊串口控件圖標(biāo),選擇“建立類向?qū)?..”如圖3.811所示;在彈出的對(duì)話框中選擇控件ID“IDC_MSCOMM1”,點(diǎn)擊“AddVarialble...”按鈕,彈出添加成員變量對(duì)話框,填、選項(xiàng)目如圖3.812所示,定義m_mscomm串口控件變量。圖3.813為串口控件成員變量添加完成圖.繼續(xù)續(xù)添加其他控件變量,數(shù)值型變量可填寫(xiě)變量最大、最小值范圍,如圖3.814和圖3.815所示。控件成員變量添加完畢后,可在如下程序代碼處,改變相關(guān)變量初值:4)添加串口事件處理函數(shù)鼠標(biāo)右擊串口控件圖標(biāo),在彈出的菜單中選擇“事件”,如圖3.816所示;系統(tǒng)彈出的對(duì)話框如圖3.817所示,點(diǎn)擊“AddHandler”添加串口事件處理函數(shù),添加完成如圖3.818所示。此時(shí)產(chǎn)生voidCMB_ASDADlg::OnOnCommMscomm1()函數(shù)及相關(guān)代碼。5)各按鈕響應(yīng)函數(shù)6)PreTranslateMessage虛函數(shù)實(shí)現(xiàn)JogP和JogN按下點(diǎn)動(dòng)、松開(kāi)停止功能在類標(biāo)題目錄樹(shù)下,選中“CMB_ASDDlg”,單擊鼠標(biāo)右鍵選擇“AddVirtualFunction?”添加虛
函
數(shù),如
圖3.819所
示。程
序
彈
出
的
對(duì)
話
框
如
圖3.820所
示,選
中“PreTranslateMessage”,點(diǎn)
擊“AddandEdit”按
鈕,則
生
成BOOLCMB_ASDADlg::PreTranslateMessage(MSG*pMsg)函數(shù),添加相應(yīng)代碼即可實(shí)現(xiàn)JogP和JogN按鈕按下點(diǎn)動(dòng)、松開(kāi)停止的功能.5.調(diào)試結(jié)果采用USB轉(zhuǎn)RS485接口連接電腦和伺
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家用電器代理合同樣本及注意事項(xiàng)
- 辦公場(chǎng)所租賃合同范本及注意事項(xiàng)
- 扶貧項(xiàng)目管理合同范本及風(fēng)險(xiǎn)防控解析
- 白酒定制合作合同標(biāo)準(zhǔn)框架范本
- 房屋共建合同范本及法律風(fēng)險(xiǎn)提示
- 配送背包運(yùn)輸承運(yùn)合同
- 配送箱維護(hù)協(xié)議合同
- 旅游行業(yè)數(shù)據(jù)服務(wù)合同
- 寧德閩記經(jīng)銷商合同2025年合同解除條件
- 2025年勞動(dòng)合同解除條件規(guī)定
- 2026年湖南食品藥品職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)帶答案詳解
- 《AQ 4272-2025鋁鎂制品機(jī)械加工粉塵防爆安全規(guī)范》專題研究報(bào)告
- 2025年度威海文旅發(fā)展集團(tuán)有限公司招聘工作人員25人筆試參考題庫(kù)附帶答案詳解(3卷)
- T-CNHC 4-2025 昌寧縣低質(zhì)低效茶園改造技術(shù)規(guī)程
- 2025年手術(shù)室護(hù)理實(shí)踐指南試題(含答案)
- 2025年山東省政府采購(gòu)專家入庫(kù)考試真題(附答案)
- 2025兵團(tuán)連隊(duì)職工試題及答案
- 2025年煤礦安全規(guī)程題庫(kù)(附答案)
- 雨課堂學(xué)堂云在線《人工智能原理》單元測(cè)試考核答案
- GB/T 30340-2025機(jī)動(dòng)車駕駛員培訓(xùn)機(jī)構(gòu)業(yè)務(wù)條件
- 2025年博物館巡回展覽合同協(xié)議
評(píng)論
0/150
提交評(píng)論