国产h视频在线观看,性欧美videofree高清极品,欧美xxxxx高潮喷水,好男人在线视频观看高清视频 ,亚洲中文字幕无码一区在线,女做爰猛烈叫床99视频,夜夜躁日日躁狠狠久久av,欧美伊人久久大香线蕉综合
專業的微特電機產品發布平臺
用戶名: 密碼: 注冊
設為首頁 加入收藏 聯系我們
免費注冊 企業免費建站
新技術論壇 會員產品發布
TB6600QQ群:70241714   步進電機論文   六軸工業機器人解決方案  
步進電機     驅動器     控制器     馬達IC     伺服電機     無刷直流電動機     微特電機文獻     工控器件     運動控制新產品     六軸工業機器人    
 當前位置:首頁--無刷直流電機型號大全--
Modbus 控制方式(ZHM)
2017年9月4日

Modbus 控制方式

1.寄存器說明

    驅動器可以通過 modbus(RTU 模式)來控制驅動器。主機可以

通過 modbus 的讀寫寄存器功能來設置驅動器參數和控制運行。驅

動器支持的功能碼為0x3(讀寄存器)、0x6(寫寄存器)、0x78(寫

目標位置)、0x7a(修改設備地址)。

寄存器列表如下:

blob.png

blob.png

2.Modbus 通信格式

a.modbus 主機讀取數據及從機應答格式 (功能碼 03)

blob.png

串口接收到的數據都是無符號數,如果寄存器是有符號數,

發送的則是二進制補碼的格式,轉換成有符號數的算法如下(VB

代碼):

    If modbus.data(11) > 32767 Then

    disp_modbus_data.PU = (modbus.data(11) - 32768) * 65536

+ modbus.data(10)

    disp_modbus_data.PU = -((&H7FFFFFFF - disp_modbus_data.

PU) + 1)

    Else

    disp_modbus_data.PU = dmodbus.data(11) * 65536 + modbus.

data(10)

    End If

    注 : modbus.data(11) 為目標位置高 16 位 modbus.data(10)

為目標位置低 16 位

   b.modbus 主機寫數據及從機應答格式 ( 功能碼 06)

blob.png

    c.modbus 主機寫脈沖數 (功能碼 0x10)

blob.png

    脈沖數是有符號數,一個負數 ( 假設此數為 X) 轉換成 32 位

16 進制數的算法如下 (vb 代碼 ):

    If X < 0 Then

        X = &H7FFFFFFF + (X + 1)

        PU24_31 = Fix(X / (256 * 65536)) + &H80

Else

        PU24_31 = Fix(X / (256 * 65536))

End If

   PU16_23 = Fix(X / 65536) mod 256

    PU8_15 = Fix(X / 256) mod 256

    PU0_7 = X mod 256

    注:fix() 為取整函數

blob.png

    d.modbus 主機寫脈沖數 (特殊功能碼 0x78)

blob.png

3.CRC 校驗示例代碼

unsigned short CRC16(puchMsg, usDataLen)

unsigned char *puchMsg ; /* 要進行 CRC 校驗的消息 */

unsigned short usDataLen ; /* 消息中字節數 */

{

unsigned char uchCRCHi = 0xFF ; /* 高 CRC 字節初始化 */

unsigned char uchCRCLo = 0xFF ; /* 低 CRC 字節初始化 */

unsigned uIndex ; /* CRC 循環中的索引 */

while (usDataLen--) /* 傳輸消息緩沖區 */

{

uIndex = uchCRCHi ^ *puchMsgg++ ; /* 計算 CRC */

uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex} ;

uchCRCLo = auchCRCLo[uIndex] ;

}

return (uchCRCHi << 8 | uchCRCLo) ;

}

    /* CRC 高位字節值表 */

    static unsigned char auchCRCHi[] = {

    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00,

0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,

0x40, 0x01, 0xC0,

    0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,

0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,

0xC0, 0x80, 0x41,

    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00,

0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80,

0x41, 0x01, 0xC0,

    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80,

0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00,

0xC1, 0x81, 0x40,

    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00,

0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,

0x40, 0x01, 0xC0,

    0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,

0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01,

0xC0, 0x80, 0x41,

    0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00,

0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,

0x40, 0x01, 0xC0,

    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80,

0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,

0xC0, 0x80, 0x41,

    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00,

0xC1, 0x81, 0x40

    } ;

    /* CRC 低位字節值表 */

    static char auchCRCLo[] = {

0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5,

0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9,

0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F,

0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13,

0xD3, 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6,

0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA,

0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA,

0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6,

0x26, 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3,

0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF,

0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79,

0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75,

0xB5, 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90,

0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C,

0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98,

0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C,

0x8C, 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81,

0x80, 0x40 }

4.modbus 方式主機控制過程

a:位置模式

(1)寫 設備 1(功能碼 0x06 地址 0 Modbus 使能) 1

(2)讀 設備 1(功能碼 0x03 地址 16 報警代碼) (讀

到 0 時為運行正常)

