在S7-200plc中。同样的一段模拟量数据采集程序,在子程序中采集数据正常,中断程序中采集异常,
彼此的寄存器与采样定时器是不一样的;没有重叠,想要此段程序在中断程序中正常运行,怎么更改,
求高手指点.,小弟在此先感激万分,程序代码如下(附带程序可以下载):
1主程序:
注释:
同样的一段模拟量数据采集程序,在子程序中采集数据正常,中断程序中采集异常, 彼此的寄存器与采样定时器是不一样的;没有重叠,想要此段程序在中断程序中正常运行,怎么更改,求高手指点.,小弟在此先感激万分。
// 1、调用子程序,并对数据进行滤波采集,方法有点笨,显示结果还算行.,因为数据采集较多所以想将子程序放在中断程序中,必要时进行中断数据采集处理.故而有了下面一段调用中断程序...
LD SM0.0
CALL SBR0
Network 2
// 调用中断程序前先进行必要的处理(初始化)
LD SM0.0
CALL SBR1
Network 3
LD SM0.0
END
2子程序
采样次数与采样时间已在数据块中设置;预设采样时间为100MS
// 采样次数为 5次;
Network 1
LD SM0.1
R T32, 1
MOVW 120, VW886
MOVW 3, VW880
Network 2 // 网络标题
// 采样时间设定(数据块中已设为100ms)
//
LD SM0.0
LPS
MOVW AIW0, AC1
MOVW AC1, VW896
-I VW884, VW896
AN T32
TON T32, VW886
LRD
A T32
EU
ITD AC1, AC1
+D AC1, VD628
+I 1, VW892
LPP
MOVD VD628, VD628
ITD VW892, VD600
Network 3
// 计算均值:当差值大于+320或小于-320时,不执行平均采样滤波处理,直接将采样值输入均值寄存器VD240当差值在+320与-320之间时,执行平均采样滤波处理.并输出均值存在在VD240中。
LD SM0.0
LPS
LDW< VW896, +320
OW> VW896, -320
AW>= VW892, VW880
ALD
MOVD VD628, VD240
/D VD600, VD240
MOVW 0, VW892
MOVD 0, VD628
LPP
LPS
AW> VW896, +320
MOVD AC1, VD240
LRD
AW< VW896, -320
MOVD AC1, VD240
LRD
DTI VD240, VW884
LRD
MOVD VD240, VD608
LRD
AD> VD608, +32000
MOVD +32000, VD608
LPP
AD< VD608, +0
MOVD +0, VD608
Network 4
LD SM0.0
CRET
3、调用初始化
Network 1
LD SM0.1
MOVB 200, SMB34
ATCH INT0, 10
ENI
Network 2
LD SM0.0
CRET
4、中断程序
TITLE=
Network 1
LD SM0.1
R T98, 1
MOVW 100, VW256
MOVW 4, VW260
Network 2 // 网络标题
LD SM0.0
LPS
MOVW AIW0, AC2
MOVW AC2, VW304
-I VW300, VW304
AN T98
TON T98, VW256
LRD
A T98
EU
ITD AC2, AC2
+D AC2, VD352
+I 1, VW342
LPP
MOVD VD352, VD352
ITD VW342, VD360
Network 3
LD SM0.0
LPS
LDW< VW304, +320
OW> VW304, -320
AW>= VW342, VW260
ALD
MOVD VD352, VD332
/D VD360, VD332
MOVW 0, VW342
MOVD 0, VD352
LPP
LPS
AW> VW304, +320
MOVD AC2, VD332
LRD
AW< VW304, -320
MOVD AC2, VD332
LRD
DTI VD332, VW300
LRD
MOVD VD332, VD322
LRD
AD> VD322, +32000
MOVD +32000, VD322
LPP
AD< VD322, +6400
MOVD +6400, VD322
Network 4
LD SM0.0
CRETI
5、符号表 地址列表:
ZL_CY AIW0
ZL_CLN3 VD608
ZL_CLNV1 VD628
ZL_CLN4 VW880
ZL_CLN2 VW884
ZL_CLN1 VW892
ZL_CLN6 VW896
LL_CLZC15 VD240
ZL_CLN5 VW886
VW256
VW260
VW300
VW304
VD308
VD312
VD322
VD332
VW342
VD352
VD360
6、数据库数据
VW256 120 //采样时间
VW260 3 //采样次数