442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
1

ГОСТ Р 8.585-2001 ГСИ. Термопары

02.04.2021, 10:21. Показов 2084. Ответов 38
Метки нет (Все метки)

В ГОСТ Р 8.585-2001 ГСИ отсутствуют обратные полиномы для термопар типа "К" от минус 270 до минус 200 град. и для термопар типа "В" от нуля до плюс 250 град. Так должно и быть, или это ошибка в ГОСТ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2021, 10:21
Ответы с готовыми решениями:

Обмен с электросчетчиком CE301, СЕ303. ГОСТ Р МЭК 61107-2001
Здравствуйте! Примеров работы по Modbus полно, а вот по МЭК 61107-2001 нигде не встречал ни одного...

Не работает шифрование по ГОСТ 28147-89, ГОСТ Р 34.10-2001,ГОСТ Р 34.11-94 (ASP.NET)
Создавал веб-приложение(ASP.Net) для шифрования по данным гостам, нашёл по данной теме код, но он...

ГОСТ р 34.10-2001
Кто нибудь реализовывал алгоритм ЦП по алгоритму из этого госта?

Реализация ГОСТ Р 34.10-2001
Нужно реализовать стандар Электроной цифровой подписи ГОСТ Р 34.10-2001 на C# (windows form...

38
Модератор
Эксперт по электронике
7667 / 3830 / 1484
Регистрация: 01.02.2015
Сообщений: 11,842
Записей в блоге: 2
05.04.2021, 14:07 21
Мне-то это не требуется, вы для себя проверьте.

Я ведь, пытаясь интерполировать расходную характеристику диафрагмы, в 10 узлах её тоже проверял, а между узлами там такие "волны ходили", что оторопь брала. Пришлось вернуться к кусочно-линейной интерполяции.
А идея была хорошей - ввожу 10 узлов, ПЛК вычисляет коэффициенты полинома, дальше вычисления полинома - никаких ветвлений, аккуратная программа на LD - а вот НЕТ! - нужен был другой полином или функция вместо полинома.
0
78 / 81 / 6
Регистрация: 30.10.2014
Сообщений: 250
05.04.2021, 14:38 22
По многим причинам, тип "В" не используют для измерения температуры ниже 250 градусов. (низкая ЭДС, два перехода через ноль)
И практически у всех пром. устройств, тип "В" начинается с 200 градусов, т.е. это не ошибка ГОСТ, это правило.
1
78 / 81 / 6
Регистрация: 30.10.2014
Сообщений: 250
05.04.2021, 14:44 23
Как больше знаков для полинома вытащить.
1
Миниатюры
ГОСТ Р 8.585-2001 ГСИ. Термопары  
442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
05.04.2021, 21:20  [ТС] 24
Написал в "Росстандарт". Ответят или нет, неизвестно.
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Пришла пора применять.
Проверил ваш метод. Нормально работает. Подозреваю, что лучше остановиться на нём, т.к. на скорую реакцию "Росстандарта" рассчитывать не приходится.

Добавлено через 21 минуту
Цитата Сообщение от Олег_ Посмотреть сообщение
Как больше знаков для полинома вытащить.
Вытащил. Всё-равно врёт.
0
78 / 81 / 6
Регистрация: 30.10.2014
Сообщений: 250
05.04.2021, 21:47 25
Цитата Сообщение от Argus19 Посмотреть сообщение
Пока можно сказать, что ошибка в ГОСТ в степенях, если в строке №37 записать так:
DIM C(3) AS DOUBLE ={0.4548090, 2.2657698e1, 7.7935652e-1, 1.1786931e-1}
, то результат будет ближе.
Excell показывает так:
C(0) = 0.4407
C(1) = 22.647
C(2) = -0.77622
C(3) = 0.1189
Вы можете проверить полином из экселя с "расширенными" циферками?
y = 1,18906436E-01x3 - 7,76214535E-01x2 + 2,26472338E+01x + 4,40707136E-01
Интересно на сколько качественно он ищет полином, т.е. какой размер отклонения от Госта

