## 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
- 目录
- IOA互动仿真
- 认识IOA虚拟仿真
- IOA功能与导航
- 数字孪生资源
- 软件使用协议
- 注册与安装
- 注册与使用
- IOA安装及激活
- IOA操作及入门
- 概述
- 用户界面操作
- 基础操作
- 界面设置
- 屏幕录制
- 导航方式
- 快捷键与仿真
- 3D场景搭建
- 一般模型搭建
- 自定义模组拼接
- 电气控制箱拼接
- XYZ多轴机械手拼接
- 机器人吸盘、夹具拼接
- 自定义模型导入与使用
- 移动机器人场景搭建
- 建筑模型库
- 手动调试
- 模拟控制与调试
- 一般信号调试
- 工业机器人调试
- 自定义添加控制器
- 图形化Py-Teach控制器
- Py-R4控制器添加与控制
- Py-S4控制器添加与控制
- Py-R6控制器添加与控制
- 西门子PLC添加与控制
- 西门子实体PLC1214添加与控制
- 西门子虚拟PLC1214添加与控制
- 西门子虚拟PLC1512添加与控制
- 三菱PLC虚拟仿真
- 三菱PLC仿真器的使用说明
- 三菱PLC的添加与控制
- ZMC运动控制器
- VPLC运动视觉控制器
- KEBA工业机器人示教编程
- 纳博特机器人示教编程
- ABB机器人示教编程
- 遨博机器人示教编程
- 机器视觉与API
- Arduino-UNO单片机
- Arduino-MEGA单片机
- ESP32物联网单片机
- 虚拟电气接线
- 输入输出接口认识
- 控制器之间通讯
- 导出接线表
- VR仿真与多人互动
- PC多人互动
- VR多人互动
- APP多人互动
- IOA模型库概览
- 物流传输模型库说明
- 机械零件模型说明
- 机电单元模型说明
- 传感交互模型说明
- 人机交互模型
- 传感器模型
- 虚拟继电模型
- 机器人模型
- 物料模型库
- 移动机器人
- 建筑模型
- 虚实仿真教程
- 西门子S7-1200编程仿真
- 西门子S7-1500编程仿真
- 三菱虚拟PLC编程仿真
- KEBA工业机器人编程仿真
- 纳博特机器人编程仿真
- ABB机器人编程仿真
- Py-Teach通用示教器仿真教程
- Arduino-uno编程仿真
- Arduino-mega编程仿真
- ESP32物联网单片机编程仿真
- 机器视觉API及编程
- 正运动ZMC308编程仿真
- IOA硬件商城
- IOA产品概述
- 西门子PLC
- 运动控制系统
- KEBA机器人
- IOA孪生六轴机器人套装