第6章 特殊功能指令 6.1 立即类指令.

Slides:



Advertisements
Similar presentations
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
Advertisements

2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
水箱水位PLC控制 课题(三) *** 20**年**月**日.
实验四 利用中规模芯片设计时序电路(二).
Oracle数据库 Oracle 子程序.
第4节 FP1的特殊功能 一、脉冲输出 FP1的输出端Y7可输出一路脉冲信号,最大频率范围为45Hz~5kHz。这一功能只有晶体管输出方式的PLC才具有,且需配合脉冲输出控制指令F164(SPD0)使用。 脉冲输出进行位置控制示意图.
Roy Wan PCI MS/s 14-bit 高速数字化仪 Roy Wan
二、 可编程控制器 的工作原理 内部处理 通信服务 输入处理 程序执行 输出处理 1、可编程控制器的工作状态
走进编程 程序的顺序结构(二).
辅导课程六.
网络常用常用命令 课件制作人:谢希仁.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
6 S7-200可编程控制器 指令集 2019/1/2 PLC指令集.
计算机数学基础 主讲老师: 邓辉文.
6.1 立即类指令 6.2 中断指令 6.3 高速计数器与高速脉冲输出 6.4 PID控制 6.5 时钟指令
电气控制及PLC技术 电气工程学院 自动化系 杨霞 2018年1月.
实验四 组合逻辑电路的设计与测试 一.实验目的 1.掌握组合逻辑电路的设计 方法 2.学会对组合逻辑电路的测 试方法.
S 数控机床故障诊断与维修.
S 数控机床故障诊断与维修.
时序逻辑电路实验 一、 实验目的 1.熟悉集成计数器的功能和使用方法; 2.利用集成计数器设计任意进制计数器。 二、实验原理
逆向工程-汇编语言
实验六 积分器、微分器.
CPU结构和功能.
移相正弦信号发生器设计 采用直接数字综合器DDS发生器的设计 原理:图1是此电路模型图
第一章 函数与极限.
安捷伦Agilent 3458A 八位半高精度万用表
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
模块6 S7-200 PLC基本逻辑指令 项目 6.2 电动机Y-减压起动控制设计 项目 6.2 电动机Y-减压起动控制设计
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
姚金宇 MIT SCHEME 使用说明 姚金宇
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
Lightweight Data-flow Analysis for Execution-driven Constraint Solving
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
第九节 赋值运算符和赋值表达式.
iSIGHT 基本培训 使用 Excel的栅栏问题
长春理工大学 电工电子实验教学中心 数字电路实验 数字电路实验室.
实验二 带进位控制8位算术逻辑运算实验 带进位控制8位算术逻辑运算: ① 带进位运算 ② 保存运算后产生进位
第5章 应用指令 5.1 程序控制类指令 5.2 特殊指令.
FBs系列PLC 高级应用篇高速计数/定时器
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
集成与非门在脉冲电路中的应用 实验目的 1. 了解集成与非门在脉冲电路中 的某些应用及其原理。 2. 学习用示波器观测波形参数与
Visual Basic程序设计 第13章 访问数据库
HSC高速输出例程 HORNER APG.
定时中断与LED MCU起航 QQ:
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
现代电子技术实验 同步计数器及其应用研究 实验目的 实验原理 实验内容 注意事项.
第4章 S7-200的功能指令 4.1 功能指令概述 4.2 数据处理指令 4.3 数学运算指令 4.4 程序控制指令
信号发生电路 -非正弦波发生电路.
上节复习(11.14) 1、方式2、方式0的特点? 2、定时/计数器的编程要点? 3、实验5方案优化问题.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
第四章 基本指令 要求: 熟练掌握基本逻辑指令及应用。 掌握梯形图编程规则。.
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
DSP技术与应用 电子与信息技术系.
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

第6章 特殊功能指令 6.1 立即类指令

