工控智汇

工控智汇

西门子S7-300/400指针经典使用

admin 58 138

对于初识指针的朋友们,只看手册会一脸懵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块的地址便宜多了一些上下限、报警等;