使用 Factory IO 和 博图V16 软件进行联合仿真
一、控制要求
1. 程序要求
基于 Factory IO 中示例 场景2 建立参考图示的场景,控制要求: 运送货物到达长运输台末端停止。
2. Factory IO 参考图
二、运行环境
1. 布置场景
根据场景2,加上一个转盘,调整转盘、传送带和货物的位置及方向。可以改一下传感器和执行器的名称,方便后面编程。
设置驱动类型,若引脚数不够,在配置中设置输入/输出点个数。
I/O口分配:
输入 | 输出 | ||||
---|---|---|---|---|---|
名称 | 作用 | 地址 | 名称 | 作用 | 地址 |
传感器A | 传感器 | I0.0 | 传送带 | 传送带 | Q0.0 |
传感器B | 传感器 | I0.1 | 转盘传送正传 | 传送带 | Q0.1 |
转盘传感器1 | 传感器 | I0.2 | 转盘传送反传 | 传送带 | Q0.2 |
转盘传感器2 | 传感器 | I0.3 | 转盘转动 | 执行器 | Q0.3 |
转盘转到位 | 传感器 | I0.4 | |||
转盘还原 | 传感器 | I0.5 |
2.博图设置
导入 Factory IO 变量。
三、控制程序
程序块中新建一个FB函数块。
编程思路: 这次工程和上一篇难度差不多,在熟悉所有执行器的运行方式后就可以很快进行编程了。为了使转盘、转盘的传送带和长传送带可以按照步骤,达到一定条件就执行该步骤,按顺序一步一步执行下去,这里就需要用到case语句!(设置一个变量M为int型)
完整代码:
CASE #M OF
0:
IF "转盘传感器1" THEN
"转盘传送正转" := 1;
ELSE
IF "转盘传感器2" THEN
"转盘传送正转" := 0;
"转盘转动" := 1;
#M := 1;
END_IF;
END_IF;
1:
IF "转盘转到位" THEN
"转盘传送反转" := 1;
#M := 2;
END_IF;
2:
IF NOT "传感器A" THEN
"传送带" := 1;
#M := 3;
END_IF;
3:
IF NOT "传感器B" THEN
"传送带" := 0;
"转盘转动" := 0;
END_IF;
END_CASE;
总结
以上就是本篇文章的全部内容啦!感谢大家的观看,有什么问题欢迎指正哦,谢谢!