西门子PLC指令教程应用指令

上传人:优*** 文档编号:72929785 上传时间:2022-04-10 格式:PPT 页数:81 大小:780KB
收藏 版权申诉 举报 下载
西门子PLC指令教程应用指令_第1页
第1页 / 共81页
西门子PLC指令教程应用指令_第2页
第2页 / 共81页
西门子PLC指令教程应用指令_第3页
第3页 / 共81页
资源描述:

《西门子PLC指令教程应用指令》由会员分享,可在线阅读,更多相关《西门子PLC指令教程应用指令(81页珍藏版)》请在装配图网上搜索。

1、第第5章应用指令章应用指令知识知识 5.1 程序控制类指令程序控制类指令5.2特殊指令特殊指令 5.1 程序控制类指令程序控制类指令 5.1.1空操作空操作 5.1.2 结束及暂停结束及暂停 5.1.3看门狗看门狗 5.1.4跳转跳转 5.1.5子程序指令子程序指令 5.1.6程序循环程序循环 5.1.7顺序控制继电器顺序控制继电器 5.1.8与与ENO指令指令 返回本章首页返回本章首页5.1.1空操作空操作 NOP,空操作指令。使能输入有效时,执行空操作指,空操作指令。使能输入有效时,执行空操作指令。空操作指令不影响用户程序的执行,操作数令。空操作指令不影响用户程序的执行,操作数N是标是标号

2、,是一个号,是一个0255的常数。的常数。指令格式:指令格式:NOPN例:例:NOP30程序如下图程序如下图5.1所示。所示。LDI0.0/使能输入NOP 30/空操作指令/标号为 30返回本节返回本节5.1.2 结束及暂停结束及暂停 1. 结束指令结束指令结束指令有两条:结束指令有两条:END和和MEND。两条指令在。两条指令在梯形图中以线圈形式编程。梯形图中以线圈形式编程。 END,条件结束指令。使能输入有效时,终,条件结束指令。使能输入有效时,终止用户主程序。止用户主程序。MEND无条件结束指令。无条件终止用户程序无条件结束指令。无条件终止用户程序的执行,返回主程序的第一条指令。的执行,

3、返回主程序的第一条指令。用用Micro/Win32编程时,编程人员不需手工输编程时,编程人员不需手工输入入MEND指令,而是由软件自动加在主程序结指令,而是由软件自动加在主程序结尾。指令格式:尾。指令格式:END(无操作数)(无操作数)2. 暂停指令暂停指令STOP,暂停指令。使能输入有效时,该,暂停指令。使能输入有效时,该指令使主机指令使主机CPU的工作方式由的工作方式由RUN切换切换到到STOP方式,从而立即终止用户程序的方式,从而立即终止用户程序的执行。执行。STOP指令在梯形图中以线圈形式编程。指令在梯形图中以线圈形式编程。指令不含操作数。指令的执行不考虑对特指令不含操作数。指令的执行

4、不考虑对特殊标志寄存器位和能流的影响。殊标志寄存器位和能流的影响。指令格式:指令格式:STOP(无操作数)(无操作数)返回本节返回本节5.1.3看门狗看门狗 WDR,看门狗复位指令。当使能输入有效时,看门狗复位指令。当使能输入有效时,执行执行WDR指令,每执行一次,看门狗定时器就指令,每执行一次,看门狗定时器就被复位一次。用本指令可用以延长扫描周期,被复位一次。用本指令可用以延长扫描周期,从而可以有效避免看门狗超时错误。从而可以有效避免看门狗超时错误。指令格式:指令格式:WDR(无操作数)(无操作数)程序实例:指令程序实例:指令STOP、END、WDR的应用如的应用如图图5.2所示。所示。LD

5、SM5.0/检查 I/O 错误OSM4.3/运行时刻检查编程OI0.3/外部切换开关STOP/条件满足,由 RUN/ 切换到 STOP 方式/LDI0.5/外部停止控制END/停止程序执行/LDM0.4/用触点重新触发WDR/看门狗定时器AI0.2/图图5.2停止、结束、看门狗指令停止、结束、看门狗指令返回本节返回本节5.1.4跳转跳转 1. 跳转指令跳转指令与跳转相关的指令有下面两条:与跳转相关的指令有下面两条:(1)跳转指令)跳转指令JMP,跳转指令。使能输入有效时,使程序流程跳到同,跳转指令。使能输入有效时,使程序流程跳到同一程序中的指定标号一程序中的指定标号n处执行。执行跳转指令时,逻

