模拟量的整定

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PLC模拟量输入的整定(定标)和PLC模拟量输出的的整定(解标)
我们知道,对于模拟量的输入,PLC的模拟量模块在接受从现场设备中传来的模拟量信号(如4~20mA 信号或0~10V信号等)首先要经过定标,转化成相应的数字量(如:0~16383或0~27648等)才能为PLC 程序使用;同样,对于模拟量的输出,一般要把PLC处理后的值(如:0~16383或0~27648等)经过解标转换成实际的模拟量信号(如4~20mA信号或0~10V信号等),才能通过PLC输出模块输出为现场设备所使用!
擂台:请给出一个有输入整定(定标)和输出整定(解标)的例子!(做的简单项目和所做的仿真实验均可)。

要求详细说明在硬件的配置和参数设置并配有相关的截图。

回答的最好最全面者首先拿大奖!PLC品牌不限。

注:所谓定标就是把得来的(如4~20mA信号或0~10V信号等)模拟信号进行线性变换,使之转换为在一定范围内的数字量;解标为其相反过程。

具体的定标解表指令如:AB的PLC的SCP和SCL;西门子PLC 的FC105和FC106等等!
Piston
很有实际意义的题目,顶
引用| 回复
| 2011-04-30 18:12:59 2楼
学工倥
等待高手回答
引用| 回复
| 2011-04-30 22:58:11 3楼
3CWQZ
先占楼,有空把程序再发上来。

怎么不能贴图?难道还要区分网络?我现在是通过代理上的网。

引用| 回复
| 2011-05-05 20:51:11 4楼
彩云之滇东北
贴一个变频器转换的例子:
引用| 回复
| 2011-05-05 20:53:37 5楼
彩云之滇东北
先发了一次,没发上,重发一次变频器控制的上来:
引用| 回复
| 2011-05-06 17:21:23 6楼
老五123
模块实际上已经转化为数字量了啊。

要做的只是给数字量标定为工程量。

用专用指令也可以,用指令运算也可。

引用| 回复
| 2011-05-09 22:04:46 7楼
3CWQZ
补上图片。

硬件:
PLC:台达EH32000R2
模拟量模块:台达DVP-06XA-H2
传感器:输出4-20MA,温度范围0-300度
这个只是解标后的,因为模拟量模块已经把电流值转换为数字量了。

这个图的功能:可以支持多种量程的传感器,现场只需根据传感器实际量程值输入就行,也可以小范围的修改显示值。

引用| 回复
| 2011-05-09 22:31:41 8楼
3CWQZ
这个是PLC的程序,
引用| 回复
| 2011-05-09 22:36:05 9楼
3CWQZ
p 这个是模拟量模块的接线及说明图
引用| 回复
| 2011-05-10 11:01:18 10楼
彩虹
下面我以siemens plc 的模拟量量化为例:
下面是FC105子程序定义的变量
下面是FC106子程序定义的变量
引用| 回复
| 2011-05-10 11:41:40 11楼
自动化的初学者
10楼的让我受益匪浅,O(∩_∩)O~
引用| 回复
| 2011-05-10 12:03:20 12楼
lovechun
学习了阿
引用| 回复
| 2011-05-10 14:43:10 13楼
QQ流浪汉
这个问题,实际上是初中数学中的一个代数公式: Y=K*X+B在PLC编程中的应用。

K为变换系数,B为偏移量,XY为变换的源数据和结果。

只要能理解这一点,在PLC编程中就迎刃而解了。

假定一个案例,测量量为压力0-10MPA,,现场传感器为4-20mA,AD转换后为0-4000,计算结果需要显示成0.00-10.00MPA,则线性变换为:AD(0-4000)对应工程量结果0.00--10.00MPA,以PLC寄存器数据16位无符号数,则K=0.25(1/4),公式Y=X*1/4+0(K=1/4),B=0,对应输出计算也如此。

