SIMIT Simulation and Pcs7AnIn Scaling for PT100-PT1000 RTD Temperature Measurements
When simulating PT100 or PT1000 RTD temperature sensors in SIMIT for a SIMATIC PCS 7 system, the raw peripheral integer represents physical temperature directly in tenths of a degree (0.1 °C per integer unit for standard range, e.g. 250 = 25.0 °C). If the PCS 7 channel block 'Pcs7AnIn' is configured with default linear scaling (0 to 27648), the output will appear severely quantized or distorted. To resolve this, parameterize 'Scale.Low = 0' and 'Scale.High = 1' on 'Pcs7AnIn' (or configure RTD mode), and ensure SIMIT writes temperature values scaled in integer tenths of a degree.
Table of Contents
- Executive Summary
- Architecture and Fundamental Mechanics
- Step-by-Step Implementation Procedure
- Verification
- Limitations and Operational Precautions
- Engineer FAQ
- Technical References
- Related Articles
- Related Tags
Executive Summary
During simulation and commissioning of process plants in SIMATIC PCS 7 (V8.0 through V9.1), temperature acquisition via Resistance Temperature Detectors (RTD - PT100, PT1000) or Thermocouples (TC) on ET 200SP HA / ET 200M distributed I/O requires unique handling. Unlike standard 4–20 mA transmitters that deliver 0 to 27648 integer counts representing span limits, RTD modules convert resistance directly into pre-scaled temperature integers in 0.1 °C or 0.01 °C increments. Engineers coupling SIMIT to PCS 7 often find that temperature readings jump in coarse 20 °C increments because of improper scaling parameterization. This article details the mathematical mechanics of RTD scaling and provides the configuration steps in both SIMIT and PCS 7.
Architecture and Fundamental Mechanics
Mathematical and Architectural Mechanics of RTD Temperature Acquisition:
- Standard Analog Input vs RTD Temperature Modules:
- Standard Analog (4–20 mA, 0–10 V): The ADC converts the electrical signal into raw digital counts spanning
0to27648. The PCS 7 channel blockPcs7AnIn(FB1869) applies standard linear interpolation:
$$\text{PV_Out} = \text{Scale.Low} + \left(\frac{\text{RawInteger}}{27648}\right) \times (\text{Scale.High} - \text{Scale.Low})$$ -
RTD / Thermocouple Modules (PT100, PT1000): In STEP 7 HW Config, when an analog input channel is set to 'RTD' with measuring range 'PT100 standard' or 'PT1000 standard', the hardware module performs linearization internally. The peripheral input word (
IWxxx) does not deliver 0–27648 counts. Instead, it outputs the temperature directly as an integer with a resolution of 0.1 °C:- An integer value of
0corresponds to0.0 °C. - An integer value of
250corresponds to25.0 °C. - An integer value of
1500corresponds to150.0 °C. - (For 'Climatic' range, resolution is 0.01 °C, so
2500corresponds to25.00 °C).
- An integer value of
-
The
Pcs7AnInScaling Behavior for Physical Raw Values: - According to official Siemens APL documentation for
Pcs7AnIn: When the raw value is already a physical value (e.g. RTD or TC), parameterizingScale.Low = 0andScale.High = 1instructs the block that the incoming value is pre-scaled. The block multiplies the integer by0.1and passes it directly toPV_Outwithout standard 27648 normalization. -
If an engineer mistakenly leaves
Scale.Low = 0andScale.High = 200under standard linear scaling, the block expects27648counts for 200 °C. When the RTD module delivers2000(representing 200.0 °C), the formula yields $(2000 / 27648) \times 200 \approx 14.4$ °C, or if integer truncations occur, coarse 20 °C stepped quantization. -
SIMIT Simulation Model Role:
- In SIMIT, the simulated process temperature (e.g. REAL variable
T_Reactor= 65.4 °C) must be converted into the exact integer format expected by the hardware channel driver: multiplied by 10 and cast to INT (654), then written to the coupling input word.
Step-by-Step Implementation Procedure
Step-by-Step Configuration Procedure in SIMIT and PCS 7:
- Verify Hardware Configuration in HW Config:
- Open HW Config; select the ET 200SP HA / ET 200M AI module.
- Open Channel Properties -> verify Measurement Type is set to RTD.
- Verify Measuring Range is set to PT100 standard or PT1000 standard (unit: Celsius, resolution 0.1 °C).
- Note the configured peripheral input address (e.g.IW 512). - Configure
Pcs7AnInin CFC:
- Open the CFC chart containingPcs7AnIn(FB1869).
- Connect input pinPV_Into the symbolic address ofIW 512.
- Set parameterScale.Low = 0.0.
- Set parameterScale.High = 1.0.
- (Alternatively, ensure the Module Driver Generator parameterizes theModestructure for RTD conversion upon compilation). - Build the Conversion Component in SIMIT:
- Open the simulation diagram in SIMIT.
- From the SIMIT Standard Component Library -> Math, drag a Multiply block and a Convert (REAL to INT) block.
- Feed your simulated process temperature (REAL, in °C) into the Multiply block; set multiplier to10.0.
- Connect the output to the Convert block to generate a 16-bit signed integer.
- Connect the integer output directly to the SIMIT coupling input signalIW 512. - Compile and Download:
- Compile CFC charts with Generate module drivers enabled.
- Download the program to S7-PLCSIM or the SIMIT Virtual Controller.
- Start the SIMIT simulation.
Verification
Verification Procedure:
1. Static Test: In SIMIT, force the simulated temperature to 25.0 °C. Verify that the SIMIT coupling signal writes 250 to IW 512.
2. CFC Online Monitoring: Open Pcs7AnIn in CFC Test Mode. Verify that PV_Out.Value displays 25.0 with signal quality PV_Out.ST = 16#80 (Good).
3. Dynamic Range Test: Ramp the simulated temperature from 0.0 °C to 150.0 °C in SIMIT. Confirm that Pcs7AnIn.PV_Out tracks smoothly with 0.1 °C resolution without stepped quantization.
Limitations and Operational Precautions
Operational Precautions and Measuring Range Constraints:
- Climatic vs Standard Range: If the hardware is configured as 'Climatic' range, the integer resolution is 0.01 °C (multiplier = 100). SIMIT must match the exact range configured in HW Config.
- Thermocouple Cold Junction Compensation: When simulating thermocouples, cold junction compensation parameters configured in HW Config can introduce temperature offsets in the driver if internal reference compensation is active.
- Out of Range Faults: An integer value of 32767 or -32768 represents wire break or short circuit; simulate these specific values in SIMIT to test sensor failure interlocks.
Engineer FAQ
Why does my simulated PT100 reading jump in 20 degree increments?
Because Pcs7AnIn was parameterized with standard 0–27648 linear scaling instead of RTD pre-scaled mode (Scale.Low = 0, Scale.High = 1), causing severe quantization of the 0.1 °C integer input.
What integer value corresponds to 100.0 °C for a standard PT100 channel?
In standard range (0.1 °C resolution), an integer value of 1000 corresponds to 100.0 °C.
What is the resolution difference between standard and climatic PT100 ranges?
Standard range has a resolution of 0.1 °C (integer 10 = 1.0 °C); climatic range has a resolution of 0.01 °C (integer 100 = 1.0 °C).
Does Pcs7AnIn require a scale factor block between the peripheral word and PV_In?
No. When properly parameterized, Pcs7AnIn handles the physical conversion directly without intermediate math blocks.
Can SIMIT simulate RTD wire break conditions?
Yes, by writing the overflow integer 16#7FFF (32767) to the input word, triggering a wire break alarm and bad signal status in PCS 7.
Technical References
- SIMATIC Process Control System PCS 7 Advanced Process Library (APL) Manual
- SIMATIC Distributed I/O System ET 200SP HA Analog Input Modules Manual
- SIMIT Simulation Platform Component Library Manual
Related Articles
- Simulating Fail-Safe Analog Inputs and F_CH_AI Quality Bits with SIMIT in PCS 7
- Implementing Redundant Analog Input Channels with Pcs7AnIn in SIMATIC PCS 7 V9.0
- Tracking Motor Operating Hours with CountOh and Exporting Shift Reports to Excel in PCS 7
Related Tags
- SIMIT Simulation
- PT100 Scaling
- Pcs7AnIn
- RTD Temperature
- ET 200SP HA