PDJ Posted February 9, 2012 Posted February 9, 2012 I am using the ACC 72E - Option 3 - DeviceNet Master on the UMAC (Turbo PMAC 2 CPU) controller. It is set for base address $6D000. I am interested in monitoring the Diagnostic Flags (bGlobalBits, bDNM_State, bErrDevAdr) but I am not sure how to map them and how to reasonably monitor them in the UMAC program. Any help you give would be appreciated.
PDJ Posted February 9, 2012 Author Posted February 9, 2012 I think my DPR starts at $60000. Maybe this is pertinent.
Omron Forums Support Posted February 10, 2012 Posted February 10, 2012 Referring to page 37 of the ACC-72E manual, we can see the memory offsets of these flags from the base address of the card in Turbo PMAC: Variable Size Offset Description bGlobalBits 1 byte 1F40H Global error bits bDNM_State 1 byte 1F41H Main state of the master system bErrDevAdr 1 byte 1F42H Faulty remote address As with any data on ACC-72E, in order to read and write to these registers, define an M-variable that points to the upper 8 bits in memory with an offset from the base address that is configured with SW1. So, first, add the base offset ($6D000 for your card, right?) to these values: Variable Absolute Address M-Variable Definition bGlobalBits $6D000 + $1F40 M5000->X:$6EF40,16,8,U bDNM_State $6D000 + $1F41 M5001->X:$6EF41,16,8,U bErrDevAdr $6D000 + $1F42 M5002->X:$6EF42,16,8,U Unfortunately, the manual is not clear whether this is in X or Y memory. What I have given above points to X. If it is in fact in Y memory, your M-Variables would look like: Variable Absolute Address M-Variable Definition bGlobalBits $6D000 + $1F40 M5000->Y:$6EF40,16,8,U bDNM_State $6D000 + $1F41 M5001->Y:$6EF41,16,8,U bErrDevAdr $6D000 + $1F42 M5002->Y:$6EF42,16,8,U As I do not have the hardware in front of me to test this, please let me know whether that solves your problem.
PDJ Posted February 16, 2012 Author Posted February 16, 2012 Charles: I guess I was confused as to whether the offset applied to the ACC72E base memory location ($6D000) or to the DPR base memory location ($60000). You were correct - it is the $6D000. There is one other fine point that a coworker reminded of - and this is true of all DeviceNet device mapping on the ACC72E. Since the Pmac uses both X and Y memory addresses, you need to divide the offset by 2 and alternate between the Y and X memory. Variable: bGlobalBits Absolute Address: $6D000 + ($1F40)/2 M-Variable Definition: M5000->Y:$6DFA0,16,8,U Variable: bDNM_State Absolute Address: $6D000 + ($1F41)/2 M-Variable Definition: M5001->X:$6DFA0,16,8,U Variable: bErrDevAdr Absolute Address: $6D000 + ($1F42)/2 M-Variable Definition: M5002->Y:$6DFA1,16,8,U This works.
Omron Forums Support Posted February 20, 2012 Posted February 20, 2012 Very good! I had not realized that. Thanks for your insight on that and I am glad it is working for you.
Recommended Posts