6、辑处执行。执行跳转指令时,逻辑堆栈的栈顶值总是堆栈的栈顶值总是1。(2)标号指令)标号指令LBL,标号指令。标记程序段,作为跳转指令执行时跳,标号指令。标记程序段,作为跳转指令执行时跳转到的目的位置。操作数转到的目的位置。操作数n为为0255的字型数据。的字型数据。程序实例:程序实例:如右图如右图5.3所示。用增减计数器进行计数,所示。用增减计数器进行计数,如果当前值小于如果当前值小于500,则程序按原顺序执,则程序按原顺序执行,若当前值超过行,若当前值超过500,则跳转到从标号,则跳转到从标号10开始的程序执行。开始的程序执行。返回本节返回本节 LD I0.0 /增计数输入端 LD I0.1

7、 /减计数输入端 LD I0.2 /复位输入端 CTUD C30, VW100 /增减计数 /设定脉冲数 /存于 VW100 LDI= C30, +500 /判断计数器 /当前值是否 /大于 500 JMP 10 /条件满足,跳转 /到标号 10 开始 /的程序段 LBL 10 /标志程序段 LD I0.3 / S Q1.0 , 3 /把从 Q1.0 开始的 /3 个输出点置 1 图图5.3程序跳转实例程序跳转实例5.1.5子程序指令子程序指令 建立子程序建立子程序2. 子程序调用子程序调用 3. 带参数的子程序调用带参数的子程序调用 1. 建立子程序建立子程序 可用编程软件可用编程软件Edi

8、t菜单中的菜单中的Insert选项,选择选项,选择Subroutine,以建立或插入一个新的子程序,以建立或插入一个新的子程序,同时在指令树窗口可以看到新建的子程序图标,同时在指令树窗口可以看到新建的子程序图标,默认的程序名是默认的程序名是SBR_n,编号,编号n从从0开始按递增开始按递增顺序生成,可以在图标上直接更改子程序的程顺序生成,可以在图标上直接更改子程序的程序名。在指令树窗口双击子程序的图标就可对序名。在指令树窗口双击子程序的图标就可对它进行编辑。它进行编辑。2. 子程序调用子程序调用 (1)子程序调用和返回指令)子程序调用和返回指令 子程序调用子程序调用 子程序条件返回子程序条件返

9、回 (2)注意事项)注意事项 (3)应用实例)应用实例 图图5.4所示的程序实现用外部控制条件分别调用所示的程序实现用外部控制条件分别调用两个子程序。两个子程序。 LD I0.0 /使能输入 CALL S2 /调用子程序 S2 / LD I0.0 /使能输入 CALL SBR_1 /调用子程序 /SBR_1 图图5.4 子程序调用举例子程序调用举例(1)子程序参数)子程序参数 变量名变量名 变量类型变量类型 数据类型数据类型 (2)参数子程序调用的规则)参数子程序调用的规则 (3)变量表使用)变量表使用 (4)程序实例)程序实例 3. 带参数的子程序调用带参数的子程序调用 以上面指令为例,局部

10、变量表分配如表以上面指令为例,局部变量表分配如表5.1所示,所示,程序段如图程序段如图5.5所示。所示。表5.1 局部变量表例 LD I0.0 /装入常开触点 CALL SBR_0, I0.2, VB20, VD30 / /调用子程序 SBR_0 /含有 3 个参数: /分别为布尔、字节 /和双字型 图图5.5 带参数的子程序调用带参数的子程序调用返回本节返回本节5.1.6程序循环程序循环 循环开始循环开始 循环结束循环结束 3. 程序实例程序实例 LD M0.0 / 使能输入 FOR VW10, +1, +20 /循环开始 /与第 2 个 NEXT /之间为一级循环体 LD M0.1 /使能

11、输入 FOR VW20, +1, +5 /循环开始 /与第 1 个 NEXT /之间为二级循环体 图图5.6程序循环程序循环(1)返回本节返回本节LDI0.0/使能输入CALLSBR_0/调用子程序 0/本梯级为二级/循环体的功能段NEXT/循环结束指令LDSM0.0/使能输入INCWVW100/字增指令/每执行一次一级/循环体,VW100/的值增 1NEXT/循环结束指令图图5.6程序循环程序循环(2)5.1.7顺序控制继电器顺序控制继电器 1. 顺序继电器指令顺序继电器指令(1)定义顺序段()定义顺序段(2)段开始)段开始(3)段结束)段结束 (4)段转移)段转移2. 注意事项注意事项3.

