PLC面向对象编程和梯形图逻辑,到底谁更

北京最好的白癜风医院在那 http://disease.39.net/yldt/bjzkbdfyy/

在产业主动化周围,梯形图逻辑仍旧是最罕用的编程言语之一,但对于加倍繁杂的管制目标,面向目标编程不失为一种高效率的方法。上面先来谈谈面向目标编程:

面向目标编程是策画机高档言语的一种先进的编程形式,在产业管制系统的PLC程序中也也许采纳这类计划思惟,固然咱们无奈告竣面向目标的良多特出性格如“秉承”,乃至于它根底就不完备面向目标编程言语的性格,但面向目标编程的基础观点即是类和类的实例(即目标),咱们只要要欺诈这类观点就也许了。在策画机编程中咱们需求把一些事物笼统和总结,才干编写类,而在产业管制系统中,管制目标如:机电,阀等等是很显然的管制典型,不需求笼统就也许很显然的针对它们编写类,如下将会用到西门子的Step7编程言语和施奈德的Unity编程言语来讲授PLC的面向目标编程。

一、告竣方法

面向目标编程在Step7中使努力能块(即FB)编程,一谈到此众人就会料到西门子提议的模块化编程,不错,即是这个模块化编程,但西门子提议的模块化、后台数据块、多重后台等名词并不能让众人很领略的了解和欺诈这类特出的计划观念。

假使众人从面向目标编程的角度去了解,则也许很好的了解这类计划形式。“FB块”被算做“类”,它也许被算做是对雷同的管制目标的代码总结,如对MM的变频器也许编写FB块:MtrMM,这在面向目标编程中称为“类”,当需求编程管制详细的机电时,也许给它分派一个后台DB块,在面向目标编程中称为类的告竣(即创立类的实例:目标),当需求管制多个机电时,也许分派不同的后台DB到这个FB块,即创立类的多个实例。Step7中有其余一种程序块,即FC块,以FC块为主的编程在西门子中称为组织化编程,这也也许类比于策画机编程中的面向进程编程,即纯正以函数为主体的编程。

施奈德的Unity软件编程也许更好的了解面向目标编程。它的DFB界说中包罗输入/输出参数,独占/国有变量,以及代码告竣,而这恰是策画机的面向目标编程中“类”的基础元素,而创立类的实例(目标)就像创立普遍的“布尔”变量相同,只要在“FunctionBlocks”中界说这类“类”的变量便可。

Step7和Unity均也许采纳面向进程和面向目标编程方法,这两种编程方法的差别雷同于策画机高档言语中的C言语和C++言语编程的差别。

如下的讲授将会把Step7中的FB和Unity中的DFB称为“类”,Step7中的FB+后台DB以及Unity中DFB的实例称为“目标”。

二、面向目标编程架构

以上讲授的是告竣细节,而编程思惟是创设在程序架构上的,不是某个个别欺诈了面向目标方法,则也许称之为这类编程即是面向目标编程。这类编程需求从如下方面动手:

1、电路计划的组织化。

这边重要以主动线为主引见,对于单机机床可所以它的简化组织:

1、主动线层:这是最高条理,它占有一个主PLC,对属于它上面的各地域管制2、工程层:占有自力的配送电系统,但没有PLC,惟独散布式模块,由主动线管制。顾名思义,它有着较大的自力性,也许做为一个独自的工程项目计划和建立,当主动线较量小时,也许省略该条理。

3、机能组层:凭借工艺区分,将告竣某一个工艺机能的区段征战区分为一个机能组,它附属于工程层,当工程层被省略时,附属于主动线层。面向目标编程并不肯定请求欺诈以上的组织,但好的电气组织更利于面向目标编程。

2、任何管制目标逻辑都在“类”中告竣。

为了做到这点,肯定解析与管制目标关系的音信,好比,对于一个机电,有如下关系的音信需求斟酌:

输入音信:

1、电路守护音信,如机电的空气开关,热继电器等。

2、机能守护音信,如行动机电的限位开关,风机的风压开关,油泵的油位开关等。

3、启动和终了前提,以上的电路守护和机能守护均也许致使机电运行终了,复位也也许致使重启动,但这边的前提指的是寻常运行的启动和终了前提,好比循序管制的过程步。

4、管制形式:如手动和主动等。

5、障碍复位:经过复位音信,从新启动。

输出音信:

1、管制输出,如管制机电的主来往器。

2、状况音信输出

