PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 52|回复: 0

[西门子] 西门子PLC S7-200 Smart开源标准化编程—PLC的面向对象编程

[复制链接]
发表于 2024-5-11 20:50:50 | 显示全部楼层 |阅读模式
技术论坛精华帖分享
此文章出自于西门子工业支持中心技术论坛,作者:不欲勿施
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文涉及产品:PLC S7-200 Smart
点击文章末尾的阅读原文,有程序压缩包,还可以继续访问西门子工业支持中心技术论坛更多精彩内容。




这个题目很大,需要反复研究。这不是探讨帖,所以还是分享并以一个对象编程的例程展开来讲。我尽可能用通俗的语言来讲。


先大致分两部分来讲,一个是对象,一个是对象编程。上一张图。





一、图中程序的对象是列举,肯定是不全的,就是示意一下程序的构成。



这里对象还好理解一些。之前看了我帖子的小伙伴,接触了我做的标准化程序,里边有不少子程序,这些子程序里的大部分都是面向PLC里的基本对象的。有好多号称标准化编程的程序进行到这一步就把程序分享出来了,实际上这样只是完成了第一步,造成很多人不知道如何下一步。也就不知道什么是对象编程了。


下面我尽可能列举出实物对象与程序的对应。我把程序的对象分成4层:


第0层:通信对象层,之前的帖子里我曾称通信是获取IO的工具,通信其实就是把从站设备的IO交换到PLC的内部来。之前我对Modbus RTU Modbus TCP通信对象进行的封装,其它类型通信还未进行封装。


第1层:IO对象处理层,比如一个检测物料的光电传感器,在PLC内进行简单的信号处理,我们需要传感器ON后2秒后的信号才是有效的,物料被移走后6秒信号才OFF,这时我们就可以用标准化子程序里的L103TonTof。在信号处理这里还会产生这些信号的沿,供后面的程序使用。


第2层:无面板动作对象层,这个层里主要是一些执行器的状态不用反馈到HMI的对象。



第3层:带面板动作对象层,这个层里主要是需要反馈到HMI的对象。



第4层:工艺功能对象层,这个层里主要是各种工艺功能等对象。


二、对象编程。图中右侧深绿色是对象编程的示意。其中工艺(自动)子程序内的逻辑实现同样和对象子程序一样使用L区实现的,与下层对象程序之间的联系靠的是对象程序上的IO。在严格遵守对象编程的规则下,在程序中看到的全局地址都是IO。



下面分享一个以前做的一个半成品项目,自动程序的调试接近完成。程序内的对象程序与我新发的程序里的对象程序不完全相同,主要借鉴程序的结构。这是一个拆垛机的程序,就是垂直两三垛带托盘的货物经过拆垛机后,拆成单个托盘和货物。拆垛机一共有5个工位:1工位是上垛工位,是AVG小车上垛。2工位是垛型判断工位,判断是两托盘货还是三托盘货。3工位是货物托举工位,并一托或两托货物托举起来的工位。4工位是存放拆成单托盘的货物,只能放下一下托盘的货物。5工位是人工用手动叉车移走单托盘货物的工位。



设备里的执行器大都是辊道电机,电缸,还有两台伺服,没有模拟量执行器。



下面给出触摸屏上的手动画面和PLC程序。

















此程序主要用来了解PLC的对象编程,看一看PLC对象编程的程序结构。觉得有用就下载回个帖或点点有帮助。


PLC程序是用2.6版本软件做的。



https://pan.baidu.com/s/1ozANy4I8oPvlzJ6pNczRCA 6a6t


好物分享


长按识别下方二维码
关注西门子工业支持中心电子杂志
每月为您推荐超多工控资讯



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-5-23 15:29 , Processed in 0.049288 second(s), 26 queries .

快速回复 返回顶部 返回列表