西门子PLC中的数据如何寻址

 我来答
容昆别赞
2019-07-14 · TA获得超过3808个赞
知道大有可为答主
回答量:3049
采纳率:27%
帮助的人:235万
展开全部
1.直接寻址

S7系列PLC的编程指令支持直接寻址与间接寻址两种寻址方式。

直接寻址通过直接给出信号地址进行,它可以用于所有的编程元件(I、Q、M、SM、V、L、S、T、C、AC、HC等)。

[例8-5]利用直接寻址的方式,将标志存储器MB10的内容一次性在QB2上输出的程序如图8-4.1所示。
  图中的MOV
B在S7-200PLC中为字节移动指令,EN为启动条件,IN端为需要移动的数据地址,OUT端为移动目标位置地址,SMO.O为PLC内部的恒“1”信号。有关本指令的更具体说明可以详见PLC编程的有关章节。

2.间接寻址

S7-200的间接寻址方式中,操作数指定的是操作对象所存放的地址,而不具体指明操作对象。因此,间接寻址方式需要通过“地址指针”进行。

所谓“地址指针”是间接寻址时专门用来存储地址的寄存器。在S7-200
PLC中,建立地址指针应注意以下几点:

①只能用变量V、局部变量L或累加器AC1、AC2、AC3作为地址指针(ACO不可使用)。

②建立地址指针,必须用双字的形式将间接寻址需要的存储器地址移动到地址指针中;存储器地址前加符号“&”进行标记,“&”表明移动的只是址,而不是该存储器的具体内容。

③间接寻j时,应在地址指针的前面加“*”标记,表示该操作数为间接寻址的地址指针。

④允许利用地址指针访问的存储器为I、Q、V、M、S以及定时器T、计数器C的当前值,但模拟量输入/输出AI/AQ、高速计数器HC、特殊标志SM以局部变量L不能通过地址指针进行访问。(www.dqjsw.com.cn

⑤S7-200的间接寻址不可以用于二进制位信号、高速计数器HC、局部变量L,如不可以对I0.2、Q0.2、HC1、LW2等使用间接寻址。
  [例1]以AC1(累加器1)作为地址指针,将变量存储器VB200~VB203中4字节数据(12345678)移动到标志寄存器MBO~MB3中的程序如图8-4.2所示。

程序分为4段,第1段利用双字移动指令MOVD(在梯形图中的符号为MOV__
DW)将地址VB200移动到地址指针AC1中。

第2段利用字移动指令MOVW,将地址指针ACI中地址VB200所存储的内容(VB200、VB201中的值1234)移动到MWO。

第3段将地址指针中的地址加2(AC1的地址变为VB202)。

第4段将地址指针AC1中地址VB202中所存储的内容(VB202、VB203中的值5678)移动到MW2。

图中有关MOV指令的具体说明可以详见第10章10.4节的有关章节。

[例2]以LD10(局部变量10)作为指针,将由偏移量存储器VD1004所确定的变量存储器VW中的内容移动到VW1900的程序如图8-4.3所示。

程序分为3段,第l段利用双字移动指令MOVD(在梯形图中的符号为MOV
DW)将地址VBO移动到地址指针LD10中。

第2段将指针中的地址VBO加上偏移量存储器VD1004的内容(LD10的地址变为VBO+偏移量),确定移动目标。

第3段将指针LD10中地址“VBO+偏移量”中所存储的内容移动到VW1900。

本例中如果VD1004中的内容为1000,则变量存储器VW1000中的内容将被复制到VW
1900中;若改变VD1004中的内容为1100,则变量存储VW1100中的内容将被复制到VW1900中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光... 点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
濮筠京大
2019-04-07 · TA获得超过3751个赞
知道大有可为答主
回答量:3122
采纳率:26%
帮助的人:199万
展开全部
可以直接寻址,指令中直接给出操作数地址的寻址方式称为直接寻址。
在通常情况下,操作数存放在数据段中,所以,其物理地址将由数据段寄存器DS和指令中给出的有效地址直接形成,但如果使用段超越前缀,那么,操作数可存放在其它段。
寻址对象为内部数据存储器,在指令中以直接地址表示;
特殊功能寄存器SFR,在指令中用寄存器名称表示。
扩展资料
在直接寻址中,指令操作数字段中存放的是操作数的16位偏移地址EA,即操作数的偏移地址EA和操作码一起存放在代码段中,而操作数可以存放在数据段,也可以存放在其它段,操作数的物理地址由其所在段的寄存器内容左移4位与指令中给出的偏移地址EA相加形成。
物理地址PH=(DS)*10H+EA(Disp)EA可以用符号或数值表示。如果用数值表示EA则必须用括号括起来,而且是在方括号前应给出段寄存器名,直接寻址的操作数可以是字或字节。
如果没有特殊说明,直接寻址的操作数一般在内存的数据段中,即隐含的段寄存器是DS。但是8086/8088也允许段超越,即允许使用CS,SS,ES作为段寄存器,此时需要在指令中特别标明,方法是在有关操作数的前面协商寄存器的名字,再加上冒号。如:MOV
AX
EX
:[2000H]。
参考资料
百度百科--直接寻址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式