3、障碍输出

状况积聚音信:

用于代码告竣的中央变量以及也许被人机界面读出的状况变量等。把以上音信都调整到一个类中,并只管使类的参数准则化。不过,同高档编程言语仍旧曾在一些不同,针对Step7,应当奉命的准则是:程序组织由FC告竣,目标管制由FB告竣,如下的一种组织体制(其电气组织来自上头的引见):这只不过是一个简略的PLC程序架构体制,好的架构应当更完备和科学。

3、策划好数据组织

数据组织的界说相当重要,并只管统一这些组织,不要顾忌储备空间,现今的PLC内存足以包含洪量的数据。申明一点的是在Step7中只管不要在类的外部界说数据组织(UDT),而是在类内部界说,固然会形成不同类中统一组织的反复性界说,但却提升了类的自力性。

在接下来的篇幅中,咱们来对照一下这两种编程方法:

面向目标编程的益处

面向目标编程的益处与梯形图逻辑比拟,面向目标编程有如下益处:

?代码可移植,易于反复欺诈;

?易于欺诈数学函数、轮回等;

?险些在每一门策画机编程课程中,城市教师面向目标编程;

?代码也许在各类硬件平台上运行。

要管制面向目标编程,首先需求了解目标的观点及其欺诈。一旦目标或模块类编写告竣,就很简捷经过屡次挪用来告竣反复欺诈。比如,创立一个目标来管制机电,用来解决全部输入、输出和障碍。当需求时,也许经过屡次实例化该简捷管制目标,来管制多个机电。这即是所谓的按需实例化。当需求管制多个电动机时,也许屡次欺诈该单个物体。它在需求时挪用,并在使历时创立实例。

每个机电的每个实例都有本身的性格,如机电停机、机电运行、机电转速、机电过载等。大多半编程劳动都是在初度创立目标时告竣的。这是一种与梯形逻辑不同的思惟方法,并且更强壮,由于一旦建设了一个目标,它就很简捷欺诈和重用。面向目标编程更易于履行繁杂的数学函数、轮回策画、数组和嵌套子例程。险些每一门策画机编程——不论是高中、大学、仍旧网络上的教程,城市教师这方面的学问。创立的代码是可移植的,也许在各类硬件平台上运行。

“梯形图逻辑奉命继电器管制系统中欺诈的梯形电气图的格式,大多半人均也许马上进修并管制它。”

面向目标编程的缺陷

不过,与梯形图逻辑比拟,面向目标编程有如下缺陷:

?花费更高;

?更陡峭的进修弧线;

?对于保护人员来讲,障碍消除不是格外简捷;

?在将源代码上传到解决器以前,一般需求编译。

与梯形图逻辑比拟,面向目标编程每每需求更多的内存和更强的解决才能,因而花费就更高。面向目标编程言语的进修光阴也许更长。很也许需求教室进修,需求洪量的光阴、练习、测试和运用来管制中央观点。编程人员肯定屡次协商面向目标编程,以便欺诈跟踪器来追踪代码,或调试器来调试逻辑。欺诈这类典型的高档编程,也许很难告竣及时在线看管机能。

在将源代码下载到管制器以前,肯定对其举办编译。一般,源代码并不保管在解决器内存中。这象征着肯定当心备份源代码,由于编译过的代码一般是弗成编纂的。欺诈面向目标编程,库文献肯定与在编译进程中欺诈的此外资本邻接接。假使不领会联结和资本,将很难使程序运行。

梯形图逻辑的上风

梯形图逻辑是一种简捷临时文档化的编码法子,乃至有人疑心它能否是一种编程言语。它奉命继电器管制系统中欺诈的梯形电气图的格式,大多半人均也许马上进修并管制它。它是在往日的数十年来唯独在机械主动化周围中大范围运用的编程言语,并且在可预感的来日,仍旧是主动化行业中欺诈的重要编程言语之一。

跟着光阴的推移,具备不同后台的人从不同周围加入该行业,各类编程言语被引入产业主动化对象箱中。此中包罗机能块编程、组织化文本、状况编程讲理序机能图。这4种编程言语和梯形图逻辑,组成了IEC-3国际电工委员会(IEC)的准则编程言语。

IEC背面的逻辑是:假使每个供应商都奉命该准则,那末最少在某种水平上,一个体只要进修这5种编程言语,就也许轻便地在来自不同供应商供应的平台之间举办切换。但是,底细却并非如许。

