发表于:2004-03-25 12:44:00
楼主
最近接了一个活,是对一个模拟量进行监控的活,我是新接触S7的小虾,大家看我的程序为什么会出错?
用的314IFM的CPU,集成模拟量,接模拟量0-10V至PIW128和PIW130端,然后用了FC55标定模拟量的块来标定模拟量。具体步骤是建了一个块FB11和一个DB块DB100,在DB100里建了一个ARRAY[-32768..-32673],类型为BYTE,从0.0到96.0。
然后在FB11里写程序
CALL FC55
IN :=PIW128
HI_LIM :=1.000000e+001
LO_LIM :=0.000000e+000
BIPOLAR:=FALSE
RET_VAL:=MW80
OUT :=DB100.DBD0
CALL FC55
IN :=PIW130
HI_LIM :=1.000000e+001
LO_LIM :=0.000000e+000
BIPOLAR:=FALSE
RET_VAL:=MW88
OUT :=DB100.DBD4
程序可以通过编译,也可以下到PLC里,但是一在线(DISPLAY ACCESSIBLE NODES)看FB11或者从PLC里上传至PC,打开FB11时就出现there is a time stamp conflict with at least one block call 故障信息 30:13
然后程序就变成了
Call
BLD 1
= L 4.0
TAR2 LD 0
L L#1092616192
T LD 5
L L#0
T LD 9
CLR
= L 4.1
UC FC 55
P#P 128.0
P#L 5.0
P#L 9.0
P#L 4.1
P#M 80.0
P#L 13.0
LAR2 LD 0
L LD 13
AUF DB 100
T DBD 0
BLD 2
End Call
Call
BLD 1
= L 4.0
TAR2 LD 0
L L#1092616192
T LD 5
L L#0
T LD 9
CLR
= L 4.1
UC FC 55
P#P 130.0
P#L 5.0
P#L 9.0
P#L 4.1
P#M 88.0
P#L 13.0
LAR2 LD 0
L LD 13
AUF DB 100
T DBD 4
BLD 2
End Call
其中CALL和END CALL是红色的,说是编译错误
重新调用FC55,在线重新写程序也不行,S7的帮助的解决方法都不行。
谢谢帮助!!!!!!!!!!!!!!