关于PLC中寄存器的地址问题-PLC技术网(www.plcjs.com)-可编程控制器技术门户


关于PLC中寄存器的地址问题

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2006-8-30 23:50:34     来源:   作者: 点击:
点击【 大  中  小 】, 可 以 选 择 字 体的大小,以便 你 阅读.
   我想把一个16进制的数16#A0存到VB100中,然后把它的地址给VD200,在把VD200中的数给VD300
  我是用MOVB 16#A0 VB100
   MOVD &VB100 VD200
   MOVD *VD200 VD300
  但是为什么VD300中存的数不是16#A0,而是一个很奇怪的数呢?
  请大家告诉我为什么还有如何才能实现我的要求那   
匿名回复:
     老兄,不用加前面的那个东东,就可以了!用16进制监视再看看吧
匿名回复:
    你要用B_I再用I_D
匿名回复:
    数据类型不一致
匿名回复:
    那应该怎么写呢?关注中~~`
匿名回复:
    上述运算后vb300中的数是16#A0,由于VD300中字节的排列由高到低是VB300,VB301,VB302,VB303,所以VD300中的数是16#A0000000,作为带符号10进制整数则为-1610612736。
匿名回复:
    你是用指针做的,所以你监控肯定看不到所谓的16#A0,而是跟楼上说的那样的
匿名回复:
    automatic_man:
   我不是很明白,指针只是指的vb200, 执行这条语句以后MOVD *VD200 VD300 ,应该是vb200值给了vb300,vb201值给了vb301,vb202值给了vb302,vb203值给了vb303,那vb201,vb202,vb203中的数值不一定是16#00,所以结果不一定是16#A0000000吧,我不知道这样说对不对?
  
匿名回复:
    谢谢大家,现在再看我当时怎么会问那么弱智的问题
匿名回复:
    先变整形然后再变成双整
上一篇: 语句表中的缩写
下一: PLC中浮点数的问题