AGV 小車(chē)的基礎(chǔ)控制
HMS Industrial Networks 的 CM CANopen 模塊與 Siemens 的 S7-1200 PLC 的 TIA Portal 配置示例。在此示例中,使用了 1214C 類(lèi)型的 CPU,但該示例也可以應(yīng)用于所有其他 PLC 類(lèi)型。要運(yùn)行此示例,必須已安裝可從 https://www.ixxat.com/technical-support/resources/downloads-and-documentation?ordercode=021620-B下載的 HSP 文件。
CANopen網(wǎng)絡(luò)連接:
分別對(duì)應(yīng)連接CM模塊和LXM28A伺服的CAN_H、CAN_L和SHLD引腳,在CM模塊CAN_H和CAN_L之間接入120歐姆電阻,并且在CANopen網(wǎng)絡(luò)中最后一臺(tái)設(shè)備CAN_H和CAN_L之間接入120歐姆電阻。
打開(kāi) TIA Portal 程序并通過(guò)單擊屏幕左側(cè)的“創(chuàng)建新項(xiàng)目”開(kāi)始一個(gè)新項(xiàng)目。
2. 輸入項(xiàng)目名稱(chēng)和項(xiàng)目存儲(chǔ)路徑,可選擇包含作者和描述性注釋等信息。按“創(chuàng)建”。
3. 選擇左側(cè)的“設(shè)備和網(wǎng)絡(luò)”,然后按“添加新設(shè)備”。
4. 選擇配置中使用的 PLC 類(lèi)型。選擇正確的軟件版本并可選擇輸入 PLC 的名稱(chēng)(默認(rèn) PLC_1)。按“添加”。
5. 如圖所示,在列表中選擇CM CANopen模塊。將模塊的一個(gè)實(shí)例拖放到 PLC 模塊的左側(cè)。
6. 雙擊 PLC 上的以太網(wǎng)連接器并為 PLC 輸入正確的 IP 地址。
7. 雙擊CM CANopen模塊的連接器,選擇模塊參數(shù)選項(xiàng)卡。在參數(shù)列表中輸入值。請(qǐng)注意,這些參數(shù)對(duì) CANopen 網(wǎng)絡(luò)上的模塊有效。
在本例中,用于 S7-1200 的 CM CANopen 模塊被配置為 CANopen 管理器。
CANopen 網(wǎng)絡(luò)上的節(jié)點(diǎn)號(hào)為 1。CANopen 波特率設(shè)置為 500 kbit/s,輸入數(shù)據(jù)大小和輸出數(shù)據(jù)大小均設(shè)置為 32 字節(jié)。
8. 配置現(xiàn)已完成,可以下載到 S7-1200 設(shè)備。要下載軟件配置,請(qǐng)選擇右側(cè)的 PLC_1,然后選擇“在線(xiàn)”>“下載到設(shè)備”。要下載硬件配置,請(qǐng)右鍵單擊樹(shù)中的設(shè)備并選擇“下載到設(shè)備”>“全部”。
9. 選擇您正在使用的 PG/PC 接口(在此示例中為 PN/IE)和您 PC 上的以太網(wǎng)接口(在此示例中為 Intel 82577...)。如果在網(wǎng)絡(luò)上找到之前輸入的 IP 地址,請(qǐng)按“加載”下載到您的設(shè)備。如果沒(méi)有,請(qǐng)從“目標(biāo)子網(wǎng)中的可訪(fǎng)問(wèn)設(shè)備”窗口中的可用列表中選擇正確的設(shè)備。如果設(shè)備在另一個(gè)子網(wǎng)上,并且在此窗口中不可用,則必須選中“顯示所有可訪(fǎng)問(wèn)的設(shè)備”復(fù)選框。
10.如果下載成功,將出現(xiàn)以下屏幕詢(xún)問(wèn)PLC是否應(yīng)該啟動(dòng)。按完成,PLC 將開(kāi)始運(yùn)行下載的空程序。
11.模塊配置完成,可以開(kāi)始PLC編程了。
創(chuàng)建用于進(jìn)行PDO數(shù)據(jù)讀寫(xiě)的FC功能塊:①在“程序塊”中添加FC100功能塊并命名為“PDO讀寫(xiě)”;② 在“擴(kuò)展指令”下展開(kāi)“分布式IO”找到RDREC和WRREC指令;③分別將RDREC和WRREC指令拖入程序段1和程序段2中。
RDREC參數(shù)說(shuō)明:讀取PDO數(shù)據(jù)
REQ 功能塊使能位 VALID TRUE代表新的數(shù)據(jù)記錄已接收且有效
ID CM模塊硬件標(biāo)識(shí)符 BUSY TRUE代表讀取數(shù)據(jù)的過(guò)程還未完成
INDEX 16#0090 ERROR TRUE代表在讀取數(shù)據(jù)的過(guò)程中產(chǎn)生錯(cuò)誤
MLEN CANopen輸入數(shù)據(jù)大小(bytes) STATUS 功能塊狀態(tài)和錯(cuò)誤信息
RECORD 讀取的數(shù)據(jù)存放的地址域 LEN 讀取數(shù)據(jù)的長(zhǎng)度
WRREC參數(shù)說(shuō)明:寫(xiě)入PDO數(shù)據(jù)
REQ 功能塊使能位 DONE TRUE代表數(shù)據(jù)已寫(xiě)入CM模塊
ID CM模塊硬件標(biāo)識(shí)符 BUSY TRUE代表寫(xiě)入數(shù)據(jù)的過(guò)程還未完成
INDEX 16#0091 ERROR TRUE代表在讀取數(shù)據(jù)的過(guò)程中產(chǎn)生錯(cuò)誤
LEN CANopen輸出數(shù)據(jù)大小(bytes) STATUS 功能塊狀態(tài)和錯(cuò)誤信息
RECORD 寫(xiě)入的數(shù)據(jù)來(lái)源的地址域
2. 創(chuàng)建PDO讀寫(xiě)指令塊變量:打開(kāi)“PLC變量”下的“默認(rèn)變量表”,分別添加PDO讀寫(xiě)指令塊需要用到的參數(shù)變量:
3. PDO讀取數(shù)據(jù)指令塊的參數(shù)具體分配如下圖所示:
1) 讀取的數(shù)據(jù)存放于M區(qū)中起始地址為100,長(zhǎng)度為100Bytes(需大于或者等于MLEN)的地址區(qū)間。MLEN表明了該區(qū)間的有效數(shù)據(jù)長(zhǎng)度,即CANopen輸入數(shù)據(jù)大小。
2) 可以創(chuàng)建DB數(shù)據(jù)塊(例如DB3),RECORD定義為P#DB3.DBX100.0 BYTE 100,讀取的數(shù)據(jù)存入DB3塊中起始地址100,長(zhǎng)度100Bytes 的地址區(qū)間。注意DB塊屬性中的“優(yōu)化的塊訪(fǎng)問(wèn)”不要勾選。
4. PDO寫(xiě)入數(shù)據(jù)指令塊的參數(shù)具體分配如下圖所示:
1) 寫(xiě)入的數(shù)據(jù)來(lái)源于M區(qū)中起始地址為200,長(zhǎng)度為100Bytes(需大于或者等于LEN)的地址區(qū)間。LEN表明了該區(qū)間中的有效數(shù)據(jù)長(zhǎng)度,即CANopen輸出數(shù)據(jù)大小。
2) 可以創(chuàng)建DB數(shù)據(jù)塊(例如DB3),RECORD定義為P#DB3.DBX200.0 BYTE 100,寫(xiě)入的數(shù)據(jù)來(lái)源于DB3塊中起始地址200,長(zhǎng)度100Bytes 的地址區(qū)間。注意DB塊屬性中的“優(yōu)化的塊訪(fǎng)問(wèn)”不要勾選。
5. 根據(jù)以上配置可以確認(rèn)PDO傳輸參數(shù)的地址映射如下表所示:
6. 數(shù)據(jù)轉(zhuǎn)換:由于CANopen和PLC分別使用的不同的數(shù)據(jù)格式,所以需要將PDO傳輸?shù)脑紨?shù)據(jù)轉(zhuǎn)換為可以直接進(jìn)行讀取和設(shè)定的用戶(hù)數(shù)據(jù):
1) 創(chuàng)建用戶(hù)數(shù)據(jù)塊:創(chuàng)建全局?jǐn)?shù)據(jù)塊DB100,并在DB100中分別添加需要對(duì)伺服進(jìn)行讀取的反饋參數(shù)和需要對(duì)伺服進(jìn)行寫(xiě)入的設(shè)定參數(shù)。
2) 創(chuàng)建PDO讀取數(shù)據(jù)轉(zhuǎn)換功能塊FC101:①在“程序塊”中添加FC101功能塊并命名為“PDO讀_Swap”;② 利用Swap指令和Move指令將PDO讀取的數(shù)據(jù)轉(zhuǎn)換為用戶(hù)數(shù)據(jù)。
3) 創(chuàng)建PDO寫(xiě)入數(shù)據(jù)轉(zhuǎn)換功能塊FC102:①在“程序塊”中添加FC102功能塊并命名為“PDO寫(xiě)_Swap”;② 利用Swap指令和Move指令將用戶(hù)數(shù)據(jù)轉(zhuǎn)換為PDO寫(xiě)入的數(shù)據(jù)。
4) 在PDO讀寫(xiě)功能塊中調(diào)用FC101和FC102: 打開(kāi)FC100功能塊,在程序段1(RDREC)和程序段2(WRREC)之間插入新的程序段,在新的程序段中分別調(diào)用FC101和FC102如圖所示:
7. 在OB1中調(diào)用PDO讀寫(xiě)功能塊FC100,保存配置并進(jìn)行編譯下載:
8. 創(chuàng)建監(jiān)控表:①在“監(jiān)控與強(qiáng)制表”中添加新的監(jiān)控表;②添加PDO讀取數(shù)據(jù)指令塊的對(duì)應(yīng)變量和用戶(hù)數(shù)據(jù)塊中的伺服狀態(tài)參數(shù);③添加PDO寫(xiě)入數(shù)據(jù)指令塊的對(duì)應(yīng)變量和用戶(hù)數(shù)據(jù)塊中的伺服控制參數(shù)。
9. 在線(xiàn)進(jìn)行監(jiān)控:①點(diǎn)擊“監(jiān)控”圖標(biāo)進(jìn)入在線(xiàn)狀態(tài);②將R_Req的修改值置為T(mén)RUE;③點(diǎn)擊“立即修改”圖標(biāo)將修改值寫(xiě)入對(duì)應(yīng)變量;④ 伺服狀態(tài)參數(shù)的對(duì)應(yīng)數(shù)據(jù)已經(jīng)被成功讀取,查看伺服通訊手冊(cè)可知狀態(tài)字16#4231代表伺服處于“Ready to Switch On”狀態(tài)。
10. 絕對(duì)位置運(yùn)動(dòng)控制測(cè)試:① 將W_Req修改值置為T(mén)RUE;② 分別對(duì)伺服控制參數(shù)進(jìn)行賦值;③依次向控制字中寫(xiě)入0x0006?0x0007?0x000F?0x001F,每次賦值后點(diǎn)擊“立即修改”圖標(biāo);④ 電機(jī)轉(zhuǎn)動(dòng)一段時(shí)間后停止,此時(shí)讀取實(shí)際位置數(shù)據(jù)與目標(biāo)位置數(shù)據(jù)一致。
-----伺服運(yùn)動(dòng)控制例程 -------
該部分以位置模式下的“絕對(duì)位置,立刻更新”控制方式為例,編寫(xiě)對(duì)伺服進(jìn)行運(yùn)動(dòng)控制的簡(jiǎn)單例程,供用戶(hù)在實(shí)際編程應(yīng)用中作參考。
創(chuàng)建功能塊FB110并進(jìn)行變量聲明:①在“程序塊”中添加FB110 功能塊并命名為“位置模式控制”;② 在“變量聲明表”中添加以下變量:
2. 在程序段1中編寫(xiě)程序用于控制伺服上電后自動(dòng)進(jìn)入“運(yùn)行使能”狀態(tài):
3. 在程序段2中編寫(xiě)程序用于自動(dòng)觸發(fā)“絕對(duì)位置,立即更新”方式下的位移指令:
4. 在OB1組織塊的程序段3中編寫(xiě)程序用于控制PLC自動(dòng)使能PDO讀寫(xiě)和網(wǎng)絡(luò)診斷:
5. 在OB1組織塊的程序段4中調(diào)用FB110并賦予實(shí)參如圖所示:
6. 在OB1組織塊的程序段5中編寫(xiě)程序用于控制伺服上電后自動(dòng)回零:
7. 在OB1組織塊的程序段6中編寫(xiě)程序用于控制伺服自動(dòng)進(jìn)行連續(xù)的正反轉(zhuǎn)位移指令:
8. 點(diǎn)擊“保存項(xiàng)目”并重新進(jìn)行編譯和下載。下載完成后對(duì)PLC和伺服重新上電,此時(shí)可以看到電機(jī)緩慢轉(zhuǎn)動(dòng)一段時(shí)間后停止,此時(shí)通過(guò)PLC監(jiān)控表或者伺服HMI可以看到實(shí)際位置顯示為0:
9. 在監(jiān)控表中添加“自動(dòng)運(yùn)行控制”和“目標(biāo)到達(dá)”變量,向“自動(dòng)運(yùn)行控制”中寫(xiě)入修 改值TRUE,此時(shí)可以看到電機(jī)先以較慢的速度正向移動(dòng)到8000000位置(第一段位移指令),然后以較快速度正向移動(dòng)到15000000位置(第二段位移指令),最后以較慢的速度反向移動(dòng)到6000000位置(第三段位移指令),此時(shí)“目標(biāo)到達(dá)”為T(mén)RUE。
提示:“目標(biāo)到達(dá)”為T(mén)RUE后再次向“自動(dòng)運(yùn)行控制”中寫(xiě)入修 改值TRUE,電機(jī)會(huì)再次自動(dòng)執(zhí)行以上三段位移指令。
-
以太網(wǎng)
+關(guān)注
關(guān)注
41文章
5632瀏覽量
175889 -
plc
+關(guān)注
關(guān)注
5036文章
13914瀏覽量
474456 -
AGV小車(chē)
+關(guān)注
關(guān)注
4文章
180瀏覽量
11537
原文標(biāo)題:CM CANopenS7-1200 PLC的CANopen主站/從站模塊,使用的功能塊
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何選擇合適的背負(fù)式AGV小車(chē)
一種基于分?jǐn)?shù)階 PID 直流電機(jī)調(diào)速的 AGV 控制系統(tǒng)
工業(yè)智能網(wǎng)關(guān)助力AGV小車(chē)數(shù)據(jù)采集
這么全的AGV小車(chē)有配件 趕快收藏

AGV小車(chē)在制造業(yè)中的應(yīng)用有哪些?
AGV小車(chē)的工作原理是什么?
AGV小車(chē)VS人工搬運(yùn) 選哪個(gè) 到底值不值?

如何選擇讓自己滿(mǎn)意(適合)的agv小車(chē)?純干貨分享

IO模塊:AGV小車(chē)自動(dòng)化控制的得力助手

Agv小車(chē)有哪些車(chē)型?特點(diǎn)和優(yōu)勢(shì)是什么?適用哪些場(chǎng)景?

AGV讀卡器在AGV自動(dòng)搬運(yùn)小車(chē)上應(yīng)用方案

什么是AGV小車(chē)?有什么功能?適用于哪些場(chǎng)景?

AGV小車(chē)在智慧工廠(chǎng)中如何精準(zhǔn)定位

應(yīng)用于AGV小車(chē)的CAN模塊簡(jiǎn)述
工控機(jī)在AGV小車(chē)中的關(guān)鍵應(yīng)用,適用于AGV小車(chē)的研華工控機(jī)

評(píng)論