uss指令应用

在USS-INIT指令中active怎样使用例:16#00000001表示什么意思?谢谢

问题补充:
一个USS-INIT指令是否可同时指定几个驱动,地址应是多少

最佳答案

USS_INIT 子程序的 Active 参数用来表示网络上哪些 USS 从站要被主站访问,即在主站的轮询表中激活。网络上作为 USS 从站的驱动装置每个都有不同的 USS 协议地址,主站要访问的驱动装置,其地址必须在主站的轮询表中激活。USS_INIT 指令只用一个 32 位长的双字来映射 USS 从站有效地址表,Active 的无符号整数值就是它在指令输入端的取值。

  例子如下:从站地址映射
  位号                MSB                                  LSB
                                            31 30 29 28 ... 03 02 01 00 
  对应从站地址         31 30 29 28 ... 3    2     1   0 
  从站激活标志          0    0   0   0 ... 0     0     0   1
  取16 进制无符号整数值     0    ....              1
  (2进制4位(0000-1111)->16进制1位(0-F),转换标准8421)
  Active =  16#00000001

  在这个 32 位的双字中,每一位的位号表示 USS 从站的地址号;要在网络中激活某地址号的驱动装置,则需要把相应位号的位置设为二进制“1",不需要激活 USS 从站,相应的位设置为”0"。最后对此双字取无符号整数就可以得出 Active 参数的取值。

  在上例,我们将使用站地址为0 的 MM 440 变频器,则须在位号为 00的位单元格中填入二进制“1"。其他不需要激活的地址 对应的位设置为”0"。取整数,计算出的 Active 值为 00000001 h,即 16#00000001。

 补充:一个USS-INIT指令是否可同时指定几个驱动,地址应是多少?
 可以,比如激活地址0,1两个从站:
  对应从站地址         31 30 29 28 ... 3    2     1   0 
  从站激活标志          0    0   0   0 ... 0     0     1   1
  取16 进制无符号整数值     0    ....              3
  (2进制4位(0000-1111)->16进制1位(0-F),转换标准8421)
  Active =  16#00000003

 再比如激活地址3,4两个从站:
  对应从站地址         31 30 29 28 ... 4  3    2     1   0 
  从站激活标志          0    0   0   0 ... 1  1     0     0   0
  取16 进制无符号整数值     0    ....          1    8
  (2进制4位(0000-1111)->16进制1位(0-F),转换标准8421)
  Active =  16#00000018

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

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

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

相关推荐

发表回复

登录后才能评论