![可编程控制器PID高数计数器_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-7/12/1f983c5a-8bc2-4a17-8855-35ef710ca77d/1f983c5a-8bc2-4a17-8855-35ef710ca77d1.gif)
![可编程控制器PID高数计数器_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-7/12/1f983c5a-8bc2-4a17-8855-35ef710ca77d/1f983c5a-8bc2-4a17-8855-35ef710ca77d2.gif)
![可编程控制器PID高数计数器_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-7/12/1f983c5a-8bc2-4a17-8855-35ef710ca77d/1f983c5a-8bc2-4a17-8855-35ef710ca77d3.gif)
![可编程控制器PID高数计数器_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-7/12/1f983c5a-8bc2-4a17-8855-35ef710ca77d/1f983c5a-8bc2-4a17-8855-35ef710ca77d4.gif)
![可编程控制器PID高数计数器_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-7/12/1f983c5a-8bc2-4a17-8855-35ef710ca77d/1f983c5a-8bc2-4a17-8855-35ef710ca77d5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、可编程序控制器 主讲: 4.6 S7-200PID4.6 S7-200PID指令指令 4.6.1 PID4.6.1 PID算法算法 v 理解PIDPID算法PID控制器调节输出,保证偏差(e)为零, 使系统达到稳定状态,偏差(e)是给定值(SP)和过程 变量(PV)的差。PID控制的原理基于下面的算式;输出 M(t)是比例项、积分项和微分项的函数。 输出= 比例项+ 积分项+ 微分项 v 其中:M(t)是 PID回路的输出,是时间的函数 KC PID回路的增益 e PID回路的偏差(给定值与过程变量之差) Minitial PID回路输出的初始值 v 为了能让数字计算机处理这个控制算式,连续算
2、式必须离散化为周期 采样偏差算式,才能用来计算输出值。数字计算机处理的算式如下: 其中: v Mn在第n个采样时刻,PID回路输出的计算值 v KC PID回路比例增益 v en 第n个采样时刻的回路偏差值 v en - 1 上一个采样时刻杜回路偏差 v ei 第i个采样时刻的回路偏差值 v KI 积分项的比例常数 v Minitial 回路输出的初始值 v KD 微分项的比例常数 v 从这个公式可以看出,积分项是从第1个采样周期到当前采样周期所有 误差项的函数,微分项是当前采样和前一次采样的函数,比例项仅是 当前采样的函数。在数字计算机中,不保存所有的误差项,实际上也 不必要。只需将上一次的
3、误差值和上一次积分项的数值保存即可。 v 由于计算机从第一次采样开始,每有一个偏差采样值必须计算 一次输出值,只需要保存偏差前值和积分项前值。作为数字计 算机解决的重复性的结果,可以得到在任何采样时刻必须计算 的方程的一个简化算式。简化算式是: Mn = Kc * en + KI * en + MX + KD * (en-en - 1) 其中: v Mn在第n个采样时刻,PID回路输出的计算值 v KC PID回路比例增益 v en 第n个采样时刻的回路偏差值 v en - 1 上一个采样时刻杜回路偏差 v KI 积分项的比例常数 v MX积分项前值 v KD 微分项的比例常数 v CPU实际
4、使用以上简化算式的改进形式计算PID输出。这个改 进型算式是: Mn = MPn + MIn + MDn 输出= 比例项+ 积分项+ 微分项 其中: Mn 第n采样时刻的计算值 MPn 第n采样时刻的比例项值 MIn 第n采样时刻的积分项值 MDn 第n采样时刻的微分项值 (1 1)理解)理解PIDPID方程的比例项方程的比例项 v比例项MPn是增益(KC)和偏差(e)的乘积。其 中KC决定输出对偏差的灵敏度,偏差(e)是给定 值(SP)与过程变量值(PV)之差。 vS7-200解决的求比例项的算式是: MPn = KC * (SPn PVn) vMPn第n个采样时刻比例项的值 vKC 回路增
5、益 vSPn 第n采样时刻的给定值 vPVn 第n采样时刻的过程变量值 (2 2)理解)理解PIDPID方程的积分项方程的积分项 v 积分项(MI)是正比于每次采样的误差的积累值。 v S7-200解决的求积分项的算式是: MIn = KC * TS / TI * (SPn - PVn)+ MX v 其中: v MIn 第n个采样时刻的积分项值 v KC 回路增益 v TS 采样周期 v TI 积分时间常数 v SPn 第n采样时刻的给定值 v PVn第n采样时刻的过程变量值 v MX 第n - 1采样时刻的积分项(积分项前值) (也称积分和或偏置) (3 3)理解)理解PIDPID方程的微分
6、项方程的微分项 v 微分项(MD)正比于误差的变化。S7-200使用下列算式来求解微分项: MDn = KC * TD / TS * (SPn PVn)-(SPn-1 - PVn-1) v 为了避免给定值变化的微分作用而引起的跳变,假定给定值不变(SPn = SPn-1)。这样,可以用过程变量的变化替代偏差的变化,计算算式可改进 为: MDn = KC * TD / TS * (PVn-1 - PVn ) 其中: v MDn第n个采样时刻的微分项值 v KC 回路增益 v TS 采样周期 v TD 微分时间常数 v SPn 第n采样时刻的给定值 v SPn-1 第n-1采样时刻的给定值 v P
7、Vn 第n采样时刻的过程变量值 v PVn-1 第n-1采样时刻的过程变量值 v 为了下一次计算微分项值,必须保存过程变量,而不是偏差。在第一采样时 刻,初始化为PVn-1 PVn 4.6.5 PID4.6.5 PID指令指令 v PID指令以回路表中的输入和组态信息进行 PID运算。要执行该指令,必须使逻辑栈顶 值置为1。 v 指令中的TBL是PID控制回路的起始地址。 v LOOP为控制回路号(为常数,在07之间) v 使ENO=0的错误条件: SM1.1(溢出)H 0006(间接寻址) v 受影响特殊存储器位H SM1.1(溢出) v 在程序中最多可以用8条PID指令。如果两个或两个以上
8、的PID 指令用了同一个回路号,那么即使这些指令的回路表不同, 这些PID运算之间也会相互干涉,产生不可预料的结果。 v 回路表包含9个参数,用来控制和监视PID运算。这些参数分 别是过程变量当前值(PVn),过程变量前值(PVn-1),给 定值(SPn),输出值(Mn),增益(Kc),采样时间(Ts), 积分时间(TI),微分时间(TD)和积分项前值(MX)。 v 为了让PID运算以预想的采样频率工作,PID指令必须用在定 时发生的中断程序中,或者用在主程序中被定时器所控制以 一定频率执行。采样时间必须通过回路表输入到PID运算中。 回路表回路表 回路控制类型的选择回路控制类型的选择 v 通
9、过设置常量参数,可以选择需要的回路控制类型。 v 如果不想要积分动作(PID计算中没有“I”),可以把积分时间 (复位)置为无穷大“INF”。即使没有积分作用,积分项还是 不为零,因为有初值MX。 v 如果不想要微分回路,可以把微分时间置为零。 v 如果不想要比例回路,但需要积分或积分微分回路,可把增益设 为0.0,系统会在计算积分项和微分项时,把增益当作1.0看待。 正作用回路和反作用回路正作用回路和反作用回路 v 如果增益为正,那么该回路为正作用回路。如果增益为负,那么 是反作用回路。 v 对于增益值为0.0的I或ID控制,如果指定积分时间、微分时间为 正,就是正作用回路;如果指定为负值,
10、就是反作用回路 控制方式控制方式 v S7-200的PID回路没有设置控制方式,只要PID块有效,就可以 执行PID运算。即PID运算存在一种“自动“运行方式。当PID运 算不被执行时,我们称之为“手动”模式。 v PID指令使能位检测到信号的正跳变(从0到1),PID指令执行一 系列动作,使PID指令从手动方式无扰动地切换到自动方式。 v 为了达到无扰动切换,在转变到自动控制前,必须用手动方式把 当前输出值填入回路表中的Mn栏。PID指令对回路表中的值进行 下列动作,以保证当使能位正跳变出现时,从手动方式无扰动切 换到自动方式: 置给定值(SPn)=过程变量(PVn) 置过程变量前值(PVn
11、-1)=过程变量现值(PVn) 置积分项前值(MX)=输出值(Mn) PID使能位的默认值是1,在CPU启动或从STOP方式转到RUN方 式时建立。CPU进入RUN方式后首次使PID块有效,没有检测到使 能位的正跳变,那么就没有无扰动切换的动作。 回路输入的转换及归一化处理回路输入的转换及归一化处理 v 每个PID回路具有两个输入量,给定值(SP)和过程变量 (PV)。给定值通常是一个固定的值。过程变量是与PID 回路输出有关,可以衡量输出对控制系统作用的大小。 v 给定值和过程变量都可能是工程实际的值,它们的大小、 范围和工程单位都可能不一样。在PID指令对这些工程实 际的值进行运算之前,必
12、须把它们转换成标准的浮点型表 达形式。 v 转换的第一步是把16位整数值转成浮点型实数值。如: ITD AIW0,AC0 /将输入值转换为双整数。 DTR AC0, AC0 /将32位双整数转换为实数。 v 下一步是将工程实际的值的实数值表达形式转换成0.01.0 之间的标准化值。下面的算式可以用于标准化给定值或过程 变量值: Rnorm = (Rraw / Span)+ Offset 其中: v Rnorm 工程实际值的归一化值 v Rraw 工程实际值的实数值或原值,未归一化处理 v Span 最大允许值减去最小允许值,通常取32000(对于 单极性)和64000(对于双极性) v Off
13、set 单极性为0.0,双极性为0.5 v 下面的指令把双极性实数标准化为0.01.0之间的实数。通 常用在第一步转换之后: v /R 64000.0, AC0 /累加器中的标准化值 v +R 0.5, AC0 /加上偏置,使其在0.01.0之间 v MOVR AC0, VD100 /标准化的值存入回路表 回路输出值转换成整数值回路输出值转换成整数值 v 回路输出值一般是控制变量,比如,在汽车速度控制 中,可以是油阀开度的设置。回路输出是0.0和1.0之 间的一个标准化了的实数值。 v 在回路输出可以用于驱动模拟输出之前,回路输出必 须转换成一个16位的标定整数值。这一过程,是给定 值或过程变
14、量的标准化转换的逆过程。 v 第一步是使用下面给出的公式,将回路输出转换成一 个标定的实数值: v Rscal = (Mn - Offset)* Span 其中: RScal 回路输出的刻度实数值 Mn 回路输出的标准化实数值 Offset 单极性为0.0,双极性为0.5 Span 值域大小,可能的最大值减去可能的最小值 单极性为32,000(典型值)双极性为64,000(典型值) v 这一过程可以用下面的指令序列完成: MOVR VD108, AC0 /把回路输出值移入累加器 -R 0.5, AC0 /仅双极性有此句 *R 64000.0, AC0 /在累加器中得到刻度值 v 下一步是把回路
15、输出的刻度转换成16位整数: ROUND AC0,AC0 /把实数转换为32位整数 DTI AC0, LW0 /把32位整数转换为16位整数 MOVW LW0,AQW0 /把16位整数写入模拟输出寄存器 出错条件出错条件 v 如果指令指定的回路表起始地址或PID回路号操作数超出范 围,那么在编译期间,CPU将产生编译错误(范围错误), 从而编译失败。 v PID指令不检查回路表中的值是否在范围之内,所以必须小 心操作以保证过程变量和设定值不超界。 v PID指令不检查回路表中的值是否超界,您必须保证过程变 量和设定值(以及偏置和前一次过程变量)必须在0.0到1.0 之间。 v 如果PID计算的
16、算术运算发生错误,那么特殊存储器标志位 SM1.1(溢出或非法值)会被置1,并且中止PID指令的执行。 (要想消除这种错误,单靠改变回路表中的输出值是不够的, 正确的方法是在下一次执行PID运算之前,改变引起算术运 算错误的输入值,而不是更新输出值) PIDPID指令编程举例指令编程举例 在本例中,有一水箱需要维持一定的水位,该水箱里的水以 变化的速度流出。这就需要有一个水泵以不同的速度给水箱供 水,以维持水位不变,这样才能使水箱不断水。本系统的给定 值是水箱满水位的75%时的水位,过程变量由漂浮在水面的水 位测量仪给出。输出值是水泵的速度,可以从允许最大值的0% 变到100%。给定值可以预先
17、设定后直接输入到回路表中,过程 变量值是来自水位表的单极性模拟量,回路输出值也是一个单 极性模拟量,用来控制进水泵的速度。这两个模拟量的范围是 0.0到1.0,分辨率为1/32000(标准化)。 在本系统中,只使用比例和积分控制,其回路增益和时间常 数可以通过工程计算初步确定。但还需要进一步调整以达到最 优控制效果。初步确定的增益和时间常数为:Kc是0.25,Ts是 0.1秒,Tl是30分钟 系统启动时,关闭出水口,用手动控制进水泵的速度,使 水位达到满水位的75%,然后打开出水口,同时水泵控制从 手动方式切换到自动方式。这种切换由一个输入的数字量 控制,描述如下:I0.0位控制手动到自动的切
18、换,0代表手 动,1代表自动。当工作在手动控制方式下,可以把水泵速 度(0.01.0之间的实数)写道VD108(VD108是回路表中保 存输出的寄存器) 4.7 S7-2004.7 S7-200其他操作指令其他操作指令 4.7.1 高速计数器操作指令高速计数器操作指令 4.7.2 表功能指令表功能指令 4.7.3 通信指令通信指令 4.7.4 中断指令中断指令 4.7.1 4.7.1 高速计数器操作指令高速计数器操作指令 v高速计数器用于对高速计数器用于对PLCPLC扫描速率来不及处理的高速扫描速率来不及处理的高速 事件进行计数。事件进行计数。 vS7-200PLCS7-200PLC根据根据C
19、PUCPU不同型号有不同型号有4 46 6个高速计数器。个高速计数器。 v高速计数器的最高频率也随高速计数器的最高频率也随CPUCPU型号不同而异。型号不同而异。 1 1、高速计数指令、高速计数指令 v 高速计数指令包括定义高速计数器HDEF指 令和高速计数器HSC指令。 v HDEF,定义高速计数器指令。使能输入有 效时,为指定的高速计数器分配一种工作 模式,即用来建立高速计数器与工作模式 之间的联系。梯形图指令盒中有两个数据 输入端:HSC,高速计数器编号,为05的 常数,字节型;MODE,工作模式,为011 的常数,字节型。 v HSC指令是根据高速计数器特殊存储器位的 状态,并按照HD
20、EF指令指定的工作模式设 置高速计数器并开展其工作。 v 定义高速计数器指令(HDEF)为指定的高速 计数器(HSCx)选择操作模式。 v 高速计数器指令(HSC)在HSC特殊存储器位 状态的基础上,配置和控制高速计数器。参 数N指定高速计数器的标号。 v 对于每一个高速计数器只能用一条定义高速 计数器指令。 v 每一个计数器都有时钟、方向控制、复位、 启动的特定输入。对于双相计数器,两个时 钟都可以运行在最高频率。在正交模式下, 您可以选择一倍速(1x)或者四倍速(4x) 计数速率。 v在使用高速计数器之前,应该用HDEF(高速计 数器定义)指令为计数器选择一种计数模式。 使用初次扫描存储器
21、位SM0.1(该位仅在第一 次扫描周期接通,之后断开)来调用一个包含 HDEF指令的子程序 2 2、工作模式、工作模式 v 4种工作模式 内部方向控制的单脉冲增/减计数模式 外部方向控制的单脉冲增/减计数模式 增/减计数时钟输入的双脉冲计数模式 A/B脉冲正交计数模式 v 不论高速计数器以何种模式工作,他们的控制信号功能是相同的 当复位输入I1.0有效时,高速计数器的当前值被清零并保持 到复位无效。 当启动信号I1.1有效时,允许计数器开始计数;当启动信号 无效时,计数值被保持,但不能对计数脉冲信号计数。 当启动信号无效而复位信号有效时,复位信号不起作用,计 数当前值不变。当复位保持有效则启动
22、信号变为有效,当旗 帜被清除。 输入控制输入控制 vS7-200PLC高速计数器HSC0-HSC5工作时需要输 入端点的信号控制,下表给出了高速计数器 HSC0-HSC5计数输入脉冲、方向控制复位输入 和启动输入所使用的物理输入端点。 v由表可知,高速计数器用的物理输入端点存在 一些重叠。同一个物理输入端点不能用于两个 不同的功能,也不能同时被两个不同的高速计 数器使用,但不使用的端点可用做其他用途。 v 每个高速计数器都有固定的特殊功能存储器与之相配 合,完成高速计数功能。具体对应关系如表所示。 状态位及状态位及1X/4X1X/4X模式选择模式选择 v 有三个控制位用于配置复位和启动有效状态
23、以及选择一倍 速或者4倍计数模式(仅用于正交计数器)。这些位在各个 计数器的控制字节中,只有在HDEF指令执行时才有效。 v 在执行HDEF指令前,必须把这些控制位设定到希望的状态。 否则,计数器对计数模式的选择取缺省设置。一旦HDEF指 令被执行,您就不能再更改计数器的设置,除非先进入 STOP模式。 状态字节状态字节 v 每个高速计数器都有一个状态字节,程序运行时根据 运行状况自动使某些位置位,可以通过程序来读相关 位的状态,用以作为判断条件实现相应的操作。状态 字节中各状态位的功能如表所示。 控制字节控制字节 v 高速计数器中有一个控制字节,其功能是允许或禁止计数器 工作、计数方向控制或
24、初始化计数方向、控制当前值和预置 值装入等。执行HSC指令时,CPU检查控制字节和有关当前值 和预置值。 当前值双字和预置值双字当前值双字和预置值双字 v 每个高速计数器有一个32位的初始值和一个32位的预置值。 初始值和预置值都是符号整数。为了向高速计数器装入新的 初始值和预置值,必须先设置控制字节,并且把初始值和预 置值存入特殊存储器中,然后执行HSC指令,从而将新的值 传送到高速计数器。 HSCHSC中断中断 v 高速计数器有3种中断: 当前值等于预置值中断 外部复位有效中断 计数方向改变中断 v 除模式0、1、2外,所有的计数器模式支持计数方向改变的 中断,每个中断条件可分别地被允许或
25、禁止。 高速计数器的初始化步骤高速计数器的初始化步骤 v 以HSC1为例,对初始化和操作的步骤进行描述。在初始化 描述中,假定S7-200已经置成RUN模式。因此,首次扫描标 志位为真。如果不是这种情况,请记住在进入RUN模式之后, 对每一个高速计数器的HDEF指令只能执行一次。对一个高 速计数器第二次执行HDEF指令会引起运行错误,而且不能 改变第一次执行HDEF指令时对计数器的设置。 v 初始化模式0、1或2HSC1为内部方向控制的单相增/减计数器 (模式0、1或2),初始化步骤如下: 1.用初次扫描存储器位(SM0.1=1)调用执行初始化操作子程序。 2.初始化子程序中,根据所希望的控制
26、操作对SMB47置数。例如: SMB47=16#F8 产生如下的结果: 允许计数 写入新的初始值 写入新的预置值 置计数方向为增 置启动和复位输入为高电平有效 3.执行HDEF指令时,HSC输入置1,MODE输入置0(无外部复位或启 动)或置1(有外部复位和无启动)或置2(有外部复位和启动)。 4.向SMD48(双字)写入所希望的初始值(若写入0,则清除)。 5.向SMD52(双字)写入所希望的预置值。 6.为了捕获当前值(CV)等于预置值(PV)中断事件,编写中断子 程序,并指定CV=PV中断事件(事件号13)调用该中断子程序。 7. 为了捕获外部复位事件,编写中断子程序,并指定外部复位中
27、断事件(事件号15)调用该中断子程序。 8. 执行全局中断允许指令(ENI)来允许HSC1中断。 9. 执行HSC指令,使S7-200对HSC1编程。 10. 退出子程序。 v 所谓表是定义一组存储变量单元用于存储一组数据。 v 表只对字型数据存储,有表存数、表取数、表查找指令。 v 一个空表要定义其长度TL和实际能够填写的单元数EC。 v 有FIFO、LIFO、ATT、FND、FILL指令。 4.7.24.7.2表功能指令表功能指令 1 1、 FIFOFIFO,先进先出指令,先进先出指令 v 当使能输入有效时,从TBL指明的表中移 出第一个字型数据并将其输出到DATA所 指定的字单元。 v
28、取数时,移出的数据总是最先进入表中 的数据。每次从表中移出一个数据,剩 余数据依次上移一个字单元位置,同时 实际填表数EC会自动减1。 v 指令格式:FIFO TBL, DATA 例:FIFO VW100, AC0 v 使ENO0的错误条件是:SM1.5(表 空)SM4.3(运行时间)0006(间接寻 址)0091(操作数超界) v 该指令影响特殊标志位:如果试图从空 表中移走数据,那么SM1.5被置1。 2 2、 LIFOLIFO,后进先出指令,后进先出指令 v 当使能输入有效时,从TBL指明的表中移 出最后一个字型数据并将其输出到DATA所 指定的字单元。 v LIFO表取数特点:取数时,
29、移出的数据总 是最后进入表中的数据。每次从表中取出 一个数据,剩余数据位置保持不变,实际 填表数EC会自动减1。 v 指令格式:LIFO TBL, DATA v 例: LIFO VW100, AC0 v 使ENO0的错误条件是:SM1.5(表 空)SM4.3(运行时间)0006(间接寻 址)0091(操作数超界) v 该指令影响特殊标志位:如果试图从空表 中移走数据,那么SM1.5被置1。 3 3、填表指令:、填表指令:ATTATT v功 能 : 向 表 ( T B L ) 中 增 加 一 个 数 值 (DATA)。 v表中第一个数是最大填表数(TL),第二个 数是实际填表数(EC)。新的数据
30、填加在表 中上最后一个数据的后面。每向表中填加一 个新的数据,EC会自动加1。 vATT指令定义的表的最大长度为100(不含TL 和EC这两个单元) v指令格式:ATT DATA,TBL v如果向一个满表中再添加数据,或实际要填 入的数据个数大于表格本身所定义的长度, 则表的溢出标志位SM1.4会置1 4 4、查表指令、查表指令 v FND?,表查找指令。通过表查找指令可以从 字型数表中找出符合条件的数据所在的表中 数据编号,编号范围为099。 v TBL表格的首地址,用以指明被访问的表格; PTN是用来描述查表条件时进行比较的数据; CMD是比较运算符“?”的编码,它是一个 14的数值,分别
31、代表=、运算符; INDX用来指定表中符合查找条件的数据的地 址。 v 为了查找下一个符合条件的数据,在激活查 表指令前,必须先对INDX加1。如果没有发现 符合条件的数据,那么INDX等于EC。 v用FND指令查找由指令ATT、LIFO和FIFO生成的 表时,实际填表数(EC)和输入数据个数相符, 且一一对应。FND指令的操作数SRC是一个字地 址(指向EC),比相应的ATT、LIFO或FIFO指 令的操作数TABLE要高2个字节。 v表能存入数据的个数最大为100,不包括TL和 EC两个单元。 v如执行程序出错,则ENO=0。(SM4.3=1、间接 寻址出错、操作数超出定义范围) 5 5、
32、存储器填充指令、存储器填充指令 存储器填充指令(FILL)将输入值为IN的 N个字的内容连续填充到从输出OUT开始的 N个字的内容。 v N可取1255之间的整数。 v 指令格式:FILL IN,OUT,N 用来完成系统信息和数据的传递。包括网络读 (NETR)与写(NETW)指令、发送(XMT) 与接受(RCV)指令、获取口地置(GPA)与设 定口地址(SPA)指令。 4.7.3 通信指令通信指令 v 1、网络读、写指令 功能:NETR先对通信操作进行初始化,再通过PORT指定的端口从 远程设备上读取数据并形成TBL。NETW从指定端口向远处设备写 入数据。可一次性读或写16个字节的信息。
33、指令格式:NETR TBL,PORT NETW TBL,PORT 操作数如下:TBL:VB、MB、*AC、*VD、*LD PORT:常数(1或0) 同一时间内NETR和NETW指令的总条数不能超过8条,多余则无效。 v 2、发送、接收命令 PLC工作于自由端口模式时通过通信端口发送和接收数据, 一次可处理256个字节的信息。 功能:XMT激活保存在发送数据缓冲区的数据并将其发送。 RCV激活自由端口的初始化程序以接受数据。TBL中的第一个数 据指明了要发送或接收的字节个数,PORT指明了发送或接收数 据的端口。 指令格式:XMT TBL,PORT RCV TBL,PORT 操作数TBL:VB、
34、MB、QB、IB、SB、SMB、*AC、*VD、*LD PORT:常数(CPU221、222、224为0,CPU226为0或1) v 3、获取口地址、设定口地址指令 功能:GPA读取PORT指定的CPU端口的站地址,并将其放入 ADDR指定的地址单元。SPA将CPU端口的站地址PORT设置为ADDR 指定的数值。 指令格式:GPA ADDR,PORT SPA ADDR,PORT 操作数:ADDR:VB、MB、QB、IB、SB、SMB、LB、*AC、*VD、*LD PORT:常数 几个概念 v 1 1、自由端口模式、自由端口模式 由用户程序自行控制,SMB30(端口0)和SMB130(端口1)
35、用于选择波特率和奇偶校验。CPU需处于RUN状态。进入自 由端口模式通过SM0.7设置,为0对应于TERM位置,为1对 应于RUN位置。 v 2 2、数据接收、数据接收 用接收指令(RCV)在接收到最后一个字符时产生中断, 由SMB86或SMB186控制,为0表示接收,为1表不启动或接 收结束。接收到的字符存在SMB2,奇偶状态存在SMB3,校 验出错时SMB3.0置位。 v 3 3、数据发送、数据发送 可在发送完最后一个字符时产生中断,或监控SM4.5和 SM4.6。把字符设置为0再执行XMT,则在线上产生一16位 的BREAK条件,当其完成后产生一个XMT中断。 4.7.4 4.7.4 中
36、断指令中断指令 1、中断的概念中断的概念 v S7-200PLC执行程序时,由于CPU内部事件或外部事件 发出请求信号,引起CPU中断正在执行的程序,转而去 执行由中断源指定的中断服务子程序,执行完中断子 程序之后,再返回被终止的主程序继续执行,这一过 程被称为中断响应。 v 中断服务子程序入口由中断服务子程序标号来区别。 v 中断服务子程序是由位于中断服务子程序标号和无条 件中断返回指令之间的所有指令组成的一段程序。 v 退出中断服务子程序,要用无条件中断返回指令RETI 或条件中断返回指令CRETI来实现。 2 2、 中断源中断源 (1 1)中断源及种类)中断源及种类 中断事件发出中断请求
37、的来源。S7-200具有最多可达34个中 断源,每个中断源都分配一个编号用以识别,称为中断事件 号。分为三大类:通信口中断、输入输出中断和定时中断。 (2 2)中断优先级)中断优先级 由高到低依次是:通信口中断、输入输出中断和定时中断。 每种中断中的不同中断事件又有不同的优先权。 v 通讯口中断:PLC工作于自由端口模式。用户可用程序定义波 特率、每个字符位数、奇偶校验和通讯协议。利用接收和发 送中断可简化程序对通讯的控制。 v I/O中断:对I/O点状态的各种变化产生中断事件。这些事件 可以 对高速计数器、脉冲输出或输入的上升或下降状态做出响 应。包含了上升沿或下降沿中断、高速计数器中断和脉
38、冲串输出 (PTO)中断。S7 200 CPU可用输入I0.0至I0.3的上升沿或下降 沿产生中断。 v 定时中断:包括定时中断0、定时中断1和定时器T32/T96中断。 定时中断0和定时中断1以1ms为增量单位,周期时间可从1ms到 255ms。对定时中断0,必须把周期时间写入SMB34;对定时中断1, 必须把周期时间写入SMB35。每当定时器溢出时,定时中断事件 把控制权交给相应的中断程序。通常可用定时中断以固定的时间 间隔去控制模拟量输入的采样或者执行一个PID回路。 v 定时器T32/T96中断允许及时地响应一个给定的时间间隔。这 些中断只支持1ms分辨率的延时接通定时器(TON)和延
39、时断 开定时器(TOF)T32和T96。T32和T96定时器在其它方面工作 正常。一旦中断允许,当有效定时器的当前值等于预置值时, 在CPU的正常1ms定时刷新中,执行被连接的中断程序。首先 把一个中断程序连接到T32/T96中断事件上,然后允许该中断。 3 3、中断优先级和中断队列、中断优先级和中断队列 在指定的优先级之内,CPU按先来先服务的原则处理中 断。任何时间点上,只有一个用户中断程序正在执行。 一旦中断程序开始执行,它要一直执行到结束。而且 不会被别的中断程序,甚至是更高优先级的中断程序 所打断。当另一个中断正在处理中,新出现的中断需 要排队,等待处理。 v 有时,可能由多于所能保
40、存数目的中断出现,因而,由系 统维护的队列溢出存储器位表明丢失的中断事件的类型。 中断队列溢出位如表所示。您应当只在中断程序中使用这 些位,因为在队列变空或控制返回到主程序时,这些位会 被复位。 4 4、中断指令、中断指令 v ATCH是中断连接指令,将中断事件EVNT与 中断服务程序号INT连接起来,即把中断源和 为其服务的中断子程序对应起来,并允许这个 中断事件开放。 中断服务程序号INT是一个中断服务子程序 的标识,说明它是哪一个中断服务子程序。 中断事件编号EVNT是CPU规定的中断事件的 编号,指出中断源是哪个。 v DTCH中断分离指令,断开一个中断事件EVNT 与一个中断服务子程
41、序INT的连接。即使中 断源没有相应的中断服务子程序与其对应。 该指令同时使这个中断事件禁止。 对中断连接和分离指令的理解 v 在激活一个中断程序前,必须在中断事件和该事件发生时希 望执行的那段程序间建立一种联系。中断连接指令(ATCH) 指定某中断事件(由中断事件号指定)所要调用的程序段 (由中断程序号指定)。 v 多个中断事件可调用同一个中断程序,但一个中断事件不能 同时指定调用多个中断程序。 v 当把中断事件和中断程序连接时,自动允许中断。如果采用 禁止全局中断指令不响应所有中断,每个中断事件进行排队, 直到采用允许全局中断指令重新允许中断。 v 可以用中断分离指令(DTCH)截断中断事
42、件和中断程序之间 的联系,以单独禁止中断事件。中断分离指令(DTCH)使中 断回到不激活或无效状态。 v ENI开中断指令,当CPU进入RUN状态时,系统是禁止 中断的,但可以通过执行ENI指令全局开放中断,允 许CPU响应中断请求,执行中断服务程序。 v DISI关中断指令,全局地禁止处理所有中断事件。当 CPU执行关中断指令DISI后,中断排队仍然会产生, 但CPU不会响应中断请求,不去执行中断服务程序。 v CRETI条件中断返回指令,根据该指令前面的逻辑操 作的条件,决定是否终止当前中断程序的执行,若满 足条件,则终止中断服务子程序的执行而返回主程序 原处。 v RETI无条件中断返回
43、指令,在编程中没有中断服务子 程序无条件返回指令,但它在执行中断服务程序时会 自动将无条件返回指令加到每一个中断服务子程序的 结尾。 v 限制:在中断程序中不能使用DISI、ENI、HDEF、LSCR、END指令。 v 累加器值不能在主程序和中断服务子程序之间自由传递参数。 v 系统对中断的支持:由于中断指令影响接点、线圈和累加器逻辑, 所以系统保存和恢复逻辑堆栈,累加器以及指示累加器和指令操 作状态的特殊存储器标志位SM。这避免了由中断程序返回后对用 户主程序执行现场所造成的破坏。 v 在中断程序中调用子程序:从中断程序中可以调用一个嵌套子程 序。累加器和逻辑堆栈在中断程序和被调用的子程序中
44、是公用的。 4.7.5 USS协议指令协议指令 通过USS协议指令能使S7-200控制MicroMaster变频 器和读/写变频器参数。 包括USS_INIT、READ_PM、WRITE_PM和CTRL四 种指令。 Diagram Add your text Add your text Add your text Add your text Add your text Diagram ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc. Title Add your text ThemeGallery is a Design Digital Content & Contents mall developed by Guild Design Inc. 特点 系统组系统组 合灵活合灵活 功能强大功能强大 抗干扰抗干扰 能力强能力强 现场信现场信 号简单号简单 维护维
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 26《好的故事》说课稿-2024-2025学年语文六年级上册统编版
- 1场景歌说课稿-2024-2025学年统编版语文二年级上册
- 2024年秋一年级道德与法治下册 第二单元 我和大自然 5 风儿轻轻吹说课稿 新人教版
- 18古诗三首浪淘沙(其一)说课稿-2024-2025学年六年级上册语文统编版
- 8 设计制作小车(二) 说课稿-2024-2025学年科学四年级上册教科版
- 23《月光曲》说课稿-2024-2025学年语文六年级上册统编版
- 1 24时计时法(说课稿)-2024-2025学年三年级上册数学人教版001
- 2023九年级道德与法治上册 第三单元 文明与家园 第五课 守望精神家园第2框 凝聚价值追求说课稿 新人教版
- 2025北京市饲料采购合同新
- 2025建造船舶所要用到的合同
- 农产品贮运与加工考试题(附答案)
- 学校财务年终工作总结4
- 2025年人民教育出版社有限公司招聘笔试参考题库含答案解析
- 康复医学治疗技术(士)复习题及答案
- 《血管性血友病》课件
- 2025年汽车加气站作业人员安全全国考试题库(含答案)
- 2024年司法考试完整真题及答案
- 高三日语一轮复习日语助词「に」和「を」的全部用法课件
- 2024年山东省高考政治试卷真题(含答案逐题解析)
- 2024年执业药师继续教育专业答案
- 2024-2025学年人教版七年级数学上册期末达标测试卷(含答案)
评论
0/150
提交评论