书签 分享 收藏 举报 版权申诉 / 42
上传文档赚钱

类型机器人Python编程与开发-第8章-Python-SDK-IO与MODBUS模块课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:4313626
  • 上传时间:2022-11-28
  • 格式:PPTX
  • 页数:42
  • 大小:653.80KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《机器人Python编程与开发-第8章-Python-SDK-IO与MODBUS模块课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    机器人 Python 编程 开发 SDK IO MODBUS 模块 课件
    资源描述:

    1、为工业增智 为教育赋能 本章目录8.1 数据类型介绍8.2 IO状态获取与参数设置8.3 基于Python SDK的MODBUS从机8.4 思考与练习为工业增智 为教育赋能 本章要求 知识目标 了解机械臂基于Python语言的用户IO SDK;了解机械臂基于Python语言的工具端IO SDK;了解机械臂基于Python语言的工具端电源SDK;了解机械臂基于Python语言的MODBUS从机的实现。为工业增智 为教育赋能8.1Python SDK IO与MODBUS模块数据类型介绍为工业增智 为教育赋能8.1 数据类型介绍8.1.1 工具端电源类型工具端电源类型Aub-i5机械臂工具端电源类型

    2、设置代码如下所示:class RobotToolPowerType:OUT_0V=0 OUT_12V=1 OUT_24V=2 def _init_(self):Pass工具端IO电源类型可分为三种:(1)OUT_0V电源为0V。(2)OUT_12V电源为12V。(3)OUT_24V电源为24V。为工业增智 为教育赋能8.1 数据类型介绍8.1.2 工具端工具端IO地址类型地址类型Aub-i5机械臂工具端IO地址类型设置代码如下所示:class RobotToolIoAddr:TOOL_DIGITAL_IO_0=0 TOOL_DIGITAL_IO_1=1 TOOL_DIGITAL_IO_2=2

    3、TOOL_DIGITAL_IO_3=3 def _init_(self):Pass工具端数字信号IO地址有四个,他们是:(1)TOOL_DIGITAL_IO_0。(2)TOOL_DIGITAL_IO_1。(3)TOOL_DIGITAL_IO_2。(4)TOOL_DIGITAL_IO_3。为工业增智 为教育赋能8.1 数据类型介绍8.1.3 工具端数字工具端数字IO类型类型Aub-i5机械臂工具端数字IO类型设置代码如下所示:class RobotToolDigitalIoDir:#输入 IO_IN=0#输出 IO_OUT=1 def _init_(self):Pass工具端数字IO类型有两种,

    4、它们是:IO_IN:输入类型。IO_OUT:输出类型。为工业增智 为教育赋能8.1 数据类型介绍8.1.4 工具端工具端IO名称名称Aub-i5机械臂工具端IO名称设置代码如下所示:class RobotToolIoName:tool_io_0=T_DI/O_00 tool_io_1=T_DI/O_01 tool_io_2=T_DI/O_02 tool_io_3=T_DI/O_03 def _init_(self):Pass工具数字IO的名称有四种,它们是:(1)tool_io_0(工具io_0)。(2)tool_io_1(工具io_1)。(3)tool_io_2(工具io_2)。(4)too

    5、l_io_3(工具io_3)。为工业增智 为教育赋能8.1 数据类型介绍8.1.5 用户用户IO类型类型Aub-i5机械臂用户IO类型的设置代码如下所示:class RobotIOType:#控制柜IO ControlBox_DI=0 ControlBox_DO=1 ControlBox_AI=2 ControlBox_AO=3#用户IO User_DI=4 User_DO=5 User_AI=6 User_AO=7 def _init_(self):Pass说明:在机器人IO类型包含了:(1)User_DI:用户数字输入类型。(2)User_DO:用户数字输出类型。(3)User_AI:用户

    6、模拟量输入。(4)User_AO:用户模拟量输出。为工业增智 为教育赋能8.1 数据类型介绍8.1.6 用户用户IO名称名称Aub-i5机械臂用户IO名称的设置代码如下所示:class RobotUserIoName:#控制柜用户 user_di_00=U_DI_00 user_di_01=U_DI_01 user_di_02=U_DI_02 user_di_03=U_DI_03 user_di_04=U_DI_04 user_di_05=U_DI_05 user_di_06=U_DI_06 user_di_07=U_DI_07 user_di_10=U_DI_10 user_di_11=U_

    7、DI_11 user_di_12=U_DI_12 user_di_13=U_DI_13 user_di_14=U_DI_14 user_di_15=U_DI_15 user_di_16=U_DI_16 user_di_17=U_DI_17#控制柜用户 user_do_00=U_DO_00 user_do_01=U_DO_01 user_do_02=U_DO_02 user_do_03=U_DO_03 user_do_04=U_DO_04 user_do_05=U_DO_05 user_do_06=U_DO_06 user_do_07=U_DO_07 user_do_10=U_DO_10 use

    8、r_do_11=U_DO_11 user_do_12=U_DO_12 user_do_13=U_DO_13 user_do_14=U_DO_14 user_do_15=U_DO_15 user_do_16=U_DO_16 user_do_17=U_DO_17 def _init_(self):Pass为工业增智 为教育赋能8.1 数据类型介绍8.1.6 用户用户IO名称名称说明:机器人用户输入IO类型名称包含:(1)user_di_00:输入IO00。(2)user_di_01:输入IO01。(3)user_di_02:输入IO02。(4)user_di_03:输入IO03。(5)user_d

    9、i_04:输入IO04。(6)user_di_05:输入IO05。(7)user_di_06:输入IO06。(8)user_di_07:输入IO07。(9)user_di_10:输入IO10。(10)user_di_11:输入IO11。(11)user_di_12:输入IO12。(12)user_di_13:输入IO13。(13)user_di_14:输入IO14。(14)user_di_15:输入IO15。(15)user_di_16:输入IO16。(16)user_di_17:输入IO17。机器人用户输出IO类型名称包含:(1)user_do_00:输出IO00。(2)user_do_01

    10、:输出IO01。(4)user_do_02:输出IO02。(5)user_do_03:输出IO03。(6)user_do_04:输出IO04。(7)user_do_05:输出IO05。(8)user_do_06:输出IO06。(9)user_do_07:输出IO07。(10)user_do_10:输出IO10。(11)user_do_11:输出IO11。(12)user_do_12:输出IO12。(13)user_do_13:输出IO13。(14)user_do_14:输出IO14。(15)user_do_15:输出IO15。(17)user_do_16:输出IO16。(18)user_do_

    11、17:输出IO17。为工业增智 为教育赋能8.2Python SDK IO与MODBUS模块IO状态获取与参数设置为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.1 获取机械臂接口板获取机械臂接口板IO配置配置Aub-i5机械臂接口板IO名称的配置的获取方法如下所示:#获取控制柜用户DIio_config=robot.get_board_io_config(RobotIOType.User_DI)#输出DI配置logger.info(io_config)#获取控制柜用户DOio_config=robot.get_board_io_config(RobotIOType.User_DO

    12、)#输出DO配置logger.info(io_config)程序说明:robot是机械臂控制类程序说明如下:获取接口板IO的配置信息,参数为用户输入IO,返回值赋值到io_config变量中。:打印用户输入IO的配置信息,信息包括(地址,类型,id,数值和名称),如下:(接至P89打印输入IO配置)。:获取接口板IO的配置信息,参数为用户输出IO,返回值赋值到io_config变量中。为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.1 获取机械臂接口板获取机械臂接口板IO配置配置addr:30,type:4,id:F1,value:-1.0,name:F1,addr:31,type

    13、:4,id:F2,value:-1.0,name:F2,addr:32,type:4,id:F3,value:-1.0,name:F3,addr:33,type:4,id:F4,value:-1.0,name:F4,addr:34,type:4,id:F5,value:-1.0,name:F5,addr:35,type:4,id:F6,value:-1.0,name:F6,addr:36,type:4,id:U_DI_00,value:-1.0,name:U_DI_00,addr:37,type:4,id:U_DI_01,value:-1.0,name:U_DI_01,addr:38,type

    14、:4,id:U_DI_02,value:-1.0,name:U_DI_02,addr:39,type:4,id:U_DI_03,value:-1.0,name:U_DI_03,addr:40,type:4,id:U_DI_04,value:-1.0,name:U_DI_04,为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.1 获取机械臂接口板获取机械臂接口板IO配置配置addr:41,type:4,id:U_DI_05,value:-1.0,name:U_DI_05,addr:42,type:4,id:U_DI_06,value:-1.0,name:U_DI_06,addr:43,

    15、type:4,id:U_DI_07,value:-1.0,name:U_DI_07,addr:44,type:4,id:U_DI_10,value:-1.0,name:U_DI_10,addr:45,type:4,id:U_DI_11,value:-1.0,name:U_DI_11,addr:46,type:4,id:U_DI_12,value:-1.0,name:U_DI_12,addr:47,type:4,id:U_DI_13,value:-1.0,name:U_DI_13,addr:48,type:4,id:U_DI_14,value:-1.0,name:U_DI_14,addr:49,

    16、type:4,id:U_DI_15,value:-1.0,name:U_DI_15,addr:50,type:4,id:U_DI_16,value:-1.0,name:U_DI_16,addr:51,type:4,id:U_DI_17,value:-1.0,name:U_DI_17为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.1 获取机械臂接口板获取机械臂接口板IO配置配置打印输出IO配置信息(包括地址,类型,id,数值和名称)如下所示:addr:32,type:5,id:U_DO_00,value:-1.0,name:U_DO_00,addr:33,type:5,id:U_DO

    17、_01,value:-1.0,name:U_DO_01,addr:34,type:5,id:U_DO_02,value:-1.0,name:U_DO_02,addr:35,type:5,id:U_DO_03,value:-1.0,name:U_DO_03,addr:36,type:5,id:U_DO_04,value:-1.0,name:U_DO_04,addr:37,type:5,id:U_DO_05,value:-1.0,name:U_DO_05,addr:38,type:5,id:U_DO_06,value:-1.0,name:U_DO_06,addr:39,type:5,id:U_DO

    18、_07,value:-1.0,name:U_DO_07,addr:40,type:5,id:U_DO_10,value:-1.0,name:U_DO_10,addr:41,type:5,id:U_DO_11,value:-1.0,name:U_DO_11,为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.1 获取机械臂接口板获取机械臂接口板IO配置配置addr:42,type:5,id:U_DO_12,value:-1.0,name:U_DO_12,addr:43,type:5,id:U_DO_13,value:-1.0,name:U_DO_13,addr:44,type:5,id:

    19、U_DO_14,value:-1.0,name:U_DO_14,addr:45,type:5,id:U_DO_15,value:-1.0,name:U_DO_15,addr:46,type:5,id:U_DO_16,value:-1.0,name:U_DO_16,addr:47,type:5,id:U_DO_17,value:-1.0,name:U_DO_17为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.2 设置机械臂接口板设置机械臂接口板IO状态状态Aub-i5机械臂接口板IO状态的设置代码如下所示:#设置用户输出IO-1状态为1(有效)robot.set_board_io_s

    20、tatus(RobotIOType.User_DO,RobotUserIoName.user_do_01,1)logger.info(io_config)其中,robot是机械臂控制类,该行代码包括的三个参数说明如下:(1)参数1:机器人IO类型为用户输出。(2)参数2:机器人用户IO名称为用户输出1。(3)参数3:1(有效)。为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.3 获取机械臂接口板获取机械臂接口板IO状态状态Aub-i5机械臂接口板IO状态的获取,其程序块代码如下所示:#获取用户输入IO1状态io_status=robot.get_board_io_status(Ro

    21、botIOType.User_DI,RobotUserIoName.user_di_03)logger.info(Digital input:)logger.info(io_status)robot是机械臂控制类,程序说明如下:获取接口板IO状态,该行代码包含2个参数,其中参数1:机器人IO类型为用户输入。参数2:机器人用户IO名称为用户输入3。返回值赋值给io_status。:打印“Digital input:”:打印获取到的输入IO-3的状态。程序运行结果如下:Digital input:0为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.4 获取机械臂工具端电源状态获取机械臂工

    22、具端电源状态Aub-i5机械臂工具端电源状态的获取,其程序块代码如下所示:#获取工具端电压数值类型(0V 12V 24V)Tool_voltage_type=robot.get_tool_power_type()logger.info(Tool_voltage_type:)logger.info(Tool_voltage_type)robot是机械臂控制类,程序说明如下:获取工具端电源类型,返回值赋值给Tool_voltage_type。:打印“Tool_voltage_type:”。:打印获取到的工具端电源状态。程序运行结果如下:Tool_voltage_type:1(根据对应数据结构可看出

    23、1代表12V)为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.5 设置机械臂工具端电源状态设置机械臂工具端电源状态Aub-i5机械臂工具端电源状态的设置代码如下所示:#设置工具端电源为24robot.set_tool_power_type(RobotToolPowerType.OUT_12V)其中,robot是机械臂控制类,该行代码的参数为输出2V。为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.6 设置机械臂工具端设置机械臂工具端IO类型类型Aub-i5机械臂工具端IO类型的设置代码如下所示:#设置工具端IO_1为输出robot.set_tool_io_type(Ro

    24、botToolIoAddr.TOOL_DIGITAL_IO_1,RobotToolDigitalIoDir.IO_OUT)该行代码包括的2个参数说明如下:(1)参数1:工具io-1的名称(2)参数2:工具IO类型为输出为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.7 设置机械臂工具端设置机械臂工具端IO状态状态Aub-i5机械臂工具端IO状态的设置代码如下所示:#设置工具端_1状态(有效)robot.set_tool_io_status(RobotToolIoName.tool_io_1,1)其中,robot是机械臂控制类。该行代码包括的2个参数说明如下:(1)参数1:工具io-

    25、1的名称。(2)参数2:1(有效)。为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.8 获取机械臂工具端获取机械臂工具端IO状态状态Aub-i5机械臂工具端IO状态的获取,其程序块代码如下所示:#设置工具端IO_2为输入robot.set_tool_io_type(RobotToolIoAddr.TOOL_DIGITAL_IO_2,RobotToolDigitalIoDir.IO_IN)#获取工具端IO_2当前状态tool_io_status=robot.get_tool_io_status(RobotToolIoName.tool_io_2)logger.info(Tool_IO

    26、_02 Status:)logger.info(tool_io_status)为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.9 示例程序示例程序Aub-i5机械臂工具端IO状态的设置代码如下所示:def test_IO():#初始化logger logger_init()#启动测试logger.info(0test beginning.format(Auboi5Robot.get_local_time()#系统初始化 Auboi5Robot.initialize()#创建机械臂控制类 robot=Auboi5Robot()#创建上下文 handle=robot.create_co

    27、ntext()#打印上下文 logger.info(robot.rshd=0.format(handle)try:为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.9 示例程序示例程序#链接服务器(IP要根据实际设置)ip=192.168.0.30 port=8899 result=robot.connect(ip,port)if result!=RobotErrorType.RobotError_SUCC:logger.info(connect server0:1 failed.format(ip,port)else:#重新上电 robot.robot_shutdown()#上电

    28、robot.robot_startup()#设置碰撞等级 robot.set_collision_class(7)#末端IO#数字量输出#设置工具端电源为24 robot.set_tool_power_type(RobotToolPowerType.OUT_12V)#设置工具端_1为输出 robot.set_tool_io_type(RobotToolIoAddr.TOOL_DIGITAL_IO_1,RobotToolDigitalIoDir.IO_OUT)#设置工具端_1状态 robot.set_tool_io_status(RobotToolIoName.tool_io_1,1)为工业增智

    29、 为教育赋能8.2 IO状态获取与参数设置8.2.9 示例程序示例程序#获取工具端电压数值类型(0V 12V 24V)Tool_voltage_type=robot.get_tool_power_type()logger.info(Tool_voltage_type:)logger.info(Tool_voltage_type)#数字量输入#设置工具端电源为12 robot.set_tool_power_type(RobotToolPowerType.OUT_12V)#设置工具端_2为输入 robot.set_tool_io_type(RobotToolIoAddr.TOOL_DIGITAL_

    30、IO_2,RobotToolDigitalIoDir.IO_IN)#获取工具端_2当前状态 tool_io_status=robot.get_tool_io_status(RobotToolIoName.tool_io_2)logger.info(Tool_IO_02 Status:)logger.info(tool_io_status)#用户IO#获取控制柜用户DI io_config=robot.get_board_io_config(RobotIOType.User_DI)#输出DI配置 logger.info(io_config)#获取控制柜用户DO io_config=robot.g

    31、et_board_io_config(RobotIOType.User_DO)为工业增智 为教育赋能8.2 IO状态获取与参数设置8.2.9 示例程序示例程序#输出DO配置 logger.info(io_config)#数字量输出#设置用户输出IO1状态为1robot.set_board_io_status(RobotIOType.User_DO,RobotUserIoName.user_do_01,1)#数字量输入#获取用户输入IO1状态 io_status=robot.get_board_io_status(RobotIOType.User_DI,RobotUserIoName.user_

    32、di_03)logger.info(Digital input:)logger.info(io_status)#断开服务器链接 robot.disconnect()except RobotError,e:logger.error(0 robot Event:1.format(robot.get_local_time(),e)finally:#断开服务器链接 if robot.connected:#关闭机械臂 robot.robot_shutdown()#断开机械臂链接 robot.disconnect()#释放库资源 Auboi5Robot.uninitialize()为工业增智 为教育赋能8

    33、.2 IO状态获取与参数设置8.2.9 示例程序示例程序 logger.info(0 test completed.format(Auboi5Robot.get_local_time()#主函数执行程序if _name_=_main_:test_IO()程序运行过程说明如下:程序的开始首先连接服务器,其中机械臂上电,设置碰撞等级,设置工具端数字输出IO-1的输出为高电平,然后获取工具端电源类型,获取工具端数字输入IO-2的状态以及获取控制柜用户IO的输出和输入的配置信息;接着程序设置控制柜输出IO-1的值为1(有效),并获取控制柜用户输入IO-3的状态;最后,程序断开服务器连接。为工业增智 为

    34、教育赋能8.3Python SDK IO与MODBUS模块基于Python SDK的MODBUS从机为工业增智 为教育赋能8.3 基于Python SDK的MODBUS从机8.3.1 机械臂机械臂MODBUS功能功能Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议。Modbus协议包括RTU、ASCII和TCP三种(常见),AUBO机器人支持Modbus-RTU和Modbus-TCP两种通信协议。Modbus-RTU是基于RS485总线,所以AUBO机器人和外部进行Modbus-RTU通信时需要接RS485线。Modbus-RTU网络中,只能有一个主站,可有多个从站(理论247

    35、个从站),AUBO在Modbus-RTU网络中只能作为主站,如图8-1所示。图8-1 Python Modbus-RTU为工业增智 为教育赋能8.3 基于Python SDK的MODBUS从机8.3.1 机械臂机械臂MODBUS功能功能Modbus-TCP是基于以太网,所以AUBO机器人和外部进行Modbus-TCP通信时要连接网线。在Modbus-TCP网络中,AUBO作为客户机存在,可以这样理解,Modbus-TCP的客户机相当于Modbus-RTU的主机,Modbus-TCP的服务器相当于Modbus-RTU的从机,如图8-2所示。图8-2 Python Modbus-TCP为工业增智

    36、为教育赋能8.3 基于Python SDK的MODBUS从机8.3.2 开源库开源库Pymodbus使用使用AUBO机械臂内安装有memcache,为了方便外部获取机械臂信息,机械臂的很多信息在更新时会在memcache中存储,可利用memcache为中间件,使用Python程序作为MODBUS的从站,从memcache数据库中读取机械臂机械臂数据,并和外部设备(相机、PLC等)进行通讯。Python从站程序常用于数据交换,例如:示教器支持modbus通信(主站),Python程序做为modbus从站,外部设备作为modbus主站,这样利用中间的从站实现数据交换。构建Python实现MODBU

    37、S从机,需要使用开源项目Pymodbus,Pymodbus是使用Twisted异步通信内核实现了完整Modbus协议,由于此库是用Python编写的,所以可以轻松地编写脚本集成到现有的解决方案中。Pymodbus的特性包括:1.客户端功能(1)离散和 register 上的完整读/写协议;(2)大多数扩展协议(diagnostic/file/pipe/setting/information);(3)TCP,UDP,串行 ASCII,串行RTU和串行二进制;为工业增智 为教育赋能8.3 基于Python SDK的MODBUS从机8.3.2 开源库开源库Pymodbus使用使用(4)异步(由 Tw

    38、isted 供电)和同步版本;(5)负载生成器/解码器实用程序。2.服务器功能(1)可以作为完全实现的modbus服务器实现(2)TCP,UDP,串行 ASCII,串行RTU和串行二进制(3)异步(由 Twisted 供电)和同步版本(4)完整服务器控制上下文(设备信息,计数器等)(5)许多支持上下文(数据库,redis,从设备)Pymodbus可在网址:https:/ setup.py install”进行安装,安装完成后,如图8-3所示,即可提示“Finished processing dependencies for pymodbus=2.1.0”(2.1.0为版本号)。图8-3 Pym

    39、odbus安装为工业增智 为教育赋能8.3 基于Python SDK的MODBUS从机8.3.2 开源库开源库Pymodbus使用使用Pymodbus库的使用方法可参考如下代码:Pymodbus库的使用方法可参考如下代码:from pymodbus.client.sync import ModbusTcpClient#引用pymodbus的TCP客户机模块client=ModbusTcpClient(127.0.0.1)client.write_coil(1,True)result=client.read_coils(1,1)print(result.bits0)client.close()为

    40、工业增智 为教育赋能8.3 基于Python SDK的MODBUS从机8.3.3 机械臂机械臂MODBUS-TCP从机示例代码从机示例代码以下代码为使用Pymodbus库实现MODBUS-TCP从机,程序启动后会自动连接memcache和机械臂Python SDK接口,并且启动TCP从机模式,监听本机的520端口,其它MODBUS-TCP主机可进行连接。def run_server():time.sleep(10)#链接memcached服务端 host=192.168.136.139 port=11211 server=str(host)+:+str(port)memcache_client

    41、=memcache.Client(server)#保证Memcached连接成功,否则弹出异常 if not memcache_client.get_stats():raise socket.error(Connected Memcached failed,ip:0,port:1.format(host,port)#连接机械臂 host=192.168.136.139 port=8899#系统初始化 Auboi5Robot.initialize()#创建机械臂控制类 robot =Auboi5Robot()#创建上下文为工业增智 为教育赋能8.3 基于Python SDK的MODBUS从机8.

    42、3.3 机械臂机械臂MODBUS-TCP从机示例代码从机示例代码 handle=robot.create_context()#链接robot服务器 result=robot.connect(host,port)store=MemcachedSlaveContext(robot_client=robot,memcached_client=memcache_client)context=ModbusServerContext(slaves=store,single=True)#-#initialize the server information#-#If you dont set this or

    43、 any fields,they are defaulted to empty strings.#-#identity=ModbusDeviceIdentification()identity.VendorName=Pymodbus identity.ProductCode=PM identity.VendorUrl=http:/ Server identity.ModelName=Pymodbus Server identity.MajorMinorRevision=1.5#-#run the server you want#-#Tcp:StartTcpServer(context,iden

    44、tity=identity,address=(0.0.0.0,502)if _name_=_main_:run_server()为工业增智 为教育赋能8.3 基于Python SDK的MODBUS从机8.3.4 机械臂机械臂MODBUS-RTU从机示例代码从机示例代码机械臂MODBUS-RTU从机的实现和MODBUS-TCP从机的实现基本相同,不同的是程序启动后,会以从机的形式监听串口“COM1”(根据硬件设备的串口名称),波特率为115200,代码如下所示。def run_server():time.sleep(10)#链接memcached服务端 host=192.168.136.139

    45、port=11211 server=str(host)+:+str(port)memcache_client=memcache.Client(server)#保证Memcached连接成功,否则弹出异常 if not memcache_client.get_stats():raise socket.error(Connected Memcached failed,ip:0,port:1.format(host,port)#连接机械臂 host=192.168.136.139 port=8899#系统初始化 Auboi5Robot.initialize()#创建机械臂控制类 robot =Aub

    46、oi5Robot()#创建上下文 handle=robot.create_context()为工业增智 为教育赋能8.3 基于Python SDK的MODBUS从机8.3.4 机械臂机械臂MODBUS-RTU从机示例代码从机示例代码#链接robot服务器 result=robot.connect(host,port)store=MemcachedSlaveContext(robot_client=robot,memcached_client=memcache_client)context=ModbusServerContext(slaves=store,single=True)#-#initi

    47、alize the server information#-#If you dont set this or any fields,they are defaulted to empty strings.#-#identity=ModbusDeviceIdentification()identity.VendorName=Pymodbus identity.ProductCode=PM identity.VendorUrl=http:/ Server identity.ModelName=Pymodbus Server identity.MajorMinorRevision=1.5#-#run

    48、 the server you want#-#RTU:timeout=.005 StartSerialServer(context,framer=ModbusRtuFramer,identity=identity,port=COM1,timeout=.05,baudrate=115200)if _name_=_main_:run_server()为工业增智 为教育赋能8.4 思考与练习8.1填空题(1)工具端电源类型有_,_,_。(2)工具端IO名称有_,_,_。(3)用户IO类型有_,_,_。(4)用户IO的数量有_。8.2简答题(1)简述设置工具端IO1数字输出为有效时的步骤。(2)简述设置用户IO1输出为有效时的步骤。为工业增智 为教育赋能8.4 思考与练习8.3选择题(1)获取到的用户IO配置信息不包括()A.地址B.类型C.idD.信号(2)以下用户数字输出IO不存在()A.user_do_1B.user_do_8C.user_do_16D.user_do_17为工业增智 为教育赋能8.4 思考与练习(3)以下哪个不属于用户IO类型()A.User_DI B.User_DOC.User_AID.User_AO8.4实验题(1)通过使用Python SDK来控制用户输出IO-1,工具端输出IO-1以1HZ的频率循环切换状态。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:机器人Python编程与开发-第8章-Python-SDK-IO与MODBUS模块课件.pptx
    链接地址:https://www.163wenku.com/p-4313626.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库