AI小西
热门搜索
1847工业学习平台与电脑连接产品信息选型与电脑连接电机选型

签到有奖

  • 移动端入口

  • 工业服务小程序
  • 支持中心移动端首页
  • AI小西-AI智能问答助手
  • SIEMENS工业找答案小程序
  • 工业培训与认证
  • 西门子工业1847俱乐部
  • SIEMENS工业技术支持与服务
@CurrentUser.EmailCount@

消息提醒

登录 | 注册
@CurrentUser.NickName@
1847会员:未开通
VIP等级 @CurrentUser.vipLevel@
西币
@CurrentUser.coin@
  • 我的支持中心
  • 我的1847会员
  • 我的技术论坛
  • 我的找答案
  • 我的下载中心
  • 我的售后服务
  • 我的培训认证
  • 我发的帖子
  • 我跟的帖子
  • 我的论坛设置
  • 论坛用户指南
  • 我的下载中心
  • 我的培训认证
  • 我的提问
  • 我的回答
  • 已经帮助了@CurrentUser.allAnswercount@人我要回答
  • 已连续活跃@CurrentUser.allLoginDayCount@天我要提问
  • 首次回答问题获得双倍西币积分
  • 个人设置
  • 退出
  • 首页
  • 技术支持
    • 技术支持
    • AI小西
    • 风驰卡
    • 产品入门
    • 在线产品选型
  • 售后服务
    • 售后登记和质保查询
    • 备件商城
    • ASP工程师验证
    • ASP公司证书验证
    • 售后服务常见问题
  • 下载中心
    • 首页
    • 售前文档(样本、宣传册等)
    • 售后文档(FAQ、手册等)
  • 工业学习平台
    • 首页
    • 了解会员权益
    • 立即开通1847会员
  • 培训认证
    • 首页
    • 教室培训课
    • 取证训练营
    • 在线自学课
    • 认证证书查询
    • 培训伙伴验证
  • 技术论坛
    • 首页
    • 最新发帖
    • 精华帖
    • 发新帖
  • 找答案
    • 首页
    • 已解决问题
    • 精华常见问题
    • 发布新问题

自动化标准机型应用中心

官方商城

  • 西门子中国
  • 技术支持与服务首页
    我的支持中心
    下载中心首页
    全球技术资源
    1847工业学习平台
    产品入门新手必读
    找答案
    技术论坛
    售后服务
    网络资源新手必读
    高级搜索
  • 技术论坛
    论坛公告
    论坛使用指南
    最新发帖
    精华帖
    分享帖
    高赞帖
    热门帖
    高端推荐帖
    最高收藏帖
  • 自动化系统 / SIMATIC S7-1500系列
  • SIEMENS PLC中的AR2地址寄存器

技术论坛

 • 产品分类
自动化系统
  • SIMATIC S7-1500系列 
  • SIMATIC S7-1200系列 
  • SIMATIC S7-200
  • SIMATIC S7-200 SMART 
  • SIMATIC S7-300/400 
  • 通信与网络组件
  • Profinet技术开发专区
  • 工业边缘计算
  • SIMATIC WinCC / Panel 
  • SIMATIC WinCC OA (原PVSS)
  • DCS/SIMATIC PCS7
  • IPC/PG
  • LOGO!
  • 物联网(IOT)
  • 工业电源
驱动技术
  • SINAMICS 
  • SINAMICS S200 
  • 直流调速器
  • 电机
  • SIMOTION
  • MicroMaster
  • 驱动技术综合产品
  • MasterDrives 
  • DCMA 变频器健康管家 维护智库
数控系统
  • SINUMERIK 
  • SIMODRIVE
低压电气
  • 低压电气
  • 低压数字化
传感器与通讯
  • 过程仪表
  • 分析仪器
  • 工厂传感器
谈天说地
  • 谈天说地
 • 咱工程师的故事
咱工程师的故事
  • 网友专栏 
  • 工程师随笔
1847大咖专栏
  • 崔工谈博途与PLC
  • PROFINET工业通信详解
  • 冯工聊工业网络
  • 电磁兼容问题及处理
  • 大咖专栏合集
特别专题
  • 专家大讲堂课后探讨
  • 西门子工业1847俱乐部
  • 特别专题合集
 • 培训与认证答疑专区
培训与认证答疑专区
  • PLC编程精英训练营
  • MA 小型自动化系统
  • WinCC系统开发工程师精英训练营
  • V90精英训练营
  • WinCC精英训练营
  • S7-1200精英训练营
  • G120变频器精英训练营
  • S7-200SMART精英训练营
 • 服务合作伙伴专区
服务合作伙伴专区
  • FA合作伙伴共创社区
  • Networks and Communication
  • GMC蓝黄带考试-G120
  • GMC蓝黄带考试-V90
  • GMC 合作伙伴专区

SIEMENS PLC中的AR2地址寄存器

yang9188

西门子1847工业学习平台

  • 帖子

    44
  • 精华

    2
  • 被关注

    23

论坛等级:侠客

注册时间:2020-08-31

钻石 钻石 如何晋级?

SIEMENS PLC中的AR2地址寄存器

58

2

2026-01-12 09:40:38


前言

         在西门子系列的PLC中绝大多数都可以对AR2地址寄存器进行操作。绝大多数指S5系列PLC,S7-300/400/1500的PLC。当我们在用西门子PLC的STL语言编程中,很可能避不开AR2地址寄存器。当然现在有了SCL语言后,用STL语言进行编程的场景越来越少了。但是当我们看到已有的STL程序时也要做到心中有数。在STL语言中有一个难点:AR2地址寄存器。今天就和大伙说说这个AR2地址寄存器。



官方的文档

        在了解AR2之前,我们先看看官方的文档如何描述AR2。


        Two address registers are available for the indirect addressing of operands: address register 1 (AR1), and address register 2 (AR2). The address registers are equal and are 32 bits in length. You can store area-internal and cross-area pointers in the address registers. To define the address of an operand, you can call the stored data in the program.

        Data is exchanged between the registers and the other available memory areas with the assistance of load and transfer instructions.


        我简单翻译这段文字。


        可以通过2个地址寄存器间接寻址操作数,AR1和AR2。他们地位相同,并且是32位长度。可以存储区域内或者区域间指针。要定义操作数的地址,你可以调用程序中存储的数据。

        用load与transfer指令可以在地址寄存器与其他存储单元之间交换数据。

        

        这段文字有一句话是容易使人产生误解的。“2个地址寄存器地位相等。”这里面讲的地位相等特指在指令层面上地位相同。凡是AR1有的指令AR2都有,所以官方的说明才说地位相同。但是我可以负责任的讲,凡是熟悉STL语言的伙计们都知道这2个寄存器的地位肯定不是相同的。我们下文会探讨这个。

        


AR的常规用法

        本小节先探讨AR的常规用法。在这里我们用AR1举例。例子中用1500非优化块。在OB1中调用Block_2


图1.1

         Block_2的程序及监控结果,如下图,



图1.2


       本FB块的功能是将输入传递给输出。我们可以用前2行符号寻址完成这个功能。也可以用后3行完成这个功能。既然能用符号寻址完成的功能,为什么还要用后3行的间接寻址完成这个功能?这是因为本例子旨在让大伙对地址存储器有一个初步的认识。对于AR来讲,更深入的用法是地址寄存器配合ANY指针的用法,由于这不是本篇所重点探讨的内容,所以ANY配合地址寄存器的用法不在这里讨论。


        在图1.2中,


        第4行含义:将in所在的背景数据块偏移量传输给AR1,内容是P#DIX0.0。这有2个信息:1,指针指向背景数据块(DI);2,in存储在偏移量是0.0的地址中。


        第5行含义:取AR1所指向起始地址的16位数据的值,并将这个值放入到累加器1中。


        第6行含义:将累加器1中的内容放入到out中。


        通过这个例子,我们大致对AR的用法有了一个初步的了解。这种了解是下文的基础,所以不得不用一些篇幅探讨。



AR2的特殊性

        本小节是本篇的重点。前文述及AR2与AR1是不同的。本小节探讨AR2的专用性。


例2:


        我们把block_2放到另外一个FB:block_1中调用。block_1设置为非优化快,并在OB1中调用。


        在block_1中用多重背景数据作为block_2的背景数据,在这个多重背景数据块前面增加一个占用4字节的变量statDUMMY,如图2.1


图2.1

        我们发现图2.1的结果不对了,虽然block_2中的程序并未更改。监控block_2,得到下图



图2.2

        我们更改block_2中的内容如下


图2.3

        从图2.3结果看出来,我们需要的88又回来了。为了说明问题,我们在图2.3基础上增加一行不影响代码运行的代码。

图2.4


        我们详细解释一下图2.4中的代码。


        TAR2         //将AR2中的地址放入到累加器1。


        LAR2        //将累加器1中的内容赋值给AR2。为了看清AR2或者累加器1中内容,我们增加了这行。有了这行我们知道累加器1中的内容和AR2中的内容是P#DBX4.0,P#DBX4.0与16#8400_0020是相同的值,只是表示法不同。一个用指针表示,一个用16进制表示。


        这里是重点:当CPU调用FB块时,CPU会将数据块中有关该FB所占用的数据区的起始地址自动赋值给AR2。在BLOCK_1的背景数据块中,BLOCK_2的起始地址是4.0。这一点在图2.1中变量声明区就可以知晓了。


        +AR1        //将累加器1中的地址与AR1中的地址相加,相加的结果放入AR1。就得到DIX4.0


        L W [AR1 , P#0.0]        //取以DIX4.0为起始地址,长度16位的数据。


        通过这个例子我们可以理解AR2与AR1是不同的。AR2有特殊性



对AR2的操作原则

        在图2.4中,代码第5行的颜色是黄色。这是博图为了提醒我们而用的醒目的黄色。为什么提醒我们。因为这行代码修改了AR2中的内容。这是很危险的。


        在例子2中我们知道在FB运行之初AR2是系统自动赋值的,其内容是背景数据块中的偏移量。如果我们用代码手动更改了AR2中的内容,那么很可能会出现寻址错误。所以这里面有一个原则:在STL编程中,不要修改AR2中的内容。


        但是例子2中我们修改了似乎也没问题。这是因为在例子2中,我们把AR2中的内容放入到了ACC1,然后又把ACC1中的内容赋值给了AR2。本质上AR2中的内容并未发生改变。


小结

        本篇首先解释了西门子官方文件中对AR1和AR2的说明,尤其解释了AR1与AR2地位相同这句话的含义。


        再次本篇探讨了STL语言中AR1与AR2的不同,并知道AR2在调用FB中的重要作用。我们还知道在FB中不能轻易更改AR2的内容。


        本篇中以上探讨的这些内容在S5,S7-300/400/1500中特性是相同的。总结一句话,在以上这些CPU中当用STL语言给FB编程时,并且用AR2地址寄存器进行间接寻址时,这些类型的PLC特性相同。


        另外,如果在FB中用STL语言编程,并且更改了AR2的内容,并且用了符号寻址而不是间接寻址。300/400与1500中是略有不同的。1500修正了300/400中容易犯错的地方。由于300/400已经是上一个时代的产品了,所以本篇不再讨论。


        已经有2篇是精华帖。不知道这篇是否合大伙的胃口。


剩余80%未阅读, 请登录阅读

回帖加入探讨技术论坛守则

上传附件要求

1. 文件大小:上传文件的大小请限制在2M以内。

2. 文件格式:请不要上传.exe文件,系统支持的格式有:
.avi,.wmv,.mp3,.rar,.zip,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.wma,.asf,.txt,.7z

 
发分享帖
爱工控,乐分享,
分享您的经验与案例
发故事
发表您的精彩故事,
参与征文活动
技术探讨帖
阐述您的观点,
表达我的看法
西家杂谈
海侃天南地北,
闲聊工控世界
发求助帖
求道解惑,“刨根问底”
解决问题
发投票帖
邀投票,做调查,
网友帮您来作主
取消原因:
SIEMENS PLC中的AR2地址寄存器
编辑推荐: 关闭

请填写推广理由:

活动公告 查看全部公告>

2026共启We来,驰骋工控路,领跑新征程

1,841,699 条
海量精彩技术内容

100,000+ 网友与你交流

助你技有所长,论有所获

热门视频,猜你喜欢

本版热门话题

SIMATIC S7-1500系列

共有10795条技术帖

更多

评选标准

相关推荐

换一换

热门标签

换一换

相关帖子推荐

换一换
正在加载...
guzhang

恭喜,你发布的帖子

被评为精华帖!

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

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

  • 分享

  • 只看
    楼主

top
X 图片

下载中心

  • 首页
  • 查找文档
  • 常见问题大全
  • 精选主题
  • 全球技术资源

  • 首页
  • 知识库
  • 订阅文档

1847工业学习平台

  • 首页
  • 了解会员权益
  • 立即开通1847会员
  • 课程中心
  • 学习路线
  • 初级工程师认证
  • 高级工程师认证

培训与认证

  • 首页
  • 教室培训课
  • 取证训练营
  • 在线自学课
  • 认证证书查询
  • 培训伙伴验证

技术论坛

  • 首页
  • 发帖
  • 最新发帖
  • 精华帖
  • 高赞贴
  • 当前热门帖
  • 高端推荐帖
  • 用户荣誉榜

找答案

  • 首页
  • 提问
  • 精华问答
  • 高赞问答
  • 新解决问题
  • 待解决问题
  • 总积分排行榜

售后服务

  • 我要报修
  • 服务进度查询
  • 质保及权益查询
  • 备件商城
  • ASP工程师验证
  • ASP公司证书验证
  • 支持中心网站重要声明

西门子中国   © 西门子(中国)有限公司 1996 – 2026   企业信息    隐私政策   使用条款   京ICP备06054295号   京公网安备 11010502040638号
 
支持中心新发布“关注”功能了!实时查看彼此动态,更方便地进行技术交流。
不管是“关注”与“被关注”,相信都是一个美好的开始!
还有多重奖励派送,快快行动起来吧!

20秒帮我们优化支持中心!

欢迎您访问支持中心!

丰富的视频,全方位的文档,大量的网友交流精华……

为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!

感谢您的支持!

您收到0封站内信:
×
×
图片
立即
签到
已签到
已签到0天
累计可抽西币次数:0次抽奖机会
累计可抽惊喜实物奖次数:0次抽奖机会
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。