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

计数器,定时器设定值设置方法有三种: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-200plc 选型

    现有一大型设备,分作三块来做,最大一块:输入I点115,输出Q点58点,我用226plc算了一下发现不能满足这么多点数,头次接触西门子,请师父们指点下CPU226是否可以满足上面的…

    2017年11月1日
  • SIMATIC S7200

    在S7200中通过向导创建了PID调节,进程设定点PID0-SP要求是在0.0—100.0之间。这个值是怎么进行转换的。比如我在触摸屏上设的压力控制点VD120为800mbar怎么…

    SIMATIC S7-200 2021年7月5日
  • 如何读取1秒钟编码器脉冲个数

    如何读取1秒钟编码器脉冲个数,程序和控制字节应该如何设置? 问题补充:不好意思 表达不清楚 应该是如何读取编码器每秒脉冲个数程序? 最佳答案 利用T32或T96…

    SIMATIC S7-200 2021年7月5日
  • 关于接近开关直流两线与PLC的接线

    现有一只接近开关为直流两线且共负极,要把它接入S7-200PLC的输入端时,是否可以接成共正极,即接近开关的负极接入输入点,正极接入正电源? 问题补充:我的意思是:直流两线的接近开…

    SIMATIC S7-200 2021年7月5日
  • S7 200Modbus功能码

    请问S7 200modbus的功能码(1,2,3,4,5,615,16)在modbus程序中怎样设置? 其测试软件在哪儿下载? 谢谢各位同仁!! 最佳…

    SIMATIC S7-200 2021年7月4日
  • MODBUS主站读取从站的困惑

    调用西门子自带的库文件,两台222CN进行modbus通讯,两台PLC之间互相读取输入,控制对方的输出,和读取从站模拟值都没有问题,可对从站写入和读取从站V区数据,没有成功,从站V…

    SIMATIC S7-200 2017年11月1日
  • 补充一下关于电缆制作问题

    OP编程电缆 西门子OP控制器编程电缆,3米,对应西门子产品号:6XV1 440-2KH32请问这个电缆可以接到电脑上与PLC上下载程序吗?如果不行,有什么办法…

    SIMATIC S7-200 2020年11月1日
  • Kepware 200PLC

    第一次用Kepware问题:1.Kepware通过以太网读取200PLC数据,在kepware中监控发现 当PLC数据更新变化后要差不多2分钟多才刷新,什么原因呢?如何设…

    2017年11月23日
  • MICROWIN 4.0通信设置刷新后出现的问题

    我用的是MICROWIN4.0 SP7,PLC的CPU是224的,电缆是USB,国产的,当设置好通信后,点刷新后担示错误是(你必须使用(RS-232/USB)PPI,多主…

    SIMATIC S7-200 2021年7月4日
  • S7200高速计数器清零

    我用CPU224XP的高速计数器来采集AB相正交脉冲,现在想在采集的过程中对高速计数器的当前值随时清零,想用中间继电器在上位机上实现,不知道怎么弄。不知道有没有会的? 最佳答案 见…

    SIMATIC S7-200 2017年11月12日

发表回复

登录后才能评论