## 函数目录
[TOC]
***
## 初始化函数
**功能**:将控制器初始化为ESP32-S或ESP32-R控制器;
**ESP32-S控制器:**
**mixly编程**:
>![](https://img.kancloud.cn/e6/ed/e6ed07f0e0c7c9887d543c5f6103781a_461x120.png)
**arduino-IDE编程函数**:
>```
>#include "ZtEsp32Vsr.h"
>void setup(){`
>_VsrCtrl.Init(DEVICE_TYPE_S);
>}
>void loop(){
>vTaskDelay(1);//延时1ms
>}
>```
**说明**:`#include "ZtEsp32Vsr.h"`库文件包含,必须添加; Arduino函数初始化,`_VsrCtrl.Init();`。
**ESP32-R控制器**
**mixly编程**:
>![](https://img.kancloud.cn/49/45/4945d73eab3b107ee140cc140bb3348c_451x119.png)
**arduino-IDE编程函数**:
>```
>#include "ZtEsp32Vsr.h"
>void setup(){
>_VsrCtrl.Init(DEVICE_TYPE_R);
>}
>void loop(){
>vTaskDelay(1);//延时1ms
>}
>```
***
## IO输出引脚操作(ESP32-S,ESP32-R)
**功能**:控制单片机的IO口为输出模式,并置位为高/低电平;
**mixly编程**:
>![](https://img.kancloud.cn/71/6c/716c9bb7b55099452cb9d1fc1684f89f_321x45.png)
**arduino-IDE编程函数**:
>```
>digital_VSR_Write(uint8_t pin,uint8_t val);
>```
**说明**:参数`pin`为引脚号码,参数`val`为`0/1`高低电平信号。
***
## IO输入引脚读取操作(ESP32-S,ESP32-R)
**功能**:将单片机IO作为输入引脚,并读取其输入状态为高/低;
**mixly编程**:
>![](https://img.kancloud.cn/e9/d5/e9d5795e741d5025cfc4a716803d0690_218x46.png)
**arduino-IDE编程函数**:
>```
>digital_VSR_Read(uint8_t pin);
>```
**说明**:输入为引脚号,返回值为0低电平,1高电平。
***
## 软IO中断操作(ESP32-S,ESP32-R)
### 功能解释
**功能**:改组操作函数为(1)开启某IO引脚为输入状态并检测中断,(2)、当该IO引脚发生中断自动执行某函数,(3)、打开/关闭某IO引脚中断功能;
**mixly编程**:
>![](https://img.kancloud.cn/6f/11/6f11abf9d0cb290b6f9eb7d414fbcedb_480x334.png)
**arduino-IDE编程函数**:
>```
>//开启软中断
>digital_VSR_InterruptEnable(uint8_t pin); //开启pin引脚中断;
>//配置软中断函数
>//参数pin输入引脚号,VSR_AttachPinInterrupt_fun_0回调函数指针,
>//软中断触发方式参数CHANGE 突变触发、FALLING 下降沿触发,RISING上升沿触发
>digital_VSR_AttachInterrupt( uint8_t pin ,VSR_AttachPinInterrupt_fun_0,RISING);
>//当中断响应时候,调用中断回调函数:
>void VSR_AttachPinInterrupt_fun_0() {
>//中断执行的子函数;
>};
>//关闭中断
>digital_VSR_InterruptDisable(0);//关闭该引脚中断响应;
>```
### 代码示例
**mixly图形化程序**:
>![](https://img.kancloud.cn/b7/c9/b7c9563e0c9a151e58ce65ec5bb72751_395x182.png)
**翻译IDE函数**:
>```
>//定义中断回调函数
>#include "ZtEsp32Vsr.h"
>void VSR_AttachPinInterrupt_fun_4() {
> digital_VSR_Write(2,HIGH);
>}
>void setup(){
> _VsrCtrl.Init(DEVICE_TYPE_S);
> pinMode(4, INPUT);
> digital_VSR_InterruptEnable(4);
> digital_VSR_AttachInterrupt(4,VSR_AttachPinInterrupt_fun_4,RISING);
>}
>void loop(){
> vTaskDelay(1);
>}
>```
**说明**:设置引脚4为中断响应,设置为上升沿中断,当发生引脚4上升沿则执行: `digital_VSR_Write(2,HIGH)`函数。
***
***
## 模拟量输出控制(ESP32-S,ESP32-R)
**功能**:控制单片机寄存器模拟量输出至虚拟模型,如操作速度、大小等变量控制;
**mixly编程**:
>![](https://img.kancloud.cn/34/32/3432d071ad85a4bf90a9aff231ce1bec_338x47.png)
**arduino-IDE编程函数**:
>```
>Float32_Write(0,50);
>```
**说明**:设置通道寄存器float32-0输出值为50。
***
***
## 模拟量输入读取(ESP32-S,ESP32-R)
**功能**:读取虚拟世界的模拟量反馈,如旋钮开关,坐标数据等;
**mixly编程**:
>![](https://img.kancloud.cn/49/65/49650f3e0b264c48bbd2a2f6d633a968_237x44.png)
**arduino-IDE编程函数**:
>```
>Float32_Read(0);
>```
**说明**:读取通道float32-0的寄存器的值,并返回值。
***
## 字符串文本输出(ESP32-S,ESP32-R)
**功能**:输出字符串文本至虚拟工厂;
**mixly编程**:
>![](https://img.kancloud.cn/a5/67/a567bf88702f8b5245029d45d2e44e5c_290x44.png)
**arduino-IDE编程函数**:
>```
>Text_Write("hello");
>```
**说明**:输出hello文本至虚拟工厂。
***
***
## 虚拟伺服电机速度控制(ESP32-S)
**功能**:设置某M电机的转动速度值为当前值:`0~100`;
**mixly编程**:
>![](https://img.kancloud.cn/1a/61/1a6165f9ff9b8649fb918add9fe2f22f_311x51.png)
**arduino-IDE编程函数**
>```
>Set_ServoSpeed(0,0);
>```
**说明**:输入电机编号`0~7`,输入电机速度为`0~100`。
***
## 虚拟伺服电机位置控制(ESP32-S)
**功能**:设置某M电机要达到的执行位置,输入值为浮点数`(float32)`;
**mixly编程**:
>![](https://img.kancloud.cn/7f/5f/7f5f2674c944afc2f018db9a16f94314_322x45.png)
**arduino-IDE编程函数**:
>```
>Set_ServoPos(0,0);
>```
**说明**:输入电机编号`0~7`,电机要执行达到的位置值`pos(float32);`
***
## 读取虚拟电机位置值(ESP32-S)
**功能**:读取某M电机当前的位置坐标值;
**mixly编程**:
>![](https://img.kancloud.cn/71/0e/710eede4418f50e3abf6dc448cc13081_221x31.png)
**arduino-IDE编程函数**:
>```
>Get_ServoPos(0);
>```
**说明**:输入电机编号`0~7`,返回该电机目前虚拟位置pos的值`(float32)`。
***
## 等待电机执行完成上一个动作(ESP32-S)
**功能**:等待该M电机执行并达到目标位置pos点;
>**mixly编程**:
![](https://img.kancloud.cn/69/83/6983c0f6a11ed149d7f504cc619cc574_244x37.png)
**arduino-IDE编程函数**:
>```
>WaitFinish_ServoPos(0);
>```
**说明**:等待电机`M0`执行到位置点才会执行接下来的代码动作。
***
:-: 分界线,以下为工业机器人操作指令,对ESP32-R有效
***
***
## 四轴码垛机器人运行速度(ESP32-R)
**功能**:设置四轴码垛类型机器人的运行速度值;
**mixly编程**:
>![](https://img.kancloud.cn/48/d7/48d763f97196451cdf97b45334222375_291x44.png)
**arduino-IDE编程函数**:
>```
>Set_R4Speed(0);
>```
**说明**:设置工业机器人的速度值0~100之间。
***
## 四轴码垛机器人单轴动作(ESP32-R)
**功能**:设置四轴码垛机器人某一个关节轴运行到某一点动作;
**mixly编程**:
>![](https://img.kancloud.cn/c4/b5/c4b5ffeb4970920e20936f9d765d3745_378x45.png)
**arduino-IDE编程函数**:
>```
>Set_R4Pos(0,0);
>```
**说明**:输入1为第几轴即`0~3`,输入2为位置坐标值`(float32)`。
***
## 四轴码垛机器人本体动作(ESP32-R)
**功能**:设置四轴码垛机器人四个轴联动运行到某一个姿态点;
**mixly编程**:
>![](https://img.kancloud.cn/61/63/6163decfa0b30528ac66b5eda05a1d0c_660x45.png)
**arduino-IDE编程函数**:
>```
>Set_R4Pos(0,0,0,0);
>```
**说明**:输入值为1轴,2轴,3轴,4轴各个轴要达到的目标点;
***
## 获取四轴码垛机器人某轴的位置值(ESP32-R)
**功能**:获取该机器人某一个轴的位置角度值;
**mixly编程**:
>![](https://img.kancloud.cn/35/76/35760e7d35144f0f99342c2ca51b87e7_310x31.png)
**arduino-IDE编程函数**:
>```
>Get_R4Pos(0);
>```
**说明**:返回值为该关节的角度值。
***
## 等待四轴码垛机器人上一个动作执行完毕(ESP32-R)
**功能**:等待该动作完全执行完毕,才进行下面的代码运行(中断除外);
**mixly编程**:
>![](https://img.kancloud.cn/3b/57/3b57ad67c769ff13e1d33d53e8caf0c5_227x35.png)
**arduino-IDE编程函数**:
>```
>WaitFinish_R4();
>```
**说明**:阻塞线程等待四轴码垛机器人上一个动作执行完毕。
***
## 设置Scara机器人运行速度(ESP32-R)
**功能**:设置Scara类型机器人的运行速度值;
**mixly编程**:
>![](https://img.kancloud.cn/c6/43/c643972a0f4edeae0ec79113fabbd57c_352x46.png)
**arduino-IDE编程函数**:
>```
>Set_ScaraSpeed(0);
>```
**说明**:设置工业机器人的速度值0~100之间。
***
## Scara机器人单轴动作(MEGA-R)
**功能**:设置Scara机器人某一个关节轴运行到某一点动作;
**mixly编程**:
>![](https://img.kancloud.cn/0f/28/0f28c8043720d038479c1ad3b82d7b18_441x47.png)
**arduino-IDE编程函数**:
>```
>Set_ScaraPos(0,0);
>```
**说明**:输入1为第几轴即`0~3`,输入2为位置坐标值`float32`;
***
## Scara机器人整体动作(MEGA-R)
**功能**:设置Scara机器人四个轴联动运行到某一个姿态点;
**mixly编程**:
>![](https://img.kancloud.cn/f2/af/f2af91462b35092454cf6f38efd699b1_642x40.png)
**arduino-IDE编程函数**:
>```
>Set_ScaraPos(0,0,0,0);
>```
**说明**:输入值为1轴,2轴,3轴,4轴各个轴要达到的目标点。
***
## 获取Scara机器人某轴的位置值(MEGA-R)
**功能**:获取该机器人某一个轴的位置角度值;
**mixly编程**:
>![](https://img.kancloud.cn/bc/42/bc4234b8327b31d47db86e7b079f3b35_370x35.png)
**arduino-IDE编程函数**:
>```
>Get_ScaraPos(0);
>```
**说明**:返回值为该关节的角度值。
***
## 等待Scara机器人上一个动作执行完毕(MEGA-R)
**功能**:等待该动作完全执行完毕,才进行下面的代码运行(中断除外);
**mixly编程**:
>![](https://img.kancloud.cn/b0/7e/b07ebd7dbf972fd957c81d56775bfb9d_316x41.png)
**arduino-IDE编程函数**:
>```
>WaitFinish_Scara()
>```
**说明**:阻塞线程等待Scara机器人上一个动作执行完毕。
- IOA简介
- 软件安装及注册
- 软件安装要求
- 西门子PLC仿真与安装
- 博图软件及仿真软件安装
- 实体1200PLC接入IOA
- 虚拟1200PLC接入IOA
- 虚拟1500PLC接入IOA
- S7-1214接入IOA信号说明
- S7-1512接入IOA信号说明
- ZMC运动控制系列仿真与安装
- ZMC308BE控制器说明
- ZMC308BE接入IOA仿真
- KEBA工业机器人软件安装使用及仿真
- 软件安装及维护
- IOA仿真与虚拟示教器
- IOA仿真与真实示教器
- 单片机控制与仿真
- arduino-uno控制器
- uno接入说明
- uno函数库
- arduino-mega控制器
- mega接入说明
- mega函数库
- ESP32物联网单片机
- ESP32接入说明
- ESP32库函数
- Python虚拟示教器控制器
- 虚拟机器人示教器
- 基础模块
- Mbus-S虚拟工厂模块
- Mbus-R4模块
- 物联网模块
- Python 环境搭建
- 视觉相机应用
- 图像识别助手说明
- 视觉相机接入IOA方法
- 软件注册
- 软件下载
- 软件安装
- 快速入门
- 快速上手视频合集
- 软件界面及基本操作
- IOA界面应用基础操作
- UI界面说明
- 快捷键应用
- 3D导航模式
- 3D场景布局操作
- 控制器连接
- 11
- IOA模型库概览
- 物流传输模型库说明
- 机械零件模型说明
- 机电单元模型说明
- 传感交互模型说明
- 人机交互模型
- 传感器模型
- 虚拟继电模型
- 机器人模型
- 物料模型库
- 移动机器人
- 建筑模型库
- 5分钟入门课程包
- 西门子PLC实训课程资源包
- 工业机器人示教与编程
- ZMC运动控制与编程
- 嵌入式入门与仿真
- 系统集成与应用