婷婷网在线I久久精品视频在线I九九综合在线I97麻豆视频I日韩免费视频在线观看I9999在线视频

CS機器人RS485通訊

2024-10-15

1.  控制柜485

艾利特機器人CS系列支持RS485通訊,用戶可以通過將 RS485 設備連接到圖 1-1 中所示的連接器來從控制柜執行串行通信。為了能在控制柜中設置 RS485 連接器,必須拆掉串口連接 器,并將 RS485 線焊接到黑色連接器背面的金屬觸點,如圖 1-2 所示。黑色塑料裝置的正反 面分別標有 PIN“1 3 5”和“2 4 6”。PIN3 應焊接到 RS485B,PIN4 應焊接 到 RS485A。該 接口支持的最大波特率為 500Kbps。

image.png

image.png



2.  工具IO485

艾利特機器人同樣支持末端工具485通訊,當需要使用末端 RS485 接口與執行器通信時, 需要在示教器工具 IO 界面下進行配置,具體配置路 徑為:“工具模擬 IO>工具模式”,選擇 USART 模式,并根據執行器實際參數配置波特率等參數。從在機器人控制器上寫入發送數據到 數據在 RS485 上開始發送,延遲范圍為 2ms 到 4ms。從在 RS485 上開始接收數據到機器人控制器收到數據并開始處理,延遲范圍為 2ms 到 4ms。本篇文章介紹控制柜實現485通訊方式,工具端485查詢腳本手冊。

3.  腳本指令

3.1 控制柜RS-485 配置

serial_config(enable, baud, parity_bit, stop_bit, size, modbus_rtu, port="/dev/ttymxc0")

   功能: 該指令用于打開或關閉機器人控制柜 RS-485 通信功能,并對其進行配置。

   參數: enable:串口通信的使能狀態,boolean 型數據;

              baud:波特率,integer 型數據:2400、4800、9600、19200、38400、57600、115200、230400、 460800、921600、500000;

              parity_bit:串口奇偶校驗,integer 型數據:0(不校驗)、1(奇校驗)、2(偶校校驗);

              stop_bit:串口停止位,integer 型數據:1、2;

              size:串口的位寬。不指定時,使 用默認參數 8,integer 型數據:7 或 8(可選參數)。 若為 MODBUSRTU 模式,則必須為 8;

              modbus_rtu:是否啟用 modbus-rtu 模式,指定為 True 時為 Modbus-rtu 模式,指定為 False 時為 RS485 模式,不指定時使用默認參數 False,boolean 類型數據;

              port : 串口的端口名,目前僅支持 :”/dev/ttymxc0” 。不指定名稱時 , 使用默認名稱 “/dev/ttymxc0”,string 型數據(可選參數)。

  返回值: 如果配置成功,返回 True,如果配置失敗,返回 False,boolean 型數據 。

3.2 寫入控制柜 RS-485 通信數據

serial_write(data, port="/dev/ttymxc0")

   功能: 該指令用于機器人控制柜 RS-485 發送數據。

   參數: data:待發送的數據,string 型數據、integer 型數據、整數 list 型數據、bytes 型數據或 bytearray 型數據,若為 integer 或整數 list 型數據,會寫入一個或多個整數數據,數據值若超過 [0-255] 范圍, 會自動按照內存類型轉換或內存截斷的方式強制轉換至范圍內。

              port:串口的端口名,目前僅支持:”/dev/ttymxc0”。不指定名稱時,使用默認名稱“/dev/ttymxc0”, string(可選參數)。

   返回值: 如果發送成功,返回 True,如果發送失敗,返回 False,boolean 型數據。

3.3 讀取控制柜 RS-485 通信數據

serial_read(len,is_number=True,time_out=0.1,port="/dev/ttymxc0")

   功能: 該指令用于讀取機器人控制柜 RS-485 通信的數據。

   參數: len:要讀取的字節數,注意假設要讀取的字節數為 5,但實際只接收到 2 字節數據,最后讀出的 長度為 2 字節;

               is_number:是否按照整數格式返回字節數據。若不指定,使用默認參數 True,boolean 型數據 (可選參數);

               time_out:超時時間,單位:秒,若小于等于 0,則等待超時時間為無限長,不指定時,使用默 認值 0.1,float 型數據(可選參數);

               port : 串 口 的 端 口 名 ,目前僅支持 :”/dev/ttymxc0” 。 不 指 定 名 稱 時 ,使用默認名 稱 “/dev/ttymxc0”,string 型數據(可選參數)。

   返回值: bytearray 或 list 型數據,若 is_number 參數 True,則返回值為整數類型的 list,若is_number 參數 False,則返回值為 bytes array,若發生超時,則返回所有已經讀取到的數據。

如果僅需要與外部設備485通訊用上述3條腳本指令即可收發,如想同時寫入\讀取多個寄存 器查找腳本手冊“寫入\讀取多個MODBUS寄存器指令”,本文檔舉例和升降柱做485通訊。

image.png

下文為機器人腳本示例:


import struct
global Currentposition
#通訊設置modbus_rtu
def Connection_rtu():#連接機器人與升降柱伺服通訊
while True:
       Open_RS485 = serial_config(True,57600,0,2,8,True)
       mode = serial_mode()
if mode == "MODBUS-RTU":
return "Connection Success"
break
def Fault_reset():#復位伺服故障,絕大多數故障可復位
   serial_write([1,3329,1])
return "Fault reset Success"
return
def Point_speed(speed):#設置點動的速度最小0,最大3000,單位rpm
   serial_write(1, 1540, speed)
