jiangleidhr
級(jí)別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個(gè)
工控威望: * 點(diǎn)
下載積分: * 分
在線時(shí)間: (小時(shí))
注冊(cè)時(shí)間: *
最后登錄: *
查看jiangleidhr的 主題 / 回貼
樓主  發(fā)表于: 2016-03-30 11:27
各位前輩大家好
小弟大四畢業(yè)生初次接觸PLC,要設(shè)計(jì)一個(gè)4軸機(jī)器人控制系統(tǒng),就是控制四個(gè)步進(jìn)電機(jī)(配套驅(qū)動(dòng)器)。使用CP1H
初步設(shè)計(jì)目標(biāo)是實(shí)現(xiàn)一個(gè)類(lèi)似示教的功能。就是手動(dòng)控制運(yùn)動(dòng)到第一點(diǎn),記錄數(shù)據(jù),再運(yùn)動(dòng)到第二點(diǎn),記錄數(shù)據(jù)。然后按循環(huán)鍵開(kāi)始在兩點(diǎn)間循環(huán)運(yùn)動(dòng)。

我的思路是用高速計(jì)數(shù)器記錄脈沖數(shù)實(shí)現(xiàn)位置記錄,脈沖輸出控制步進(jìn)電機(jī)。高速計(jì)數(shù)器使用線性,加減模式。脈沖輸出用PULS+ACC
上電后運(yùn)動(dòng)到第一點(diǎn)高速計(jì)數(shù)器清零。
第一點(diǎn)運(yùn)動(dòng)到第二點(diǎn),記錄發(fā)給各個(gè)電機(jī)脈沖數(shù),存入存儲(chǔ)器D100—D130(四個(gè)電機(jī)分別的脈沖數(shù))
循環(huán)程序中的脈沖輸出指令的脈沖個(gè)數(shù)調(diào)用D100—D130中的數(shù)據(jù)。
循環(huán)程序中先通過(guò)比較指令比較存儲(chǔ)器數(shù)據(jù)和0的關(guān)系,確定正反轉(zhuǎn)。
PULS調(diào)用存儲(chǔ)器數(shù)據(jù)為脈沖數(shù)。
脈沖輸出后存儲(chǔ)器數(shù)據(jù)反號(hào)。
進(jìn)入下一次循環(huán)。

目前有以下幾點(diǎn)問(wèn)題
1.脈沖控制數(shù)據(jù)為十六進(jìn)制,雙字;高數(shù)計(jì)數(shù)器也是十六進(jìn)制雙字嗎?
2.高速計(jì)數(shù)器0當(dāng)前值存于A271(存高四位)和A270(存低四位),若要傳送到D100中,使用MOV A271 D100 加MOV A270 D101 還是使用長(zhǎng)傳送MOVL,具體怎么用MOVL?
3.數(shù)據(jù)反號(hào)如何實(shí)現(xiàn)?我目前用的是用0減數(shù)據(jù)并存儲(chǔ)到該寄存器中。
4.數(shù)據(jù)運(yùn)算。沒(méi)有十六進(jìn)制的運(yùn)算指令,是否需要轉(zhuǎn)為十進(jìn)制運(yùn)算,結(jié)果再轉(zhuǎn)為十六進(jìn)制。
5.數(shù)據(jù)運(yùn)算中帶符號(hào)不帶符號(hào)和有CY無(wú)CY是什么含義?
6.高速計(jì)數(shù)器的數(shù)據(jù)中如何表示的正負(fù)。

新人初次接觸PLC,還請(qǐng)各位前輩不吝賜教。
liuxiaba
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 57 個(gè)
工控威望: 140 點(diǎn)
下載積分: 10244 分
在線時(shí)間: 55(小時(shí))
注冊(cè)時(shí)間: 2016-03-30
最后登錄: 2018-05-22
查看liuxiaba的 主題 / 回貼
1樓  發(fā)表于: 2016-03-30 17:03
1、字節(jié)沒(méi)好大要求,主要看你的速度需求,有速度需求就要求字節(jié)問(wèn)題2、一般使用MOV指令,詳解見(jiàn)軟件內(nèi)幫助,4、不需要轉(zhuǎn)直接負(fù)值。
卓發(fā)智能
相互學(xué)習(xí),共同進(jìn)步。
級(jí)別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 2437 個(gè)
工控威望: 3025 點(diǎn)
下載積分: 10387 分
在線時(shí)間: 649(小時(shí))
注冊(cè)時(shí)間: 2008-08-03
最后登錄: 2024-11-14
查看卓發(fā)智能的 主題 / 回貼
2樓  發(fā)表于: 2016-03-31 10:02
歐姆龍PLC控制步進(jìn)或伺服不需要正負(fù)脈沖,只需要更改脈沖指令的控制數(shù)據(jù)就可以了,不用0減什么。三菱是需要正負(fù)脈沖數(shù)據(jù)來(lái)確定電機(jī)正反轉(zhuǎn)的。
相信自我!
卓發(fā)智能
相互學(xué)習(xí),共同進(jìn)步。
級(jí)別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 2437 個(gè)
工控威望: 3025 點(diǎn)
下載積分: 10387 分
在線時(shí)間: 649(小時(shí))
注冊(cè)時(shí)間: 2008-08-03
最后登錄: 2024-11-14
查看卓發(fā)智能的 主題 / 回貼
3樓  發(fā)表于: 2016-03-31 10:05
和帶符號(hào)的比較指令進(jìn)行比較電機(jī)運(yùn)行脈沖來(lái)知道電機(jī)運(yùn)行方向。
相信自我!
xyzenter
活在當(dāng)下,順其自然
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 135 個(gè)
工控威望: 266 點(diǎn)
下載積分: 2080 分
在線時(shí)間: 108(小時(shí))
注冊(cè)時(shí)間: 2014-04-09
最后登錄: 2021-04-13
查看xyzenter的 主題 / 回貼
4樓  發(fā)表于: 2016-12-06 09:00
1.樓主所說(shuō)的雙字傳送,在傳送指令后面帶個(gè)L的指令就是,雙字?jǐn)?shù)據(jù)同理,比如MOVL,+L,-L,*L,=L等等,詳情請(qǐng)看編程手冊(cè);
2.歐姆龍里面的十六進(jìn)制數(shù)據(jù)負(fù)數(shù)不需要0-什么的,直接按負(fù)16進(jìn)制數(shù)格式寫(xiě)就行,就是高位是#F---什么的;在運(yùn)動(dòng)控制中,不需要另外轉(zhuǎn)換,直接使用十六進(jìn)制即可;

3.如果樓主的脈沖輸出定義了原點(diǎn)(也可以搜索完原點(diǎn)后自己用@INI #0000 #0002 #0000自己定義原點(diǎn)),推薦用PRV指令,如PRV #0000 D0將脈沖0的當(dāng)前位置(原點(diǎn)為0)的脈沖量存到D0,D1中,其它軸同理。

4.MOVL  A276  D0將A276,A277中的內(nèi)容分別放到D0,D1中。

其實(shí)多花點(diǎn)時(shí)間看操作手冊(cè)就行,里面都有的。