Announcement

Collapse
No announcement yet.

Thermocouple averaging

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts


  • Thermocouple averaging

    I have been asked to look into taking 10 - 12 thermocouples into 'device-x' , outputting an average of all input thermocouples AND making available each thermocouple value.
    I cannot find an off-the-shelf device to do this.
    I am considering making a mockup for this using GASP! BRX - this AD platform has 16-bit analog out with 0-20mA.
    BX-DM1E-M
    BX-4THM4DA-1
    BX-08THM
    BX-08CD-3R

    I may make the data available on an EA9 - simulating a heat-map.

    After getting the temperature values (I assume into the R datatype) I would get MinMaxAve values then find the thermocouple that HAS the Min/Max values.
    Being Real, I may have issues with the EQUAL contact. I will look at this if we decide to carry on.


    Code:
    .
    .
    .-------------------------------------+---------+ MATH    R21
    .                                     |         |  MinR(R0,10)
    .                                     |         +--------------
    .                                     |          
    .                                     +---------+ MATH    R22          
    .                                     |         |  MaxR(R0,10)
    .                                     |         +--------------
    .                                     |          
    .                                     +---------+ MATH    R23          
    .                                               |  AvgR(R0,10)
    .                                               +--------------
    .
    [For V0 ,1 ,10 ,1 ]
    .
    .    R[V0]  R21
    .--------]=[--------------------------+---------+ COPY
    .                                     |         |  V0  V21
    .                                     |         +--------------
    .                                     |          
    .                                     +---------+ BREAK          
    .                                               +--------------
    [Next]
    .
    .
    .
    [For V0 ,1 ,10 ,1 ]
    .
    .    R[V0]  R22
    .--------]=[--------------------------+---------+ COPY
    .                                     |         |  V0  V22
    .                                     |         +--------------
    .                                     |          
    .                                     +---------+ BREAK          
    .                                               +--------------
    [Next]


    The next step is to scale the AVERAGE temperature to a voltage/current signal that I send to a SOLO 9696. The SOLO will see this as its PV --- and control the chamber to THIS AVERAGE.

    Any ideas/red flags?

    [Edit] Change SV to PV - thanks Tinker
    Last edited by kewakl; 12-04-2019, 04:14 PM.


  • #2
    Seems like a really weird setup, taking an average temp and then using that average as a setpoint for a temp controller.


    Personally I think it is a waste of money to output the average temp as analog signal to a temp controller. Seems a lot easier to just send the value over modbus to the temp controllers memory address. More accurate too, since you dont have noise on the outgoing analog line affecting the value


    If you do need to use an analog output, I would do the module configuration and enable scaling on each channel. This basically does a math scaling operation from the WX# input to RX# memory space. Scale the range of the type of thermocouple you are using to 0-20, which is your analog output signal ma range (or whatever analog signal you are using). Rather than taking an average of the temnperatures and scaling it to voltage/current, just take all the pre-scaled voltage/current values of each channel and average them, then copy that value to an analog output channel.

    In Productivity when you enable scaling during module config, the tag values are scaled units. In Do-more, when you enable scaling in module config you have the original raw values, but you also have the scaled values in a different memory location. So use the input values for the thermocouple as the actual temps of each channel on your HMI, but just work off the scaled values to get your average since you can scale it to your output voltage already.



    Something along the lines of this:


    Click image for larger version  Name:	image_4478.png Views:	5 Size:	61.7 KB ID:	126968


    Click image for larger version  Name:	DoMore1.png Views:	0 Size:	50.2 KB ID:	126970

    Only your scale values in config would be whatever analog signal range you are using.
    And you would add more filter instructions for all your inputs.
    Last edited by MikeN; 12-04-2019, 11:04 AM.

    Comment



    • #3
      I used a multiple thermocouple input before to eliminate problems with faulty thermocouples, mainly physical damage.

      Installed three thermocouples for each zone with their values being placed in an array.
      Took the closest two values for each zone, averaged them, and placed the result in the final PID PV value.
      Disregarded the third value unless it was out more than X%, which would send an alarm.

      There were around thirty zones, so used the array in a sub program with a loop for the logic.

      Comment



      • #4
        Originally posted by MikeN View Post
        Seems like a really weird setup, taking an average temp and then using that average as a setpoint for a temp controller.
        I AGREE! But the request was to investigate controlling the chamber temperature by average chamber temperature.

        The COMMS route for PV seems interesting. If the PV INPUT can be disabled - or ignored.

        I haven't nailed down anything yet. We need more internal ROI discussion.

        Another idea that we have is to NOT use the PLC to generate the AverageTemp value.
        This idea would use pairs of thermocouples. Each pair would support one 'zone.' Each pair would be thermally bonded, but not electrically connected.
        One TC from each pair would go to a PLC THM input, the other would go to the solo in a parallel manner. (Theory and Practice of Thermoelectric and Thermometry Vol3 Robin E. Bentley Pg 96)
        Then the SOLO would get its own 'average' and the PLC could know and indicate the individual 'zones.'

        Comment



        • #5
          Originally posted by kewakl View Post

          The next step is to scale the AVERAGE temperature to a voltage/current signal that I send to a SOLO 9696. The SOLO will see this as its SV --- and control the chamber to THIS AVERAGE.

          Any ideas/red flags?
          AS far as I know the only way to remotely change the SV of a SOLO is to write to it via MODBUS, but that writes to the non-volatile memory , which I presume is flash and has a finite write endurance and will eventually fail if written to very frequently. If one is going to have a BRX anyway I'd let it to the temperature control as well.

          Reading the original post again I'm guessing he meant the Process Value, not the Setpoint Value, if so, then sure, the SOLO can be configured for voltage or current input for the PV, but if one has the BRX I think I might still use it for control too.

          The excerpt on parallel thermocouples you link too is pretty short, do you have the whole book? . It is fairly important that the resistances be the same. Sometimes a fixed resistor with a significantly higher resistance than the thermocouple itself (preferably one with a low temperature coefficient and located in a relatively constant temperature location) is added to each thermocouple to swamp minor differences in lead resistance

          Comment



          • #6
            Procon Electronic's(https://www.proconel.com/product/pt8...dule-isolated/)We use this, I did not set it up so I don't know what all you can do but we pull over ethernet 8 TC values to our scada system. Also Check out (https://www.mccdaq.com/temperature-measurement.aspx)CBCOM CB-7018 we use to use it, it is RS-485, they have units with more than 8 channels, and other devices that do similar function, again I did not setup so I don't know what all you can do.

            Comment



            • #7
              Originally posted by Tinker View Post
              The excerpt on parallel thermocouples you link too is pretty short, do you have the whole book? .
              Sadly, no. That is a google search result. I included that link so I would not have to argue the validity of this approach.

              Originally posted by Tinker View Post
              It is fairly important that the resistances be the same. Sometimes a fixed resistor with a significantly higher resistance than the thermocouple itself (preferably one with a low temperature coefficient and located in a relatively constant temperature location) is added to each thermocouple to swamp minor differences in lead resistance
              Yes. Understood. I have never done this, but I do have access to an engineer with some capability who does understand this.
              We would either go the swamp resistor or maybe stow away the TC length somewhere out of sight.
              Last edited by kewakl; 12-04-2019, 04:22 PM.

              Comment



              • #8
                Originally posted by akahammer View Post
                Procon Electronic's(https://www.proconel.com/product/pt8...dule-isolated/)We use this, I did not set it up so I don't know what all you can do but we pull over ethernet 8 TC values to our scada system. Also Check out (https://www.mccdaq.com/temperature-measurement.aspx)CBCOM CB-7018 we use to use it, it is RS-485, they have units with more than 8 channels, and other devices that do similar function, again I did not setup so I don't know what all you can do.
                That procon module looks nice.

                Thank you

                Comment



                • #9
                  Originally posted by Tinker View Post
                  that writes to the non-volatile memory , which I presume is flash and has a finite write endurance and will eventually fail if written to very frequently.
                  Too bad that I see NO reference to this in any solo docs

                  Comment



                  • #10
                    Originally posted by kewakl View Post

                    Too bad that I see NO reference to this in any solo docs
                    Well, I admit I made an assumption about that memory being written every time a MODBUS write is done, but if one manually changes the set point and cycles the power the value will be retained so we can pretty safely assume it is written to EEPROM for a manual change, and i don't think I'm going too far out on a limb thinking MODBUS writes do the same.

                    As far as EEPROM life, that is documented, solocontrolm.pdf, chapter 1 controller specifications: "Memory Protection EEPROM 4K bit, number of writes 100,000"
                    100,000 sounds like a lot if one is pressing the buttons by hand, but if automated, at, for example, once per second, that is just a little over a day.

                    Comment



                    • #11
                      Originally posted by Tinker View Post

                      As far as EEPROM life, that is documented, solocontrolm.pdf, chapter 1 controller specifications: "Memory Protection EEPROM 4K bit, number of writes 100,000"
                      100,000 sounds like a lot if one is pressing the buttons by hand, but if automated, at, for example, once per second, that is just a little over a day.
                      Thanks! I missed that. I was expecting to see it in the Modbus/comms section - at least that is where I saw it in the SureServo manual!

                      Comment



                      • #12
                        Why would you use a Solo controller when the BXR, P series or even the Click can control anything a Solo can?

                        Comment



                        • #13
                          Ha. My code has no UL, CE, FM markings.
                          I do not think that i can do it well enough.

                          Comment



                          • #14
                            If they would fit physically, there are RTD sensors that average over their length, which can be 20'. They are flexible, so you could weave them back and forth in an area.
                            ADEN ENGINEERING
                            Automation & Electronic Controls

                            Design, Build, Repair, Training

                            Comment



                            • #15
                              Originator wants to know the values from each of the TCs and the average.
                              The idea is to correlate the effects of heat to product performance.
                              So knowing the hot and cold zones can give insight to test results of product in these zones.

                              Comment

                              Working...
                              X