(3)寫 設備 1(功能碼 0x06 地址 3 電機目標速度)2000

(4)寫 設備 1(功能碼 0x78 電機目標位置)1000

(5)讀 設備 1(功能碼 0x03 地址 10 目標位置低 16 位)

(6)讀 設備 1(功能碼 0x03 地址 11 目標位置高 16 位)

以上兩個寄存器都為 0 時代表已經到了目標位置

(7)重復(4)(5)(6)過程,控制電機位置。

注:電機的目標速度為電機運行的****速度,如果目標位置

較小,電機可能達不到****速度即停止。加速過程寫入的電機目標

位置是在原剩余的位置上加上新的數值。例如,第一次寫入 1024

代表運行一圈,運行到還剩 256,代表還有 1/4 圈要運行,但此時

又寫入一個 1024,此時電機的目標位置變成 1024+256 而不是 1024

替代 256。這樣不會因為還沒到位又寫入一個數值而導致出現錯誤。

也可以自己定義誤差范圍,例如到了>-2且<2,就立刻寫入新的數,

這樣在有些定位精度要求低的場合提高定位的速度。

b:速度模式

(1)寫 設備 1(功能碼 0x06 地址 0 Modbus 使能) 1

(2)讀 設備 1(功能碼 0x03 地址 14 報警代碼) (讀到

0 時為運行正常)

(3)寫 設備 1(功能碼 0x06 地址 3 電機加速度) 6000

(4)寫 設備 1(功能碼 0x06 地址 2 電機目標速度) 2000

(5)重復(4)過程,控制電機轉速。

5. modbus 方式主機控制多個從機

a:位置模式 控制多個從機不同時開始運動

(1)寫 設備 1(功能碼 0x06 地址 0 Modbus 使能) 1

(2)讀 設備 1(功能碼 0x03 地址 14 報警代碼) (讀到

0 時為運行正常)

(3)寫 設備 2(功能碼 0x06 地址 0 Modbus 使能) 1

(4)讀 設備 2(功能碼 0x03 地址 14 報警代碼) (讀

到 0 時為運行正常)

(5)寫 設備 1(功能碼 0x06 地址 3 電機目標速度) 2000

(6)寫 設備 1(功能碼 0x78 電機目標位置) 1000

(7)讀 設備 1(功能碼 0x03 地址 12 目標位置低 16 位)

8)讀 設備 1(功能碼 0x03 地址 13 目標位置高 16 位)

以上兩個寄存器都為 0 時代表已經到了目標位置

