時間:2020-11-26 10:17:27來源:正運動技術(shù)
之前正運動技術(shù)與大家分享了,運動控制器的固件升級、ZBasic程序開發(fā)、ZPLC程序開發(fā)、與觸摸屏通訊和輸入/輸出IO的應(yīng)用、運動控制器數(shù)據(jù)與存儲的應(yīng)用、運動控制器ZCAN、EtherCAT總線的使用、示波器的應(yīng)用、多任務(wù)運行的特點、運動控制器中斷的應(yīng)用等。
今天,我們來講解一下正運動技術(shù)運動控制器U盤接口的使用。
視頻教程:《 視頻教程:正運動技術(shù)運動控制器U盤接口的使用》
以下是圖文詳解。
1、材料準(zhǔn)備與控制器接線參考
1)材料準(zhǔn)備
2)控制器接線參考
2、U盤的用途
不同型號的控制器U盤接口的使用方法都是相同的。
將U盤插在控制器上的UDISK端口即可,控制器上電后有U盤插入時,U盤指示燈亮。
U盤主要由兩方面的用途:
1)程序升級
通過U盤口,下載打包好的ZAR程序包,方便客戶更新系統(tǒng)程序。
程序升級之前事先將ZAR程序包下載到U盤里面。使用指令加載U盤文件成功后,ZAR程序自動開始運行。
2)U盤與寄存器數(shù)據(jù)交互
U盤讀寫變量和數(shù)組。
FLASH數(shù)據(jù)拷貝:多個控制器中FLASH存儲的數(shù)據(jù)可以通過U盤來相互傳遞。
VR寄存器、TABLE寄存器與U盤里的數(shù)據(jù)互相傳遞。
讀寫文件類型為SD(filenum).BIN或SD(filenum).CSV,不同的指令可操作的文件類型有所區(qū)別。
3、U盤讀寫指令
U_STATE:U盤狀態(tài)判斷,檢測到有U盤插入返回TRUE,否則返回FALSE。
1)U盤讀寫變量、數(shù)組
U_READ:從U盤中讀取數(shù)據(jù)到變量或數(shù)組里。
U_READ2:從U盤中讀取數(shù)據(jù)到變量或數(shù)組里,可選讀取的起始位置。
U_WRITE:存儲變量或者數(shù)組,數(shù)組的單個或部分元素到外部存儲器里面。
2)U盤與寄存器數(shù)據(jù)交互
U盤與TABLE和VR數(shù)據(jù)讀寫的格式相同。
STICK_READ:從U盤讀取數(shù)據(jù)到table。
STICK_WRITE:拷貝TABLE的數(shù)據(jù)到U盤。
STICK_READVR:從U盤讀取數(shù)據(jù)到VR。
STICK_WRITEVR:拷貝VR的數(shù)據(jù)到U盤。
4、U盤讀寫示例
控制器對U盤進(jìn)行讀寫操作之前,首先要確保U盤已經(jīng)插上,使用U_STATE指令判斷U盤狀態(tài)。
操作指令:U_READ,U_WRITE
示例:
注意U盤數(shù)據(jù)的存儲和讀出的次序要一致。
沒有控制器時,可以使用仿真器,在編程軟件的根目錄下新建udisk文件模擬U盤。將U盤指令操作要用到的文件放入此文件夾即可。
1)U盤zar文件操作。
2)U盤與FLASH數(shù)據(jù)操作。
FLASH塊號與SD文件的編號是一一對應(yīng)的,不需要要指定。
3)刪除U盤文件,支持刪除bin文件和z3p文件。
4)以字節(jié)方式加載U盤上的文件,支持讀取多種類型的文件。
FILE "LOAD_BYTE", "00.txt", 200, 10, 0
‘讀取U盤上名稱為 00.txt的文件,將讀取結(jié)果轉(zhuǎn)化成ASCII碼,存儲在TABLE( 200)開始的10個空間內(nèi)。
最后一個參數(shù)offset為文件開始讀取的字節(jié)偏移,設(shè)為0表示從第一個字符開始讀取;設(shè)為1表示從第二個字符開始讀取,跳過第一個字符,詳情參見后方程序演示。
txt文件內(nèi)容:ZMOTION
指令讀取結(jié)果:
TABLE(200):總字節(jié)數(shù)
TABLE(201):讀取到的第一個字節(jié)
TABLE(202):讀取到的第二個字節(jié)
TABLE(200+n):讀取到的第N個字節(jié)
6、U盤使用演示例程
例程使用HMI組態(tài)傳遞MODBUS_BIT位寄存器的值來控制U盤指令的執(zhí)行。
global sub main_int() '初始化函數(shù)
APP_PASS(123)
VRSTRING(1200,20)="未掃描"
global warnstr(20) '定義提示信息的數(shù)組
dim result 'file指令讀取結(jié)果標(biāo)志
result=0 '返回-1為true,0為false
dim filenum 'zar文件編號
filenum=0
for i=0 to 100
table(i)=i
next
dim u,uu(8) 'U盤讀寫參數(shù)
u=10
for i=0 to 7
uu(i)=i
next
dim a,aa(8) 'FLASH讀寫參數(shù)
end sub
global sub main_scan() '周期函數(shù)
if U_STATE=TRUE then '獲取U盤狀態(tài)并顯示連接或未連接
table(100)=1
elseif U_STATE=FALSE then
table(100)=0
endif
if U_STATE=TRUE then '判斷U盤是否插入
'************加載U盤的升級ZAR程序************
if MODBUS_BIT(0)=1 then '判斷按鍵是否按下
MODBUS_BIT(0)=0 '按鍵恢復(fù)
result=FILE"find_first",".zar",1200 ',zar可以替換為.bin,但是無法用load_bin下載
if result=-1 then '判斷zar程序讀取是否成功
filenum=1
else
print "沒有文件"
endif
elseif MODBUS_BIT(10)=1 and result=-1 then
MODBUS_BIT(10)=0
result=FILE"find_prev",1200 '搜索上一個U盤文件
if result=-1 then
filenum=filenum-1
else
result=FILE"find_next",1200
warnstr= "The First File"
HMI_SHOWWINDOW(100)
endif
elseif MODBUS_BIT(20)=1 and result=-1 then
MODBUS_BIT(20)=0
result=FILE"find_next",1200 '搜索上一個U盤文件
if result=-1 then
filenum=filenum+1
else
result=FILE"find_prev",1200
warnstr=" The End File"
HMI_SHOWWINDOW(100)
endif
elseif MODBUS_BIT(30)=1 then
MODBUS_BIT(30)=0
result=FILE"load_zar",VRSTRING(1200,20) '加載U盤里面的ZAR升級文件
if result =0 then
result=FILE"find_first",".zar",1200
warnstr=" Download Failed"
HMI_SHOWWINDOW(100)
endif
'************U盤與TABLE數(shù)據(jù)交互************
'TABLE讀寫指令:STICK_WRITE STICK_READ
'VR讀寫指令:STICK_WRITEVR STICK_READVR
elseif MODBUS_BIT(40)=1 then '對table或VR進(jìn)行操作
MODBUS_BIT(40)=0
STICK_WRITE(10,0,5,1) 'table輸出到U盤,從table(0)開始取五個元素
print "table輸出到U盤"
elseif MODBUS_BIT(41)=1 then
MODBUS_BIT(41)=0
STICK_READ(10,0,1) 'U盤輸出到table(0)開始地址
print "U盤輸出到table"
'************U盤數(shù)據(jù)讀寫************
elseif MODBUS_BIT(50)=1 then
MODBUS_BIT(50)=0
U_WRITE 1,u,uu '數(shù)據(jù)寫入U盤,對變量和數(shù)組進(jìn)行操作
print "數(shù)據(jù)寫入U盤"
elseif MODBUS_BIT(51)=1 then
MODBUS_BIT(51)=0
U_READ 1,u,uu 'U盤數(shù)據(jù)讀出
print "U盤數(shù)據(jù)讀出"
'************U盤與FLASH數(shù)據(jù)交互************
elseif MODBUS_BIT(60)=1 then
MODBUS_BIT(60)=0
FLASH_WRITE 3,a aa
file"copy_from","sd3.bin"'本條指令sd num就是指flash塊的編號,此時將flash塊3的數(shù)據(jù)復(fù)制到u盤
print "flash塊的數(shù)據(jù)復(fù)制到u盤"
elseif MODBUS_BIT(61)=1 then
MODBUS_BIT(61)=0
file"copy_to","sd1.bin" '讀取sd1的數(shù)據(jù)寫入flash塊1
print "u盤數(shù)據(jù)寫入flash"
flash_read 1,a,aa
print *aa
'************讀取U盤文件內(nèi)容************
elseif MODBUS_BIT(11)=1 then
MODBUS_BIT(11)=0
FILE"LOAD_BYTE","00.txt",200,10,0 '讀取u盤中文本文件數(shù)據(jù)保存到table200開始的10個地址中
print "讀取u盤txt文件"
endif
endif
end sub
HMI組態(tài)界面:
沒有觸摸屏?xí)r,打開ZDevelop編程軟件根目錄找到screen文件夾,打開里面的xplcterm應(yīng)用程序,連接到控制器即可進(jìn)行觸摸屏仿真。
正運動技術(shù)運動控制器U盤接口的使用就分享到這里,更多精彩內(nèi)容,請關(guān)注我們的公眾號。
本文由正運動小助手原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國智能制造水平。文章版權(quán)歸正運動技術(shù)所有,如有轉(zhuǎn)載請注明文章來源。
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.connectcrack.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>顛覆傳統(tǒng)加工!維宏VHTube一鍵實現(xiàn)變徑...
2025-06-16
2025-06-09
從外觀到內(nèi)核的「超進(jìn)化」!NK550M五軸...
2025-06-06
2025-05-19
2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11