本發(fā)明涉及一種對旋轉體的旋轉進行控制的控制裝置。
背景技術:
::進行運動(motion)控制的控制器(controller)使用在用戶程序(userprogram)中指令的目標值(位置、速度、扭矩(torque)等),以固定的周期來執(zhí)行為了實現所需的動作而需要的、對馬達(motor)等的控制對象的指令位置的輸出以及從控制對象的信息獲取。此種控制器中,例如專利文獻1所記載,將旋轉體的指令移動量轉換為伺服驅動器(servodriver)所處理的脈沖(pulse)數的單位。例如,在通過馬達來使圓臺(table)等旋轉體旋轉的系統(tǒng)(system)中驅動旋轉體的情況下,在用戶程序的制作時,表示旋轉體位置的指令位置是以角度為單位來設定。與此相對,馬達的驅動器以脈沖為單位來處理指令值,因此要將指令位置的單位由角度轉換為脈沖數。例如,當從0°至360°旋轉一圈時返回0°,在從0°開始反復旋轉的坐標系中,將馬達旋轉一圈(360°)換算成規(guī)定的脈沖數?,F有技術文獻專利文獻專利文獻1:日本專利特開平5-150808號公報(1993年6月18日公開)技術實現要素:[發(fā)明所要解決的課題]且說,驅動器中,借助偏差計數器(counter),基于指令位置與當前位置的偏差脈沖來進行馬達的控制。為了獲得該偏差脈沖,必須對表示指令位置的脈沖與表示當前位置的脈沖進行計數。為了進行該計數,一般使用環(huán)形計數器(ringcounter)。環(huán)形計數器在旋轉體的旋轉開始的同時,從計數下限值開始對指令位置的脈沖進行計數,當旋轉體旋轉一圈而指令位置的脈沖數達到計數上限值時,再次從計數下限值開始進行計數。所述系統(tǒng)中,在使用利用齒輪的減速機來對作為旋轉體的工件(work)進行減速驅動的情況下,根據減速機的減速比,將工件每旋轉一圈的移動量轉換成脈沖單位時,有時為非整數。此時,由于控制器對驅動器給予的指令位置為整數值,因此每當工件旋轉時便會產生小數值部分的尾數。若每當環(huán)形計數器的計數由計數上限值切換為下限值時,在控制器側舍去該尾數,則在工件反復旋轉的期間,數值上的旋轉與實際的旋轉之間產生偏差。例如,在相對于馬達旋轉五圈而工件旋轉三圈的情況下,減速機的減速比為3/5。此時,考慮到該減速比的工件旋轉一圈的轉換脈沖數p如下式所示,通過將馬達旋轉一圈的規(guī)定脈沖數(10000脈沖)乘以減速比的倒數而求出。p=10000×(5/3)=16666.66666...由于作為指令位置的轉換脈沖數p必須為整數,因此在舍去所述小數值(0.66666...)的情況下,以脈沖數來表示工件旋轉位置的脈沖位置如圖7的(c)所示,當每旋轉一圈而達到環(huán)形計數器的計數上限值即16666時,恢復為計數下限值0。因此,實際受到驅動的工件的位置(工件位置)如圖7的(a)部分所示表示,與此相對,基于舍去了小數值的轉換脈沖數p的工件位置如圖7的(b)部分所示產生了偏差d。該偏差d通過累積,從而每當重復旋轉時放大。作為修正此種偏差d的方法,每旋轉一圈而使小數的尾數脈沖數(所述情況下為0.6666...)累積并進行監(jiān)控(monitor),在尾數脈沖數的累積值達到1以上的時間點輸出修正值,從而修正轉換脈沖數p以消除尾數脈沖數的累積值。然而,該方法會產生下述不良狀況:輸出修正值時速度變得不連續(xù),或者監(jiān)控的位置與輸出脈沖數不一致。而且,為了避免此種不良狀況,運算部的結構變得復雜。本發(fā)明是有鑒于所述問題而完成,其目的在于以簡單的結構來高精度地控制旋轉體的位置。[解決課題的技術手段]為了解決所述課題,本發(fā)明的控制裝置將用于對旋轉體的旋轉進行控制的脈沖給予至驅動器,所述旋轉體通過所述驅動器使用表示指令位置的所述脈沖的脈沖數來驅動的馬達,以經由減速機的規(guī)定減速比來旋轉,所述控制裝置包括:計數范圍決定部,決定對所述脈沖數進行計數的計數器的計數范圍,所述計數范圍決定部將所述馬達每旋轉一圈的規(guī)定脈沖數乘以所述減速比的倒數及修正值,并且決定使乘法結果成為整數的所述修正值。根據所述結構,將規(guī)定脈沖數乘以減速比的倒數及修正值的結果所得的脈沖數成為整數。因而,不會如以往的系統(tǒng),在計數范圍由上限值切換為下限值時,產生小數值的誤差。因此,此種誤差的累積不會在當前位置累積。由此,實際受到驅動的旋轉體的位置與根據指令位置所設想的工件的位置一致。而且,不需要如以往的控制器,對小數的尾數脈沖數進行管理修正的處理。在所述控制裝置中,也可為,所述減速機是相對于所述馬達旋轉m(m為整數)圈而使所述旋轉體旋轉n(n為整數)圈的所述減速比為n/m的齒輪對,所述計數范圍決定部將所述旋轉體的轉速n決定為所述修正值。根據所述結構,能夠使修正值的決定過程(process)變得簡單。在所述控制裝置中,也可為,所述計數范圍決定部將正整數作為乘數而從1開始依次乘以所述規(guī)定脈沖數及所述減速比的倒數的乘法值,將乘法結果成為整數時乘以所述乘法值的所述乘數決定為所述修正值。本發(fā)明的控制裝置也可通過計算機(computer)來實現,此時,通過使計算機作為所述控制裝置所具備的各部(軟件(software)要素)進行動作而利用計算機來實現所述控制裝置的控制裝置的控制程序、及記錄有該控制程序的計算機可讀取的記錄介質也屬于本發(fā)明的范疇。[發(fā)明的效果]本發(fā)明起到下述效果:能夠以簡單的結構來高精度地控制旋轉體的位置。附圖說明圖1是表示本發(fā)明的實施方式1的控制系統(tǒng)的概略結構的框圖。圖2是表示所述控制系統(tǒng)中的機構部的結構的立體圖。圖3是表示所述控制系統(tǒng)中的伺服驅動器的計數器部的動作的圖。圖4是表示所述控制系統(tǒng)中的控制器的單位轉換部的結構的框圖。圖5的(a)部份分、(b)部份及(c)部份分別表示由所述控制器所管理的工件位置、馬達位置及脈沖位置的關系的圖。圖6是表示所述單位轉換部的單位轉換動作的圖,(a)部份是表示工件34的位置的圖,(b)部份是表示將工件34的位置轉換為脈沖的脈沖位置的圖。圖7的(a)部份分、(b)部份及(c)部份分別表示以往系統(tǒng)中的實際的工件位置、與將轉換脈沖數的小數點舍去時的工件位置及脈沖位置的關系的圖。主要元件標號說明1:控制器/控制裝置2:伺服驅動器/驅動器3:機構部11:運動控制部12:存儲器13:單位轉換管理部14:通信處理部21:計數器部21a:指令位置計數器/計數器21b:反饋計數器22:偏差計數器23:控制部31:馬達32:旋轉編碼器33:減速機33a:工件側齒輪/第1齒輪33b:馬達側齒輪/第2齒輪34:工件/旋轉體35:旋轉軸36:旋轉軸100:控制系統(tǒng)131:單位轉換部131a:范圍放大部131b:轉換處理部131c:范圍縮小部132:計數范圍決定部m:轉速n:轉速pr:規(guī)定脈沖數具體實施方式使用圖1至圖6來對本發(fā)明的一實施方式如以下所述進行說明。(控制系統(tǒng)100的結構)圖1是表示實施方式1的控制系統(tǒng)100的概略結構的框圖。圖2是表示控制系統(tǒng)中的機構部3的結構的立體圖。圖3是表示控制系統(tǒng)100中的伺服驅動器2的計數器部21的動作的圖。圖4是表示控制系統(tǒng)100中的控制器1的單位轉換部131的結構的框圖。如圖1所示,控制系統(tǒng)100具備控制器1、伺服驅動器2(驅動器)及機構部3。機構部3是控制器1的控制對象,包含馬達31、旋轉編碼器(rotaryencoder)32、減速機33及作為旋轉體的工件34。馬達31例如為伺服馬達(servomotor),驅動工件34旋轉。而且,也如圖2中所示,馬達31一體地設有用于對旋轉角度及旋轉角速度進行檢測的旋轉編碼器32。旋轉編碼器32伴隨馬達31的旋轉而輸出周期性的脈沖信號。減速機33是包含安裝于工件34的旋轉軸36的工件側齒輪33a(第1齒輪)與安裝于馬達31的旋轉軸35的馬達側齒輪33b(第2齒輪)的齒輪對,工件側齒輪33a與馬達側齒輪33b嚙合。在通過減速機33介入馬達31對工件34的驅動,從而相對于馬達31旋轉m圈而工件34旋轉n圈的情況下,減速機33的規(guī)定減速比是以n/m來表示(m:正整數,n:小于m的正整數)。伺服驅動器2具有計數器部21、偏差計數器22及控制部23。而且,伺服驅動器2接收從通信處理部14發(fā)送的指令位置,并且將基于旋轉編碼器32的輸出而檢測出的反饋(feedback)位置等信息發(fā)送至控制器1。計數器部21包含指令位置計數器21a(計數器)及反饋計數器21b。指令位置計數器21a對從控制器1以脈沖信號的形態(tài)而給予的指令位置(指令值)的脈沖數進行計數。反饋計數器21b對從旋轉編碼器32以脈沖信號的形態(tài)而給予的反饋位置(當前位置)的脈沖數進行計數。計數器部21如圖3所示,每當對脈沖數進行計數時要重復從計數范圍的上限值恢復為下限值的動作,因此包含環(huán)形計數器。另外,對于計數器部21,也可利用獨立于伺服驅動器2而設置的計數器單元所具備的各種計數器功能中的環(huán)形計數器功能。偏差計數器22對由計數器部21所計數的指令位置與當前位置的偏差進行計數,并給予至控制部23。控制部23控制馬達31的旋轉,以消除作為偏差脈沖而殘留于偏差計數器22中的指令位置與當前位置的偏差。具體而言,控制部23作為與馬達31的狀態(tài)量(旋轉角度、旋轉角速度等)相應的最優(yōu)選驅動能量來給予扭矩,由此來驅動馬達31。控制部23根據基于從旋轉編碼器32輸出的脈沖信號的反饋位置(旋轉角度)、與來自控制器1的指令值來進行位置控制,以作為位置控制功能。而且,控制部23根據作為位置控制結果而獲得的控制脈沖、與基于從旋轉編碼器32輸出的脈沖信號的反饋速度(旋轉角速度)來進行速度控制,以作為速度控制功能。而且,控制部23根據輸入扭矩與輸出扭矩(反饋扭矩)來進行扭矩控制,以作為扭矩控制功能??刂破?是生成對伺服驅動器2給予的用于運動控制的指令位置(指令值)的控制裝置,包含可編程邏輯控制器(programmablelogiccontroller,plc)等??刂破?具有運動控制部11、存儲器12、單位轉換管理部13及通信處理部14。運動控制部11對后述的用戶程序中所含的運動控制命令進行分析,并且基于分析結果而每隔固定周期地執(zhí)行運動運算,由此來生成對伺服驅動器2給予的指令位置。而且,運動控制部11基于與來自伺服驅動器2的當前位置之差,判定工件34是否已到達所指令的位置(在適當位置(inposition))。存儲器12是為了存儲用戶程序與參數而設的存儲裝置。用戶程序規(guī)定有對工件34的動作進行規(guī)定的運動控制命令、執(zhí)行運動控制命令的條件等,是由用戶所制作。參數是用于對工件34的動作進行規(guī)定的各種信息,是由用戶所設定。作為參數,準備用于決定所述減速比的馬達31的轉速m及工件34的轉速n、規(guī)定脈沖數pr、計數上限值及計數下限值。規(guī)定脈沖數pr是對馬達31旋轉一圈(旋轉范圍)分配的固定間隔的脈沖的數量。計數上限值及計數下限值表示用戶所指定的工件34的旋轉范圍,單位制也以相同的單位(例如旋轉角度)而設定。單位轉換管理部13將由運動控制部11所生成的指令值的單位轉換成在伺服驅動器2中處理的單位,并且對計數器部21的計數周期進行管理。因此,單位轉換管理部13如圖4所示,具有單位轉換部131與計數范圍決定部132。單位轉換部131為了對指令位置及當前位置的單位進行轉換,而具有范圍放大部131a、轉換處理部131b及范圍縮小部131c。范圍放大部131a將工件34旋轉n圈的角度范圍(角度的上限為360°)放大至n倍(n×360°)。而且,范圍放大部131a將馬達31旋轉m圈的脈沖數范圍(規(guī)定脈沖數的上限為pr)放大至m倍(m×pr)。此處,m為所述馬達31的轉速,n為所述工件34的轉速。而且,范圍放大部131a將所輸入的指令位置轉換成在放大后的角度范圍中對應的值,并且將當前位置轉換成在放大后的脈沖數范圍中對應的值。轉換處理部131b將經范圍放大部131a轉換的角度的指令位置轉換成在經放大的脈沖數范圍中對應的值。而且,轉換處理部131b將經范圍放大部131a轉換的脈沖數的當前位置轉換成在經放大的角度范圍中對應的值。范圍縮小部131c使經范圍放大部131a放大的角度范圍恢復(縮小)到放大前的范圍。而且,范圍縮小部131c使經范圍放大部131a放大的脈沖數范圍恢復(縮小)到放大前的范圍。計數范圍決定部132在初始處理時,通過將規(guī)定脈沖數pr乘以所述減速比n/m的倒數,從而算出計數器部21的指令位置計數器21a及反饋計數器21b對與工件34旋轉一圈的角度相當的脈沖數進行計數的值的范圍,以作為轉換值(乘法值)。而且,計數范圍決定部132在初始處理時,將使乘以轉換值的結果成為整數的乘數決定為修正值,將轉換值乘以該修正值而算出轉換脈沖數pc。此處,轉換脈沖數pc是與工件34旋轉n(n:正整數)圈相當的脈沖的數量。具體而言,計數范圍決定部132將所述工件34的轉速n決定為乘數?;蛘撸嫈捣秶鷽Q定部132也可將正整數作為乘數而從1開始依次乘以轉換值,將乘法結果成為整數(尤其優(yōu)選最小整數)時乘以轉換值的乘數決定為修正值。通信處理部14將經單位轉換管理部13進行了單位轉換的指令值在每個過程數據通信周期通過過程數據對象(processdataobjects,pdo)通信而發(fā)送至伺服驅動器2。pdo通信適合于以固定周期進行實時的信息交換的情況。(控制器1的動作)對以上述方式構成的控制系統(tǒng)100中的控制器1的單位轉換動作進行說明。圖5的(a)部分至(c)部分是分別表示由所述控制器所管理的工件位置、馬達位置及脈沖位置的關系的圖。圖6的(a)部分及(b)部分是表示單位轉換部的單位轉換動作的圖。在圖6的(a)部分及(b)部分中,圖6的(a)部分表示工件34的位置,圖6的(b)部分表示將工件34的位置轉換成脈沖的脈沖位置。首先說明計數范圍決定部132對計數范圍的決定。計數范圍決定部132讀出作為參數而存儲在存儲器12中的工件34的轉速n,將該轉速n決定為修正值。計數范圍決定部132基于作為參數而存儲在存儲器12中的馬達31的轉速m、工件34的轉速n及規(guī)定脈沖數pr與所述修正值,通過下式算出轉換脈沖數pc,并存儲于存儲器12中。pc=pr×(m/n)×n=m×pr計數范圍決定部132將轉換脈沖數pc經由通信處理部14而指示給計數器部21,以作為指令位置計數器21a及反饋計數器21b的新的計數范圍而設定為轉換脈沖數pc。計數器部21接受該指示,將指令位置計數器21a及反饋計數器21b的計數范圍設定為轉換脈沖數pc。由此,指令位置計數器21a及反饋計數器21b持續(xù)計數直至計數值達到轉換脈沖數pc為止,并將計數值恢復為0。此處,對具體的計數范圍設定事例進行說明。在該計數范圍設定事例中,采用下述參數。規(guī)定脈沖數pr:10000脈沖計數上限值:360°計數下限值:0°工件34的轉速n:3馬達31的轉速m:5若基于所述參數,則轉換脈沖數pc通過所述式而如下算出。pc=10000×(5/3)×3=50000〔脈沖〕在該計數范圍設定事例中,實際上,如圖5的(b)部分所示,馬達31旋轉五圈,與此相對,如圖5的(a)部分所示,工件34旋轉三圈。而且,如圖5的(c)部分所示,作為以脈沖數來表示工件34的旋轉位置的脈沖位置,通過指令位置計數器21a及反饋計數器21b的計數而獲得工件34旋轉三圈的50000脈沖。如此,轉換脈沖數pc為整數,因此當計數值從計數范圍的上限值切換到下限值時,不會如以往技術中產生的、舍去的小數值的誤差累積。由此,基于轉換脈沖數pc而設想的工件34的位置也如圖5的(a)部分所示表示,與實際的工件34的位置無偏差。接下來說明單位轉換部131對指令位置及當前位置的單位轉換動作。此處,對采用了所述參數時的單位轉換事例進行說明。在對指令位置的單位進行轉換的情況下,首先,如圖6的(a)部分及圖6的(b)部分所示,范圍放大部131a將上限為360°的工件34旋轉三圈的角度范圍放大至3倍(3×360°=1080°),并且將上限為10000脈沖的馬達31旋轉五圈的脈沖數范圍放大至5倍(5×pr)。而且,范圍放大部131a將從運動控制部11輸入的指令位置轉換成在放大后的角度范圍內對應的值。轉換處理部131b將以如上所述經轉換的角度表示的指令位置如圖6的(b)部分所示,轉換成在經放大的脈沖數范圍內對應的值。進而,范圍縮小部131c將如上所述經放大的脈沖數范圍縮小至放大前的范圍。在對當前位置的單位進行轉換的情況下,首先,范圍放大部131a與對指令位置的單位進行轉換的情況同樣地,將工件34旋轉三圈的角度范圍放大至3倍,并且將馬達31旋轉五圈的脈沖數范圍放大至5倍。而且,范圍放大部131a將從伺服驅動器2輸入的當前位置轉換成在放大后的角度范圍內對應的值。轉換處理部131b將以如上所述經轉換的脈沖數表示的當前位置如圖6的(a)部分所示,轉換成在經放大的角度范圍內對應的值。進而,范圍縮小部131c將如上所述經放大的角度范圍縮小至放大前的范圍。如上所述,單位經轉換的指令位置根據值,由于是減速比,因而存在包含小數值的情況,例如在指令位置為旋轉兩圈的情況下,在所述單位轉換事例中,720°被轉換成33333.33333...脈沖。單位轉換部131舍去該指令位置的小數值后給予至伺服驅動器2。伺服驅動器2在基于所給予的指令位置來驅動馬達31以使工件34旋轉時,由反饋計數器21b所檢測的旋轉兩圈的當前位置為33333脈沖,因此相對于控制器1中的所述33333.33333...脈沖產生偏差。然而,由于計數范圍被規(guī)定為整數的轉換脈沖數pc,因此不會如上所述,使舍去小數值的誤差累積,因此該誤差不超過1。既然在接受側(伺服驅動器2)處理的脈沖數為整數單位,則所述偏差便是可能始終存在的誤差。與此相對,在以往的計數范圍中,每一圈會產生0.6666...的誤差,因此當旋轉兩圈時,便會產生超過1的1.3333...的誤差。(控制器1對計數范圍修正帶來的效果)本實施方式的控制器1具備計數范圍決定部132,該計數范圍決定部132決定對脈沖數進行計數的指令位置計數器21a的計數范圍。該計數范圍決定部132將馬達31每旋轉一圈的規(guī)定脈沖數pr乘以減速比(n/m)的倒數及修正值,并且決定使乘法結果成為整數的修正值。由此,指令位置計數器21a及反饋計數器21b的計數范圍被設定為成為整數的轉換脈沖數pc。因而,如上所述,當計數范圍從上限值切換到下限值時,不會產生小數值的誤差。因此,此種誤差的累積不會在當前位置累積。因而,實際受到驅動的旋轉體的位置與根據指令位置所設想的工件的位置一致。而且,不需要如以往的控制器,對小數的尾數脈沖數進行管理修正的處理。并且,在旋轉編碼器32為絕對位置編碼器的情況下,由于利用計數范圍的脈沖數來對當前位置進行管理,因此在電源切斷時不需要保持尾數的累積數據等追加信息,能夠減少電源切斷時存儲器應保持的數據量。因而,能夠以簡單的結構來高精度地控制工件位置。而且,計數范圍決定部132將工件34的轉速n決定為修正值。由此,能夠使修正值的決定過程變得簡單。借助軟件的實現例控制器1的控制塊(尤其是運動控制部11、單位轉換管理部13及通信處理部14)既可通過形成于集成電路(ic芯片(chip))等的邏輯電路(硬件(hardware))實現,也可使用中央處理器(centralprocessingunit,cpu)而通過軟件來實現。在后者的情況下,控制器1具備執(zhí)行實現各部的功能的軟件即控制程序的命令的cpu、可由計算機(或cpu)讀取地記錄有所述程序及各種數據的只讀存儲器(readonlymemory,rom)或存儲裝置(將它們稱作“記錄介質”)、以及展開所述程序的隨機存取存儲器(randomaccessmemory,ram)等。并且,通過計算機(或cpu)從所述記錄介質中讀取并執(zhí)行所述程序,從而達成本發(fā)明的目的。作為所述記錄介質,可使用“并非臨時的有形介質”,例如可使用帶(tape)、盤(disk)、卡(card)、半導體存儲器、可編程的邏輯電路等。而且,所述程序也可經由可傳輸該程序的任意傳輸介質(通信網絡或廣播波等)而提供給所述計算機。另外,本發(fā)明也能以通過電子傳輸來將所述程序具現化的、被嵌入載波中的數據信號的形式來實現。附記事項本發(fā)明并不限定于所述各實施方式,可在權利要求書所示的范圍內進行各種變更,將不同的實施方式中分別公開的技術部件適當組合而獲得的實施方式也包含于本發(fā)明的技術范圍內。當前第1頁12當前第1頁12