请教关于计数器,定时器设定值的相关问题

计数器,定时器设定值设置方法有三种:1常数直接设置2寄存器间接设定3用指针(*VD,*LD,*AC)间接设定。我想请教指针间接设定的用法,哪些地方要用到这个?请举例

最佳答案

用指针对S7--200存储区间接寻址:
 间接寻址是指用指针来访问存储区数据。指针以双字的形式存储其它存储区的地址。只能用V存储
 器、L存储器或者累加器寄存器(AC1、AC2、AC3)作为指针。要建立一个指针,必须以双字的形
 式,将需要间接寻址的存储器地址移动到指针中。指针也可以作为参数传递到子程序中。
 S7--200允许指针访问以下存储区: I、Q、V、M、S、AI、AQ、SMT(仅限于当前值)和C(仅限
 于当前值)。您无法用间接寻址的方式访问单独的位,也不能访问HC或者L存储区。
 要使用间接寻址,您应该用“&”符号加上要访问的存储区地址来建立一个指针。指令的输入操作数
 应该以“&”符号开头来表明是存储区的地址,而不是其内容将移动到指令的输出操作数(指针)
 中。
 当指令中的操作数是指针时,应该在操作数前面加上“*”号。如图4--11所示,输入*AC1指定AC1
 是一个指针,MOVW指令决定了指针指向的是一个字长的数据。在本例中,存储在VB200和VB201
 中的数值被移动到累加器AC0中。
 按照所访问的数据长度使用不同的指令:当访问字节时,使用增加指令使指针值加1;当访问字或
 者计数器、定时器的当前值时,用加法或者增加指令使指针值加2;当访问双字时,使用加法或者
 增加指令使指针值加4。
 本例中用LD10作为VB0的地址指针。然后可以利用VD1004中存储的地址偏移量来改变指针值。经过改变后,LD10指向
 V区中的另外一个地址(VB0+偏移量)。然后将LD10指向的V区地址中存储的数值复制到VB1900中。通过改变
 VD1004中的数值,您可以访问V存储器中的任意单元
 Network1 /如何利用偏移量访问
 //V存储器中的任意单元:
 //
 //1. 将V区的起始地址装载到指针中。
 //2. 将偏移量加到指针上。
 //3. 将V存储器中的数值复制到
 //VB1900中。
 //
 LD SM0.0
 MOVD &VB0, LD10
 +D VD1004, LD10
 MOVB *LD10, VB1900

 用指针访问数据表的例子程序
 本例中用LD14作为指向一个配方表的指针,配方表的起始地址为VB100。在本例中VW1008用来存储一个指定的配方在
 表中的索引号。如果每条配方的长度为50个字节,则用这个索引号乘以50就可以得到这条配方起始地址的偏移量。用指
 针加上偏移量,您就可以访问表中的每一条配方。在本例中,配方被复制到从VB1500开始的50个字节中。
 Network1 //如何从配方表中传递一条配方:
 // -- 每条配方的长度为50个字节。
 // -- 索引值(VW1008)指定装载哪一条配方。
 //
 //1. 建立一个指针指向配方表的起始地址。
 //2. 将配方的索引值转换为双字。
 //3. 乘以每条配方的长度算出偏移量。
 //4. 将偏移量加到指针上。
 //5. 将配方传递至VB1500到VB1549中。
 LD SM0.0
 MOVD &VB100, LD14
 ITD VW1008, LD18
 *D +50, LD18
 +D LD18, LD14
 BMB *LD14, VB1500, 50

提问者对于答案的评价:
OK

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc356796.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午9:34
下一篇 2021年7月5日 上午9:35

相关推荐

  • s7-226的负载能力

    一台CPU226,想要带7个modbus从站,再用一个串口带3台人机界面,能不能实现?对响应速度没有要求。本身的程序量并不大,计算工作都是由S7-300的PLC来完成,再通过PRO…

    SIMATIC S7-200 2020年10月31日
  • S7200如何使用脉冲定时器?

    在S7200中如何在SIMATIC LAD模式中使用脉冲定时器,由于是用SIMATIC LAD模式编的,用IEC模式打不开??? 最佳答案 SM0.4&nbsp…

    SIMATIC S7-200 2021年7月5日
  • 关于MODBUS主站与从站之间的不解之处!

    我用S7200 CPU224XP做modbus主站,自己开发的3块输出接口板做modbus从站(从站,站号分别为1,2,.3). 请问我在S7200程序里怎么读…

    SIMATIC S7-200 2021年7月5日
  • s7200 plc通过MODBUS采集流量计参数

    s7200 plc通过modbus采集流量计参数,报101故障,什么原因?通讯参数设置没有问题,最有可能是addr地址有错误。之前用过一台西门子的仪表也是同样的设置,可正…

    2017年11月4日
  • 两个PLC通信

    各们前辈    两个S7200PLC自由口通信 程序怎样做  能否介绍一下 谢谢 最佳答案 相关资料…

    SIMATIC S7-200 2020年11月1日
  • 压差开关QBM81-5

    QBM81-5可调压差是50-500Pa,单侧过载5000Pa。请问比如设置动作点为200Pa,实际检测最大为700+Pa时,反馈信号正常吗? 最佳答案 理论正常,但是处于临界点了…

    SIMATIC S7-200 2021年7月5日
  • 编程电缆九针口脱落不知如何修理,

    S7-200原装USB编程电缆,九针口损坏,想自己买个九针串口焊上去。但不知如何对应,请哪位大侠帮忙发个原装USB九针口电缆接线图,七百来元钱一根线,就一个九针口损坏就废弃了心疼啊…

    2020年10月31日
  • 西门子200与300MPI通讯

    现在有一个西门子315-2dp和两台(多台)224xp,想让他们之间进行MPI通讯,把315的MPI口和两台(多台)224的0口用dp线连接进行mpi通讯,我想知道两台(多台)22…

    SIMATIC S7-200 2017年8月26日
  • PLC怎么判断编码器故障

    PLC怎么判断编码器故障 问题补充:我是指在正常运行中,当突然出现编码器故障,PLC监测到后在上位机显示 最佳答案 我猜你是知道要做什么的,只是你觉得好像都很繁复,不想做,想问问简…

    SIMATIC S7-200 2021年7月5日
  • S7-200的多通信口,多协议的通信如何实现?

    我们的项目中用到了很多不同类型的传感器,而且都是需要进行通讯控制的,如何将它们组合在一起,并保证通信互补干扰。基本情况描述:CPU 224XP CN …

    SIMATIC S7-200 2017年11月16日

发表回复

登录后才能评论