Добавлено через 10 минут
------------------
и этот тоже....
y = -3,46733432E-04x6 + 4,59700672E-04x5 + 4,73416303E-03x4 + 5,15159927E-02x3 - 7,20886373E-01x2 + 2,34440975E+01x + 8,10361556E-02
0
442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
05.04.2021, 22:02  [ТС] 26
Цитата Сообщение от Олег_ Посмотреть сообщение
Вы можете проверить полином из экселя с "расширенными" циферками?
y = 1,18906436E-01x3 - 7,76214535E-01x2 + 2,26472338E+01x + 4,40707136E-01
-6.154 = -196.04. д.б. -200.0
0 = 0.44. д.б. 0.0
4.722 = 102.59 д.б. 100.0
Длинный набивать долго. Лень.

Добавлено через 6 минут
Цитата Сообщение от Олег_ Посмотреть сообщение
И практически у всех пром. устройств, тип "В" начинается с 200 градусов
Значения в таблице есть и прямой полином есть. Зачем-то
0
442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
05.04.2021, 23:29  [ТС] 27
С неоценимой помощью ФедосеевПавел, появился результат для Android:
0
Вложения
Тип файла: zip Термопары.zip (137.5 Кб, 4 просмотров)
442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
06.04.2021, 15:57  [ТС] 28
Как часто применяются термопары А(А-1, А-2, А-3) ТВР (Вольфрам - рений/вольфрам - рений)?
0
Модератор
Эксперт по электронике
7667 / 3830 / 1484
Регистрация: 01.02.2015
Сообщений: 11,842
Записей в блоге: 2
06.04.2021, 18:02 29
Мне в практике (автоматизация печей, котлов) встречались только J, K, L.
0
442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
06.04.2021, 19:17  [ТС] 30
ФедосеевПавел, у Вольфрам - рениевых ТП серьёзные температуры. Могу только предполагать их область применения.
0
442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
07.09.2021, 11:05  [ТС] 31
Для душевного спокойствия написал программу-калькулятор под WIndows7, 10 для работы с фольфрам-рениевыми термопарами. Прямая ссылка на скачивание:
http://valvelab.al.ru/nsoft/Wre_thermocouple.zip
Если ссылка не захочет работать, ссылка на страницу моего сайта:
http://valvelab.al.ru/nsoft.htm
0
Модератор
Эксперт по электронике
7667 / 3830 / 1484
Регистрация: 01.02.2015
Сообщений: 11,842
Записей в блоге: 2
26.09.2021, 13:57 32
Цитата Сообщение от Argus19
написал программку-калькулятор для работы с вольфрам-рениевыми термопарами. Обратный полином для термопар "А-3" в самом начале даёт разницу в 0,5 град.
Посоветуйте, пожалуйста, алгоритм проверки погрешности полиномов.
По алгоритму проверки погрешности не подскажу. Самое лобовое решение - вбить таблицу E(t) из ГОСТ через 1 или 10 °С и вычислять полином, сравнивать полученную температуру с табличным значением.
Так будет получена таблица погрешностей на весь допустимый диапазон.

Можно попробовать вычислять значение погрешности вычисления обоих полиномов для температуры T90 по формуле
t(E(T90))-T90
Но это будет слабо коррелировать именно с таблицей точных значений - покажет только взаимосвязь между полиномами.

А полиномы таковы, что
E(0 °С)=C(0)=0.8769216 mV
T(0 mV)=A(0)=-1.0649133e-4 °С
т.е. изначально предполагают погрешность.


Но лично моё мнение - термопары типа A-3 с диапазоном 0...+1800 °С устанавливают не для измерения уличной температуры, поэтому на диапазоне 0...10 °С можно смириться с погрешностью даже до 1 °С.
Думаю, что через время полиномы могут обновить для улучшения вычислений и в этом поддиапазоне. Хотя производственной необходимости в этом абсолютно нет. В том числе и потому, что не существует физической реализации термопар, обеспечивающей измерение с точностью 1 °С - много теряется на различных клеммных соединениях.