立即读 \立即输出 立即读指令用于输入I接点,立即读指令读取实际输入点的状态时,并不更新该输入点对应的输入映像寄存器的值。如:当实际输入点(位)是1时,其对应的立即触点立即接通;当实际输入点(位)是0时,其对应的立即触点立即断开。 立即输出指令用于输出Q线圈,执行指令时,立即将新值写入实际输出点和对应的输出映像寄存器。 立即类指令与非立即类指令不同,非立即指令仅将新值读或写入输入/输出映像寄存器。

表6-1 立即类指令的格式及说明

6.2 中断指令 6.2.1 中断源

1. 中断源的类型 中断源即发出中断请求的事件,又叫中断事件。为了便于识别,系统给每个中断源都分配一个编号,称为中断事件号。S7-200系列可编程控制器最多有34个中断源,分为三大类:通信中断、输入/输出中断和时基中断。

(1)通信中断 在自由口通信模式下,用户可通过编程来设置波特率、奇偶校验和通信协议等参数。用户通过编程控制通讯端口的事件为通信中断。

(2)I/O中断 I/O中断包括外部输入上升/下降沿中断、高速计数器中断和高速脉冲输出中断。S7-200用输入(I0.0、I0.1、I0.2或I0.3)上升/下降沿产生中断。这些输入点用于捕获在发生时必须立即处理的事件。高速计数器中断指对高速计数器运行时产生的事件实时响应,包括当前值等于预设值时产生的中断,计数方向的改变时产生的中断或计数器外部复位产生的中断。脉冲输出中断是指预定数目脉冲输出完成而产生的中断。

(3)时基中断 定时中断用于支持一个周期性的活动。周期时间从1毫秒至255毫秒,时基是1毫秒。使用定时中断0,必须在SMB34中写入周期时间;使用定时中断1,必须在SMB35中写入周期时间。 定时中断可以用来对模拟量输入进行采样或定期执行PID回路。定时器T32/T96中断指允许对定时间间隔产生中断。这类中断只能用时基为1ms的定时器T32/T96构成。当中断被启用后,当前值等于预置值时,在S7-200执行的正常1毫秒定时器更新的过程中,执行连接的中断程序。

2. 中断优先级和排对等候 优先级是指多个中断事件同时发出中断请求时,CPU对中断事件响应的优先次序。S7-200规定的中断优先由高到低依次是:通信中断、I/O中断和定时中断。每类中断中不同的中断事件又有不同的优先权,如表6-2所示。 一个程序中总共可有128个中断。S7-200在中断各自的优先级组内按照先来先服务的原则为中断提供服务。在任何时刻,只能执行一个中断程序。一旦一个中断程序开始执行,则一直执行至完成。不能被另一个中断程序打断,即使是更高优先级的中断程序。中断程序执行中,新的中断请求按优先级排队等候。中断队列能保存的中断个数有限,若超出,则会产生溢出。中断队列的最多中断个数和溢出标志位如表6-3所示。

6.2.2 中断指令 中断指令有4条,包括开、关中断指令,中断连接、分离指令。指令格式如表6-4所示连接文件夹\表60.doc。

1. 开、关中断指令 开中断(ENI)指令全局性允许所有中断事件。关中断(DISI)指令全局性禁止所有中断事件,中断事件的每次出现均被排队等候,直至使用全局开中断指令重新启用中断。 PLC转换到RUN(运行)模式时,中断开始时被禁用,可以通过执行开中断指令,允许所有中断事件。执行关中断指令会禁止处理中断,但是现用中断事件将继续排队等候。

2. 中断连接、分离指令 中断连接指令(ATCH)指令将中断事件(EVNT)与中断程序号码(INT)相连接,并启用中断事件。 分离中断(DTCH)指令取消某中断事件(EVNT)与所有中断程序之间的连接,并禁用该中断事件。 注意:一个中断事件只能连接一个中断程序,但多个中断事件可以调用一个中断程序。

6.2.3 中断程序

