使用 Factory IO 和 博图V16 软件进行联合仿真
一、控制要求
1. 程序要求
基于 Factory IO 中 场景4-Queue of Items(Counters) 。发送四个零件(不能多发),进行传送,当四个零件传送完毕时,关闭传送带。
2. Factory IO 参考图
二、运行环境
1. 布置场景
场景这里就是 Factory IO 中的场景4,传感器和执行器的名称可以改一下。
驱动选 Siemens S7-PLCSIM ,配置中类型改为 S7-1200 。
I/O口分配:
输入 | 输出 | ||||
---|---|---|---|---|---|
名称 | 作用 | 地址 | 名称 | 作用 | 地址 |
物料检测 | 传感器 | I0.0 | A传送带 | 传送带 | Q0.0 |
传感器A | 传感器 | I0.1 | B传送带 | 传送带 | Q0.1 |
传感器B | 传感器 | I0.2 | 下物料 | 执行器 | Q0.2 |
2.博图设置
导入 Factory IO 变量。
3.PLC与虚拟工厂连接
连接步骤: 博图编译 -> 成功编译后 -> 启动仿真 -> 装载 -> 完成 -> RUN -> Factory IO 驱动 -> 连接。
三、控制程序
程序块中新建一个FB函数块。
编程思路: 接下来明确传送带和下物料的执行步骤,这个时候就要用到计数器!物料检测传感器每有一次0到1的变化,也就是上升沿,就计数加一,直到加到4,停止下物料。传感器B也要计数,和物料检测传感器一样,计数到4就停止传送带的运动。
完整代码:
//是否是初次执行
IF NOT #I THEN
// Statement section IF
#IEC_Counter_0_Instance.CV := 0; //计数器置0
#IEC_Counter_0_Instance_1.CV:=0;
"A传送带" := 0;
"B传送带" := 0;
#I := 1;
END_IF;
//计数器
#IEC_Counter_0_Instance(CU := "物料检测",
PV := 1);
IF #IEC_Counter_0_Instance.CV < 4 THEN
"下物料" := 1;
"A传送带" := 1;
"B传送带" := 1;
ELSE
"下物料" := 0;
END_IF;
#IEC_Counter_0_Instance_1(CU:="传感器B",
PV:=1);
IF #IEC_Counter_0_Instance_1.CV = 4 THEN
"A传送带" := 0;
"B传送带" := 0;
END_IF;
总结
以上就是控制传送带输出物料的全部内容啦!感谢大家的观看,有什么问题欢迎指正哦,谢谢!