解析PLC程序的可移植性与兼容性 (plc编程解析)

PLC程序的可移植性与兼容性解析 plc编程解析

一、引言

随着工业自动化技术的不断发展,PLC(可编程逻辑控制器)作为其核心组成部分,广泛应用于各种生产场景中。
PLC程序的可移植性和兼容性是保证工业自动化设备正常运行、维护升级的关键因素。
本文将对PLC程序的可移植性与兼容性进行解析,探讨如何提高PLC程序的移植性和兼容性,以应对工业自动化领域的快速发展。

二、PLC程序的可移植性

1. PLC程序可移植性的概念

PLC程序的可移植性是指将PLC程序从一个系统、环境或平台迁移到另一个系统、环境或平台的能力。
在保证功能不变的前提下,可移植性强的PLC程序能够轻松地从一个项目转移到另一个项目,或者从一个硬件平台转移到另一个硬件平台。

2. 影响PLC程序可移植性的因素

(1)编程语言与标准:不同的PLC厂商可能采用不同的编程语言和标准,导致PLC程序的可移植性受到限制。
为了提高PLC程序的可移植性,需要采用标准化的编程语言和规范。

(2)硬件差异:不同型号的PLC硬件在性能、规格、接口等方面存在差异,这也会影响PLC程序的可移植性。
在移植过程中,需要考虑硬件的差异,以确保程序能够在新的硬件平台上正常运行。

(3)软件版本与更新:PLC软件的版本和更新也会影响程序的可移植性。
在新版本中,可能会引入新的功能、优化性能或修改某些功能,这可能导致旧版本的PLC程序无法在新版本上运行。

3. 提高PLC程序可移植性的方法

(1)采用标准化编程语言和规范:在编写PLC程序时,应尽量采用标准化的编程语言和规范,如IEC 61131-3标准,以提高程序的通用性和可移植性。

(2)抽象硬件特性:在编写PLC程序时,应尽量抽象硬件特性,以减少对特定硬件的依赖。
这样,在将程序移植到新的硬件平台时,只需对硬件相关的部分进行调整,而大部分程序代码可以保持不变。

(3)关注软件版本的兼容性:在升级PLC软件时,应关注新旧版本之间的差异,对程序进行相应的调整和优化,以确保程序在新版本上的兼容性。

三、PLC程序的兼容性

1. PLC程序兼容性的概念

PLC程序的兼容性是指PLC程序能够与不同的系统、设备、协议等进行无缝连接和协同工作。
在工业自动化系统中,兼容性强的PLC程序能够与其他设备和系统顺利通信,实现数据的共享和交换。

2. 影响PLC程序兼容性的因素

(1)通信协议:不同的设备和系统可能采用不同的通信协议。
在编写PLC程序时,需要考虑与各种设备的通信协议兼容,以确保数据的顺利传输。

(2)接口标准:接口标准是保证设备之间互操作性的关键。
PLC程序的兼容性受到接口标准的影响,需要遵循标准化的接口规范,以实现与其他设备的无缝连接。

(3)数据格式与处理:不同的设备和系统可能采用不同的数据格式和处理方式。
在编写PLC程序时,需要考虑数据格式的转换和处理,以确保数据的准确性和一致性。

3. 提高PLC程序兼容性的方法

(1)遵循通信协议和接口标准:在编写PLC程序时,应遵循各种通信协议和接口标准,以确保程序能够与其他设备和系统顺利连接。

(2)支持多种数据格式:为了提高PLC程序的兼容性,应支持多种数据格式,包括文本、二进制、十六进制等。
在程序中实现数据格式的自动转换和处理,以适应不同设备和系统的需求。

(3)集成第三方工具和技术:通过集成第三方工具和技术,如OPC、Modbus等,提高PLC程序的兼容性。
这些工具和技术可以帮助实现不同设备和系统之间的数据交换和通信。

四、总结

PLC程序的可移植性和兼容性是工业自动化领域的重要问题。
通过采用标准化编程语言和规范、抽象硬件特性、关注软件版本的兼容性、遵循通信协议和接口标准、支持多种数据格式以及集成第三方工具和技术等方法,可以提高PLC程序的可移植性和兼容性,以适应工业自动化领域的快速发展。


PLC编程问题