return
def Move_position_speed(position,speed):#設置多段移動的位置和速度,位置1MM等于10000個脈沖
#position = position * 10000
   getpos = struct.pack("i",position)
   posset = struct.unpack("2H",getpos)
   serial_modbus_write_registers(1,4364,[posset[0],posset[1]])
   sleep(0.01)
   serial_modbus_write_single_register(1,4366,speed)
return
while True:
       in3 = get_standard_digital_in(3)
if in3 == True :
           Servo_control(17)
           sleep(0.1)
           Servo_control(49)
           sleep(0.5)
           Servo_control(17)
           sleep(0.1)
           Servo_control(49)
break
       sync()
def Upper_limit_stop():#到達上限位置,DI2觸發,停止上升,升降柱處于伺服使能狀態
   sleep(0.01)
   in2 = get_standard_digital_in(2)
if in3 == True:
       Servo_control(1)
def Lower_limit_stop():#到達下限位置,DI3觸發,停止下降,升降柱處于伺服使能狀態
   sleep(0.01)
   in3 = get_standard_digital_in(3)
if in3 == True:
       Servo_control(1)
 
Connection_rtu()
#Fault_reset()
#sleep(0.01)
#Originsetting()
#Currentposition = Current_position()
#sleep(0.01)
#Servo_control(1)
#sleep(0.01)
#Move_position_speed(100000,500)
#sleep(0.01)
#Servo_control(9)
while True:
   Upper_limit_stop()
   Lower_limit_stop()
   Currentposition = Current_position()
 

3.4 與通訊助手測試案例

image.png

舉例機器人發送端,發送整數123,助手端同樣收到123。

注:1.下圖中紅色方框內的顯示編碼格式需設置為十進制,因為機器人發送十進制,若不勾選,則會顯示16進制的123,值為7B。

image.png

十進制"123"

image.png

十六進制“123“

image.png

超過255的數據,顯示選擇Ascll

舉例機器人接收端:

image.png

助手發送需勾選16進制發送

image.png

機器人接收后會轉為10進制

這種方法看起來不夠直觀,因此建議接收時不選用list,選擇bytearray,注意在接收指令的后面加python解碼指令,編譯為utf-8。

image.png

不需要勾選16進制

image.png

這里選擇解碼編譯utf-8,可直接讀到助手發送的值


download-669.svg comicon14.svg

電話咨詢

download-397.svg comicon15.svg

免費試用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

準備好突破增長瓶頸,開啟智能制造了嗎?
了解我們的機器人如何幫助您的業務增長
歡迎下載艾利特機器人資料

我已閱讀并同意艾利特《隱私政策》《法律聲明》

我已知曉并同意艾利特通過電子郵件發送相關資料

提交
主站蜘蛛池模板: 免费精品国产va自在自线 | 超碰在线色| 在线观看aa | 91天堂影院 | 这里只有精彩视频 | 国产视频97| 色天天久久 | 国产精品女同一区二区三区久久夜 | 93久久精品日日躁夜夜躁欧美 | 2020天天干夜夜爽 | 最新99热 | 婷婷六月天综合 | 日日草夜夜操 | 午夜影院一级 | 精品久久久免费视频 | 精品久久久久久亚洲综合网 | 久久国产色| 天天躁天天狠天天透 | 精品国产成人 | 黄色小网站在线观看 | 亚洲激情视频在线 | 亚洲免费国产视频 | 中文字幕在线视频第一页 | 久久久午夜精品福利内容 | 欧美精品在线视频 | 国产精品免费一区二区三区在线观看 | 黄色三级在线 | 亚州性色| 欧美激情视频一区 | 97视频网站 | 欧美日韩高清免费 | 激情婷婷网 | 黄色三级网站 | 99精品国产成人一区二区 | 一区二区三区在线观看免费 | 久久久精品网站 | 日韩在线观看视频网站 | 亚洲美女在线国产 | 九九久久久久久久久激情 | 日本狠狠色 | 在线电影av | 亚洲精品乱码白浆高清久久久久久 | 黄色成人免费电影 | 91超碰在线播放 | 久久综合五月天婷婷伊人 | 日韩欧美视频免费在线观看 | 国产一级一片免费播放放 | 午夜精品久久 | 免费a视频 | 麻豆免费精品视频 | 成人免费在线观看入口 | 亚洲综合成人专区片 | 久草在线最新视频 | 日日日操操 | 国产手机免费视频 | 五月婷婷视频在线 | 久草在线免费资源 | 午夜久操| 伊人久久精品久久亚洲一区 | 欧美乱码精品一区二区 | 午夜资源站 | 国产在线播放一区 | 超碰免费公开 | 国产精品高清在线观看 | 特级毛片在线免费观看 | 国产亚洲综合精品 | 国产人成在线视频 | 国产精品一区二区在线看 | 久久国产精品99久久久久久丝袜 | 日韩网页| 狠狠色狠狠色合久久伊人 | 中文字幕国产一区二区 | 日韩高清观看 | 久久黄色影院 | 国产理论一区二区三区 | 波多野结衣亚洲一区二区 | 深爱五月激情网 | 欧美激情第28页 | 免费看国产曰批40分钟 | 亚洲狠狠操 | av超碰免费在线 | 成人免费在线电影 | 成人一级免费电影 | av亚洲产国偷v产偷v自拍小说 | 亚洲国产免费网站 | 午夜在线观看影院 | 久久久综合 | 草在线| 久久天天躁夜夜躁狠狠85麻豆 | 国产精品99久久久久久人免费 | 欧美一区二视频在线免费观看 | 久久久久久久久久免费 | 久久综合亚洲鲁鲁五月久久 | 国产女人18毛片水真多18精品 | 99re6热在线精品视频 | 国产精品国产自产拍高清av | 人人天天夜夜 | 婷婷爱五月天 | 91完整版在线观看 |