此题目为一个代数公式: Y=K*X+B在PLC编程中的应用,谁理解了,会用了,在用PLC处理模拟量的问题上就得心应手了。

除了上述基本计算方法外,我建议在采集4-20mA的时候,外部传感器仍为4-20mA电流信号,但在PLC 的AD转换时,按照0-20mA的方式转换,那时候就可以通过一个偏移量B来实现正确的线性变换,同时,也可通过PLC编程方式,实现传感器断线或故障判定。

具体方法大家来考虑好了,我在处理模拟量的时候常用这种方式来判断传感器故障。

编程时,对于小数的处理,请采用分数的方式来计算,先乘以分子,再除以分母,这样可减少计算误差。

如果分母不是常数,在除之前请先判定分母是否为0.乘结果一般是双字,除的时候不要忘了哦,不然有可能结果错误。

引用| 回复
| 2011-05-11 20:31:32 14楼
wyb2866255
楼上各位的方案写的都很好,在此学习了。

今天我提出一种新的实施方案,就是用自制模拟量输入与模拟量输出的模板,也可达到现有的PLC模拟量输入与模拟量输出模块的功能。

PLC模拟量输入模块与模拟量输出的模块价格是很贵的,甚至高于中小PLC的价格,而自制的模拟量输入模板与模拟量输出的模板是用集成块构成,成本价格仅在百元以下。

声明:我不想推广此种方法,只是介绍。

因为它有一定的难度,不适宜一般的PLC编程者,必须有很好的电子线路基础,并且懂得串行通讯的人,才可做到。

下面简单介绍一下:
模拟量输入模板,有二种形式:1、将4-20ma(或0-10V)模拟量转换为与之成正比的0-10KHZ频率脉冲。

将该脉冲输入给PLC高速计数口,PLC采用时间中断的方式,用等时间计数采样,再将采集的数
据按转换公式进行计算(与输入模块的计算类似),就可求出被测量。

2、将4-20ma(或0-10V)模拟量通过12位AD转换器(如AD574)转换为与之成正比的数字量,并按固定的时钟脉冲将其各位的数依次输出给PLC的普通输入口,PLC接受完,立刻将此数值按转换公式进行计算(与输入模块的计算类似),就可求出被测量。

模拟量输出模板:PLC将待传的数据,以200HZ左右的振荡频率以串行输出方式将数据的各位由最低位开始,依次输出给PLC的二个普通输出口(一个是振荡频率,一个是串行数据),模拟量输出模板接受到数据后,通过串入并出集成块将此数据写入到12位DA转换器(如DAC1210),就变为0-10V的模拟信号。

下面,我将0-10V(4-20ma也可)转换为0-10KZH 的模拟量输入模板的电路图贴上来,这个电路比较简单,容易看懂.
引用| 回复
| 2011-05-13 16:41:20 15楼
龙唐西门道
还是以日立S10V PLC来做说明吧
日立PLC的模拟量模块分为电压型和电流型,这个和其它PLC有点不一样。

一般的PLC都是可以既接电流又接电压输入的,然后通过软件组态来实现即可。

电压型AI
电流型AI
电压型Ao
电流型Ao
使用方法很简单,只要硬件安装完毕,然后在硬件上设置相应的拨码开关确定量程,那么输入输出的数字量就确定了。

最后在软件中指定寄存器地址,那么所指定的寄存器地址中收到的就是与量程想对应的数字量。

软件设置如下图:
使用起来很方便。

引用| 回复
| 2011-05-14 00:09:12 16楼
Tony1087.78
受益匪浅啊焕然大悟哎呵呵
引用| 回复
| 2011-05-14 09:55:55 17楼
welfare87
FC105是处理模拟量(1~5V、4~20MA等常规信号)输入的功能块
IN---------模拟量模块的输入通道地址,在硬件组态时分配;
HI_LIM---现场信号的最大量程值;
LO_LIM--现场信号的最小量程值;
BIPOLAR—极性设置,如果现场信号为+10V~-10V(有极性信号),则设置为1,如果现场信号为4MA~20MA(无极性信号);则设置为0;
OUT-------现场信号值(带工程量单位);信号类型是实数,所以要用MD200来存放;RET_VAL-FC105功能块的故障字,可存放在一个字里面。