1. 中断程序的概念 中断程序是为处理中断事件而事先编好的程序。中断程序不是由程序调用,而是在中断事件发生时由操作系统调用。在中断程序中不能改写其他程序使用的存储器,最好使用局部变量。中断程序应实现特定的任务,应“越短越好”,中断程序由中断程序号开始,以无条件返回指令(CRETI)结束。在中断程序中禁止使用DISI、ENI、HDEF、LSCR和END指令。

2. 建立中断程序的方法 方法一:从“编辑”菜单→选择插入(Insert)→ 中断(Interrupt)。 程序编辑器从先前的POU显示更改为新中断程序,在程序编辑器的底部会出现一个新标记,代表新的中断程序。

6.2.4 程序举例 【例6-1】编写由I0.1的上升沿产生的中断事件的初始化程序。连接文件夹\练习题6-1.doc 【例6-2】编程完成采样工作,要求每10ms采样一次。连接文件夹\练习题6-2.doc 【例6-3】利用定时中断功能编制一个程序,实现如下功能:当I0.0由OFF→ON,Q0.0亮1s,灭1s,如此循环反复直至I0.0由ON→OFF,Q0.0变为OFF。连接文件夹\练习题6-3.doc

6.2.5 中断程序编程实训

1. 实训目的 (1)熟悉中断指令的使用方法。 (2)掌握定时中断设计程序的方法。

2. 实训内容 (1)利用T32定时中断编写程序,要求产生占空比为50%,周期为4s的的方波信号。 (2)用定时中断实现喷泉的模拟控制,控制要求。

3. 参考程序 产生占空比为50%,周期为4s的的方波信号,主程序和中断程序如 连接文件夹\参考程序1.doc

4. 输入并调试程序 用状态图监视程序的运行,并记录观察到的现象。

6.3 高速计数器与高速脉冲输出 前面讲的计数器指令的计数速度受扫描周期的影响,对比CPU扫描频率高的脉冲输入,就不能满足控制要求了。为此,SIMATIC S7-200系列PLC设计了高速计数功能(HSC),其计数自动进行不受扫描周期的影响,最高计数频率取决于CPU的类型,CPU22x系列最高计数频率为30KHz,用于捕捉比CPU扫描速更快的事件,并产生中断,执行中断程序,完成预定的操作。高速计数器最多可设置12种不同的操作模式。用高速计数器可实现高速运动的精确控制。SIMATIC S7-200 CPU22x系列PLC还设有高速脉冲输出,输出频率可达20KHz,用于PTO(输出一个频率可调,占空比为50%的脉冲)和PWM(输出占空比可调的脉冲),高速脉冲输出的功能可用于对电动机进行速度控制及位置控制和控制变频器使电机调速。

6.3.1 占用输入/输出端子

1. 高速计数器占用输入端子 CPU224有六个高速计数器,其占用的输入端子如表6-5所示。 连接文件夹\表6-5.doc 各高速计数器不同的输入端有专用的功能,如:时钟脉冲端、方向控制端、复位端、起动端。 注意:同一个输入端不能用于两种不同的功能。但是高速计数器当前模式未使用的输入端均可用于其他用途,如作为中断输入端或作为数字量输入端。例如,如果在模式2中使用高速计数器HSC0,模式2使用I0.0和I0.2,则I0.1可用于边缘中断或用于HSC3。

2. 高速脉冲输出占用的输出端子 S7-200有PTO、PWM两台高速脉冲发生器。 PTO脉冲串功能可输出指定个数、指定周期的方波脉冲(占空比50%);PWM功能可输出脉宽变化的脉冲信号,用户可以指定脉冲的周期和脉冲的宽度。若一台发生器指定给数字输出点Q0.0,另一台发生器则指定给数字输出点Q0.1。当PTO、PWM发生器控制输出时,将禁止输出点Q0.0、Q0.1的正常使用;当不使用PTO、PWM高速脉冲发生器时,输出点Q0.0、Q0.1恢复正常的使用,即由输出映像寄存器决定其输出状态。

