- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
int bufImin[32]={ 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000};
int bufImax[32]={20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000};
double bufPmin[32]={ 0, 0, 0, 0, 0, 0, 0, 0, 0, 315, 0, 0, 0, 0, 0, 0};
double bufPmax[32]={ 6, 10, 1, 10, 40, 10 , 10, 10, 10, -315, 0, 0, 100, 100, 10, 1000};
/*...*/
bufPmin[9]=(double)CR1_Lb1_4mA*5-500.0;
bufPmax[9]=(double)CR1_Lb1_20mA*5-500.0;
Presh[9]=CurrentToPresh(I_9, bufImax[9],bufImin[9],bufPmax[9],bufPmin[9]);
bufPmin[10]=(double)CR1_Lb2_4mA*5-500.0;
bufPmax[10]=(double)CR1_Lb2_20mA*5-500.0;
Presh[10]=CurrentToPresh(I_10, bufImax[10],bufImin[10],bufPmax[10],bufPmin[10]);
/*...*/
bufPmax[10]=(double)CR5_Tg_max;
Presh[15]==CurrentToPresh(I_15, bufImax[15],bufImin[15],bufPmax[15],bufPmin[15]);
Разгребаю г*вно от предыдущего программиста...
- зачем массивы на 32 элемента, если их всегда 16.
- зачем массивы с одинаковыми данными.
- зачем инициализировать массив числами, которые никогда не используются.
- массивы используются только для передачи значений в функцию.
- 17 строка. Это ж надо спутать индекс; как незаметно.
- 18 строка. :) ==3
- "Presh" отнюдь не значит "precious", как подумали б американцы. Это Pressure по своей сути.
guest 25.06.2011 20:26 # +3
absolut 26.06.2011 10:27 # +2
Lure Of Chaos 25.06.2011 21:39 # 0
Dummy00001 25.06.2011 21:59 # 0
guest 25.06.2011 22:12 # −1
MereNonsense 25.06.2011 22:15 # 0
Dummy00001 25.06.2011 22:17 # 0
TheCalligrapher 26.06.2011 00:20 # +2
Элементов - 32, просто верхние 16 автоматически проинициализированы нулями. А используются ли они в коде - это уже к вам вопрос. Если принципиально не используются, то тогда, конечно, они лишние.
- зачем массивы с одинаковыми данными.
Придирка необоснованная. Массивы скореее всего содержат некоторые настраиваемые значения, которые в общем случае будут разными. Это просто в вашем частном случае они оказались выставлены в одинаковые значения. Т.е. массивы были заведены для того, что иметь возможность задать разные элементы. Просто пока эта возможность не понадобилась.
- зачем инициализировать массив числами, которые никогда не используются.
Ну для этого надо видеть всю картину работы с этими массивами в коде... Вам виднее.
- массивы используются только для передачи значений в функцию.
И?
MereNonsense 26.06.2011 01:35 # 0
- там, где одинаковые значения - они таки настраиваемые, но в 90% случаев равны 4000 и 20000. И это дублирование - настройка осуществляется в другом, более официальном и обязательном месте.
- я уже показал всю картину - число записывается в массив, потом заменяется другим числом и передается в функцию. А если не заменяется - этот Presh никого не интересует.
- "массивы используются только для передачи значений в функцию" - проще использовать две переменные (не массивы) bufPmin, bufPmах или же передавать (double)CR1_Lb1_4mA*5-500.0 и все подобное сразу в функцию. Все те 4 массива больше нигде не используются.
SadKo 27.06.2011 09:27 # 0
MereNonsense 27.06.2011 12:14 # 0
Изготовитель промышленных контроллеров дал автору пример программы, чтобы было с чего начать, на что упираться. А тот подправлял пример под свои задачи, особо не напрягаясь или не понимая, что делает.
absolut 27.06.2011 12:48 # +2
bugmenot 27.06.2011 13:23 # +2
MereNonsense 27.06.2011 13:46 # 0
guest8 08.04.2019 21:00 # −999
guest8 09.04.2019 18:09 # −999