CS机器人modbusRtu通讯
1.简介
本片文档适用🧒于🔋CS系列使【xì liè shǐ】用🧒modbus_rtu通讯【tōng xùn】✨,本篇以机器人与电脑【yǔ diàn nǎo】🏍端通讯【tōng xùn】✨助手建【zhù shǒu jiàn】立配置连接及【lián jiē jí】读取和发送数据示列👸。目前CS系列支【xì liè zhī】持modbus_rtu做主站🥖。
2.modbus_rtu接线说明
控制柜modbus_rtu硬件接线说明【xiàn shuō míng】🛹,使用 RS-485 串行通🕑信接口【xìn jiē kǒu】。
串口连🤬接器引脚图如【jiǎo tú rú】下所示【xià suǒ shì】🐓:Pin3:RS485-,Pin4:RS485+

通过485 转 USB通讯线【tōng xùn xiàn】🎨用于电脑端与机器人模拟通✨讯,实际接【shí jì jiē】线可直【xiàn kě zhí】🧞接接入设备【shè bèi】👚 RS-485 正负端。

3.脚本解析
3.1 控制柜modbus_rtu通讯配🔵置【zhì】
serial_config(True, 115200, 0, 1, 8, True)
功能【gōng néng】🌒: 该指令用于打开或关🖐闭机器人控制柜 RS-485 通信功能【gōng néng】🌒,并对其【bìng duì qí】🔐进行配【jìn háng pèi】🚲置【zhì】。
注意内参
True:打开串口通讯
115200:波特率
0:串口奇偶校验为不校验
1:串口停止位
8:串口的👟位宽 ,modbus_rtu则必须【zé bì xū】为【wéi】🍜8
True 时为【shí wéi】🕶 Modbus-rtu 模式【mó shì】, 指定为🏮 False 时为【shí wéi】🕶 RS485 模式【mó shì】,不指定时使用【shí shǐ yòng】默认🐩 参数 False,
返回值🛅: 如果配【rú guǒ pèi】💠置成功【zhì chéng gōng】,返回🎑 True,如果配【rú guǒ pèi】💠置失败【zhì shī bài】,返回🎑 False,
serial_mode() 该指令用于查【yòng yú chá】询机器🤳人控制柜 RS-485 处于何种模式【zhǒng mó shì】👧下➰。 返回值【fǎn huí zhí】: “MODBUS-RTU”或【huò】✌“RS485”,若二者【ruò èr zhě】均未使🧔能,则为“CLOSE”。
serial_modbus_read_registers(1,5,2,0)指令【zhǐ lìng】🔀,该指令【zhǐ lìng】🔀用于读🔎取机器人控制柜【guì】👓modbus_rtu通信的数据【shù jù】。
注意内参
1:从站地址
5:寄存器地址
1:待读取数据长度
0:超时时间,小于等于1等待时间无限长
返回值:[0,0]
serial_modbus_write_registers(1,1,[18])指令【zhǐ lìng】,该指令【gāi zhǐ lìng】🏔用于发送机器⛔人控制【rén kòng zhì】柜🈶modbus_rtu通信的数据。
注意内参
1:从站地址
1:寄存器地址
18:写入的数据
返回值【fǎn huí zhí】:1 成功写🕔入寄存📪器的数🛌量【liàng】,小于等于0视为写【shì wéi xiě】入失败。
更多脚本指令【běn zhǐ lìng】🌏及内填⛵写参数【xiě cān shù】可参考 CS 脚本手🌂册【cè】。
4.建立连接
打开串🍊口调试🏦助手【zhù shǒu】Modbus slave,连接参【lián jiē cān】数需要设置 com 号、选择与【xuǎn zé yǔ】机器人设置对【shè zhì duì】应的波【yīng de bō】特率、数据位长度📉、校验方🍟式和停🐊止位长度📉,填写完成后确【chéng hòu què】认打开【rèn dǎ kāi】🤤串口建⛰立连接。

无【wú】 NO connection为连接成功💑。

写入控制柜modbus_rtu通信配【tōng xìn pèi】🚻置及查【zhì jí chá】👔询模式脚本运【jiǎo běn yùn】行🌬

在监控里查看返回【fǎn huí】🕺值【zhí】,ret 返回【fǎn huí】🕺值【zhí】是 true 为配置【wéi pèi zhì】🙋成功【chéng gōng】,如果配置失败🎄,返回【fǎn huí】🕺 False,mode为modbus rtu模式🐢。

5. 数据发送和读取

运行脚本后可【běn hòu kě】🌖在调试【zài diào shì】助手端♎接收到【jiē shōu dào】机器人发送的🥟数值

随后运【suí hòu yùn】🍍用调试【yòng diào shì】助手向🚔寄存器【jì cún qì】5写入2,运行读取寄存器【jì cún qì】脚本🗡。

通过监视查看读取的值

6. 程序示例
global ret 定义变【dìng yì biàn】量🕖
global mode 定义变量
global read_data 定义变【dìng yì biàn】量🔥
global read_data1 定义变【dìng yì biàn】量🥌
ret=serial_config(True,115200,0,1,8,True)打开机器人控制柜【zhì guì】 RS-485 通信功🦐能【néng】🚛
mode=serial_mode() 查询机器人控【qì rén kòng】🔭制柜【zhì guì】✡ RS-485 处于何种模式下
read_data1=serial_modbus_read_registers(1,5,1,0)读取从【dú qǔ cóng】站寄存【zhàn jì cún】器🏌5数值📡
read_data=serial_modbus_write_registers(1,1,[18]) 从站寄🈴存器地【cún qì dì】址【zhǐ】😇1写入18