编程 这是每个游戏编程FAQ里都有的问题。 这个问题每星期都会在游戏开发论坛上被问上好几次。 这是个很好的问题,但是,没人能给出简单的答案。 在某些应用程序中,总有一些计算机语言优于其他语言。 下面是几种用于编写游戏的主要编程语言的介绍及其优缺点。 希望这篇文章能帮助你做出决定。 1、C语言如果说FORTRAN和COBOL是第一代高级编译语言,那么C语言就是它们的孙子辈。 C语言是Dennis Ritchie在七十年代创建的,它功能更强大且与ALGOL保持更连续的继承性,而ALGOL则是COBOL和FORTRAN的结构化继承者。 C语言被设计成一个比它的前辈更精巧、更简单的版本,它适于编写系统级的程序,比如操作系统。 在此之前,操作系统是使用汇编语言编写的,而且不可移植。 C语言是第一个使得系统级代码移植成为可能的编程语言。 C语言支持结构化编程,也就是说C的程序被编写成一些分离的函数呼叫(调用)的集合,这些呼叫是自上而下运行,而不像一个单独的集成块的代码使用GOTO语句控制流程。 因此,C程序比起集成性的FORTRAN及COBOL的“空心粉式代码”代码要简单得多。 事实上,C仍然具有GOTO语句,不过它的功能被限制了,仅当结构化方案非常复杂时才建议使用。 正由于它的系统编程根源,将C和汇编语言进行结合是相当容易的。 函数调用接口非常简单,而且汇编语言指令还能内嵌到C代码中,所以,不需要连接独立的汇编模块。 优点:有益于编写小而快的程序。 很容易与汇编语言结合。 具有很高的标准化,因此其他平台上的各版本非常相似。 缺点:不容易支持面向对象技术。 语法有时会非常难以理解,并造成滥用。 移植性:C语言的核心以及ANSI函数调用都具有移植性,但仅限于流程控制、内存管理和简单的文件处理。 其他的东西都跟平台有关。 比如说,为Windows和Mac开发可移植的程序,用户界面部分就需要用到与系统相关的函数调用。 这一般意味着你必须写两次用户界面代码,不过还好有一些库可以减轻工作量。 用C语言编写的游戏:非常非常多。 资料:C语言的经典著作是《The C Programming Language》,它经过多次修改,已经扩展到最初的三倍大,但它仍然是介绍C的优秀书本。 一本极好的教程是《The Waite Groups C Primer Plus》。 2、C++C++语言是具有面向对象特性的C语言的继承者。 面向对象编程,或称OOP是结构化编程的下一步。 OO程序由对象组成,其中的对象是数据和函数离散集合。 有许多可用的对象库存在,这使得编程简单得只需要将一些程序“建筑材料”堆在一起(至少理论上是这样)。 比如说,有很多的GUI和数据库的库实现为对象的集合。 C++总是辩论的主题,尤其是在游戏开发论坛里。 有几项C++的功能,比如虚拟函数,为函数呼叫的决策制定增加了一个额外层次,批评家很快指出C++程序将变得比相同功能的C程序来得大和慢。 C++的拥护者则认为,用C写出与虚拟函数等价的代码同样会增加开支。 这将是一个还在进行,而且不可能很快得出结论的争论。 我认为,C++的额外开支只是使用更好的语言的小付出。 同样的争论发生在六十年代高级程序语言如COBOL和FORTRAN开始取代汇编成为语言所选的时候。 批评家正确的指出使用高级语言编写的程序天生就比手写的汇编语言来得慢,而且必然如此。 而高级语言支持者认为这么点小小的性能损失是值得的,因为COBOL和FORTRAN程序更容易编写和维护。 优点:组织大型程序时比C语言好得多。 很好的支持面向对象机制。 通用数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层的负担。 缺点:非常大而复杂。 与C语言一样存在语法滥用问题。 比C慢。 大多数编译器没有把整个语言正确的实现。 移植性:比C语言好多了,但依然不是很乐观。 因为它具有与C语言相同的缺点,大多数可移植性用户界面库都使用C++对象实现。 使用C++编写的游戏:非常非常多。 大多数的商业游戏是使用C或C++编写的。 资料:最新版的《The C++ Programming Language》非常好。 作为教程,有两个阵营,一个假定你知道C,另外一个假定你不知道。 到目前为止,最好的C++教程是《Whos Afraid of C++》,如果你已经熟知C,那么试一下《Teach Yourself C++》。 3、我该学习C++或是该从C开始我不喜欢这种说法,但它是继“我该使用哪门语言”之后最经常被问及的问题。 很不幸,不存在标准答案。 你可以自学C并使用它来写程序,从而节省一大堆的时间,不过使用这种方法有两个弊端:你将错过那些面向对象的知识,因为它可能在你的游戏中使得数据建模更有效率的东西。 最大的商业游戏,包括第一人称射击游戏很多并没有使用C++。 但是,这些程序的作者即使使用老的C的格式,他们通常坚持使用面向对象编程技术。 如果你只想学C,至少要自学OO(面向对象)编程技术。 OO是仿真(游戏)的完美方法,如果你不学习OO,你将不得不“辛苦”的工作。 4、汇编语言显然,汇编是第一个计算机语言。 汇编语言实际上是你计算机处理器实际运行的指令的命令形式表示法。 这意味着你将与处理器的底层打交道,比如寄存器和堆栈。 如果你要找的是类英语且有相关的自我说明的语言,这不是你想要的。 确切的说,任何你能在其他语言里做到的事情,汇编都能做,只是不那么简单 — 这是当然,就像说你既可以开车到某个地方,也可以走路去,只是难易之分。 话虽不错,但是新技术让东西变得更易于使用。 总的来说,汇编语言不会在游戏中单独应用。 游戏使用汇编主要是使用它那些能提高性能的零零碎碎的部分。 比如说,毁灭战士整体使用C来编写,有几段绘图程序使用汇编。 这些程序每秒钟要调用数千次,因此,尽可能的简洁将有助于提高游戏的性能。 而从C里调用汇编写的函数是相当简单的,因此同时使用两种语言不成问题。 特别注意:语言的名字叫“汇编”。 把汇编语言翻译成真实的机器码的工具叫“汇编程序”。 把这门语言叫做“汇编程序”这种用词不当相当普遍,因此,请从这门语言的正确称呼作为起点出发。 优点:最小、最快的语言。 汇编高手能编写出比任何其他语言能实现的快得多的程序。 你将是利用处理器最新功能的第一人,因为你能直接使用它们。 缺点:难学、语法晦涩、坚持效率,造成大量额外代码 — 不适于心脏虚弱者。 移植性:接近零。 因为这门语言是为一种单独的处理器设计的,根本没移植性可言。 如果使用了某个特殊处理器的扩展功能,你的代码甚至无法移植到其他同类型的处理器上(比如,AMD的3DNow指令是无法移植到其它奔腾系列的处理器上的)。 使用汇编编写的游戏:我不知道有什么商业游戏是完全用汇编开发的。 不过有些游戏使用汇编完成多数对时间要求苛刻的部分。 资料:如果你正在找一门汇编语言的文档,你主要要找芯片的文档。 网络上如Intel、AMD、Motorola等有一些关于它们的处理器的资料。 对于书籍而言,《Assembly Language: Step-By-Step》是很值得学习的。 5、Pascal语言Pascal语言是由Nicolas Wirth在七十年代早期设计的,因为他对于FORTRAN和COBOL没有强制训练学生的结构化编程感到很失望,“空心粉式代码”变成了规范,而当时的语言又不反对它。 Pascal被设计来强行使用结构化编程。 最初的Pascal被严格设计成教学之用,最终,大量的拥护者促使它闯入了商业编程中。 当Borland发布IBM PC上的 Turbo Pascal时,Pascal辉煌一时。 集成的编辑器,闪电般的编译器加上低廉的价格使之变得不可抵抗,Pascal编程了为MS-DOS编写小程序的首选语言。 然而时日不久,C编译器变得更快,并具有优秀的内置编辑器和调试器。 Pascal在1990年Windows开始流行时走到了尽头,Borland放弃了Pascal而把目光转向了为Windows 编写程序的C++。 Turbo Pascal很快被人遗忘。 最后,在1996年,Borland发布了它的“Visual Basic杀手”— Delphi。 它是一种快速的带华丽用户界面的 Pascal编译器。 由于不懈努力,它很快赢得了一大群爱好者。 基本上,Pascal比C简单。 虽然语法类似,它缺乏很多C有的简洁操作符。 这既是好事又是坏事。 虽然很难写出难以理解的“聪明”代码,它同时也使得一些低级操作,如位操作变得困难起来。 优点:易学、平台相关的运行(Delphi)非常好。 缺点:“世界潮流”面向对象的Pascal继承者(Modula、Oberon)尚未成功。 语言标准不被编译器开发者认同。 专利权。 移植性:很差。 语言的功能由于平台的转变而转变,没有移植性工具包来处理平台相关的功能。 使用Pascal编写的游戏:几个。 DirectX的Delphi组件使得游戏场所变大了。 资料:查找跟Delphi有关的资料,请访问:Inprise Delphi page。 6、Visual Basic哈,BASIC。 回到八十年代的石器时代,它是程序初学者的第一个语言。 最初的BASIC形式,虽然易于学习,却是可怕的无组织化,它义无反顾的使用了GOTO充斥的“空心粉式代码”。 当回忆起BASIC的行号和GOSUB命令,没有几个人能止住眼角的泪水。 快速前进到九十年代早期,虽然不是苹果公司所希望的巨人,HyperCard仍然是一个在Windows下无法比拟的吸引人的小型编程环境。 Windows下的HyperCard克隆品如ToolBook又慢又笨又昂贵。 为了与HyperCard一决高下,微软取得了一个小巧的名为Thunder编程环境的许可权,并把它作为Visual Basci 1.0发布,其用户界面在当时非常具有新意。 这门语言虽然还叫做Basic(不再是全部大写),但更加结构化了,行号也被去除。 实际上,这门语言与那些内置于TRS-80、Apple II及Atari里的旧的ROM BASIC相比,更像是带Basic风格动词的Pascal。 经过六个版本,Visual Basic变得非常漂亮。 用户界面发生了许多变化,但依然保留着“把代码关联到用户界面”的主旨。 这使得它在与即时编译结合时变成了一个快速原型的优异环境。 优点:整洁的编辑环境。 易学、即时编译导致简单、迅速的原型。 大量可用的插件。 虽然有第三方的DirectX插件,DirectX 7已准备提供Visual Basic的支持。 缺点:程序很大,而且运行时需要几个巨大的运行时动态连接库。 虽然表单型和对话框型的程序很容易完成,要编写好的图形程序却比较难。 调用Windows的API程序非常笨拙,因为VB的数据结构没能很好的映射到C中。 有OO功能,但却不是完全的面向对象。 专利权。 移植性:非常差。 因为Visual Basic是微软的产品,你自然就被局限在他们实现它的平台上。 也就是说,你能得到的选择是:Windows,Windows或Widnows。 当然,有一些工具能将VB程序转变成Java。 使用Visual Basic编写的游戏:一些。 有很多使用VB编写的共享游戏,还有一些是商业性的。 资料:微软的VB页面有一些信息。 7、JavaJava是由Sun最初设计用于嵌入程序的可移植性“小C++”。 在网页上运行小程序的想法着实吸引了不少人的目光,于是,这门语言迅速崛起。 事实证明,Java不仅仅适于在网页上内嵌动画 — 它是一门极好的完全的软件编程的小语言。 “虚拟机”机制、废品回收以及没有指针等使它很容易实现不易崩溃且不会泄漏资源的可靠程序。 虽然不是C++的正式续篇,Java从C++ 中借用了大量的语法。 它丢弃了很多C++的复杂功能,从而形成一门紧凑而易学的语言。 不像C++,Java强制面向对象编程,要在Java里写非面向对象的程序就像要在Pascal里写“空心粉式代码”一样困难。 优点:二进制码可移植到其他平台。 程序可以在网页中运行。 内含的类库非常标准且极其健壮。 自动分配合废品回收避免程序中资源泄漏。 网上数量巨大的代码例程。 缺点:使用一个“虚拟机”来运行可移植的字节码而非本地机器码,程序将比真正编译器慢。 有很多技术(例如“即时”编译器)很大的提高了Java的速度,不过速度永远比不过机器码方案。 早期的功能,如AWT没经过慎重考虑,虽然被正式废除,但为了保持向后兼容不得不保留。 越高级的技术,造成处理低级的机器功能越困难,Sun为这门语言增加新的“受祝福”功能的速度实在太慢。 移植性:最好的,但仍未达到它本应达到的水平。 低级代码具有非常高的可移植性,但是,很多UI及新功能在某些平台上不稳定。 使用Java编写的游戏:网页上有大量小的Applet,但仅有一些是商业性的。 有几个商业游戏使用Java作为内部脚本语言。 资料:Sun的官方Java页面有一些好的信息。 IBM也有一个非常好的Java页面。 JavaLobby是一个关于Java新闻的最好去处。 8、创作工具上面所提及的编程语言涵盖了大多数的商业游戏。 但是也有一个例外,这个大游戏由于它的缺席而变得突出。 “神秘岛”。 没错,卖得最好的商业游戏不是使用以上任何一门语言编的,虽然有人说“神秘岛”99%是使用 3D建模工具制作的,其根本的编程逻辑是在HyperCard里完成的。 多数创作工具有点像Visual Basic,只是它们工作在更高的层次上。 大多数工具使用一些拖拉式的流程图来模拟流程控制。 很多内置解释的程序语言,但是这些语言都无法像上面所说的单独的语言那样健壮。 优点:快速原型 — 如果你的游戏符合工具制作的主旨,你或许能使你的游戏跑得比使用其他语言快。 在很多情况下,你可以创造一个不需要任何代码的简单游戏。 使用插件程序,如Shockware及IconAuthor播放器,你可以在网页上发布很多创作工具生成的程序。 缺点:专利权,至于将增加什么功能,你将受到工具制造者的支配。 你必须考虑这些工具是否能满足你游戏的需要,因为有很多事情是那些创作工具无法完成的。 某些工具会产生臃肿得可怕的程序。 移植性:因为创作工具是具有专利权的,你的移植性以他们提供的功能息息相关。 有些系统,如Director可以在几种平台上创作和运行,有些工具则在某一平台上创作,在多种平台上运行,还有的是仅能在单一平台上创作和运行。 使用创作工具编写的游戏:“神秘岛”和其他一些同类型的探险游戏。 所有的Shockwave游戏都在网络上。 资料:Director、HyperCard、SuperCard、IconAuthor、Authorware。 9、易语言★全中文支持,无需跨越英语门槛。 ★全可视化编程,支持所见即所得程序界面设计和程序流程编码。 ★中文语句快速录入。 提供多种内嵌专用输入法,彻底解决中文语句输入速度慢的问题。 ★代码即文档。 自动规范强制代码格式转换,任何人编写的任何程序源代码格式均统一。 ★参数引导技术,方便程序语句参数录入。 ★无定义类关键字。 所有程序定义部分均采用表格填表方式,用户无需记忆此类关键字及其使用格式。 ★命令格式统一。 所有程序语句调用格式完全一致。 ★语法格式自动检查。 自动检查并提示所输入语句的语法格式是否正确,且可自动添加各类名称。 ★全程提示与帮助。 鼠标停留立即显示相关项目提示。 编程时提示语法格式,调试时提示变量当前内容,随时按下F1键可得到与当前主题相关详细帮助等。 ★名称自动管理。 用户修改任一名称定义,其它所有包含该名称的程序代码均自动修正。 ★集成化开发环境。 集界面设计、代码编写、调试分析、编译打包等于一体。 ★学习资源丰富。 详细的帮助文件、数十兆的知识库、数万用户的网上论坛、教材已出版发行……10、结论你可能希望得到一个关于“我该使用哪种语言”这个问题的更标准的结论。 非常不幸,没有一个对所有应用程序都最佳的解决方案。 C适于快而小的程序,但不支持面向对象的编程。 C++完全支持面向对象,但是非常复杂。 Visual Basic与Delphi易学,但不可移植且有专利权。 Java有很多简洁的功能,但是慢。 创作工具可以以最快的速度产生你的程序,但是仅对某一些类型的程序起作用。 最好的方法是决定你要写什么样的游戏,并选择对你的游戏支持最好的语言。 “试用三十天”的做法成为工业标准是件好事情。