Добавлено через 3 минуты
А так, для вычислений набрал программку для FreeBASIC
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
'--------------------------------------------------------------------------
'Вычисление термоЭДС для термопары типа A-3
'по полиному из
'ГОСТ Р 8.585-2001 ГСИ.
'Термопары. Номинальные статические характеристики преобразования
'
'Вычисления разбиты на диапазоны:
'1) аппроксимирующий полином E(t) - зависимость термоЭДС от температуры
'0...1800 °С (0...26,773 мВ)
'2) обратный аппроксимирующий полином t(E) - зависимость температуры от термоЭДС
'0...26,773 мВ (0...1800 °С)
'--------------------------------------------------------------------------
 
function Polynomial( x as double, a() as double) as double
        dim as double r
        r=0
        for i as integer = ubound(a) to lbound(a) step -1
                r = r*x+a(i)
        next i
        return r
end function
 
'зависимость термоЭДС от температуры
function E_typeA3 (T90 as double) as double
        'коэффициенты полинома для вычисления значения термоЭДС по значению
        'температуры рабочего спая
        'для диапазона температур от 0 °С до +1800 °С
        dim A(8) as double = {  -1.0649133e-4,  1.1686475e-2,_
                                1.8022157e-5,   -3.3436998e-8,_
                                3.7081688e-11,  -2.5748444e-14,_
                                1.0301893e-17,  -2.0735944e-21,_
                                1.4678450e-25}
        return Polynomial(T90, A())
end function
 
'обратная зависимость температуры от термоЭДС
function T_typeA3(EMF as double) as double
        'коэффициенты полинома для вычисления температуры рабочего спая по значению
        'термоЭДС
        'для диапазона температур от 0 °С до +1800 °С (от 0 до 26,773 мВ)
        dim C(8) as double = {  0.8769216,      8.1483231e1,_
                                -5.9344173,     0.8699340,_
                                -7.6797687e-2,  4.1814387e-3,_
                                -1.3439670e-4,  2.342409e-6,_
                                -1.6988727e-8}
        return Polynomial(EMF, C())
end function
'--------------------------------------------------------------------------
'проверка вычисления термоЭДС и сравнение с известными константами
sub test(T90 as double, EMF as double)
        print using "test T90=#### °С, EMF=####.### mV";T90;EMF
        print "             calc       exact"
        'проверка вычисления термоЭДС и сравнение с известными константами
        print  using " E(t):      ####.### = ####.###";E_typeA3(T90);EMF
        'проверка вычисления температуры и сравнение с известными константами
        print  using " t(EMF):    ####.### = ####.###";T_typeA3(EMF);T90
    'проверка вычисления обоих полиномов
        print  using " t(E(T90)): ####.### = ####.###";T_typeA3(E_typeA3(T90));T90
 
end sub
'--------------------------------------------------------------------------
'основная программа
'--------------------------------------------------------------------------
'проверка вычисления термоЭДС и сравнение с известными константами
' - список значений температур
dim T(7) as double = {  0.0,    20.0,   50.0,   100.0,  500.0,  1000.0,_
                        1500.0, 1800.0}
' - список термоЭДС для указанных температур, взятый из таблицы в ГОСТ
dim E(7) as double = {  0.000,  0.241,  0.625,  1.319,  7.827,  15.980,_
                        23.106, 26.773}
' - вывод тестовых сообщений для списков температур и термоЭДС
for i as integer = lbound(T) to ubound(T)
        test(T(i), E(i))
        print
next i
 
'ожидание нажатия любой клавиши
'do
'loop while inkey=""
 