6.3.2 高速计数器的工作模式

1. 高速计数器的计数方式 (1)单路脉冲输入的内部方向控制加/减计数。即只有一个脉冲输入端,通过高速计数器的控制字节的第3位来控制作加计数或者减计数。该位=1,加计数;该位=0,减计数。如图6-6所示内部方向控制的单路加/减计数 。 (2)单路脉冲输入的外部方向控制加/减计数。即有一个脉冲输入端,有一个方向控制端,方向输入信号等于1时,加计数;方向输入信号等于0时,减计数。如图6-7所示外部方向控制的单路加/减计数。连接文件夹\高速计数器的技术.doc

2. 高速计数器的工作模式 高速计数器有12种工作模式,模式0~模式2采用单路脉冲输入的内部方向控制加/减计数;模式3~模式5采用单路脉冲输入的外部方向控制加/减计数;模式6~模式8采用两路脉冲输入的加/减计数;模式9~模式11采用两路脉冲输入的双相正交计数。 S7-200 CPU224有 HSC0-HSC5六个高速计数器,每个高速计数器有多种不同的工作模式。连接文件夹\表61.docHSC0选用某个高速计数器在某种工作方式下工作后,高速计数器所使用的输入不是任意选择的,必须按系统指定的输入点输入信号。如HSC1。

6.3.3 高速计数器的控制字和状态字

1. 控制字节 定义了计数器和工作模式之后,还要设置高速计数器的有关控制字节。每个高速计数器均有一个控制字节,它决定了计数器的计数允许或禁用,方向控制(仅限模式0、1和2)或对所有其他模式的初始化计数方向,装入当前值和预置值。控制字节每个控制位的说明如表6-7所示。

2. 状态字节 每个高速计数器都有一个状态字节,状态位表示当前计数方向以及当前值是否大于或等于预置值。每个高速计数器状态字节的状态位如表6-8连接文件夹\10.doc。

6.3.4 高速计数器指令及举例

1. 高速计数器指令 高速计数器指令有两条:高速计数器定义指令HDEF如表6-9连接文件夹\表63.doc(1)高速计数器定义指令HDEF。指令指定高速计数器(HSCx)的工作模式。工作模式的选择即选择了高速计数器的输入脉冲、计数方向、复位和起动功能。每个高速计数器只能用一条“高速计数器定义”指令。 (2)高速计数器指令HSC。根据高速计数器控制位的状态和按照HDEF指令指定的工作模式,控制高速计数器。参数N指定高速计数器的号码。

2. 高速计数器指令的使用 1)每个高速计数器都有一个32位当前值和一个32位预置值,当前值和预设值均为带符号的整数值。要设置高速计数器的新当前值和新预置值,必须设置控制字节(表6-7)连接文件夹\表64.doc,令其第五位和第六位为1,允许更新预置值和当前值,新当前值和新预置值写入特殊内部标志位存储区。然后执行HSC指令,将新数值传输到高速计数器。当前值和预置值占用的特殊内部标志位存储区如表6-10所示。除控制字节以及新预设值和当前值保持字节外,还可以使用数据类型HC。 (2)执行HDEF指令之前,必须将高速计数器控制字节的位设置成需要的状态,否则将采用默认设置。默认设置为:复位和起动输入高电平有效,正交计数速率选择4×模式。执行HDEF指令后,就不能再改变计数器的设置,除非CPU进入停止模式。 (3)执行HSC指令时,CPU检查控制字节和有关的当前值和预置值。

3. 高速计数器指令的初始化 高速计数器指令的初始化的步骤如下: 连接文件夹\表格65.doc

2. 用于脉冲输出(Q0.0或Q0.1)的特殊存储器

(1)控制字节和参数的特殊存储器 每个PTO/PWM发生器都有连接文件夹\66.doc

(2)状态字节的特殊存储器 除了控制信息外,还有用于PTO功能的状态位,如表6-12所示。程序运行时,根据运行状态使某些位自动置位。可以通过程序来读取相关位的状态,用此状态作为判断条件,实现相应的操作。

