Step0 前言
上一篇中, 我们采用仿真序列的方式,进行了搬运逻辑的尝试,仅仅是固定一个点去放盒子,所以这篇文章将通过PLC程序控制去每一层地垒起来。
Step1 MCD创建信号
信号可选择是否为运行时参数,即对机电对象的速度、定位等的代理,可选输出还是输入,可选数值类型,可选测量类型,可填初始值。
我们要对轴位置进行控制,所以需要添加XYZ轴的定位输入信号,供PLC改变控制,同时添加输出信号,为实时测量反馈定位数值,作为是否到位的判断。
对于气缸,在真实设备中,通过一个bool信号控制开断就可以控制气爪伸缩,所以添加一个布尔型输入变量,配合仿真序列如下
Step2 博图创建工程以及PLC组态
创建工程我们直接打开项目视图,添加设备,添加1500CPU、HMI、DI(数字式输入)、DQ(数字式输出)、AI(模拟量入)、AQ(模拟量输出)模块等,这里选择1515T-2 PN,另外PLCSIM Advanced不支持1200CPU仿真,HMI添加精智屏7寸。CPU添加子网和设置IP
或直接拖拽以太网接口连接HMI,自动添加子网,地址默认,HMI和PLCSIM Advanced保持IP地址前三位一致。HMI添加子网和设置IP
PLCSIM Advanced设置
项目属性中勾选块编译支持仿真
编译下载
按前面这几步,组态工作就完成,可以实现PLCSIM Advanced仿真。
拓展
对于本文中实现虚拟调试,若按必要模块来讲,只需要添加1500型CPU和HMI就行,但为了学习组态,我们可以添加其他模块,同时由于真实设备是需要工艺对象即位置控制伺服电机去控制,因此选择1515T-2 PN CPU搭配V90 PN尝试进行组态,看是否能够采用工艺对象实现对模型的控制,而不是用move指令。
对于常见模块作用,以及v90pn的组态,参见参考资料。
Step3 MCD外部信号配置和信号映射
将PLC程序变量,下载到PLCSIM Advanced中,MCD就可以配置外部信号,映射变量。
外部信号配置 添加实例——选择数据区域——更新标记——全选变量——确定导入
信号映射 选择对应的信号 点击中间映射
映射变量之后,就可以进行联合调试,使用PLC在线状态和监控表,使用MCD查看器,监控变量数值,查看程序运行,记录变量数据,进行调试。
Step4 PLC编程
-
第一要义——Ctrl+S
改一个字都要保存,博图没有自动保存功能,由于软件又卡,为防止掉发,记得随时保存项目。
-
创建变量
在组态完成后,先选择创建变量。
对于开关输入,选则M变量,因为在HMI中如果添加按键,是无法改变I变量,因为其值由外部输入信号控制,对于传送带传感器,添加I0.0。对于开关保持输出线圈的变量,选择Q变量。
对于M变量,由于使用最多,需要用于开关和程序跳转中,为防止冲突和混乱,以及便于扩展,所以尽可能有个基本规划,我的经验是跳着空一段然后进行定义。
对于数量、行列计数等,为int型,对于位置数值,为real型,分配到M50到100之后。
可打开分配列表查看是否有冲突 也可看出变量数据长度,int为2个字节,16位,real为4个字节,32位。
-
程序结构
添加必要的块,进行模块化编程,逻辑更清晰。Main块是主程序,调用其他函数块。
Startup是上电初始块,上电运行一次,放入码垛取垛位置初始参数的初始化。
公有块:手动和复位模式切换开关,启动开关,位置处理等。
手动块:手动模式控制三轴和气缸。
自动块:码垛的实现。
直接复位:按下复位,直接复位,不过运动顺序和避免碰撞等。
顺序复位块:暂时未写,按顺序复位。
回原块:暂时未写。
在Main块中调用函数块
3. 手动程序的实现
采用位置增加或减小一定量的形式实现JOG运动,通常在真实设备中要JOG运动,是要给定速度、加速度、加加速度,不给位置,而要想在MCD中实现,是要添加速度控制,但是位置控制和速度控制会冲突,只能激活一个,所以可以通过激活和不激活来切换,但比较繁琐,所以我们先采用按键按下,位置就增加或减少的方式。
3. 自动程序实现
这一节讲述自动码垛程序中的实现,有哪些必要和技巧。
公有块中对定位误差进行计算,用于判断是否运动到位,公式为:
误差=abs(发送位置-反馈位置),通过判断误差小于一定值就判断到位。
对于角度控制,PLC发送的数值,在MCD中是弧度数值,所以需要处理,转换为度数。
程序跳转逻辑采用书籍《 S7-1200 PLC编程及应用——廖常初》推荐的设计方法——使用置位和复位指令变活动步。
连续的两条语句如下:实现 传感器触发,XY同时运动到取垛位,Z轴再下降。
注意点:位置判断前加延时,防止MCD反馈数据更新不及时。
计数,采用完成一次搬运时信号的上升沿
对于层行列判断采用取模计算,计算余数。
插入SCL语言进行较为复杂的计算。
-
HMI 变量
直接从PLC变量中拷贝需要的HMI变量,注意采样周期,过长按键反馈不即时。
-
HMI界面
手动画面:手动控制三轴点动运动,气爪伸缩,位置反馈。
自动画面:显示搬运数量,正在码垛位置,按钮启动等。
-
按键外观以及事件
按下变绿色,添加外观
连接变量,根据变量值进行颜色切换
按下置位手动变量
释放置位手动变量,释放激活手动屏幕画面,对于需要置位复位的变量,不要在按下时切换屏幕,会检测不到。
变量数值显示,比如位置,添加I/O域,连接变量即可
启动屏幕仿真
Step5 码垛机联合调试演示
最后是联合调试,实际上在写程序的过程中就会一边写一边调试。但由于两个程序都开启可能对电脑配置要求高,而同时为避免将大量时间放在调试中,所以要求写程序思路要清晰,把简单的功能验证完之后,就可以专注于PLC程序,用PLCSIM Advanced单独仿真把必要的问题调试成功再和MCD调试,这样会快速很多。
手动控制演示
自动码垛演示
文章列表:
【UG NX MCD 机电一体化概念设计】UG NX MCD+PLCSIM Advanced联合仿真实例(一)基本配置
【UG NX MCD 机电一体化概念设计】UG NX MCD+PLCSIM Advanced联合仿真实例(二 )仿真序列
【UG NX MCD 机电一体化概念设计】UG NX MCD+PLCSIM Advanced联合仿真实例(三) 联合调试
B站视频列表:
仿真序列演示视频:https://www.bilibili.com/video/BV1f54y1Q7vG
联合仿真演示视频:https://www.bilibili.com/video/BV1Kk4y167LR
仿真序列模型分享:
链接:https://pan.baidu.com/s/18c-gMuPywBZ__0pvB3A0hQ
提取码:s86q
联合仿真模型分享:
最终源模型和PLC工程文件分享:在交流群(群号:1105076200)中分享
参考资料
[1] 西门子S7-1500PLC的常用模块及功能 http://www.elecfans.com/d/856003.html
[2] S7-1500T 连接V90 PN实现运动控制(Portal V14)
[3] S7-1500运动控制使用入门
[4] v90 pn搜索页
[5] S7-1500(T)对V90PN伺服进行速度控制的三种方法 https://www.sohu.com/a/342605983_315598
[6] 廖常初. S7-1200 PLC编程及应用[M].北京:机械工业出版社, 2009.1-7.
推荐学习平台
-
西家智创app 中课程, 自行各大应用商店搜索
-
官方学习资料 https://docs.sw.siemens.com/en-US/product/209349590/doc/PL20190529153447339.mechatronics/html/id1101745