Страница 327 из 404 ПерваяПервая ... 227277317325326327328329337377 ... ПоследняяПоследняя
Показано с 3,261 по 3,270 из 4801

Тема: разные вопросы новичка

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Netadmin Посмотреть сообщение
    В общем проверил. работает ровно до 60 см. дальше пошли расхождения с тарировочной таблицей в большую сторону до 500литров ! или я что то не учел
    Да ладно, загнал всю таблицу в массив через одну, вместо 108 точек получилось 54 переменных в массиве, считает правильно по таблице.1 Таблица.jpg с точностью 0.1%
    Так как в таблице 35 см это 0, то вычел эти 35 см, только для проверки соответствия таблице. В реале вычитание можно убрать.
    Таблица выложена только до 141 см, дальше массив можно продолжить. Достаточно 2-6 точек.
    Вложения Вложения
    Последний раз редактировалось kondor3000; 17.11.2024 в 12:43.

  2. #2
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,329

    По умолчанию

    У меня по сути это наверное то же, что и предлагает kondor3000 при помощи кусочно-линейной интерполяции
    На примере датчика топлива в баке генератора с неправильной формой. з.ы. это скрипт C#
    Код:
    public double Benzscale (double inp)
    {
    double res = 0;
    if (inp > 0 & inp < 773) res = Scaler (inp, 53, 773, 0, 5);
    else if (inp > 773 & inp < 1468) res = Scaler (inp, 774, 1467, 5, 10);
    else if (inp > 1467 & inp < 2061) res = Scaler (inp, 1468, 2060, 10, 15);
    else if (inp > 2060 & inp < 2452) res = Scaler (inp, 2061, 2451, 15, 20);
    else if (inp > 2451 & inp < 2870) res = Scaler (inp, 2452, 2869, 20, 25);
    else if (inp > 2869 & inp < 3278) res = Scaler (inp, 2870, 3277, 25, 30);
    else if (inp > 3277 & inp < 3700) res = Scaler (inp, 3278, 3699, 30, 35);
    else if (inp > 3699 & inp < 4096) res = Scaler (inp, 3700, 4095, 35, 36);
    return res;
    }
    числа в else if это показания датчика при тарировке, числа в формуле scaler вторые это литраж. Scaler - это наверное то же самое, что и LINEAR в срипте на ST от petera и kondor3000.
    Собственно все проще. Чем меньше диаметр конуса, тем меньше объем нужен для тарировки, так как при таком методе погрешность не накапливается, а сидит внутри каждого диапазона.
    По мере увеличения диаметра конуса, можно увеличивать объем тарировочный, чтобы погрешность не выходила за какой-то диапазон.
    Последний раз редактировалось melky; 18.11.2024 в 08:54.

  3. #3

    По умолчанию

    Набрал все пары от 35 до 140
    Покажу все пары, вдруг кто-то захочет повторить вычисления:

    Код:
    35	0,152
    36	0,160
    37	0,168
    38	0,176
    39	0,184
    40	0,193
    41	0,202
    42	0,211
    43	0,221
    44	0,231
    45	0,241
    46	0,251
    47	0,262
    48	0,273
    49	0,284
    50	0,296
    51	0,307
    52	0,320
    53	0,332
    54	0,345
    55	0,358
    56	0,372
    57	0,385
    58	0,400
    59	0,414
    60	0,429
    61	0,444
    62	0,460
    63	0,476
    64	0,492
    65	0,508
    66	0,525
    67	0,543
    68	0,561
    69	0,579
    70	0,597
    71	0,616
    72	0,635
    73	0,655
    74	0,675
    75	0,696
    76	0,717
    77	0,738
    78	0,760
    79	0,782
    80	0,804
    81	0,827
    82	0,851
    83	0,875
    84	0,899
    85	0,924
    86	0,949
    87	0,975
    88	1,001
    89	1,027
    90	1,054
    91	1,082
    92	1,110
    93	1,138
    94	1,167
    95	1,197
    96	1,227
    97	1,257
    98	1,288
    99	1,319
    100	1,351
    101	1,384
    102	1,417
    103	1,450
    104	1,484
    105	1,519
    106	1,554
    107	1,589
    108	1,625
    109	1,662
    110	1,699
    111	1,737
    112	1,775
    113	1,814
    114	1,854
    115	1,894
    116	1,934
    117	1,975
    118	2,017
    119	2,059
    120	2,102
    121	2,146
    122	2,190
    123	2,235
    124	2,280
    125	2,326
    126	2,372
    127	2,419
    128	2,467
    129	2,516
    130	2,565
    131	2,614
    132	2,664
    133	2,715
    134	2,767
    135	2,819
    136	2,872
    137	2,925
    138	2,980
    139	3,034
    140	3,090


    пропустил через МНК и получил полином третьей степени. Он очень точно вычисляет на всём указанном диапазоне.
    Не знаю, почему так ошибся - вывел зависимость объёма пропорциональную кубу уровня, но решил, что квадратичная зависимость идеально подойдёт.
    Сейчас увеличил степень и всё сошлось.
    Код:
    Функция y(x) имет вид
       y(x)=a[3]*x^3+a[2]*x^2+a[1]*x^1+a[0] ,
       где
            a[3]= 6,7480106322967544E-007
            a[2]= 5,2652074851971609E-005
            a[1]= 1,4053194590600596E-003
            a[0]= 9,4316767126307200E-003
    Но, к слову, если бы "материально не заинтересованный, но просто помогающий другу" Netadmin сразу привёл таблицу в редактируемом виде, то время потраченное на её набор, я потратил бы на обработку.

    Думаю, что с разделением диапазона уровня для вычисления объёма конусной и цилиндрической частей бункера сложностей не будет.
    Чтобы избежать переполнения разрядной сетки и ускорить сами вычисления, полином лучше вычислять по схеме Горнера, тут сложностей тоже быть не должно.

    Будут вопросы - задавайте.

    Во вложении программа с новым полиномом и инструменты расчёта и проверки - программа на Pascal, таблица для Calc (аналог Exel).
    Вложения Вложения
    Последний раз редактировалось FPavel; 18.11.2024 в 12:16.

  4. #4

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Набрал все пары от 35 до 140
    Покажу все пары, вдруг кто-то захочет повторить вычисления:

    Код:
    35	0,152
    36	0,160
    37	0,168
    38	0,176
    39	0,184
    40	0,193
    41	0,202
    42	0,211
    43	0,221
    44	0,231
    45	0,241
    46	0,251
    47	0,262
    48	0,273
    49	0,284
    50	0,296
    51	0,307
    52	0,320
    53	0,332
    54	0,345
    55	0,358
    56	0,372
    57	0,385
    58	0,400
    59	0,414
    60	0,429
    61	0,444
    62	0,460
    63	0,476
    64	0,492
    65	0,508
    66	0,525
    67	0,543
    68	0,561
    69	0,579
    70	0,597
    71	0,616
    72	0,635
    73	0,655
    74	0,675
    75	0,696
    76	0,717
    77	0,738
    78	0,760
    79	0,782
    80	0,804
    81	0,827
    82	0,851
    83	0,875
    84	0,899
    85	0,924
    86	0,949
    87	0,975
    88	1,001
    89	1,027
    90	1,054
    91	1,082
    92	1,110
    93	1,138
    94	1,167
    95	1,197
    96	1,227
    97	1,257
    98	1,288
    99	1,319
    100	1,351
    101	1,384
    102	1,417
    103	1,450
    104	1,484
    105	1,519
    106	1,554
    107	1,589
    108	1,625
    109	1,662
    110	1,699
    111	1,737
    112	1,775
    113	1,814
    114	1,854
    115	1,894
    116	1,934
    117	1,975
    118	2,017
    119	2,059
    120	2,102
    121	2,146
    122	2,190
    123	2,235
    124	2,280
    125	2,326
    126	2,372
    127	2,419
    128	2,467
    129	2,516
    130	2,565
    131	2,614
    132	2,664
    133	2,715
    134	2,767
    135	2,819
    136	2,872
    137	2,925
    138	2,980
    139	3,034
    140	3,090


    пропустил через МНК и получил полином третьей степени. Он очень точно вычисляет на всём указанном диапазоне.
    Не знаю, почему так ошибся - вывел зависимость объёма пропорциональную кубу уровня, но решил, что квадратичная зависимость идеально подойдёт.
    Сейчас увеличил степень и всё сошлось.
    Код:
    Функция y(x) имет вид
       y(x)=a[3]*x^3+a[2]*x^2+a[1]*x^1+a[0] ,
       где
            a[3]= 6,7480106322967544E-007
            a[2]= 5,2652074851971609E-005
            a[1]= 1,4053194590600596E-003
            a[0]= 9,4316767126307200E-003
    Но, к слову, если бы "материально не заинтересованный, но просто помогающий другу" Netadmin сразу привёл таблицу в редактируемом виде, то время потраченное на её набор, я потратил бы на обработку.

    Думаю, что с разделением диапазона уровня для вычисления объёма конусной и цилиндрической частей бункера сложностей не будет.
    Чтобы избежать переполнения разрядной сетки и ускорить сами вычисления, полином лучше вычислять по схеме Горнера, тут сложностей тоже быть не должно.

    Будут вопросы - задавайте.

    Во вложении программа с новым полиномом и инструменты расчёта и проверки - программа на Pascal, таблица для Calc (аналог Exel).
    Покрутил сегодня алгоритм. но пока не стал добавлять у Вас там есть возможность добавить еще и цилиндрическую часть. неплохо было бы. но не разобрался как. параметры покрутил. совсем испортил. а так неплохо было-бы все вместить в один макрос.

  5. #5

    По умолчанию УПП ONI

    Доброе утро, на столе имею: ПЛК110-60 и УПП ONI SFB (3 шт.) с RS485.
    Подскажите, как правильно их опросить?
    У них по умолчанию у всех 1 адрес. Т.е. сначала ПЛК должен обратиться к каждому отдельно, перезаписать адрес. И потом уже ко всем вместе для считывания сигналов работа/авария?

  6. #6

    По умолчанию

    Цитата Сообщение от ivanov_wanx Посмотреть сообщение
    Доброе утро, на столе имею: ПЛК110-60 и УПП ONI SFB (3 шт.) с RS485.
    Подскажите, как правильно их опросить?
    У них по умолчанию у всех 1 адрес. Т.е. сначала ПЛК должен обратиться к каждому отдельно, перезаписать адрес. И потом уже ко всем вместе для считывания сигналов работа/авария?
    Делаете опрос одного, включаете по одному и меняете адреса, потом включаете все вместе с разными адресами.
    Опросить и поменять адреса можно любым ОРС сервером, например Овен ОРС https://owen.ru/catalog/opc_serveri
    Последний раз редактировалось kondor3000; 19.11.2024 в 07:56.

  7. #7

    По умолчанию

    Благодарю, попробую.

  8. #8

    По умолчанию

    Это в SciLab?

  9. #9

    По умолчанию

    Спасибо.

    Богат Python библиотеками, простыми в использовании...
    Видимо, нужно уже браться за ум и осваивать, хотя бы на уровне обработки строк, математического анализа.

  10. #10

    По умолчанию

    Доброго дня)
    У меня есть индикатор технологических параметров ARM-ITP2.4.P
    Он работает в режиме slave, но я не могу придумать как сделать так чтобы он будучи подключенным к пр102, в зависимости от включенного входа отсчитывал 30 секунд или минуту

Страница 327 из 404 ПерваяПервая ... 227277317325326327328329337377 ... ПоследняяПоследняя

Похожие темы

  1. ПЛК 110 - Вопросы новичка?
    от di-s в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 15.04.2025, 16:38
  2. Вопросы новичка!!!
    от sau в разделе ПЛК1хх
    Ответов: 42
    Последнее сообщение: 02.05.2022, 19:57
  3. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  4. Вопросы полного новичка
    от Korion в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.02.2010, 10:08
  5. Вопросы новичка по ПЛК
    от Ollegator в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.07.2009, 09:29

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •