回复:多个加法运算怎么简化

已锁定

芳季

西门子1847工业学习平台

  • 帖子

    15511
  • 精华

    101
  • 被关注

    961

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2020-06-16 16:55:54

5楼

翻翻抽屉,找件东西给你参考参考。

SUBROUTINE_BLOCK 求和:SBR1

TITLE=

VAR_INPUT

起始位:WORD; // 这是个V区的偏移量

连续数:WORD;

模式:BYTE; // 0:字节;1:字;2:双字

END_VAR

VAR_OUTPUT

域和:DWORD; // 地址

END_VAR

VAR

过程数:DWORD;

首址:DWORD;

循环数:WORD;

END_VAR

BEGIN

Network 1 

LD     SM0.0

MOVW   16#0800, LW13

MOVW   LW0, LW15

MOVD   0, LD5

MOVD   0, LD9

Network 2 

LD     SM0.0

FOR    LW17, 1, LW2

Network 3 

LD     SM0.0

LPS

AN     L4.0

AN     L4.1

BTI    *LD13, LW11

AENO

ITD    LW11, LD9

LRD

A      L4.0

AN     L4.1

ITD    *LD13, LD9

LRD

AN     L4.0

A      L4.1

MOVD   *LD13, LD9

LRD

INCD   LD13

LRD

A      L4.0

INCD   LD13

LPP

A      L4.1

+D     3, LD13

Network 4 

LD     SM0.0

+D     LD9, LD5

Network 5 

NEXT

END_SUBROUTINE_BLOCK

导入马上就可以用了。你只是字求和,我的程序是用双字做总和的,不会有溢出问题。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8945条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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