end
1
442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
27.09.2021, 15:30  [ТС] 33
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Но лично моё мнение - термопары типа A-3 с диапазоном 0...+1800 °С устанавливают не для измерения уличной температуры
Оно, конечно так. Согласен, что погрешность в начале диапазона хотя и нормирована, но, по-сути, никого не волнует. Возможно, я погорячился с мнением о жёстком нормировании во всём диапазоне.
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
много теряется на различных клеммных соединениях.
Встречал термопары со встроенным преобразователем. Сам таких в руках не держал. Павел, как правильно организуется работа термопар во взрывоопасных помещениях? В них не получится использовать обычную термопару с УКХС и длиннющим кабелем до вторичного прибора да ещё через барьер искрозащиты. Это приведёт к сильным искажениям показаний. Подозреваю, что в таком случае должна быть термопара с преобразователем в стандартный протокол. И ьез потерь на клеммных соединителях.
0
Модератор
Эксперт по электронике
7667 / 3830 / 1484
Регистрация: 01.02.2015
Сообщений: 11,842
Записей в блоге: 2
27.09.2021, 19:46 34
Про термопары во взрывозащищённых исполнениях.
Мне кажется, что термопары работают в диапазонах температур, при которых бумага уже сама воспламеняется. Так что барьер искрозащиты избыточен. Кроме того, коммутационная головка термопары тоже находится в зоне высокой температуры, значит нормирующий преобразователь будет в более холодной зоне.

Это только моё мнение. Искренне допускаю возможность ошибки.
0
442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
27.09.2021, 20:24  [ТС] 35
Я взял этот пример, как невозможность разместить вторичный прибор рядом с термопарой. И возможность избежать погрешности.
Я тоже не уверен в сказанном. Надо уточнять у тех, кто имел с этим дело.
Сейчас переключен на другую тему. Постараюсь на днях переписать ваш код на VB 6.0 и проверить.
0
442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
28.09.2021, 13:14  [ТС] 36
Переписал программу. Получил результат:
Код
test T90=0°С EMF= 0000,mV
             calc       exact
 E(t): 0000,000 = 0000,000
 t(EMF): 0000,877 = 0
 t(E(T90)): 0000,868 = 0

test T90=20°С EMF= 0000,241mV
             calc       exact
 E(t): 0000,241 = 0000,241
 t(EMF): 0020,182 = 20
 t(E(T90)): 0020,148 = 20

test T90=50°С EMF= 0000,625mV
             calc       exact
 E(t): 0000,625 = 0000,625
 t(EMF): 0049,687 = 50
 t(E(T90)): 0049,711 = 50

test T90=100°С EMF= 0001,319mV
             calc       exact
 E(t): 0001,319 = 0001,319
 t(EMF): 0099,809 = 100
 t(E(T90)): 0099,794 = 100

test T90=500°С EMF= 0007,827mV
             calc       exact
 E(t): 0007,827 = 0007,827
 t(EMF): 0499,905 = 500
 t(E(T90)): 0499,926 = 500

test T90=1000°С       EMF= 0015,98mV
             calc       exact
 E(t): 0015,980 = 0015,980
 t(EMF): 0999,914 = 1000
 t(E(T90)): 0999,905 = 1000

test T90=1500°С       EMF= 0023,106mV
             calc       exact
 E(t): 0023,106 = 0023,106
 t(EMF): 1499,893 = 1500
 t(E(T90)): 1499,894 = 1500

test T90=1800°С       EMF= 0026,773mV
             calc       exact
 E(t): 0026,773 = 0026,773
 t(EMF): 1799,621 = 1800
 t(E(T90)): 1799,657 = 1800
Добавлено через 7 минут
Есть сомнение в строке:
VB.NET
1
2
    'проверка вычисления обоих полиномов
        print  using " t(E(T90)): ####.### = ####.###";T_typeA3(E_typeA3(T90));T90