基础梯形图逻辑(如欺诈继电器触点和线圈)也是相同的;不过在编程时,肯定进修每个供应商的语法和用户体会,以及怎么欺诈编程平台的详细音信。纵然不够准则化,但与面向目标编程比拟,梯形图逻辑有如下上风:

?格外合适机械和进程管制;

?由于实质上是自文档,因而更易于了解;

?易于对受控系统举办障碍消除;

?易于调试;

?源代码一般也许储备在解决器中。

梯形图逻辑格外合适于机械和进程管制,格外是具备洪量分离输入、输出(I/O)的主动化系统。多年来,梯形图逻辑也在不停改良,以解决摹拟量I/O,使其更合适于茂密的进程管制运用。

与机械管制运用比拟,进程运用中摹拟量I/O的比例每每较高。

由于梯形图逻辑比面向目标编程更易于欺诈,因而茂密老练的本领人员和工程人员也许马上进修梯形图逻辑。逻辑高度系统化、有序化,再加之其具备自文档的性质,使其更易于了解和管制。在启动某个征战以前,每行代码都肯定为真。假使有5个机电需求管制,那末最少需求5行代码,告竣了高度简化。

“梯形图逻辑源代码和形貌符一般保管在管制器中,无需走访源代码,这也许消除程序员在试图了解编译程序所遭遇的挫败。”

更易于进修

对电气工程师和保护人员来讲,梯形图逻辑格外直觉。固然梯形图逻辑需求有与面向目标编程不同的思惟方法,但经过进修也许马上管制,并且了解别人编写的代码所需的光阴也较少。逻辑何时为真,何时为假,一目了然。假使编程阅历有限的人,也很简捷弄理会开或关、线圈通电、较量变量和罕见的数学函数。

它简捷易用,简化了障碍消除和调试劳动。看管逻辑时,也许很简捷领略现在正在产生的工况。无需软件学位或高档编程本领。有了梯形图逻辑,保护人员和工程人员就很简捷跟踪过程,领会正在产生的工做。也许将梯形图逻辑看做真值表。假使左侧的逻辑为真,则右边的逻辑就会启动。

梯形图逻辑源代码和形貌符,一般被保管在管制器中。这也许消除程序员在试图了解编译程序而无奈走访源代码时所遭遇的挫败,面向目标编程也是如许。

但是,与面向目标编程比拟,梯形图逻辑也犹如下缺陷:

?策画机程序员和IT人员对梯形图逻辑不熟习;

?难于举办数学函数、文本和数据解决;

?依赖于扫描光阴;

?需求特意的硬件来履行,如可编程逻辑管制器(PLC)。

梯形图逻辑是策画机程序员和IT人员所不熟习的一种标记言语,他们在黉舍里并没有进修这类言语。在梯形图逻辑中解决数学函数、文本字符串和数据也许会很困苦,这主如果由于梯形图逻辑最后并不是为领会决这些函数而计划的。

依赖扫描光阴

梯形图逻辑也依赖于扫描光阴。较大的程序,需求更长的光阴来扫描和解决逻辑。履行梯形图逻辑时,读取输入、扫描逻辑、革新数据表和输出、履行通讯,而后轮回反复。也许告竣停止和此外编程本领等机能,以保证更快地履行某些逻辑。

纵然设置了梯形图逻辑的基于软件的PLC也许在PC上运行,但一般硬件(如PLC)要与编程软件相般配,两者最佳都是从统一个供应商处购置的。如许就也许保证兼容性,但假使想要改换供应商,则不是格外便利。

除了较量梯形图逻辑和面向目标编程的利害外,用户还应当评价这些编程言语在将要布置的处境中的欺诈处境。假使工场或设备已告竣了梯形图逻辑的准则化,那末假使面向目标编程更合适于该运用,也不激励将梯形图逻辑改换为面向目标编程。跟着面向目标编程的欺诈日趋增加,瞻望在来日几十年内,它将与梯形图逻辑并存。一个有远见的主动化专科人士,最佳要管制这两种言语。

在常日的劳动中,你更爱好哪一种编程方法呢,迎接留言

对于咱们:启碇主动化培训华夏抢先的产业机械人培训效劳供应商

关联

培训项目:机械人+PLC系统集成+行动管制+机械人+机械视觉

性格效劳:平米实训中央+举荐工作+业界抢先的课程体制




转载请注明:http://www.aierlanlan.com/cyrz/775.html