设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子S7-200模拟量编程实例
返回列表
发新帖
[西门子]
西门子S7-200模拟量编程实例
[复制链接]
27851
|
0
|
2024-3-28 19:31:39
|
显示全部楼层
|
阅读模式
近期陆续推出PLC编程系列学习课程,有感兴趣的朋友敬请关注微信号:沂南工控,点击“阅读原文”查看历史,阅读已有的文章。
以西门子S7-200 EM235为例,进行模拟量编程。
EM235是最常用的模拟量输入/输出扩展模块,4路模拟量输入,1路模拟量输出,订单号为6ES7 235-0KD22-0XA0 ,EM235 CN 6ES7 235-0KD22-0XA8。
EM235扩展模块接线图如下:
对于电压信号,按正负直接接入X+和X-;对于电流信号,将RX和X+短接后,接入电流信号的“+”端;未接入传感器的通道要将X+和X-短接。(注:X是指A、B、C、D中之一)
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
EM235的常用技术参数:
下表说明如何用DIP开关设置EM235扩展模块,开关1到6可选择输入模拟量的单/双极性、增益和衰减。
由上表可知,DIP开关SW6决定模拟量输入的单双极性,当SW6为ON时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
根据上表6个DIP开关的功能进行排列组合,所有的输入设置如下表:
6个DIP开关决定了所有的输入设置。也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
输入校准:
模拟量输入模块使用前应进行输入校准。其实出厂前已经进行了输入校准,如果OFFSET和GAIN电位器已被重新调整,需要重新进行输入校准。其步骤如下:
a.切断模块电源,选择需要的输入范围。
b.接通CPU和模块电源,使模块稳定15分钟。
c.用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。
d.读取适当的输入通道在CPU中的测量值。
e.调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。
f.将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。
g.调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。
h.必要时,重复偏置和增益校准过程。
EM235输入数据字格式:
下图给出了12位数据值在CPU的模拟量输入字中的位置
EM232、EM235输出数据格式
可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。最高有效位是符号位,0表示正值。在单极性格式中,3个连续的0使得模拟量到数字量转换器(ADC)每变化1个单位,数据字则以8个单位变化。在双极性格式中,4个连续的0使得模拟量到数字量转换器每变化1个单位,数据字则以16为单位变化。
EM235输出数据字格式:
下图给出了12位数据值在CPU的模拟量输出字中的位置:
数字量到模拟量转换器(DAC)的12位读数在其输出格式中是左端对齐的,最高有效位是符号位,0表示正值。
模拟量扩展模块的寻址:
每个模拟量扩展模块,按扩展模块的先后顺序进行排序,其中,模拟量根据输入、输出不同分别排序。模拟量的数据格式为一个字长,所以地址必须从偶数字节开始。例如:AIW0,AIW2,AIW4……、AQW0,AQW2……。每个模拟量扩展模块至少占两个通道,即使第一个模块只有一个输出AQW0,第二个模块模拟量输出地址也应从AQW4开始寻址,以此类推。
下图演示了CPU224后面依次排列一个4输入/4输出数字量模块,一个8输入数字量模块,一个4模拟输入/1模拟输出模块,一个8输出数字量模块,一个4模拟输入/1模拟输出模块的寻址情况,其中,灰色通道不能使用。
模拟量值和A/D转换值的转换
假设模拟量的标准电信号是A0—Am(如:4—20mA),A/D转换后数值为D0—Dm(如:6400—32000),设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表示为数学方程:
A=(D-D0)×(Am-A0)/(Dm-D0)+A0。
根据该方程式,可以方便地根据D值计算出A值。将该方程式逆变换,得出函数关系D=f(A)可以表示为数学方程:
D=(A-A0)×(Dm-D0)/(Am-A0)+D0。
具体举一个实例,以S7-200和4—20mA为例,经A/D转换后,我们得到的数值是6400—32000,即A0=4,Am=20,D0=6400,Dm=32000,代入公式,得出:
A=(D-6400)×(20-4)/(32000-6400)+4
假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×16/25600+4=8mA。
又如,某温度传感器,-10—60℃与4—20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:
T=70×(AIW0-6400)/25600-10
可以用T 直接显示温度值。
模拟量值和A/D转换值的转换理解起来比较困难,该段多读几遍,结合所举例子,就会理解。为了让您方便地理解,我们再举一个例子:
某压力变送器,当压力达到满量程5MPa时,压力变送器的输出电流是20mA,AIW0的数值是32000。可见,每毫安对应的A/D值为32000/20,测得当压力为0.1MPa时,压力变送器的电流应为4mA,A/D值为(32000/20)×4=6400。由此得出,AIW0的数值转换为实际压力值(单位为KPa)的计算公式为:
VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100(单位:KPa)
编程实例:
本例CPU是CPU222,仅带一个模拟量扩展模块EM235,该模块的第一个通道带4~20mA变送输出的温度显示仪表,该仪表的量程设置为0~100°C,即0°C时输出4mA,100°C时输出20mA。温度显示仪表的铂电阻输入端接入一个220欧姆的可调电位器。
简单编程如下:
温度显示值=(ALW0-6400)/256
编译并运行程序,观察运行状态,VW30即为显示的温度值,对照仪表显示的温度值是否一致。
免责声明:本文系网络转载或改编,版权归原作者所有。如涉及版权,请联系删除!
涉及版权请联系sdlyghl@126.com 谢谢!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
菱机妙用
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』