# Python与IOA仿真方法
*更新时间:2022年5月19日*
> 本章节介绍python与IOA的仿真方法,具体包含
> = 工作原理
> = 软件需求
> = 软件安装
> = 测试用例搭建方法
> 其中,测试用例有两个,分别为**虚拟控制器**的连接与控制以及**虚拟相机**的连接与控制
> 本章演示和视频讲解 [点击链接播放](http://39.106.220.92:8080/workspace/2/video/video.mp4)
## 1. 工作原理
>IOA虚拟仿真引擎将场景内虚拟相机实时捕获的图像信息利用tcp协议发送出去,python程序接收该信息后对图像进行处理,得到处理结果后利用tcp协议控制场景内虚拟控制器
![](https://img.kancloud.cn/a6/1b/a61bb5d0b95be1e5abbb2595bea08c00_1013x503.png)
## 2. 软件需求
> 在本教程当中,需要使用到一台Windows系统的PC主机,硬件资源需要满足内存不小于8G,搭载规格不低于1050的独立显卡。在此Windows主机中,需要安装以下软件:
\- [**IOA虚拟仿真软件**](http://www.ioaol.com/)
\- [**Python解释器**](https://www.python.org/)
\-[ **Visual Studio Code编辑器(可选)**](https://code.visualstudio.com/)
\-[ **Python库**](//down.ioaol.cn/004C54B39E870007)
## 3. 软件安装
> Visual Studio Code并非必选项,但在此教程当中将使用Visual Studio Code作为编辑器,强烈建议对python不太熟悉的初学者安装此软件。对于有python使用经验的用户,可以自行选用熟悉的编辑器,并利用pip管理工具安装依赖。
>
>IOA虚拟仿真引擎从官网(http://www.ioaol.com/) 获取,安装即可运行,无需进行额外配置。以下两节将介绍python解释器与Visual Studio Code编辑器的安装与配置。
#### **python解释器的安装与配置**
> **Step1** 打开Windows的 Microsoft Store,可从开始菜单中进行搜索。
**Step2** 在搜索栏中搜索python,可看到如下界面
![](https://img.kancloud.cn/1b/14/1b143413de57350c27c97139bf95277e_802x506.png =650x400)
**Step3** 建议安装Python3.7。点击Python3.7,在弹出页面中,点击安装。
**Step4** 安装python依赖库。按下 Win+R,在弹出的运行框内输入cmd,点击确定。
![](https://img.kancloud.cn/85/55/8555ab6685e5a7753cdf73356603b942_538x285.png =300x150)
**Step5** 在弹出的Windows命令行内输入以下命令:
`pip install opencv-python modbus_tk paddlepaddle paddleocr imutils `
然后按下回车,等待安装完成即可。
![](https://img.kancloud.cn/5a/30/5a30b116937842e479d3583aef70ddf9_1015x530.png =650x400)
#### **Visual Studio Code的安装及配置**
> **Step1** 从官网(https://code.visualstudio.com) 获取Visual Studio Code安装包。
> ![](https://img.kancloud.cn/cc/74/cc747a4fd406c415d2b2c30f465583aa_1015x611.png =650x400)
> ** Step2** 运行安装程序,保持默认选项进行安装。
> **Step3** 打开Visual Studio Code,安装python拓展。
> ![](https://img.kancloud.cn/cd/f4/cdf4fedecf0acbad4e6853c3df8a32f2_830x531.png =650x400)
> ** Step4** (可选)用户也可从拓展中搜索中文拓展包(Simple Chinese),以及其他拓展包。
## 4. 测试用例搭建方法 - IOA与虚拟相机的交互控制
> **step1** 搭建IOA场景
>
a. 打开IOA软件
b. 从素材库中拖出一个**视觉相机**
![](https://img.kancloud.cn/71/a1/71a1b1b2f25baf0faa2e5ec1146cc224_1921x1033.png)
c. 从素材库中拖出一个**矮紫色快**
![](https://img.kancloud.cn/48/d8/48d8d3f80a66ca9290f4d8f5ea1557a8_1915x1030.png)
d. 将两个物体移动至合适位置,使视觉相机能够看到目标物体
> **step2** 编写python程序
a. 创建一个文件夹,用于存放案例代码
b. 打开Visual Studio Code,点击 **文件** **\-打开文件夹**,打开此文件夹。
c. 将IOA驱动库放在此文件夹下。
d. 新建一个main.py文件,用于编写本案例的代码,目录结构如下:
![](https://img.kancloud.cn/d2/dd/d2dda313ee1969dc4d946d9ebb334375_716x182.png)
e. 编写main.py文件,将如下代码编写进去并保存
```
from IOA_driver import *
# 创建一个摄像头
camera = Camera()
while(True):
# 获取摄像头图像
camera.get\_image()
# 延时
time.sleep(0.5)
# 显示摄像头图像
camera.show()
```
> **step3** 运行案例
a. 在IOA软件内,点击运行按钮
![](https://img.kancloud.cn/2b/6b/2b6b7ef71102c6f12153444fb47a7330_1915x1024.png)
b. 在Visual Studio Code内,点击 Run python file按钮
![](https://img.kancloud.cn/45/72/45722d971a49fa5ee6f146815c3d6cdb_1920x1030.png)
## 5. 测试用例搭建方法 - IOA与虚拟相机的交互控制
> **step1** 搭建IOA场景
a. 打开IOA软件
b. 从素材库中拖出一个**LED灯**
![](https://img.kancloud.cn/a5/3d/a53dcc32d109cef60e5ae93aa29b7521_1917x1027.png)
c. 添加控制器
![](https://img.kancloud.cn/d2/4d/d24dd4d1b8149d66813b64784437f49e_1916x1032.png)
d. 配置接线,LED连到控制器的 DO-0管脚
![](https://img.kancloud.cn/26/9e/269eb32718a7998957f54e9391a6327e_1945x1033.png)
> **step2** 编写python程序
a. 创建一个文件夹,用于存放案例代码
b. 打开Visual Studio Code,点击 **文件** **\-打开文件夹**,打开此文件夹。
c. 将IOA驱动库放在此文件夹下。
d. 新建一个main.py文件,用于编写本案例的代码,目录结构如下:
![](https://img.kancloud.cn/d2/dd/d2dda313ee1969dc4d946d9ebb334375_716x182.png)
e. 编写main.py文件,将如下代码编写进去并保存
```
from IOA_driver import *
# 创建一个虚拟控制器
controller = Controller()
# LED的接线配置为 DO-0
pin_led = 0
while True:
# 点亮LED
controller.DigitalWrite(pin\_led, 1)
# 延时
time.sleep(1)
# 熄灭LED
controller.DigitalWrite(pin\_led, 0)
# 延时
time.sleep(1)
```
> **step3** 运行案例
a. 在IOA软件内,点击运行按钮
![](https://img.kancloud.cn/30/ba/30ba1e5f4136afa0dd34bc5d5451badd_1916x1030.png)
b. 在Visual Studio Code内,点击 Run python file按钮
![](https://img.kancloud.cn/2a/a4/2aa4320a06129079c12ec31e60cdf7b6_1918x1037.png)
- IOA-更新与安装
- 软件注册与安装
- 软件使用协议
- 注册与使用
- (一)、认识IOA基础界面功能
- UI界面与设置
- 软件环境设置
- 三维导航操作
- 3D导航球使用
- 快捷键与仿真
- IOA开发工具下载汇总
- (二)、三维场景搭建
- 坐标及旋转
- 模型树与拼接
- 从SolidWorks到IOA放置的模型自制
- IOA辅助工具
- (三)、虚拟电气与调试
- (三)、虚实控制与编程
- 西门子PLC的仿真与控制
- 实体S7-1200控制器的添加
- 虚拟S7-1200控制器的添加
- 西门子PLCS7-1512控制器的添加
- 三菱PLC的仿真与控制
- 三菱PLC仿真器的使用说明
- 三菱PLC的添加与说明
- 工业机器人(纳博特)仿真
- 工业机器人(KEBA)仿真
- 工业机器人(埃夫特)仿真
- 协作机器人(遨博)仿真
- 运动控制(ZMC308)正运动仿真
- 机器视觉(VPLC516)正运动仿真
- 微型机器人(开塔)仿真
- 开塔机器人使用教程
- IOA与开塔机器人仿真
- 工业机器人(ABB)仿真
- Py-teach快速编程仿真
- Py-teach与IOA仿真
- Py-teach语法与编程
- Python编程与仿真
- Python与IOA仿真方法
- Python编程API说明
- 树莓派与IOA仿真
- EAIDK610与IOA仿真
- 单片机接入与仿真控制
- Mixly与IOA
- ArduinoIDE
- Mixly-MEGA_S虚拟工厂SDK
- Mixly-UNO_S虚拟工厂SDK
- Mixly-ESP32虚拟工厂SDK
- (四)、自定义控制器添加
- modbus-tcp自定义控制器