第3章 PLC程序设计基础_第1页
第3章 PLC程序设计基础_第2页
第3章 PLC程序设计基础_第3页
第3章 PLC程序设计基础_第4页
第3章 PLC程序设计基础_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、熟悉PLC存储器的数据类型和寻址方式;熟练掌握PLC的位逻辑指令;熟练掌握PLC的定时器与计数器指令;难点:难点:堆栈指令的使用。包括分支与分支堆栈指令的使用。包括分支与分支结束;触点组指令等。结束;触点组指令等。3.1.1 PLC编程语言的国际标准编程语言的国际标准与个人计算机相比,与个人计算机相比,PLC的硬件、软件的的硬件、软件的体系结构都是封闭的而不是开放的。各厂家的体系结构都是封闭的而不是开放的。各厂家的PLC的编程语言和指令系统的功能和表达方式的编程语言和指令系统的功能和表达方式也不一致。有的甚至有相当大的差异,因此各也不一致。有的甚至有相当大的差异,因此各厂家的厂家的PLC互不兼

2、容。互不兼容。 IEC(国际电工委员会)(国际电工委员会)是为电子技术的是为电子技术的所有领域制定全球标准的世界性组织。所有领域制定全球标准的世界性组织。IEC于于1994年年5月公布了月公布了PLC标准(标准(IEC61131),该),该标准鼓励不同的标准鼓励不同的PLC制造商提供在外形和操作制造商提供在外形和操作上相似的指令。上相似的指令。 3.1.1 可编程序控制器编程语言可编程序控制器编程语言 的国际标准的国际标准 组成:组成:通用信息,设备与测试要求,编程语言,通用信息,设备与测试要求,编程语言,用户指南和通信。用户指南和通信。 其中,编程语言标准。其中,编程语言标准。(IECll3

3、1-3) (1)顺序功能图顺序功能图(Sequential Function Chart)。 (2)梯形图梯形图(Ladder Diagram)。 (3)功能块图功能块图(Function Block Diagram)。 (4)指令表指令表(Instction List)。 (5)结构文本结构文本(structured Text) 标准中由两种图形语言标准中由两种图形语言梯形图梯形图(LD)和功能图块()和功能图块(FBD);); 两种语言文字两种语言文字指令表(指令表(IL)和结构)和结构文本(文本(ST)。可以认为,顺序功能图块)。可以认为,顺序功能图块(SFC)是一种结构块控制程序流程图

4、。)是一种结构块控制程序流程图。 这是一种位于其他编程语言之上的图这是一种位于其他编程语言之上的图形语言,用来编制顺序控制程序。形语言,用来编制顺序控制程序。 顺序功能图提供了一种组织程序的顺序功能图提供了一种组织程序的图形方法,在顺序功能图中可以用别图形方法,在顺序功能图中可以用别的语言嵌套编程。步、转换和动作是的语言嵌套编程。步、转换和动作是顺序功能图中的三种主要元件。可以顺序功能图中的三种主要元件。可以用顺序功能图来描述系统的功能。用顺序功能图来描述系统的功能。 组成:组成:由触点、线圈和用方框表示的功能由触点、线圈和用方框表示的功能块。(图块。(图3-3) 特点:特点:1)沿用继电器这