基于数控机床的PLC技术的研究

楼上那一位加上以下的,自己整合一下1、PLC即可编程控制器(Programmable logic Controller,是指以计算机技术为基础的新型工业控制装置。 在1987年国际电工委员会(International Electrical Committee)颁布的PLC标准草案中对PLC做了如下定义:“PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。 它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。 PLC及其有关的外围设备都应该按易于与工业控制系统形成一个整体,易于扩展其功能的原则而设计。 ”PLC的特点2.1可靠性高,抗干扰能力强高可靠性是电气控制设备的关键性能。 PLC由于采用现代大规模集成电路技术,采用严格的生产工艺制造,内部电路采取了先进的抗干扰技术,具有很高的可靠性。 例如三菱公司生产的F系列PLC平均无故障时间高达30万小时。 一些使用冗余CPU的PLC的平均无故障工作时间则更长。 从PLC的机外电路来说,使用PLC构成控制系统,和同等规模的继电接触器系统相比,电气接线及开关接点已减少到数百甚至数千分之一,故障也就大大降低。 此外,PLC带有硬件故障自我检测功能,出现故障时可及时发出警报信息。 在应用软件中,应用者还可以编入外围器件的故障自诊断程序,使系统中除PLC以外的电路及设备也获得故障自诊断保护。 这样,整个系统具有极高的可靠性也就不奇怪了。 2.2配套齐全,功能完善,适用性强PLC发展到今天,已经形成了大、中、小各种规模的系列化产品。 可以用于各种规模的工业控制场合。 除了逻辑处理功能以外,现代PLC大多具有完善的数据运算能力,可用于各种数字控制领域。 近年来PLC的功能单元大量涌现,使PLC渗透到了位置控制、温度控制、CNC等各种工业控制中。 加上PLC通信能力的增强及人机界面技术的发展,使用PLC组成各种控制系统变得非常容易。 2.3易学易用,深受工程技术人员欢迎PLC作为通用工业控制计算机,是面向工矿企业的工控设备。 它接口容易,编程语言易于为工程技术人员接受。 梯形图语言的图形符号与表达方式和继电器电路图相当接近,只用PLC的少量开关量逻辑控制指令就可以方便地实现继电器电路的功能。 为不熟悉电子电路、不懂计算机原理和汇编语言的人使用计算机从事工业控制打开了方便之门。 2.4系统的设计、建造工作量小,维护方便,容易改造PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计及建造的周期大为缩短,同时维护也变得容易起来。 更重要的是使同一设备经过改变程序改变生产过程成为可能。 这很适合多品种、小批量的生产场合。 2.5体积小,重量轻,能耗低以超小型PLC为例,新近出产的品种底部尺寸小于100mm,重量小于150g,功耗仅数瓦。 由于体积小很容易装入机械内部,是实现机电一体化的理想控制设备。 3. PLC的应用领域目前,PLC在国内外已广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业,使用情况大致可归纳为如下几类。 3.1开关量的逻辑控制这是PLC最基本、最广泛的应用领域,它取代传统的继电器电路,实现逻辑控制、顺序控制,既可用于单台设备的控制,也可用于多机群控及自动化流水线。 如注塑机、印刷机、订书机械、组合机床、磨床、包装生产线、电镀流水线等。 3.2模拟量控制在工业生产过程当中,有许多连续变化的量,如温度、压力、流量、液位和速度等都是模拟量。 为了使可编程控制器处理模拟量,必须实现模拟量(Analog)和数字量(Digital)之间的A/D转换及D/A转换。 PLC厂家都生产配套的A/D和D/A转换模块,使可编程控制器用于模拟量控制。 3.3运动控制PLC可以用于圆周运动或直线运动的控制。 从控制机构配置来说,早期直接用于开关量I/O模块连接位置传感器和执行机构,现在一般使用专用的运动控制模块。 如可驱动步进电机或伺服电机的单轴或多轴位置控制模块。 世界上各主要PLC厂家的产品几乎都有运动控制功能,广泛用于各种机械、机床、机器人、电梯等场合。 3.4过程控制过程控制是指对温度、压力、流量等模拟量的闭环控制。 作为工业控制计算机,PLC能编制各种各样的控制算法程序,完成闭环控制。 PID调节是一般闭环控制系统中用得较多的调节方法。 大中型PLC都有PID模块,目前许多小型PLC也具有此功能模块。 PID处理一般是运行专用的PID子程序。 过程控制在冶金、化工、热处理、锅炉控制等场合有非常广泛的应用。 3.5数据处理现代PLC具有数学运算(含矩阵运算、函数运算、逻辑运算)、数据传送、数据转换、排序、查表、位操作等功能,可以完成数据的采集、分析及处理。 这些数据可以与存储在存储器中的参考值比较,完成一定的控制操作,也可以利用通信功能传送到别的智能装置,或将它们打印制表。 数据处理一般用于大型控制系统,如无人控制的柔性制造系统;也可用于过程控制系统,如造纸、冶金、食品工业中的一些大型控制系统。 3.6通信及联网PLC通信含PLC间的通信及PLC与其它智能设备间的通信。 随着计算机控制的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。 新近生产的PLC都具有通信接口,通信非常方便。 4. PLC的国内外状况在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的数据采集。 传统上,这些功能是通过气动或电气控制系统来实现的。 1968年美国GM(通用汽车)公司提出取代继电气控制装置的要求,第二年,美国数字设备公司(DEC)研制出了基于集成电路和电子技术的控制装置,首次采用程序化的手段应用于电气控制,这就是第一代可编程序控制器,称Programmable ,是世界上公认的第一台PLC.限于当时的元器件条件及计算机发展水平,早期的PLC主要由分立元件和中小规模集成电路组成,可以完成简单的逻辑控制及定时、计数功能。 20世纪70年代初出现了微处理器。 人们很快将其引入可编程控制器,使PLC增加了运算、数据传送及处理等功能,完成了真正具有计算机特征的工业控制装置。 为了方便熟悉继电器、接触器系统的工程技术人员使用,可编程控制器采用和继电器电路图类似的梯形图作为主要编程语言,并将参加运算及处理的计算机存储元件都以继电器命名。 此时的PLC为微机技术和继电器常规控制概念相结合的产物。 个人计算机(简称PC)发展起来后,为了方便,也为了反映可编程控制器的功能特点,可编程序控制器定名为Programmable Logic Controller(PLC)。 20世纪70年代中末期,可编程控制器进入实用化发展阶段,计算机技术已全面引入可编程控制器中,使其功能发生了飞跃。 更高的运算速度、超小型体积、更可靠的工业抗干扰设计、模拟量运算、PID功能及极高的性价比奠定了它在现代工业中的地位。 20世纪80年代初,可编程控制器在先进工业国家中已获得广泛应用。 这个时期可编程控制器发展的特点是大规模、高速度、高性能、产品系列化。 这个阶段的另一个特点是世界上生产可编程控制器的国家日益增多,产量日益上升。 这标志着可编程控制器已步入成熟阶段。 上世纪80年代至90年代中期,是PLC发展最快的时期,年增长率一直保持为30~40%。 在这时期,PLC在处理模拟量能力、数字运算能力、人机接口能力和网络能力得到大幅度提高,PLC逐渐进入过程控制领域,在某些应用上取代了在过程控制领域处于统治地位的DCS系统。 20世纪末期,可编程控制器的发展特点是更加适应于现代工业的需要。 从控制规模上来说,这个时期发展了大型机和超小型机;从控制能力上来说,诞生了各种各样的特殊功能单元,用于压力、温度、转速、位移等各式各样的控制场合;从产品的配套能力来说,生产了各种人机界面单元、通信单元,使应用可编程控制器的工业控制设备的配套更加容易。 目前,可编程控制器在机械制造、石油化工、冶金钢铁、汽车、轻工业等领域的应用都得到了长足的发展。 我国可编程控制器的引进、应用、研制、生产是伴随着改革开放开始的。 最初是在引进设备中大量使用了可编程控制器。 接下来在各种企业的生产设备及产品中不断扩大了PLC的应用。 目前,我国自己已可以生产中小型可编程控制器。 上海东屋电气有限公司生产的CF系列、杭州机床电器厂生产的DKK及D系列、大连组合机床研究所生产的S系列、苏州电子计算机厂生产的YZ系列等多种产品已具备了一定的规模并在工业产品中获得了应用。 此外,无锡华光公司、上海乡岛公司等中外合资企业也是我国比较著名的PLC生产厂家。 可以预期,随着我国现代化进程的深入,PLC在我国将有更广阔的应用天地。 5. PLC未来展望21世纪,PLC会有更大的发展。 从技术上看,计算机技术的新成果会更多地应用于可编程控制器的设计和制造上,会有运算速度更快、存储容量更大、智能更强的品种出现;从产品规模上看,会进一步向超小型及超大型方向发展;从产品的配套性上看,产品的品种会更丰富、规格更齐全,完美的人机界面、完备的通信设备会更好地适应各种工业控制场合的需求;从市场上看,各国各自生产多品种产品的情况会随着国际竞争的加剧而打破,会出现少数几个品牌垄断国际市场的局面,会出现国际通用的编程语言;从网络的发展情况来看,可编程控制器和其它工业控制计算机组网构成大型的控制系统是可编程控制器技术的发展方向。 目前的计算机集散控制系统DCS(Distributed Control System)中已有大量的可编程控制器应用。 伴随着计算机网络的发展,可编程控制器作为自动化控制网络和国际通用网络的重要组成部分,将在工业及工业以外的众多领域发挥越来越大的作用。 1.2 PLC的构成从结构上分,PLC分为固定式和组合式(模块式)两种。 固定式PLC包括CPU板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。 模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。 1.3 CPU的构成CPU是PLC的核心,起神经中枢的作用,每套PLC至少有一个CPU,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和PLC内部电路的工作状态和编程过程中的语法错误等。 进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路。 CPU主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,CPU单元还包括外围芯片、总线接口及有关电路。 内存主要用于存储程序及数据,是PLC不可缺少的组成单元。 在使用者看来,不必要详细分析CPU的内部电路,但对各部分的工作机制还是应有足够的理解。 CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。 但工作节奏由震荡信号控制。 运算器用于进行数字或逻辑运算,在控制器指挥下工作。 寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。 CPU速度和内存容量是PLC的重要参数,它们决定着PLC的工作速度,IO数量及软件容量等,因此限制着控制规模。 1.4 I/O模块PLC与电气回路的接口,是通过输入输出部分(I/O)完成的。 I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。 输入模块将电信号变换成数字信号进入PLC系统,输出模块相反。 I/O分为开关量输入(DI),开关量输出(DO),模拟量输入(AI),模拟量输出(AO)等模块。 常用的I/O分类如下:开关量:按电压水平分,有220VAC、110VAC、24VDC,按隔离方式分,有继电器隔离和晶体管隔离。 模拟量:按信号类型分,有电流型(4-20mA,0-20mA)、电压型(0-10V,0-5V,-10-10V)等,按精度分,有12bit,14bit,16bit等。 除了上述通用IO外,还有特殊IO模块,如热电阻、热电偶、脉冲等模块。 按I/O点数确定模块规格及数量,I/O模块可多可少,但其最大数受CPU所能管理的基本配置的能力,即受最大的底板或机架槽数限制。 1.5 电源模块PLC电源用于为PLC各模块的集成电路提供工作电源。 同时,有的还为输入电路提供24V的工作电源。 电源输入类型有:交流电源(220VAC或110VAC),直流电源(常用的为24VDC)。 1.6 底板或机架大多数模块式PLC使用底板或机架,其作用是:电气上,实现各模块间的联系,使CPU能访问底板上的所有模块,机械上,实现各模块间的连接,使各模块构成一个整体。 1.7 PLC系统的其它设备1.7.1 编程设备:编程器是PLC开发应用、监测运行、检查维护不可缺少的器件,用于编程、对系统作一些设定、监控PLC及PLC所控制的系统的工作状况,但它不直接参与现场控制运行。 小编程器PLC一般有手持型编程器,目前一般由计算机(运行编程软件)充当编程器。 也就是我们系统的上位机。 1.7.2 人机界面:最简单的人机界面是指示灯和按钮,目前液晶屏(或触摸屏)式的一体式操作员终端应用越来越广泛,由计算机(运行组态软件)充当人机界面非常普及。 1.8 PLC的通信联网依靠先进的工业网络技术可以迅速有效地收集、传送生产和管理数据。 因此,网络在自动化系统集成工程中的重要性越来越显著,甚至有人提出网络就是控制器的观点说法。 PLC具有通信联网的功能,它使PLC与PLC 之间、PLC与上位计算机以及其他智能设备之间能够交换信息,形成一个统一的整体,实现分散集中控制。 多数PLC具有RS-232接口,还有一些内置有支持各自通信协议的接口。 PLC的通信现在主要采用通过多点接口(MPI)的数据通讯、PROFIBUS 或工业以太网进行联网。 2 PLC控制系统的设计基本原则2.1 最大限度的满足被控对象的控制要求。 2.2 在满足控制要求的前提下,力求使控制系统简单、经济、使用和维护方便。 2.3 保证控制系统安全可靠。 2.4 考虑到生产的发展和工艺的改进在选择PLC容量时应适当留有余量。 3 PLC软件系统及常用编程语言3.1 PLC软件系统由系统程序和用户程序两部分组成。 系统程序包括监控程序、编译程序、诊断程序等,主要用于管理全机、将程序语言翻译成机器语言,诊断机器故障。 系统软件由PLC厂家提供并已固化在EPROM中,不能直接存取和干预。 用户程序是用户根据现场控制要求,用PLC的程序语言编制的应用程序(也就是逻辑控制)用来实现各种控制。 STEP7是用于SIMATIC可编程逻辑控制器组态和编程的标准软件包,也就是用户程序,我们就是使用STEP7来进行硬件组态和逻辑程序编制,以及逻辑程序执行结果的在线监视。 3.2 PLC提供的编程语言3.2.1 标准语言梯形图语言也是我们最常用的一种语言,它有以下特点3.2.1.1 它是一种图形语言,沿用传统控制图中的继电器触点、线圈、串联等术语和一些图形符号构成,左右的竖线称为左右母线。 3.2.1.2 梯形图中接点(触点)只有常开和常闭,接点可以是PLC输入点接的开关也可以是PLC内部继电器的接点或内部寄存器、计数器等的状态。 3.2.1.3 梯形图中的接点可以任意串、并联,但线圈只能并联不能串联。 3.2.1.4 内部继电器、计数器、寄存器等均不能直接控制外部负载,只能做中间结果供CPU内部使用。 3.2.1.5 PLC是按循环扫描事件,沿梯形图先后顺序执行,在同一扫描周期中的结果留在输出状态暂存器中所以输出点的值在用户程序中可以当做条件使用。 3.2.2 语句表语言,类似于汇编语言。 3.2.3 逻辑功能图语言,沿用半导体逻辑框图来表达,一般一个运算框表示一个功能左边画输入、右边画输出。 4 STEP7程序的使用4.1 创建一个项目结构,项目就象一个文件夹,所有数据都以分层的结构存在于其中,任何时候你都可以使用。 在创建一个项目之后,所有其他任务都在这个项目下执行。 4.2 组态一个站,组态一个站就是指定你要使用的可编程控制器,例如S7300、S7400等。 4.3 组态硬件,组态硬件就是在组态表中指定你的控制方案所要使用的模板以及在用户程序中以什么样的地址来访问这些模板,地址一般不用修改由程序自动生成。 模板的特性也可以用参数进行赋值。 4.4 组态网络和通讯连接,通讯的基础是预先组态网络,也就是要创建一个满足你的控制方案的子网,设置网络特性、设置网络连接特性以及任何联网的站所需要的连接。 网络地址也是程序自动生成如果没有更改经验一定不要修改。 4.5 定义符号,可以在符号表中定义局部或共享符号,在你的用户程序中用这些更具描述性的符号名替代绝对地址。 符号的命名一般用字母编写不超过8个字节,最好不要使用很长的汉字进行描述,否则对程序的执行有很大的影响。 4.6 创建程序,用梯形图编程语言创建一个与模板相连结或与模板无关的程序并存储。 创建程序是我们控制工程的重要工作之一,一般可以采用线形编程(基于一个块内,OB1)、分布编程(编写功能块FB,OB1组织调用)、结构化编程(编写通用块)。 我们最常采用的是结构化编程和分布编程配合使用,很少采用线形编程。 4.7 下载程序到可编程控制器,完成所有的组态、参数赋值和编程任务之后,可以下载整个用户程序到可编程控制器。 在下载程序时可编程控制器必须在允许下载的工作模式下(STOP或RUN-P), RUN-P模式表示,这个程序将一次下载一个块,如果重写一个旧的CPU程序就可能出现冲突,所以一般在下载前将CPU切换到STOP模式。 5 WINCC程序的使用5.1 简介,WINCC是在生产和过程自动化中解决可视化和控制任务的工业技术中性系统。 具有控制自动化过程的强大功能,是基于个人计算机的操作监视系统,它很容易结合标准的和用户的程序建立人机界面精确的满足生产实际要求。 WINCC有两个版本RC版(具有组态和开发环境)、RT版(只有运行环境),我们一般使用的是RC版。 5.2 WINCC简单使用步骤5.2.1 变量管理,首先确定通讯方式安装驱动程序,然后定义内部变量和外部变量,外部变量是受你买的WINCC软件授权限制的最大授权64K字节,内部变量没有限制。 5.2.2 画面生成,进入图形编辑器,图形编辑器是一种用于创建过程画面的面向矢量的作图程序。 也可以使用包含在对象和样式库中的众多的图形对象来创建复杂的过程画面。 可以通过动作编程将动态添加到单个图形对象上。 5.2.3 报警记录设置,报警记录提供了显示和操作选项来获取和归档结果。 可以任意地选择消息块、消息级别、消息类型、消息显示以及报表。 为了在运行中显示消息,可以使用包含在图形编辑器中的对象库中的报警控件。 5.2.4 变量记录,变量记录是用来从运行过程中采集数据并准备将它们显示和归档。 5.2.5 报表组态,报表组态是通过报表编辑器来实现的。 是为消息、操作、归档内容和当前或已归档的数据定时器或事件控制文档的集成的报表系统,可以自由选择用户报表的形式。 5.2.6 全局脚本的应用,全局脚本就是C语言函数和动作的通称,根据不同的类型脚本被用于给对象组态动作并通过系统内部C语言编译器来处理。 全局脚本动作用于过程执行的运行中。 一个触发可以开始这些动作的执行。 5.2.7 用户管理器设置,用户管理器用于分配和控制用户的单个组态和运行系统编辑器的访问权限。 每建立一个用户,就设置了WINCC功能的访问权利并独立的分配给此用户。 至多可分配999个不同的授权。 5.2.8 交叉表索引,交叉索引用于为对象寻找和显示所有使用处,例如变量、画面和函数等。 使用“链接”功能可以改变变量名称而不会导致组态不一致。 参考文献[1] 林小峰.可编程控制器原理及应用.北京:高等教育出版社,1994[2] 田瑞庭.可编程控制器应用技术.北京:机械工业出版社,1994[3] 张万忠.可编程控制器应用技术.北京:化学工业出版社,2001.12[4] 于庆广.可编程控制器原理及系统设计.北京:清华大学出版社.2004PLC,俗称“电力线上网”,英文全名为Power Line Communication,主要是指利用电力线传输数据和话音信号的一种通信方式1、主要特点① 结构灵活,不受环境的限制,有电即可组建网络,同时可以灵活扩展接入端口数量,使资源保持较高的利用率,在移动性方面可与WLAN媲美。 ② 传输质量高、速度快、带宽稳定,可以很平顺的在线观赏DVD影片,它所提供的14Mbps带宽可以为很多应用平台提供保证。 最新的电力线标准HomePlug AV传输速度已经达到了200Mbps;为了确保QoS,HomePlug AV采用了时分多路访问(TDMA)与带有冲突检测机能的载体侦听多路访问(CSMA)协议,两者结合,能够很好地传输流媒体。 ③ 范围广,无所不在的电力线网络也是这种技术的优势。 虽然无线网络可以做到不破墙,但对于高层建筑来说,其必需布设N多个AP才能满足需求,而且同样不能避面信号盲区的存在。 而电力线是最基础的网络,它的规模之大,是其他任何网络无法比拟的。 由此,运营商就可以轻松地把这种网络接入服务渗透到每一处有电力线的地方。 这一技术一旦全面进入商业化阶段,将给互联网普及带来极大的发展空间。 终端用户只需要插上电力猫,就可以实现因特网接入,电视频道接收节目,打电话或者是可视电话。 ④ 低成本。 充分利用现有的低压配电网络基础设施,无需任何布线,节约了资源。 无需挖沟和穿墙打洞,避免了对建筑物、公用设施、家庭装潢的破坏,同时也节省了人力。 相对传统的组网技术,PLC成本更低,工期短,可扩展性和可管理性更强。 目前国内已开通电力宽带上网的地方,其包月使用费用一般为50-80元/月左右,这样的价格和很多地方的ADSL包月相持平。 ⑤ 适用面广。 PLC作为利用电力线组网的一种接入技术,提供宽带网络“最后一公里”的解决方案,广泛适用于居民小区,酒店,办公区,监控安防等领域。 它是利用电力线作为通信载体,使得PLC具有极大的便捷性,只要在房间任何有电源插座的地方,不用拨号,就立即可享受4.5~45Mbps的高速网络接入,来浏览网页、拨打电话,和观看在线电影,从而实现集数据、语音、视频,以及电力于一体的“四网合一”。 PLC还有一种说法是:产品生命周期(product life cycle)观念,简称PLC,是把一个产品的销售历史比作象人的生命周期一样,要经历出生、成长、成熟、老化、死亡等阶段。 就产品而言,也就是要经历一个开发、引进、成长、成熟、衰退的阶段。 1、产品开发期:从开发产品的设想到产品制造成功的时期。 此期间该产品销售额为零,公司投资不断增加。 2、引进期:新产品新上市,销售缓慢。 由于引进产品的费用太高,初期通常利润偏低或为负数,但此时没有或只有极少的竞争者。 3、成长期:产品经过一段时间已有相当知名度,销售快速增长,利润也显著增加。 但由于市场及利润成长较快,容易吸引更多的竞争者。 4、成熟期:此时市场成长趋势减缓或饱和,产品已被大多数潜在购买者所接受,利润在达到顶点后逐渐走下坡路。 此时市场竞争激烈,公司为保持产品地位需投入大量的营销费用。 5、衰退期:这期间产品销售量显著衰退,利润也大幅度滑落。 优胜劣汰,市场竞争者也越来越少。

PLC程序语言和单片机编程有什么区别~!

1.PLC是建立在单片机之上的产品,单片机是一种集成电路,两者不具有可比性。 2.单片机可以构成各种各样的应用系统,从微型、小型到中型、大型都可,PLC是单片机应用系统的一个特例。 3.不同厂家的PLC有相同的工作原理,类似的功能和指标,有一定的互换性,质量有保证,编程软件正朝标准化方向迈进。 这正是PLC获得广泛应用的基础。 而单片机应用系统则是八仙过海,各显神通,功能千差万别,质量参差不齐,学习、使用和维护都很困难。 最后,从工程的角度,谈谈PLC与单片机系统的选用; 1.对单项工程或重复数极少的项目,采用PLC方案是明智、快捷的途径,成功率高,可*性好,手尾少,但成本较高。 2.对于量大的配套项目,采用单片机系统具有成本低、效益高的优点,但这要有相当的研发力量和行业经验才能使系统稳定、可*地运行。 最好的方法是单片机系统嵌入PLC的功能,这样可大大简化单片机系统的研制时间,性能得到保障,效益也就有保证。 PLC与单片机的区别 看到网友在讨论PLC与单片机的区别,我也来瞎说几句: PLC其实就是一套已经做好的单片几(单片机范围很广的喔)系统. PLC的梯形图你可以理解成是与汇编等计算器语言一样是一种编程语言,只是使用范围不同!而且通常做法是由PLC软件把你的梯形图转换成C或汇编语言(由PLC所使用的CPU决定),然后利用汇编或C编译系统编译成机器码!PLC运行的只是几器码而已.梯形图只是让使用者更加容易使用而已. 同样MCS-51单片机当然也可以用于PLC制作,只是8位CPU在一些高级应用如: 大量运算(包括浮点运算),嵌入式系统(现在UCOS也能移植到MCS-51)等,有些力不从心而已.我公司在使用的一套工业系统就是使用MCS-51单片机做的,不过加上DSP而已,已经能满足我们要求(我们设备速度较慢,而且逻辑控制为主,但是点数不少喔,128点I/O呢!!),而且同样使用梯形图编程,我们在把我们的梯形图转化为C51再利用KEIL的C51进行编译.你没有注意到不用型号的PLC会选用不同的CPU吗!! 当然也可以用单片机直接开发控制系统,但是对开发者要求相当高(不是一般水平可以胜任的),开发周期长,成本高(对于一些大型一点的体统你需要做实验,印刷电路板就需要一笔相当的费用,你可以说你用仿真器,用实验板来开发,但是我要告诉你,那样做你只是验证了硬件与软件的可行性,并不代表可以用在工业控制系统,因为工业控制系统对抗干扰的要求非常高,稳定第一,而不是性能第一,所以你的电路板设计必须不断实验,改进).当你解决了上述问题,你就发现你已经做了一台PLC了,当然如果需要别人能容易使用你还需要一套使用软件,这样你可以不需要把你的电路告诉别人(你也不可能告诉别人). 以上一些拙见,有说错的地方请指正,可不要打我喔!也不要骂我喔!我只是想和大家讨论一下而已!!! 许多人觉得PLC很神秘,其实PLC是很简单的,其内部的CPU除了速度快之外,其他功能还不如普通的单片机。 通常PLC采用16位或32位的CPU,带1或2个的串行通道与外界通讯,内部有一个定时器即可,若要提高可靠性再加一个看家狗定时器足够。 PLC的关键技术在于其内部固化了一个能解释梯形图语言的程序及辅助通讯程序,梯形图语言的解释程序的效率决定了PLC的性能,通讯程序决定了PLC与外界交换信息的难易。 对于简单的应用,通常以独立控制器的方式运作,不需与外界交换信息,只需内部固化有能解释梯形图语言的程序即可。 实际上,设计PLC的主要工作就是开发解释梯形图语言的程序。 现在的单片机完全可以取代PLC 以前的单片机由于 稳定性和抗电磁干扰能力比较的弱 和PLC是没有办法相比的 现在的单片机已经做到了高稳定性和很强的抗干扰能力 在某些领域 已经实现了替换 比如说以前的电梯是绝对禁止使用单片机的~~现在已经有些高性能的单片机在电梯上使用了

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论