读程序时,在程序中无法找到DI点,在“crossreferenCE”中看不到DI点,猜测可能被屏蔽了,把程序中的内容截图,请高手指点迷津。FC450内容:
AN#Freigabe//FreigabeBearbeitung
BEC
LP#0.0//Pointerformatf黵Quelleladen
L#Q_1//1.AdresseQuelle
SLD3//WandlungderAdresseindASPointerformat
+D
T#Pointer_Q//PointerQuell-Adresse
LP#0.0//Pointerformatf黵Maskeladen
L#M_1//1.AdresseMaske
SLD3
+D
T#Pointer_M//PointerMasken-Adresse
LP#0.0//Pointerformatf黵Zielladen
L#Z_1//1.AdresseZiel
SLD3
+D
T#Pointer_Z//PointerZiel-Adresse
L#Q_1//Schleifenz鋒lerinitialisieren
T#Adresse_Qn
L#DB_Maske//DBBit-Maskierung
T#Pointer_Maske
L#DB_Ausgabe//DBDatenausgabe
T#Pointer_Ausgabe
loop:L#Variable//Variablentypf黵Transfer
L‘E’//Bereich"Eing鋘ge"
==I
JCDE
TAK
L‘A’//Bereich"Ausg鋘ge"
==I
JCDA
TAK
L‘M’//Bereich"Merker"
==I
JCM
BEU
DE:LIB[#Pointer_Q]
JUcopy
DA:LQB[#Pointer_Q]
JUcopy
M:LMB[#Pointer_Q]
copy:OPNDB[#Pointer_Maske]
LDBB[#Pointer_M]//aktuelleMaske
XOW//ggf.Bit-InveRTierung
OPNDB[#Pointer_Ausgabe]
TDBB[#Pointer_Z]//aktuelleAusgabeadresse
L#Pointer_Q//PointerQuelle…
LP#1.0
+D
T#Pointer_Q//…inkrementieren
L#Pointer_M
LP#1.0//PointerMaske…
+D
T#Pointer_M//…inkrementieren
L#Pointer_Z
LP#1.0//PointerZiel…
+D
T#Pointer_Z//…inkrementieren
L#Adresse_Qn//Schleifenz鋒ler…
L1
+I
T#Adresse_Qn
L#Q_n
>I//…abfragen
BEC
JUloop//n鋍hSTeVariable
图片说明:
最佳答案
那些数字比如图片2的164,183应该是对应的DI,只是在符号表(symboltable里被重新定义了)
先看看符号表里如何定义的
提问者对于答案的评价:
程序中采用间接寻址,把di读到指定的db中
专家置评
关于间接寻址,可以参考下载中心的文档:
htTP://www.ad.siemens.com.cn/download/SearchResult.aspx