## **Mixly FOR IOA 虛擬工廠**
### 初始化函數
**功能**:將控制器初始化為ESP23-S控制器
**說明**:庫文件包含,必須添加. Arduino函數初始化,

**arduino-IDE編程函數**:
> ~~~
> #include "ZtIoa.h"
> void setup(){
> _IoaCtrl.Init(DEVICE_TYPE_S);
> }
> void loop(){
> }
> ~~~
### IO輸出引腳操作
**功能**:控制單片機的IO口為輸出模式,并置位為高/低電平;

**arduino-IDE編程函數**:
> ~~~
> digital_IOA_Write(uint8_t pin,uint8_t val);
> ~~~
**說明**:參數pin為引腳號碼,參數val為0/1高低電平信號;
* * *
### IO輸入引腳讀取操作
**功能**:將單片機IO作為輸入引腳,并讀取其輸入狀態為高/低;
**mixly編程**:

**arduino-IDE編程函數**:
> ~~~
> digital_IOA_Read(uint8_t pin);
> ~~~
**說明**:輸入為引腳號,返回值為0低電平,1高電平;
### 軟IO中斷操作
**功能**:該組操作函數為(1)開啟某IO引腳為輸入狀態并檢測中斷,(2)、當該IO引腳發生中斷自動執行某函數,(3)、打開/關閉某IO引腳中斷功能;
**mixly編程**:

**arduino-IDE編程函數**:
> ~~~
> //開啟軟中斷
> digital_IOA_InterruptEnable(uint8_t pin); //開啟pin引腳中斷;
> //配置軟中斷函數
> //參數pin輸入引腳號,IOA_AttachPinInterrupt_fun_0回調函數指針,
> //軟中斷觸發方式參數CHANGE 突變觸發、FALLING 下降沿觸發,RISING上升沿觸發
> digital_IOA_AttachInterrupt( uint8_t pin ,IOA_AttachPinInterrupt_fun_0,RISING);;
> //當中斷響應時候,調用中斷回調函數:
> void IOA_AttachPinInterrupt_fun_0() {
> //中斷執行的子函數;
> };
> //關閉中斷
> digital_IOA_InterruptDisable(0);//關閉該引腳中斷響應;
>
> ~~~
**代碼示例**
* * *
**mixly圖形化程序**:

**翻譯IDE函數**:
> ~~~
> //定義中斷回調函數
> void IOA_AttachPinInterrupt_fun_0() {
> Float32_Write(0,0);
> }
> void setup(){
> _IoaCtrl.Init(DEVICE_TYPE_R);
> pinMode(0, INPUT);
> digital_IOA_InterruptEnable(0);
> digital_IOA_AttachInterrupt(0,IOA_AttachPinInterrupt_fun_0,RISING);
> }
>
> ~~~
**說明**:設置引腳0為中斷響應,設置為上升沿中斷,當發生引腳0上升沿則執行: Float32_Write(0,0)
函數
### 模擬量輸出控制
**功能**:控制單片機寄存器模擬量輸出至虛擬模型,如操作速度、大小等變量控制;
**mixly編程**

**arduino-IDE編程函數**
> ~~~
> Float32_Write(0,50);
> ~~~
**說明**:設置通道寄存器float32-0輸出值為50;
## 模擬量輸入讀取
**功能**:讀取虛擬世界的模擬量反饋,如旋鈕開關,坐標數據等;
**mixly編程**

**arduino-IDE編程函數**
> ~~~
> Float32_Read(0);
> ~~~
**說明**:讀取通道float32-0的寄存器的值,并返回值;
## 虛擬伺服電機速度控制
**功能**:設置某M電機的轉動速度值為當前值,0~100;
**mixly編程**

**arduino-IDE編程函數**
> ~~~
> Set_ServoSpeed(0,0);
> ~~~
**說明**:輸入電機編號0~7,輸入電機速度為0~100;
* * *
## 虛擬伺服電機位置控制
**功能**:設置某M電機要達到的執行位置,輸入值為浮點數float32;
**mixly編程**

**arduino-IDE編程函數**
> ~~~
> Set_ServoPos(0,0);
> ~~~
**說明**:輸入電機編號0~7,電機要執行達到的位置值pos(float32);
* * *
## 讀取虛擬電機位置值
**功能**:讀取某M電機當前的位置坐標值;
**mixly編程**

**arduino-IDE編程函數**
> ~~~
> Get_ServoPos(0);
> ~~~
**說明**:輸入電機編號0~7,返回該電機目前虛擬位置pos的值(float32);
* * *
## 等待電機執行完成上一個動作
**功能**:阻塞線程,等待該M電機執行并達到目標位置pos點;
**mixly編程**:

**arduino-IDE編程函數**:
> ~~~
> WaitFinish_ServoPos(0);
**說明**:等待電機0執行到位置點才會執行接下來的代碼動作;
- 歡迎使用IOA數字孿生
- IOA-更新與安裝
- 軟件注冊與安裝
- 軟件使用協議
- 注冊與使用
- (一)、認識IOA基礎界面功能
- UI界面與設置
- 軟件環境設置
- 三維導航操作
- 3D導航球使用
- 快捷鍵與仿真
- (二)、三維場景搭建
- 3D設計視頻教程
- 坐標及旋轉
- 模型參數設置
- 模型樹與拼接
- 從SolidWorks到IOA放置的模型自制
- IOA輔助工具
- (三)、虛擬電氣與調試
- 虛擬電氣信號歸類
- 虛擬接線與導出
- (三)、虛實控制與編程
- 西門子PLC的仿真與控制
- 西門子實體PLCS7-1214控制器的添加與控制
- 西門子虛擬PLCS7-1214控制器的添加
- 西門子PLCS7-1512控制器的添加
- 三菱PLC的仿真與控制
- 三菱PLC仿真器的使用說明
- 三菱PLC的添加與說明
- 工業機器人(納博特)仿真
- 工業機器人(KEBA)仿真
- 工業機器人(埃夫特)仿真
- 協作機器人(遨博)仿真
- 運動控制(ZMC308)正運動仿真
- 機器視覺(VPLC516)正運動仿真
- 微型機器人(開塔)仿真
- Py-teach快速編程仿真
- 人工智能視覺仿真
- 單片機接入與仿真控制
- Mixly-UNO_S虛擬工廠SDK
- Mixly-MEGA_S虛擬工廠SDK
- Mixly-ESP32虛擬工廠SDK
- 樹莓派與Python仿真
- (四)、自定義控制器添加
- modbus-tcp自定義控制器
- (五)、Py-teach模塊化編程示教
- Py-teach軟件使用
- 語法與編程
- py-teach快速編程在線教程
- (六)、SDK與二次開發
- modbus-tcp自定義控制器SDK
- 機器視覺開發SDK
- EAIDK-610固件燒錄手冊
- EAIDK-610快速上手手冊
- EAIDK-610案例使用手冊
- (七)、快速上手案例教程
- 西門子PLC虛實仿真公開課
- 納博特工業機器人虛實仿真
- 三菱PLC虛實仿真
- (八)、XR多人互動
- (九)、問題歸總
- (十)、IOA硬件虛實仿真導航
- IOA虛實控制器及案例下載
- 虛實控制器資源包
- 機器視覺與人工智能