模拟量输入输出模块

Download Report

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  en1 )  M initial
i 1
输出=比例项+积分项+微分项+初值
M n  Kc  en  KI  en  MX  KD  (en  en1 )
M n  MPn  MI n  MDn
式中:
MPn  Kc  (SPn  PVn )
MI n  Kc  (TS TI )  (SPn  PVn )  MX
MDn  Kc  (TD TS )  ( PVn1  PVn )
MDn  Kc  (TD TS ) [(SPn  PVn )  (SPn1  PVn1 )]
MDn  Kc  (TD TS )  (SPn  PVn  SPn  PVn1 )
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、程序的结构