# 虛擬控制器 API 說明
## 使用示例
```
controller = Controller()
while True:
? ? controller.DigitalWrite(0,1)
? ? print("DI0's value is : " + str(controller.DigitalRead(0)))
? ? controller.Float32Write(0, 2.3)
? ? print("FI0's value is : " + str(controller.Float32Read(0)))
? ? controller.MotorMoveAngle(0,320)
? ? controller.MotorWaitFinish(0)
? ? time.sleep(1)
? ? controller.DigitalWrite(0,0)
? ? print("DI0's value is : " + str(controller.DigitalRead(0)))
? ? controller.Float32Write(0, 0.2)
? ? print("FI0's value is : " + str(controller.Float32Read(0)))
? ? controller.MotorMoveAngle(0,300)
? ? controller.MotorWaitFinish(0)
? ? time.sleep(1)
```
## ? ? Controller(id = 1, host="127.0.0.1", port=502, type = "ROBOT\_M8")
* [ ] ? ? ? ? - 說明:創建新的虛擬控制器
* [ ] ? ? ? ? - 示例:
>
> ? ? ? ? ? ? controller = Controller()
>
> ? ? ? ? ? ? 創建一個新的虛擬控制器,并將其命名為 controller
* [ ] ? ? ? ? - 參數:
>
> ? ? ? ? ? ? id ? ? ?控制器ID ? ? ? ?默認值為1
>
> ? ? ? ? ? ? host ? ?控制器IP地址 ? ?默認為本機 127.0.0.1
>
> ? ? ? ? ? ? port ? ?控制器端口號 ? ?默認為9999
>
> ? ? ? ? ? ? type ? ?控制器類型 ? ? ?默認為 ROBOT\_M8 , 暫不支持其他類型
>
## ? ? DigitalWrite(pin, val)
* [ ] ? ? ? ? - 說明:向虛擬控制器的 DO 管腳設置新的值
* [ ] ? ? ? ? - 示例:
>
> ? ? ? ? ? ? controller.DigitalWrite(0, 1)
>
> ? ? ? ? ? ? 設置虛擬控制器的 DO0 管腳值為1
* [ ] ? ? ? ? - 參數:
>
> ? ? ? ? ? ? pin ? ? DO 管腳號
>
> ? ? ? ? ? ? val ? ? 要設置的新值
## ? ? Float32Write(pin, val)
* [ ] ? ? ? ? - 說明:向虛擬控制器的 FO 管腳設置新的值
* [ ] ? ? ? ? - 示例:
>
> ? ? ? ? ? ? controller.Float32Write(0, 2.3)
>
> ? ? ? ? ? ? 設置虛擬控制器的 FO0 管腳值為2.3
* [ ] ? ? ? ? - 參數:
>
> ? ? ? ? ? ? pin ? ? FO 管腳號
>
> ? ? ? ? ? ? val ? ? 要設置的新值
## ? ? DigitalRead(pin)
* [ ] ? ? ? ? - 說明:讀取虛擬控制器的 DI 管腳當前電平信息
* [ ] ? ? ? ? - 示例:
>
> ? ? ? ? ? ? value = controller.DigitalRead(0)
>
> ? ? ? ? ? ? 讀取虛擬控制器的 DI0 管腳信息,并將值賦值給 value 變量
* [ ] ? ? ? ? - 參數:
>
> ? ? ? ? ? ? pin ? ? DI 管腳號
## ? ? Float32Read(pin)
* [ ] ? ? ? ? - 說明:讀取虛擬控制器的 FI 管腳當前電平信息
* [ ] ? ? ? ? - 示例:
>
> ? ? ? ? ? ? value = controller.Float32Read(0)
>
> ? ? ? ? ? ? 讀取虛擬控制器的 FI0 管腳信息,并將值賦值給 value 變量
* [ ] ? ? ? ? - 參數:
>
> ? ? ? ? ? ? pin ? ? DI 管腳號
>
## ? ? MotorMoveAngle(motor, pos, speed=5)
* [ ] ? ? ? ? - 說明:控制虛擬控制器的伺服電機運動到指定位置
* [ ] ? ? ? ? - 示例:
>
> ? ? ? ? ? ? controller.MotorMoveAngle(0, 90, 20)
>
> ? ? ? ? ? ? 讓虛擬控制器的 M0 電機,移動到 90 位置,運動速度為20
* [ ] ? ? ? ? - 參數:
>
> ? ? ? ? ? ? motor ? 伺服電機編號
>
> ? ? ? ? ? ? pos ? ? 要移動到的位置
>
> ? ? ? ? ? ? speed ? 移動速度,默認值為5
## ? ? MotorReadAngle(motor)
* [ ] ? ? ? ? - 讀取虛擬控制器的電機當前位置
* [ ] ? ? ? ? - 示例:
>
> ? ? ? ? ? ? position = controller.MotorReadAngle(0)
>
> ? ? ? ? ? ? 讀取虛擬控制器伺服電機 M0 的當前位置,并將位置信息賦值給 position 變量
* [ ] ? ? ? ? - 參數:
>
> ? ? ? ? ? ? motor ? 伺服電機編號
## ? ? MotorWaitFinish(motor)
* [ ] ? ? ? ? - 等待虛擬控制器的某個伺服電機運動完成
* [ ] ? ? ? ? - 示例:
>
> ? ? ? ? ? ? controller.MotorWaitFinish(0)
>
> ? ? ? ? ? ? 等待 M0 電機運行結束
* [ ] ? ? ? ? - 參數:
>
> ? ? ? ? ? ? motor ? 伺服電機編號
- 歡迎使用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虛實控制器及案例下載
- 虛實控制器資源包
- 機器視覺與人工智能