12、 顺序结构顺序结构 4. 程序实例程序实例 本例是用顺序本例是用顺序继电器实现的继电器实现的顺序控制中的顺序控制中的一个步的程序一个步的程序段,这一步实段,这一步实现的功能是使现的功能是使两个电机两个电机M1和和M2起动运行起动运行20秒后停止,切秒后停止,切换到下一步。换到下一步。程序如图程序如图5.7所所示。示。LSCRS0.5/由 S0.5 控制的/顺序步的开始/LDSM0.0/装入常开触点SQ1.2, 2/将 Q1.2 和 Q1.3/置 1TON T50, +200/通电延时/本步的持续时间/为 20sLDT50/延时时间到/作为切换条件SCRTS0.6/步转移/切换到下一步/同时关本

13、步/SCRE/本步结束标志返回本节返回本节5.1.8与与ENO指令指令 AENO,与,与ENO指令。指令。ENO是梯形图和功能框是梯形图和功能框图编程时指令盒的布尔能流输出端。如果指令图编程时指令盒的布尔能流输出端。如果指令盒的能流输入有效,同时执行没有错误,盒的能流输入有效,同时执行没有错误,ENO就置位,将能流向下传递。当用梯形图编程时,就置位,将能流向下传递。当用梯形图编程时,且指令盒后串联一个指令盒或线圈,语句表语且指令盒后串联一个指令盒或线圈,语句表语言中用言中用AENO指令描述。指令描述。 指令格式:指令格式:AENO(无操作数)(无操作数)LDI0.0/使能输入+IVW200,

14、VW204/整数加法指令,VW200+VW204=VW204AENO/与 ENO 指令,判断整数加法指令执行是否出错ATCHINT_0, 10/如果加法指令执行正确,则调用中断程序 INT_0/中断事件号为 10图图5.8与与ENO指令指令AENO指令只能在语句表中使用,将栈顶值和ENO位的逻辑与运算,运算结果保存到栈顶。程序如图5.8所示。返回本节返回本节5.2特殊指令特殊指令 5.2.1时钟指令时钟指令 5.2.2 中断中断 5.2.3通信通信 5.2.4高速计数高速计数 5.2.5高速脉冲输出高速脉冲输出 5.2.6PID回路指令回路指令 返回本章首页返回本章首页5.2.1时钟指令时钟指

15、令 1. 读实时时钟读实时时钟TODR,读实时时钟指令。当使能输入有效时,读实时时钟指令。当使能输入有效时,系统读当前时间和日期,并把它装入一个系统读当前时间和日期,并把它装入一个8字节字节的缓冲区。的缓冲区。 2. 写实时时钟写实时时钟TODW,写实时时钟指令。用来设定实时时钟。,写实时时钟指令。用来设定实时时钟。当使能输入有效时,系统将包含当前时间和日当使能输入有效时,系统将包含当前时间和日期,一个期,一个8字节的缓冲区将装入时钟。字节的缓冲区将装入时钟。 时钟缓冲区的格式如表时钟缓冲区的格式如表5.2所示。所示。 表表5.2时钟缓冲区时钟缓冲区程序实例程序实例控制要求:控制要求:编写一段

16、程序,可实现读、写实时时钟,并以编写一段程序,可实现读、写实时时钟,并以BCD码显示分钟。时码显示分钟。时钟缓冲区从钟缓冲区从VB100开始。开始。程序中的子程序程序中的子程序SBR_0为写时钟子程序,将当前时间写入从为写时钟子程序,将当前时间写入从VB100开始的开始的8字节时间缓冲区,时间设置如下表字节时间缓冲区,时间设置如下表5.3所示。程序实现:读所示。程序实现:读写时钟程序如图写时钟程序如图5.9所示。所示。 LD I0.4 /装入触点 EU /上跳沿触发 CALL SBR_0 /调用子程序 /子程序 SBR_0 /作用为写时钟 LD SM0.0 /运行有效 TODR VB100 /

17、 从 VB100 /读时钟值 / / MOVB VB104, QB0 /传送指令 /将分钟值 /从 QB0 输出 图图5.9读写时钟读写时钟返回本节返回本节5.2.2 中断中断 1. 中断源(1)中断源及种类)中断源及种类中断源,即中断事件发出中断请求的来源。中断源,即中断事件发出中断请求的来源。S7-200可编程序控制器具有最多可达可编程序控制器具有最多可达34个中断源,个中断源,每个中断源都分配一个编号用以识别,称为中每个中断源都分配一个编号用以识别,称为中断事件号。这些中断源大致分为三大类:通信断事件号。这些中断源大致分为三大类:通信中断、输入输出中断和时基中断。中断、输入输出中断和时基