5、一名称,但不是真)沿用继电器这一名称,但不是真实继电器,而是软件中编程元件。实继电器,而是软件中编程元件。 2)假想的)假想的“能流能流”(POWeY Flow),从左,从左向右流动。向右流动。 3)逻辑运算,从左至右,从上至下。)逻辑运算,从左至右,从上至下。 4)线圈放在最右边,触点可无限次使用。)线圈放在最右边,触点可无限次使用。图图3-4 功能块图功能块图指令表(语句表)程序指令表(语句表)程序 S7-200CPU地控制程序由主程序、子地控制程序由主程序、子程序和中断程序组成。程序和中断程序组成。 1、(、(OB1) 主程序是程序的主体,每一个项目都必主程序是程序的主体,每一个项目都必

6、须并且只能有一个主程序。在主程序中可须并且只能有一个主程序。在主程序中可以调用子程序和中断程序。以调用子程序和中断程序。 如 果 编 程 使 用如 果 编 程 使 用的是手编器,主程的是手编器,主程序应安排到程序的序应安排到程序的最前面。其他部分最前面。其他部分的位置安排没有严的位置安排没有严格的顺序,但习惯格的顺序,但习惯上把子程序安排在上把子程序安排在中断程序的前面。中断程序的前面。如图如图3.5所示。所示。程序中断程序2子程序2主程序中断程序1子程序m子程序1中断程序n图图3-5 PLC的程序结构的程序结构 子程序是一个可选的指令的集合,仅在被其它程序调子程序是一个可选的指令的集合,仅在

7、被其它程序调用时执行;用时执行; 同一个子程序可以用在不同的地方被多次调用;同一个子程序可以用在不同的地方被多次调用; 使用子程序可以简化程序代码和简化扫描时间;使用子程序可以简化程序代码和简化扫描时间; 设计得好的子程序容易移植到别的项目中去。设计得好的子程序容易移植到别的项目中去。 中断程序是指令的一个可选集合,中断程序不中断程序是指令的一个可选集合,中断程序不是被主程序调用,它们在中断事件发生时由是被主程序调用,它们在中断事件发生时由PLC的操作系统调用;的操作系统调用; 中断程序用来处理预先规定的中断事件,因为中断程序用来处理预先规定的中断事件,因为不能预知何时会出现中断事件,所以不允

8、许程序不能预知何时会出现中断事件,所以不允许程序改写可能在其它程序中使用的存储器。改写可能在其它程序中使用的存储器。3.2.1数据在存储器中存取的方式数据在存储器中存取的方式 1、位、字节、字和双字、位、字节、字和双字 位位(bit):二进制数的:二进制数的1位只有位只有O和和1两种不同两种不同的取值。的取值。 字节字节(Byte):8位二进制数组成位二进制数组成1个字节。个字节。 字字(Word):两个字节。:两个字节。 双字(双字(Double Word):两个字。):两个字。 位存储单元的地址由字节地址和位地址组位存储单元的地址由字节地址和位地址组成,如成,如I3.2,其中的区域标志符,

9、其中的区域标志符“I”表示输入,表示输入,字节地址为字节地址为3,位地址为,位地址为2。 输入字节输入字节IB3(Byte)由由I3.0I3.7这这8位组位组成。成。 相邻的两个字节组成一个字,相邻的两个字节组成一个字,VW100表表示示VB100VB101组成的一个字,组成的一个字,V为区域标为区域标志符,志符,W表示字,表示字,100为起始字节的地址。为起始字节的地址。 VD100表示由表示由VB100VB103组成的双字,组成的双字,D(Double word)示例:示例:I3. 2 IB3(图图3-5) VBl00 VWl00 VDl00 (见图见图3-6)。1 输入映像寄存器输入映像

10、寄存器(I)寻址寻址 输入映像寄存器的标识符为输入映像寄存器的标识符为I(I0.0-I15.7),在每个扫描周期的开始,在每个扫描周期的开始,CPU对输入点进行采样,并将采样值存于对输入点进行采样,并将采样值存于输入映像寄存器中。输入映像寄存器中。 I、O、V、M、S、SM、L均可按均可按位、字节、字和双字来存取位、字节、字和双字来存取。 注意:注意: 由外部电路驱动,程序中无线圈;由外部电路驱动,程序中无线圈; 输入端可以外接常开触点或常闭触点,输入端可以外接常开触点或常闭触点,也可以接多个触点组成的串、并联电也可以接多个触点组成的串、并联电路;路; 在梯形图中,可多次使用输入位的常在梯形图

11、中,可多次使用输入位的常开触点和常闭触点。开触点和常闭触点。 梯形图中必有其线圈。执行程序输出。梯形图中必有其线圈。执行程序输出。 内部存储器标志位内部存储器标志位(MO.0M31.7)用来保存用来保存控制继电器的中间操作状态或其他控制信控制继电器的中间操作状态或其他控制信息。息。 虽名为虽名为“位存储区位存储区”,但也可按字节、字,但也可按字节、字或双字来存取。或双字来存取。 时间继电器时间继电器 ,S7-200有三种定时器,它们有三种定时器,它们的时基增量分别为的时基增量分别为1ms,10ms和和100ms。定时器的当前值是定时器的当前值是16位有符号整数,用于位有符号整数,用于存储定时器

12、累计的时基增量值(存储定时器累计的时基增量值(132767) 接通延时的定时器的当前值大于、等接通延时的定时器的当前值大于、等于设定值时,定时器位被置于设定值时,定时器位被置“1”,其,其线圈断电时,定时器位被复位为线圈断电时,定时器位被复位为“0” 定时器位为定时器位为“1”1”时,梯形图中对时,梯形图中对应的常开触点闭合,常闭触点断开。应的常开触点闭合,常闭触点断开。 用定时器地址来存取当前值和定用定时器地址来存取当前值和定时器位,带位操作数的指令存取定时器位,带位操作数的指令存取定时器位,带字操作数的指令存取当时器位,带字操作数的指令存取当前值。前值。 计数器用来累计其计数输入端脉冲电平

13、由计数器用来累计其计数输入端脉冲电平由低到高的次数,低到高的次数,CPU提供加计数器、减计提供加计数器、减计数器和加减计数器。数器和加减计数器。 上升沿次数上升沿次数 当加计数器的当前值大于、等于设定值时,当加计数器的当前值大于、等于设定值时,计数器被置计数器被置“1”;带位操作数的指令存取;带位操作数的指令存取计数器位,带字操作数的指令存取当前值。计数器位,带字操作数的指令存取当前值。 高速计数器用来累计比高速计数器用来累计比CPU的扫描速率更的扫描速率更快的事件,计数过程与扫描周期无关。快的事件,计数过程与扫描周期无关。 其当前值和设定值为其当前值和设定值为32位有符号整数,当位有符号整数

14、,当前值为只读数据。前值为只读数据。 高速计数器的地址由区域标志符高速计数器的地址由区域标志符HC和高速和高速计数器号组成,如计数器号组成,如HC2。 累加器是可以像存储器那样使用的读累加器是可以像存储器那样使用的读写单元,例如可以用它向子程序传递参数,写单元,例如可以用它向子程序传递参数,或从子程序返回参数,以及用来存放计算或从子程序返回参数,以及用来存放计算的中间值。的中间值。 CPU提供了提供了4 个个32位累加器位累加器(AC0-AC3),可以按字节、字和双字来存取累加器中的可以按字节、字和双字来存取累加器中的数据。数据。 特殊存储器用于特殊存储器用于CPU与用户之间交换信息。与用户之

15、间交换信息。 如如SM0.0一直为一直为“1”状态状态;SM0.1仅在执行用户程仅在执行用户程序的第一周期为序的第一周期为“1”状态状态;。 S7-200有有64个字节的局部存储器,其中个字节的局部存储器,其中60个可以作为暂时存储器,或给子程序传递个可以作为暂时存储器,或给子程序传递参数。参数。 主程序、子程序和中断程序简称主程序、子程序和中断程序简称POU,各,各POU都有自己的局部变量表,局部变量仅都有自己的局部变量表,局部变量仅仅在它被创建的仅在它被创建的POU中有效。中有效。 顺序控制继电器顺序控制继电器(SCR)位用于组织机器位用于组织机器的顺序操作,的顺序操作,SCR提供控制程序

16、的逻辑分提供控制程序的逻辑分段。段。 S7-200将现实世界连续变化的模拟量将现实世界连续变化的模拟量(如如温度、压力、电流、电压等温度、压力、电流、电压等)用用AD转换器转换器转换为转换为1个字长个字长(16位位)的数字量,用区域标的数字量,用区域标识符识符AI、数据长度、数据长度(w)和字节的起始地址来和字节的起始地址来表示模拟量输入的地址。表示模拟量输入的地址。 S7-200将将1个字长的数字用个字长的数字用DA转换器转换器转换为现实世界的模拟量,用区域标识符转换为现实世界的模拟量,用区域标识符AQ、数据妊度、数据妊度(w)和字节的起始地址来表和字节的起始地址来表示存储模拟量输出的地址示

17、存储模拟量输出的地址 常数值可以是字节、字或双字,常数值可以是字节、字或双字,CPU以二以二进制方式存储常数,常数也可以用十进制、进制方式存储常数,常数也可以用十进制、十六进十六进 制、制、ASCII码或浮点数形式来码或浮点数形式来 表示。表示。1 1 直接寻址直接寻址 在指令中直接使用存储器或寄存器的元件名称在指令中直接使用存储器或寄存器的元件名称和地址编号,直接查找数据,如和地址编号,直接查找数据,如VW790、VBl00。 2 2 间接寻址间接寻址3 3 用指针来存取数据(图用指针来存取数据(图3-73-7)例:例:MOVD AC1MOVD AC1 将指针增加两次,将指针增加两次,指向下

18、一个字。指向下一个字。 INCD AC1 INCD AC1 MOVW MOVW * *AC1,AC0AC1,AC0 将将AC1AC1所指向所指向的字的数值送的字的数值送AC0AC0 3.3.1 触点指令触点指令 1.标准触点指令标准触点指令 LD(Load装载装载)、A(And,与,与)和和O(Or,或,或) 。 (1)LD:装入常开触点(LoaD)(2)LDN:装入常闭触点(LoaD Not) (3)A:与常开触点(And) (4)AN:与常闭触点(And Not)。 (5)O:或常闭触点(Or) (6)ON:或常闭触点(Or Not) (7)NOT:触点取非(输出反相) (8)= :输出指

19、令 2.堆栈的基本概念堆栈的基本概念 S7200有有1个个9位的堆栈,栈顶用来存储逻辑运位的堆栈,栈顶用来存储逻辑运算的结果下面的算的结果下面的8位用来存储中间运算结果。位用来存储中间运算结果。堆栈中的数据一般按堆栈中的数据一般按“先进后出先进后出”的原则存取。的原则存取。图图3-9 并联电路块并联电路块 LD I0.0 /装入常开触点 O I2.2 /或常开触点 LD I0.1 /被串的块开始 LD I2.0 /被并路开始 A I2.1 / OLD /栈装载或,并路结束 ALD /栈装载与,串路结束 LD I0.0 / LPS /逻辑推入栈,主控 A I0.5 / = Q7.0 / LRD

20、/逻辑读栈,新母线 LD I2.1 / O I1.3 / ALD /栈装载与 = Q6.0 / LPP /逻辑弹出栈,母线复原 LD I3.1 / O I2.0 / ALD / = Q1.3 / 立即立即(Immediate)触点指令只能用于输入触点指令只能用于输入I,执,执行立即触点指令时,立即读人物理输人点的值,行立即触点指令时,立即读人物理输人点的值,根据该值决定触点的接通断开状态;根据该值决定触点的接通断开状态; 但是并不更新该物理输人点对应的映像寄存器。但是并不更新该物理输人点对应的映像寄存器。 语句表中,分别用语句表中,分别用LDI、AI、OI来来表示开始、串联、并联的常开立即触表

21、示开始、串联、并联的常开立即触点。点。LDNI、ANI、ONI表示相应的常表示相应的常闭立即触点。闭立即触点。 (=) (=I) 只能用于输出量只能用于输出量(Q),执行该指令时,将栈,执行该指令时,将栈顶值立即写入指定的物理输出位和对应的顶值立即写入指定的物理输出位和对应的输出映像寄存器。输出映像寄存器。(1)S,置位指令,置位指令 (2)R,复位指令,复位指令 置位即置置位即置1,复位即置,复位即置0。置位和复位指令可。置位和复位指令可以将位存储区的某一位开始的一个或多个(最多以将位存储区的某一位开始的一个或多个(最多可达可达255个)同类存储器位置个)同类存储器位置1或置或置0。 这两条

22、指令在使用时需指明三点:操作性质、这两条指令在使用时需指明三点:操作性质、开始位和位的数量。开始位和位的数量。(1)S,置位指令,置位指令 用法:用法:Sbit, N例:例:SQ0.0,1(2)R,复位指令,复位指令 当用复位指令时,如果是对定时器当用复位指令时,如果是对定时器T位或计数器位或计数器C位进行复位,则定时器位进行复位,则定时器位或计数器位被复位,同时,定时器位或计数器位被复位,同时,定时器或计数器的当前值被清零。或计数器的当前值被清零。用法:用法:Rbit, N例:例:RQ0.2,3 L D I0.0 /装 入 常 开 触 点 A I0.1 /与 常 开 触 点 = Q 1.0

23、/输 出 触 点 L D I0.0 / A I0.1 / S Q 0.0, 1 /将 Q 0.0开 始 的 /1个 触 点 置1 R Q 0.2, 3 /将 Q 0.2开 始 的 /3个 触 点 置0 图图3.7置位复位置位复位上述程序对应的时序图如图上述程序对应的时序图如图3.8所示所示。I0.0Q0.2-Q0.4Q0.0Q1.0I0.1图图3.8时序图时序图 LD I0.0 /装入常开触点 = Q0.0 /输出触点,非立即 =I Q0.1 /立即输出触点 SI Q0.2, 1 /从Q0.2开始的1个 /触点被立即置1 LDI I0.0 /立即输入触点指令 = Q0.3 / 图图3.9立即指

24、令程序立即指令程序扫描周期 n扫描周期 n+1扫描周期 n+3扫描周期 n+2输出刷新输出刷新输出刷新输出刷新输出刷新输入扫描输入扫描输入扫描输入扫描输入扫描Q0.1I0.0Q0.0Q0.3Q0.2图图3.10时序图时序图 如图如图3-19(P40),其基本功能与置,其基本功能与置位指令位指令S和复位指令和复位指令R的功能相同。的功能相同。 置位优先(置位优先(SR)触发器的置位信)触发器的置位信号号S和复位信号和复位信号R同时为同时为1时,输出时,输出OUT信号为信号为1。 复位优先(复位优先(RS)触发器的置位信)触发器的置位信号号S和复位信号和复位信号R同时为同时为1时,输出时,输出OU

25、T信号为信号为0 正跳变触点检测到脉冲的每一次正跳变正跳变触点检测到脉冲的每一次正跳变后,产生一个微分脉冲。后,产生一个微分脉冲。 指令格式:指令格式:EU (无操作数)(无操作数) 负跳变触点检测到脉冲的每一次负跳变负跳变触点检测到脉冲的每一次负跳变后,产生一个微分脉冲。后,产生一个微分脉冲。 指令格式:指令格式:ED (无操作数)(无操作数) 应用举例:图应用举例:图3.11是跳变指令的程序片断。是跳变指令的程序片断。图图3.12是图是图3.11指令执行的时序。指令执行的时序。 LD I0.0 /输 入 常 开 触 点 EU /脉 冲 正 跳 变 = Q 0.0 /输 出 触 点 LD I

26、0.0 / ED /脉 冲 负 跳 变 = Q 0.1 / 图图3.11跳变应用跳变应用I0.0Q0.1Q0.0图图3.12时序时序 取反触点将它左边的电路的逻辑运算取反触点将它左边的电路的逻辑运算结果取反,运算结果若为结果取反,运算结果若为1则变为则变为0,反之,反之亦然。该指令没有操作数。亦然。该指令没有操作数。 空操作指令(空操作指令(NOP N)不影响程序的执)不影响程序的执行,操作数行,操作数N=0255。3.4.1 .4.1 定时器指令定时器指令 分类:分类:通电延时定时器通电延时定时器(TON)、断电延时定、断电延时定时器时器(TOF)、保持型通电延时定时器、保持型通电延时定时器

27、(TONR) 分辨率分辨率(精度等级精度等级): 1ms、l0ms和和l00ms 指令格式:指令格式:TON Txxx,PT指令格式:指令格式:TOF Txxx,PT例:例: TOFT35,6指令格式:指令格式:TONRTxxx,PT例:例: TONR T20,63 LD I0.0 /使能输入 TON T35, +4 /通电延时定时 /延时时间为 /40ms LD I0.0 / TONR T2, +10 /有记忆通电 /延时时间累计 /为 1000ms LD I0.0 / TOF T36, +3 /断电延时定时 /延时时间为 /30ms T36位4103I0.0T33 当前值T2当前值T33 位3T2位T36当前值最大值最大值4图图3.20定时器时序定时器时序1)1ms定时器:定时器:扫描周期大于扫描周期大于1ms时,定时器位时,定时器位和当前值在一个扫描周期内被多次刷新。和当前值在一个扫描周期内被多次刷新。2) 10ms定时器:定时器:定时器位和当前值在每个扫描定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论