opencnc46xx系列開發(fā)手冊_第1頁
opencnc46xx系列開發(fā)手冊_第2頁
opencnc46xx系列開發(fā)手冊_第3頁
opencnc46xx系列開發(fā)手冊_第4頁
opencnc46xx系列開發(fā)手冊_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

版本升級說-3上版本總頁編寫工程排版工程校對日版本/頁結(jié)確版本升級說-3上版本總頁編寫工程排版工程校對日版本/頁結(jié)確-4目錄資源介紹 .-8存器9運(yùn)行控制位寄存器..............................................................................................................-10-運(yùn)行控制字寄存器13-CNC參數(shù)管理寄存器30PMC目錄資源介紹 .-8存器9運(yùn)行控制位寄存器..............................................................................................................-10-運(yùn)行控制字寄存器13-CNC參數(shù)管理寄存器30PMC軸控參數(shù)寄存器31PMC開發(fā)庫函數(shù)詳解361.1.通訊管理函數(shù)類..................................................................................................................-361.1.1.COMM_LibVer()...........................................................................................................................-37 .-37 .-38 .-381.1.5.COMM_CloseNetConn( .-39 .-40 .-40 .-41 .-411.1.10.COMM_AsciiToByte( .-42 .-421.1.12.COMM_Recv( .-431.2.加工管理函數(shù) .-431.2.1.WORK_SelectComm()..................................................................................................................-441.2.2.WORK_GetCommInfo( .-44 .-45 .-45 .-46 .-47 .-48 .-49 .-491.3.參數(shù)管理函數(shù) .-511.3.1.PARA_SelectComm()....................................................................................................................-53-51.3.2.PARA_GetCommInfo( .-541.3.3.PARA_GetParaVerify( .-541.3.4.PARA_GetParaInfo( .-1.3.2.PARA_GetCommInfo( .-541.3.3.PARA_GetParaVerify( .-541.3.4.PARA_GetParaInfo( .-541.3.5.PARA_ReadParaTab( .-551.3.6.PARA_TabToSort( .-55 .-551.3.8.PARA_ReadValue( .-571.3.9.PARA_WriteValue( .-571.3.10.PARA_ReadMultValue( .-581.4.文件管理函數(shù) .-591.4.1.FS_SelectComm()..........................................................................................................................-61 .-62 .-621.4.4.FS_FOpen( .-631.4.5.FS_FRead( .-63 .-641.4.7.FS_FClose( .-64 .-641.4.9.FS_FSeek( .-66 .-66 .-671.4.12.FS_RmDir( .-67 .-68 .-682.PMC開發(fā)庫使用導(dǎo) .-69-2.2Windows下動(dòng)態(tài)鏈接庫的調(diào)用69-工業(yè)觸摸屏編程 .-711.步科的工業(yè)觸摸屏實(shí) .-71-1.2.741.3.75-6件設(shè) .-76-件設(shè) .-76-7開放資源介 資源表采用統(tǒng)一編址方開放資源介 資源表采用統(tǒng)一編址方式進(jìn)行資源調(diào)用和傳G32宏地址指向的是其他類型的變則會將其他變量的值轉(zhuǎn)換進(jìn)行處理,在取值時(shí)要注意這32位浮點(diǎn)值給到G代PLC&ModBus地址是用于內(nèi)部PLC或者外部設(shè)備通過Modbus進(jìn)行訪問時(shí)的地址符,PLC或外部設(shè)備均通過該地址訪問NC所有資源該地址默認(rèn)指向的是16位整型寄存器,如果指向的是一個(gè)浮點(diǎn)或32位的整型數(shù)據(jù),則會占用兩個(gè)連續(xù)的地址號來拼湊成32例如地址R5042代表的是進(jìn)給速度,但進(jìn)給速度是32位整型的數(shù)據(jù),那么讀回來則占用了R5042,R5043兩個(gè)16位地址來共同表達(dá)32位整型;R504216位數(shù)據(jù),504316如果直接讀R5043,則會因?yàn)閿?shù)據(jù)邊界不對齊而讀取失敗,或返回空系統(tǒng)的變量類型和訪問權(quán)限的定*08161616323232位浮點(diǎn)數(shù)據(jù)(32-bitIEEE-754)具備讀權(quán)限具備可讀可寫權(quán)限(ReadorWrite)-8寄存注:CNC特殊操作寄存器的訪問同樣遵循Modbus的協(xié)議格式,在訪問數(shù)據(jù)時(shí),需要順?biāo)愕母呒壵Z言編程使用,對于PLC與觸摸屏的訪問可能會存在一定困難。-9PLC地*特殊文件訪問命令寄存*特殊文件訪問數(shù)據(jù)寄存*特殊文件訪問數(shù)據(jù)長度寄存*特殊文件訪問數(shù)據(jù)位置寄存*特殊文件訪問錯(cuò)誤及狀態(tài)寄存505寄存注:CNC特殊操作寄存器的訪問同樣遵循Modbus的協(xié)議格式,在訪問數(shù)據(jù)時(shí),需要順?biāo)愕母呒壵Z言編程使用,對于PLC與觸摸屏的訪問可能會存在一定困難。-9PLC地*特殊文件訪問命令寄存*特殊文件訪問數(shù)據(jù)寄存*特殊文件訪問數(shù)據(jù)長度寄存*特殊文件訪問數(shù)據(jù)位置寄存*特殊文件訪問錯(cuò)誤及狀態(tài)寄存505~保*特殊參數(shù)管理命令寄存*特殊參數(shù)管理數(shù)據(jù)寄存*特殊參數(shù)管理數(shù)據(jù)長度寄存*特殊參數(shù)管理數(shù)據(jù)位置寄存*特殊參數(shù)管理錯(cuò)誤及狀態(tài)寄存525~保*特殊多寄存器訪問命令寄存*特殊多寄存器訪問數(shù)據(jù)寄存*特殊多寄存器訪問數(shù)據(jù)長度寄存*特殊多寄存器訪問數(shù)據(jù)位置寄存*特殊多寄存器訪問錯(cuò)誤及狀態(tài)寄存545~保CNC運(yùn)行控制位寄存CNC運(yùn)行控制位寄存器CNC運(yùn)行控制位寄存CNC運(yùn)行控制位寄存器用于顯示當(dāng)前控制器的IO狀態(tài)及對可控制的輸出端口進(jìn)行控-10PLC地R0~-1124:手輪25:手輪-1124:手輪25:手輪軸選26:手輪27:手輪軸選28:手輪29:手輪軸選30:手輪31:手輪軸選32:手輪33:手輪34:伺服X報(bào)35:伺服Y報(bào)36:伺服Z報(bào)37:伺服A報(bào)其它位地址保留未R500~-12540:RUN燈(只針541:ALARM-12540:RUN燈(只針541:ALARM燈(只針對CNC8860)位地址對應(yīng)的面板LED輸出端口其它位地址保留保字寄存G代碼的執(zhí)行狀態(tài)同時(shí)寄存器一-字寄存G代碼的執(zhí)行狀態(tài)同時(shí)寄存器一-13PLC地訪問權(quán)對應(yīng)IO0~367,例01…7對應(yīng)IO0~367,每個(gè)地址16IO06…92對應(yīng)IO0~367,例…對應(yīng)IO0~367,每個(gè)地址16IO…對應(yīng)LED輸出0~175,例-14…LED0~175,每個(gè)地…128節(jié)當(dāng)前報(bào)警提示信息內(nèi)容字符UTF8編碼格式-14…LED0~175,每個(gè)地…128節(jié)當(dāng)前報(bào)警提示信息內(nèi)容字符UTF8編碼格式128節(jié)警狀態(tài)第0位128節(jié)警狀態(tài)第1位128節(jié)警狀態(tài)第2位128節(jié)警狀態(tài)第3位128節(jié)警狀態(tài)第4位128節(jié)警狀態(tài)第5位128節(jié)警狀態(tài)第6位128節(jié)警狀態(tài)第7位128節(jié)警狀態(tài)第8位128字自定義報(bào)警信息9,對應(yīng)外部-15數(shù)94128節(jié)自定義報(bào)警信息10,對應(yīng)外部報(bào)警狀態(tài)第10位8128節(jié)自定義報(bào)警信息11,對應(yīng)外部報(bào)警狀態(tài)第11位128節(jié)自定義報(bào)警信息12,對應(yīng)外部報(bào)警狀態(tài)第12位128節(jié)自定義報(bào)警信息13,對應(yīng)外部報(bào)警狀態(tài)第13位128節(jié)串行報(bào)警信息14,對應(yīng)外部報(bào)警狀態(tài)第14位128節(jié)警告位報(bào)警信息15,對應(yīng)外部報(bào)警狀態(tài)第15-15數(shù)94128節(jié)自定義報(bào)警信息10,對應(yīng)外部報(bào)警狀態(tài)第10位8128節(jié)自定義報(bào)警信息11,對應(yīng)外部報(bào)警狀態(tài)第11位128節(jié)自定義報(bào)警信息12,對應(yīng)外部報(bào)警狀態(tài)第12位128節(jié)自定義報(bào)警信息13,對應(yīng)外部報(bào)警狀態(tài)第13位128節(jié)串行報(bào)警信息14,對應(yīng)外部報(bào)警狀態(tài)第14位128節(jié)警告位報(bào)警信息15,對應(yīng)外部報(bào)警狀態(tài)第15位240節(jié)字符編碼格式為UTF8的格128節(jié)G128節(jié)G128節(jié)G128節(jié)G128節(jié)G3528~保系統(tǒng)功能信號狀態(tài)映器0:安全信1:氣壓信2:夾料信3:系統(tǒng)油4:對刀儀檢-165:報(bào)警6:運(yùn)行7:潤滑輸8:冷卻輸9:主軸正轉(zhuǎn)輸10:主軸11:系統(tǒng)12:主軸13:變-165:報(bào)警6:運(yùn)行7:潤滑輸8:冷卻輸9:主軸正轉(zhuǎn)輸10:主軸11:系統(tǒng)12:主軸13:變頻14:對刀儀吹氣15:對刀儀限位系統(tǒng)功能信號狀態(tài)映器0:外部急停1:外部啟動(dòng)2:外部暫停3:手輪4:手輪5:手輪6:手輪軸選7:手輪軸選8:手輪軸選9:手輪軸選10:手輪11:手輪12:手輪工件加工工件最大加工當(dāng)前系統(tǒng)內(nèi)部按系統(tǒng)外部按鍵響應(yīng)(注當(dāng)前系統(tǒng)控制模-170:錄1:自2:手4:歸插補(bǔ)倍快移倍主軸倍手動(dòng)倍編程速實(shí)際速手動(dòng)速主軸狀-170:錄1:自2:手4:歸插補(bǔ)倍快移倍主軸倍手動(dòng)倍編程速實(shí)際速手動(dòng)速主軸狀1:加載就2:正在加BIT7~BIT0加載進(jìn)度,值范100加工文件程序16字節(jié)R:當(dāng)前加工文件名所有加工程序存放在控制器固定目錄下系統(tǒng)報(bào)警號(注字符編碼為UTF8格式。T5:0:連1:單BT~I(xiàn):保-18BTBT0:運(yùn)行狀0:停1:運(yùn)2:暫3:單節(jié)暫-18BTBT0:運(yùn)行狀0:停1:運(yùn)2:暫3:單節(jié)暫14產(chǎn)生的報(bào)警內(nèi)容可讀取對應(yīng)自手輪軸0:沒有選擇1:X2:Y3:Z4:A憶執(zhí)行條件(0-不符合,1-符;;BT(讀寫):決定BIT0控制否有效(0-無效,1-有效BT讀寫):BIT11斷點(diǎn)執(zhí)行的提示信息可以自行敘述打印,亦可讀取地址2588寄存器組的內(nèi)容進(jìn)行打印顯示加工模0:本地文件加工模式1:在線加工模式89W在線加工操作命讀:剩余存儲塊數(shù)寫:寫任意值清空緩存據(jù)最大240字節(jié)。為數(shù)據(jù)長度;其余的為數(shù)據(jù)內(nèi)即數(shù)據(jù)幀格式為序號+長度N+N個(gè)數(shù)240節(jié)當(dāng)前代碼運(yùn)行位置(寄存器組的內(nèi)容進(jìn)行打印顯示加工模0:本地文件加工模式1:在線加工模式89W在線加工操作命讀:剩余存儲塊數(shù)寫:寫任意值清空緩存據(jù)最大240字節(jié)。為數(shù)據(jù)長度;其余的為數(shù)據(jù)內(nèi)即數(shù)據(jù)幀格式為序號+長度N+N個(gè)數(shù)240節(jié)當(dāng)前代碼運(yùn)行位置(只 加工使用歸零標(biāo)志及當(dāng)前歸零狀態(tài):高8態(tài)0歸零動(dòng)作結(jié)束,1表示正在執(zhí)行歸零動(dòng)~保G碼0組模態(tài)G碼1組模態(tài)G碼2組模態(tài)G碼3組模態(tài)G碼4組模態(tài)G碼5組模態(tài)G碼6組模態(tài)-19-20G碼7組模態(tài)G碼8組模態(tài)G碼9組模態(tài)G碼10組模態(tài)4011~保刀具半徑補(bǔ)償編號刀具長度補(bǔ)償編號輔助功能M代當(dāng)前程序編號O字段4116~保刀具功能號4121~保X軸-20G碼7組模態(tài)G碼8組模態(tài)G碼9組模態(tài)G碼10組模態(tài)4011~保刀具半徑補(bǔ)償編號刀具長度補(bǔ)償編號輔助功能M代當(dāng)前程序編號O字段4116~保刀具功能號4121~保X軸絕對Y軸絕對Z軸絕對坐A軸絕對B軸絕對C軸絕對5012~保X軸相對Y軸相對Z軸相對坐A軸相對B軸相對C軸相對5032~保X軸機(jī)械Y軸機(jī)械Z軸機(jī)械位A軸機(jī)械-218B軸機(jī)械0C軸機(jī)械保0X軸反饋2Y軸反饋Z軸反饋位A軸反饋B軸反饋C軸反饋5068~保X軸刀具位置補(bǔ)償Y-218B軸機(jī)械0C軸機(jī)械保0X軸反饋2Y軸反饋Z軸反饋位A軸反饋B軸反饋C軸反饋5068~保X軸刀具位置補(bǔ)償Y軸刀具位置補(bǔ)償Z軸刀具位置補(bǔ)A軸刀具位置補(bǔ)償5088~保X軸外部寫正值:X軸正方向運(yùn)行寫負(fù)值:X軸負(fù)方向運(yùn)行寫零值:X軸立即停止Y軸外部寫正值:Y軸正方向運(yùn)行寫負(fù)值:Y軸負(fù)方向運(yùn)行寫零值:Y軸立即停止Z軸外部手寫負(fù)值:Z軸負(fù)方向運(yùn)行寫零值:Z軸立即停止A軸外部寫正值:A軸正方向運(yùn)行寫負(fù)值:A軸負(fù)方向運(yùn)行寫零值:A軸立即停止B軸外部寫正值:B軸正方向運(yùn)-22寫負(fù)值:B軸負(fù)方向運(yùn)行寫零值:B軸立即停止C軸外部寫正值:C軸正方-22寫負(fù)值:B軸負(fù)方向運(yùn)行寫零值:B軸立即停止C軸外部寫正值:C軸正方向運(yùn)行寫負(fù)值:C軸負(fù)方向運(yùn)行寫零值:C軸立即停止6100~0~BT:000:目TI:文件0大小(單位:Byte)20000~BT:110:目TI:文件1大小(單位:Byte)20008~…BT:255區(qū)0:目1:文-23BIT30~BIT0文件255大(單位22040~22045:目錄255/文255:當(dāng)前目錄路:進(jìn)入選中目D盤根“\U當(dāng)前路徑下目錄和文件總個(gè)所要?jiǎng)h除的加工-23BIT30~BIT0文件255大(單位22040~22045:目錄255/文255:當(dāng)前目錄路:進(jìn)入選中目D盤根“\U當(dāng)前路徑下目錄和文件總個(gè)所要?jiǎng)h除的加工文件名所要復(fù)制的加工文件名所要粘貼的加工文件名進(jìn)入編輯狀態(tài)的G代碼總當(dāng)前編輯窗口起始行編當(dāng)前編輯窗口結(jié)尾行編編輯窗口當(dāng)前行編號編輯窗口操作命1:光標(biāo)左2:光標(biāo)右3:光標(biāo)上4:光標(biāo)下5:當(dāng)前行回車6:向上翻7:向下翻8:刪除當(dāng)前9:保存編輯后的G代10:退格刪G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容-24鍵值鍵值停止?fàn)顟B(tài)下有自動(dòng)模停止?fàn)顟B(tài)下有手動(dòng)模停止?fàn)顟B(tài)下有錄入模停止?fàn)顟B(tài)下有手輪模停止?fàn)顟B(tài)下有歸零模歸零模式下有X軸歸零歸零模式下有Y軸歸零歸零模式下有Z歸零模式下有A-24鍵值鍵值停止?fàn)顟B(tài)下有自動(dòng)模停止?fàn)顟B(tài)下有手動(dòng)模停止?fàn)顟B(tài)下有錄入模停止?fàn)顟B(tài)下有手輪模停止?fàn)顟B(tài)下有歸零模歸零模式下有X軸歸零歸零模式下有Y軸歸零歸零模式下有Z歸零模式下有A軸歸零歸零模式下有所有軸歸零操主軸啟動(dòng)的情況下轉(zhuǎn)速自減操主軸啟動(dòng)的情況下轉(zhuǎn)速自加操自動(dòng)模式下有倍率自減操自動(dòng)模式下有倍率自加操手動(dòng)模式下有X軸正向手動(dòng)模式下有X軸負(fù)向G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容G代碼編輯內(nèi)容手動(dòng)模式下有Y軸正向手動(dòng)模式下有Y軸負(fù)向手動(dòng)模式下有Z手動(dòng)模式下有Z手動(dòng)模式下有A軸正向手動(dòng)模式下有A軸負(fù)向正反清潤跳單暫啟復(fù)-25系統(tǒng)報(bào)說無報(bào)警(系統(tǒng)默認(rèn)值程序結(jié)沒有指定手動(dòng)模式下有Y軸正向手動(dòng)模式下有Y軸負(fù)向手動(dòng)模式下有Z手動(dòng)模式下有Z手動(dòng)模式下有A軸正向手動(dòng)模式下有A軸負(fù)向正反清潤跳單暫啟復(fù)-25系統(tǒng)報(bào)說無報(bào)警(系統(tǒng)默認(rèn)值程序結(jié)沒有指定運(yùn)動(dòng)函沒有G代碼獲取行代碼換刀失刀具無G程序段重復(fù)G程序段程序號錯(cuò)G7x8x復(fù)合指令代碼無法正常指定端口號錯(cuò)程序異常終止錯(cuò)M01-26不存在指定程序M98格式錯(cuò)調(diào)用運(yùn)動(dòng)執(zhí)行失本段不需要補(bǔ)G程序段無效G程序重新運(yùn)行,M99指令,此報(bào)警屬于正常運(yùn)動(dòng)報(bào)警,-26不存在指定程序M98格式錯(cuò)調(diào)用運(yùn)動(dòng)執(zhí)行失本段不需要補(bǔ)G程序段無效G程序重新運(yùn)行,M99指令,此報(bào)警屬于正常運(yùn)動(dòng)報(bào)警,用來刷新計(jì)運(yùn)動(dòng)異常報(bào)非法字注釋符格式錯(cuò)誤或者無對稱注釋GG代碼補(bǔ)償號或者值未定義G代碼半徑補(bǔ)償錯(cuò)圓弧編程錯(cuò)非法指定平面 之外平M98調(diào)用錯(cuò)誤,可能超過最主軸指定硬件軸號錯(cuò)M代碼執(zhí)行出主軸指定失運(yùn)動(dòng)重復(fù)請指定圓弧不存XYZABCDRFTSP-27指令錯(cuò)指令錯(cuò)令錯(cuò)令錯(cuò)指令錯(cuò)Q螺距值重復(fù)指定錯(cuò)系統(tǒng)發(fā)生警報(bào)異常退人為干預(yù)退G無指定G代碼程序號表格存儲-27指令錯(cuò)指令錯(cuò)令錯(cuò)令錯(cuò)指令錯(cuò)Q螺距值重復(fù)指定錯(cuò)系統(tǒng)發(fā)生警報(bào)異常退人為干預(yù)退G無指定G代碼程序號表格存儲宏功能調(diào)用錯(cuò)宏表達(dá)式書寫異宏變量地址錯(cuò)非法變量跳轉(zhuǎn)語句發(fā)生錯(cuò)宏循環(huán)語句配對錯(cuò)宏循環(huán)語句嵌套錯(cuò)宏循環(huán)語句嵌套調(diào)用過多,超出最多沒有定義宏變量獲取地址函宏定義信息輸出,不報(bào)宏定義報(bào)警輸常量引用錯(cuò)上一段軌跡i_gcode屬性值下一段軌跡i_gcode屬性值起始補(bǔ)償點(diǎn)圓弧進(jìn)結(jié)束補(bǔ)償點(diǎn)圓弧退在補(bǔ)償過程中上一段軌跡的起點(diǎn)位置和終點(diǎn)位置在補(bǔ)償過程中下一段軌跡的起點(diǎn)位置和終點(diǎn)位置G0203R半徑補(bǔ)償過程中遇到不能切換的G代NURBS節(jié)點(diǎn)過NURBS參數(shù)錯(cuò)-28復(fù)合程式記憶程序段數(shù)過多溢出復(fù)合程式存在表達(dá)式錯(cuò)UWG未定義零-28復(fù)合程式記憶程序段數(shù)過多溢出復(fù)合程式存在表達(dá)式錯(cuò)UWG未定義零緊急停XYZA軸號重定義錯(cuò)主軸未歸零錯(cuò)模具夾未鎖緊錯(cuò)信號未被檢測到重定氣壓不夾料信號無效報(bào)油壓報(bào)主軸發(fā)生警變頻器發(fā)生警放刀失抓刀失刀庫門檢測錯(cuò)卡銷檢測錯(cuò)松刀檢測錯(cuò)放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀信號未被檢測到重定氣壓不夾料信號無效報(bào)油壓報(bào)主軸發(fā)生警變頻器發(fā)生警放刀失抓刀失刀庫門檢測錯(cuò)卡銷檢測錯(cuò)松刀檢測錯(cuò)放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失放刀失對刀儀限位報(bào)附加面板工作異預(yù)處理外部異常終止程序執(zhí)自定義宏程序重復(fù)調(diào)用次數(shù)加工代碼在運(yùn)行中檢測編程坐標(biāo)值超軟限位設(shè)定-29CNC參數(shù)寄存器用于存儲當(dāng)前CNC 進(jìn)行訪問,也可以被宏代碼進(jìn)行調(diào)用訪PLC-30PLC地 對應(yīng)#100~#199CNC參數(shù)寄存器用于存儲當(dāng)前CNC 進(jìn)行訪問,也可以被宏代碼進(jìn)行調(diào)用訪PLC-30PLC地 對應(yīng)#100~#199 保 對應(yīng)#500~#999 保 綜合參數(shù) 軸配置參 管理參 主軸參10000~ 端口配 保寄存~60299PMC60100~60199為一軸參數(shù)控制為二軸參數(shù)控制地址區(qū)。每個(gè)控制軸都能夠選定寄存~60299PMC60100~60199為一軸參數(shù)控制為二軸參數(shù)控制地址區(qū)。每個(gè)控制軸都能夠選定1~6軸中的任意CNC88604CNC5、6軸則可以用來進(jìn)行PMC編程使用。-31地址(i為0軸號,0表示該軸無用。CNC8860控制器應(yīng)設(shè)置為5,6軸號。9軸特性和脈沖模式設(shè)置(修BIT3:軸0旋轉(zhuǎn);1BIT2:脈沖方向方向輸出正邏輯方向輸出負(fù)邏輯BIT1:脈沖邏正邏輯脈沖負(fù)邏輯脈沖BIT0:脈沖方脈沖+脈沖脈沖+方向6軸硬件限位模式設(shè)正限位無效正限位有效負(fù)限位無效負(fù)限位有效-32低電平停止高電平停止00硬件原點(diǎn)信號無效-32低電平停止高電平停止00硬件原點(diǎn)信號無效硬件原點(diǎn)信號有效低電平有效高電平有效01硬件原點(diǎn)信號無效硬件原點(diǎn)信號有效低電平有效高電平有效4軸相關(guān)配0不停止 1停止BIT0:軸報(bào)警有效0低電平;1(伺服軸歸零使能及方向配伺服Z相零點(diǎn)低電平有伺服Z相零點(diǎn)高電平有ZZ外部零點(diǎn)低電平有效外部零點(diǎn)高電平有效-33外部零點(diǎn)禁止外部零點(diǎn)使能正方向歸零負(fù)方向歸零軸硬件正限位輸入端口軸硬件負(fù)限位輸入端口0外部零點(diǎn)輸入端口伺服軸報(bào)警輸入端口伺服軸復(fù)位輸出端口軸起始速-33外部零點(diǎn)禁止外部零點(diǎn)使能正方向歸零負(fù)方向歸零軸硬件正限位輸入端口軸硬件負(fù)限位輸入端口0外部零點(diǎn)輸入端口伺服軸報(bào)警輸入端口伺服軸復(fù)位輸出端口軸起始速軸加速軸快移速軸手動(dòng)速軸歸零加速軸歸零速軸歸零減速速軸歸零零點(diǎn)掃描速0-~軸零點(diǎn)脈沖偏移軸最大約束加速軸最大約束速-~軸正向軟限位脈沖--~軸負(fù)向軟限位脈沖軸ROUND設(shè)定值(作為旋轉(zhuǎn)-34地址(i為-2147483648軸實(shí)際位置脈沖-2147483648軸邏輯位置脈-34地址(i為-2147483648軸實(shí)際位置脈沖-2147483648軸邏輯位置脈沖R軸當(dāng)前速R軸當(dāng)前狀BIT0:軸0停止?fàn)?1運(yùn)行狀RBIT5:負(fù)向軟限位報(bào)警0無效1有BIT4:正向軟限位報(bào)警0無效1有BIT3:負(fù)向硬限位報(bào)警0無效1有BIT2:正向硬限位報(bào)警0無效1有BIT1:伺服報(bào) 0無效1有BIT0:軸未歸零報(bào) 0無效1有認(rèn)為1,此時(shí)若執(zhí)行了除“歸零”指令外的其它軸運(yùn)動(dòng)指令會產(chǎn)生“軸未歸零報(bào)警。成功執(zhí)行歸零指令后,BIT0位會自動(dòng)置為0,表示軸已經(jīng)成功歸零,BIT0:軸0已歸 1未歸-35軸控制命0x00:清除報(bào)警信息-35軸控制命0x00:清除報(bào)警信息0x01:立即停止0x02:減速停止0x07:軸歸零操作WW-2147483648PC端高級語言編1.PMC數(shù)據(jù)類型聲明如typedefcharPC端高級語言編1.PMC數(shù)據(jù)類型聲明如typedefchartypedefshorttypedefinttypedeftypedefint//16//16//32//32//32//64//布爾型通訊管理函數(shù)//***************通訊端口配置//MODBUS傳輸端口數(shù)目暫定66個(gè)-012345//無效端//TCP//UDP網(wǎng)絡(luò)接//***************串口通訊模式 //RTU //ASCII模-36訊管理函數(shù)//通訊無//通訊端口號//通訊設(shè)//執(zhí)行失1.1.1.COMM_LibVer(示例voidmain(訊管理函數(shù)//通訊無//通訊端口號//通訊設(shè)//執(zhí)行失1.1.1.COMM_LibVer(示例voidmain({FLOATfVer=//打印庫版本printf("Libraryversion%.2f",}COMM_ParaInit(-37函數(shù)void_stdcall功能通訊參數(shù)初始化函數(shù)輸入無輸出無返回?zé)o注意函數(shù)FLOAT_stdcall功能通訊庫版本,通過該函數(shù)可以獲取當(dāng)前庫的版本,便于升級維輸入無輸出無返回庫版本號,格式為注意無1.1.3.COMM_UartInit(示例voidmain({//打開串口0,波特率115200,8位數(shù)據(jù)位位停止位,無1.1.3.COMM_UartInit(示例voidmain({//打開串口0,波特率115200,8位數(shù)據(jù)位位停止位,無校驗(yàn)NOPARITY)=={printf(“打開串口成}}COMM_NetConnect(-38函數(shù)名INT8U_stdcallCOMM_NetConnect(INT8UNetPort,INT32SINT32UuiConIp,INT16U功能描進(jìn)行TCP/UDP連接,并用設(shè)備號與IP地址進(jìn)行對應(yīng)的輸入?yún)?4TCP連接端口,5UDP 網(wǎng)絡(luò)通訊對應(yīng)的設(shè)備號,范圍(0~255) 連接的服務(wù)端IP地址 連接的服務(wù)端通訊端口號(一般通訊固定 輸出參無返回 正函數(shù)名INT8U_stdcallCOMM_UartInit(INT8UUartPort,INT32UUartBaud,DataBit,INT8UStopBit,INT8U功能描初始化打開串口,對串口進(jìn)行通訊配輸入?yún)? 串口數(shù)據(jù)位(5,6,7,8位四種方式) 串口停止位(1,2位兩種方式) 串口校驗(yàn)位(無校驗(yàn),奇校驗(yàn),偶校驗(yàn)三種方式輸出參無返回 正注意事無uiConIp=//UDP1IP:00,端口號:502if(COMM_NetConnectCOMM_UDP_PORT1uiConIp502uiConIp=//UDP1IP:00,端口號:502if(COMM_NetConnectCOMM_UDP_PORT1uiConIp502COMM_NO_ERR){printf(“連接成}}1.1.5.COMM_CloseNetConn(示例voidmain({//UDP1{printf(“連接關(guān)閉成}}1)==-39函數(shù)INT8U_stdcallCOMM_CloseNetConn(INT8UNetPort,INT32S功能關(guān)閉與對應(yīng)設(shè)備的連接,只針對TCP/UDP連接的輸入 4TCP連接端口,5UDP 網(wǎng)絡(luò)通訊對應(yīng)的設(shè)備號,范圍(0~輸出無返回 正注意1.1.6.COMM_ClosePort(示例voidmain({ // // // ////TCP1.1.6.COMM_ClosePort(示例voidmain({ // // // ////TCP}-40函數(shù)名BOOL_stdcallCOMM_SetTimesOut(INT8Uport,INT16Utimeouts,功能描設(shè)置相應(yīng)端口的通訊超時(shí)時(shí)間和異常重發(fā)輸入?yún)?通訊端口 輸出參無返回 正注意事無函數(shù)名功能描輸入?yún)?0~50,1,2,3為串口4TCP網(wǎng)絡(luò);5為UDP網(wǎng)絡(luò))輸出參無返回 正注意事esOut(_stdcallCOMM_GetTimesOut(INT8Uport,INT16U*timeouts,應(yīng)端口的通訊超時(shí)時(shí)間和異常重發(fā)通訊端口輸出esOut(_stdcallCOMM_GetTimesOut(INT8Uport,INT16U*timeouts,應(yīng)端口的通訊超時(shí)時(shí)間和異常重發(fā)通訊端口輸出返回正注意無示例voidmain({INT8Urepeat_times;INT16Utimeouts;//設(shè)置COMM_UART_PORT0串口超時(shí)時(shí)間為1000ms,超時(shí)最多重發(fā)4//獲取COMM_UART_PORT0串口設(shè)置的超時(shí)時(shí)間和最多重發(fā)COMM_GetTimesOut(COMM_UART_PORT0,&timeouts,//打印獲取的超時(shí)時(shí)間和最多重發(fā)printf(“timeouts=%d,repeat_times=%d\n”,timeouts,}1.1.9.COMM_ByteToAscii(-41函數(shù)void_stdcallCOMM_ByteToAscii(INT8Udata,INT8U*ch,INT16U功能字節(jié)數(shù)據(jù)轉(zhuǎn)ASCII輸入 要轉(zhuǎn)換的數(shù)輸出 存放轉(zhuǎn)換后的ASCII值的數(shù) 數(shù)組數(shù)據(jù)的位置(數(shù)據(jù)訪問后會指向下一數(shù)據(jù)位置返回?zé)o注意無示例voidmain({INT8UINT8Uch[5];offset=COMM_ByteToAscii(0x12,ch,COMM_ByteToAscii(0x34, //將0x12示例voidmain({INT8UINT8Uch[5];offset=COMM_ByteToAscii(0x12,ch,COMM_ByteToAscii(0x34, //將0x12轉(zhuǎn)換為字符’1’、’2’//添加結(jié)ch[4]=//打印結(jié)果:ch:1234,offset:printf(“ch:%s,offset:%d”,ch,offset=COMM_AsciiToByte(&data,ch,&offset);COMM_AsciiToByte(&data,ch,&offset);}COMM_Send(-42函數(shù)名INT16U_stdcallCOMM_Send(INT8UPort,INT8U*sbuff,INT16U功能描向指定串口發(fā)送數(shù)據(jù)函函數(shù)名void_stdcallCOMM_AsciiToByte(INT8U*data,INT8U*ch,功能描ASCII字符轉(zhuǎn)字節(jié)數(shù)輸入?yún)?存放轉(zhuǎn)換ASCII值為數(shù)據(jù)的 數(shù)組數(shù)據(jù)的位置(數(shù)據(jù)訪問后會指向下一數(shù)據(jù)位置輸出參 轉(zhuǎn)換后的數(shù)返回?zé)o注意事無發(fā)送數(shù)據(jù)長發(fā)送的數(shù)據(jù)長注意該函數(shù)發(fā)送的數(shù)據(jù)直接通過相應(yīng)串COMM_Recv發(fā)送數(shù)據(jù)長發(fā)送的數(shù)據(jù)長注意該函數(shù)發(fā)送的數(shù)據(jù)直接通過相應(yīng)串COMM_Recv(1.2.//加工管理操作//無效命//復(fù)位命//寫入不連續(xù)寄存器地址和相應(yīng)長度//擴(kuò)展型讀寫不連續(xù)寄存器地址和相#define#defineWORK_READDATAEXT#define//讀多個(gè)不連續(xù)寄存器//寫多個(gè)不連續(xù)寄存器//錯(cuò)誤類型//操作無//無效的//讀無效的數(shù)//命令長度錯(cuò)//讀命令#define-43函數(shù)INT16U_stdcallCOMM_Recv(INT8UPort,INT8U*rbuff,INT16U功能串口讀數(shù)據(jù)函輸入 通訊端口 指定讀取數(shù)據(jù)長輸出 讀取數(shù)據(jù)存儲返回返回實(shí)際接收到的數(shù)據(jù)長注意該函數(shù)接收的數(shù)據(jù)直接來自相應(yīng)串#define//寫命令//數(shù)據(jù)長度超出最大緩存區(qū)//數(shù)據(jù)長度錯(cuò)//讀數(shù)據(jù)//寫數(shù)據(jù)#define//寫命令//數(shù)據(jù)長度超出最大緩存區(qū)//數(shù)據(jù)長度錯(cuò)//讀數(shù)據(jù)//寫數(shù)據(jù)//空地址//設(shè)備錯(cuò)//通訊超時(shí)錯(cuò)WORK_SelectComm(-44函數(shù)名INT8U_stdcallWORK_GetCommInfo(INT8U*port,INT32SINT8U*mode,BOOL功能描針對加工部分的數(shù)據(jù)訪問,獲取當(dāng)前通訊連接狀輸入?yún)o輸出參 通訊端口 從機(jī)設(shè)備 針對串口通訊選擇RTUASCII 允許通訊返回 正函數(shù)名INT8U_stdcallWORK_SelectComm(INT8Uport,INT32SiDevNum,mode,BOOL功能描針對加工部分的數(shù)據(jù)訪問,選擇設(shè)置相應(yīng)的通訊連輸入?yún)?通訊端口 從機(jī)設(shè)備 針對串口通訊選擇RTUASCII 允許通訊輸出參無返回 正注意事無INT8Umode;BOOL//選擇COMM_UART_PORT0串口,站號為1,RTU通訊模式,通訊使能WORK_SelectComm(COMM_UART_PORT0,1,//INT8Umode;BOOL//選擇COMM_UART_PORT0串口,站號為1,RTU通訊模式,通訊使能WORK_SelectComm(COMM_UART_PORT0,1,//獲取加工類通訊printf(“port=%d,iDevNum=%d,mode=%d,bEnable=%d\n”,port,iDevNum,mode,}WORK_ReadInBit(WORK_ReadBit(-45函數(shù)INT8U_stdcallWORK_ReadBit(INT16UnAddr,INT8U*pBuff,功能讀一個(gè)或多個(gè)連續(xù)位寄存器地址的狀輸入 位寄存器首地 要訪問的位個(gè)函數(shù)INT8U_stdcallWORK_ReadInBit(INT16UnAddr,INT8U*pBuff,功能讀一個(gè)或多個(gè)連續(xù)輸入位寄存器地址的狀輸入 位寄存器首地 要訪問的位個(gè)輸出 存放讀出的位狀態(tài)返回 正注意無1.2.5.WORK_WriteBit(示例voidmain({intINT8Umemset(rSta,0,//讀出1.2.5.WORK_WriteBit(示例voidmain({intINT8Umemset(rSta,0,//讀出位地址為100開始的連10個(gè)只讀輸入點(diǎn)的if(WORK_ReadInBit(0,&rSta,10)!={}for(i=0;i<10;{printf(“%d, //打印輸入狀}-46函數(shù)名INT8U_stdcallWORK_WriteBit(INT16UnAddr,INT8U*pBuff,功能描寫一個(gè)或多個(gè)連續(xù)位寄存器地址的狀輸入?yún)?位寄存器首地 存放要寫入的位狀態(tài) 要訪問的位個(gè)輸出參無返回 正注意事無輸出參 存放讀出的位狀態(tài)返回 正注意事無)==0)?1:{)==0)?1:{}memset(rSta,0,if(WORK_ReadBit(100,&rSta,10)!={}for(i=0;i<10;{printf(“%d,”,}//打印輸出}1.2.6.WORK_ReadReg(-47函數(shù)INT8U_stdcallWORK_ReadReg(INT16UnAddr,INT8U*pBuff,功能讀取一個(gè)或多個(gè)連續(xù)字寄存地址的數(shù)輸入無輸出無1.2.7.WORK_WriteReg(示例voidmain({inti;INT8Uerr;pos=//選擇串口,站1.2.7.WORK_WriteReg(示例voidmain({inti;INT8Uerr;pos=//選擇串口,站號為1,RTU通訊模式,通訊使能WORK_SelectComm(COMM_UART_PORT0,1,COMM_MODE_RTU,//例如X軸反饋位置的寄存器起始地址為5060,數(shù)據(jù)類型為32位有符號整errWORK_ReadReg(5060,(INT8U*)&pos, //讀X軸反饋位if(err!={}pos=1000;errWORK_WriteReg(5060,INT8U*)&pos4);//X-48函數(shù)名INT8U_stdcallWORK_WriteReg(INT16UnAddr,INT8U*pBuff,功能描寫入一個(gè)或多個(gè)連續(xù)字寄存地址的數(shù)輸入?yún)?字寄存器首地 存放要寫入寄存器數(shù)據(jù)的 要寫入的寄存器數(shù)據(jù)字節(jié)輸出參無返回 正注意事無返回 正注意事無gisterpos=errWORK_ReadReg(5060,(INT8U*)&pos, //再次讀X軸反饋位if(err!={gisterpos=errWORK_ReadReg(5060,(INT8U*)&pos, //再次讀X軸反饋位if(err!={}printf(“pos2=%d\n”,}WORK_ReadDiscReg(-49函數(shù)INT8U_stdcallWORK_WriteDiscReg(constINT16U*pRegBuff,功能寫入一個(gè)或多個(gè)不連續(xù)字寄存地址的數(shù)輸入 存放不連續(xù)寄存地址及相應(yīng)讀取數(shù)據(jù)長度的 pRegBuff數(shù)組內(nèi)容 存放要寫入的不連續(xù)寄存器數(shù)據(jù)的輸出無函數(shù)INT8U_stdcallWORK_ReadDiscReg(constINT16U*pRegBuff,功能讀取一個(gè)或多個(gè)不連續(xù)字寄存地址的輸入 存放不連續(xù)寄存地址及相應(yīng)讀取數(shù)據(jù)長度的 pRegBuff數(shù)組內(nèi)容輸出 存放讀取的不連續(xù)寄存器數(shù)據(jù)的返回 正注意無示例voidmain({//選示例voidmain({//選擇COMM_UART_PORT0串口,站號為1,RTU通訊模式,通訊使能WORK_SelectComm(COMM_UART_PORT0,1,COMM_MODE_RTU,//例如X,Z軸反饋位置寄存器起始地址分別為5060,5064其中X軸占用兩個(gè)字地址空間,Z軸占用5064,5065兩個(gè)字地址空nBuffNum=err=WORK_ReadDiscReg(pRegBuff,nBuffNum,pData);//讀X,Z軸反饋位if(err!={}*(INT32S*)pData=*(INT32S*)(pData+4)=-50返回 正注意事無10002000gister}*(INT32S*)pData=*(INT32S*)(pData+4)=10002000gister}*(INT32S*)pData=*(INT32S*)(pData+4)=err=WORK_ReadDiscReg(pRegBuff,nBuffNum,pData);//再次讀X,Z軸反饋位if(err!={}}1.3.//訪問命令//無效命//讀參數(shù)所有//讀參數(shù)//錯(cuò)誤類型//操作無//無效的//讀無效的數(shù)//讀列表//讀參數(shù)信息//讀數(shù)據(jù)//寫數(shù)據(jù)-51//讀位置//寫位置//空地址//設(shè)備//通訊超時(shí)//讀位置//寫位置//空地址//設(shè)備//通訊超時(shí)//加載參數(shù)文件//保存參數(shù)文件//參數(shù)信息字節(jié)//參數(shù)屬性(0<<7)//只讀寄存(1<<7)//讀寫寄存//一般客戶權(quán)限寄//超級用戶權(quán)限寄//數(shù)據(jù)類型定義,類型值位用來表示變量字4-52typedefstruct{INT8UPopedom;INT8UINT16U//參數(shù)操作//參數(shù)數(shù)據(jù)//PLCtypedefstruct{INT8UPopedom;INT8UINT16U//參數(shù)操作//參數(shù)數(shù)據(jù)//PLC //存放參//參數(shù)有效值界限:[0]最小值;[1]最大typedefstruct{//參數(shù)數(shù)//參數(shù)類型名//參數(shù)鏈表首PARA_TAB*pTitle;PARA_TAB*pParam;1.3.1.PARA_SelectComm(-53函數(shù)INT8U_stdcallPARA_SelectComm(INT8Uport,INT32SiDevNum,mode,BOOL功能針對參數(shù)部分的數(shù)據(jù)訪問,選擇設(shè)置相應(yīng)的通訊連輸入 通訊端口 從機(jī)設(shè)備 針對串口通訊選擇RTUASCII 允許通訊輸出無返回 正注意無PARA_GetCommInfo(-54函數(shù)名INT8U_stdcallPARA_GetParaInfo(INT16U*pParaVer,INT16UINT32U功能描獲取遠(yuǎn)程設(shè)備參數(shù)PARA_GetCommInfo(-54函數(shù)名INT8U_stdcallPARA_GetParaInfo(INT16U*pParaVer,INT16UINT32U功能描獲取遠(yuǎn)程設(shè)備參數(shù)的版本,校驗(yàn)值及總大小輸入?yún)o輸出參 返回 正注意事無函數(shù)名功能描計(jì)算指定數(shù)目參數(shù)列表的校驗(yàn)輸入?yún)?PARA_TAB類型的數(shù)組首 參數(shù)列表的個(gè)輸出參無返回計(jì)算的校驗(yàn)注意事無函數(shù)名INT8U_stdcallPARA_GetCommInfo(INT8U*port,INT32SINT8U*mode,BOOL功能描針對參數(shù)部分的數(shù)據(jù)訪問,獲取當(dāng)前通訊連接狀輸入?yún)o輸出參 通訊端口 從機(jī)設(shè)備 針對串口通訊選擇RTUASCII 允許通訊返回 正注意事無aTab(1.3.7.PARA_Destroy(示例voidmian({int-55函數(shù)void_stdcallPARA_Destroy(PARA_SORT功能獲取下位機(jī)aTab(1.3.7.PARA_Destroy(示例voidmian({int-55函數(shù)void_stdcallPARA_Destroy(PARA_SORT功能獲取下位機(jī)參數(shù)或讀本地匹配的參數(shù)住處并創(chuàng)建參數(shù)列輸入 PARA_SORT類型輸出無返回?zé)o注意無函數(shù)PARA_SORT*_stdcallPARA_TabToSort(PARA_TAB*pTab,intint功能將參數(shù)列表內(nèi)容進(jìn)行分類,轉(zhuǎn)換為PARA_SORT類型數(shù)輸入 PARA_TAB類型的數(shù)組首 參數(shù)列表數(shù)輸出 存放參數(shù)類型數(shù)目的返回非空:PARA_TAB類型指 NULL:獲取失注意無 ion,INT8U設(shè)備的參數(shù)列表內(nèi)輸入無輸出 返回非空:PARA_TAB類型指 NULL:獲取失注意無nVerify1,nVerify2; nVerify1,nVerify2; iTabNum=//先從本地文件中讀if(pParaTab==NULL){//讀本地文件失敗后就直接從遠(yuǎn)程設(shè)備pParaTab=PARA_ReadParaTab(&iTabNum,&nVersion1,}{//獲取參數(shù)列表校nVerify1=PARA_GetParaVerify(pParaTab,printf(“nVersion1=%d,nVerify1=%d\n”,nVersion1,//獲取遠(yuǎn)程設(shè)備參數(shù)的版本,校驗(yàn)值及總大小if(err==PARA_NO_ERR){nVersion2,nVerify2,uiParaSize);}-56容進(jìn)行分類轉(zhuǎn)RA_TabToSort(pParaTab,iTabNum,//最后釋放創(chuàng)建}示例voidmain({容進(jìn)行分類轉(zhuǎn)RA_TabToSort(pParaTab,iTabNum,//最后釋放創(chuàng)建}示例voidmain({Tab.Popedom=RW_USER;Tab.PlcAddr=-57函數(shù)功能需通過PARA_ReadValue函數(shù)讀取下位機(jī)的相應(yīng)參數(shù)值。輸入 PARA_TAB類型指針,存放該參數(shù)所有信息 輸出無返回 正注意無函數(shù)INT8U_stdcallPARA_ReadValue(PARA_TAB功能從下位機(jī)讀取該參數(shù)的值輸入無輸出 返回 正注意無strcpy(Tab.pText,“001,X軸指令倍乘比<●>Tab.fLmtVal[0]=1.0;data={strcpy(Tab.pText,“001,X軸指令倍乘比<●>Tab.fLmtVal[0]=1.0;data={}if(PARA_ReadValue(&Tab)!={}printf(“Readvalue:%u,data=%u\n”,*(INT16U*)(Tab.pData),}示例voidmain({-58函數(shù)名功能描從下位機(jī)讀取連續(xù)多個(gè)參數(shù)的值輸入?yún)?PARA_TAB類型指針,多個(gè)參數(shù)指針首地址 輸出參 個(gè)參數(shù)成員值將得到更新。返回 正注意事無Tab.PlcAddr=8000+i;Tab.fLmtVal[0]=1.0;//因?yàn)閿?shù)據(jù)類型都是無Tab.PlcAddr=8000+i;Tab.fLmtVal[0]=1.0;//因?yàn)閿?shù)據(jù)類型都是無符16位整型,所以直接i}if(PARA_ReadMultValue(Tab,8)!={}for(i=0;i<8;{printf(“<%d>Readvalue:%u\n”,i,}}1.4.//訪問命令//無效//讀目//創(chuàng)建//刪除//刪除//文件重//打開并讀//打開并寫//關(guān)閉-59//錯(cuò)誤類型//錯(cuò)誤類型//文件操作無//無效的//文件未//文件未//路徑錯(cuò)//讀目錄列表//創(chuàng)建目錄//刪除目錄//刪除文件//打開文件//關(guān)閉文件//讀數(shù)據(jù)//寫數(shù)據(jù)//讀位置//寫位置//讀無效的//路徑名//空地址//設(shè)備錯(cuò)//通訊超時(shí)//只//只#define#define//目錄內(nèi)包含最大的文件目//最大文件/目錄路徑字節(jié)#define//磁//目//文-602:文檔//文件屬性(0:磁 1:目//文件名(8+3格式//文件大小/磁盤總2:文檔//文件屬性(0:磁 1:目//文件名(8+3格式//文件大小/磁盤總//磁盤剩余字節(jié)}FS_DIRENT;//單元大小24typedefstruct{//目錄列表 pDirent[MAX_LIST];//目錄列表信typedefstruct{filepos;//文件訪問位//文件大//文件讀寫操//文件錯(cuò)誤信1.4.1.FS_SelectComm(-61函數(shù)INT8U_stdcallFS_SelectComm(INT8Uport,INT32SiDevNum,mode,BOOL功能針對文件部分的數(shù)據(jù)訪問,選擇設(shè)置相應(yīng)的通訊連輸入 通訊端口 從機(jī)設(shè)備 針對串口通訊選擇RTUASCII 允許通訊1.4.2.FS_GetCommInfo(1.4.3.FS_FReadDir(示例voidmain({FS_DIR//空路徑表示讀根目錄信息(磁盤信息err1.4.2.FS_GetCommInfo(1.4.3.FS_FReadDir(示例voidmain({FS_DIR//空路徑表示讀根目錄信息(磁盤信息err=FS_FReadDir(“”,if(err!=-62函數(shù)名INT8U_stdcallFS_FReadDir(constINT8S*pDirName,FS_DIR功能描讀遠(yuǎn)程文件系統(tǒng)的目錄信息輸入?yún)?輸出參 存放目錄信息的結(jié)構(gòu)體指返回 正注意事無函數(shù)名INT8U_stdcallFS_GetCommInfo(INT8U*port,INT32S*iDevNum,*mode,BOOL功能描針對文件部分的數(shù)據(jù)訪問,獲取當(dāng)前通訊連接狀輸入?yún)o輸出參 通訊端口 從機(jī)設(shè)備 針對串口通訊選擇RTUASCII 允許通訊返回 正注意事無輸出參無返回 正注意事無錄失敗“C:\\”pDir);//Cif(err!={printf(“讀C盤根目錄信息失敗}err=FS_FReadDir(“D:\\ADT\\”,錄失敗“C:\\”pDir);//Cif(err!={printf(“讀C盤根目錄信息失敗}err=FS_FReadDir(“D:\\ADT\\”, //DADTif(err!={printf(“讀目錄失敗}}FS_FOpen(FS_FRead(-63函數(shù)INT8U_stdcallFS_FRead(FS_FILE*pFile,void*pData,INT32U功能讀遠(yuǎn)程文件內(nèi)輸入 文件結(jié)構(gòu)體指 讀取文件內(nèi)容的字節(jié)長輸出 存放讀取的文件內(nèi)函數(shù)FS_FILE*_stdcallFS_FOpen(constINT8S*pFileName,constchar功能打開遠(yuǎn)程文輸入 要打開的遠(yuǎn)程文件路徑,所有文件名都為絕對路 文件打開模式('r':讀操 'w':寫操作輸出無返回 文件結(jié)構(gòu)體指針,執(zhí)行成功后返回非0注意訪問遠(yuǎn)程文件時(shí),同時(shí)只能打開一個(gè)遠(yuǎn)程文件。該函數(shù)與FS_FClose()函FS_FWrite(FS_FClose(FS_Remove(示例voidmain({-64函數(shù)名INT8U_stdcallFS_Remove(constINT8S功能描刪除文輸入?yún)S_FWrite(FS_FClose(FS_Remove(示例voidmain({-64函數(shù)名INT8U_stdcallFS_Remove(constINT8S功能描刪除文輸入?yún)?刪除文件的路輸出參無返回 正注意事無函數(shù)名INT8U_stdcallFS_FClose(FS_FILE功能描關(guān)閉遠(yuǎn)程文件內(nèi)容,與FS_FOpen對應(yīng)使用輸入?yún)?文件結(jié)構(gòu)體指針輸出參無返回 正注意事無函數(shù)名INT8U_stdcallFS_FWrite(FS_FILE*pFile,constvoid*pData,INT32U功能描寫遠(yuǎn)程文件內(nèi)輸入?yún)?文件結(jié)構(gòu)體指針 存放寫入的文件內(nèi) 寫文件內(nèi)容的字節(jié)長輸出參無返回 正注意事無返回 正注意事無D:\\ADT\\TEST.TXT”, //以只讀方式打開遠(yuǎn)程if(pFile==D:\\ADT\\TEST.TXT”, //以只讀方式打開遠(yuǎn)程if(pFile=={}printf(“Filesize=%d\n”,pFile-//打印打開文件err=FS_FRead(pFile,Buff,100);if(err!={}//從遠(yuǎn)程文件讀100字節(jié)數(shù)//關(guān)閉打開的pFile=FS_FOpen(“D:\\ADT\\ADT.TXT”,“w”); if(pFile==NULL){}if(err!={printf(“寫遠(yuǎn)程文件失敗//向遠(yuǎn)程文件寫100字節(jié)數(shù)//關(guān)閉打開的-65}}1.4.9.FS_FSeek(示例voidmain({//假設(shè)TEST.TXT文件內(nèi)容是:0123456789。}}1.4.9.FS_FSeek(示例voidmain({//假設(shè)TEST.TXT文件內(nèi)容是:0123456789。個(gè)字節(jié)數(shù)//用只讀方式打開一個(gè)遠(yuǎn)程if(pFile==NULL){-66函數(shù)名INT8U_stdcallFS_FTell(FS_FILE*pFile,INT32S功能描獲取當(dāng)前文件操作位置輸入?yún)?文件結(jié)構(gòu)體指針輸出參 存放當(dāng)前文件操作的位置,相對于文件開始位返回 正注意事無函數(shù)名INT8U_stdcallFS_FSeek(FS_FILE*pFile,INT32S功能描定位

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論