18、中断。(2)中断优先级)中断优先级 中断优先级由高到低依次是:通信中断、输入中断优先级由高到低依次是:通信中断、输入输出中断、时基中断。每种中断中的不同中断输出中断、时基中断。每种中断中的不同中断事件又有不同的优先权。事件又有不同的优先权。主机中的所有中断事件及优先级如表主机中的所有中断事件及优先级如表5.4所示。所示。表表5.4中断事件及优先级中断事件及优先级2. 中断调用即调用中断程序,使系统对特殊的内部或外部即调用中断程序,使系统对特殊的内部或外部事件作出响应。系统响应中断时自动保存逻辑事件作出响应。系统响应中断时自动保存逻辑堆栈、累加器和某些特殊标志存储器位,即保堆栈、累加器和某些特殊

19、标志存储器位,即保护现场。中断处理完成时,又自动恢复这些单护现场。中断处理完成时,又自动恢复这些单元原来的状态,即恢复现场。元原来的状态,即恢复现场。(1)中断调用指令)中断调用指令(2)注意事项)注意事项(3)程序实例)程序实例(3)程序实例)程序实例控制要求:控制要求:程序实现的功能是调程序实现的功能是调用用I0.1输入点的上升输入点的上升沿中断,若发现沿中断,若发现I/O错错误,则禁止本中断,误,则禁止本中断,用外部条件可以禁止用外部条件可以禁止全局中断。全局中断。程序实现:本程序如程序实现:本程序如图图5.10所示。所示。LDI0.4/使能输入ATCHINT_1, 2 /中断调用/中断

20、程序/为 INT_1/事件号为 2ENI/全局开中断/LDSM5.0/检查 I/O 错DTCH2/若 I/O 有错/断开本中/断连接LDI0.5/外部条件DISI/全局中断/禁止图图5.10中断调用程序中断调用程序3. 中断程序中断程序(1)构成)构成中断程序必须由三部分构成:中断程序标号、中断程序必须由三部分构成:中断程序标号、中断程序指令和无条件返回指令。中断程序指令和无条件返回指令。(2)要求)要求(3)编制方法)编制方法(4)注意事项)注意事项返回本节返回本节5.2.3通信通信 通信指令包括:通信指令包括:XMT,自由口发送指令,自由口发送指令RCV,自由口接收指令,自由口接收指令NE

21、TR,网络读指令,网络读指令NETW,网络写指令,网络写指令GPA,获取口地址指令,获取口地址指令5.2.4高速计数高速计数 1. 高速计数器介绍高速计数器介绍2. 高速计数指令高速计数指令 3. 高速计数器的使用方法高速计数器的使用方法 4. 应用实例应用实例 1. 高速计数器介绍高速计数器介绍(1)数量及编号)数量及编号(2)中断事件类型)中断事件类型 (3)工作模式及输入点)工作模式及输入点 (1)数量及编号)数量及编号高速计数器在程序中使用时的地址编号用高速计数器在程序中使用时的地址编号用HCn来表示(在非程序来表示(在非程序中有时用中有时用HSCn),),HC表编程元件名称为高速计数

22、器,表编程元件名称为高速计数器,n为编号。为编号。HCn除了表示高速计数器的编号之外,还代表两方面的含义:高除了表示高速计数器的编号之外,还代表两方面的含义:高速计数器位和高速计数器当前值。编程时,从所用的指令可以看速计数器位和高速计数器当前值。编程时,从所用的指令可以看出是位还是当前值。出是位还是当前值。不同型号的不同型号的PLC主机,高速计数器的数量对应如表主机,高速计数器的数量对应如表5.7所示。所示。(2)中断事件类型)中断事件类型高速计数器的计数和动作可采用中断方式进行控制,与高速计数器的计数和动作可采用中断方式进行控制,与CPU的扫的扫描周期关系不大,各种型号的描周期关系不大,各种

23、型号的PLC可用的高速计数器的中断事件可用的高速计数器的中断事件大致分为大致分为3类:当前值等于预设值中断、输入方向改变中断和外部类:当前值等于预设值中断、输入方向改变中断和外部复位中断。所有高速计数器都支持当前值等于预设值中断。复位中断。所有高速计数器都支持当前值等于预设值中断。每个高速计数器的每个高速计数器的3种中断的优先级由高到低,不同高速计数器之种中断的优先级由高到低,不同高速计数器之间的优先级又按编号顺序由高到低。具体对应关系如表间的优先级又按编号顺序由高到低。具体对应关系如表5.8所示。所示。(3)工作模式及输入点)工作模式及输入点 工作模式工作模式 输入端连接输入端连接 高速计数