3. 对输出的影响 PTO/PWM生成器和输出映像寄存器共用Q0.0和Q0.1。在Q0.0或Q0.1使用PTO或PWM功能时,PTO/PWM发生器控制输出,并禁止输出点的正常使用,输出波形不受输出映像寄存器状态、输出强制、执行立即输出指令的影响;在Q0.0或Q0.1位置没有使用PTO或PWM功能时,输出映像寄存器控制输出,所以输出映像寄存器决定输出波形的初始和结束状态,即决定脉冲输出波形从高电平或低电平开始和结束,使输出波形有短暂的不连续,为了减小这种不连续有害影响,应注意: (1)可在起用PTO或PWM操作之前,将用于Q0.0和Q0.1的输出映像寄存器设为0。 (2)PTO/PWM输出必须至少有10%的额定负载,才能完成从关闭至打开以及从打开至关闭的顺利转换,即提供陡直的上升沿和下降沿。

4. PTO的使用 PTO是可以指定脉冲数和周期的占空比为50%的高速脉冲串的输出。状态字节中的最高位(空闲位)用来指示脉冲串输出是否完成。可在脉冲串完成时起动中断程序,若使用多段操作,则在包络表完成时起动中断程序。

(1)周期和脉冲数 周期范围从50微秒至65,535微秒或从2毫秒至65,535毫秒,为16位无符号数,时基有µs和ms两种,通过控制字节的第三位选择。注意: 如果周期< 2个时间单位,则周期的默认值为2个时间单位。 周期设定奇数微秒或毫秒(例如75毫秒),会引起波形失真。 脉冲计数范围从1至4,294,967,295,为32位无符号数,如设定脉冲计数为0,则系统默认脉冲计数值为1。

(2)PTO的种类及特点 PTO功能可输出多个脉冲串,现用脉冲串输出完成时,新的脉冲串输出立即开始。这样就保证了输出脉冲串的连续性。PTO功能允许多个脉冲串排队,从而形成流水线。流水线分为两种:单段流水线和多段流水线。 连接文件夹\67.doc

(3)多段流水线PTO初始化和操作步骤 用一个子程序实现PTO初始化,首次扫描(SM0.1)时从主程序调用初始化子程序,执行初始化操作。以后的扫描不再调用该子程序,这样减少扫描时间,程序结构更好。 初始化操作步骤如下:连接文件夹\68.doc

5. PWM的使用 PWM是脉宽可调的高速脉冲,通过控制脉宽和脉冲的周期,实现控制任务。

(1)周期和脉宽 周期和脉宽时基为:微秒或毫秒,均为16位无符号数。 周期的范围从50微秒至65,535微秒,或从2毫秒至65,535毫秒。若周期 < 2个时基,则系统默认为两个时基。 脉宽范围从0微秒至65,535微秒或从0毫秒至65,535毫秒。若脉宽>= 周期,占空比=100%,输出连续接通。若脉宽= 0 ,占空比为0%,则输出断开。

(2)更新方式 有两种改变PWM波形的方法:同步更新和异步更新。 同步更新:不需改变时基时,可以用同步更新。执行同步更新时,波形的变化发生在周期的边缘,形成平滑转换。 异步更新:需要改变PWM的时基时,则应使用异步更新。异步更新使高速脉冲输出功能被瞬时禁用,与PWM波形不同步。这样可能造成控制设备震动。 常见的PWM操作是脉冲宽度不同,但周期保持不变,即不要求时基改变。因此先选择适合于所有周期的时基,尽量使用同步更新。

