2016-07-31 77 views
0

我需要通過使用Python的Modbus控制VSD的速度。 我所有的工作都接受一個部分,那就是發送VSD的速度。Python Minimalmodbus發送值

如果我把這個命令,電機開始

vsd.write_register(8192 , 2 , 0) 

而且這個命令會讓它停止

vsd.write_register(8192 , 6 , 0) 

命令的格式都是這樣

Id code adrsh adrsl high low crc 
01 06 20 00  00  06 02 08 

的VSD文檔顯示命令寄存器和值爲十六進制 但是Python庫需要十進制。所以,如果我發送簡單的命令,所有作品100%。

但是,當我想設置速度,我必須設置高和低值。 如果我發送一個0x2710或10000,vsd發回一個錯誤。如果我使用VSD附帶的工具,並將值100.00(10000)分割爲27和10的2個字節,則所有工作都正常。如何將值發送到VSD,因爲0x2710不起作用。

親切的問候。

回答

0

您必須設置functioncode = 6,然後發送正確的字節。