登录站点

用户名

密码

控制系统 - 嵌入式系统

  • 分享

    嵌入式PLC编程时使用变址功能的注意事项

    孙严军 2010-04-01 13:45

     

     

    、正确计算变址寄存器的取值范围

    变址寄存器理论取值范围:

    16bit-32768------+32767

    32bit-2147483648------+2147483647;作普通32bit数据寄存器使用。

    变址寄存器实际取值范围:

    16bit使用时,才有变址功能。

    VZ与其它资源组合,并修改其它资源编号时,实际取值不得突破所修饰资源的编号范围。否则,程序在运行过程中找不到资源而发生错误。

    如,指针变址P10Z(设Z=-3,则P10Z等同于P7),如程序无对应的指针标号(P7),程序不能定位到正确位置而导致错误。

    正确计算不同情况下变址寄存器的取值范围,避免取值不当而导致程序错误。

                         如,上例中指令ADD D100Z  D130Z     D170Z

    Z最小保证    D100Z=D0Z=-100    

    Z最大保证    D170Z=D5999Z=5829

                         如,程序中只有指针标号P0P3P66,则指令CJ P3Z中,Z只能取-30

    63三个值。Z取其它值时(Z=3),程序发生错误后,即使Z再取正确值

    Z=-3),     程序仍不能恢复。需重新STOPRUN或重新上电。

           、变址功能不能应用于基本顺控指令及步进阶梯指令STL中。

    如:基本指令 LD C1Z OUT C0Z

    步进指令STL S0Z

    都是错误地应用了变址寄存器。

    但在STL S0的状态步序中,可以应用功能指令编程,当然也可以使用变址组合访问。

           16bit计数器32bit 计数器不能作为同一组设备变址。

    16bit计数器变址编号组合值应在0----199范围内;

    32bit计数器变址编号组合值应在200-----255范围内。

    如果16bit计数器变址编号到32bit32bit计数器变址编号到16bit时,程序在运行过程中作越界处理,中止运行。

        C100ZZ取值应在-100-------+99范围。

    C233VV取值应在-33------+22范围。

           、变址寄存器本身不能变址。

                         MOV       K2        V0Z  不被梯形图认可。

           、位元件组合成字元件KnM0型的下标n不能变址。

                         MOV        K2         K1VM10 不被梯形图认可。

你还不是该群组正式成员,不能参与讨论。 现在就加入