由plc輸出定位脈沖的方法
【專利說明】由PLC輸出定位脈沖的方法
[0001]相關(guān)申請的交叉引用
[0002]本申請要求依照35U.S.C.119和35U.S.C.365的對韓國專利申請第10-2014-0003327號(申請日2014年I月10日)的優(yōu)先權(quán),其全部通過引用結(jié)合于此。
技術(shù)領(lǐng)域
[0003]本公開涉及由可編程邏輯控制器(a programmable logic control Ier,PLC)輸出定位脈沖的方法,更具體地涉及當(dāng)定位脈沖的期望周期不是系統(tǒng)時(shí)鐘周期的整數(shù)倍時(shí),可以一定的間隔補(bǔ)償定位脈沖的周期從而最小化定位脈沖的期望周期與實(shí)際輸出周期之間的差的由PLC輸出定位脈沖的方法。
【背景技術(shù)】
[0004]通常,可編程邏輯控制器(a programmable logic controller,PLC)提供輸出高速脈沖序列的定位功能并操作電動(dòng)機(jī)把物體移動(dòng)到準(zhǔn)確的位置。
[0005]S卩,PLC的定位功能是將高速脈沖序列輸出到PLC的晶體管輸出觸點(diǎn)并操作電動(dòng)機(jī)把物體移動(dòng)到準(zhǔn)確的位置。
[0006]在這種情況下,當(dāng)使用通用微處理器單元(a microprocessor unit,MPU)時(shí),在使用定時(shí)器輸出脈沖的定時(shí)器脈沖單元(a timer pulse unit,TPU)中實(shí)現(xiàn)定位功能。
[0007]TPU通過利用被提供給MPU的時(shí)鐘來計(jì)數(shù)并以預(yù)定的時(shí)間間隔輸出脈沖。
[0008]所以,脈沖的輸出周期變成時(shí)鐘周期的整數(shù)倍并且當(dāng)脈沖的輸出周期不是時(shí)鐘周期的整數(shù)倍時(shí),脈沖輸出周期與時(shí)鐘周期之間的差被期望位置值的增加累加并且因此到達(dá)期望位置的時(shí)間逐漸增加或減少。
【發(fā)明內(nèi)容】
[0009]本發(fā)明的實(shí)施例提供了由可編程邏輯控制器(PLC)輸出定位脈沖的方法,當(dāng)定位脈沖的期望周期不是系統(tǒng)時(shí)鐘周期的整數(shù)倍時(shí),該方法可以一定的間隔補(bǔ)償定位脈沖的周期從而最小化定位脈沖的期望周期與實(shí)際輸出周期之間的差。
[0010]在一個(gè)實(shí)施例中,由可編程邏輯控制器(PLC)輸出定位脈沖的方法包括:設(shè)置待輸出脈沖的期望周期;根據(jù)該期望周期并基于系統(tǒng)時(shí)鐘數(shù)和期望頻率來確定所需時(shí)鐘數(shù);基于所需時(shí)鐘數(shù)和期望頻率確定所需時(shí)鐘總數(shù);基于系統(tǒng)時(shí)鐘數(shù)和所需時(shí)鐘總數(shù)確定時(shí)鐘差;確定一定周期中對應(yīng)于第一輸出脈沖的第一設(shè)置時(shí)鐘數(shù);確定對應(yīng)于除了第一輸出脈沖之外的脈沖的第二設(shè)置時(shí)鐘數(shù);和基于第一設(shè)置時(shí)鐘數(shù)和第二設(shè)置時(shí)鐘數(shù)輸出脈沖。
[0011]所需時(shí)鐘數(shù)可以通過用系統(tǒng)時(shí)鐘數(shù)除以期望頻率來確定。
[0012]當(dāng)所需時(shí)鐘數(shù)不是整數(shù)時(shí),將所需時(shí)鐘數(shù)變成整數(shù)。
[0013]將所需時(shí)鐘數(shù)變成整數(shù)可以通過對所需時(shí)鐘數(shù)的十分位進(jìn)行四舍五入來執(zhí)行。
[0014]時(shí)鐘差可以通過從系統(tǒng)時(shí)鐘數(shù)中減去所需時(shí)鐘總數(shù)來確定。
[0015]第一設(shè)置時(shí)鐘數(shù)可以通過從通過轉(zhuǎn)換所需時(shí)鐘數(shù)獲得的值補(bǔ)償時(shí)鐘差而確定,并且第二設(shè)置時(shí)鐘數(shù)可以被確定為通過轉(zhuǎn)換所需時(shí)鐘數(shù)獲得的值。
[0016]該方法還可以包括在存儲單元存儲系統(tǒng)時(shí)鐘數(shù)、期望時(shí)鐘數(shù)和所需時(shí)鐘數(shù)。
[0017]該方法還可以包括設(shè)定第一設(shè)置時(shí)鐘數(shù)和第二設(shè)置時(shí)鐘數(shù)為計(jì)數(shù)器通用寄存器(TGR)值。
[0018]一個(gè)或更多實(shí)施例的細(xì)節(jié)在后文的附圖和說明書里。其他細(xì)節(jié)會(huì)從說明書、附圖和權(quán)利要求中清楚地得到。
【附圖說明】
[0019]圖1是表示通用可編程邏輯控制器(PLC)定位系統(tǒng)的框圖。
[0020]圖2是顯示通過利用圖1的PLC定位系統(tǒng)的脈沖輸出的例子的波形圖。
[0021]圖3是根據(jù)一個(gè)實(shí)施例的由PLC輸出定位脈沖的方法的流程圖。
[0022]圖4是根據(jù)一個(gè)實(shí)施例的用來實(shí)現(xiàn)由PLC輸出定位脈沖的方法的裝置的示意圖。
[0023]圖5是對比根據(jù)本發(fā)明的一個(gè)實(shí)施例的由PLC輸出定位脈沖的方法的經(jīng)補(bǔ)償并輸出的波形,與未補(bǔ)償?shù)拿}沖輸出的波形的波形圖。
[0024]圖6是表示根據(jù)本發(fā)明的一個(gè)實(shí)施例的在每個(gè)步驟里計(jì)算用來輸出脈沖的值的圖。
【具體實(shí)施方式】
[0025]下面參考附圖詳細(xì)說明代表性實(shí)施例以使本領(lǐng)域的技術(shù)人員可以容易的實(shí)施本發(fā)明。在這個(gè)過程中,被顯示在附圖里的線條的粗細(xì)或部件的大小可以被放大以清楚和方便地說明。另外,由于在此使用的術(shù)語考慮本發(fā)明的功能后被定義,它們可能依據(jù)操作員意圖或?qū)嵺`而不同。所以,這些術(shù)語的定義需要基于貫穿本發(fā)明的細(xì)節(jié)而做出。
[0026]圖1是表示通用可編程邏輯控制器(PLC)定位系統(tǒng)的框圖。
[0027]參見圖1,PLC定位系統(tǒng)10包括微處理器單元(a microprocessor unit,MPU) 11和高速脈沖輸出電路12并且MPU 11按照由使用者設(shè)定的輸出方法產(chǎn)生高速脈沖序列。
[0028]在這個(gè)案例中,輸出方法可以被設(shè)定為脈沖/方向方法或順時(shí)針/逆時(shí)針(clockwise/counter clockwise,Cff/CCff)輸出方法。如果是脈沖/方向方法,接線端TPUA運(yùn)行為脈沖序列輸出端口并且另一接線端TPU B運(yùn)行為方向輸出端口,如果是CW/CCW輸出方法,接線端TPU A運(yùn)行為順時(shí)針脈沖序列輸出端口并且另一接線端TPU B運(yùn)行為逆時(shí)針脈沖序列輸出端口。
[0029]高速脈沖輸出電路12是包括高速光耦和晶體管的輸出信號傳遞電路,其將從MPU11傳來的高速脈沖序列轉(zhuǎn)換成合適于外部電機(jī)驅(qū)動(dòng)器20的信號電平并將它傳遞到電機(jī)驅(qū)動(dòng)器20。
[0030]圖2是顯示通過利用圖1的PLC定位系統(tǒng)的脈沖輸出的例子的波形圖。
[0031]參見圖2,由于在MPU使用50赫茲的時(shí)鐘的示例里時(shí)鐘周期是20毫秒,可以設(shè)定的輸出脈沖周期是20毫秒的倍數(shù),如20毫秒,40毫秒,60毫秒等。
[0032]因此,輸出頻率是5赫茲的脈沖可以通過產(chǎn)生間隔200毫秒的脈沖來實(shí)現(xiàn),并且在這示例中,由于可以通過計(jì)數(shù)10個(gè)時(shí)鐘來產(chǎn)生200毫秒,當(dāng)計(jì)數(shù)器通用寄存器(timergeneral register,TGR)的值設(shè)定到10就可以在每200毫秒產(chǎn)生脈沖。
[0033]而且,輸出頻率是3.75赫茲的脈沖可以通過產(chǎn)生280毫秒間隔的脈沖來實(shí)現(xiàn),并且這時(shí),由于可以通過計(jì)數(shù)14個(gè)時(shí)鐘來產(chǎn)生280毫秒,當(dāng)TGR值設(shè)定到14時(shí)就可每280毫秒產(chǎn)生一個(gè)脈沖。
[0034]這樣,由于通過MPU輸出的脈沖的周期是MPU時(shí)鐘的倍數(shù),就存在限制,很難產(chǎn)生具有不是時(shí)鐘周期的倍數(shù)的時(shí)鐘的脈沖。
[0035]也就是,在時(shí)鐘為50赫茲的系統(tǒng)里,在一秒里可以產(chǎn)生5個(gè)脈沖(5赫茲)但是很難在一秒里產(chǎn)生3個(gè)脈沖(3赫茲)。
[0036]應(yīng)該每333.33毫秒產(chǎn)生一個(gè)脈沖以在I秒里產(chǎn)生3個(gè)脈沖,但是當(dāng)使用20毫秒(50赫茲)的系統(tǒng)CPU時(shí)鐘時(shí),脈沖周期只能被設(shè)定到時(shí)鐘周期的整數(shù)倍,如320毫秒或340暈秒。
[0037]所以,當(dāng)脈沖周期是320毫秒時(shí),每秒輸出3.125個(gè)脈沖,并且當(dāng)脈沖周期是340毫秒時(shí),每秒輸出2.941個(gè)脈沖,所以很難產(chǎn)生3赫茲頻率的脈沖。
[0038]因此,本發(fā)明提供了通過PLC輸出定位脈沖的方法,即使當(dāng)期望的脈沖周期不是時(shí)鐘脈沖周期的倍數(shù)時(shí),也可以一定的間隔補(bǔ)償定位脈沖的周期,以最小化期望的定位脈沖的周期與實(shí)際輸出周期之間的差。
[0039]圖3是根據(jù)一個(gè)實(shí)施例的由PLC輸出定位脈沖的方法的流程圖。圖4是根據(jù)一個(gè)實(shí)施例的用來實(shí)現(xiàn)由PLC輸出定位脈沖的方法的裝置的示意圖。圖5是對比根據(jù)本發(fā)明的一個(gè)實(shí)施例的由PLC輸出定位脈沖的方法的經(jīng)補(bǔ)償并輸出的波形,與未補(bǔ)償?shù)臎_輸出的波形的波形圖。圖6是表示根據(jù)本發(fā)明的一個(gè)實(shí)施例的在每個(gè)步驟里計(jì)算用來輸出脈沖的值的圖。
[0040]下面,參照附圖3至6說明根據(jù)一個(gè)實(shí)施例的通過PLC輸出定位脈沖的方法。
[0041]參見圖4,用來實(shí)現(xiàn)根據(jù)本發(fā)明的一個(gè)實(shí)施例的通過PLC輸出定位脈沖的方法的裝置(以后,稱為“定位脈沖輸出裝置”)100可以包括所需時(shí)鐘數(shù)計(jì)算單元110,設(shè)置時(shí)鐘數(shù)計(jì)算單元120,差計(jì)算單元130,TGR值設(shè)置單元140,脈沖輸出單元150,和存儲單元160,但是本發(fā)明不限于此,并且每個(gè)組件根據(jù)功能被分類。所以,本發(fā)明可以被實(shí)現(xiàn)以通過控制單元完整的處理下面說明的全部功能。
[0042]首先,在步驟S10,根據(jù)待通過MPU輸出的脈沖的期望頻率來設(shè)定輸出脈沖的期望周期。
[0043]當(dāng)待通過MPU輸出的脈沖的期望頻率是3赫茲時(shí),期望周期是333.33毫秒,并且因此將33