Tuesday, May 27, 2014

ADAM - 4017 Arduino Gateway

ADAM-4017

The manual "ADAM-4000_manual_V20.pdf" can be downloaded from the following site.
http://support.advantech.com.tw/support/DownloadSRDetail_New.aspx?SR_ID=1%2BGE%2B715&Doc_Source=Download

Use INIT* as GND and set RS-485 Address as "00". Unlike ADAM-4050, settings need to be modified.

Configuration Command

%AANNTTCCFF(cr) ( refer to manual page 150 )
  • AA: "00" current RS-485 address.
  • NN: "02" new address for RS-485. You can set it to anything. I used "02" because I used "01" for ADAM-4050
  • TT: "08" input range. ( refer to manual page 152 ). ±10V, for now I used maximum.
  • CC: "06" 9600 bps ( refer to manual page 152 ).
  • FF: "00" ( refer to manual page 152 ).
    • <b7> 0: 60 Hz
    • <b6> 0: Checksum Disable
    • <b5 b4 b3 b2> 0000
    • <b1 b0> 10: ( refer to manual page 387 ).
      Receives the 12 bit AD read value in binary format.
      It becomes 3 byte HEX-ASCII.
      However, ADAM-4050 does not support this, thus ?01(cr) will be returned.
    • <b1 b0> 00: If you set it to 00, you receive voltage value within the input range.
      If the input range is equal to ±10V, it returns values between -10.000 - +10.000, which is very nice.

Analog Input

#AAN(cr) ( refer to manual page 161 )
  • AA: "00" RS-485 address
  • N: "0" channel 0 - 7. We are using 0.
Response
>HHH(cr)
  • HHH: It returns 3 byte HEX-ASCII. "000" - "FFF"
    ADAM-4050 does not support this.
OR

>+dd.ddd(cr)
  • +dd.ddd: The following 7 bytes value gets returned. -10.000 - +10.000.