设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子PLC S7-200 Smart开源标准化编程—PLC的面向对象 ...
返回列表
发新帖
[西门子]
西门子PLC S7-200 Smart开源标准化编程—PLC的面向对象编程
[复制链接]
177
|
0
|
2024-5-2 17:47:15
|
显示全部楼层
|
阅读模式
这个题目很大,需要反复研究。这不是探讨帖,所以还是分享并以一个对象编程的例程展开来讲。我尽可能用通俗的语言来讲。
先大致分两部分来讲,一个是对象,一个是对象编程。上一张图。
一、图中程序的对象是列举,肯定是不全的,就是示意一下程序的构成。
这里对象还好理解一些。之前看了我帖子的小伙伴,接触了我做的标准化程序,里边有不少子程序,这些子程序里的大部分都是面向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对象编程的程序结构。觉得有用就下载回个帖或点点有帮助。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
自动化工程技术
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』