24、器的工作模式共有高速计数器的工作模式共有12种。种。以模式以模式4为例,时序如图为例,时序如图5.11所示。所示。ABCDEFGHI时钟方向当前值012345654图图5.11模式模式4操作时序操作时序选用某个高速计数器在某种工作模式下工作,选用某个高速计数器在某种工作模式下工作,高速计数器的输入端不是任意选择,必须按系高速计数器的输入端不是任意选择,必须按系统指定的输入点。如表统指定的输入点。如表5.9所示。所示。2. 高速计数指令高速计数指令 高速计数器指令有两条:高速计数器指令有两条:HDEF和和HSC。(1)HDEF指令指令HDEF,定义高速计数器指令。使能,定义高速计数器指令。使能输

25、入有效时,为指定的高速计数器分输入有效时,为指定的高速计数器分配一种工作模式,即用来建立高速计配一种工作模式,即用来建立高速计数器与工作模式之间的联系。梯形图数器与工作模式之间的联系。梯形图指令盒中有两个数据输入端:指令盒中有两个数据输入端:HSC,高速计数器编号,为高速计数器编号,为05的常数,字的常数,字节型;节型;MODE,工作模式,为,工作模式,为011的常数,字节型。的常数,字节型。(2)HSC指令指令HSC,高速计数器指令。使能输,高速计数器指令。使能输入有效时,根据高速计数器特殊入有效时,根据高速计数器特殊存储器位的状态,并按照存储器位的状态,并按照HDEF指令指定的工作模式,设

26、置高速指令指定的工作模式,设置高速计数器并控制其工作。梯形图指计数器并控制其工作。梯形图指令盒数据输入端令盒数据输入端N:高速计数器:高速计数器编号,为编号,为05的常数,字型。的常数,字型。每个高速计数器都有固定的特殊功能存储器与每个高速计数器都有固定的特殊功能存储器与之相配合,完成高速计数功能。具体对应关系之相配合,完成高速计数功能。具体对应关系如表如表5.11所示。所示。3. 高速计数器的使用方法高速计数器的使用方法 每个高速计数器都有一个状态字节,程序运行每个高速计数器都有一个状态字节,程序运行时根据运行状况自动使某些位置位,可以通过时根据运行状况自动使某些位置位,可以通过程序来读相关

27、位的状态,用以作为判断条件实程序来读相关位的状态,用以作为判断条件实现相应的操作。状态字节中各状态位的功能如现相应的操作。状态字节中各状态位的功能如表表5.12所示。所示。(1)选择计数器及工作模式)选择计数器及工作模式 (2)设置控制字节)设置控制字节 (3)执行)执行HDEF指令指令 (4)设定当前值和预设值)设定当前值和预设值 (5)设置中断事件并全局开中断)设置中断事件并全局开中断 (6)执行)执行HSC指令指令 使用高速计数器时,要按以下步骤进行:使用高速计数器时,要按以下步骤进行:表5.13 控制位含义4. 应用实例应用实例 要对一高速事件精确控制,通过对脉冲信号进行增计数,要对一

28、高速事件精确控制,通过对脉冲信号进行增计数,计数当前值达到计数当前值达到24产生中断,重新从产生中断,重新从0计数,对中断次计数,对中断次数进行累计。计数方向用一个外部信号控制,并能实现数进行累计。计数方向用一个外部信号控制,并能实现外部复位。所用的主机型号为外部复位。所用的主机型号为CPU221。设计步骤:设计步骤:选择高速计数器选择高速计数器HSC0,并确定工作方式,并确定工作方式4。令令SM37=16#F8 执行执行HDEF指令,输入端指令,输入端HSC为为0,MODE为为4。装入当前值,令装入当前值,令SMD38=0。装入设定装入设定值,令值,令SMD42=24。执行中断连接执行中断连

29、接ATCH指令,输入指令,输入端端INT为为INT0,EVNT为为10。 主程序、初始化子程序和中断程序分别如图主程序、初始化子程序和中断程序分别如图5.12、图、图5.13和图和图5.14所示。所示。 LD SM0.1 /初次扫描脉冲 CALL SBR_1 /调用初始化 /子程序 SBR_1 / 图图5.12 主程序主程序 LD SM0.0 /运行脉冲 MOVB 16#F8, SMB37 / /设置控制字节 / / / HDEF 0, 4 /定义高速 /计数器 /选用 HSC0 /工作模式 4 MOVD +0, SMD38 / /当前值清 0 / MOVD +24, SMD42 / /将预设

