回复:L 0.1是什么意思,是读取状态位吗?

dfdd

  • 帖子

    422
  • 精华

    0
  • 被关注

    37

论坛等级:侠圣

注册时间:2011-03-02

普通 普通 如何晋级?

发布于 2014-07-10 10:58:06

3楼

展开查看
以下是引用zhangli0在2014-07-09 16:42:29的发言 >1楼:SET
SAVE
= L 0.1//L0.1是临时变量(程序块中的temp中的绝对地址),地址是0.1。保存状态到L0.1中。
L #CP_dat_CLULubIntGrse
L 32767
= L 0.2//这个L0.2应该是笔误,不需要写在这里的,直接删除就可以了。或者前面有判断,判断后rlo保存到L0.2
>I
O L 0.2
JCN A7d9
楼上正解以下是完整的STL,不过还是有点不懂,为什么这样
SET
SAVE
= L 20.1
L #CP_dat_CLULubIntGrse
L 0
==I
L #CP_dat_CLULubIntGrse
L 32767
= L 20.2
>I
O L 20.2
JCN A7d0
L 1200
T #tmp_IntervTimeGrseLub
JU A7d1
A7d0: L #CP_dat_CLULubIntGrse
T #tmp_IntervTimeGrseLub
A7d1: CLR
A L 20.1
SAVE
BE
一下是SCL.上面的STL正是通过下面的转换过来的
IF (CP_dat_CLULubIntGrse = 0) // Interval Time = 0 Minutes
OR
(CP_dat_CLULubIntGrse > val_MaxIntervTimeGrseLub) // Interval Time > 32767 Minutes
THEN
tmp_IntervTimeGrseLub := val_DefTimeSliceGrseLub;
ELSE
tmp_IntervTimeGrseLub := CP_dat_CLULubIntGrse;
END_IF;
但是为什么他转换以后不是:

O(
L MW 10
L 32767
>=I
)
O(
L MW 10
L 0
==D
)
= L 0.0
A L 0.0
JNB _001
L MW 12
T MW 10
_001: NOP 0
A L 0.0
NOT
JNB _002
L MW 14
T MW 10
_002: NOP 0
他是怎么实现比较的呢,有点看不懂,最上面的STL语句,请赐教
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54715条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。