Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PTR to AI
#1
For the ACC65E board I can define a pointer to a digital input channel by:
PTR Input6->ACC65E[0].DataReg[0].5.1;

How to set up a pointer for a AI channel on the ACC59E3 board? Can I set it to be 0-10V (unipolar)?

Similarly, how to declare a pointer to a limit switch for the 24E2A?

Thanks
Reply
#2
Jeff,

I suspect you may not have the manuals for the ACC-59E3. For newer hardware containing the Gate3 chip (so products such as the Power Brick or Power Clipper, but also products like the ACC-24E3 or the ACC-59E3), we have them on the File Depot under Power PMAC -> Manuals -> Hardware Reference Manual. The specific manual for the 59E3 can be downloaded from here:

http://forums.deltatau.com/filedepot/dow...C-59E3.pdf

Pointers for the 59E3 change a bit depending on the addressing of the card and depending on whether it is the 12- or 16-bit version, however we have an explanation with examples on digital pages 16-17, numbered as 15-16 in the bottom right corner. Those examples assume that the 59E3 is at Index 0--if that is not the case, consult the chart on Page 13 digital/12 numbered to find the base address. In general, they take on the format of:

ptr ACC59E3_0_IN1->s.io:$900020.16.16; // First analog input from Gate3[0], 16-bit version, read as a signed value.

If you were to change the "s.io" to be "u.io", it would read the register as having unsigned data (that would roll over) instead of being signed data (that saturates). There is also "i.io", which would be signed data that rolls over.


As for the 24E2A, the various limits are broken out as individual bits of Gate1[i].Chan[j].Status, and can be accessed either by looking at their respective bits of that register or with Gate1[i].Chan[j].HomeFlag, .PlusLimit, .MinusLimit, and .UserFlag respectively. If you do not want to use the pre-made structures, you could use:

PTR PlusFlag->Gate3[i].Chan[j].PlusLimit
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)