山西在線(xiàn)激光測(cè)距儀DHT-70用于大型工件裝配定位
山西在線(xiàn)激光測(cè)距儀DHT-70用于大型工件裝配定位
五:機(jī)械結(jié)構(gòu)
六:電纜定義(接線(xiàn)說(shuō)明)
注意:電纜線(xiàn)的端頭是裸露的,使用時(shí)千萬(wàn)注意防止短路!
6芯電纜,用于標(biāo)準(zhǔn)版?zhèn)鞲衅鳌F涠x如下:
顏色 功能 顏色 功能
1:紅色 電源正 2:黑色 電源負(fù)
3:黃色 外部觸發(fā) 4:橙/藍(lán)色 RS485-A/RS232-TX
5:綠色 RS485-B/RS232-RX 6:白 信號(hào)地
8芯電纜。用于帶模擬量或開(kāi)關(guān)量輸出其接口定義如下:
顏色 模擬-RS485 模擬-RS232 開(kāi)關(guān)-RS232 開(kāi)關(guān)RS485
紅色 電源正
黑色 電源負(fù)
黃色 外部觸發(fā)
白/青色 信號(hào)地 開(kāi)關(guān)輸出1
綠色 RS485-B RS232-RX RS485-B
橙色 RS485-A RS232-TX RS485-A
藍(lán)色 模擬輸出正 開(kāi)關(guān)輸出2
棕色 空 開(kāi)關(guān)輸出公共端
10芯版,用于完整版輸出傳感器,其接口定義如下:
顏色 全功能-RS485 全功能RS232
紅色 電源正
黑色 電源負(fù)
黃色 外部觸發(fā)
白色 信號(hào)地
綠色 RS485-B RS232-R
橙色 RS485-A RS232-T
藍(lán)色 開(kāi)關(guān)輸出2
棕色 開(kāi)關(guān)輸出公共端
紫色 模擬輸出正
灰色 開(kāi)關(guān)輸出1
七:通訊協(xié)議
本系列傳感器同時(shí)支持兩種通訊協(xié)議。分別為自有協(xié)議和MODBUS協(xié)議。下面為兩種協(xié)議的詳細(xì)說(shuō)明:
7.1自有協(xié)議
7.1.1協(xié)議特點(diǎn)
A:本機(jī)所有命令無(wú)明顯結(jié)束位,以大于5MS的時(shí)間間隔做為本組命令結(jié)束的依據(jù)。
B:本機(jī)所有命令校驗(yàn)碼為前面所有字節(jié)和的補(bǔ)碼(CS)。
C:設(shè)備地址范圍為01H..F9H(1-249),F(xiàn)A(250)為廣播地址。
D:測(cè)量命令不響應(yīng)廣播地址。
7.1.2命令格式
主機(jī)讀取類(lèi)命令:CMD-R 讀取類(lèi)命令的命令碼, 詳情見(jiàn)表CMD-R
說(shuō)明 地址 功能碼 命令碼 校驗(yàn)
長(zhǎng)度 1Byte 1Byte 1Byte 1BYte
示例 ADDR 06H CMD-R CS
讀取類(lèi)命令設(shè)備返回:
說(shuō)明 地址 功能碼 命令碼 數(shù)據(jù)內(nèi)容 校驗(yàn)
長(zhǎng)度 1Byte 1Byte 1Byte N字節(jié) 1BYte
示例 ADDR 06H CMD-R | 80H DAT1...DATN CS
主機(jī)設(shè)置類(lèi)命令:CMD-W 設(shè)置類(lèi)命令的命令碼,詳情見(jiàn)表CMD-W
說(shuō)明 地址 功能碼 命令碼 數(shù)據(jù)內(nèi)容 校驗(yàn)
長(zhǎng)度 1Byte 1Byte 1Byte nBytes 1BYte
示例 ADDR 04H CMD-W Dat1....dat2 CS
設(shè)置類(lèi)命令設(shè)備返回:成功
說(shuō)明 地址 功能碼 校驗(yàn)
長(zhǎng)度 1Byte 1Byte 1BYte
示例 ADDR 04H CS
設(shè)置類(lèi)命令設(shè)備返回:失敗
說(shuō)明 地址 功能碼 錯(cuò)誤碼 校驗(yàn)
長(zhǎng)度 1Byte 1Byte 1Byte 1BYte
示例 ADDR 84H ErrCode CS
CMD-R及數(shù)據(jù)內(nèi)容說(shuō)明
CMD-R 說(shuō)明 傳感器返回?cái)?shù)據(jù)內(nèi)容
01H 讀取基本參數(shù) ADDR,MEAL(4Bytes),MEAH(4Bytes),AoutConfig(2Bytes),MeaInterval(4Bytes),MeaOffer(2Bytes).
02H 啟動(dòng)單次測(cè)量 3XH, 3XH, 3XH, 2EH, 3XH, 3XH, 3XH (ASCII,)單次測(cè)量響應(yīng)廣播地址(注1),連續(xù)測(cè)量不響應(yīng)廣播地址
03H 啟動(dòng)連續(xù)測(cè)量
04H 讀測(cè)量值緩存 直接讀取測(cè)量值緩存,不對(duì)傳感器做任何其他操作。
05H 啟動(dòng)無(wú)返回?cái)?shù)據(jù)連續(xù)測(cè)量 此命令啟動(dòng)連續(xù)測(cè)量,但不返回?cái)?shù)據(jù),與04H命令配合使用
06H 讀取時(shí)間 YY,MM,DD,HH,mm,SS 格式為BCD碼 (定制功能)
07H 讀取內(nèi)存數(shù)據(jù)量 NumH,NumL,大1280條(定制功能)
08H NumH,NumL發(fā)送內(nèi)容 讀取數(shù)據(jù) 讀取內(nèi)存中第Num條數(shù)據(jù),返回格式 NumH,NumL,YY,MM,DD,HH,mm,SS,DATH,DATL(定制功能)
09H 預(yù)留
0AH 預(yù)留
0BH 預(yù)留
0CH 讀取開(kāi)關(guān)量相關(guān)參數(shù) SwitchConfig(2Bytes), Sw1L(4Bytes), Sw1H(4Bytes), Sw2L(4Bytes),, Sw2H(4Bytes)
0DH 讀取其他設(shè)置 OtherConfig(2Bytes)
0EH 讀取型號(hào)、序列號(hào)等 Dat1 Dat2 ….. Dat20(ASCII)
0FH 讀取設(shè)備名稱(chēng),特殊信息 Dat1 Dat2 ….. Dat28(ASCII)
10H 預(yù)留
注1:用廣播地址啟動(dòng)單次測(cè)量,傳感器啟動(dòng)測(cè)量,但不返回?cái)?shù)據(jù)。在下次用設(shè)備地址啟動(dòng)單次測(cè)量時(shí),傳感器不再啟動(dòng)測(cè)量,而是快速返回上次的測(cè)量數(shù)據(jù)。本命令主用于單總線(xiàn)多機(jī)時(shí),提高測(cè)量效率。
CMD_W及數(shù)據(jù)內(nèi)容說(shuō)明
CMD-W 說(shuō)明 寫(xiě)入的數(shù)據(jù)內(nèi)容
01H 設(shè)置地址 NewAddr (傳感器新地址)
02H 停止測(cè)量 無(wú)參數(shù)
03H 預(yù)留 預(yù)留
04H 模擬輸出狀態(tài) AouConfig(2Bytes)
05H 連續(xù)工作數(shù)據(jù)時(shí)間間隔(ms) MeaInterval(4Bytes)
06H 設(shè)置模擬量程 MEAL(4Bytes),MEAH(4Bytes)
07H 距離修正值 MeaOffer(2Bytes)
08H 預(yù)留 預(yù)留
09H 開(kāi)關(guān)輸出狀態(tài) SwitchConfig(2Bytes)
0AH 設(shè)置觸發(fā)點(diǎn) SwNum, SwnL(4Bytes), SwnH(4Bytes) (SwNum取值1-2,為要設(shè)置的觸發(fā)點(diǎn)編號(hào),后面為具體數(shù)值)
0BH 預(yù)留
0CH 其他設(shè)置 OtherConfig(2Bytes)
0DH 定次數(shù)測(cè)量 MeaNum(2Bytes)此命令啟動(dòng)連續(xù)測(cè)量,在連續(xù)返回MeaNum次數(shù)據(jù)后,自動(dòng)關(guān)機(jī)
0EH 設(shè)置時(shí)間 YY,MM,DD,HH,mm,SS 格式為BCD碼 (定制功能)
0FH 清空內(nèi)存數(shù)據(jù) 定制功能
.. 預(yù)留
7FH 恢復(fù)出廠(chǎng)值 無(wú)參數(shù)
參數(shù)說(shuō)明:
參數(shù) 描述 初值 詳解
Addr 設(shè)備地址 80H 1Bytes,取值范圍為01H...F9H。FAH為廣播地址
MEAL 模擬量程下限 0000H 4Bytes,單位mm。此變量只與模擬輸出有關(guān)
MEAH 模擬量程上限 大量程50% 4Bytes,單位mm。此變量只與模擬輸出有關(guān)
AouConfig 模擬輸出狀態(tài)設(shè)置 4305H 2Byte詳情見(jiàn)附表。
MeaInterval 數(shù)據(jù)返回時(shí)間間隔 0064H 2Byte,連續(xù)工作時(shí),數(shù)據(jù)返回時(shí)的時(shí)間間隔。單位毫秒。
MeaOffer 測(cè)量修正值 0000H 2Bytes, 測(cè)量修正值。高位為符號(hào)位0正1負(fù)。單位mm。取值范圍-32000mm...+32000mm
SwitchConfig 開(kāi)關(guān)輸出狀態(tài)設(shè)置 0004H 2Bytes,詳情見(jiàn)附表。
SwnL 開(kāi)關(guān)點(diǎn) 0000H 4Bytes, 第n路開(kāi)關(guān)點(diǎn)下限對(duì)應(yīng)值,單位mm
SwnH 開(kāi)關(guān)點(diǎn) 0000H 4Bytes, 第n路開(kāi)關(guān)點(diǎn)上限對(duì)應(yīng)值,單位mm
MeaNum 連續(xù)工作測(cè)量次數(shù) 0000H 2Bytes, 傳感器在啟動(dòng)連續(xù)測(cè)量后,連續(xù)進(jìn)行MeaNum次測(cè)量后,則停止連續(xù)測(cè)量。為0時(shí)則一直測(cè)量。對(duì)于外部觸發(fā)啟動(dòng)工作此值無(wú)效
OtherConfig 其他設(shè)置 0001H 詳見(jiàn)附表
自有協(xié)議命令示例(傳感器默認(rèn)地址80H):
啟動(dòng)單次測(cè)量:
說(shuō)明 地址 功能碼 命令碼 校驗(yàn)
長(zhǎng)度 1Byte 1Byte 1Byte 1BYte
示例 80H 06H 02H 78H
設(shè)備返回
說(shuō)明 地址 功能碼 命令碼 內(nèi)容 校驗(yàn)
長(zhǎng)度 1Byte 1Byte 1Byte 7Bytes 1BYte
示例 80H 06H 82H 30H,31H,32H,2EH,34H,35H,36H 98H
含意 當(dāng)前測(cè)到的距離是012.456米
設(shè)置傳感器地址: 將傳感器地址設(shè)置成01H
說(shuō)明 地址 功能碼 命令碼 數(shù)據(jù)內(nèi)容 校驗(yàn)
長(zhǎng)度 1Byte 1Byte 1Byte 1Byte 1BYte
示例 80H 04H 01H 01H 78H
設(shè)置成功:
說(shuō)明 地址 功能碼 校驗(yàn)
長(zhǎng)度 1Byte 1Byte 1BYte
示例 80H 04H 7CH
設(shè)置失敗:
說(shuō)明 地址 功能碼 錯(cuò)誤碼 校驗(yàn)
長(zhǎng)度 1Byte 1Byte 1Byte 1BYte
示例 80H 84H 01H FBH
7.2 MODBUS協(xié)議
7.2.1協(xié)議特點(diǎn)
l 所有的寄存器為16位。
l 設(shè)備地址碼范圍為1-249。250(FAH)為廣播地址。
l 標(biāo)準(zhǔn)協(xié)議,方便用PLC,組態(tài)軟件等進(jìn)行二次應(yīng)用開(kāi)發(fā)。
l 每次讀取參數(shù)多為32字節(jié),即16個(gè)寄存器
7.2.2命令格式
主機(jī)讀取類(lèi)命令
說(shuō)明 地址 功能碼 起始地址 寄存器數(shù)量 CRC16
長(zhǎng)度 1Byte 1Byte 2Byte 2Byte 2BYte
示例 01H 03H 0001H 0003H 95CBH
此示例為在地址為01H的設(shè)備第0001H地址開(kāi)始,讀取0003H個(gè)寄存器內(nèi)容
讀取類(lèi)命令設(shè)備返回:正常
說(shuō)明 地址 功能碼 返回字節(jié)數(shù) 數(shù)據(jù)內(nèi)容 CRC16
長(zhǎng)度 1Byte 1Byte 1Byte N Byte 2BYte
示例 01H 03H 06H DAT1,..DAT6 CRCH,CRCL
設(shè)備返回內(nèi)容共計(jì)3個(gè)寄存器6個(gè)字節(jié)
讀取類(lèi)命令設(shè)備返回:異常
說(shuō)明 地址 功能碼 返回字節(jié)數(shù) 錯(cuò)誤代碼 CRC16
長(zhǎng)度 1Byte 1Byte 1Byte 1 Byte 2BYte
示例 01H 03H 81H ErrCode CRCH,CRCL
設(shè)備返回異常數(shù)據(jù)時(shí),返回?cái)?shù)據(jù)字節(jié)數(shù)始終為81H,高位為1代表錯(cuò)誤,其他為數(shù)量,81H的含意為:返回錯(cuò)誤,錯(cuò)誤代碼有一個(gè)字節(jié)。錯(cuò)誤來(lái)源為ErrCode
ErrCode 01: 起始位置不存在 02:所訪(fǎng)問(wèn)的寄存器有一部分不存在03:讀取的寄存器總長(zhǎng)度超限(即超過(guò)16個(gè)寄存器)。04:其他錯(cuò)誤。8FH:無(wú)效命令。
主機(jī)設(shè)置類(lèi)命令(06H) 操作寄存器數(shù)量=1
說(shuō)明 地址 功能碼 操作地址 數(shù)據(jù)內(nèi)容 CRC16
長(zhǎng)度 1Byte 1Byte 2Byte N Byte 2BYte
示例 01H 06H 0001H 12H,34H D57DH
向地址為01H的設(shè)備寫(xiě)入數(shù)據(jù),向0001H寄存器,寫(xiě)入1234H。
主機(jī)設(shè)置類(lèi)命令(10H) 操作寄存器數(shù)量>= 1, <= 16。可代替06命令字
說(shuō)明 地址 功能碼 起始地址 寄存器數(shù)量 數(shù)據(jù)內(nèi)容 CRC16
長(zhǎng)度 1Byte 1Byte 2Byte 2 Byte N Byte 2BYte
示例 01H 10H 0001H 0002H 12H,34H,56H,78H FE36H
向地址為01H的設(shè)備寫(xiě)入數(shù)據(jù),從0001H寄存器,連續(xù)寫(xiě)入兩個(gè)寄存器內(nèi)容,內(nèi)容依次為1234H,5678H。
設(shè)置類(lèi)命令設(shè)備返回:正常 (06H)
說(shuō)明 設(shè)備地址 功能碼 操作地址 CRC16
長(zhǎng)度 1Byte 1Byte 2Byte 2BYte
示例 01H 06H 0001H 2019H
設(shè)備返回?cái)?shù)據(jù)正常.
設(shè)置類(lèi)命令設(shè)備返回:正常 (10H)
說(shuō)明 設(shè)備地址 功能碼 起始地址 寄存器數(shù)量 CRC16
長(zhǎng)度 1Byte 1Byte 2Byte 2 Byte 2BYte
示例 01H 10H 0001H 0002H 1008H
設(shè)備返回?cái)?shù)據(jù)正常.
設(shè)置類(lèi)命令設(shè)備返回:異常(06H)
說(shuō)明 地址 功能碼 起始地址 錯(cuò)誤代碼 CRC16
長(zhǎng)度 1Byte 1Byte 2Byte 2Byte 1Byte 2BYte
示例 01H 06H 0001H 8001H ErrCode CRCH,CRCL
設(shè)備返回?cái)?shù)據(jù)異常,此時(shí)寄存器數(shù)量高位置1,代表此次操作失敗,錯(cuò)誤來(lái)源為ErrCode
ErrCode 01:起始地址不存在。 02:所操作的寄存器有一部分不存在。03:操作的寄存器總長(zhǎng)度超限(超過(guò)16個(gè)寄存器)。04:寫(xiě)入失敗。05:寫(xiě)入?yún)?shù)有誤。06:其他錯(cuò)誤。8FH:無(wú)效命令。
設(shè)置類(lèi)命令設(shè)備返回:異常(10H)
說(shuō)明 地址 功能碼 起始地址 寄存器數(shù)量 錯(cuò)誤代碼 CRC16
長(zhǎng)度 1Byte 1Byte 2Byte 2 Byte 1Byte 2BYte
示例 01H 10H 0001H 8002H ErrCode CRCH,CRCL
設(shè)備返回?cái)?shù)據(jù)異常,此時(shí)寄存器數(shù)量高位置1,代表此次操作失敗,錯(cuò)誤來(lái)源為ErrCode
ErrCode 01:起始地址不存在。 02:所操作的寄存器有一部分不存在。03:操作的寄存器總長(zhǎng)度超限(超過(guò)16個(gè)寄存器)。04:寫(xiě)入失敗。05:寫(xiě)入?yún)?shù)有誤。06:其他錯(cuò)誤。8FH:無(wú)效命令。