如:MW50;
引用| 回复
| 2011-05-17 14:05:38 18楼
jy7898818
定义模拟量输入的整定(定标)FC105。

如下:
FC105功能块
SET
A #IN3
JC M001
L 0.000000e+000
T #TEMP6
JU M002
M001: L -2.764800e+004
T #TEMP6
M002: NOP 0
L 2.764800e+004
L #IN0
ITD
DTR
T #TEMP5
L #IN1
L #IN2
-R
T #TEMP8
L #TEMP5
L #TEMP6
>=R
JC M003
L 8
T #RET_VAL L #IN2
T #OUT4
JU M004
M003: POP L #TEMP7
<=R
JC M005
L 8
T #RET_VAL L #IN1
T #OUT4
JU M004
M005: NOP 0 NOP 0
L #TEMP7
L #TEMP6
-R
T #TEMP9
L #TEMP5
L #TEMP6
-R
L #TEMP9
/R
L #TEMP8
*R
L #IN2
+R
T #OUT4
L 0
SET
JU M006
M004: CLR
M006: SAVE
模拟量输出的的整定(解标)、FC106功能SET
A #IN3
JC M001
L 0.000000e+000
T #TEMP5
JU M002
M001: L -2.764800e+004
T #TEMP5
M002: NOP 0
L 2.764800e+004
T #TEMP6
L #IN1
L #IN2
-R
T #TEMP7
L #TEMP7
L 0.000000e+000
<R
JCN M003
L #IN0
L #IN1
>=R
JC M004
L 8
T #RET_VAL
L #TEMP5
JU M005
M004: NOP 0
POP
L #IN2
<=R
JC M006
L 8
T #RET_VAL
L #TEMP6
JU M005
M006: NOP 0
JU M007
M003: L #IN0
L #IN2
>=R
JC M008
L 8
T #RET_VAL
L #TEMP5
JU M005
M008: NOP 0 POP
L #IN1
<=R
JC M009
L 8
T #RET_VAL
L #TEMP6
JU M005
M009: NOP 0
M007: NOP 0
JU M010
M005: TRUNC
T #OUT4
JU M011
M010: L #TEMP6 L #TEMP5
-R
T #TEMP8
L #IN0
L #IN2
-R
L #TEMP7
/R
L #TEMP8
*R
L #TEMP5
+R
TRUNC
T #OUT4
L 0
T #RET_VAL SET
JU M012
M011: CLR
M012: SAVE
然后调用FC105、FC106功能块举例如下:
引用| 回复
| 2011-05-18 18:38:48 19楼
zjlyb5808
正在学习,谢谢,自己再不努力,就要被淘汰了,加油!
引用| 回复
| 2011-05-24 18:53:15 20楼
cqu_rockwell
cqu_rockwell
积分:26177
帖子:989
注册:10-06-30
[个人博客][个人播客]
[加为好友][发送消息]
模拟量输入信号的整定
本例用S7-200系列PLC模拟量I/O模块,主要有EM231模拟量4路输入,程序如下:
模拟输入量的转换及标准化
XORD AC0,AC0 //清累加器AC0
MOVW AIW0,AC0 //读模拟量存入AC0
LDW>= AC0,0 //若模拟量为正
JMP K0 / /则转到标号为K0的程序段进行直接转换
NOT //否则(即模拟量为负)
ORD 16#FFFF0000,AC0 //AC0中的符号处理
LBL K0
DTR AC0,AC0 //将32位整数格式转换为实数格式
/R 64000.0,AC0 //将AC0中的值标准化
+R 0.5,AC0 //将所得结果转移到范围[0.0,1.0]
MOVR AC0,VDl00 //将标准化结果存入PID运算数据存储区。

相关文档
最新文档