当前位置: 主页 > PLC控制

这段代码是什么意思啊?

我只知道这段代码大致意思是“把绝对值浮点数转换成标准的十进制数”,但是不知道具体是如何转换的,又无法转换成梯形图。所以请老师们尽可能的详细解释,谢谢。

ASs='html_titleimg_p' STyle='text-align:CEnter;'>DAb68e4b14878c0b501d1bbeb41e7b27

SET
SAVE
=L4.1
L#IN1
L0
==I
JCNM001
T#RET_VAL
AL4.1
SAVE
BEU
M001:L#IN0
L1.638400e+004
*R
L#IN1
ITD
DTR
/R
T#TEMP2
L-3.276800e+004
<R
JCNM002
L-32768
T#RET_VAL
AL4.1
SAVE
BEU
JUM003
M002:L#TEMP2
L3.276700e+004
>R
JCNM004
L32767
T#RET_VAL
AL4.1
SAVE
BEU
JUM003
M004:L#TEMP2
RND
T#RET_VAL
M003:CLR
AL4.1
SAVE
BE

最佳答案

SET
SAVE
=L4.1
L#IN1
L0
==I
JCNM001
T#RET_VAL
AL4.1
SAVE
BEU//以上程序判断#IN1变量是否为0,为0退出该子程序,不为
//0,则跳转到M001处
M001:L#IN0
L1.638400e+004
*R//#IN0输入的实数,可以直接乘以16384.0,结果存入累加器1
L#IN1//累加器1的数值传到累加器2,#IN1读入累加器1
ITD
DTR//累加器1中#IN1整数变双整数后再变为实数
/R//累加器2中的#IN0*16384.0的乘积除以累加器1中的#IN1(实数)
T#TEMP2//相除后的商存到#TEMP2
L-3.276800e+004
<R
JCNM002//#TEMP2中的结果和-32767.0比较,不小于跳转到M002
L-32768//小于32767.0的话,输出-32767.0并跳转到末尾的M003,结束
T#RET_VAL
AL4.1
SAVE
BEU
JUM003
M002:L#TEMP2
L3.276700e+004
>R
JCNM004
L32767//#TEMP2中结果和32767.0比较,小于32767.0跳转到M004
T#RET_VAL//#TEMP2中结果和32767.0比较,大于32767.0跳到M003结束
AL4.1
SAVE
BEU
JUM003
M004:L#TEMP2
RND//将#TEMP2中数据四舍五入,后送到返回参数中,接着执行
T#RET_VAL//M003,结束
M003:CLR
AL4.1
SAVE
BE

提问者对于答案的评价:
谢谢大师

  • 关注微信

猜你喜欢

微信公众号