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编程
  1. 第一要义——Ctrl+S

    改一个字都要保存,博图没有自动保存功能,由于软件又卡,为防止掉发,记得随时保存项目。

  2. 创建变量
    在组态完成后,先选择创建变量。
    对于开关输入,选则M变量,因为在HMI中如果添加按键,是无法改变I变量,因为其值由外部输入信号控制,对于传送带传感器,添加I0.0。

    对于开关保持输出线圈的变量,选择Q变量。
    在这里插入图片描述
    对于M变量,由于使用最多,需要用于开关和程序跳转中,为防止冲突和混乱,以及便于扩展,所以尽可能有个基本规划,我的经验是跳着空一段然后进行定义。
    在这里插入图片描述
    对于数量、行列计数等,为int型,对于位置数值,为real型,分配到M50到100之后。
    在这里插入图片描述
    可打开分配列表查看是否有冲突 也可看出变量数据长度,int为2个字节,16位,real为4个字节,32位。
    在这里插入图片描述

  3. 程序结构
    添加必要的块,进行模块化编程,逻辑更清晰。

    Main块是主程序,调用其他函数块。
    Startup是上电初始块,上电运行一次,放入码垛取垛位置初始参数的初始化。
    公有块:手动和复位模式切换开关,启动开关,位置处理等。
    手动块:手动模式控制三轴和气缸。
    自动块:码垛的实现。
    直接复位:按下复位,直接复位,不过运动顺序和避免碰撞等。
    顺序复位块:暂时未写,按顺序复位。
    回原块:暂时未写。

    在这里插入图片描述
    在Main块中调用函数块
    在这里插入图片描述

3. 手动程序的实现
采用位置增加或减小一定量的形式实现JOG运动,通常在真实设备中要JOG运动,是要给定速度、加速度、加加速度,不给位置,而要想在MCD中实现,是要添加速度控制,但是位置控制和速度控制会冲突,只能激活一个,所以可以通过激活和不激活来切换,但比较繁琐,所以我们先采用按键按下,位置就增加或减少的方式。
在这里插入图片描述
3. 自动程序实现

这一节讲述自动码垛程序中的实现,有哪些必要和技巧。

公有块中对定位误差进行计算,用于判断是否运动到位,公式为:

误差=abs(发送位置-反馈位置),通过判断误差小于一定值就判断到位。
在这里插入图片描述
对于角度控制,PLC发送的数值,在MCD中是弧度数值,所以需要处理,转换为度数。
在这里插入图片描述
程序跳转逻辑采用书籍《 S7-1200 PLC编程及应用——廖常初》推荐的设计方法——使用置位和复位指令变活动步。
在这里插入图片描述
连续的两条语句如下:实现 传感器触发,XY同时运动到取垛位,Z轴再下降。
在这里插入图片描述
在这里插入图片描述
注意点:位置判断前加延时,防止MCD反馈数据更新不及时。

计数,采用完成一次搬运时信号的上升沿
在这里插入图片描述
对于层行列判断采用取模计算,计算余数。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
插入SCL语言进行较为复杂的计算。

  1. HMI 变量
    直接从PLC变量中拷贝需要的HMI变量,注意采样周期,过长按键反馈不即时。
    在这里插入图片描述

  2. HMI界面

    手动画面:手动控制三轴点动运动,气爪伸缩,位置反馈。
    在这里插入图片描述
    自动画面:显示搬运数量,正在码垛位置,按钮启动等。
    在这里插入图片描述

  3. 按键外观以及事件
    按下变绿色,添加外观
    在这里插入图片描述
    连接变量,根据变量值进行颜色切换
    在这里插入图片描述
    按下置位手动变量
    在这里插入图片描述
    释放置位手动变量,释放激活手动屏幕画面,对于需要置位复位的变量,不要在按下时切换屏幕,会检测不到。
    在这里插入图片描述
    变量数值显示,比如位置,添加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.

推荐学习平台
  1. 西家智创app 中课程, 自行各大应用商店搜索

  2. 官方学习资料 https://docs.sw.siemens.com/en-US/product/209349590/doc/PL20190529153447339.mechatronics/html/id1101745在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