🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## Py-Teach图形化开发 ## IO输出操作 **图形模块**: >![](https://img.kancloud.cn/ec/8d/ec8d4fbf40c45d052fb96c186cb7acba_212x47.png) **功能**:控制虚拟IO口输出高/低电平。 **说明**:`digital_VSR_Write(pin, val)`pin: 引脚编号0-31;val: 写入值 0或1。 **示例**: ``` mod_client.digital_VSR_Write(0,0) ``` *** ## IO输入引脚读取 **图形模块**: >![](https://img.kancloud.cn/9d/52/9d526128cb1293cf03d2b7649455030e_161x42.png) **功能**:读取虚拟IO口输入电平。 **说明**:`digital_VSR_Read(pin, val)`pin: 引脚编号0-31。 **示例**: ``` mod_client.digital_VSR_Read(0,0) ``` *** ## 软IO中断操作 ### 功能解释 **图形模块**: 定义中断回调函数 >![](https://img.kancloud.cn/94/7d/947d7dbfd525010cfd62c891b6e54fde_195x70.png) 配置软中断并开启 >![](https://img.kancloud.cn/52/14/521480a8c3f4ce745a93cb3514da0ce5_302x47.png) 关闭软中断 >![](https://img.kancloud.cn/25/59/255918ae7e42e231a80aaf98dc0f2cd1_190x48.png) **功能**:该组操作函数为:(1)开启某IO引脚为输入状态并检测中断;(2)、当该IO引脚发生中断自动执行某函数;(3)、关闭某IO引脚中断功能。 **开启IO软中断**: `digital_VSR_AttachInterrupt(pin,func,mode)`设置软中断Pin:中断管脚0-31;func:中断回调函数;mode:中断模式mod_client.RISING上升沿mod_client.FALLIN下降沿mod_client.CHANGE 改变。 **关闭IO软件中断**: `digital_VSR_InterruptDisable(pin)`关闭引脚软中断。pin:引脚编号0-31。 ### 示例 >![](https://img.kancloud.cn/c3/56/c356229f27a43c9fa70cd372922118d6_312x190.png) *** ``` #定义VSR_AttachPinInterrupt_fun_0函数,执行中断任务 def VSR_AttachPinInterrupt_fun_0(): # 触发中断后1管脚输出高电平 mod_client.digital_VSR_Write(1,1) #关闭0管脚软中断 mod_client.digital_VSR_InterruptDisable(0) #开启IO引脚0软中断,上升沿触发,调用VSR_AttachPinInterrupt_fun_0()函数 mod_client.digital_VSR_AttachInterrupt (0,VSR_AttachPinInterrupt_fun_0,mod_client.RISING) ``` ***![](images/QQ截图20210221144440.png) ## 模拟量输出控制 **图形模块**: >![](https://img.kancloud.cn/b8/63/b863fd8c2eb410622030cc594e1fd403_264x44.png) **功能**:控制单片机寄存器模拟量输出至虚拟模型,如操作速度、大小等变量控制。 **说明**:`Float32_Write(pin,val)`向虚拟模拟量输出口。pin:模拟量引脚,0-7;val:模拟量值。 ``` mod_client.Float32_Write(0,0) ``` *** ## 模拟量输入读取 **图形模块**: >![](https://img.kancloud.cn/b1/c6/b1c633d7547458080218bc3f3a0487af_163x44.png) **功能**:读取虚拟世界的模拟量反馈,如旋钮开关,坐标数据等; **说明**:`Float32_Read(pin)`读取虚拟模拟量。pin:模拟量引脚0-7;返回模拟量值。 ``` mod_client.Float32_Read(0) ``` *** ## 虚拟伺服电机速度控制 **图形模块**: >![](https://img.kancloud.cn/ca/32/ca32d03a039422f26b62b12f155f7002_254x45.png) **功能**:设置某M电机的转动速度值为当前值,0~100; **说明**:`Set_ServoSpeed(motor,peed)`设置电机速度。motor:伺服电机编号,0-7;speed:给定转速。 ``` mod_client.Set_ServoSpeed(0,0) ``` *** ## 虚拟伺服电机位置控制 **图形模块**: >![](https://img.kancloud.cn/3e/57/3e57681d3a7b71447ff5c39a83d8d900_253x44.png) **功能**:设置某M电机要达到的执行位置,输入值为浮点数float32; **说明**:`Set_ServoPos(motor,pos)`设置电机位置。motor:伺服电机编号,0-7;pos:给定位置坐标。 ``` mod_client.Set_ServoPos(0,0) ``` *** ## 读取虚拟电机位置值 **图形模块**: >![](https://img.kancloud.cn/c9/15/c915bbe45dc1ee2db04ab6f0e29ede4e_192x29.png) **功能**:读取某M电机当前的位置坐标值; **说明**:`Get_ServoPos(motor)`读取电机坐标。motor:伺服电机编号,0-7;返回电机位置坐标。 ``` mod_client.Get_ServoPos(0) ``` *** ## 等待电机执行完成上一个动作 **图形模块**: >![](https://img.kancloud.cn/36/c2/36c2cdd731601a03b3813d5ba9a22f3a_201x38.png) **功能**:阻塞线程,等待该M电机执行并达到目标位置pos点。 **说明**:`WaitFinish_ServoPos(motor)`等待电机运行结束。motor:伺服电机编号0-7。 ``` mod_client.WaitFinish_ServoPos(0); ``` ## 设置四轴机器人运行速度 **图形模块**: >![](https://img.kancloud.cn/e6/1e/e61eeec2067790380b7c103ec6eca9c5_221x48.png) **功能**:设置四轴码垛类型机器人的运行速度值。 **说明**:`Set_R4Speed(speed)`speed:运行速度。 ``` mod_client.Set_R4Speed(0) ``` *** ## 四轴器人单轴动作 **图形模块**: >![](https://img.kancloud.cn/72/90/72901da3e382fe0a182242703e31747d_313x44.png) **功能**:设置四轴码垛机器人某一个关节轴运行到某一点动作; **说明**:`Set_R4SerialPos(motor, pos)`motor:轴编号,0-3;pos:运动位置。 ``` Set_R4SerialPos(0, 0) ``` *** ## 四轴器人本体动作 **图形模块**: >![](https://img.kancloud.cn/ef/22/ef22f7ad1c4dd031eaff08d4dba99a14_182x139.png) >![](https://img.kancloud.cn/5d/bd/5dbd6c8ca64fee17af46871e8e8251d5_173x142.png) **功能**:设置四轴码垛机器人四个轴联动运行到某一个姿态点; **说明**:`Set_R4Pos(pos1, pos2, pos3, pos4)`pos1, pos2, pos3, pos4四个轴的运动位置。 ``` Set_R4Pos(pos1, pos2, pos3, pos4) ``` *** ## 获取四轴码垛机器人某轴的位置值 **图形模块**: >![](https://img.kancloud.cn/77/0c/770c1873e0d7627d3f20ddad4ac5ab9c_242x39.png) **功能**:获取该机器人某一个轴的位置角度值; **说明**:`Get_R4Pos(motor)`返回轴位置角度值;motor:轴编号0-3。 ``` mod_client.Get_R4Pos(0) ``` *** ## 等待四轴码垛机器人上一个动作执行完毕 **图形模块**: >![](https://img.kancloud.cn/5c/ab/5cab8a6ba2e4cffb51e2e94bf2be7bcb_154x34.png) **功能**:等待该动作完全执行完毕,才进行下面的代码运行(中断除外); **说明**:`WaitFinish_R4()` ``` mod_client.WaitFinish_R4() ``` ## 设置六轴机器人运行速度 ![](https://img.kancloud.cn/df/c1/dfc1219539d5d43e9f8148c78cab011e_223x46.png) ## 设置六轴机器人动作 ![](https://img.kancloud.cn/19/ef/19ef1e52f268268af4f3324c89242612_227x190.png) ## Py-Teach 通用示教器搬运案例教程 **工具:** 1、IOA4.0 2、Py-Teach虚拟示教器 **概述:** 本案例是通过在虚拟工厂中添加两条传输线AB,并添加一台六轴机器人,通过机器人示教器编程示教实现从A线体吸取物体搬运放至B线体。 链接:https://pan.baidu.com/s/1nwfgAl0Gb6rXOBgR07s50A 提取码:1234