PLC的结构化,模块化和面向对象编程 点击:5914 | 回复:13



PLC技术网

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 121回
  • 年度积分:0
  • 历史总积分:258
  • 注册:2006年3月19日
发表于:2006-09-23 09:46:00
楼主
我以前是学习JAVA的,真真领略到了J2EE的精华,那就是纯面向对象,后来又学习了vc,复杂的指针,作
个界面也是很难,但是不能不承认它的效率,这是vb没有办法相比的。后来由于觉得单纯的搞软件,会失
去创造的活力,打算学习单片机,没有学成,却阴差阳错学习了PLC,说起来也不怨。PLC编程可以说没有
一点编程思想,即使有的PLC厂商支持子函数,但是用起来还是不爽啊。真正的结构化,模块化和面向对
象编程,PLC厂商们只字不提,可能是摆老大的架势吧,反正受苦的是我们PLC工程师们。
我来谈谈结构化,模块化和面向对象PLC编程,谈得不好,请不要见怪。下面是我自认为的模式:

这里我引入一个概念-面向过程对象:就是把一个复杂的动作分成好几个过程,每个过程就是一个对象,
这个过程有满足的条件,条件就是参数,条件一满足,动作就实施,当然实施就是函数了。

以下是梯形图类的建立:


   |----class-------------------------------------------------------(过程1)  '定义类
   |
   |----参数1---------------------------------------------------------() 
   |----参数2---------------------------------------------------------() 
   .(定义一些全局变量)                                                             
   .
   .
   |
   |
   |----class_初始化-------------------------------------------------(过程1)      '定义初始化函数 
   |

   |
   |
   .(定义或设置一些初始化参数或函数)
   .
   .
   |
   |
   |
   |
   |
   |----class_初始化-------------------------------------------------(end)
   .
   .
   .(以下是函数)
   .
   |
   |
   |----class_函数1------(参数1)-------(参数2)----(参数3)---(参数4)------(过程1)
   |

   |
   |
   .(定义或设置一些初始化参数或函数)
   .
   .
   |
   |
   |
   |
   |
   |----class_函数1---------------------------------------------------(end)
   .
   .   
   |
   |
   |
   |----class---------------------------------------------------------(end)


   .
   .
   .

   过程2


   .
   .
   .


   .
   .
   .

   过程3


   .
   .
   .

下面执行部分:

   |
   |
   |                 X1
   |----------| |-----------------------(过程1.函数1)
   |   
   |
   |                 过程1.参数1
   |-----------------| |-----------------------(过程2.函数5)
   |   

===================================================================

就想到了这些,多多指教啊



PLC技术网

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 121回
  • 年度积分:0
  • 历史总积分:258
  • 注册:2006年3月19日
发表于:2006-09-23 09:51:00
1楼
个人网站:PLC技术网(http://www.plcjs.com)多多交流

PLC技术网

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 121回
  • 年度积分:0
  • 历史总积分:258
  • 注册:2006年3月19日
发表于:2006-09-23 10:01:00
2楼
目前,我没有看到那家的PLC可以这样编程,高端的PLC没有机会接触,不知有没有这种编程方法

PLC技术网

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 121回
  • 年度积分:0
  • 历史总积分:258
  • 注册:2006年3月19日
发表于:2006-09-23 15:57:00
3楼
没有人关心啊

rocky_man

  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 251回
  • 年度积分:0
  • 历史总积分:357
  • 注册:2004年6月10日
发表于:2007-02-25 10:34:00
4楼
翻动老帖子,看到楼主的想法,似曾相识。
    个人曾经试着做plc编程标准化的尝试,并在一些不太复杂的程序中做过一点类似的结构——其实有些不一样,楼主是用函数的形式可以表达复杂关系,我则是用与或非这些简单二进制关系先拆开再合成复杂的运行条件。
    大体结构很像,先处理初始化条件,然后是各个部组运行条件处理,最后统一执行输出。
    楼主这个想法让我感到亲切,怎么也要翻出来支持一下!

三脚猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:180帖 | 1598回
  • 年度积分:0
  • 历史总积分:1097
  • 注册:2004年7月08日
发表于:2007-02-25 10:50:00
5楼
我也是软件出身,C++BUILDER,很熟,现也改行仪表,搞起了PLC,
C   对工控不能用纯软件的概念要求它,以前学软件的知识用处不是太大在,但基出与思维方式是有益的,学的很快

PLC技术网

  • 精华:1帖
  • 求助:0帖
  • 帖子:31帖 | 121回
  • 年度积分:0
  • 历史总积分:258
  • 注册:2006年3月19日
发表于:2007-03-24 13:18:00
6楼
我还认为没有人响应,还是有的.

多思

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 44回
  • 年度积分:0
  • 历史总积分:200
  • 注册:2006年7月23日
发表于:2009-03-08 20:08:05
7楼
三菱GX DEVELOPER就用到了标签编程就是结构化的编程

鹏程小鸟

  • 精华:0帖
  • 求助:1帖
  • 帖子:26帖 | 521回
  • 年度积分:1
  • 历史总积分:1639
  • 注册:2006年1月18日
发表于:2009-03-08 21:12:33
8楼
我也搞过 VC,VB的,后来也搞PLC,我就把很多的东西做成 模块化的了,我做的形式大概是 函数调用的形式,形参,实参,差不多吧,模块写好了,在其他的地方也可以调用,我现在主要用的是 三菱PLC,写了一些 DA,AD,QD75,QD70,CCLINK-DA,机器上电的一些块,反正自己用着还好,别的项目来的时候,把这个一COPY,参数IO点一传进去,就可以用了,等哪天有精力了,考虑是不是可以做成商业用的一些模块,呵呵(现在瞎想的,不知道能不能卖出去)

wlongy

  • 精华:0帖
  • 求助:4帖
  • 帖子:6帖 | 42回
  • 年度积分:0
  • 历史总积分:82
  • 注册:2009年8月04日
发表于:2012-02-23 21:07:08
9楼
感觉西门子300的功能和功能块以及背景数据就有点这个意思。

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2012-02-24 09:17:33
10楼
引用 wlongy 的回复内容:感觉西门子300的功能和功能块以及背景数据就有点这个意思。


充其量是 面向过程的 , 函数模块化 的,  面向对象 估计是不行的, PLC 的编译器 ,指令系统,操作系统,  还没有达到那个程度?

lu_yangsn

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 15回
  • 年度积分:0
  • 历史总积分:182
  • 注册:2015年8月23日
发表于:2016-05-14 22:54:20
11楼

我感觉是有这个意思的,不过没有明确提出来!!!!!!

wutongvvvv4242

  • 精华:0帖
  • 求助:1帖
  • 帖子:14帖 | 90回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2016-12-09 11:44:02
12楼

楼主说的不就是西门子300 博图 的套路么,其他plc有没有这种思路呢?

bob_cantor

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2011年8月17日
发表于:2017-03-13 20:14:45
13楼

楼主,我最近一直在找结构化编程的资料,想学习有关结构化编程的方法,请问有没有直观一点、简单一点的程序例子呀?


热门招聘
相关主题

官方公众号

智造工程师