2017-07-18 3 views
1

私はかなり新しいpythonとurxです。私はダウンロードしてインストールされたurxでpython 3.6を使って汎用ロボットur-5を制御しようとしています。私が使用しているコードは以下の通りです。Python urx 0.10.0が返されないget_digital_in(0、 'nb')

通信が確立されると、ロボットは4つの移動を行い、デジタル出力ゼロをTrueに設定します。私はエラーを得ることはありませんが、私はget_digital_inの戻り値(0、「NB」)

#robot_test1 

import urx 
from urx import urrobot 

try: 
    rob = urx.Robot("192.168.120.30") 
    print("Connection Opened") 
    rob.is_running() 
    print("Robot is running") 
    rob.is_program_running() 
    print("Program Running") 

    x = rob.get_digital_in(0,'nb') 

    print(x)  
    print("digital Input is: "+str(x)) 
    rob.set_digital_out(0,True) 

    print() 

    print("Current tool pose is: ", rob.getl) 

    rob.movej((0.5,0,0,0,0,0),1,1, relative = True) 
    print("Move tool pose is: ", rob.getl) 

    rob.movej((-0.5,0,0,0,0,0),1,1,relative = True) 

    rob.up(0.1,1,1) 
    rob.down(0.1,1,1) 

except: 
    print("Unexpected Error") 

finally: 
    rob.close() 
    print("Closing Connection") 

答えて

0

あなたがロボットにコマンドを送信するが、コマンドを介してロボットからデータを読み取ることは困難であることができますを見つけることができません。代わりに、ポートが開くと、ロボットは1044バイトのパケットを送信します。このパケットは、このページのExcelファイルに表示されますhere。受け取ったデータはMatlabのデータです。直接読み取ることはできませんので、conversionメソッドを見てください。 8バイト目の86番目のパケットは、デジタル入力の状態を示します(ソフトウェアv3.0およびv3.1の場合)。お役に立てれば。

関連する問題