30、值 24 /入装 SMD42 / ATCH INT_0, 10 / /中断连接指令 /中断程序为 /INT_0 /事件号为 10 ENI /开全局中断 / HSC 0 /编程计数 /器 HSC0 /使设置生效 图图5.13初始化子程序初始化子程序 LD SM0.0 /运行 /脉冲 INCD VD100 / /双字增指令 /对中断次数 /进行累计 /存于 VD100 MOVD +0, SMD38 / /将 HSC0 当 /前值清 0 / MOVB 16#C8, SMB37 /重设控制字 /节 SMB37 /不重装设 /定值 HSC 0 /编程 HSC0 /使设置重新 /生效 图图5.14 中断程

31、序中断程序返回本节返回本节5.2.5高速脉冲输出高速脉冲输出 1. 高速脉冲输出介绍高速脉冲输出介绍(1)高速脉冲输出的形式)高速脉冲输出的形式 (2)输出端子的确定)输出端子的确定 (3)相关寄存器)相关寄存器 (4)脉冲输出指令)脉冲输出指令 每个高速脉冲发生器对应一定数量特殊标志寄存器,这每个高速脉冲发生器对应一定数量特殊标志寄存器,这些寄存器包括控制字节寄存器、状态字节寄存器和参数些寄存器包括控制字节寄存器、状态字节寄存器和参数数值寄存器,用以控制高速脉冲的输出形式、反映输出数值寄存器,用以控制高速脉冲的输出形式、反映输出状态和参数值。各寄存器分配如表状态和参数值。各寄存器分配如表5.

32、14所示。所示。l l 状态字节状态字节每个高速脉冲输出都有一个状态字节,程序运行时根据每个高速脉冲输出都有一个状态字节,程序运行时根据运行状况自动使某些位置位,可以通过程序来读相关位运行状况自动使某些位置位,可以通过程序来读相关位的状态,用以作为判断条件实现相应的操作。状态字节的状态,用以作为判断条件实现相应的操作。状态字节中各状态位的功能如表中各状态位的功能如表5.15所示。所示。 控制字节控制字节每个高速脉冲输出都对应一个控制字节,通过对控制字每个高速脉冲输出都对应一个控制字节,通过对控制字节中指定位的编程,可以根据操作要求设置字节中各控节中指定位的编程,可以根据操作要求设置字节中各控制

33、位,如脉冲输出允许、制位,如脉冲输出允许、PTO/PWM模式选择、单段模式选择、单段/多多段选择、更新方式、时间基准、允许更新等。控制字节段选择、更新方式、时间基准、允许更新等。控制字节中各控制位的功能如表中各控制位的功能如表5.16所示。所示。2. 高速脉冲串输出高速脉冲串输出PTO(1)周期和脉冲数)周期和脉冲数(2)PTO的种类的种类(3)中断事件类型)中断事件类型(4)PTO的使用的使用(1)周期和脉冲数)周期和脉冲数周期:单位可以是微秒周期:单位可以是微秒s或毫秒或毫秒ms;为;为16位位无符号数据,周期变化范围是无符号数据,周期变化范围是5065535s或或265535ms,通常应

34、设定周期值为偶数,若设,通常应设定周期值为偶数,若设置为奇数,则会引起输出波形占空比的轻微失置为奇数,则会引起输出波形占空比的轻微失真。如果编程时设定周期单位小于真。如果编程时设定周期单位小于2,系统默认,系统默认按按2进行设置。进行设置。脉冲数:用双字长无符号数表示,脉冲数取值脉冲数:用双字长无符号数表示,脉冲数取值范围是范围是14294967295之间。如果编程时指定之间。如果编程时指定脉冲数为脉冲数为0,则系统默认脉冲数为,则系统默认脉冲数为1个。个。(2)PTO的种类的种类PTO方式中,如果要输出多个脉冲串,允许脉方式中,如果要输出多个脉冲串,允许脉冲串进行排队,形成管线,当前输出的脉