(9)寫 設備 2(功能碼 0x06 地址 3 電機目標速度 2000

(10)寫 設備 2(功能碼 0x78 電機目標位置) 1000

(11)讀 設備2(功能碼0x03 地址12 目標位置低16位)

(12)讀 設備2(功能碼0x03 地址13 目標位置高16位)

以上兩個寄存器都為 0 時代表已經到了目標位置

(13)重復(5)~(12)過程,控制電機位置。

注:驅動器的地址需要先設置,可以通過提供的上位機設置

驅動器地址。由于以上方式在寫了目標位置后驅動器會立刻控制電

機運動,而寫入地址 2 的控制數據需要一定時間,所以地址 1 和地

址 2 的電機不會同時運動。如果下一次的運行速度不變,可以不必

多次寫入電機目標速度。

b:位置模式 控制多個從機同時開始運動

(1)寫 設備 1(功能碼 0x06 地址 0 Modbus 使能) 1

(2)讀 設備1(功能碼0x03 地址14 報警代碼) (讀

到 0 時為運行正常)

(3)寫 設備 2(功能碼 0x06 地址 0 Modbus 使能) 1

(4)讀 設備 2(功能碼 0x03 地址 14 報警代碼) (讀

到 0 時為運行正常)

(5)寫 設備 1(功能碼 0x06 地址 2 電機目標速度) 2000

(6)寫 設備 1(功能碼 0x06 地址 3 目標位置緩存) 1000

(7)寫 設備 2 (功能碼 0x06 地址 2 電機目標速度)2000

(8)寫 設備 2 (功能碼 0x06 地址 3 目標位置緩存) 1000

(9)寫 設備 0(廣播)(功能碼 0x06 地址 1 使能) 1

(10)讀 設備 1(功能碼 0x03 地址 12 目標位置低 16 位)

(11)讀 設備 1(功能碼 0x03 地址 13 目標位置高 16 位)

以上兩個寄存器都為 0 時代表已經到了目標位置

(12)讀 設備 2(功能碼 0x03 地址 12 目標位置低 16 位)

(23)讀 設備 2(功能碼 0x03 地址 13 目標位置高 16 位)

以上兩個寄存器都為 0 時代表已經到了目標位置

(13)重復(5)~(13)過程,控制電機位置。

上位機軟件使用說明

本驅動器提供一個上位機軟件,用于監測和測試驅動器。可

以通過軟件查看和設置驅動器內部參數。

blob.png

如上圖所示,軟件分為波形顯示,電機運行參數等幾個部分。

下面介紹一下各個部分的功能和作用。

波形顯示:一共有 4 個通道,分別用 4 種顏色表示。顏色和

電機運行參數 內的字體顏、色相同。即:藍表示電流,綠表示輸

出的脈寬,紅表示當前轉速,黑表示電壓。

電機運行參數:表示電機運行的實時數據。

驅動器設置參數:顯示驅動器的撥碼開關,和方向使能設置。

如果是 modbus 模式,此欄無效。

驅動器運行狀態:此欄會顯示驅動器的報警狀態,如果沒有

報警會顯示運行正常。

Modbus 控制參數:此欄內的參數是驅動器內部的參數,如果

要修改這些參數,必須先對 modbus 使能寫 1。具體的參數含義參考

寄存器說明。

Modbus 讀取:此欄可設定驅動器的地址,讀取驅動器數據的

周期,和是否讀取。

Modbus發送:此欄用于修改驅動器參數,首先選定參數類型,

再設定好參數數據,然后點發送即可。

上位機測試如何開始

1. 連接需要的信號

1. 插上電機動力線和編碼器線

2. 驅動器上+VDC 和 GND接上電源,電源根據電機的額定電壓來,

電機額定電壓 36V 就接 36V.

3 插入附帶的 USB 轉 485 線在電腦的 485 接口上,另外一端插驅動

器上

2. 安裝驅動和上位機軟件

1. 安裝 USB 線驅動程序,在光盤中,blob.png 。安裝好后,插入

附帶的 USB 轉 485 線在電腦的 485 接口上,另外一端插驅動器上,

然后在電腦中的設備管理器中查看分配的 COM 口號。如下圖所示為

COM2

blob.png

2. 安裝電腦上位機軟件,blob.png

安裝好后打開。在驅動

器運行狀態中選擇剛剛在設備管理器中看到的 COM 口號,這個是

COM2。正常的話可以讀到數據。如下圖所示:

blob.png

3. 試運行

重新上電,然后在上位機中如操作

選擇 modbus 使能 參數數據輸入 1 點發送

選擇 PU 步數 參數數據輸入 4000 點發送

(1000 線編碼器,經過內部倍頻后有 4000 脈沖一圈)上面發送

4000 電機會轉一圈,發送 -4000 發轉一圈。 這個是試運行,具體

需要什么控制方式,可以查看說明書。

 常見問題處理

1. 如果脈沖控制端口 DIR 導通方向和我所需要的方向不同怎

么改?

答:可以通過上位機來設置 DIR 的極性,接上上位機后,

modbus 使能寫 1 , DIR 極性 寫 0. 最后參數保存標志寫 1. 重新

上電即可。

2. 上電驅動器不報警,給運行脈沖后驅動器報警,怎么回事?

答:檢查接插件是否松動,電機 UVW 和編碼器線任何一根斷

或順序交換都會無法正常運行。

3. 怎么通過上位機控制運行

答:連接好電機,驅動器上電,通過提供的 USB 線連接驅動

器和電腦,根據“上位機使用說明”設置好,使得上位機能讀取到

數據后。 Modbus 使能 發送 1。然后 PU 步數 發送需要走的距離。


設為首頁   |   加入收藏   |   聯系我們   |   站長留言   |   廣告服務   |   友情鏈接   |   免費展示
網站實名:步進電機網 步進電機驅動器網 微特電機網 網站地圖 新聞中心
版權所有:北京時代四維科技有限公司
© Copyright By www.taisu.net.cn
京ICP備11042559號-1

 

主站蜘蛛池模板: 欧美日韩国产精品自在自线| 好爽轻点太大了太深了| 欧洲男同gay| 八戒八戒免费视频| 吃奶还摸下面动态图gif| 暗交小拗女一区二区三区| 人妻在卧室被老板疯狂进入| 欧美成人aaa片一区国产精品| 男人边吃奶边做呻吟免费视频| 色噜噜狠狠色综合av| 同性男男黄gay片免费| 我把护士日出水了视频90分钟| 亚洲色欲色欲综合网站| 国语对白做受xxxxx在线 | 啦啦啦免费视频在线观看| 好大好深好猛好爽视频免费| 漂亮的人妻少妇| 麻豆精品传媒一二三区| 国产亚洲av人片在线观看| 无码精品视频一区二区三区| 国精产品999国精产| 天天看片视频免费观看| 无码人妻一区二区三区免费| 日本aaaaa片特黄aaaa| 无码人妻aⅴ一区二区三区有奶水| 无码人妻aⅴ一区二区三区有奶水| 国产精品午夜福利在线观看| 成人做爰高潮尖叫声免费观看| 欧美精品videofree| jizz中国jizz免费| 亚洲欧美成人久久综合中文网 | 娇妻粗大高潮白浆| 99riav国产精品视频| 年轻女教师免费观看| 精品国精品国产自在久国产| jizz国产精品| 玩弄丰满少妇人妻视频| freefr性中国少妇性hd| 老子影院午夜精品无码| 丰满熟女人妻大乳| 色翁荡息又大又硬又粗又视频图片 |