项目简介
通过factory io搭建场景,用西门子1200进行仿真。实现了一个可以进行加工、分拣、码垛、入库的智能工厂。
使用软件
factory io
S7-PLCSIM V18
TIA Portal V18
Nettoplcsim-S7o-v-1-2-1-0
McgsPro组态软件
结构介绍
1.加工中心
factory io不能进行机器人编程,只需要通过PLC给一个开始信号,就会自动运行。这里物料上料时间设置的是50秒左右,太快的话后面的分拣跟不上。这里一共会出现黄、蓝、灰三种物料。机器人输出的双字int可以显示加工的进度。
2.分拣中心
分拣中心通过视觉识别和转盘进行分拣。之前尝试过压力传感器,和另一种滚轮的转盘,但是效果都不理想。进去视觉前的气缸会在视觉的自动步停止太久后推出,防止物料堆积太多。为了避免物料卡住,上料一侧的传送带比后面都高一格。需要注意,如果factory io的运行速度不能设置太快,否则传感器的信号是PLC就捕捉不到的。这里物料如果卡在上料传送带和转盘之间,需要手动推一下,暂时没有找到更好的解决方法。
3.码垛中心
码垛有XYZ三个轴、吸盘、物料整理器、物料上料传送带、基座上料传送带、基座挡板等构成。这里XYZ输入输出的都是0到27648的int值。物料累积3块后,就会放下挡板,使之运行到下一个机构。
4.入库中心
仓库的部分只写了入库,没有写出库。这是一个6*9的仓库,目标位置的输入是从1到54,如果输入大于54的值,就会回到取料的位置。程序中自动模式下,会通过每个仓库位置的标志位是否被点亮而顺序入库。
程序内容
大体分为:初始化、输出控制、自动步。
我的程序没有写IO映射,通过不同的操作最后在输出控制中输出所有Q点。FC6单字输出控制里面是XYZ轴和仓库目标位置的内容。
一些手动控制的内容也放在了初始化里面。视觉12、码垛123、货架123之间的内容相似。
货架上位置的计算如图,通过数组完成。
必须要调用MHJ-PLC-Lab-Function-S71200后PLC才能和factory io连接上。这个FC块在模板文件里。
由于IO点位的问题,有一个机器人1的进度是没有输入的。
触摸屏
触摸屏很多关联都没有做。主界面上的3堆灰格子可以管理仓库位置的标志位。
最右边的三个全部按钮,可以一次性控制6台设备。
IO点位和HMI控制重写过好几次,触摸屏的之前关联应该都失效了。
货架有几个传感器点位是常开的。
报警没有写。
总结
程序逻辑不复杂,但fiactory io里面的各种传送带、传感器的位置调整很消耗时间。有时候iactory io里面的点位(本程序的Q8.0到Q8.7,但现在没有)会莫名其妙地乱跳。传感器也老是会失灵,场景里面用的常开的传感器比常闭的要稳定一点。
运行效果
智能工厂