(3)PWM初始化和操作步骤 6.3.6 高速输入、高速输出指令编程实训 1用首次扫描位(SM0.1)使输出位复位为0,并调用初始化子程序。这样可减少扫描时间,程序结构更合理。 2在初始化子程序中设置控制字节。如将16#D3(时基微秒)或16#DB(时基毫秒)写入SMB67 或SMB77,控制功能为:允许PTO/PWM功能、选择PWM操作、设置更新脉冲宽度和周期数值、以及选择时基(微秒或毫秒)。 3在SMW68或SMW78中写入一个字长的周期值。 4在SMW70或SMW80中写入一个字长的脉宽值。 5执行PLS指令,使S7-200为PWM发生器编程,并由Q0.0或Q0.1输出。 6可为下一输出脉冲预设控制字。在SMB67或SMB77中写入16#D2(微秒)或16#DA(毫秒)控制字节中将禁止改变周期值,允许改变脉宽。以后只要装入一个新的脉宽值,不用改变控制字节,直接执行PLS指令就可改变脉宽值。 7退出子程序连接文件夹\69.doc。

1. 实训目的 (1)掌握高速处理类指令的组成、相关特殊存储器的设置、指令的输入及指令执行后的结果,进一步熟悉指令的作用和使用方法。 (2)通过实训的编程、调试练习观察程序执行的过程,分析指令的工作原理,熟悉指令的具体应用,掌握编程技巧和能力。

2. 实训内容 用脉冲输出指令PLS和高速输出端子Q0.0给高速计数器HSC提供高速计数脉冲信号,因为要使用高速脉冲输出功能,必须选用直流电源型的CPU模块。输入侧的公共端与输出侧的公共端相连,高速输出端Q0.0接到高速输入端I0.0,24V电源正端与输出侧的1L+端子相连。有脉冲输出时Q0.0与I0.0对应的LED亮。在子程序0中,把中断程序0与中断事件12(CV=PV时产生中断)连接起来。 外部接线图如图6-17连接文件夹\70.doc。

3. 读懂程序并输入程序 给程序加注释,给网络加注释,在注释中说明程序的功能和指令的功能。

4. 编译运行和调试程序 观察Q0.1和Q0.2对应的LED的状态,并记录。用状态表监视HSC0的当前值变化情况。 根据观察结果画出HSC0,Q0.0,Q0.1之间对应的波形图。

6.4 PID控制

6.4.1 PID指令

1. PID算法 在工业生产过程控制中,模拟信号PID(由比例、积分、微分构成的闭合回路)调节是常见的一种控制方法。运行PID控制指令,S7-200将根据参数表中的输入测量值、控制设定值及PID参数,进行PID运算,求得输出控制值。参数表中有9个参数,全部为32位的实数,共占用36个字节。PID控制回路的参数表如表6-15所示。 连接文件夹\71.doc

2. PID控制回路选项 在很多控制系统中,有时只采用一种或两种控制回路。例如,可能只要求比例控制回路或比例和积分控制回路。通过设置常量参数值选择所需的控制回路。 (1)如果不需要积分回路(即在PID计算中无“I”),则应将积分时间Ti设为无限大。由于积分项Mx的初始值,虽然没有积分运算,积分项的数值也可能不为零。 (2)如果不需要微分运算(即在PID计算中无“D”),则应将微分时间Td设定为0.0。 (3)如果不需要比例运算(即在PID计算中无“P”),但需要I或ID控制,则应将增益值Kc指定为0.0。因为Kc是计算积分和微分项公式中的系数,将循环增益设为0.0会导致在积分和微分项计算中使用的循环增益值为1.0。 连接文件夹\71.doc

3. 回路输入量的转换和标准化 每个回路的给定值和过程变量都是实际数值,其大小、范围和工程单位可能不同。在PLC进行PID控制之前,必须将其转换成标准化浮点表示法。步骤如下:连接文件夹\73.doc

