钱钧PLC_03编程语言.pdf
《钱钧PLC_03编程语言.pdf》由会员分享,可在线阅读,更多相关《钱钧PLC_03编程语言.pdf(105页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PLC原理与应用机械与汽车工程学院主 讲:钱钧,丁苏赤电 邮:地 址:机械楼604室2012年11月12、17、19日Principles and Applications of PLC1第三章 PLC编程语言与基本逻辑指令?3.1 PLC编程语言?3.2 PLC编程元件?3.3 PLC基本逻辑指令?3.4 PLC程序框架组成?3.5 梯形图编程注意事项23.1 PLC编程语言?PLC编程语言的特点?与一般的计算机语言相比,PLC的编程语言,具有明显的特点。它既不同于高级语言,也不同于汇编语言。PLC的主要用户是工程技术人员,应用场合是工业过程。因此,PLC的编程语言简单,易于编写和调试,但应
2、用范围比较窄。?目前,各个PLC的生产厂家使用的语言互不兼容。33.1 PLC编程语言?IEC制定的PLC编程语言标准(IEC1131-3)?顺序功能图(Sequential Function Chart,SFC)?梯形图(Ladder Diagram,LD)?功能块图(Function Block Diagram,FBD)?指令表(Instruction List,IL)?结构化文本(Structured Text,ST)图形语言文字语言43.1 PLC编程语言?顺序功能图(SFC)?是一种位于其他编程语言之上的图形语言,用来编制顺序控制程序。?提供了一种组织程序的图形方法,用来描述系统的功
3、能。可以对具有并发、选择等复杂结构的系统进行编程。?是分析,设计数字量控制的基本方法。53.1 PLC编程语言?顺序功能图(SFC)?主要元件:步、转换和动作。?步:即工作步(或流程步),是控制系统中的一个稳定状态。?转换:从一个步过渡到另外一个步时的切换条件,两个步之间的切换可用一个有向线段表示,代表向下转移的有向线段的箭头可以忽略。?动作:被控系统在某一步需要完成的动作,由PLC输出触点控制。?注意:有向连续、转换条件。63.1 PLC编程语言?梯形图(LD)?是一种图形语言,它是以继电器控制系统的电气原理图为基础演变而来的。它沿用了传统的继电器控制中的触点、线圈、串并联等术语和图形符号还
4、加进了许多功能强、使用灵活的指令,使得编程更加容易。?比较形象、直观,对于熟悉继电器控制系统的人来说,容易接受。世界上各个PLC的生产厂家都把梯形图语言作为第一用户编程语言。73.1 PLC编程语言?梯形图?PLC梯形图83.1 PLC编程语言?梯形图?继电器控制电路图 v.s.PLC梯形图PLC梯形图常用继电器梯形图常用继电器输出线圈常闭(动断)触点常开(动合)触点输出线圈常闭(动断)触点常开(动合)触点()93.1 PLC编程语言?梯形图?继电器控制电路图?PLC梯形图启保停电路PLC外部接线图103.1 PLC编程语言?梯形图?继电器控制电路图?PLC梯形图PLC外部接线图1 启动后,K
5、M1接通;2 延时T37后,KM2接通,KM1断开;3 延时T38后,KM3接通,KM2断开。KA,KT1,KT2M0.0,T37,T38113.1 PLC编程语言?梯形图?组成:触点、线圈、用方框表示的功能块。?特点:?沿用继电器这一名称,但不是真实继电器,而是软件中编程元件,称为软器件。?假想的“能流”(Power Flow),从左向右流动。?逻辑解算,从左至右,从上至下。?线圈放在最右边,触点可无限次使用。123.1 PLC编程语言?梯形图母线ABCDEFM()()母线Q“能流”133.1 PLC编程语言?梯形图的规则?左边为起始母线,右边为结束母线(可省略)。?从左到右、从上到下的顺序
6、书写。?接点(对应触头)有两种:常开和常闭?输出线圈用()表示,如-(Y0)。一个输出变量只能输出一次。输出前面必须有接点(即每个逻辑行必须是触点与母线相连)。?接点可串可并,但输出只能并不能串。?程序结束时有结束符(条件结束指令)-END。143.1 PLC编程语言?梯形图的规则解释?触点代表逻辑“输入”条件,如开关、按钮、内部条件等。?线圈通常代表逻辑“输出”结果,如灯、电机接触器、中间继电器等。?每个网络由多个梯级组成,每个梯级由一个或多个支路组成,并由一个输出元件构成,但右边的元件必须是输出元件。?对S7-200系列PLC来说,还有一种输出“盒”(方块图),它代表附加的指令,如定时器、
7、计数器和功能指令等。153.1 PLC编程语言?梯形图的能流?仅是概念上的“能流”,实际不存在。?梯形图中并没有真实的物理电流流动,而仅仅是概念电流(虚电流),或称为假想电流。?把左边的母线假想为电源“火线”,而把右边的母线(虚线所示)假想为电源“零线”。如果有“能流”从左至右流向线圈,则线圈被激励;如果没有“能流”,则线圈未被激励。?“能流”可以通过被激励(ON)的常开接点和未被激励(OFF)的常闭接点自左向右流。?任何时候“能流”都不会通过接点自右向左流。163.1 PLC编程语言?功能块图(FBD)?是一种图形语言,类似于数字电子电路的编程语言。沿用了半导体逻辑电路的逻辑框图表达方式,用
8、类似于 与门、或门的方框表示逻辑关系;使用像普通逻辑门图形的逻辑盒指令,程序逻辑由这些盒指令之间的连接决定。?方框左侧为输入变量,右侧为输出变量。信号自左向右流动,用“导线”将方框连接在一起。ANDI2.1V5.0T33AC0INPTTON173.1 PLC编程语言?指令表(IL)/语句表(STL)?是一种与微机的汇编语言中的指令相似的助记符表达式,是可PLC最基础的编程语言。?用一个或几个容易记忆的字符来代表PLC的某种操作功能。每个操作功能由一条或几条语句来执行。?指令由助记符和操作数两部分组成?助记符标志计算机的CPU执行此条指令完成的功能,?操作数指出CPU的操作对象,由标识符和参数组
9、成。标识符表示操作数的类别;参数表明操作数的地址或一个顶先设定值。?适合于熟悉PLC和有经验的程序员使用。183.1 PLC编程语言?指令表(a)梯形图(b)指令表I0.0()()I0.1Q0.0Q0.0Q0.1()M0.1I0.5I0.3I0.4()Q0.2M0.1LDOALDNALDNANI0.0Q0.0I0.1Q0.0I0.5Q0.1I0.3M0.1I0.4M0.1Q0.2193.1 PLC编程语言?结构化文本(ST)?是一种专用的高级编程语言。用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等。?优点:?容易实现复杂的数学运算?程序简洁、紧凑?例:启保停控制Q0.0
10、:=(I0.0 OR Q0.0)AND NOT(I0.1);LD I0.0O Q0.0AN I0.1=Q0.0 指令表程序203.2 PLC编程元件?继电器?定时器T?类似于继电器电路中的时间继电器,精度更高。?计数器C?记录计数输入端脉冲的上升沿跳变的次数。?模拟量输入AI/输出AQ?进行模、数信号之间的转换。?累加器AC?暂存计算中间值,或向子程序传递参数、返回值。?高速计数器HC?当脉冲信号频率快于CPU扫描速率时,累积高速脉冲信号。213.2 PLC编程元件?继电器?输入继电器、输出继电器?西门子:I,Q?三菱:X,Y?辅助继电器M、特殊继电器SM?不是真实的物理器件?与存储器中元件映
11、像寄存器区的存储单元一一对应。?当元件对应的存储单元为1时,继电器线圈接通。223.2 PLC编程元件?继电器?输入继电器输入映像寄存器?输出继电器输入映像寄存器?辅助继电器M位存储区?特殊继电器SM特殊存储区?定时器T定时器存储区?计数器C计数器存储区?计数器、加/减计数器、高速计数器233.2 PLC编程元件?数据存储区?输入映象寄存器(I)?数字量输入端子对应输入映像寄存器的相应位。?输入映像寄存器的状态只能由外部输入信号驱动,而不能在内部由程序指令来改变。?输出映象寄存器(Q)?数字量输出端子对应输出映像寄存器的相应位。?例?位地址:I字节地址.位地址,如I0.1;?字节、字、双字地址
12、:I数据长度 起始字节地址,如IB4、IW6、ID10。243.2 PLC编程元件?数据存储区?输入映象寄存器(I)&输出映象寄存器(Q)?在程序的执行过程中,对于输入、输出的存取通常是通过映像寄存器,而不是实际的输入、输出端子。?在每个扫描周期,CPU以批处理方式分别对输入、输出映像寄存器的数值进行批量更新。253.2 PLC编程元件?数据存储区?位存储区(M)?是模拟继电器控制系统中的中间继电器,它存放中间操作状态,或存储其它相关数据。?例如:M26.7,MB11,MW23,MD26。?特殊存储区(SM)?用于存储系统的状态变量和有关控制信息。?特殊标志位分为只读区和可写区。在只读区特殊标
13、志位,用户只能利用其触点。263.2 PLC编程元件?特殊继电器(特殊标志继电器)SM0SM29?SM0.0 一直为1状态?是不可控触点,无条件触发。?有时输出指令不需要条件、直接输出为1,为了满足编程约定,在前面串连SM0.0。?SM0.1 仅在执行用户程序的第一个扫描周期时为1状态,称为初始脉冲。(三菱为M8002)?用于调用初始化子程序。?SM0.3 PLC进入RUN状态时,接通一个扫描周期。?SM0.4、SM0.5分别提供1min和1s的时钟脉冲。?273.2 PLC编程元件?数据存储区?变量存储区(V)?存放全局变量、存放程序执行过程中控制逻辑操作的中间结果或其他相关数据。变量存储器
14、全局有效。全局有效是指同一个存储器可以在任一程序分区(主程序、子程序、中断程序)被访问。?例如:V10.2,VB20,VW100,VD320。?局部存储区(L)?存放局部变量,是局部有效的。即:指某一局部存储器只能在某一程序分区(主程序、子程序或中断程序)中使用。?例如:L0.0,LB33,LW44,LD55。283.2 PLC编程元件?数据存储区?顺序控制继电器存储器(S)?顺序控制继电器(S)用于顺序控制(或步进控制)。?顺序控制继电器指令(SCR)基于顺序功能图(SFC)的编程方式。三个要素:输出对象、转移条件、转移目标。?例如:S3.1,SB4,SW10,SD21。?例:根据舞台灯光效
15、果的要求,控制红、绿、黄三色灯。要求:红灯先亮,2s后绿灯亮,再过3s后黄灯亮。待红、绿、黄灯全亮3min后,全部熄灭。293.2 PLC编程元件?数据存储区?定时器存储区(T)?模拟继电器控制系统中的时间继电器。时基有三种:1ms、10ms、100ms。?格式为:T定时器号。例如:T24。?有效地址范围为:T(0255)。?计数器存储区(C)?用于累计其计数输入端脉冲电平由低到高的次数?三种类型:加计数、减计数、加/减计数。?格式为:C计数器号。例如:C3。?有效地址范围为:C(0255)。303.2 PLC编程元件?数据存储区?模拟量输入映像寄存器(AI)?模拟量输入模块将外部输入的模拟信
16、号的模拟量转换成1个字长的数字量,存放在模拟量输入映像寄存器中,供CPU运算处理。?例如:AIW0,AIW2,AIW4等。?模拟量输出映像寄存器(AQ)?CPU运算结果存放在模拟量输出映像寄存器中,供D/A转换器将1个字长的数字量转换成模拟量。?例如:AQW0,AQW2,AQW4等。313.2 PLC编程元件?数据存储区?累加器(AC)?用来暂存计算中间值,也可向子程序传递参数或返回参数。例如:AC0、AC1、AC2、AC3。?是可读写单元,可以按字节、字、双字存取累加器中的数值。由指令标识符决定存取数据的长度。?例如:MOVB指令存取累加器的字节,DECW指令存取累加器的字,INCD指令存取
17、累加器的双字。按字节、字存取时,累加器只存取存储器中数据的低8位、低16位;以双字存取时,则存取存储器的32位。?高速计数器(HC)?用来累计高速脉冲信号。当高速脉冲信号频率比CPU扫描速率更快时,必须使用高速计数器。323.2 PLC编程元件?S7-200 CPU存储系统个人计算机存储器卡用户程序CPU 组态V 存储器M 存储器用户程序CPU 组态V 存储器M 存储器定时器和计数器当前值CPURAMEPROM333.2 PLC编程元件?S7-200 CPU存储系统?内部存储区分为易失性的RAM存储区和永久保持的EEPROM两种,其中RAM包含CPU工作存储区和数据区域中的V数据存储区、M数据
18、存储区、T(定时器)区和C(计数器)区,EEPROM包含程序存储区、V数据存储区的全部和M数据存储区的前14 个字节、C区全部和TONR对应区域。?主机CPU模块内部配备的EEPROM,上装程序时,可自动装入并永久保存用户程序、数据和CPU的组态数据。?用户可以用程序将存储在RAM中的数据备份到EEPROM存储器。?可选的存储器卡可使用户像使用计算机磁盘一样来方便地备份和装载程序和数据。343.2 PLC编程元件?S7-200 CPU存储系统353.2 PLC编程元件?S7-200 CPU存储器的范围363.3 PLC基本逻辑指令?位逻辑指令?定时器指令?计数器指令?直接寻址和间接寻址373.
19、3 PLC基本逻辑指令?位逻辑指令1.触点指令、输出指令2.置位指令、复位指令3.立即I/O指令4.取反触点指令5.空操作指令6.正/负跳变触点指令383.3 PLC基本逻辑指令?位逻辑指令?触点指令、输出指令?LD,A,O,LDN,AN,ON?=I0.0I0.1Q0.1()Q0.0()LD I0.0=Q0.0LDN I0.1=Q0.1393.3 PLC基本逻辑指令?位逻辑指令逻辑关系梯形图助记符I0.0 I0.1LDI0.0AI0.1=Q0.0与与AND当当 I0.0与与 I0.1都都“ON”时,则输出时,则输出 Q0.0“ON”(1)。Q0.0()()LDI0.0OI0.1=Q0.0或或O
20、R当当 I0.0或或 I0.0“ON”时时,则输出则输出 Q0.0“ON”(1)I0.0I0.1Q0.0()()LDNI0.1=Q0.0非非NOT当当 I0.1“OFF”时则输出时则输出 Q0.0“ON”(1)Q0.0I0.1()()403.3 PLC基本逻辑指令?位逻辑指令逻辑关系梯形图助记符LDI0.0OI0.1LDI0.2OI0.3ALD=Q0.0当当“I0.0或或 I0.1”与与“I0.2或或I0.3”都都“ON”时,则输出时,则输出Q0.0“ON”。区块与区块与ALD(And Stack)区块或区块或OLD(Or Stack)当当“I0.0与与I0.1”或或“I0.2与与I0.3非非
21、”“ON”时,则输出时,则输出Q0.0“ON”。I0.0I0.1I0.2I0.3Q0.0I0.0I0.2I0.1I0.3Q0.0LDI0.0AI0.1LDI0.2AI0.3OLD=Q0.0413.3 PLC基本逻辑指令?位逻辑指令实例启动停车控制I/OI/O分配:I0.0:I0.0:停车I0.1:I0.1:启动Q0.1:KMQ0.1:KM继电器控制电路图指令表LD I0.1O Q0.0A I0.0=Q0.0LD I0.1O Q0.0A I0.0=Q0.0423.3 PLC基本逻辑指令?位逻辑指令实例正反转互锁控制电路433.3 PLC基本逻辑指令?位逻辑指令实例正反转互锁控制电路正转启动正转启
22、动SB2-I0.0反转启动反转启动SB3-I0.1停止停止SB1-I0.2KM2SB2KM1SB3SB1KM2KM2KM1KM1电源电源FRFR正转接触器正转接触器KM1-Q0.0反转接触器反转接触器KM2-Q0.1正转互锁反转互锁Q0.0L+I0.0I0.1I0.2Q0.11L443.3 PLC基本逻辑指令?位逻辑指令实例正反转互锁控制电路?PLC接线图和梯形图程序KM2SB2KM1SB3SB1KM2KM2KM1KM1电源电源FRFRQ0.0L+I0.0I0.1I0.2Q0.11L正转反转正转反转I0.1Q0.1I0.0Q0.0I0.2Q0.1()()I0.0Q0.0I0.1Q0.1I0.2
23、Q0.0()()453.3 PLC基本逻辑指令?位逻辑指令?置位指令S、复位指令R?具有记忆和保持功能463.3 PLC基本逻辑指令?位逻辑指令?立即I/O指令?立即输入指令?立即读取物理输入点的值,但不刷新相应映像寄存器的值。?立即输出指令?用立即指令访问输出点时,把栈顶值立即复制到指令所指定的物理输出点,同时,相应的输出映像寄存器的内容也被刷新。?立即置位SI、立即复位RI指令?用立即置位、复位指令访问输出点时,从指令所指出的位开始的N个(最多为128个)物理输出点被立即置位、复位。同时,相应的输出映像寄存器的内容也被刷新。在标准触点指令后面加“I”。473.3 PLC基本逻辑指令?位逻辑
24、指令?立即I/O指令?不受PLC循环扫描工作方式约束,允许对输入、输出物理点进行快速直接存取,加快了输入输出响应速度。483.3 PLC基本逻辑指令?位逻辑指令?取反触点指令?用于改变能流的状态。触点左侧为1时,右侧为0,能流就停止;触点左侧为0时,右侧为1,能流就通过。?空操作指令?空操作(NOP N)指令不影响程序的执行,操作数N是一个0255之间的常数。493.3 PLC基本逻辑指令?位逻辑指令?正/负跳变触点指令?正跳变触点检测到脉冲的每一次正跳变后,产生一个扫描周期的脉冲。?负跳变触点检测到脉冲的每一次负跳变后,产生一个扫描周期的脉冲。I1.0Q1.1Q1.0503.3 PLC基本逻
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 钱钧 PLC_03 编程 语言
限制150内