全国服务热线 158****1992

西门子模块总代理商-嘉峪关市

更新时间:2023-10-26 04:00:00
价格:请来电询价
品牌:西门子
型号:模块
产地:德国
联系电话:158****1992
联系手机:158****1992
联系人:聂聪
让卖家联系我
详细介绍

 PLC中的面向对象编程的核心就是黑匣子编程,针对Step7,我们使用FB去实现每一个对象的控制,控制逻辑、报警处理、信号交换全在FB中,对于应用设计人员,不需要明白里面的代码实现,只需要了解该FB的功能以及如何使用好它就行,这样对于应用程序人员的编程能力要求大大降低,对于编程只不过是遵循架构,拷贝代码,改变输入输出条件而已。


    那么调试呢?很多人认为使用FB编程的烦就是FB的多次调用后,根本无法诊断这些代码,从技术层面上讲确实如此,我们除了从背景DB上查看信息外, 是无法在它多次被调用后监控代码的,但我已说过,这是黑匣子编程,我们不需要诊断这些代码,只需要知道什么样的输入、什么样的参数设定导致什么样的输出就行,代码的逻辑与功能好坏是由标准库开发人员负责的,这就要求标准开发人员需要对他设计的功能块在不同条件下进行不同的测试,保证无误,还需要编写完整、 详尽的功能说明文档,以便于应用设计人员了解这些块,标准架构并不是制定出来就一劳永逸的,针对千变万化的工程,它是需要不断完善和修订的,这也是一个工程公司可以实实在在进行知识积累的地方。


    程序不仅需要给调试人员使用,而且用户(设备维护人员)也需要了解,如果把完整的标准库文档给用户,可能曾在技术外泄的可能,若不给,对他们诊断设备可能曾在困难,这就需要标准制定人员制作另外一分文档,即设备维护文档,其知识的透漏以用户能够使用程序进行诊断为限。

2.jpg

2、 重用性和易管理型


    计算机面向对象编程的优点也有重用性和易管理型,在PLC中也曾在,以Step7为例,需要讨论FC和FB的差异。观察数据类型,FB比FC只不过多一个 “STAT”类型,在使用上FB需要背景DB,FC不需要,但就这个差别导致FB拥有自己独立的数据储存空间,而FC的数据储存却必须借助公有变量(如中 间变量M或者共享DB),有这样一种准则,程序块的独立性越强,其重用性也越好,产生数据访问冲突的可能性也更少,则更易于管理。有些公司生产的PLC, 其程序语言没有类似FB 的这种特性,这时可以采用类似“FC+共享DB”的替代方案解决,但它的独立性已经大大降低。


    同样的代码的独立性是标准制定的一个重要环节,很难想象一个与其他功能块之间有着千丝万缕联系的功能块能够被作为标准块在不同工程中有效的重复使用。


    纵观计算机语言的发展,开始的编程都是令人恐怖的,而当今的编程让人们得到很大的解脱,有很多现成的标准类库实用,人们可以把更多的编程精力放在实现功能本身上,PLC编程也应该朝这种方向发展,应该让更多的人从事应用层面的设计,那些标准功能块不应该重复的被不同人员开发,虽然各大PLC厂开发了大量 的程序库,但工业控制对象各式各样,不同行业都应该拥有自己的程序库,而代码的可重用性是评价这些功能块好坏的关键。

3、 设计思想的先进性


    在电路图设计中我们早已经在使用针对控制对象的绘图方式,即把基本的主配送电路和PLC配置完成后,我们会针对每一个现场控制对象如:电机、阀、气缸等控制对象绘制电路图,他们的电源来自主配送电路,控制和反馈与PLC建立连接,硬件连锁根据实际情况调整,一个个控制对象就象搭建积木一样有组织的堆积起来,同样的,编程也是针对一个个控制对象使用相应的标准控制块实现就可以,把程序控制细节实现了有效的封装,使程序看起来简洁和易于维护,而好的设计可以把原理图和程序进行很好的关联,甚至于做到一对一的关系,如原理图中的一个控制对象可以在程序中找到相应的FB调用与之对应,真正做到面向控制对象编程。


    可能有人疑虑,PLC编程大部分是步进编程,这一个个标准块都是针对控制对象的,那控制顺序如何实现呢?这就要求编写专门的顺序控制FB块,或者使用Siemens现成的Graph7来实现,这点与一般编程没什么差别。

00.jpg

    结束语:现在的工业控制领域有很多程序高手,他们很精通算法,也有着自己的编程理念,当我和一些人探讨标准化时,他们认识到标准化的高效性,但认为这样无法体现自己的编程水准,是的,如上所述作为应用层面的程序设计是不要很高的编程水平,但要想想,一个人难道能一辈子去搞现场调试吗?若想体现自己的价值,可 以从事标准编程。我更希望他们能花一点时间研究程序架构,各行各业,真正的大师是系统架构设计者,编程小技巧只不过是为好的架构锦上添花。

WINCC的变量记录中,有压缩归档的功能,可以在设定的时间间隔内,对已采集的数据进行一定的数值计算,如平均值、求和值、大值、小值。因而在某些需要应用场合使用压缩归档比较方便。
例如:
1、通过每个小时进行一次数值压缩,即可实现简单的整点报表。
2、如《WINCC完美报表专用版例程》中描述的,对于时间跨度较长的报表,如月报表和年报表,使用每日的压缩归档,可以相当大程度地提高查询速度。
首先,压缩归档的时间间隔,好使用自定义的定时器,这样可以在调试阶段通过手动设置到较短的时间内进行功能测试,而测试完成后交工时,则设置到正常的日或者时。
其次,压缩归档的处理方法,有四种不同的属性设置,应正确选择。属性设置如图所示:


一直以来,被这四种方法搞得很糊涂。而且每次看完帮助以后,很快就遗忘。近总算清晰地梳理了。压缩归档属性设置这里面一共有3个词汇:计算、复制和删除。
1、计算
不必再言,一定要计算,计算才能得到压缩归档的结果。所以,每个选项里面都有计算。
2、复制
复制是指压缩数据库对待原始数据的态度,是复制过来还是不复制过来。
如果选择复制,则会在压缩数据库中生成两套数据,就是原始数据在一定的时间间隔内,会有一次统计数据行。这一点,在求和统计时特别明显。或许可以用于某种形式的简单报表的数据加统计功能,但前提是,数据的排列时间需要可提取,还有,统计数据这一行的时间标签如何能加上统计符号的标记?恐怕只有客户不在乎的情况下才可以。
3、删除
删除是指存放源数据的原数据库,对待原始数据的态度。如果选择了删除,那么在每次进行计算统计之后,系统将删除原数据库中的数据。
如果选择删除,那么曲线趋势图功能也会受到影响,因而趋势图只能选择用压缩归档来做曲线了。
现在看,恐怕极少的项目会接受。
数据删除,速度可能提高一些?数据存储量无疑是可以大大减少了。但我们现在的硬盘,一般的项目会在乎吗?
弄明白了三个术语的含义,压缩归档处理方法里面的4个选择项分别啥含义,就很明白了。我们一般做项目,没有特殊考虑,还是大部分要选择简单的“计算”即可。


联系方式

  • 地址:上海杨浦 上海市松江区广富林路4855弄88号3楼
  • 邮编:200093
  • 电话:158****1992
  • 经理:聂聪
  • 手机:158****1992
  • 传真:021-33556143
  • QQ:2724917714
  • Email:2724917714@qq.com