【S7-200 Smart开源标准化编程】——PLC的面向对象编程

已锁定

不欲勿施

  • 帖子

    842
  • 精华

    14
  • 被关注

    269

论坛等级:奇侠

注册时间:2009-03-27

钻石 钻石 如何晋级?

【S7-200 Smart开源标准化编程】——PLC的面向对象编程

4137

19

2023-01-27 12:21:41

star star star star star

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

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

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

        这里对象还好理解一些。之前看了我帖子的小伙伴,接触了我做的标准化程序,里边有不少子程序,这些子程序里的大部分都是面向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版本软件做的。

拆垛机输送线程序.smart.zip


【S7-200 Smart开源标准化编程】——PLC的面向对象编程 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有7542条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。