4. PID回路输出转换为成比例的整数 程序执行后,PID回路输出0.0和1.0之间的标准化实数数值,必须被转换成16位成比例整数数值,才能驱动模拟输出。 PID回路输出成比例实数数值=(PID回路输出标准化实数值-偏移量)*取值范围。 程序如下: MOVR VD108, AC0 //将PID回路输出送入AC0。 -R 0.5, AC0 //双极数值减偏移量0.5 R 64000.0, AC0 //AC0的值*取值范围,变为成比例实数数值 ROUND AC0,AC0 //将实数四舍五入取整,变为32位整数 DTI AC0, AC0 //32位整数转换成16位整数 MOVW AC0, AQW0 //16位整数写入AQW0

5. PID指令 PID指令:使能有效时,根据回路参数表 (TBL)中的输入测量值、控制设定值及PID参数进行PID计算。格式如表6-16所示。 说明:连接文件夹\74.doc

2. PID控制回路选项 (2)如果不需要微分运算(即在PID计算中无“D”),则应将微分时间Td设定为0.0。 (3)如果不需要比例运算(即在PID计算中无“P”),但需要I或ID控制,则应将增益值Kc指定为0.0。因为Kc是计算积分和微分项公式中的系数,将循环增益设为0.0会导致在积分和微分项计算中使用的循环增益值为1.0。 (1)如果不需要积分回路(即在PID计算中无“I”),则应将积分时间Ti设为无限大。由于积分项Mx的初始值,虽然没有积分运算,积分项的数值也可能不为零。 在很多控制系统中,有时只采用一种或两种控制回路。例如,可能只要求比例控制回路或比例和积分控制回路。通过设置常量参数值选择所需的控制回路。

3. 回路输入量的转换和标准化 每个回路的给定值和过程变量都是实际数值,其大小、范围和工程单位可能不同。在PLC连接文件夹\75.doc

2. PID回路参数表 如表6-17连接文件夹\78.doc

4. PID回路输出转换为成比例的整数 程序执行后,PID回路输出0.0和1.0之间的标准化实数数值,必须被转换成16位成比例整数数值,才能驱动模拟输出。 PID回路输出成比例实数数值=(PID回路输出标准化实数值-偏移量)*取值范围 程序如下:连接文件夹\76.doc

5. PID指令 PID指令:使能有效时,根据回路参数表 (TBL)中的输入测量值、控制设定值及PID参数进行PID计算。格式如表6-16所示。 说明: 连接文件夹\77.doc

6.4.2 PID控制功能的应用

1. 控制任务 一恒压供水水箱,通过变频器驱动的水泵供水,维持水位在满水位的70%。过程变量PVn为水箱的水位(由水位检测计提供),设定值为70%,PID输出控制变频器,即控制水箱注水调速电机的转速。要求开机后,先手动控制电机,水位上升到70%时,转换到PID自动调节。

2. 程序分析 (1)I/O分配 手动/自动切换开关I0.0 模拟量输入AIW0 模拟量输出AQW0 (2)程序结构 由主程序,子程序,中断程序构成。主程序用来调用初始化子程序,子程序用来建立PID回路初始参数表和设置中断,由于定时采样,所以采用定时中断(中断事件号为10),设置周期时间和采样时间相同(0.1s),并写入SMB34。中断程序用于执行PID运算,I0.0=1时,执行PID运算,本例标准化时采用单极性(取值范围32000)。

3. 语句表程序 主程序 连接文件夹\79.doc

4. 梯形图程序 梯形图程序如图6-18。连接文件夹\80.doc

6.5 时钟指令 利用时钟指令可以实现调用系统实时时钟或根据需要设定时钟,这对控制系统运行的监视、运行记录及和实时时间有关的控制等十分方便。时钟指令有两条:读实时时钟和设定实时时钟。指令格式如表6-18。连接文件夹\81.doc 指令使用说明: 连接文件夹\82.doc

6.6 习题 1. 编写程序完成数据采集任务,要求每100ms采集一个数。 2. 编写一个输入/输出中断程序,要求实现: (1)从0到255的计数。 (2)当输入端I0.0为上升沿时,执行中断程序0,程序采用加计数。 (3)当输入端I0.0为下降沿时,执行中断程序1,程序采用减计数。 (4)计数脉冲为SM0.5。