Может правильнее так:
VB.NET
1
print  using " t(E(T90)): ####.### = ####.###";T_typeA3(E_typeA3(T90));E_typeA3(T90)
0
Модератор
Эксперт по электронике
7667 / 3830 / 1484
Регистрация: 01.02.2015
Сообщений: 11,842
Записей в блоге: 2
28.09.2021, 19:54 37
Правильно изначально - должны быть соразмерные величины (температура и температура) - T_typeA3(E_typeA3(T90));T90

У меня такой вывод результатов для FBC
Код
test T90=   0 °С, EMF=   0.000 mV
             calc       exact
 E(t):        -0.000 =    0.000
 t(EMF):       0.877 =    0.000
 t(E(T90)):    0.868 =    0.000

test T90=  20 °С, EMF=   0.241 mV
             calc       exact
 E(t):         0.241 =    0.241
 t(EMF):      20.182 =   20.000
 t(E(T90)):   20.148 =   20.000

test T90=  50 °С, EMF=   0.625 mV
             calc       exact
 E(t):         0.625 =    0.625
 t(EMF):      49.687 =   50.000
 t(E(T90)):   49.711 =   50.000

test T90= 100 °С, EMF=   1.319 mV
             calc       exact
 E(t):         1.319 =    1.319
 t(EMF):      99.809 =  100.000
 t(E(T90)):   99.794 =  100.000

test T90= 500 °С, EMF=   7.827 mV
             calc       exact
 E(t):         7.827 =    7.827
 t(EMF):     499.905 =  500.000
 t(E(T90)):  499.926 =  500.000

test T90=1000 °С, EMF=  15.980 mV
             calc       exact
 E(t):        15.980 =   15.980
 t(EMF):     999.914 = 1000.000
 t(E(T90)):  999.905 = 1000.000

test T90=1500 °С, EMF=  23.106 mV
             calc       exact
 E(t):        23.106 =   23.106
 t(EMF):    1499.893 = 1500.000
 t(E(T90)): 1499.894 = 1500.000

test T90=1800 °С, EMF=  26.773 mV
             calc       exact
 E(t):        26.773 =   26.773
 t(EMF):    1799.621 = 1800.000
 t(E(T90)): 1799.657 = 1800.000
Видимо, FBC иначе обрабатывает форматирование в print using
0
442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
28.09.2021, 22:15  [ТС] 38
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
Видимо, FBC иначе обрабатывает форматирование в print using
В VB 6.0 используется функция Fomat(). Например, если EMF = 0, то результата выполнения:
Visual Basic
1
Format(EMF, "####.###")
не будет.
Я продумываю, как сделать результат выполнения программы более наглядным.
0
442 / 288 / 53
Регистрация: 24.09.2017
Сообщений: 1,708
Записей в блоге: 3
30.09.2021, 00:20  [ТС] 39
Сделал так:
0
Вложения
Тип файла: xlsx A-3.xlsx (9.9 Кб, 3 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.09.2021, 00:20

Реализация ГОСТ Р34.11-2001
Всем привет, пытаюсь реализовать ГОСТ р34.11-2001, дошел до проверки ЭЦП, P = u1G + u2Ha, u1, u2...

Как реализовать ГОСТ Р34.11-2001?
Всем привет, пытаюсь реализовать ГОСТ р34.11-2001, дошел до проверки ЭЦП, P = u1G + u2Ha, u1, u2...

Реализация алгоритма ЭЦП ГОСТ 34.10-2001 (или 34.10-1994) на C++
Где можно взять реализацию алгоритма ЭЦП ГОСТ 34.10-2001 (или 34.10-1994) на C++ или может есть у...

Моделирование скоростной термопары при помощи одной малоинерционной термопары
Доброго дня, уважаемые специалисты. У меня возникла необходимость программно получить сигнал от...

Проблема с select * from contest Where id_contest='6' and day_contest between #29/07/2001# and #04/08/2001#
Подскажите в чём ошибка! Есть таблица с конкурсными фотографиями из неё должны демонстрироваться...

Lenovo z 585 не включается
Здраствуйте прошу помощи сил уже нет. После синего экрана которой видавал ошибку 0x000000a5 ....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.