There's no way for us to answer the SCADA portion. It will depend, not just on which SCADA package you are using, but how it is configured, how the tags are set up, whether the tags use floating point or integer registers, etc.
As for the analog input, you should consult the manuals for the input module, as well as the Instruction Set manual for the BTR/BTW instuctions, but I'll give you a quick overview, assuming a 1771-IFE module, which is the most likely that you'll be using, and for a 4-20 mA signal.
The field device is going to measure some process varable (PV). The transmitter produces a signal between 4 and 20 mA. What 4 mA "means" and what 20 mA "means" in terms of the PV, is dependent on how the transmitter is calibrated, and what type of field device it is.
The 4-20 mA signal is recieved by the IFE module. The PLC, usually only on first scan (bu it's going to depend on your program), performs a BTW (block transfer
Write) to configure the module to scale the signal. Usually the signal is scaled 0 to 4095 (being 2<sup>12</sup> and the IFE being a 12 bit card), but it can be different. I used to see some programmers do their engineering unit (i.e. units understandable by engineers, not computers) with the BTW, but that technique has been out of fashion for a while.
Anyway, the IFE module now has, in its own memory, a scaled number which represents the current signal on each channel, plus the health status of each channel (overrange (signal>20mA_, underranged(singal<4mA), and other data about its general health. This needs to get into the PLC.
As frequently as it can (usually, but your program could be weird), the PLC does a BTR (block transfer
Read{/b]) to poll the IFE card. That data gets stored in whatever 'N' registers the BTR has for its "Data file". For an IFE, the first 4 words are all those health bits, the channel data start at word 4 (starting from 0), with channel 0 at word 4, channel 1 word 5, etc. The length of the BTR is going to depend on how many channels you are using, which will depend on whether you have it configured for single-ended or differential, and all the other configurations).
+=============+ +---+ +
150ºC | | | 20 mA | I | 4095 | PLC
Field |---| Transmitter |-----------| F |----> BTR >--| N
Device | | | 4 mA | E | 0 | Register
-30ºC | +=============+ +---+ +
So word 4 of the BTR data file contains a number between 0 to 4095, which represents the engineering unit of 150 to -30 ºC (in my example above). To scale that into engineering units, you would do the math
(150 - (-30))
{ (N:4) x ------------- } + (-30) ==> 0.04396(N:4) - 30.
(4095-0)
The result of this calculation is usually stored in a floating point register.
On the other hand, the PV may be used in a PID block, which is capable of doing it's own scaling.
This ibout a good an answer as your going to get, without a lot more info from you. I was tempted to tell you:
- It depends on the type of transmitter you are using.
- It depends on the analog module you are using.
- It depends on how the BTW configures the module.
- It depends on how the BTR is configured.
- It depends on how the PLC program uses the data.
but decided to be kind.
You need to do alot of reading (and looking at your code) before posting again.