本發(fā)明涉及運動控制器擴展領(lǐng)域,具體地,涉及一種運動控制器及控制方法。
背景技術(shù):
隨著工業(yè)自動化的不斷推進,越來越多的設(shè)備需要用到運動控制器來規(guī)劃復(fù)雜的運動控制。但由于運動控制器本身所帶的資源有限,在很多的應(yīng)用場合需要借助一些額外的模塊才能完成系統(tǒng)的應(yīng)用。這其中就產(chǎn)生了很多的問題,比如外接模塊與運動控制器匹配性不好,價格昂貴,系統(tǒng)復(fù)雜不穩(wěn)定等。
目前市場上的運動控制器使用的擴展總線通過運動控制器連接第一個擴展,第一個擴展連接第二個擴展這種級聯(lián)的連線方式進行擴展。運動控制器和每個擴展模塊都有一個可編程邏輯器件如FPGA或CPLD作為擴展總線的載體,使他們之間進行數(shù)據(jù)的交換。
但是上述實現(xiàn)方法中由于各個模塊間級聯(lián)的原因,運動控制器與后面擴展模塊通信的數(shù)據(jù)都要經(jīng)過其前面的擴展模塊,造成了通訊時間的有很大延時;且這種擴展總線都不支持擴展模塊自動識別,支持的擴展模塊類型也都較少,不能滿足運動控制系統(tǒng)的要求。
針對現(xiàn)有技術(shù)的不足,急需設(shè)計一種通信高速、靈活、簡便的運動控制器。
技術(shù)實現(xiàn)要素:
為了克服現(xiàn)有技術(shù)中存在的缺點和不足,本發(fā)明的目的在于提供一種運動控制器及控制方法,數(shù)據(jù)交換時不需經(jīng)過除本身模塊之外的擴展模塊,極大的縮短了擴展時間,極大地增加了系統(tǒng)的靈活性,方便了運動控制系統(tǒng)的應(yīng)用。
本發(fā)明的技術(shù)方案如下:
一種運動控制器,包括運動控制器本體、1-8個擴展模塊和擴展連線,所述的擴展連線包括數(shù)據(jù)讀寫連線、數(shù)據(jù)傳遞連線和使能連線,運動控制器本體設(shè)置有主機FPGA,各擴展模塊均設(shè)置有從機FPGA。
數(shù)據(jù)讀寫連線一方面連接至運動控制器本體,另一方面分別連接至各個擴展模塊;
數(shù)據(jù)傳遞連線包括數(shù)據(jù)0 -數(shù)據(jù)7傳遞連線,數(shù)據(jù)傳遞連線為雙向信號線,一方面連接至運動控制器本體,另一方面分別連接至各個擴展模塊;
使能連線用于串聯(lián)運動控制器本體和各個擴展模塊。使能連線連接至上一個擴展模塊和下一個擴展模塊。
其中:所述運動控制器本體包括定時器T1和定時器T3,定時器T1用于運動控制器本體識別各擴展模塊的類型,定時器T3用于運動控制器本體和擴展模塊交換數(shù)據(jù);所述各擴展模塊均包括定時器T2、定時器T4和定時器T6,定時器T2用于擴展模塊向運動控制器本體發(fā)送模塊類型,定時器T4和T6用于擴展模塊和運動控制器本體交換數(shù)據(jù)。
一種運動控制器的控制方法,包括以下步驟:模塊識別步驟和數(shù)據(jù)通信步驟,所述的模塊識別步驟包括:
S1:運動控制器本體向第1個擴展模塊發(fā)送使能信號和讀信號,同時啟動定時器T1,定時時間設(shè)置為N1;
S2:第1個擴展模塊收到使能信號和讀信號后,在使能信號的上升沿啟動定時器T2,定時時間設(shè)置為N2,并向數(shù)據(jù)傳遞連線發(fā)送本擴展模塊的擴展類型;此時,其他擴展模塊雖然也收到了讀信號,但由于未收到使能信號,所以除第1個擴展模塊外,其他擴展模塊向數(shù)據(jù)傳遞連線和數(shù)據(jù)讀寫連線輸出高阻態(tài),不會發(fā)送自己的模塊類型。
S3:當(dāng)T2計時到N2/2時,定時器T1采集第1個擴展模塊的模塊類型;即運定時器T1在擴展模塊發(fā)送數(shù)據(jù)的中間時間點進行數(shù)據(jù)采樣,保證了采樣數(shù)據(jù)的穩(wěn)定性。
S4:當(dāng)T2計時到N2時,清零T2,第1個擴展模塊向數(shù)據(jù)傳遞連線輸出高阻,同時向第2個擴展模塊發(fā)送使能信號;
S5:按照上述步驟依次進行第1-第8個擴展模塊類型的識別,當(dāng)N1=8xN2時,代表各擴展模塊的類型識別完畢,此時清零T1;然后按照擴展模塊的類型自動分配地址,完成各擴展模塊的識別功能。
所述的數(shù)據(jù)通信步驟包括:
S1:運動控制器本體向第1個擴展模塊發(fā)送使能信號和讀信號,同時啟動定時器T3,定時時間設(shè)為N3;其中N3等于16XN4。
S2:第1個擴展模塊收到使能信號的上升沿時,啟動定時器T4,定時時間設(shè)為N4,將所述時間N4平均分成16各時間段:N4_1-N4_16;
S3:第1擴展模塊分別在N4等于N4_1至N4_16時,發(fā)送本擴展的第1字節(jié)至第16字節(jié)到數(shù)據(jù)傳遞連線上;具體地,在T4為N4_1時,第1擴展模塊將本模塊的第1字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上,在T4為N4_2時,第1擴展模塊將本模塊的第2字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上,直到T4為N4_16時,將本模塊的第2字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上。
S4:當(dāng)T4等于N4_1至N4_16的中間時間點時,計時器T3采集第1個擴展模塊發(fā)送的數(shù)據(jù);
S5:當(dāng)T4到達計時N4_16時,清零T4;此時T3計數(shù)達到N3/16,
S6:運動控制器向第1個擴展模塊發(fā)送使能信號和寫信號,并將N3/16-N3/8這個時間段均分為N5_1至N5_16,同時第一個擴展模塊啟動定時器T6,定時時間設(shè)為N6;其中N6=N4。
S7:運動控制器本體分別在T3等于N5_1至N5_16時發(fā)送第1字節(jié)至第16字節(jié)到數(shù)據(jù)傳遞連線上;具體地,T3為N5_1時,運動控制器本體將第1字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上,在T3為N5_2時,運動控制器本體將第2字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上,直到T3為N5_16時,運動控制器本體將第16字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上。
S8:當(dāng)計時到N5_1-N5_16的中間時間點時,第1擴展模塊采樣運動控制器本體發(fā)送的數(shù)據(jù);
S9:當(dāng)T6計時到達時,清零T6,此時,T3計數(shù)到達N3/8,運動控制器本體拉低寫信號,發(fā)送讀信號,同時第一個擴展模塊向第二個擴展模塊發(fā)送使能信號。
S10:按照上述步驟依次進行第1-第8個擴展模塊的數(shù)據(jù)通信。
運動控制器本體按照上述步驟依次完成與各擴展模塊之間的數(shù)據(jù)通信,循環(huán)一次,運動控制器本體與擴展模塊共交換256字節(jié)的數(shù)據(jù)。
本發(fā)明的有益效果:
本發(fā)明的一種運動控制器及控制方法根據(jù)定時讀寫,中間采樣的方式,使用了數(shù)據(jù)傳遞連線和數(shù)據(jù)讀寫連線及使能連線的通訊方法,數(shù)據(jù)交換時不需經(jīng)過除本身模塊之外的擴展模塊,穩(wěn)定傳輸256字節(jié)的數(shù)據(jù),只需1.28ms,相比目前市場上傳輸幾十字節(jié)就需要10ms以上的通信,極大的縮短了擴展時間;并且運動控制器本體可以自動識別擴展模塊的類型,用戶只需將擴展模塊接入系統(tǒng),不需要手動輸入接入擴展模塊的類型系統(tǒng)就可以自動識別,極大地增加了系統(tǒng)的靈活性,方便了運動控制系統(tǒng)的應(yīng)用。
附圖說明
圖1是本發(fā)明一種運動控制器的原理框圖。
圖2是本發(fā)明運動控制器本體和擴展模塊的結(jié)構(gòu)示意圖。
圖3是本發(fā)明一種運動控制器的控制方法的擴展模塊識別過程的時序圖。
圖4是本發(fā)明一種運動控制器的控制方法的數(shù)據(jù)通信過程的時序圖。
具體實施方式
為了便于本領(lǐng)域技術(shù)人員的理解,下面結(jié)合實施例及附圖對本發(fā)明作進一步的說明,實施方式提及的內(nèi)容并非對本發(fā)明的限定。
如圖1所示,一種運動控制器,包括運動控制器本體、1-8個擴展模塊和擴展連線,所述的擴展連線包括數(shù)據(jù)讀寫連線、數(shù)據(jù)傳遞連線和使能連線,運動控制器本體設(shè)置有主機FPGA,各擴展模塊均設(shè)置有從機FPGA。
數(shù)據(jù)讀寫連線一方面連接至運動控制器本體,另一方面分別連接至各個擴展模塊;
數(shù)據(jù)傳遞連線包括數(shù)據(jù)0 -數(shù)據(jù)7傳遞連線,數(shù)據(jù)傳遞連線為雙向信號線,一方面連接至運動控制器本體,另一方面分別連接至各個擴展模塊;
使能連線用于串聯(lián)運動控制器本體和各個擴展模塊。使能連線連接至上一個擴展模塊和下一個擴展模塊。
如圖2所示,所述運動控制器本體包括定時器T1和定時器T3,定時器T1用于運動控制器本體識別各擴展模塊的類型,定時器T3用于運動控制器本體和擴展模塊交換數(shù)據(jù);所述各擴展模塊均包括定時器T2、定時器T4和定時器T6,定時器T2用于擴展模塊向運動控制器本體發(fā)送模塊類型,定時器T4和T6用于擴展模塊和運動控制器本體交換數(shù)據(jù)。
如圖3-圖4所示,一種運動控制器的控制方法,包括以下步驟:模塊識別步驟和數(shù)據(jù)通信步驟,所述的模塊識別步驟包括:
S1:運動控制器本體向第1個擴展模塊發(fā)送使能信號和讀信號,同時啟動定時器T1,定時時間設(shè)置為N1;
S2:第1個擴展模塊收到使能信號和讀信號后,在使能信號的上升沿啟動定時器T2,定時時間設(shè)置為N2,并向數(shù)據(jù)傳遞連線發(fā)送本擴展模塊的擴展類型;此時,其他擴展模塊雖然也收到了讀信號,但由于未收到使能信號,所以除第1個擴展模塊外,其他擴展模塊向數(shù)據(jù)傳遞連線和數(shù)據(jù)讀寫連線輸出高阻態(tài),不會發(fā)送自己的模塊類型。
S3:當(dāng)T2計時到N2/2時,定時器T1采集第1個擴展模塊的模塊類型;即運定時器T1在擴展模塊發(fā)送數(shù)據(jù)的中間時間點進行數(shù)據(jù)采樣,保證了采樣數(shù)據(jù)的穩(wěn)定性。
S4:當(dāng)T2計時到N2時,清零T2,第1個擴展模塊向數(shù)據(jù)傳遞連線輸出高阻,同時向第2個擴展模塊發(fā)送使能信號;
S5:按照上述步驟依次進行第1-第8個擴展模塊類型的識別,當(dāng)N1=8xN2時,代表各擴展模塊的類型識別完畢,此時清零T1;然后按照擴展模塊的類型自動分配地址,完成各擴展模塊的識別功能。
所述的數(shù)據(jù)通信步驟包括:
S1:運動控制器本體向第1個擴展模塊發(fā)送使能信號和讀信號,同時啟動定時器T3,定時時間設(shè)為N3;其中N3等于16XN4。
S2:第1個擴展模塊收到使能信號的上升沿時,啟動定時器T4,定時時間設(shè)為N4,將所述時間N4平均分成16各時間段:N4_1-N4_16;
S3:第1擴展模塊分別在N4等于N4_1至N4_16時,發(fā)送本擴展的第1字節(jié)至第16字節(jié)到數(shù)據(jù)傳遞連線上;具體地,在T4為N4_1時,第1擴展模塊將本模塊的第1字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上,在T4為N4_2時,第1擴展模塊將本模塊的第2字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上,直到T4為N4_16時,將本模塊的第2字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上。
S4:當(dāng)T4等于N4_1至N4_16的中間時間點時,計時器T3采集第1個擴展模塊發(fā)送的數(shù)據(jù);
S5:當(dāng)T4到達計時N4_16時,清零T4;此時T3計數(shù)達到N3/16,
S6:運動控制器向第1個擴展模塊發(fā)送使能信號和寫信號,并將N3/16-N3/8這個時間段均分為N5_1至N5_16,同時第一個擴展模塊啟動定時器T6,定時時間設(shè)為N6;其中N6=N4。
S7:運動控制器本體分別在T3等于N5_1至N5_16時發(fā)送第1字節(jié)至第16字節(jié)到數(shù)據(jù)傳遞連線上;具體地,T3為N5_1時,運動控制器本體將第1字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上,在T3為N5_2時,運動控制器本體將第2字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上,直到T3為N5_16時,運動控制器本體將第16字節(jié)數(shù)據(jù)放到數(shù)據(jù)傳遞連線上。
S8:當(dāng)計時到N5_1-N5_16的中間時間點時,第1擴展模塊采樣運動控制器本體發(fā)送的數(shù)據(jù);
S9:當(dāng)T6計時到達時,清零T6,此時,T3計數(shù)到達N3/8,運動控制器本體拉低寫信號,發(fā)送讀信號,同時第一個擴展模塊向第二個擴展模塊發(fā)送使能信號。
S10:按照上述步驟依次進行第1-第8個擴展模塊的數(shù)據(jù)通信。
運動控制器本體按照上述步驟依次完成與各擴展模塊之間的數(shù)據(jù)通信,循環(huán)一次,運動控制器本體與擴展模塊共交換256字節(jié)的數(shù)據(jù)。
最后應(yīng)當(dāng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對本發(fā)明保護范圍的限制,盡管參照較佳實施例對本發(fā)明作了詳細地說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的實質(zhì)和范圍。