7
6ES7214-2AD23-0XB8现货充足
PLC的编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求。目前,还没有一种对各厂家产品都能兼容的编程语言。如三菱公司的产品有它自己的编程语言,OMRON公司的产品也有它自己的语言。但不管什么型号的PLC,其编程语言都具有以下特点:
1. 图形式指令结构:程序由图形方式表达,指令由不同的图形符号组成,易于理解和记忆。系统的软件开发者已把工业控制中所需的独立运算功能编制成象征图形,用户根据自己的需要把这些图形进行组合,并填入适当的参数。在逻辑运算部分,几乎所有的厂家都采用类似于继电器控制电路的梯形图,很容易接受。如西门子公司还采用控制系统流程图来表示,它沿用二进制逻辑组件图形符号来表达控制关系,很直观易懂。较复杂的算术运算、定时计数等,一般也参照梯形图或逻辑组件图给予表示,虽然象征性不如逻辑运算部分,也受用户欢迎
2. 明确的变数常数:图形符相当于操作码,规定了运算功能,操作数由用户填人,如:K400,T120等。PLC中的变量和常数以及其取值范围有明确规定,由产品型号决定,可查阅产品目录手册。
3. 简化的程序结构:PLC的程序结构通常很简单,典型的为块式结构,不同块完成不同的功能,使程序的调试者对整个程序的控制功能和控制顺序有清晰的概念。
4. 简化应用软件生成过程:使用汇编语言和高级语言编写程序,要完成编辑、编译和连接三个过程,而使用编程语言,只需要编辑一个过程,其余由系统软件自动完成,整个编辑过程都在人机对话下进行的,不要求用户有高深的软件设计能力。
5. 强化调试手段:无论是汇编程序,还是高级语言程序调试,都是令编辑人员的事,而PLC的程序调试提供了完备的条件,使用编程器,利用PLC和编程器上的按键、显示和内部编辑、调试、监控等,并在软件支持下,诊断和调试操作都很简单。
总之,PLC的编程语言是面向用户的,对使用者不要求具备高深的知识、不需要长时间的专门训练。
§2 编程语言的形式
本教材采用较常用的两种编程语言,一是梯形图,二是助记符语言表。采用梯形图编程,因为它直观易懂,但需要一台个人计算机及相应的编程软件;采用助记符形式便于实验,因为它只需要一台简易编程器,而不必用昂贵的图形编程器或计算机来编程。
虽然一些高档的PLC还具有与计算机兼容的C语言、BASIC语言、专用的高级语言(如西门子公司的GRAPH5、三菱公司的MELSAP),还有用布尔逻辑语言、通用计算机兼容的汇编语言等。不管怎么样,各厂家的编程语言都只能适用于本厂的产品。
l 编程指令:指令是PLC被告知要做什么,以及怎样去做的代码或符号。从本质上讲,指令只是一些二进制代码,这点PLC与普通的计算机是完全相同的。同时PLC也有编译系统,它可以把一些文字符号或图形符号编译成机器码,所以用户看到的PLC指令一般不是机器码而是文字代码,或图形符号。常用的助记符语句用英文文字(可用多国文字)的缩写及数字代表各相应指令。常用的图形符号即梯形图,它类似于电气原理图是符号,易为电气工作人员所接受。
l 指令系统:一个PLC所具有的指令的全体称为该PLC的指令系统。它包含着指令的多少,各指令都能干什么事,代表着PLC的功能和性能。一般讲,功能强、性能好的PLC,其指令系统必然丰富,所能干的事也就多。我们在编程之前必须弄清PLC的指令系统
l 程序:PLC指令的有序集合,PLC运行它,可进行相应的工作,当然,这里的程序是指PLC的用户程序。用户程序一般由用户设计,PLC的厂家或代销商不提供。用语句表达的程序不大直观,可读性差,特别是较复杂的程序,更难读,所以多数程序用梯形图表达。
l 梯形图:梯形图是通过联机把PLC指令的梯形图符号连接在一起的连通图,用以表达所使用的PLC指令及其前后顺序,它与电气原理图很相似。它的联机有两种:一为母线,另一为内部横竖线。内部横竖线把一个个梯形图符号指令连成一个指令组,这个指令组一般总是从装载(LD)指令开始,必要时再继以若干个输入指令(含LD指令),以建立逻辑条件。最后为输出类指令,实现输出控制,或为数据控制、流程控制、通讯处理、监控工作等指令,以进行相应的工作。母线是用来连接指令组的
step7编程之地址概念详解
完整的一条指令,应该包含指令符+操纵数(当然不包括那些单指令,比如NOT等)。其中的操纵数是指令要执行的目标,也就是指令要进行的地址。
我们知道,在PLC中划有各种用途的存储区,比如物理输进输出区P、映像输进区I、映像输出区Q、位存储区M、定时器T、计数器C、数据区DB和L等,同时我们还知道,每个区域可以用位(BIT)、字节(BYTE)、字(WORD)、双字(DWORD)来衡量,或者说来*确切的大小。当然定时器T、计数器C不存在这种衡量体制,它们仅用位来衡量。由此我们可以得到,要描述一个地址,至少应该包含两个要素:
1、存储的区域
2、这个区域中具体的位置
比如:A Q2.0
其中的A是指令符,Q2.0是A的操纵数,也就是地址。这个地址由两部分组成:
Q:指的是映像输出区
2.0:就是这个映像输出区*二个字节的*0位。
由此,我们得出, 一个确切的地址组成应该是:
〖存储区符〗〖存储区尺寸符〗〖尺寸数值〗.〖位数值〗,例如:DBX200.0。
DB X 200 . 0
其中,我们又把〖存储区符〗〖存储区尺寸符〗这两个部分合称为:地址标识符。这样,一个确切的地址组成,又可以写成:
地址标识符 + 确切的数值单元
【间接寻址的概念】
寻址,就是*指令要进行的地址。给定指令的地址方法,就是寻址方法。
在谈间接寻址之前,我们简单的了解一下直接寻址。所谓直接寻址,简单的说,就是直接给出指令的确切操纵数,象上面所说的,A Q2.0,就是直接寻址,对于A这个指令来说,Q2.0就是它要进行的地址。
这样看来,间接寻址就是间接的给出指令的确切操纵数。对,就是这个概念。
比如:A Q[MD100] ,A T[DBW100]。程序语句中用方刮号 [ ] 标明的内容,间接的指明了指令要进行的地址,这两个语句中的MD100和DBW100称为指针Pointer,它指向它们其中包含的数值,才是指令真正要执行的地址区域的确切位置。间接由此得名。
西门子的间接寻址方式计有两大类型:存储器间接寻址和寄存器间接寻址。
【存储器间接寻址】
存储器间接寻址的地址给定格式是:地址标识符+指针。指针所指示存储单元中所包含的数值,就是地址的确切数值单元。
存储器间接寻址具有两个指针格式:单字和双字。
单字指针是一个16bit的结构,从0-15bit,指示一个从0-65535的数值,这个数值就是被寻址的存储区域的编号。
双字指针是一个32bit的结构,从0-2bit,共三位,按照8进制指示被寻址的位编号,也就是0-7;而从3-18bit,共16位,指示一个从0-65535的数值,这个数值就是被寻址的字节编号
1、WinCC变量归档是一个完整的数据记录系统,组态好变量归档后,运行时会自动在后台进行数据保存工作。一般情况下,用户不必知道变量归档保存在数据库中哪个表里,就像控件使用一样,你只要使用它的接口就行了。在显示变量归档时,在画面和报表里,都有相应的控件:趋势控件和表格控件。
2、根据情况设置归档类型,一般是选择周期性连续归档对于存储到数据库的归档数据,WINCC项目下有个专门的文件夹:ArchiveManager。在该文件夹下,有两个子文件夹,分别对应快速归档(TagLoggingFast文件夹)和慢速归档(TagLoggingSlow文件夹)。在快速归档文件夹下,对应有快速归档数据库文件,用来存储快速归档数据。文件名称为:“计算机名称_”+“项目名称_”+“TLG_F_”+“年月日时分”.mdf。同理,存储慢速归档数据的文件名称为: “计算机名称_”+“项目名称_”+“TLG_S_”+“年月日时分”.mdf。 WINCC的归档数据可以直接从数据库的Enterprise Manager中查看。与之相关的数据库为: -CC_项目名称_日期_时间; -CC_项目名称_日期_时间R; -计算机名称_项目名称_ TLG_F_日期_时间; -计算机名称_项目名称_ TLG_S_日期_时间
在工程实际中,应用较为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。微分(D)控制 在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。 自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“**前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重**调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。



