对于初识指针的朋友们,只看手册会一脸懵B,因为有很多东西无从理解,知识点也比较广泛。下面举个经典应用给大家,理解后会对指针的应用一目了然。
//Transferaddress
LValue_To_DB_Number_T
LSample_Address
//InitiateLAR1,theSample_Start_Adress
LAR1PSample_Start_Address
L256
-I
L2
/I
TCounter_1
L0
=I
JCC_2
+AR1PCounter_1
L1
-I
LCounter_2
C_2B:
LCounter_2
JUC_2B
//OpenDataBlock
Go:OPNDB[Alarm_Lamp_Temp
]
ITD
DTR
TValue_Sample
+2
R
JCNget
+0
]//取得量程上限
LDBD[AR2,PValue_Sample
*R
+4
/R
LDBD[AR2,]//取得修正值
+R
LDBD[AR2,PValue_Project
]//取得量程下限
=R
JCNLimU
LDBD[AR2,PValue_Project
JUPerc
LimU:]//取得量程上限
=R
JCNPerc
LDBD[AR2,PValue_Project
Perc:]//送往工程值
//新百分比
//=(工程值-量程下限)/(量程上限-量程上限)*100.0
LDBD[AR2,]//取得量程下限
-R
TSub_Limit
+0
==R
JCNPer
+0
TDBD[AR2,]//取得工程值
LDBD[AR2,PSub_Limit//取得量程上限下限差
/R
+2
*R
TValue_Percentage
+0
=R
JCPer1
]//送往百分比
JUJudg
Per1:+0
TDBD[AR2,]//取得报警信息
]//报警允许状态
JCAler
+0
TDBD[AR2,]//取得工程值
LDBD[AR2,]//置报警信息:-1
]//取得工程值
LDBD[AR2,]//置报警信息:1
]//清报警信息
//(0)-(0)不处理
//(0)-(0)置声音报警,请求消音
//(0)-(0)不处理
//(0)-(0)置声音报警
Al_D:SET
//(0)-(0)置声音报警,请求消音
A(
]//取得报警信息
+0
R
)
JCNAl_X
SAlarm_Message_Old
+0
R
)
A(
LDBD[AR2,PAlarm_Voice_Temp//置声音报警
//计算工程值下一路地址
Done:+
L2
LSample_Address
LSample__Address
=I
JCTop
//报警消音处理
CLR
OAlarm_Voice_Temp//输出声音报警
//报警输出
CLR
O%//或报警灯光输出
OAlarm_Voice_Temp
=%//得报警声音输出
BEU
//欢迎工控爱好者一起交流成长,该程序可直接使用,是用指针做的模拟量读取转存至DB块中,通知DB块的地址便宜多了一些上下限、报警等;





