View Single Post
Old July 21st, 2021, 02:33 PM   #5
drbitboy
Lifetime Supporting Member
United States

drbitboy is online now
 
drbitboy's Avatar
 
Join Date: Dec 2019
Location: Rochester, NY
Posts: 3,336
[@Steve Bailey please confirm this is correct; it is not my specialty but it seems to be an straightforward case of bookkeeping]

Sorry I did not look as deeply as I could have:
  • Create a new rung in A-B software
  • Click on the rung number on the left
  • Hit Enter
  • Type in either
    • COP R05001[R07003] R06000[0] 1
      • A-B Source (part 1) R05001 is analog to Fanuc SR
      • A-B Source (part 2) R07003 is zero-based analog to Fanuc one-based SNX
      • A-B Dest (part 1) R06000 is analog to Fanuc DS
      • A-B Dest (part 2) 0 is zero-based analog to Fanuc one-based DNX (1)
      • A-B Length 1 is analog to Fanuc N (1)
      • N.B. Assumes R05001 and R06000 are arrays of INTs, and R07003 is an INT tag
  • Or, as @Steve Bailey noticed ARRAY_MOVE is being used because indirect addressing is unavailable in Fanuc-land, type in
    • MOV R05001[R07003] R06000
      • N.B. Assumes R05001 is an array of INTs, and R07003 (zero-based) and R06000 are INT tags
      • N is ignored because it is 1 and implicit in MOV
  • Hit Enter again
  • N.B. R07003 will probably be zero-based in A-B
COP (or CPS) is the closest thing to ARRAY_MOVE; MOV also works in this particular case because Fanuc N is 1.


fanucab01.png

fanucab02.png
__________________
i) Take care of the bits, and the bytes will take care of themselves.
ii) There is no software problem that cannot be solved with another layer of indirection.
  Reply With Quote