PLC概念可编程控制器(ProgrammableController),简称PC,因早期主要应用于开关量的逻辑控制,因此也称为PLC(ProgrammableLogicController),即可编程逻辑控制器。由于PC已成为个人计算机的代名词,为了不与之相混淆,可编程控制器简称为PLC,它是专为工业环境应用而设计的数字逻辑运算装置,而现代的可编程控制器以微处理器为基础、高度集成化的新型工业控制装置,是计算机技术和工业控制技术相结合的控制。PLC的分类按I/O点数及内存容量的配置,可将PLC分为以下五类:1、超小型PLC:I/O点数小于64点,内存容量256Byte~1KB。2、小型PLC:I/O点数在64~128点,内存容量2~4KB。小型及超小型PLC在结构上一般是一体化整体式的。主要用于中等容量的开关量控制,具有逻辑运算、定时、计数、顺控、通信等功能。3、中型PLC:I/O点数范围128~512点,内存容量32~256KB。中型PLC除具有小型、超小型PLC的功能外、还增加了数据处理能力,适用于小规模的综合控制系统.4、大型PLC:I/O点数范围512~1024点,内存容量512KB以上.5、超大型PLC:I/O点数在1024点以上,内存容量1M~32M以上.大型和超大型PLC除具有中、小型PLC的功能外,增强了编程终端的处理能力和通信能力,适用于多级自动控制和大型分散控制系统.PLC结构(一体化)现场传感器开关量DC或AC模拟量电压型:±10V电流型:4-20mA继电器晶体管晶闸管模拟量:电压型电流型PLC结构(模块化)CPU模块编程器输入模块输出模块智能I/O模块通信模块现场控制信号和负载其他通信接口计算机三总线:DataBusAddressBusControlBusRead/Write物理机架模块化PLC实物图底板(RACK)电源(PS)中央处理模块(CPU)接口模块(IM)I/O模块(SM)功能模块(FM)通讯处理模块(CP)PLC应用结构(扩展式)由并行通信方式,进行有条件性和限制性的扩展IO单元,主要由主站和扩展单元组成。PLC应用结构(ProfileBUS通讯)通过网络通信方式进行拓扑PLC站点和IO站,由主站和从站分时异步通信,或者主站和从站同步通信进行控制应用。PLC工作模式及运行模式有四种工作方式,通过可卸的专用钥匙控制:(1)RUN-P:可编程运行方式,CPU扫描用户程序,既可以用编程装置从CPU中读出,也可以由编程装置装入CPU中.用编程装置可监控程序的运行.在此位置钥匙不能拔出。(2)RUN:运行方式,CPU扫描用户程序,可以用编程装置读出并监控PLCCPU中的程序,但不能改变装载存储器中的程序。在此位置可以拔出钥匙,以防程序在正常运行时被改变操作方式.(3)STOP:停机方式,CPU不扫描用户程序,可以通过编程装置从CPU中读出,也可以下载程序到CPU,在此位置可以拔出钥匙。(4)MRES:该位置瞬间接通,用以清除CPU的存储器。PLCCPU可以多任务处理工作,采用循环扫描工作方式进行运算。PLC上电后:自诊断—外部中断—读取输入信号状态—运算—输出运算结果。CPU运行状态LED指示灯二极管LED含义说明SF(红色)系统错误/故障硬件、程序、参数、算术、电池、存储卡、输入\输出等BATF(红色)电池故障灯亮:1、电池失效;2、未装电池DC5V(绿色)电源内部5V直流电源正常工作。FRCE(黄色)外部IO强制使用了强制方式。警告SF_DP(红色)DP总线故障指示现场总线及DP接口的错误。BUSF(红色)现场总线故障Erro指示灯错误指示灯地址分配规则根据机架上模块的类型,地址分为输入(I)和输出(Q),数字量I/O模块在槽中分配4Byte(等于32个I/O点)。数字量模块输入点和输出点的地址,由字节部分和位部分组成。在机架0的第一个信号模块槽(槽4)的地址为0.0至3.7,1个16点的输入模块只占用0.0至1.7,地址2.0至3.7未用。模拟量I/O模块每个槽划分为16Byte(等于8个模拟量通道)每个模拟量输入通道或输出通道的地址总是一个字地址。1Byte=8Bit2Byte=1Word4Byte=1DWord槽1234567891011机架00.0to3.720.0to23.724.0to27.728.0to31.712.0to15.716.0to19.74.0to7.78.0to11.7IM(发送)CPUPSIM256to270336to350352to366304to318320to334272to286288to302(发送)槽口号234567891011CPUPLC用户可访问地址765432101X位B字节W字D双字输入映像区I输出映像区Q外设输入映像区PI外设输出映像区PQ存储区域映像区M数据块映像区DB、DI定时器映像区T计数器映像区C本地数据映像区L寻址方式指令在操作运行时,要对操作数进运算或操作,这个过程叫寻址,寻址的方法一般有4种寻址方法:①立即寻址;②直接寻址;③存储器间接寻址;④寄存器间接寻址。指令操作的对象是常数或常量,而且有些操作数本身直接包含在指令中,操作数是唯一的。例如:Set//逻辑结果置1;OWW#16#A320//把常量w#16#A320和累加器1进行“或”运算;L37//把一个整数37放入累加器1中;L“ABCDEF”//把一串ASCII码字符“ABCDEF”放入累加器中;LC#0100//把一个“BCD”常数0100放入累加器中;LS5T#3M//把一个时间常数进制“3M”放入累加器中;立即寻址直接寻址在指令中操作的对象是PLC的存储单元地址,其中有寄存器直接址和存储器直接寻址。例如:AI4.0//对输入位I4.0进“与”逻辑操作;SL50.0//放入数据位L50.0置有效1;=M300.0//使存储区位M300.0的内容等于逻辑运算结果的内容;LIB10//把输入字节IB10的内容装在累加器1中;TDBD16//把累加器中的数据内容传送给数据双字DBD16中;地址寄存器的内容加上偏移量形成地址指针,该指针指向的数值就是该存储单元。1、地址指针概念:在存储器中,存储器的内容是操作数所在存储单元的地址,该地址就称为“地址指针”。2、寄存器间接寻址指针格式:高位31为0时,说明是区域内寄存器间接寻址:为1时说明是区域间寄存器间接寻址;高位24、25、26为某一个值时,表示区域标示符。寄存器间接寻址MSBLSB高位26、25、24中的内容存储区域区域的标识符000I/O,外设I/O标识符为P001输入映像区域标识符为I100共享数据块标识符为DBX111本地数据标识符为L位18至位3,表示被寻址的字节编号(范围从0至65535);位2至位0,表示被寻址的位编号(范围从0至7);因为地址寄存器存储的地址指针的长度均为双字,所以寄存器的寻址方式有两种:①在某一个存储区中寻址,明确了存储区域号,还要同时指出地址指针中包括寻址数值中的字节编号和位编号;②在地址指针中确定了存储区域中的说明位(而存储器中标识位)。例:LP#10.0//将10.0的二进制式放入累加器。AI[AR1.P#0.0]//地址寄存器1加偏移量结果送累加器1,并说明是对输入位进行“与”操作运算。=Q[AR1.P#4.0]//地址寄存器1加偏移量结果送累加器1,并Q4.0进行赋值。LAR1//加载累加器1的内容存放到寄存器1中。存储器间接寻址在双字节指针格式中,字节指针格式的位0到15是存储区的编号,在双字节中的前3位也就是0位到2位是寻址位的位编号,而3位到18位则是寻址字节的字节编号。例如:L+5//将整数5输入累加器1;TMW2//将累加器1的内容转送到存储区MW2,这时MW2的内容为5;OPNDB[MW2]//打开数据块,此时数据的编号为5,DB5;LP#10.6//加载2#0000,0000,0000,0000,0000,0101,0110到累加器1;TMD2//将累加器1的内容传送到存储区MD2中,此时的值为10.6;LP#8.7//将2#0000,0000,0000,0000,0000,0100,0111送入到累加器1,原来的内容被移到累加器2中;+D//将两个累加器的内容相加;值为:2#0000,0000,0000,0000,0000,0101,0111(二进制);TMD4//累加累1的内容即19.5移到MD4;AI[MD2]//对输入位I10.6进“与”运算操作;=Q[MD4]//将运算结果给输出位Q赋值19.5即Q19.5;P#10.6P#08.7编程语言在PLC中,运行程序由两部分组成:一是操作系统、二是用户程序。操作系统由可编程序控制器的生产厂家提供,它支持用户程序的运行;用户程序是用户为完成特定的控制任务而编写的应用程序。要开发应用程序,就要用到可编程序控制器的编程语言。有以下开发工具1.LAD(梯形图)2.STL(语句表)3.FBD(功能块)4.SCL(标准控制语言)5.GRAPH(顺序控制)6.HiGraph(状态图)7.CFC(连续功能图)8.CforS7(C++语言)用户可以选择其中一种语言编程,也可混合用几种语言编程.它使控制程序的编程工作大大简化,对用户来说,开发、输人、调试和修改程序极为方便。指令类型1、位、字、双字逻辑运算指令2、整数运算指令3、浮点数运算指令4、程序控制指令5、定时器(Timer)6、计数器(Counter)7、移位循环指令8、赋值指令(Move)9、比较指令(CMP)10、数转换指令11、状态字指令结构指令一条指令由一个操作码和一个操作数组成,操作数由标识符和参数组成,操作码定义要执行的功能,它告诉CPU该做什么;操作数为执行该操作所需要的信息,它告诉CPU用什么去做。例如:AI1.0该指令是一条位逻辑操作指令,其中:“A”是操作码,它表示执行“与”操作;“I1.0”是操作数,它指出这是对输人继电器I1.0进行的操作。有些语句指令不带操作数.它们操作的对象是唯一的,故为简便起见,不再特别说明。例如:“NOT”是对逻辑操作结果(RLO)取反。1、指令+操作数2、指令梯形图梯形图编程的特点1、梯形图格式中的继电器不是物理继电器,每个继电器各输入触点均为存储器中的一位.相应仅为“1”状态,表示继电器线圈通电,常开触点闭合或常闭触点断开,相应位为“0”状态,表示继电器线圈失电,常开触点断开或常闭触点闭合。2、梯形图中流过的电流不是物理电流,而是“概念”电流.是用户程序解算中满足输出执行条件的形象表示方式.“概念”电流只能从左向右流动.3、梯形图中的继电器触点,可在编制用户程序时无限引用,既可常开又可常闭.4、梯形图中用户逻辑解算结果,马上可以为后面用户程序的解算所利用.梯形图中输入触点和输出线圈不是物理触点和线圈,用户程序的解算是根据PLC内I/O映像区每位的状态,而不是解算时现场开关的实际状态.5、输出线圈中对应输出映像区的相应位,不能用该编程元素直接驱动现场执行机构.梯形逻辑指令梯形逻辑用图形元素表示PLC要完成的操作.在梯形逻辑指令中,其操作码是用图紊表示的,该因素形象表明CPU做什么,其操作数的表示方法与语句指令相同.如:Q4.0—()该指令中:—()可认为是操作码,表示一个二进制赋值操作。Q4.0是操作数,表示赋值的对象。梯形逻辑指令也可不带操作数,如:—︳NOT︱—是对逻辑操作结果取反的操作。操作数一般情况下,指令的操作数在是指PLC的存储器,此时的操作数由操作数标识符和参数组成。操作数标识符告诉处理器操作数在存储器的哪个区域及操作数位数,标识参数进一步说明操作数在该存储区域内的具体位置。操作数标识符由主标识符和辅助标识符组成,主标识符表示操作数所在的存储区,辅助标识符说明操作数的位数长度,若没有辅助标识符指操作数的位数是一位。主标识符有:辅助标识符有:I(输入过程映像存储区)X(位)Q(输出过程映像存储区)B(字节)M(位存储区)W(字—2字节)PI(外设输入)D(双字—4字节)PQ