35、冲串冲串进行排队,形成管线,当前输出的脉冲串完成之后,立即输出新脉冲串,这保证了脉冲完成之后,立即输出新脉冲串,这保证了脉冲串顺序输出的连续性。串顺序输出的连续性。单段管线单段管线 多段管线多段管线 包络表由包络段数和各段构成。每段长度为包络表由包络段数和各段构成。每段长度为8个个字节,包括:脉冲周期值(字节,包括:脉冲周期值(16位)、周期增量位)、周期增量值(值(16位)和脉冲计数值(位)和脉冲计数值(32位)。以包络位)。以包络3段的包络表为例,包络表的结构如表段的包络表为例,包络表的结构如表5.17所示。所示。(3)中断事件类型)中断事件类型高速脉冲串输出可以采用中断方式进行控制,高速

36、脉冲串输出可以采用中断方式进行控制,各种型号的各种型号的PLC可用的高速脉冲串输出的中断可用的高速脉冲串输出的中断事件有两个,如表事件有两个,如表5.18所示。所示。(4)PTO的使用的使用使用高速脉冲串输出时,要按以下步骤进行:使用高速脉冲串输出时,要按以下步骤进行: 确定脉冲发生器及工作模式确定脉冲发生器及工作模式 设置控制字节设置控制字节 写入周期值、周期增量值和脉冲数写入周期值、周期增量值和脉冲数装入包络的首地址装入包络的首地址设置中断事件并全局开中断设置中断事件并全局开中断执行执行PLS指令指令3. 应用实例应用实例(1)控制要求)控制要求步进电机转动过程中,要从步进电机转动过程中,

37、要从A点加速到点加速到B点点后恒速运行,又从后恒速运行,又从C点开始减速到点开始减速到D点,完点,完成这一过程时用指示灯显示。电机的转动成这一过程时用指示灯显示。电机的转动受脉冲控制,受脉冲控制,A点和点和D点的脉冲频率为点的脉冲频率为2kHz,B点和点和C点的频率为点的频率为10kHz,加速过程的脉,加速过程的脉冲数为冲数为400个,恒速转动的脉冲数为个,恒速转动的脉冲数为4000个,个,减速过程脉冲数为减速过程脉冲数为200个。个。工作过程如图工作过程如图5.15所示。所示。频率(KHz)102时间ABCD图图5.15步进电机工作过程步进电机工作过程(2)分析)分析确定脉冲发生器及工作模式

38、确定脉冲发生器及工作模式 设置控制字节设置控制字节 写入周期值、周期增量值和脉冲数写入周期值、周期增量值和脉冲数 装入包络表首地址装入包络表首地址 中断调用中断调用 执行执行PLS指令指令 (3)程序实现)程序实现本控制系统主程序如下图本控制系统主程序如下图5.16所示。初始化子程序所示。初始化子程序SBR_1如图如图5.17所示。包络表子程序如图所示。包络表子程序如图5.18所示。所示。中断程序如图中断程序如图5.19所示。所示。 LD SM0.1 /初次扫描 R Q0.0, 1 /复位高速 /脉冲,使初值 /为低电位 CALL SBR_1 /调用初始 /化子程序 SBR_1 图图5.16主

39、程序主程序LDSM0.0/运行脉冲MOVB16#A0, SMB67 /设置控制字节/多段 PTO/增量单位 ms/允许 PTOMOVW+400, SMW168 /装入包络表/的首地址CALLSBR_0/调用子程/建立包络表/子程序 SBR_0ATCHINT_0, 19/中断连接/事件号 19/ENI /开全局中断/PLS0/启动 PTO 脉冲/由 Q0.0 输出/图图5.17初始化子程序初始化子程序SBR_1 MOVW +100, VW409 / /第 2 段周期初 /值为 100ms / / MOVW 0, VW411 / /第 2 段周期 /增量为 0 MOVD +4000, VD413

40、/ /第 2 段脉冲数 /为 4000 个 LDSM0.0/运行脉冲MOVB3, VB400/定义开始字节/为 VB400/装入段数 3MOVW+500, VW401/第 1 段周期初/值为 500ms/MOVW1, VW403/第 1 段周期/增量为1MOVD+400, VD405/第 1 段脉冲数/为 400 个图图5.18包络表子程序包络表子程序SBR_0(1)MOVW+100, VW417/第3 段周期初/值为100ms/MOVW+2, VW419/第3 段周期/增量为+2msMOVD+200, VD421 /第3 段脉冲数/为200 个图图5.18包络表子程序包络表子程序SBR_0(

41、2)LDSM0.0/运行脉冲=Q0.6/脉冲串全部输出/完成后将 Q0.6 置 1图图5.19 中断程序中断程序4. 宽度可调脉冲输出宽度可调脉冲输出PWM (1)周期和脉冲宽度)周期和脉冲宽度 (2)更新方式)更新方式 (3)PWM的使用的使用 返回本节返回本节5.2.6PID回路指令回路指令 PID算法算法 2. PID指令指令 3. 应用实例应用实例 1. PID算法算法 1. PID算法如果一个如果一个PID回路的输出回路的输出M(t)是时间的函数,则可以看是时间的函数,则可以看作是比例项、积分项和微分项三部分之和。即:作是比例项、积分项和微分项三部分之和。即:用数字计算机处理这样的控

