使用 Factory IO 和 博图V16 软件进行联合仿真
一、控制要求
1. 程序要求
基于 Factory IO 中示例场景 Converge Station 建立参考图示场景,控制要求:将货物顺利从入口传送到出口。
2. Factory IO 参考图
二、运行环境
1. 布置场景
根据场景 Converge Station 将多余的装置去掉,可以改一下各传感器和执行器的名称。不改也行,这里稍微改了两个方便些代码。
I/O口分配:
输入 | 输出 | ||||
---|---|---|---|---|---|
名称 | 作用 | 地址 | 名称 | 作用 | 地址 |
传感器1 | 传感器 | I0.0 | 传送带A | 传送带 | Q0.0 |
传感器2 | 传感器 | I0.1 | 传送带B | 传送带 | Q0.1 |
At transfer1 | 传感器 | I0.2 | Unload1 | 执行器 | Q0.2 |
At transfer2 | 传感器 | I0.3 | Load1 | 执行器 | Q0.3 |
Unload2 | 执行器 | Q0.4 | |||
Load2 | 执行器 | Q0.5 | |||
Transfer left1 | 执行器 | Q0.6 | |||
Transfer right1 | 执行器 | Q0.7 | |||
Transfer left2 | 执行器 | Q1.0 | |||
Transfer right1 | 执行器 | Q1.1 |
2.博图设置
导入 Factory IO 变量。
三、控制程序
程序块中新建一个FB函数块。
编程思路: 这次的工程并不难,了解了各个执行器的工作方式,熟悉了场景,编程就很轻松。因此就要在编程前知道整个货物传送的的基本流程,可以在 Factory IO 仿真条件下,对执行器强制执行。同时,编程时要注意给定各执行器的初始值。
完整代码:
//第一段开始使传送带A运动
"传送带A" := 1;
//中间段
IF "传感器1" THEN
"Load 2" := 1;
END_IF;
IF "At transfer 2" THEN
"Load 2" := 1;
"传送带A" := 0;
"Transfer left 1" := 1;
"Transfer left 2" := 1;
ELSE
"传送带A" := 1;
END_IF;
//最后段
IF "At transfer 1" THEN
"Transfer right 1" := 0;
"Transfer right 2" := 0;
"Transfer left 1" := 0;
"Transfer left 2" := 0;
"Load 1" := 1;
"传送带B" := 1;
END_IF;
IF "传感器2" THEN
"Transfer right 1" := 0;
"Transfer right 2" := 0;
"Transfer left 1" := 0;
"Transfer left 2" := 0;
END_IF;
总结
以上就是货物传送工程的全部内容啦!感谢大家的观看,有什么问题欢迎指正哦,谢谢!