1. 可编程控制器编程
可编程控制器的基本工作原理:
可编程控制器(PLC)的工作有两个要点:入出信息变换、可靠物理实现,入出信息变换主要由运行存储于PLC内存中的程序实现。这程序既有系统的(这程序又称监控程序,或操作系统),又有用户的。系统程序为用户程序提供编辑与运行平台,同时,还进行必要的公共处理,如自检,I/O刷新,与外设、上位计算机或其它PLC通讯等处理。用户程序由用户按照控制的要求进行设计。什么样的控制,就有什么样的用户程序。
可靠物理实现主要通过输入(I, INPUT)及输出(O, OUTPUT)电路。每一输入点或输出点就有一个I或O电路。而且,总是把若干个这样电路集成在一个模块(或箱体)中,然后再由若干个模块(或箱体)集成为PLC完整的I/O系统(电路)。尽管这些模块相当多,占了PLC体积的大部分,但由于它们都是由高度集成化的,所以,PLC的体积还是不太大的。
输入电路时刻监视着输入点的(通、ON或断、OFF)状态,并将此状态暂存于它的输入暂存器(还可能有别的称谓)中。每一输入点都有一个与其对应的输入暂存器。
输出电路有输出锁存器(还可能有别的称谓)。它也有两个状态,高、低电位状态,并可锁存。同时,它还有相应的物理电路,可把这个高、低电位的状态传送给输出点。每一输出点都有一个与其对应的输出锁存器。
这里的输入暂存器及输出锁存器实际是PLC的I/O电路的寄存器。它们与PLC内存交换信息通过PLC I/O总线及运行PLC的系统程序实现。
把输入暂存器的信息读到PLC的内存中,称输入刷新。PLC内存有专门开辟的存放输入信息的映射区。这个区的每一对应位(bit)称为输入继电器,或称软触点,或称为过程映射输入寄存器(the process-image input register)。这些位(bit)置成1,表示触点通,置成0为触点断。由于它的状态是由输入刷新得到的,所以,它反映的就是输入点的状态。
输出锁存器与PLC内存中的输出映射区也是对应的。一个输出锁存器也有一个内存位(bit)与其对应,这个位称为输出继电器,或称输出线圈,或称为过程映射输出寄存器(the process-image output register)。通过PLC I/O总线及运行系统程序,输出继电器的状态将映射给输出锁存器。这个映射的完成也称输出刷新。
PLC除了有可接收开关信号的输入电路,有时,还有接收模拟信号的输入电路(称模拟量输入单元或模块)。只是后者先要进行模、数转换,然后,再把转换后的数据存入PLC相应的内存单元中。
如要产生模拟量输出,则要配有模拟量输出电路(称模拟量输出模块或单元)。靠它对PLC相应的内存单元的内容进行数、模转换,并产生输出。
这样,用户所要编的程序只是,PLC输入有关的内存区到输出有关的内存区的变换。这是一个数据及逻辑处理问题。由于PLC有强大的指令系统,编写出满足这个要求的程序是完全可能的。
2. 可编程控制器编程题题例
有五种主要编程语言:1、梯形图 2、语句表 3、功能块图 4、顺序功能图 5、结构化文本。
各种编程语言的特点为: 1、梯形图: (1)是一种图形语言,沿用传统控制图中的继电器触点、线圈、串联等术语和一些图形符号构成。(2)梯形图中触点只有常开和常闭,触点可是PLC输入点接的开关,也可以是PLC内部继电器的触点或内部寄存器、计数器等状态。(3)梯形图中的触点可以任意串并联,但线圈只能并联不能串联。(4)内部继电器、计数器、及川启等不能直接控制外部负载,只能作为中间结果供CPU内部使用。2、语句表: (1)利用助记符号表示操作功能,具有容易记忆,便于掌握等特点。(2)在编程器的键盘上就可以进行编程设计。(3)一般PLC的梯形图和语句表可以相互装换。3、功能模块: (1)以功能模块为单位。冲控制功能入手,使控制方案的分析或理解变得容易。(2)功能模块是用图形化的方式描述功能,他的直观性大大方便设计人员的编程和组态。4、顺序功能图: (1)以功能为主线、条例清晰,便于对程序操作的理解和沟通。(2)对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间。(3)常用于系统规模较大、程序关系复杂的理解和沟通。(4)整个程序的扫描时间有其他程序设计语言编制的程序的扫描时间大大缩短。5、结构化文本: (1)采用高级语言进行编程,可以完成比较复杂的控制运算。(2)需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员要求较高。(3)直观性和易操作性相对差。(4)常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。
3. 可编程控制器编程语言有哪些
计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。这些就是计算机能接受的语言。
一、计算机高级语言特点
高级语言是从人类的逻辑思维角度出发的计算机语言,抽象程度大大提高,需要经过编译成特定机器上的目标代码才能执行,一条高级语言的语句往往需要若干条机器指令来完成。高级语言独立于机器的特性是靠编译器为不同机器生成不同的目标代码(或机器指令)来实现的。
二、计算机高级语言分类
分类方法:程序的执行方式
类别:编译型语言和解释型语言
1.编译型语言:
使用专门的编译器针对特点平台将高级语言一次性翻译成可被该平台硬件执行的机器码,并包装秤该平台可识别的可执行程序的格式,该过程叫编译Compile,可执行程序可以脱离开发环境,在特定平台独立运行。
有些程序编译结束后,还可能需要对其他目标代码进行连接,将多个目标代码模块组成最终的可执行程序。
优点:可以脱离开发环境独立运行,执行效率比较高;
缺点:可执行程序不能跨平台;
2.解释型语言:
使用解释器对源代码逐行解释成特定平台的机器码并执行,相当于把编译型语言中的编译和解释过程混合在一起同时完成。
缺点:每次执行该语言的程序都需要进行一次编译,效率低,不能脱离解释器独立运行;
优点:可实现跨平台执行;
三、计算机常见语种
常见语言
1.C
语言
C语言是Dennis Ritchie在七十年代创建的,它功能更强大且与ALGOL保持更连续的继承性,而ALGOL则是COBOL和FORTRAN的结构化继承者。C语言被设计成一个比它的前辈更精巧、更简单的版本,它适于编写系统级的程序,比如操作系统。在此之前,操作系统是使用编写的,而且不可移植。C语言是第一个使得系统级代码移植成为可能的编程语言。
优点:有益于编写小而快的程序。很容易与结合。具有很高的标准化,因此其他平台上的各版本非常相似。
缺点:不容易支持面向对象技术。语法有时会非常难以理解,并造成滥用。
移植性:C语言的核心以及ANSI函数调用都具有移植性,但仅限于流程控制、内存管理和简单的文件处理。其他的东西都跟平台有关。比如说,为Windows和Mac开发可移植的程序,用户界面部分就需要用到与系统相关的函数调用。这一般意味着你必须写两次用户界面代码,不过还好有一些库可以减轻工作量。
2.C++
C++语言是具有面向对象特性的C语言的继承者。面向对象编程,或称OOP是结构化编程的下一步。OO程序由对象组成,其中的对象是数据和函数离散集合。有许多可用的对象库存在,这使得编程简单得只需要将一些程序“建筑材料”堆在一起(至少理论上是这样)。比如说,有很多的GUI和数据库的库实现为对象的集合。
优点:组织大型程序时比C语言好得多。很好的支持面向对象机制。通用数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层细节的负担。
缺点:非常大而复杂。与C语言一样存在语法滥用问题。比C慢。大多数编译器没有把整个语言正确的实现。
移植性:比C语言好多了,但依然不是很乐观。因为它具有与C语言相同的缺点,大多数可移植性用户界面库都使用C++对象实现。
3.
汇编是第一个计算机语言。汇编语言实际上是你计算机处理器实际运行的指令的命令形式表示法。这意味着你将与处理器的底层打交道,比如寄存器和堆栈。如果要找的是类英语且有相关的自我说明的语言,这不是你想要的。 特别注意:语言的名字叫“汇编”。把汇编语言翻译成真实的机器码的工具叫“汇编程序”。把这门语言叫做“汇编程序”这种用词不当相当普遍,因此,请从这门语言的正确称呼作为起点出发。
优点:最小、最快的语言。汇编高手能编写出比任何其他语言能实现的快得多的程序。你将是利用处理器最新功能的第一人,因为你能直接使用它们。
缺点:难学、语法晦涩、坚持效率,造成大量额外代码—不适于心脏虚弱者。
移植性:接近零。因为这门语言是为一种单独的处理器设计的,根本没移植性可言。如果使用了某个特殊处理器的扩展功能,你的代码甚至无法移植到其他同类型的处理器上(比如,AMD的3DNow指令是无法移植到其它奔腾系列的处理器上的)。
4.Pascal
语言
Pascal语言是由NicolasWirth在七十年代早期设计的,因为他对于FORTRAN和COBOL没有强制训练学生的结构化编程感到很失望,“空心粉式代码”变成了规范,而当时的语言又不反对它。Pascal被设计来强行使用结构化编程。最初的Pascal被严格设计成教学之用,最终,大量的拥护者促使它闯入了商业编程中。当Borland发布IBMPC上的TurboPascal时,Pascal辉煌一时。集成的编辑器,闪电般的编译器加上低廉的价格使之变得不可抵抗,Pascal编程了为MS-DOS编写小程序的首选语言。然而时日不久,C编译器变得更快,并具有优秀的内置编辑器和调试器。Pascal在1990年Windows开始流行时走到了尽头,Borland放弃了Pascal而把目光转向了为Windows编写程序的C++。TurboPascal很快被人遗忘。
基本上,Pascal比C简单。虽然语法类似,它缺乏很多C有的简洁操作符。这既是好事又是坏事。虽然很难写出难以理解的“聪明”代码,它同时也使得一些低级操作,如位操作变得困难起来。
优点:易学、平台相关的运行(Dephi)非常好。
缺点:“世界潮流”面向对象的Pascal继承者(Modula、Oberon)尚未成功。语言标准不被编译器开发者认同。
.移植性:很差。语言的功能由于平台的转变而转变,没有移植性工具包来处理平台相关的功能。
5.VisualBasic
优点:整洁的编辑环境。易学、即时编译导致简单、迅速的原型。大量可用的插件。虽然有第三方的DirectX插件,DirectX7已准备提供VisualBasic的支持。
缺点:程序很大,而且运行时需要几个巨大的运行时动态连接库。虽然表单型和对话框型的程序很容易完成,要编写好的图形程序却比较难。调用Windows的API程序非常笨拙,因为VB的数据结构没能很好的映射到C中。有OO功能,但却不是完全的面向对象。
移植性:非常差。因为VisualBasic是微软的产品,你自然就被局限在他们实现它的平台上。
6.Java
Java是由Sun最初设计用于嵌入程序的可移植性“小C++”。在网页上运行小程序的想法着实吸引了不少人的目光,于是,这门语言迅速崛起。事实证明,Java不仅仅适于在网页上内嵌动画—它是一门极好的完全的软件编程的小语言。“虚拟机”机制、垃圾回收以及没有指针等使它很容易实现不易崩溃且不会泄漏资源的可靠程序。
虽然不是C++的正式续篇,Java从C++中借用了大量的语法。它丢弃了很多C++的复杂功能,从而形成一门紧凑而易学的语言。不像C++,Java强制面向对象编程,要在Java里写非面向对象的程序就像要在Pascal里写“空心粉式代码”一样困难。
优点:二进制码可移植到其他平台。程序可以在网页中运行。内含的类库非常标准且极其健壮。自动分配合垃圾回收避免程序中资源泄漏。网上数量巨大的代码例程。
缺点:使用一个“虚拟机”来运行可移植的字节码而非本地机器码,程序将比真正编译器慢。有很多技术(例如“即时”编译器)很大的提高了Java的速度,不过速度永远比不过机器码方案。早期的功能,如AWT没经过慎重考虑,虽然被正式废除,但为了保持向后兼容不得不保留。越高级的技术,造成处理低级的机器功能越困难,Sun为这门语言增加新的“受祝福”功能的速度实在太慢。
移植性:最好的,但仍未达到它本应达到的水平。低级代码具有非常高的可移植性,但是,很多UI及新功能在某些平台上不稳定。
7.创作工具
多数创作工具有点像VisualBasic,只是它们工作在更高的层次上。大多数工具使用一些拖拉式的流程图来模拟流程控制。很多内置解释的程序语言,但是这些语言都无法像上面所说的单独的语言那样健壮。
优点:快速原型—如果你的游戏符合工具制作的主旨,你或许能使你的游戏跑得比使用其他语言快。在很多情况下,你可以创造一个不需要任何代码的简单游戏。使用插件程序,如Shockware及IconAuthor播放器,你可以在网页上发布很多创作工具生成的程序。
缺点:专利权,至于将增加什么功能,你将受到工具制造者的支配。你必须考虑这些工具是否能满足你游戏的需要,因为有很多事情是那些创作工具无法完成的。某些工具会产生臃肿得可怕的程序。
移植性:因为创作工具是具有专利权的,你的移植性以他们提供的功能息息相关。有些系统,如Director可以在几种平台上创作和运行,有些工具则在某一平台上创作,在多种平台上运行,还有的是仅能在单一平台上创作和运行。[5]
8.C#
C#是一种精确、简单、类型安全、面向对象的语言。其是.Net
的代表性语言。什么是.Net
呢?按照微软总裁兼首席执行官Steve Ballmer把它定义为:.Net
代表一个集合,一个环境,它可以作为平台支持下一代Internet的可编程结构。
C#的特点:
1.完全面向对象。
2.支持分布式。
3.自动管理内存机制。
4.安全性和可移植性。
5.指针的受限使用。
6.多线程。和Java类似,C#可以由一个主进程分出多个执行小系统的多线程。
C#是在Java流行起来后所诞生的一种新的程序开发语言。
4. 可编程控制器编程基础
可编程控制器应用技术不是很难学,只要你有一点电工的基础,那么学习起来将会变得得心应手,经过一段时间的实际操作和演练,你也可能会变得入门
5. 可编程控制器编程语言
指令表是为可编程逻辑控制器设计编程语言
6. 可编程控制器编程软件
GX WORKS2
1、GX WORKS2是三菱新一代PLC软件,具有简单工程和结构化工程两种编程方式,支持梯形图、SFC、 ST及结构化梯形图等编程语言。
2、可实现程序编辑、参数设定、网络设定、程序监控、调试及在线更改、智能功能模块设置等功能,具有系统标签功能,可实现PLC数据与HMI、运动控制器的数据共享。
3、 GX WORKS2自带仿真软件,适用于Q、QnU、L、FX等系列可编程控制器,兼容GX Developer软件。
4、GX WORKS2与传统的GX Developer 软件相比,提高了功能及操作性能,变得更加容易使用。
5、GX Works2支持最新FX3U编程,不支持FX0N以下版本的PLC以及A系列PLC的编程。并且不支持语句表编程。
7. 可编程控制器编程语言有几种
可编程控制器种类很多:欧姆龙、西门子、施耐德、三菱、还有国内的一些牌子,虽然编程的技巧是共通的,但编程的语言有差别,所以要找所需要的在网上可以找到。 “PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。
PLC及其有关的外围设备都应该按易于与工业控制系统形成一个整体,易于扩展其功能的原则而设计。”