42、制算式,连续的算式必须周用数字计算机处理这样的控制算式,连续的算式必须周期采样进行离散化,同时各信号也要离散化,公式如下:期采样进行离散化,同时各信号也要离散化,公式如下:MPn=Kc*(SPn-PVn)+Kc*Ts/Ti*(SPn-PVn)+MX+Kc*Td/Ts*(PVn-1-PVn)回路表初始化回路表初始化程序实例:程序实例:如果如果Kc为为0.4,Ts为为0.2秒,秒,Ti为为30分钟,分钟,Td为为15分钟,分钟,则可以建立一则可以建立一个 子 程 序个 子 程 序SBR0用来对用来对回路表进行初回路表进行初始化。程序如始化。程序如图图5.20所示。所示。LDSM0.0/运行脉冲MO

43、VR0.5, VD204/开始位置/为 VD200/在 VD204 装/入设定值MOVR0.4, VD212/装入回路增益/值为 0.4/MOVR0.2, VD216/装入采样时间/为 0.2 秒MOVR30.0, VD220/装入积分时间/为 30 分钟/MOVR15.0, VD224/装入微分时间/为 15 分钟图图5.20 回路表初始化子程序回路表初始化子程序SBR0PID,PID回路指令。使能输入有效时,该回路指令。使能输入有效时,该指令利用回路表中的输入信息和组态信息,指令利用回路表中的输入信息和组态信息,进行进行PID运算。梯形图的指令盒中有运算。梯形图的指令盒中有2个数个数据输入

44、端:据输入端:TBL,回路表的起始地址,是,回路表的起始地址,是由由VB指定的字节型数据;指定的字节型数据;LOOP,回路号,回路号,是是07的常数。的常数。指令影响的特殊标志存储器位:指令影响的特殊标志存储器位:SM1.1(溢出)。(溢出)。使能流输出使能流输出ENO断开的出错条件:断开的出错条件:SM1.1(溢出);(溢出);SM4.3(运行时间);(运行时间);0006(间接寻址)。(间接寻址)。指令格式:指令格式:PIDTBL, LOOP2. PID指令指令 3. 应用实例应用实例 (1)控制要求)控制要求有一水箱有一条进水管和一条出水管,进水管的水流量随时间不有一水箱有一条进水管和一

45、条出水管,进水管的水流量随时间不断变化,要求控制出水管阀门的开度,使水箱内的液位始终保持断变化,要求控制出水管阀门的开度,使水箱内的液位始终保持在水满时液位的一半。系统使用比例积分微分控制,假设采用下在水满时液位的一半。系统使用比例积分微分控制,假设采用下列控制参数值:列控制参数值:Kc为为0.4,Ts为为0.2秒,秒,Ti为为30分钟,分钟,Td为为15分钟。分钟。(2)分析)分析本系统标准化时可采用单极性方案,系统的输入来自液位计的液本系统标准化时可采用单极性方案,系统的输入来自液位计的液位测量采样;设定值是液位的位测量采样;设定值是液位的50%,输出是单极性模拟量用以控,输出是单极性模拟

46、量用以控制阀门的开度,可以在制阀门的开度,可以在0%100%之间变化。之间变化。(3)程序实现)程序实现本程序的主程序如图本程序的主程序如图5.21所示,回路表初始化子程序所示,回路表初始化子程序SBR0如图如图5.22所示,中断程序所示,中断程序INT0如图如图5.23所示。所示。 LD SM0.1 /初次扫描 CALL SBR_0 /调用建立 /回路表子程序 CALL SBR_1 /调用初始 /化子程序 图图5.21主程序主程序 LD SM0.0 /运行脉冲 MOVB 200, SMB34 / /设置定时 /中断 0 发生的 /时间间隔为 /200ms ATCH INT_0, 10 / /中断连接 /事件为定时 /中断 0 ENI /开全局中断 图图5.22初始化子程初始化子程序序SBR1图图5.23中断子程序中断子程序INT0(1)图图5.23 中断子程序中断子程序INT0(2)返回本节返回本节

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!