回复:非法放置边沿或NOT

已锁定

yanxiao

版主

  • 帖子

    12148
  • 精华

    46
  • 被关注

    183

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2023-02-13 13:12:17

20楼

下面是刚刚的实验情况:


I1.0分两次读取使用,编译通过,没有问题。

转成STL如下:

LD     Always_On:SM0.0

=      L60.0

LD     I1.0                        // 第一次读取

A      I0.0

=      L63.7

LD     I1.0                        // 第二次读取

A      I0.1

=      L63.6

LD     I0.2

=      L63.5

LD     I0.3

=      L63.4

LD     L60.0

CALL   SBR_0:SBR0, L63.7, L63.6, L63.5, L63.4



但是,下面这一段,编译通不过:

程序段 1:错误 47: 程序段无效,或者程序段过于复杂,无法编译.

其实,逻辑意义非常清楚,就是,I1.0读取一次,两次使用。

编译通不过,无法直接转成STL。

手工转换成以下等效的程序:

LD     Always_On:SM0.0

=      L60.0

LD     I1.0                        // 第一次读取

LPS                                 // 压栈,以备二次使用

A      I0.0

=      L63.7

LPP                                // I1.0出栈

A     I1.0                        // 第二次使用

A      I0.1

=      L63.6

LD     I0.2

=      L63.5

LD     I0.3

=      L63.4

LD     L60.0

CALL   SBR_0:SBR0, L63.7, L63.6, L63.5, L63.4


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8945条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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