Transcript 模拟量输入输出模块
第十一章 S7-200系列PLC 模拟量单元及PID指令 第一节 S7-200 EM235模拟量单元 模拟量模块有模拟量输入模块、模拟量输出模块、 模拟量输入输出模块。 1、 模拟量输入模块(A/D) 作用:PLC只能接收数字量信号,模拟量信号是一种连 续变化的物理量。为实现模拟量控制,必须先对模拟 量进行模/数(A/D)转换,将模拟信号转换成PLC所能 接受的数字信号。模拟量输入模块的功能就是实现模/ 数(A/D)转换。 组成 滤 波 A/D 光耦 电合 内电 部路 由滤波、模数转换A/D,光电耦合等部分组成 。 光电耦合器起防止电磁干扰的作用 。 对多通道的模拟量输入单元,通常设置多路转换开 关进行通道的切换,且在输出端设置信号寄存器。 使用及特性 一般先用信号变送器把它们变换成统一的标 准信号(如4-20mA的直流电流信号,1-5V的 直流电压信号等),然后再送入模拟量输入模 块。 模拟量输入模块(EM231)具有4个模拟量 输入通道。 模块上部共有12个端子,每3个点为一组,共4 组。 每组可作为一路模拟量的输入通道(电压信号 或电流信号),电压信号用两个端子(A+、A– ),电流信号用3个端子(RC,C+,C – ),其 中RC与C+端子短接。未用的输入通道应短接 (B+、B – )。 该模块需要直流24V供电(M、L+端)。可由 CPU模块的传感器电源24VDC/400mA供电,也 可由用户提供外部电源。右端分别是校准电位 器和配置DIP设定开关。 EM231的电压输入范围:单极性0~10V, 0~5V;双极性±5V,±2.5V 电流输入范围 :0~20mA 模拟量到数字量的最大转换时间 :250μs 每个通道占用存储器AI区域2个字节。该模 块模拟量的输入值为只读数据。 模拟量输入模块(EM231)的输入信号经 模数(A/D)转换后的数字量数据值是12位二 进制数。数据值的12位在CPU中存放格式如图 所示。最高有效位是符号位:0表示正值数据, 1表示负值数据。 ① 单极性数据格式(0~10V、0~5V) 2个字节的存储单元的低3位均为0,数据 值12位(单极性数据)是存放在第3~ 14位区 域。这12位数据的最大值应为215-8=32760。 单极性数据格式的全量程范围设置为0~32000。 差值32760-32000=760则用于偏置/增益,由系 统完成。由于第15位为0,表示是正值数据。 ② 双极性数据格式(±5V、±2.5V) 2个字节存储单元的低4位均为0,数据 值12位(双极性数据)是存放在第4~15位 区域。最高有效位是符号位,双极性数据 格式的全量程范围设置为–32000~+32000。 模拟量输入模块的分辨率通常以A/D转换 后的二进制数数字量的位数来表示(12/11 位)。 2、 模拟量输出模块(D/A) 模拟量输出模块由光电耦合器、数模转换 器D/A和信号驱动等环节组成。光电耦合器防 止电磁干扰。 内电 部路 光耦 电合 D/A 信驱 号动 1)外部接线图 左端起的每3个点为一组, 共二组。每组可作为一路模 拟量输出(电压或电流信 号)。 第一组V0端接电压负载、 I0端接电流负载,M0为公共 端。 第二组的接法与第一组 类同。 该模块需要直流24V供电。 输出信号的范围:电压输出为±10V,电流 输出为0~20mA。电压输出的设置时间为 100µs,电流输出的设置时间为2ms。每个 输出通道占用存储器AQ区域2个字节。用户 程序无法读取模拟量输出值。 PLC运算处理后的12位数字量信号(BIN数) 在CPU中存放格式如图所示。最高有效位是 符号位:0表示是正值,1表示是负值。 ① 电流输出数据格式 2个字节的存储单元的低3位均为0,数 据值12位数据是存放在第3~14位区域。电 流输出数据字格式为0~+32000。第15位为0, 表示是正值数据。 ②电压输出的数据格式 2个字节的存储单元的低4位均为0,数据值 的12位是存放在第4~15位区域。电压输出 数据格式为-32000~+32000。 模拟量输出模块的分辨率通常以D/A转换前 待转换的二进制数数字量的位数表示。 3、 模拟量输入输出模块(EM235) EM235具有4个模拟量输入通道、1个模拟量输出通 道。 模拟量输入功能同EM231模拟量输入模块,技术参数 基本相同 。 电压输入范围有所不同,单极性为0~10V、0~5V、 0~1V、0~500mV、0~100mV、0~50mV。双极性为 ±10V、±5V、±2.5V、±1V、±500mV、±250mv、 ±100mV、±50mV、±25mV。 该模块的模拟量输出功能同EM232模拟量输出模块。 技术参数也基本相同。 该模块需要直流24V供电。可由CPU模块的传感器电 源24VDC/400mA供电。也可由用户提供外部电源。 一、性能指标 二、校准及配置 下图为231及235的DIP配置开关的位置 • EM231的配置开关: •EM235的配置开关: • EM235配置开关的功能: • EM231的输入方框图: • EM235的输入方框图: • EM232、EM235的输出方框图: 三、输入/输出数据字格式 四、精度及重复性 精度反映仪表在某一测量点上,测量值与实际值的 偏差。而重复性则指在不改变输入信号,仪表每次 读数之间的差异。 四、EM235的安装使用及程序编制 EM235安装使用及编制程序的一般过程如下: ①根据输入信号的类型及变化范围设置DIP开关,完 成模块的配置工作,必要时进行校准工作。 ②完成硬件的接线工作。注意输入、输出信号的类 型不同,采用不同的接入方式。模块4个输入端的 信号在内部放大器前是叠加处理的,为防止空置 端对接线端的干扰,空置端应短接。接线还应注 意传感器的线路尽可能地短,且应使用屏蔽双绞 线,要保证24VDC传感器电源无噪声、稳定可靠。 ③确定模块安装入系统时的位置,并由安装位置确 定模块的编号。S7-200扩展单元安装时在主机的 右边依次排列,并从0开始编号。模块安装完毕后, 将模块自带的接线排插入扩展总线。 ④为在主机中进行输入模拟量转换后数字数据的处 理工作及输出需要在模拟量单元中转换为模拟量 的数字量,要在主机中安排一定的存储单元。一 般使用模拟量输入AIW及模拟量输出AQW单元安 排由模拟量模块送来的数字量及待送入模块的数 字量。而在主机的变量存储区V存放处理产生的 中间数据。扩展模块的编址方法见本书第六章本 地I/O和扩展I/O的寻址中的有关内容。 EM235的工作程序编制一般包含以下内容: 1、设置初始化子程序。在该子程序中完成采样次数 的预置及采样和单元清零的工作,为开始工作做 好准备。 2、设置模块检测子程序。该子程序检查模块的连接 正确性及模块工作的正确性。 3、设置子程序完成采样及相关的计算工作。 4、工程所需的有关该模拟量的处理程序。 5、处理后的模拟量的输出工作。 第二节 EM235模拟量控制应用实例 程序结构: 主程序: 子程序0-初始化 子程序1-模块检查 子程序2-采样虑波 子程序3-输出 第三节 PID调节及PID指令 一、PID调节方程式及在计算机中的应用 1、PID方程的离散化及改进 M (t ) Kc e K edt Kc de dt Minitial t c 0 n M n Kc en KI ei KD (en en1 ) M initial i 1 输出=比例项+积分项+微分项+初值 M n Kc en KI en MX KD (en en1 ) M n MPn MI n MDn 式中: MPn Kc (SPn PVn ) MI n Kc (TS TI ) (SPn PVn ) MX MDn Kc (TD TS ) ( PVn1 PVn ) MDn Kc (TD TS ) [(SPn PVn ) (SPn1 PVn1 )] MDn Kc (TD TS ) (SPn PVn SPn PVn1 ) 2、PID回路的类型及输入、输出量的标准化 M n MPn MI n MDn ⑴回路控制类型的选择 P、PI、PID、I、D ⑵回路输入的转换和标准化 必须将SP、PV转换为标准的浮点型实数。转换 步骤为: ①把16位整数值转换成浮点型实数值; 如: ITD AIW0,ACO DTR AC0,AC0 ②把实数进一步标准化为0.0~1.0之间的数; Rnorm Rraw span Offset 式中 Rnorm为标准化的实数; Rraw为没有标准化的实数值; Offset为调整值(单极性0.0,双极性0.5); Span为域值大小(单极性32000,双极性 64000)。 如:/R 64000.0,ACO +R 0.5,ACO MOVR AC0,VD100 ⑶回路输出转换成刻度整数值 与上面过程相反 如:MOVR VD108,AC0 -R 0.5,AC0 *R 64000.0,AC0 ROUND AC0,AC0 DTI AC0,LW0 MOVW LW0,AQW0 ⑷ 回路的正、反作用 回路增益Kc>0为正作用, Kc<0为反作用; Kc=0时的积分、微分控制,TI、TD >0为正作用, TI、TD < 0为反作用。 二、PID回路控制指令 进行PID运算的前提条件是逻辑堆栈栈项(TOS) 值必须为1。在程序中最多可以用8条PID指令。 PID回路指令不可重复使用同一个回路号(即使这 些指令的回路表不同),否则会产生不可预料的结 果。 PID指令 PID TBL:VB回路表的起始地址 LOOP:(0~7)回路号 EN ENO TBL LOOP PID TBL,LOOP PID指令的回路表: 若要以一定的采样频率进行PID运算,采样时间 必须输入到回路表中。且PID指令必须编入定时发生 的中断程序中,或者在主程序中由定时器控制PID指 令的执行频率。 编写PID控制程序应注意的几个问题: 1、变量和范围 PVn、SPn在回路表中只能被指令读取而不能被 修改。 Mn是PID运算产生的结果, 在每一次PID运算 完成之后,需要把新的输出值写入回路表,以供下 一次P1D运算。输出值被限定为0.0~1.0之间的实数。 当PID指令从手动方式切换到自动方式时,回路表中 的输出值可以用来初始化输出值。 如果使用积分控制,积分项前值要根据PID运 算结果更新。每次PID运算后更新了的积分项前值 要写入回路表,用作下一次PID运算的输入。当输 出值超过范围(大于1.0或小于0.0),那么积分项 前值必须根据下列公式进行调整: (Mn>0) MX 1.0 ( MPn MDn ) MX ( MPn MDn ) (Mn<0) 式中 MX是经过调整后的积分项前值; MPn是第n采样时刻的比例项; MDn是第n采样时刻的微分项。 修改回路表中积分项前值时,应保证MX的值 在0.0~1.0之间。调整积分项前值后使输出值回到 (0.0~1.0)范围,可以提高系统的响应性能。 2、控制方式 执行PID指令时为“自动”运行方式,不执行时 为“手动”方式。 PID指令有一个允许输入端(EN)。当该输入端检 测到一个正跳变(从0到1)信号,PID回路就从手动方 式无扰动地切换到自动方式。 2、控制方式 为了实现无扰动切换,在切换到自动方式前,必 须手动方式把当前输出值填入回路表中的Mn栏,用来 初始化输出值Mn ,且进行一系列的操作,对回路表 中的值进行组态: 置给定值(SPn)=过程变量(PVn) 置过程变量前值(PVn-1)=过程变量当前值 (PVn) 置积分项前值(MX)=输出值(Mn) 梯形图中,若PID指令的允许输入端(EN)直接接 至左母线,在启动CPU或CPU从STOP方式转换到RUN 方式时,PID位能位的默认值是l,可以执行PID指令, 但无正跳变信号,因而不能实现无扰动的切换。 3、报警与特殊操作 如果指令操作数超出范围,CPU会产生编译错 误,致使编译失败。PID指令不检查回路表中的值是 否在范围之内,必须确保过程变量、给定值、输出 值、积分项前值、过程变量前值在0.0到1.0之间。 如果PID运算发生错误,那么特殊存储器标志位 SM1.1(溢出或非法值)会被置1,并且中止PID指令的 执行。要想消除这种错误,单靠改变回路表中的输 出值是不够的,正确的方法是在执行PID运算之前, 改变引起运算错误的输入值,而不是更新输出值。 三、PID指令应用 某水箱需要维持一定的水位,该水箱里的水以 变化的速度流出。这就需要有一个水泵以变化的速 度给水箱供水以维持水位(满水位的75%)不变,这 样才能使水箱不断水。 分析: 本系统的给定值是水箱满水位的75%时的水位, 过程变量由水位测量仪提供。输出值是水泵的速度, 可以从允许最大位的0%变到100%。 给定值可以预先设定后直接输入到回路表中, 过程变量值是来自水位测量仪的单极性模拟量,回 路输出值也是一个单极性模拟量,用来控制水泵速 度。范围均为0.0~1.0,分辨率为1/32000。 本系统中选择比例和积分控制,其回路增益和 时间常数可以通过工程计算初步确定。还需要进一 步调整以达到最优控制效果。初步确定的回路增益 和时间常数为:Kc=0.25;Ts=0.1s;TI=30min; TD=0。 系统起动时关闭出水口,用手动方式控制水泵 速度使水位达到满水位的75%,然后打开出水口, 同时水泵控制从手动方式切换到自动方式。这种切 换可由一个手动开关(I0.0)控制。 0代表手动;1代表 自动。无扰动切换时系统把手动方式的当前输出值 Mn,即水泵速度(0.0~1.0之间的实数)填入回路表中 的此栏(VDl08)。 PID指令的编程方法总结如下: (1)采用主程序、子程序、中断程序的程序结构形式, 可优化程序结构,减少周期扫描时间。 (2)在子程序中,先进行组态编程的初始化工作,将5 个固定值的参数(SPn、Kc、Ts、TI、TD)填入回路 表。然后再设置定时中断,以便周期地执行PID指令。 (3)在中断程序中要做三件事。 第一,将由模拟量输入模块提供的过程变量PVn 转换成标准化的实数(0.0~1.0之间的实数)并填入 回路表。 第二,设置PID指令的无扰动切换的条件(例 I0.0),并执行PID指令。使系统由手动方式无扰动 地切换到自动方式,将参数Mn、SPn、PVn-1、MX先 后填入回路表,完成回路表的组态编程。从而实现周 期地执行PID指令。 第三,将PID运算输出的标难化实数值Mn先刻度 化,然后再转换成16位有符号整数(INT),最后送 至模拟量输出模块,以实现对外部设备的控制。 主程序 子 程 序 中断子程序: ?如何将235的数据采样与PID结合 第四节 数据运算类程序的编制 1、数据类型及长度 2、工程数据的规一化处理 3、存储器的安排及数据的传输 4、指令的功能及指令的选择 5、特殊标志位及指令对特殊标志位的影响 6、程序的结构