VFD-E系列是台达变频器的*三代精品,不仅在产品功能、性能与控制技术上均继承了台达自动化家族的一贯优点,而且在应用角度、灵活的模块化设计、环保节能等方面都有开拓创新。其中,其内置PLC的功能十分值得期待。
从功能上看,VFD-E系列变频器:提供了多样化现场总线通讯模块,非常适合系统整合应用、立体停车设备以及远程监控的应用;内建的PLC功能,可取代小型单片机控制器、计数器以及定时器等,从而大幅降低系统成本,这很适用对价格敏感的机械加工行业;采用欧式设计,既可并排安装又可加挂导轨背板,小巧身型可大幅节约安装空间;可做直流母线并联供电,有效相互吸收回馈能量,分散刹车电阻负担,且多台使用同一个刹车模块,大大降低了系统成本;滤波器内建(230V 1phase and 460V 3phase)符合CE/UL标志,完全符合出口的要求;方便灵活的各种选购配件,例如I/O卡、A/D、D/A模块、数字操作器、PG卡、通讯模块等,客户可根据需要合理配置,让系统达到较佳性价比;完善的保护功能、高精度的电流检测等,都是其功能中的亮点。
但更值得关注的是,VFD-E系列变频器内置PLC的强大功能,具体表现在:
1、 内存程序、往返式来回扫描控制方式;
2、 结束再生的输入/输出控制方式(当执行END指令时输入输出有立即刷新指令);
3、 基本指令的处理速度达几个uS;
4、 指令+梯形图+SF的程序语言;
5、 350步程序容量;
6、 45个指令种类,包括28个基本指令、17个应用指令;基本配置6个输入点(X)、2个输出点(Y),通过I/O卡可配置9个输入点、4个输出点;
7、 一般用的内部寄存器30点D0~D29,45点特殊寄存器D1000~D1044主要作为存放系统状态、错误信息、监控作用;通过RS485方式来进行程序读出写入。
VFD-E系列强大的功能使其应用领域非常广泛:食品加工、风扇水泵、造纸、纺织机械、机床/金属加工机械、输送机与搬运机械及木工机械等。无可置疑,台达VFD-E系列必将以其**的性能给行业客户带来大的便利和实惠。当PLC运行时,是通过执行反映控制要求的用户程序来完成控制任务的,需要执行众多的操作,但CPU不可能同时去执行多个操作,它只能按分时操作(串行工作)方式,每一次执行一个操作,按顺序逐个执行。由于CPU的运算处理速度很快,所以从宏观上来看,PLC外部出现的似乎是同时(并行)完成的。这种串行工作过程称为PLC的扫描工作方式。
用扫描工作方式执行用户程序时,扫描是从**条程序开始,在无中断或跳转控制的情况下,按程序存储顺序的先后,逐条执行用户程序,直到程序结束。然后再从头开始扫描执行,周而复始重复运行。
PLC的扫描工作方式与电器控制的工作原理明显不同。电器控制装置采用硬逻辑的并行工作方式,如果某个继电器的线圈通电或断电,那么该继电器的所有常开和常闭触点不论处在控制线路的哪个位置上,都会立即同时动作;而PLC采用扫描工作方式(串行工作方式),如果某个软继电器的线圈被接通或断开,其所有的触点不会立即动作,必须等扫描到该时才会动作。但由于PLC的扫描速度快,通常PLC与电器控制装置在I/O的处理结果上并没有什么差别
问: 1.根据PLC系统时间,当其在某一时间段如(11-25至03-22)则进入冬天程序控制,否则为夏天控制.请问如何进行以上判断及操作?
2.有三台电机为循环控制,如昨天运行1#机,则今天运行2#机,明天运行3#机,后天又运行1#机,如此反复.但用定时器较多满足不了定时要求.问要实现以上功能该如何编程序?
答:**
用SFC0设置时间,SFC1读出时间进行比较。方法如下:
1、建立一共享数据块,比如DB1,SYMBOLS设为AA(DB1和AA可以任意设定,在此只是举例)
2、打开数据块DB1,进行变量声明:(*1个字由系统占用,我们从*2个字开始)在NAME栏中声明名称为DW2,TYPE栏中声明变量类型为“DATE_AND_TIME”,初始值自动生成。同样在声明DW10。每个变量占用8个字节,分别代表年、月、日、时、分、秒、星期。
3、在OB1里调用DB1
4、设定时间:调用SFC0,在PDT端输入“AA”.DW2,在RET_VAL端输入一个字,比如MW100
5、读出时间:调用SFC1,在CDT端输入“AA”.DW10,在RET_VAL端输入一个字,比如MW102
6、在DB1中,自DB1.DBW2到DB1.DBW9存放须设定的年、月、日、时、分、秒、星期的值;自DB1.DBW10到DB1.DBW17存放实际的年、月、日、时、分、秒、星期的值;
7、比较DB1.DBW10到DB1.DBW17的值和你需要的值,进行你的比较操作。
说明:STEP7中有这方面的介绍,大致是在OB1里面进行变量声明,间的设定和取出,由于取出的值不能直接应用,再通过FC6、7、8等转换出来,我觉得很麻烦,因此应用如上方法实现。
NO.2
取出当前日期存入MB1,同时置位M0.1,启动M1
M0.1的上升沿(必须用边沿触发)将MB1送入MB2
一直比较MB1和MB2,如相等,M1继续运行;
如不相等,加上M0.1置位M0.2,同时复位M0.1,启动M2
同理,在M0.2接通时,如果数据不等,置位M0.3,同时复位M0.2启动M3
同理,在M0.3接通时,如果数据不等,置位M0.1,同时复位M0.3启动M1
注意:MB1送入MB2的条件必须使用边沿,否则MB1和Mb2总是相等,无法比较。