Text
                    О. И. МАРТЫНОВА
А.В .НИКИТИН
В.Ф .ОЧКОВ
В0Д0П0ДГ0Т0ВКА
РАСЧЕТЫ
НА ПЕРСОНАЛЬНОМ
КОМПЬЮТЕРЕ
Москва
Энергоатомиздат
1990


ББК 31.37 М29 У Д К 621.182.12:681.31 М29 Рецензент Е. М . Махалов Редактор издательства Г. И . Мушинска Мартынова О. И . и др. Водоподготовка: Расчеты на персональном компью- тере/О.И. Мартынова, А.В. Никитин, В. Ф. Очков.- М.: Энергоатомиздат, 1990. - 2 16 с.: ил. ISBN 5-283-00131-8 Рассмотрены методики решения практических задач в области водоподготовки и водного р ежим а тепловых и атомных электростан­ ций с подробным описанием этапов постановки задачи, построения математической модели, разработки алгоритма и написания програм­ мы. Д ля описания алгоритмов использованы блок-схемы и структур­ ные диаграммы. Программы составлены с использованием алгорит­ мических языков Бейсик и Паскаль. Изложены приемы работы с персональным компьютером. Для инженерно-технического эксплуатационного персонала тепловых и атомных электростанций, а также для работников проект­ ных и наладочных организаций. 2203060000-188 М -------------------------- 159-90 ББК 31.37 051(01)-90 ISBN 5-283-00131-8 © Авторы, 1990
ПРЕДИСЛОВИЕ В настоящее время у нас в стране взят курс на резкое уве­ личение производства средств вычислительной техники, успешное внедрение которой во все сферы народного хозяйства немыслимо без ликвидации компьютерной неграмотности. Не за горами время, когда использование ЭВМ будет лими­ тироваться не их числом и надежностью, а умением людей эф­ фективно использовать эти умные машины в качестве своих помощников. Все более широкое распространение в нашей стране и за ру­ бежом получают профессиональные персональные компьюте­ ры. У этих машин основные языки программирования Бейсик и Паскаль. Бейсик возник ка к язык для начинающих, но даль нейшее его развитие и совершенствование позволили исполь­ зовать средства этого алгоритмического языка высокого уров­ ня для решения сложных задач из различных областей знаний. Опыт обучения приемам программирования показывает, что наиболее быстрый и эффективный путь освоения ЭВМ - это разбор с ее помощью хорошо знакомой для обучающегося задачи, алгоритм ’’ручного” решения которой ему понятен. Очень важно при этом выбрать достаточно интересную проб­ лему с практическим выходом, проблему, с которой нередко приходится сталкиваться в профессиональной деятельности. На этом принципе и построена книга. В ней объединены 19 задач, касающихся практически всех сторон технологии водоподготовки и организации водного ре­ жима ТЭС и АЭС. Выбор характера задач помимо их практической пользы определялся следующим: ставилась цель на конкретных примерах проиллюстрировать основные приемы программирования: обмен информацией с периферией, организация простых и сложных циклов, последо­ вательное приближение, обработка литерных переменных, ис­ пользование массивов, условных переходов, подпрограмм; з
хотелось показать, ка к можно использовать вычислитель­ ную технику для решения ’’невычислительных” задач, ка к можно алгоритмизировать и перевести на язы к персональной ЭВМ нетрадиционную задачу, решение которой не сводится к вычислениям по сложным, но известным формулам. Описание задачи включает ее математическую постановку, описание алгоритма решения, блок-схему или структурную ди­ аграмму алгоритма решения с выделением структурных эле­ ментов, листинги программ на Бейсике и (или) Паскале, прото­ кол прогонки типового примера, перечисление новых возмож­ ных сфер применения программ или их отдельных участков, описание основных направлений развития и совершенствова­ ния алгоритмов и программ. При написании программ на Бейсике учитывались различия в версиях этого языка, реализованных на таких отечественных и зарубежных ЭВМ, как СМ-4, ’’Искра 226” , ДВК, ’’Электроника ДЗ-28” , IBM PC, ЕС 1840, ’’Искра 1030” . Главы книги 1-6, 8-17 написаны О.И. Мартыновой и В.Ф . Оч­ ковым (МЭИ), гл. 18 и 19 - А .В. Никитиным (НИКИЭТ), гл. 7 - Б. М . Лариным (Ивановский энергетический институт). Авто­ ры выражают глубокую признательность инженерам J1. А . Зай­ цевой, А . С. Климову, А . Н . Короткову и Н. И . Хильдебрандт, принимавшим участие в разработке и отладке программ. Ознакомившись с книгой, читатели, вероятно, захотят опро­ бовать программы книги , модернизировать их, приспособить к своим конкретным условиям. Переносить программы в па­ мять машины намного быстрее и безошибочней с магнитного слоя диска, чем со страниц книги. (105835, Москва, Е-250, ГСП, Красноказарменная, 14, УНПЦ МЭИ) предлагает частичное решение этой проблемы. С согласия авторов кни ги и на хоз­ расчетных началах УНПЦ может передать организациям и частным лицам магнитные диски с текстами программ, запи­ санных для персональных компьютеров ’’Искра 226” и совмес­ тимых с IBM PC. Все пожелания и замечания по книге просьба направлять по адресу: 113114, Москва, М-114, Шлюзовая наб., 10, Э нергоатомиз­ дат. Авторы
ВВЕДЕНИЕ. ТРЕБОВАНИЯ К ИНЖЕНЕРНЫМ ПРОГРАММАМ За последние годы инженерный труд преобразился. При раз­ работке новой техники и технологических процессов, при планировании, проведении и обработке результатов экспери­ ментов, в научной организации труда - во многих областях ин­ женерной деятельности работа с ЭВМ почти полностью вытес­ нила аналитические методы и ручной счет. Становится реаль­ ностью машинное проектирование отдельных деталей, узлов сложных машин и механизмов. Появился самостоятельный класс вычислительных программ для ЭВМ - инженерных про­ грамм. Особый импульс этому процессу придало появление и широ­ кое распространение персональных компьютеров (ПК), призван­ ных революционизировать инженерный труд. Инженер мо­ жет общаться с такой машиной, не прибегая к помощи про­ граммиста - используя пакеты прикладных программ или соб­ ственные программные разработки. Потребность в инженерных программах велика, и разработ­ кой их занимаются многие авторы и коллективы. Большинство авторов заинтересовано в широком использовании и общест­ венном признании своих программ, но такое происходит дале­ ко не всегда. Причин тому много: узкая постановка задачи, не­ удачно выбранный язы к программирования, неудобство зада­ ния исходной информации, необеспеченность константами и т. д . Время и практика безжалостно просеивают программы, об­ рекая большинство из них, а с ними и труд инженера, на забве­ ние. По каким критериям идет отсев ? Какие требования предъ­ являет практика к инженерным программам ? Приступая к разработке инженерной программы необходимо четко представлять ее назначение. К ак правило, она предназ­ начена для решения реальных задач, стоящих перед разработ­ чиком новой техники или технологии. Но любой алгоритм решения поставленной задачи, лежащий в основе программы, описывает не сам процесс, а его математическую модель. Поэ­ 5
тому очень важно, чтобы отступления модели от реальности были минимальными и обоснованными. Необходимо четко представлять, на каких стадиях проекти­ рования (техническое предложение, эскизный, технический или рабочий проект и т. д .) может быть использована разраба­ тываемая программа. На ранних стадиях проектирования важно обеспечить много­ вариантность расчетов и широту поиска, на окончательных стадиях - глубину и точность решения наиболее трудных вопросов. Эти аспекты напрямую связаны с постановкой зада­ чи и выбором численного метода ее решения. При разработке инженерных программ может быть рекомен­ дован метод нисходящего проектирования. Программа при этом состоит из самостоятельных блоков (модулей, подпро­ грамм), в каждом из которых реализуется набор отдельных про­ цедур. Каждый блок, как и вся программа в целом, на входе требует упорядоченного массива информации, выдавая на вы­ ходе затребованный упорядоченный массив результатов расче­ та. Работа отдельных блоков может координироваться управ­ ляющей программой. Массивы исходных данных и результатов расчета по програм­ ме должны выводиться на принтер, графопостроитель или дисплей. Опыт показывает, что контроль правильности ввода первого массива обязателен. Такую работу можно поручить и самой ЭВМ, введя в программу блоки проверки правильности исходных данных, которые должны повторять запрос исходных данных, если они выходят, например, за рамки допустимых значений В программах с блочной структурой существенно упрощается процесс модернизации отдельных блоков, использование отра­ ботанных готовых модулей из других программ, введение в программу дополнительных блоков, объединение серии прог­ рамм в более сложные программные комплексы. Блочная структура программы упрощает процесс ее написа­ ния, отладки и тестирования. Проверку программы рекоменду­ ется вести в два этапа. На первом этапе проверяется работо­ способность самого алгоритма (выявление ’’особых точек” : де­ ление на нуль, зацикливание, переполнение ячеек памяти, наличие лишних или недостающих корней уравнений и т. д .). Этот этап может проводиться на достаточно произвольных (нефизичных) массивах исходной информации. На втором б
этапе отладки проверяется смысловая корректность получае­ мых решений. Критерием сравнения здесь могут быть экспериментальные данные, известные свойства объекта расчета, здравый смысл, наконец. Программа должна выдавать максимум полезной информа­ ции на выходе. Нужно заранее тщательно продумать, какие свертки, интегральные или дифференциальные вспомогатель­ ные характеристики, представляющие интерес для оптимиза­ ции ил и анализа работоспособности разрабатываемого устрой­ ства, можно извлечь из программы. Если информативная над­ стройка достаточно объемна и не во всех случаях необходима, целесообразно проводить ее обработку и вывод на печать лиш ь по специальному признаку. Инженерная программа должна обеспечивать необходимую точность расчетов, что связано с коэффициентами запаса на проектирование, а через них - с экономичностью установки или технологического процесса, научным уровнем разработки. Если, например, в рассматриваемой ниже программе РНВВЭРД (см. гл . 18) погрешность расчета pH реакторной воды на АЭС с ВВЭР велика, то для нейтрализации борной кислоты и гарантированного поддержания щелочной реакции среды придется вводить в реакторную воду дополнительное кол и­ чество щелочи (КОН), что приведет к удорожанию эксплуата­ ции станции. Возможность и необходимость достижения задан­ ной точности расчетов связаны с такими факторами, ка к достигаемая погрешность экспериментальных методов, огра­ ничения, накладываемые аналитическими методами расчета, уровнем знаний теплофизических, физико-химических процес­ сов и констант, возможности вычислительной техники и т. д . Время расчета вариантов - одна из важнейших характерис­ тик инженерных программ. Это определяется тем, что на каждой стадии разработки проекта при существующих ограни­ чениях на сроки проектирования, людские ресурсы, машинное время при реальной наработке ЭВМ на отказ и т. д . необходимо выполнить расчет десятков и сотен вариантов. Опыт показыва­ ет, что инженерная программа должна просчитывать все необ­ ходимые функционалы за 5-10 мин на вариант. Программа со временем счета до 20-30 мин на вариант найдет ограниченное применение лишь на последних стадиях проектирования. Программы со временем счета варианта более 30-60 м ин най- 7
дут разовое применение при решении отдельных вопросов про­ ектирования. Персональные ЭВМ вносят коррективы в назван­ ные цифры. Такую машину, например, можно оставить счи­ тать вариант на ночь или на выходные дни, отключив дисплей и периферию, если это возможно по правилам техники безопас­ ности. Инженерные программы должны бщть ориентированы на ши­ рокий круг потребителей. Для этого программы должны быть удобны в эксплуатации. Это означает, что составление вариан­ тов не должно вызывать затруднений у стороннего пользовате­ ля. Для этого программу следует дополнить участками актив­ ного диалога пользователя с машиной. Необходимо исключить ручной ввод больших массивов информации. В частности, прог- гамма должна быть оснащена библиотеками физико-химичес­ ких констант, хранимых на внешних носителях. Желательно, чтобы графическую и буквенно-цифровую распечатку резуль­ татов расчета можно было помещать непосредственно в техни­ ческую документацию. Авторы инженерной программы должны стремиться к тому, чтобы ссылка в технической документации на машинный рас­ чет по их программе служила гарантией определенного науч­ ного уровня разработки. Инженерная программа должна сопро­ вождаться научным отчетом по ней с описанием использован­ ного алгоритма, перечнем идентификаторов, блок-схемой, ин­ струкцией по составлению вариантов на расчет, протоколом прогонки контрольного примера. Реальный перечень требований к инженерным программам значительно шире рассмотренного нами. Это типичная опти­ мизационная многопараметрическая задача, решаемая боль­ шинством авторов на основе их опыта и интуиции. Мы разделя­ ем бытующее мнение, что разработка совершенных инженер­ ных программ несет в себе элементы искусства. Программы в книге написаны на двух основных языках про­ фессиональных персональных компьютеров - Бейсике и Паскале. Язык Паскаль более подходит для технологии нисходящего программирования за счет своей модульности и структурированности, использования процедур, локальных и глобальных переменных. Бейсик же (вариант П К ’’Искра 226”) имеет богатые возможности графического отображения информации, организации сложного диалога центральной ЭВМ с пользователем и периферией [20,27]. 8
Немного о стиле написания программ на Бейсике, поме­ щенных в книге [6,9 ,10,11 ,12 ,23,25,26]. Бейсик-программы трудны для обзора и анализа по трем ос­ новным причинам. Во-первых, на отечественных и зарубежных ЭВМ реализова­ но много различных версий Бейсика. Они отличаются друг от друга не только синтаксисом отдельных операторов и их чис­ лом, но и особенностями выполнения машиной тех из них, ко­ торые в разных версиях языка пишутся одинаково. Типичный пример тому - оператор печати с форматом. На одних машинах он округляет выводимое на дисплей или принтер число, на других - нет. Во-вторых, разветвленные алгоритмы на Бейсике, к а к прави­ ло, реализуются операторами условного и безусловного перехо­ дов. Такой прием в неумелых руках (а они-то в основном и со­ прикасаются с клавиатурой персональных ЭВМ) нередко пре­ вращает программу в запутанный лабиринт, где алгоритм решения просматривается с трудом. Хроническая болезнь та­ ких программ - высокая вероятность зацикливания, трудность отладки и модернизации. В-третьих, наиболее распространенные версии Бейсика (ЭВМ СМ-4, ДВК, ’’Искра 226” и др.) оперируют переменными, имя ко­ торых идентификатор) не превышает двух символов - латинс­ кой буквы и цифры. Из-за этого при разборе программ прихо­ дится все время заглядывать в список переменных, уяснять, что скрывается за безликой буквой или парой символов: А, В1, С9 и т. д . На последней версии Бейсика (BASIC А), реализован­ ной на ПК ЕС 1840 и ’’Искра 1030” , длина идентификатора мо­ жет достигать 40 знаков. Но таких машин пока мало в эксп­ луатации - в книге помещено всего несколько программ, где длина имени переменной превышает два знака. Часто рекомендуется в Бейсик-программах записывать толь­ ко по одному оператору на строке. Это было правилом при ра­ боте с ранними версиями Бейсика, это стало устаревшей тра­ дицией в настоящее время, от которой авторы книги отказа­ лись. Дело в том, что раньше единственным способом редакти­ рования строк был их повторный набор, а при сбое выполнения программы выдавалось сообщение только о номере строки, один из операторов которой привел к ошибке. Устаревшей тра­ дицией стала и нумерация десятками строк программы. Стро­ ки с номерами, не кратными десяти, резервировались под даль­ нейшее развитие программы. 9
В последних версиях Бейсика есть специальные команды перенумерации строк с автоматическим изменением адресов переходов. При аварийном останове на таких машинах отмеча­ ется оператор - виновник сбоя. Редактирование программы су­ щественно облегчают команды исключения и вставки симво­ лов на ее строках.. Все это позволило авторам отступить от правила записи одного оператора на строке и объединить их в управляющие конструкции, выделить рамками структурной диаграммы. Пояснить такой стиль написания программ и их подготовки к публикации лучше всего на конкретных примерах. Известно, что алгоритм любой сложности можно реализо­ вать, использовав управляющие конструкции лишь трех видов: функциональный блок (следование), альтернативный блок (выбор), итерационный блок (повторение) [12]. 10 RЕМ ПРО ГРАЙ ИЛ ОПРЕДЕЛЕНИЯ ЖЕСТКОСТИ ВОДЫ 20 INPUT "КОНЦЕНТРАЦИЯ ИОНОВ КАЛЬЦИЯ<И Г / К Г >?" ; СА 30 INPUT "КОНЦЕНТРАЦИЯ ИОНОВ ИАГНИЯ( ИГ/КГ)? " ;HG 40 Н=СА/20.04+И6/12.16:ЙЕИ РАСЧЕТ ЖЕСТКОСТИ 50 PRINT USING "1ЕСТК0СТЬ=М .# # # НГ -ЭКВ/КГ'*,Н Прогр. В.1. Бейсик-программа определения жесткости воды Программа определения жесткости воды по результатам ее анализа состоит только из функционального блока. Операто­ ры, ограниченные его рамками, выполняются в их естествен­ ной последовательности: слева направо и сверху вниз. Опера­ торы условного и безусловного переходов это правило могут нарушать лишь при условии, если адреса переходов находятся либо в самом блоке, либо сразу после его окончания. 10 REM ПРОГРАММА ОПРЕДЕЛЕНИЯ ВИДОВ ЖЕСТКОСТИ ВОДЫ 20 INPUT"K0HU.ИОНОВ СА++,MG++ , НС03 - (МГ/КГ)?” ; СA,MG, НС03 30 CA=CA/20.04;MG=MG/1?.16:HC03=HC03/61. 0 2 : H=CA+MG 40 I F Н>НС03 ELSE НС=Н THEN НС=НС03 50 HNC=H - HC:Сп=МГ -ЭКВ/КГ" 60 PRINT"ЖЕСТКОСТЬ";:PRINT USING Сп,н 70 PRINT"ЖЕCTK0СТЬ КАРБ0НАТНАЯ:РRINТ USING Сп,нС 80 PRINT"ЖЕ СTK0 СТЬ НЕКАРБРНАТНАЯ" ; : PR I N Т USING Cn.HNC Прогр. В.2. Бейсик-программа определения видов жесткости воды 10
В программе определения видов жесткости реализованы два функциональных блока (строки 10-30 и 50-80) и один альтерна­ тивный на строке 40. В заголовке альтернативы записывается логическое выражение. Если оно верно, то выполняется пра­ вое плечо альтернативы, нет - левое. Плечи альтернативы - это новые функциональные блоки. В нашем случае они состоят только из одного оператора присвоения. 10 20 30 REM ПОИСК КОРНЯ МЕТОДОП DEF FNY(X)=...:REM ВИД INPUT "Х1,Х2,ТОЧНОСТЬ?" СЕКУЧИХ ПЭВМ ЕС ФУНКЦИИ ;X1,Х2#Е 18 АО 40 WHILE ABS( X1-Х2)>Е 50 Х3= X2-FNY(Х2)*< Х2-Х1) / (FNY<X2)-FNY(XI)) 60 X1 = X2: Х2»ХЗ: WEND 70 PRINT "Y =0 ПРИ Х=ИХ2 Прогр. В.З. Бейсик-программа поиска корня алгебраического управления ме­ тодом секущих Программа определения корня алгебраического выраже­ ния (его вид нужно записать на строке 20 функцией пользова­ теля) реализует третью управляющую конструкцию - итера­ ционный блок (цикл "пока” ). Функциональный блок (строки 50 и 60), составляющий тело цикла, будет выполняться много­ кратно до тех пор, пока не станет ложным логическое выраже­ ние заголовка цикла. Три первые программы книги показывают, что на Бейсике разветвленный алгоритм любой сложности можно реализовать без опоры на метку, использовав две управляющие конструк­ ции: альтернативу (if...then...else...) и ц и кл (while...wend). Но это возможно, естественно, только на машинах, понимающих соот­ ветствующие управляющие операторы. На большинстве же ма­ шин, находящихся в эксплуатации, управляющие конструкции реализуются операторами условного и безусловного переходов с опорой на метку. 10 REM ПОИСК КОРНЯ МЕТОДОМ ПОЛОВИННОГО ДЕЛЕНИЯ ПЭВМ ИСКРА 226 20 DEFFN Y(X)=Х * 2 - 3 : REM ВИД ФУНКЦИИ 30 INPUT "Х1,Х2 ,ТОЧНОСТЬ",Х 1,Х2,Е 40 IF ABS <Х1-Х2)<«Е THEN 80 50 Xs СХ1+ Х 2)/ 2 : REM ДЕЛЕНИЕ ОТРЕЗКА ПОПОЛАМ 60 IF S6N(FNY(Х 1))<>SGN(FNY (X )) THEN 65: X1= X:G0T0 70: REM ИЛИ GOTO 40 65 Х2=X 70 GOTO 40 80 PRINT "Y=0 ПРИ X=" ;X2 Прогр. В.4. Бейсик-программа поиска корня алгебраического уравнения методом половинного деления 11
Четвертая программа, по которой ищется корень функции методом половинного деления (бисекции), написана для ПК ’’Искра 226” . В программе управляющие конструкции (цикл ’’пока” - строки 40-70 и альтернатива - строки 60-65) исполь­ зуют переходы к меткам - номерам строк. В программах книги методы поиска корня алгебраического уравнения используются для решения уравнения электроней­ тральности воды (см. программы ТИТР, СТОКИ и РНВВЭРД). При реализации алгоритмов применяются еще три вспомога­ тельных управляющих блока: итерация с постпроверкой (цикл ” до” ), цикл с параметром и множественное ветвление. Вспомо­ гательными они называются потому, что их несложно заменить вышеописанными конструкциями. 10 RЕМ ПРОГРАММА РАСЧЕТА РАСТВОРИМОСТИ CAS04 20 INPUT "ПРОИЗВЕДЕНИЕ РАСТВОРИМОСТИ CAS04?";PR 30 12=. 001 : RЕМ ИОННАЯ СИЛА В ПЕРВОМ ПРИБЛИЖЕНИИ 40 11=12:F2=10*(-2*SGR(1 2)/(1 +SQR(12))) 50 CA=SQR(PR)/ F2:S04=CA 60 I 2= . 5* (4* СA+4* SO4) :REM ИЛИ I2=4»CA 70 IF ABS((I1-I2)/I2)> .01 GOTO 40____________________ 80 PRINT "РАСТВОРИМОСТЬ СASO4="1 3 6140 *СA; "МГ/ КГ Прогр. B.5. Бейсик-программа расчета растворимости соли Программа расчета растворимости сульфата кальци я содер­ жит управляющий блок - итерацию с постпроверкой (цикл ” до” ). Здесь реализуется метод последовательных приближе­ ний: задается начальная ионная сила раствора (строка 30), по которой можно определить коэффициент активности двухва­ лентных ионов (конец строки 40) и равновесные концентрации ионов кальция и сульфат-ионов (строка 50). Если уточненное значение ионной силы раствора (см. строку 60) будет отличаться более чем на один процент от предыдущего заданного, то ус­ ловный оператор строки 70 передаст управление в начало функ­ ционального блока, составляющего тело цикла ”до” , - на стро­ ку 40. Прогр. В.6. Бейсик-программа ли­ нейной аппроксимации методом наименьших квадратов 10 REM МЕТОД НАИМЕНЬШИХ КВАДРАТОВ 20 SX=0:SY=0:SXY= 0 :SX2=0 30 INPUT "ЧИСЛО T04EK?";N___________ 40 FOR 1=1 TO N___________________ 50 PRINT "X"I",Y "I;:INPUT X,Y 60 SX=S X+X : SY=SY+Y 70 SXY=SXY+X*Y :SX2=SX2+X*X 80 NEXT___________________________________ 90 D=N*SX2-SX*SX:IF D=0 THEN STOP 100 A=(SY*SX2-SXY*SX)/D 110 B=(N*SXY-SX*SY)/D 120 PRINT "Y=" A"+ X*" В 12
Цикл ”до” отличается от цикла ’’пока” лишь тем, что опера­ торы тела цикла ’’пока” могут быть ни разу не выполненными. Тело же цикла ”до” выполняется как минимум 1раз. Если наперед известно, сколько раз будут выполняться опе­ раторы тела цикла, то используется управляющая конструк­ ция - цикл с параметром. Она реализована в программе расчета коэффициентов линейного управления, аппроксимирующего методом наименьших квадратов координаты точек. Для этого циклически ведется запрос этих координат (см. строку 50), по которым рассчитываются коэффициенты системы двух линей­ ных алгебраических уравнений (см. строки 60 и 70). Решается оно методом Краммера операторами строк 90-110. Цикл с параметром, так же как и цикл ”до” , несложно заме­ нить циклом ’’пока” . 10 REM ОПРЕДЕЛЕНИЕ ДНЯ НЕДЕЛИ ПО ДАТЕ 20 INPUT " ДАТА(ДД,ММ,ГГ)?";Р, M,G:M=M+1 30 I F М<4 THEN M=M+12 :G=G-1 40 0=1NT(3 65 .25*6 )+1 NT(30.6001*M)+D 50 D=1+D-7*INT(D/7) 60 ON 0 GOTO 70.80 -90 -100-110 -120-130 70 PRINT "B0CKPECEHbE*':G0T0 140 80 PRINT " ПОНЕДЕЛЬНИК":G0T0 140 90 PRINT "ВТOPН И К GOTO 140 100 PR INT "CPE flA":G0T0 140 110 PR INT "ЧЕТВЕРГ” :G0T0 140 120 PR INT "ПЯТНИЦА":G0T0 140 130 PRINT "СУББОТА" 140 END Прогр. В.7. Бейсик-программа определения дня недели по календарной дате Последняя управляющая конструкция - множественная аль­ тернатива, которая представляет собой упрощенную форму за­ писи нескольких простых альтернатив и используется в прог­ рамме определения дня недели по заданной календарной дате. Оператор ветвления (см. строку 60) передает управление прог­ раммой на строку, номер которой определяется текущим зна­ чением параметра ветвления (D). Алгоритмы работы с календар­ ными датами широко используются в программах научной орга­ низации труда (прогр. 17.3). 13
>- Г- чt-i >■X 0£О IШШ IО CD и*Z*z Очш • Ш ОЛI(МI •|-+ь- zпmI I нХнК © <L*J<I •чк><схж: • IIvи>- Оч-••Л••А IIIIП>*П >* ►нИ4ПО КZШII*• ^ чани <->эзе • •40 ос X»-НшZ о инU. о: Оts < о:ш > О- СО 1-4О Н-и Z•• эо >- t-4 гх и.3 « X X X г=г X а 0£* 3 >- < ГО ЭX < и >- а. ь- >> а XИ ш н о шек LU < X кX ь- ОСXZ н с С Xш о •• ш (JJы X >- X < Z о Г-ЧоZС •• >- L.»sи »-кО »s о •• <ш Z ZZ% о о эXIH ч ч^ш оX псмк вv-' -г Xс'У X а. CL шшX ч *>>Xн UJ •• CD •• XX м • э к ГЧ11-4э н X CDк •0.ко.<>о аV)Н ш Z ь- • <ЭZт-с; ш ->о-» 9С*н Z ч 0.н СОэ <£> Лша; оZ••о соZ••Z XXа. (VI *н>-ко о шош ш о•• lb. wо••иос; оX♦X с Z ШЖXXхо<Z••к<м1-о а. >» О чУ < У о ♦ 1 + х: о м ,*ч ожZ<о XX/■чУчОсшь £н>-нXь-/-Ч<»н<н ->1-ш0£ О ч^ш •• С •нXV£ч^ Ч^о ОС•• Xкг-гоос ч^>-X>-X Xон<оII w ч^••И UшIIXлNЛИNго *ч X>- •н mVо:инн>-Уч>-«-чкучQl*4.о Z• эоМу-ч *н н X о I- о: к U. • 0£ to о аси U.ЧУи.ЧУшЧУMuЙоО МйОоILиоЧУН4XиXZX•иоои. о >-Z и.о »нCLи.X о чг-СОЮ IAчэN. оось *- CsJ 3 4 in *о во
Паскаль - второй по распространенности после Бейсика я зы к программирования, используемый на ПК. В Паскале есть понятие метки, но широко использовать ее не рекомендуется. Считается, что квалификация программиста, пишущего на этом языке, обратно пропорциональна числу использованных им ме­ ток. На Паскале реализация разветвленного алгоритма с цикла­ ми и альтернативами ведется через специальные управляющие языковые конструкции. Этот прием иллюстрируется програм­ мой-билингвой поиска локального максимума многомерной функции. Слева помещена программа на Бейсике, справа - на Паскале. В них задействованы все виды циклов и альтерна­ тивы. Эта программа используется ка к модуль в программе ЭФФСТИСП определения оптимального парораспределения в барабане котла при ступенчатом испарении. У читателя, знакомого с азами программирования, может возникнуть законный вопрос: а нужно ли столь неукоснительно придерживаться правил структурного программирования, опи­ санных выше ? Ведь на Бейсике, Фортране и некоторых других языках допускаются какие угодно переходы к меткам. Две основные причины заставляют программистов структурировать программы. Во-первых, какие угодно переходы в программах приводят к тому, что в них через некоторое время не сможет разобраться даже сам автор, не говоря уже о ком-то другом, кто захочет ее модернизировать, приспособить к своим конкретны м условиям. Во-вторых, руководствуясь принципами структурного программирования, несложно из готовых, уже кем-то разрабо­ танных и отлаженных блоков составлять новые, более сложные программы. Ведь программные структурные блоки имеют толь­ ко по одному входу и выходу, следовательно, их просто состы­ ковывать друг с другом. Такая ’’нисходящая” технология прог­ раммирования (метод ’’сверху вниз” ) особенно подходит для работы с Паскалем, Турбо- и Квикверсиями Бейсика, где есть локальные и глобальные переменные, а сам программный модуль оформляется в виде процедуры. Структурированная программа представляется системой вложен­ ных друг в друга модулей. Тот, кто овладел навыками составления таких программ, быстро их пишет и отлаживает. В этом он подо­ бен конструктору современной аппаратуры, состоящей из от­ дельных электронных блоков - больших интегральных схем, блоков питания и т. д . Их число не так уж велико, но из них можно собрать разнообразные электронные приборы. Неструкту- 15
Блок-схема Структурная диаграмма I _____ ______ ____ I Функциональный блок Альтернатива Цикл с параметрам Рис. В.1. Стандартные управляющие конструкции алгоритмов 16
рированная программа подобна старым электронным схемам, где простейшие элементы (резисторы, конденсаторы, транзис­ торы и т. д .) связаны между собой множеством проводов. Соби­ рать подобную схему, а тем более искать в ней неисправность чрезвычайно трудно. С другой стороны, некоторые элементы неструктурированнос- ти в Бейсик-программах существенно облегчают программирова­ ние на этом языке. Такой прием нередок и в конструировании электронной аппаратуры, где среди больших интегральных схем можно заметить и элементарный конденсатор. Несколько слов об оптимальности помещенных в книге прог­ рамм. Оптимизация программы преследует цель либо снижения времени ее прогонки, либо экономии памяти машины. Но нередко оптимизированная программа теряет в плане на­ глядности. Поэтому авторы нарочито не задействовали в неко­ торых программах приемы их ускорения (чистка циклов, исполь­ зование подпрограмм и т. д .), имея в виду, во-первых, их нагляд­ ность и, во-вторых, быстродействие и достаточный объем памя­ ти современных П К. Внимательный читатель, знакомый с Бейсиком, заметил, что в первых восьми программах, написанных на этом языке и поме­ щенных в книге, некоторые операторы отличаются по синтакси­ су. Мы специально это сделали, чтобы подчеркнуть, что в книге будут использоваться различные версии этого язы ка. Словарь синонимов Бейсика, помещенный в конце книги, поможет в них разобраться. Кроме того, в конце книги читатель найдет пе­ речень служебных слов программ книги . В него добавлены слу­ жебные слова и из другого языка, распространенного на ’’боль­ ших” ЭВМ, - из Фортрана. Можно назвать еще ряд алгоритмичес­ ких языков, применяемых для решения инженерных задач на ЭВМ: Фокал, Си, ПЛ, ЛИСП и др. В ряде случаев в инженерных расчетах очень эффективно применение программируемых микрокалькуляторов. Наряду со структурными диаграммами (прием вписывания в них программ предложен одним из авторов книги) для графи­ ческого изображения алгоритмов применяются и блок-схемы. На рис. В.1 помещены элементы блок-схем и их аналоги на структурных диаграммах. 2-6071
Глава первая. СОЗДАНИЕ БАНКА ДАННЫХ ПО ВОДНЫМ ИСТОЧНИКАМ. ПРОГРАММЫ ЗАПВОД И БАНКВОД 1.1 . Постановка задачи Одним из первых этапов проектирования водоподготовитель­ ных установок ТЭС и АЭС является определение параметров источника водоснабжения. Такие данные в справочной литера­ туре [7,32] обычно представлены в виде таблиц, строки которых характеризуют водные источники, а столбцы - их параметры: Таблица 1.1. Ориентировочный состав примесей некоторых источников водо Источник водоснаб­ жения Грубодис­ персные Окисляе- мость, МГ О2/КГ Щелоч­ ность, мг-экв/кг Жесткость, мг-экв/кг Содерж вещества, мг/кг карбо­ натная общая Са2+ Реки Амур 16 - 0,5 0,5 0,5 б Амударья - - 2,4 2,4 4,7 66,7 Ангара 2 - 1,2 1,1 1,1 17,2 Белая 7 - 5,8 5,8 12,4 232,4 Волга 10 8,2 3,3 3,3 3,3 48 Днепр - 15 3,9 3,9 4,2 60,1 Дон 2,8 3,5 3,8 3,8 8,6 110 Енисей 9 - 2,3 2,3 2,6 37 Иртыш - - 2,3 2,3 2,4 30,2 Кама 5 - 1,4 1,4 3,6 63,6 Клязьма 8 - 2,6 2,6 3,2 47 Москва - - 2,2 2,2 2,8 40 Ока 144 - 5,15 5,15 8,1 92 Урал 18 34 - 3,8 3,8 6,2 108
ионный состав, технологические показатели и др. Таблица 1.1 - пример такого рода характеристик водных источников. Такая таблица представляет собой двумерный вещественный массив, который можно записать на магнитный диск ПК в виде файла и искать в нем нужные данные по названию, водного ис­ точника, например. На магнитном диске при этом должны хра­ ниться еще два вспомогательных одномерных литерных масси­ ва с шапкой таблицы (наименования и размерности параметров воды) и с ее правым столбцом (названия водных источников). снабжения ание ионов, мг/кг M g2+ Na++К+ Fe3+ НС03- S02- ci- N0- йо;2 2,4 1,6 30,5 5,6 2 1,6 14 16,7 32,2 48 146,4 49 110,6 0,3 - 2,9 11 - 73,2 8,1 2 - 5,6 9,7 9,2 0,2 354 321,6 11,2 - - 10,9 25 - 201 49 7,8 - - 14,6 61,6 6 238 105 31,6 - 5 33,3 146 0,08 232 291 182 0,9 - 9,1 6,9 - 140 10,1 3,2 - 11,4 10,8 39 - 140 41,5 19 2,8 9,7 5,1 43,7 - 85,4 14,8 125 - 102 10,3 34,7 - 158,7 52,7 21,7 1,2 16,6 9,8 - - 131 19,2 9 - 1,5 19 33,5 - 314 62 24 - 10 9,7 110 - 234,2 107 170 — 9,1 19
Продолжение табл. 1.1 Источник водоснаб­ жения Грубодис­ персные Окисляе- мость, МГ С^/КГ Щелоч­ ность, мг-экв/кг Жесткость, Содерж мг-экв/кг вещества, мг/кг карбо­ натная общая Са2+ Моря Каспийское - - 3,2 3,2 86 325 Черное - - 3,2 3,2 70,6 253 Океан - - 2,3 2,3 128,4 408 Водохран илища Исаковское - 3,6 4 4 9,5 110 Терновское - 4,5 3,5 3,5 26,1 240 Пруды Несветай ГРЭС - 24 3,3 3,3 8,35 84,1 Черепетская ГРЭС - 4,9 2,7 2,7 3,34 56,9 Озера Байкал - - 1,12 1,12 1,43 21,3 Балхаш — — 3,17 3,17 10,7 38,7 1.2 . Перечень идентификаторов Они сведены в табл. 1.2. 1.3 . Математическое описание задачи Задача распадается на две самостоятельные части. Во-пер­ вых, необходимо создать на магнитном диске файл, хранящий параметры водных источников, и, во-вторых, написать програм­ му поиска в нем нужной информации по запросу пользователя, который должен сообщить машине лишь название реки или озе­ ра. Если емкость ОЗУ ЭВМ достаточно большая, то можно еди­ ножды весь исходный массив данных перегрузить с магнитного диска, а уже потом осуществлять поиск. 20
ание ионов, мг/кг Mg 2+ Na++К+ Fe3+ НСО- S02- 4 С1- no; SiO'2 857 3684 195 3513 6017 . . 697 5795 198 1440 10320 - - 1297 И 151 143 2701 19353 - - 48,6 154 244 488 67 6 2,1 170,6 668 213 1516 684 - 2,7 50,5 246 201 646 82 - 5,6 6 5,1 164,1 35,3 4,5 - 6,3 4,3 0,3 68,3 6,4 3,5 - - 106 331 194 572 345 — 10,1 Таблица 1.2. Перечень идентификаторов программ ЗАПВОД и БАНКВОД Переменная Имя Простые числовые переменные Признак окончания работы по программе Текущий номер водного источника Текущий номер параметра воды Число водных источников Число параметров воды Простые литерные переменные Название водного источника Индексные числовые переменные Значение J-го параметра воды J-го источника Индексные литерные переменные Название и размерность J-го параметра воды Название 7-го водного источника А I J К N R Р Р R 21
1.4 . Допущения, принятые в расчете Электронно-вычислительная машина, работающая по прог­ рамме поиска параметров заданного водного источника, выдает те данные, какие были заложены в исходную таблицу. А они, ес­ тественно, могут не учитывать сезонные колебания качества воды, дифференциацию по различным местам отбора и др. 1.5 . Структура алгоритма расчета 10 INPUT "ЧИСЛО водных источников. ПАPAMATP0 В ВОДЫ",К,N 20 DIM RH(100),рп(20) , S(100,20) 30FORJ=1ТОN: PR INT"0 60 ЗНАЧ." ; J ; " - 0 ПАРАМЕТРА И ЕГО РАЗМЕРНОСТЬ";: INPUT Pn(J); NEXT J АО FOR *1=1 TO K: PRINT"HA3BAHHE";I; " - 0 ИСТОЧНИКА INPUT Re(I) I 50FORJ=1TON: I PRINT P“(J); :INPUT S(I .J) II 40 NEXT J : PfMNT .-NEXT I ■70 DATA SAVE DC OPEN F(50 0 ) "ВОДА": DATA SAVE DC K,N,R“ (> ,P®() , S() :DATA SAVE DC END Прогр. 1.1. Бейсик-программа ЗАПВОД Первая программа (ЗАПВОД) вписана в структурную диаграм­ му, включающую три цикла с параметром. По этой программе сначала циклом запрашиваются названия и размерности пара­ метров воды, а затем двойным циклом - названия водных источников и значения их параметров. Последним програм- ным блоком введенная в ОЗУ ППЭВМ информация записывает­ ся на магнитный диск файлом с последовательным доступом. 10 DATA DATA LOAD DC OPEN F LOAD DC K,N "ВОДА": 20 DIM RB(100),Pn(20),5(100,20) : DATA LOAD DC Rn() ,рн() ,S() 30 PRINT "КА ДИСКЕ";N; "ПАРАМЕТРОВ ПО";K; 'ИСТОЧНИКАМ" 40 INPUT "НАЗВАНИЕ ВОДНОГО ИСТОЧНИКА " , Rn 50 FOR 1=1 TO К:I F Rn=Rи(I) THEN 60: NEXT I: PRINT "ТАКОГО НЕТ." : GOTO 70 60 FOR J=1 TO N:PRINT Pn(J);S*»(I ,J ): NEXT J 70 INPUT "0-ST0P ,1-ДАЛЫИЕ",А: IF A=1 THEN 40 Прогр. 1.2. Бейсик-программа БАНКВОД Вторая программа (БАНКВОД) состоит из двух блоков: блока перегрузки данных по водным источникам с магнитного диска в ОЗУ ЭВМ и блока поиска информации (итерация с постпровер­ кой). 22
1.6 . Текст программ Программа ЗАПВОД вписана в структурную диаграмму. Пер­ вым программным блоком (см. строки 10 и 20) определяются раз­ меры массивов, хранящих информацию по водным источникам. Циклом с параметром (второй блок - строка 30) заполняются элементы литерного массива Р - названия и размерности (м г/кг, м г-экв/кг и т. д .) показателей качества воды. Третий блок программы (строки 40-60) осуществляет запол­ нение строк таблицы: название 1-го источника и значение его параметров. Последним блоком программы ЗАПВОД (строка 70) заполнен­ ный массив переносится на магнитный диск. Это действие реа­ лизуют три оператора: открытие для записи файла с именем ’’ВОДА” объемом в 500 секторов диска F, запись размера массива и значений его элементов (включая ’’ш апку” и левый столбец) на диск и закрытие файла после записи. Программа БАНКВОД состоит из двух блоков: блока с опера­ торами переноса содержимого файла ’’ВОДА” с магнитного дис­ ка в ОЗУ ЭВМ (строки 10-30) и блока поиска информации в нем по названию водного источника. 1.7 . Контрольный пример На рис. 1.1 и 1.2 приведены протоколы работы по программе ЗАПВОД и программе БАНКВОД. RUN ЧИСЛО ВОДНЫХ ИСТОЧНИКОВ,ПАРАМАТР0В ВОДЫ? 23,14 ОБОЗНАЧЕНИЕ 1 -ГО ПАРАМЕТРА И ЕГО РАЗМЕРНОСТЬ? ГРУБ. ДИСП.В-ВА МГ/КГ ОБОЗНАЧЕНИЕ 6 -ГО ПАРАМЕТРА И ЕГО РАЗМЕРНОСТЬ? СА++ МГ/КГ ОБОЗНАЧЕНИЕ 14 -ГО ПАРАМЕТРА И ЕГО РАЗМЕРНОСТЬ? S I0 3 - - МГ/КГ НАЗВАНИЕ 1 -ГО ИСТОЧНИКА? РЕКА АМУР ГРУБ.ДИСП.В-ВА МГ/КГ? 16 SI03-- МГ/КГ? 14 НАЗВАНИЕ 23 -ГО ИСТОЧНИКА? ОЗЕРО БАЛХАШ СА++ МГ/КГ? 38 .7 SI03-- МГ/КГ? 10.1 Рис. 1.1. Протокол работы по программе ЗАПВОД 23
RUN НА ДИСКЕ 14 ПАРАМЕТРОВ ПО 23 ИСТОЧНИКАМ НАЗВАНИЕ ВОДНОГО ИСТОЧНИКА? РЕКА ЯУЗА ТАКОГО НЕТ. O-STOP , 1 -ДАЛЬШЕ? 1 НАЗВАНИЕ ВОДНОГО ИСТОЧНИКА? РЕКА АМУР ГРУБ.ДИСП.В-ВА МГ/КГ 16 SI03-- МГ/КГ 14 O-STOP , 1 -ДАЛЬШЕ? 1 НАЗВАНИЕ ВОДНОГО ИСТОЧНИКА? ОЗЕРО БАЛХАШ СА++ МГ/КГ 38.7 SI03-- МГ/КГ 10.1 O-STOP , 1 -ДАЛЬШЕ? О Рис. 1.2. Протокол работы по программе БАНКВОД 1.8 . Пути совершенствования алгоритмов и программ Для хранения параметров водных источников помимо файла с последовательным доступом, который в нашем случае цели­ ком перегружается из ОЗУ ЭВМ на магнитный диск и обратно, можно использовать и виртуальный файл. Так необходимо поступать, когда в ОЗУ ЭВМ не хватает места для хранения все­ го файла. Программу БАНКВОД можно так модернизировать, чтобы при отсутствии строчки таблицы по затребованному источ­ н и к у не выдавать отказа, а вести запрос с перезаписью файла на диске. Глава в торая. КЛАССИФИКАЦИЯ ПРИРОДНОЙ ВОДЫ. ПРОГРАММА АЛЕКИН 2.1 . Постановка задачи Необходимо составить для П К программу, работая по ко­ торой, можно ввести в машину ионный состав природной воды и получить от нее классификацию воды по О. А . Алекину [1]. 2.2 . Перечень идентификаторов Список идентификаторов приведен в табл. 2.1. 24
Таблица 2.1. Список идентификаторов программы АЛЕКИН Переменная Имя Простые числовые переменные Сумма концентраций анионов воды, мг-экв/кг А Концентрация иона, м г/к г С Эквивалентная масса иона, г/г-экв Е Карбонатная жесткость воды, м г-экв/кг Н1 Номер иона I Номер доминирующего иона 11 Сумма концентраций катионов, мг-экв/кг К Солесодержание воды, м г / к г S Индексные числовые переменные Концентрация иона, мг-экв/кг СО Простые литерные переменные Название иона N 2.3 . Математическое описание задачи Алгоритм обработки характеристик водного источника несло­ жен. Он фактически повторяет этапы ’’ручного” обсчета: ввод данных по ионному составу воды, проверку ’’выполнимости” уравнения электронейтральности, расчет солесодержания воды, определение типа воды по солесодержанию, определение видов жесткости воды, определение класса воды, определение груп­ пы воды. 2.4 . Допущения, принятые в расчете Программа АЛЕКИН хранит в виде списка данных (прогр. 2.1, строка 2) символы и эквивалентные массы только по десяти (основным) ионам воды. По ним и ведется запрос исходных кон­ центраций. Другие какие-то ионогенные примеси воды програм­ мой не учитываются. 25
1 PRINT НЕХ(ОЗ) ; "КЛАССИФИКАЦИЯ ВОДЫ ПО АЛЕКИНУ" 2 DATA "NA+",23," CA++",20,"MG++",12,"K +",39,"FE ++**,28, "CL-",35 .5,"SQ4— ",48, “НС03-", 61, ”N03-",62, "N02-",46 3 PRINT ''СОСТАВ ВОДЫ (МГ/КГ)'1 ~ 4 K,A,S=0:RESTORE 5 FOR 1=1 TO 5:READ Nn,E:PRINT No;:INPUT C: C(I)=C/E:K=K+C(I):S=S+C:NEXT I 6 FOR 1=6 TO 10: READ N«*,E : PRINT Nn; : lNPUT C: C(I)= C / E :A = A + C (I) :S=S+C:NEXT I____________________________ 7 IF ABS((K-A)/K)>.01 THEN PRINT "СУММА КАТИOHOB=" ;К; ” СУММА АНИОНОВ=";А;" М Г-ЭКВ /КГ": GOTO 3_________________ 8 PRINT "С0ЛЕС0ДЕРЖАНИЕ=";5;" МГ/КГ" 9 IF S<=1ООО THEN 11 :1F S<=2500 THEN 12: IF S<=50000 THEN 13 10 PRINT "СОЛЕНАЯ.":G0T0 14 11 PRINT "ПРЕСНАЯ. " :G0T0 14 12 PRINT "СОЛОНОВАТАЯ.":GOTO 14 13 PRINT "МОРСКОЙ СОЛЕНОСТИ."_________________________________ 14 PRINT " * 0 = " ;C(2)+C(3);“ МГ-ЭКВ/КГ" 15 PRINT "ЩС=" ;С(8);И МГ-ЭКВ/КГ" 16 IF C(8)>C(2)+C(3)THEN17:H1=C(8):G0T0 18 17 H1=C(2)+C(3) 18 PRINT "IK = ";H1;" МГ-ЭКВ/КГ 1 H K = " ; C ( 2 ) + C ( 3 ) - H 1 МГ-ЭКВ/КГ"___________________________ 19 S=0:FOR 1=6 TO 8:IF C(I)>S THEN S=C(I):I1=I 20 NEXT I 21 PRINT ''КЛАСС-";: ON 11-5 GOTO 22,23,24 22 PRINT " ХЛОРИДHHft.":GOTO 25 23 PRINT "СУЛЬФАТНЫЙ.":GOTO 25 24 PRINT "КАРБОНАТНЫЙ."__________________________________________ 25 S=0:FOR 1=1 TO 3:1F С(I)>S THEN S=C(I):I1 =I 26 NEXT I 27 PRINT “ГРУППА-";:0N 11 GOTO 28,29,30 28 PRINT “ НАТРИЕВАЯ.":STOP 29 PRINT "КАЛЬЦИЕВАЯ.":STOP 30 PRINT "МАГНИЕВАЯ." Прогр. 2.1. Бейсик-программа А Л Е КИ Н 2.5 . Структура алгоритма расчета Алгоритм решения задачи, ка к уже отмечалось, несложен и состоит из шести функциональных блоков. При решении задачи 3 раза используется структурный элемент - выборка: для опре­ деления характера воды по солесодержанию и для определения класса и группы воды. 2.6 . Текст программы Программа АЛЕКИН (см. прогр. 2.1) состоит из шести блоков. Первый блок (строки 1 и 2) содержит заголовок программы и данные по основным ионам (химическая формула и эквивалент­ н а я масса).
Во втором программном блоке (строки 3-7) реализована струк­ турная конструкция - итерация с постпроверкой (цикл ”до” ). Здесь циклически (строки 5 и 6) ведется запрос катионного и анионного составов воды с одновременным переводом массовых концентраций в эквивалентные, подсчетом сумм концентраций катионов К и анионов А и солесодержания воды S. При отклоне­ нии катионного состава воды от анионного более чем на 1% ЭВМ выдает на печать несовпадающие характеристики воды (см. строку 7) и передает управление программой на строку 6 - в начало запроса концентраций ионов, при этом присваиваются нулевые значения переменным —К , А и S —сумматорам. Счет­ чик же считывания из списка данных устанавливается на первое значение (см. строку 4). В третьем программном блоке (строки 8-13) определяется ха­ рактеристика воды по солесодержанию (м г/кг): 0 - 1000 - прес­ ная; 1000 - 2500 - солоноватая; 2500 - 50 000 - морской солености; более 50 000 - соленая. Конкретное значение солесодержания воды также выводится на экран дисплея (см. строку 8). В четвертом программном блоке (строки 14-18) ведется опре­ деление основных технологических показателей: общая жест­ кость, жесткость карбонатная и жесткость некарбонатная. Пятый и шестой программные блоки (строки 19-24 и 25-20) почти не отличаются друг от друга. Операторами этих блоков определяются доминирующие анион и катион воды, которые оп­ ределяют класс и группу воды посредством оператора выбора (см. строки 21 и 27). 2.7 . Контрольный пример Рисунок 2.1 - это протокол прогонки программы АЛЕКИН. Исходным данным служила первая строка табл. 1.1. 2.8 . Пути совершенствования алгоритма и программы Приведенная программа АЛЕКИН (см. прогр. 2.1) проводит классификацию воды по О. А . Алекину не полностью - не проводится деление воды на четыре типа согласно соотноше­ ниям в эквивалентных концентрациях (мг-экв/кг): 1-й тип Снсоз > ССа2+ + CMg2+; 27
RUN КЛАССИФИКАЦИЯ ВОДЫ ПО АЛЕХИНУ СОСТАВ ВОДЫ (ИГ/КГ) NA+ ? 1.6 СА++ ?6 М6++ ? 2.4 К+ ?О FE++ ?О СL- ?2 S04— ? 5.6 НСОЗ- ? 30.5 N03- ? 1.6 N02- ?О СОЛЕ СОДЕРЖАНИЕ* 4 9.7 ИГ/КГ ПРЕСНАЯ. *0* .5 МГ-ЭКВ/КГ 40= .5 МГ-ЭКВ/КГ МК= .5 МГ-ЭКВ/КГ *НК= О ИГ-ЭКВ/КГ КЛАСС-КАРБОНАТНЫй. ГРУППА“ КАЛЬЦИЕВАЯ. Рис. 2.1. Протокол работы по программе А Л Е КИ Н 2-й тип ^HCOJ ^Са2+ + ^СО'з +CS02-; 3-й тип ^НСО" + CsoJ" ^Са2+ + ^Mg2+ или ^С1" > ^Na+» 4-й тип С^СОз =0- Доработать программу АЛЕКИН несложно, использовав три оператора условных переходов. Глава третья. ПОСТРОЕНИЕ КРИВОЙ ТИТРОВАНИЯ БУФЕРНОГО РАСТВОРА. ПРОГРАММА ТИТР 3.1 . Постановка задачи Имеется буферный раствор, где одновременно присутствуют слабые кислоты и их соли. Необходимо рассчитать изменение значения pH такого раствора при добавлении в него раствора сильной кислоты, например, соляной. Титрование буферных 28
растворов соляной кислотой с фиксацией с помощью индикато­ ров (фенолфталеин, метилоранж и др.) точек резкого измене­ ния pH - основа объемных методов анализа на щелочность воды, которые широко применяются в практике водоподготов- ки. 3.2 . Перечень условных обозначений и идентификаторов Они сведены в табл. 3.1. Таблица 3.1. Перечень условных обозначений и идентификаторов программы ТИТР Переменная Условное Идентифи- обозначе- катор Простые числовые переменные Коэффициент в уравнении фактора активности А А Концентрация гидрокарбонатов в воде, моль/кг ^НСО^ ^ Суммарная концентрация углеродсодержащих Ссо тот С ионов и молекул в воде, моль/кг Начальная доза едкого натра, м м оль/кг — С1 То же карбоната натрия, ммоль/кг — С2 То же гидрокарбоната натрия, м моль/кг — СЗ Фактор активности одновалентных ионов, кг/моль /j F1 То же двухвалентных ионов, кг/моль /ц F2 Указатель формы выдачи информации — G Концентрация ионов водорода в воде, моль/кг Сн+ Я Ионная сила раствора в предыдущем прибли- — II жении, моль/кг То же в текущем приближении, моль/кг I 12 Ионное произведение воды Kw К Константа диссоциации угольной кислоты Кj К1 по первой ступени 29
Продолжение табл. 3.1 Переменная Условное обозначе­ ние Идентифи­ катор То же по второй ступени *11 К2 Концентрация хлоридов в воде, моль/кг С Cl' L Максимальная доза соляной кислоты при титро­ вании, моль/кг — L1 Концентрация иснов натрия в воде, моль/кг C Na+ N Значение pH воды pH Р Вспомогательные з начени е pH воды, используемые при решении уравнения электронейтральности РН1’ РН2 PI, Р2 Концентрация карбонат-ионов в воде, моль/кг Ссо Г Т Концентрация свободной угольной кислоты в воде, моль/кг с со2 и Небаланс уравнения электронейтральности на крайних точках шкалы Простые литерные переменные Z, Z1 Формат печати переменных с 3.3 . Математическое описание задачи В расчете кривой титрования используются следующие выра­ жения: ионное произведение воды = ^н+Q)H-Siу ( 3*1) константа диссоциации угольной кислоты по первой ступени СН+ СНСОо“ /? Ki= — --------------- ; (3.2) с со2 30
константа диссоциации угольной кислоты по второй ступени сн+ссо2-/ц п I : (3.3) ^HCOf уравнение электронейтральности ^Na++ ^Н+= ^ОН” + Ссг + ^НС03- + ^С02~ » ’ (3.4) уравнение материального баланса углеродсодержащих ионов и молекул в воде ссо2тот:=ссо2 + с нсо~3 + cco2f > (3*5) ионная сила раствора 1= 2 ^CNa++ CH++ +СнСО“ + 4Ccof-); (3*6) коэффициент^ (фактор) активности одно-двухвалентных ионов lg/iai)= r r ^ 7T,(2z)’ (3'7) значение pH воды - pH=lg(/ICH+). (3.8) Добавление в воду соляной кислоты в первую очередь изме­ няет концентрацию ионов хлора. Значение pH изменяется при этом та к, что сохраняются равенства (3.1)—(3.5). Следовательно, расчет значения pH воды сводится к определению такой концент­ рации ионов водорода [см. выражение (3.8)], которая являет­ ся корнем алгебраического выражения (3.4), в котором только концентрации ионов натрия и хлора не зависят от значения pH. Сложность в решение задачи вносит тот факт, что в одних выражениях описанной системы фигурируют активности (3.1)- (3.3) и (3.8), а в других - (3.4) и (3.5) - концентрации ионов. Связь между этими характеристиками ионогенных примесей воды ма­ тематически описана выражениями (3.6) и (3.7) [15], вытекаю­ щими из теории диссоциации разбавленных растворов электро­ литов. 31
3.4 . Допущения, принятые в расчете В расчете не учитывается процесс образования ионных пар [8]. Понятие разбавленного раствора не имеет четко оговоренных границ, поэтому при значительных концентрациях ионов в воде выражение (3.7) может давать большую погрешность. В расчете не учитывается возможный процесс абсорбции или десорбции угольной кислоты в атмосферу, не учитываются ки ­ нетические факторы, считается, что равновесные концентрации устанавливаются мгновенно. 3.5 . Структурная диаграмма расчета Программа ТИТР полностью структурирована на рис. 3.1, ее алгоритм в программе подчеркнут структурными элементами: Ввод исходных данных для расчета кривой титрования Определение вида функции электронейтральности от концентрации ионов водорода в растворе Определение концентрации ионов натрия и общей углекислоты в растворе Определение максимальной дозы соляной кислоты Задание значения ионной силы раствора в первом приближении Цикл дозировки соляной кислоты Фиксация значения ионной силы раствора в предыдущем приближении Определение коэффициентов активности ионов Определение значения pH, при котором выполняется уравнение электронейтральности Определение концентраций ионов водорода, гидроксила, бикарбонат- и карбонат-ионов и углекислоты Расчет значения ионной силы раствора Полученное и предыдущее значение ионной силы раствора отличаются более чем на 0,1% ? Вывод результатов на печать Конец цикла дозировки соляной кислоты 32 Рис. 3.1. Структурная диаграмма программы ТИТР
циклом с параметром (добавление в воду порций соляной кис­ лоты), двумя итерациями с постпроверкой (определение ионной силы раствора методом последовательного приближения и ре­ шение уравнения электронейтральности методом половинно­ го деления) и тремя альтернативами (вывод информации в ви­ де таблицы или графика, контроль правильности расчета). 3.6 . Текст программы Программа на Бейсике ТИТР построения кривой титрования буферного раствора состоит из трех блоков (программа 3.1): ввода и подготовки исходной информации для расчета (стро­ к и 10- 110); 10 DIM Сп8: Сп="###. ### " : REM ФОРМАТ ПЕЧАТИ ~ 20 INPUT "ТЕМПЕРАТУРА РАСТВОРА , 0 С" , Т : Т= Т+273 30 К=10‘ (-4780. 13/Т- . 019559*Т+7. 856) :REM ИОННОЕ ПРОИЗВЕДЕНИЕ ВОДЫ 40 К1=10* С-2599. 75/Т- . 023775*Т+9. 4375) : RЕМ КОНСТАНТА ДИССОЦИАЦИИ Н2С03 ПО 1-Ой СТУПЕНИ 50 К2=10*,(-2593. 5/Т- . 020982*Т+4. 6292) :REM КОНСТАНТА ДИССОЦИАЦИИ Н2С03 ПО 2-Ой СТУПЕНИ 60 PRINT "ЗНАЧЕНИЕ К0ЭФ-ТА А ДЛЯ" ; Т-273 ; "ОС " ; : I NPUТ А 70 DEFFN Z(H)=N+H-K/H/F1/F1-L -C *K1/H/F1/F1/(1+ К1/H/F1/F1+K1*К2/Н/Н/F1/F1/F2)*(1+2*K2/H/F2): REM УРАВНЕНИЕ ЭЛЕКТРОНЕЙТРАЛЬНОСТИ 80 INPUT "ДОЗЫ NАОН ,NА2С 0 3 ,NAHC03(ММСЛЬ/КГ)", А,В,С 90 N=(A+2*B+C)/1000:С=(В+С>/1000:REM К0НЦ.NA+ И СО2 ОБЩ. (МОЛЬ/КГ) 100 L1=1 .2 *N:IF N>0 THEN 110:L1= . 01:REM МАКС.ДОЗА НСL 110 INPUT "ГРАФИК -1 ,ТАБЛИЦА-2 ",G:PRINT НЕХ(ОЗ) 120 IF G=1 THEN 1 5 0 : REM ПОСТРОЕНИЕ ГРАФИКА 130 PRINT " ДОЗА HCl PH C02 HC03- C03= " 140 PRINT “ ММОЛЬ/КГ - X X X " 150 REM ДАННЫЕ ВВЕДЕНЫ, ДАЛЕЕ РАСЧЕТ 160 I2= . 0 01:R EM ИОННАЯ СИЛА В ПЕРВОМ ПРИБЛИЖЕНИИ_________________ ~170 FOR L=0 ТО L1 STEP L1 / 20: REM ЦИКЛ ТИТРОВАНИЯ 180 11= I 2 : REM ФИКСАЦИЯ ПРЕДЫДУЩЕГО ПРИ БЛИ»EНИЯ 190 F2= -A *SQR(I1)/(1 +1. 4 *SQR(I1)):F1=10*F2:F2=10” (4*F2) : REM КОЭФФИЦИЕНТЫ АКТИВНОСТИ ИОНОВ 200 Р1=1:Р2=14:Z1=FNZ_C10*(-Р1)/F1) 210 P=(P1+P2)/2:Z=FNZ(10*(-P)/F1):REM ДЕЛЕНИЕ П0П0ЛАМ1 220 IF SGN(Z1)=SGN(Z) THEN 2 3 0 :Р2=Р: GOТО 240 230 P1=P:Z1=Z:REM КОРЕНЬ В ПРАВОЙ ПОЛОВИНЕ________________ 240 IF Р2-Р1>.001 GOTO 210:REM КОРЕНЬ ПОКА НЕ НАЙДЕН 250 Н=10‘ ( -Р)/ F1:0=К/Н/F1/ F1: REM ОПРЕДЕЛЕНИЕ Н+,0Н- 260 U=С/ (1+K1/H/F1/F1+K1*K2/H/H/F1/F1/F2) :REM С02 270 B=U *K1/H/F1/F1: T=B*K2/H/F2:REM HC03- ,C03-- 280 I2=. 5 *(N+H+0+B +4*T) : REM ИОННАЯ СИЛА РАСТВОРА___________ 290 IF A B S ((I1-I2)/I2)> .001 GOTO 180_______________________________ 300 IF ABS( (U+B +T-C)/С )<.001 THEN 310: STOP "РАСЧЕТ НЕВЕРЕН" 310 IF G=1 THEN33 0: REM ПОСТРОЕНИЕ. ГРАФИКА 320 PRINTUSING Сa, 1ООО* L ;: PRI NTUSING C",P;: PRINTUSING Co,100*U/C ;100*B/C;100*T/C:G0T0 340 330 PRINTUSING Сn,1000*L ;:PRINT TAB(60*P/14+7.5);"* " ; _ _ _ _ _ _ ^PRINTUSING Cn,p 340 NEXT L : REM КОНЕЦ ЦИКЛА ТИТРОВАНИЯ 3-6071 Прогр. 3.1. Бейсик-программа ТИТР 33
подготовки экрана дисплея или принтера к выводу получен­ ных данных в виде таблицы или графика (строки 130-150); расчета и изменения состава воды при дозировании в нее со­ ляной кислоты (строки 160-340). Ввод исходной информации для расчета ведется в диалого­ вом режиме. ЭВМ запрашивает температуру воды (строка 20), по которой рассчитываются термодинамические константы (строки 30-50). Переменная в табл. 3.1, обозначенная ка к кон­ центрация карбонат-ионов, здесь же временно используется под хранение значения температуры. Такой прием двойного исполь­ зования переменной часто используется для экономии памяти ЭВМ. Операторами строки 60 ведется запрос коэффициента А, кор­ ректирующего факторы активности ионов в зависимости от тем­ пературы воды. Строка 70 - сердцевина расчета. На ней определяется зависи­ мость дисбаланса уравнения электронейтральности от концен­ трации ионов водорода. Через эту величину выражены концен­ трации: гидроксил-ионов к. _ w ''ОН' сн+/? гидрокарбонатов (3.9) СС09ТОТК1 "НСОсГ = — ----------------------------------------------------- ; (3.10) СН+W1+ 'К~~ а Н'\ СН* fl + *1 ки с2н+ /и карбонатов 2Ссо,тот К1кп Сс о | ---------------------------- 1 ------------------------------------- • (3.11) к. к. к„ Ф 42/f, 1+ ------ ^ + Сн*f! с*. /,2/п Операторами строк 80 и 90 задается состав исходного буфер­ ного раствора, для приготовления которого используются реа­ генты - едкий натр, карбонат и гидрокарбонат натрия. Соотно- 34
шения между количествами исходных реактивов определяют состав исходного раствора (см. строку 90). На строке 100 определяется максимальная доза соляной кислоты при титровании. Она на 20% превышает концентрацию натрия в растворе, что позволяет полностью оттитровать исход­ ный раствор. Логический оператор на строке 100 позволяет за­ дать максимальную дозу соляной кислоты (10 ммоль/кг), если исходный раствор - чистая вода. Запрос, реализованный строкой 110, позволяет пользователю по его выбору получить от машины либо саму кривую титрова­ ния в виде графика, либо таблицу изменения форм угольной кислоты и значения pH от дозы соляной кислоты. Подготовка вывода такой информации (очистка экрана или печать шапки таблицы) осуществляется вторым программным блоком (строки 130-150). При построении кривой титрования используется принцип последовательного приближения. Поэтому на строке 160 задает­ ся начальная ионная сила исходного раствора - 10 ммоль/кг. При дозировке соляной кислоты, что реализуется циклом с па­ раметром (строка 170 - его заголовок, а строка 340 - конец), ион­ ной силой раствора в первом приближении будет ионная сила раствора предыдущей точки титрования (см. строку 180). В раствор до полного его оттитрования добавляется 20 порций соляной кислоты (см. шаг цикла с параметром, записанный на строке 170). После того ка к будет задана ионная сила раствора, проводит­ ся расчет коэффициентов (факторов) активности одно- и двух­ валентных ионов (см. строку 190). Концентрация ионов водорода (значение pH раствора) опреде­ ляется из решения уравнения электронейтральностей, что осу­ ществляется методом половинного деления операторами строк 210-240. Интервал неопределенности по значению pH принима­ ется равным 1-14 (см. строку 200). Далее он сужается (см. начало строки 210) до достижения заданной точности итерации - 0,001 единиц pH (см. строку 240). Найденное значение pH, при котором уравнение электронейтральности (см. строку 70) равно нулю, используется для расчета концентраций ионов водорода и гидроксил-ионов (см. строку 250), угольной кислоты (см. стро­ к у 260), гидрокарбонатов и карбонатов (см. строку 270). Рассчи­ танный состав воды позволяет уточнить значение ионной силы. Если это новое значение по модулю будет отличаться от преды­ 35
дущего менее чем на 0,1%, то расчет точки титрования будет считаться законченным, более чем на 0,1% - расчет будет пов­ торяться (см. строку 290). Альтернативный блок на строке 300 контролирует правиль­ ность записи формул в программе, проверяя материальный ба­ ланс углеродсодержащих ионов и молекул в воде. Альтернативный блок, реализованный операторами строк 310-330, выводит параметры точки титрования на дисплей ЭВМ. Программа 3.2 - программа на Паскале ТИТР. Программа 3.3 - программа на Квик-Бейсике ТИТР. 0.XX 1 . X ПОСТРОЕНИЕ КРИВОЙ ТИТРОВАНИЯ БЕЗ УМЕТА ИОННОЙ СИЛЫ X 2.XX 3 . VAR KU,K1,K2,H ,NA ,CL,SC:REAL; 4 NA0H,NA2C03,NAHC03, HCLMAX: REAL; 5. PH,DPH,DCL,Y1,Y2,W:REAL; 6. I,L:INTEGER; 7 . X ЗАДАНИЕ ВИДА ФУНКЦИИ ЭЛЕКТРОНЕЙТРА ЛЬНОСТИ X 8 . FUNCTION KATI0N(H: REAL): REAL; 9. BEGIN 10. KATION:=H+NA 11. END; 12 . FUNCTION ANION(H: REAL): REAL; 13. BEGIN 14. ANI0N:=KW/H+CL*SC*K1/H/(1+K1/Н+К1*K2/H/H)*(1+2*X2/H) 15. END; 16 .BEGIN X НАЧАЛО ОСНОВНОЙ ПРОГРАММЫ % 17. KW:=0.1E-13; K1 :=0.43 E-05 ; K2: =0.44E-1 0; X КОНСТАНТЫ X 18, WRITELN("ИСХОДНЫЕ КОНЦЕНТРАЦИИ В ММОЛЬ/Л"); 19. WRITE("NA0H")/REAOLN(NAOH); 20. WRITE("NA2C03 **) ; READLN (NA2СОЗ) ; 21. WRITE("NAHC03");READLN(NAHC03); 22. X ИСХОДНЫЕ ДАННЫЕ ВВЕДЕНЫ, ДАЛЕЕ РАСЧЕТ X 23. NA:=(NAOH+2*NA2C03+NAHC03)/1000; X НАТРИЙ В РАСТВОРЕ X 24. SC:=(NA2C03+NAHC03)/1000; X ОБЩАЯ УГЛЕКИСЛОТА В РАСТВОРЕ X 25. IF NA = 0 THEN HCLMAX:=0.01 ELSE HCLMAX: =1.2 *NA; 26. DCL:=HCLMAX/20; CL:= -DCL; X ШАГ НАЗАД X 27. X НАЧАЛО ЦИКЛА ДОЗИРОВКИ СОЛЯНОЙ КИСЛОТЫ X 28. FOR I:=0 ТО 20 DO BEGIN X 20 ПОРЦИЙ HCL X 29. CL: =CL +DCL; X ХЛОРИДЫ В РАСТВОРЕ X 30. ЯН; =15- 0001; X ОПОРНАЯ ТОЧКА X 31. H:=EXP(-PH *L0G(10)); X ИОНЫ ВОДОРОДА В РАСТВОРЕ X 32. Y2:=K ATI0N(H)-ANI0N(H); X ДИСБАЛАНС УР-НИЯ ЭЛЕКТРОН.X 33. 0РН:=“ 1; X НАЧАЛЬНЫЙ ШАГ ИЗМЕНЕИЯ PH X 34. X РЕШЕНИЕ УРАВНЕНИЯ ЭЛЕКТРОНЕЙТРАЛЬНОСТИ X 35. FOR L:=1 ТО 4 DO BEGIN X 4 КАЧАНИЯ У КОРНЯ УРАВНЕНИЯ X 36. REPEAT 37. Y1:=Y2; PH:=PH+DPH; Н:=ЕХР( -PH*L0G(10)); 38. Y2:=KATI0N(H)-ANION(H); 39. UNTIL Y1 * Y2 < 0; X ПОКА КОРЕНЬ HE "ПЕРЕШАГНУТ’' X 40. DPH:= -DPH/10 41. END; X КОРЕНЬ НАЙДЕН С ТОЧНОСТЬЮ 0.001 ЕДИНИЦ PH X 42. W: =1000*CL;WRITELN(” HCL=,’ / W :6 :3 ," ИИОЛЬ/Л РН=",РН: 6 :3) 43. END X КОНЕЦ ЦИКЛА ТИТРОВАНИЯ БУФЕРНОГО РАСТВОРА X 44 .END • 36 Прогр. 3.2. Паскаль-программа ТИТР
'ПОСТРОЕНИЕ КРИВОЙ ТИТРОВАНИЯ БУФЕРНОГО РАСТВОРА DIM С AS STRING*8 : C = ###"' ФОРМАТ ПЕЧАТИ INPUT "ТЕМПЕРАТУРА РАСТВОРА , ОС" ; Т : Т=Т +273 KW=10*(-4780. 13/Т- . 019559*Т +7. 8 5 6 ) 'ИОННОЕ ПРОИЗВЕДЕНИЕ ВОДЫ К1=10*(-2599. 75/Т- . 023775*Т +9. 4375) '1 -Я СТУПЕНЬ ДИССОЦИАЦИИ К2=10‘ (-2593. 5/Т- . 020982*Т +4. 6292)'2 -Я СТУПЕНЬ ДИССОЦИАЦИИ PRINT "ЗНАЧЕНИЕ КОЭФФИЦИЕНТА А ДЛЯ";Т ; "O K "; : I NPUТ А DEF FNZ(H)=NA+H-KU/H/F1/F1-CL-C02T0T*K1/H/F1/F1/ (1+K1/H/F1/F1+K1*K2/H/H/F1/F1/F2)*(1+2*K2/H/F2) IN PUT"ДОЗЫ NA0H,NA2C03,NAHC03(ММОЛЬ/Л)";NA0H,NA2C03,NAHC03 NA=(NAOH +2*NAHC03 + NA2C03)/ 1000: С02т ОТ=(NAHC03 + NA2C03) / 1ООО IF NA>0 THEN HCLMAX =1. 2*NA ELSE HCLMA X=. 01 INPUT "ГРАФИК-1, ТАБЛИЦА-2 ";G: CLS' ОЧИСТКА ЭКРАНА IF G=2 THEN' ШАПКА ТАБЛИЦЫ PRINT " ДОЗА HСL PH C02 НСОЗ- C03=" PRINT " ММОЛЬ/Л - X X %"■ END IF 12=. 001 ' ИОННАЯ СИЛА В ПЕРВОМ ПРИБЛИЖЕНИИ FOR CL =0 ТО HCLMAX STEP HCLMAX/20' ЦИКЛ ТИТРОВАНИЯ DO: 1 1 = 1 2 'ФИКСАЦИЯ ПРЕДЫДУЩЕГО ПРИБЛИЖЕНИЯ F1=10*(-A*SQR(I1)/ (1+1. 4*SQR(I1))) F2=10"(~A*4*SQR(11)/ (1+1. 4*SQR (11))) PH1 =1: PH2=14: Z1 =FNZ (10* (-PH1) / F1) DO: PH=( PHI+PH2) / 2: Z=FNZ(10 * ( -PH)/ F1)' ПОПОЛАМ IF SGN(Z1) =SGN (Z) THEN PH1 =PH ELSE PH2=PH LOOP UNTIL PH2-PH1< . 0 0 1 ' КОРЕНЬ НАЙДЕН H=10*( -PH)/F1: 0H=KW/H/F1/F1 C02=C02T0T/(1+K1/H/F1/F1+K1*K2/H/H/F1/F1/F2) HC03=C02T0T*K1/H/F1/F1: C03=HC03*K2/H/F2 I2= .5 *(NA+H +0H+CL+HC03+4*C03)' ИОННАЯ СИЛА РАСТВОРА LOOP UHILE ABS(CI1—I2 )/I1 )>. 001 IF ABS((C02+HC03 +C03-C02T0T)/C02T0T)>. 001 THEN ? "0ШИБКA " : STOP IF G=2 THEN' ПОСТРОЕНИЕ ТАБЛИЦЫ PRINTUSING C;1000*CL;:PRINTUSING C;PH; PRINTUSING C;100*C02/C02T0T; PRINTUSING C;100*HC03/C02T0T; PRINTUSING C;10G*CO3/CO2T0T ELSE PRINTUSING C;1000*CL; PRINT TAB(60*P/14+7.5 ) ; :PRINTUSING C;PH END IF NEXT' КОНЕЦ ЦИКЛА ТИТРОВАНИЯ Прогр. 3.3. Квик-Бейсик программа ТИТР 3.7 . Контрольный пример На рис. 3.2 помещен протокол работы по программе ТИТР. На принтер ЭВМ были выведены и график (кривая титрования), и таблица. На них четко прослеживаются точки перехода по фе­ нолфталеину (pH *8 ,95) и по метилоранжу (pH * 5,31), что свя­ зано с переходом карбонатов в гидрокарбонаты и гидрокарбона­ тов в угольную кислоту соответственно. В таблице помещены не абсолютные, а относительные концентрации, что позволяет про­ слеживать формы существования угольной кислоты в зависи­ мости от pH раствора. 37
0 .00 0 .60 1.20 1.80 2.40 3.00 3.60 4.20 4.80 5.40 6.00 6.60 7. 20 7.80 8.40 9.00 9.60 10.20 * 3.67 10.80 * 3.09 11.40 * 2.85 12 .00 * 2.69 ДОЗА HCL PH С02 НСС ММОЛЬ/КГ % 5 0 .00 10.97 0.00 18.30 0.60 10.81 0.00 24.60 1. 20 10.64 0.00 32.54 1.80 10.47 0.00 41.72 2.40 10.29 0.00 51.78 3.00 10.1 0 0.01 62.47 3.60 9.88 0.02 73 .44 4.20 9.58 0.05 84.62 4.80 8.95 0.24 95.67 5.40 7.42 8.11 91.76 6. 00 6.97 20.03 79.92 6.60 6.69 32.04 67.93 7.20 6.47 44.02 55.96 7.80 6.26 56.02 43.9 6 8.40 6.04 68.00 31.99 9.00 5.77 79.93 20.06 9.60 5.31 91.91 8.08 10.20 3.67 99.79 0.20 10.80 3.09 99.94 0.05 11.40 2.85 99.96 0.03 12 .00 2.69 99.97 0.02 *10.97 *10.81 *10 .64 *10.47 *10.29 *10.1 о * 9.88 * 9.58 * 8.95 * 7.42 * 6.97 * 6.69 *6_ .47 * 6.2 6 * 6.04 * 5.77 * 5.31 С03 = X 81.69 75 .39 67.44 58.27 48.20 37.51 26.53 15.32 4.07 0.11 о.оз 0.01 0.00 0.00 0.00 0.00 о.. оо 0.00 jj' qр Рис. 3.2. Протокол прогонки про- 0100 граммы на Бейсике ТИТР 3.8 . Пути совершенствования программы Программу несложно переделать для расчета кривой титрова­ ния не только искусственного раствора, но и природной воды. Но при этом нужно учитывать возможное образование в щелоч­ ной среде труднорастворимых соединений [Mg (ОН)2, СаС03]. Решение задачи о построении кривой титрования буферного раствора сводится к нахождению значений переменных, превра­ щающих выражения, описывающие равновесия в системе, в тож­ дества. В ряде случаев подобные задачи проще и целесообраз- 38
----------------------------------------------------- E u r e k a : T h e S o l v e r ------------------------------------------------------------ File Edit Solve Commands Report Graph Options Window I-------------------------------------------------------------------- S o l u t i o n -----------------------------------------------------------------------1 I------------------------------------------------------------------------- V e r i f y -------------------------------------------------------------------------, I------------------------------------------------------------------------ R e p o r t --------------------------------------------------------------------------- 1 — — Edit —■ A:FOSFAT.EKA L in e 2 Col 1 Insert Indent Tab M = . 5*CcNa+cH+c0H+cH2P04+4*cHP04+9*cP04); ионная сила раствора fl=Ю ' Ч 509*1 *sqrtCM)/'(l+sq rt(M))); Коэф-т активности 1-вал. ионов, f2 = Ю 'Ч - .509*4 *sqrtCM}/(l+sqrt(M))); коэф-т активности 2-вал. ионов, f3 = 10~C - .509*9 *sqrt(M3/'(l+sqrtCM3)); коэф-т активности 3-вал. ионов. ; Термодинамические константы Kl, К2, КЗ и Kw: 7.52Е -3 = сН2Р04 * fl * сН *fl / сНЗР04; первая ступень диссоциации, 6.23Е-8 = сНР04 * f2 * сН *fl / CcH2P04*flЭ;вторая ступень диссоциации, 1.8Е-12 = сР04 * f3 * сН * fl / CcP04*f2) ;третья ступень диссоциации, 1.01Е-14 = сН * fl *сОН*fl; ионное произведение воды. cNa+cH * с0Н+сН2Р04+2*сНР04+3*сР04; Уравнение электронейтральности. ; Исходные дозы реагентов Смг-экв/лЗ: dH3P04=l : dNaH2P04=l : dNa2HP04=l : dNa3P04=l : dNaOH=l cNa=CdNaH2P04+2*dNa2HP04+3*dNa3P04+dNa0HV1000 ; Мольная конц. Na+. qF=CdH3P04+dNaH2P04+dNa2HP04+dNa3P04)/1000 ; Мольная конц. фосфатов. qF=cH3P04 + cH2P04 + cHP04 + сР04 ; Уравнение материального баланса. Fl-H elp F2-Save F3-Load F5-Zoom F6-Next F7-Beg Blk F8-End Blk SCROLL-Size/move Рис. 3.3. Запись в программной среде Эврика задачи о равновесии в буферной водной системе с фосфатами нее решать не через программирование на алгоритмических языках (Бейсик - см. программы 3.1 и 3.3), Паскаль - см. про­ грамму 3.2), а с помощью специальных средств математическо­ го обеспечения ЭВМ, позволяющих решать задачи, не прибегая к кодированию. На рис. 3.3 в качестве примера приведена запись в програм­ мной среде ’’Эврика” (’’Eureka” ) фирмы Borland условия задачи о нахождении равновесных концентраций ионов в процессе фос- фатирования воды. Точка с запятой (;) вначале строки означа­ ют, что данный текст является комментарием (REM). После вво­ да условия задачи (см. рис. 3.3) в окне редактирования (Edit) дается команда на ее решение (Solve), которое записывается в о к­ но Solution. При необходимости выданное машиной решение можно проверить (окно Verify). Полный отчет о решении постав­ ленной задачи засылается в окно Report. ЭВМ находит значения переменных (в задаче о фосфатах 8 переменных и 8 констант), удовлетворяющие условиям задачи. При этом может оказаться, что точность поиска не в полной ме­ ре удовлетворяет условиям задачи. ЭВМ может даже выдать от­ рицательные значения концентраций ионов. Избежать подоб­ 39
ных ошибок в ряде случаев удается за счет задания ограниче­ ний в виде неравенств и начальных значений искомых перемен­ ных, от которых ведется поиск методом итераций (сР04: = 0.001, например, и т. д .). Глава четвертая. РАСЧЕТ РАВНОВЕСНЫХ КОНЦЕНТРАЦИЙ ИОНОВ В ПРЕДОЧИЩЕННОЙ ВОДЕ. ПРОГРАММА ПРЕДОЧ Основные технологические процессы предочистки - это коа­ гуляция и известкование. Назначением коагуляции является очистка воды от коллоидных и грубодисперсных примесей в ре­ зультате агломерации этих частиц с образованием макрофазы при вводе реагентов, называемых коагулянтами. Процесс из­ весткования осуществляется для снижения щелочности исход­ ной воды, при этом происходит снижение общей жесткости и уменьшение ее сухого остатка. При совмещении процессов коа­ гуляции и известкования воды в качестве коагулянта применя­ ют сернокислое железо. При коагуляции ка к самостоятельной стадии обработки используется сернокислый алюминий, при этом оптимальные значения pH и дозы коагулянта подбираются экспериментально, путем пробного коагулирования. Обычно до­ зировка находится в пределах 0,4-1,2 м г-экв/кг чистого безвод­ ного коагулянта. Обеспечение оптимальных значений pH дости­ гается подкислением либо подщелачиванием, последнее про­ изводится обычно в паводковый период. Для интенсификации хлопьеобразования при коагуляции применяют добавки флоку- лянтов, например полиакриламида (ПАА) с дозой 0,1- 1,0 м г/кг, и повы шают температуру обрабатываемой воды до 25-30 °С. Схе­ ма коагуляционной установки с осветлителем представлена н а рис. 4.1. Добавление к природной воде извести сопровождается сме­ щением равновесий: 4.1 . Постановка задачи Са(ОН)2- Са2+ + 2ОН" ; С02+2ОН" - С023- +2Н20 ; НСО3+ОН' - С023~ + Н20 ; Са2++ С02" - СаС03(т); Mg2++ 20Н" Mg(OH)2(T) • (4.1) (4.2) (4.3) (4.4) (4.5) 40
— Vt Sol )0С и Рис. 4.1. Схема коагуляционной уста­ но вк и с осветлителем: 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—ввод кислоты или щелочи для корректировки значения pH При совмещении процесса известкования с коагуляцией доза извести должна быть увеличена на дозу коагулянта. Схема установки предочистки, включающей совместное известкова­ ние и коагуляцию, представлена на рис. 4.2. Задача представленной в этой главе программы ПРЕДОЧ - расчет равновесных концентраций ионов в воде, подвергнутой совместной коагуляции и известкованию. Исходными парамет­ рами для расчета являются ионный состав исходной воды, тер­ модинамические константы, характеризующие углекислотное равновесие воды, концентрация углекислого газа в исходной воде, дозы коагулянта, значение pH известкованной воды. 41
Рис. 4.2. Осветлитель для известкова­ ния воды: 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 —дроссельная заслон­ ка; 3 0— промывка коллектора шламо­ уплотнителя; 31 — сброс промывочной воды м еханических фильтров В процессе расчета кроме равновесных концентраций ионов в предочищенной воде определяются доза извести, массы выпадаемых из 1 кг воды карбоната кальция и гидроксида маг­ ния (шлама). 4.2 . Перечень условных обозначений и идентификаторов Программа ПРЕДОЧ написана на версии Бейсика с ’’длинны­ ми” именами переменных (до 40 знаков). Читатель сразу оценит удобство этой версии язы ка, где разбор программ не требует ежеминутного заглядывания в список переменных, который приводится в табл. 4.1. 42
Таблица 4.1. Список идентификаторов программы ПРЕДОЧ (все переменные —вещественные) Переменная Имя Коэффициенты уравнения электронейтральности Термодинамические константы: ионное произведение воды константа диссоциации угольной кислоты по первой ступени то же по второй ступени произведение растворимости карбоната кал ьц ия то же гидроксида магния Температура воды, °С и К Концентрация ионов и молекул (числа в конце имени пере­ м енной указывают: 1 —исходная вода, 2 —предочищенная вода), мг-экв/кг: А,В,С KW К1 К2 PR1 PR2 Т натрия NA кальция СА магния MG хлоридов С1 сульфатов S04 гидрокарбонатов НСОЗ нитратов N03 гидроксил-ионов ОН карбонат-ионов СОЗ углекислоты С02 общей углекислоты С02Т0Т сумма катионов КТ сумма анионов AN 43
Продолжение табл. 4.1 Переменная Имя Ионное произведение воды в предыдущем приближении 11 То же в текущем приближении 12 Коэффициент активности одновалентных ионов F1 То же двухвалентных ионов F2 Промежуточная величина, используемая для определения коэффициентов активности ионов F Выражение концентрации М Значение pH известкованной воды PH Активность ионов кальция в известкованной воде АСА 4.3 . Математическое описание задачи Алгоритм решения задачи очень похож на алгоритм предыду­ щей задачи 3 - построение кривой титрования. Но в рассматри­ ваемом случае титруется не искусственно приготовленный бу­ ферный раствор, а природная вода. Добавляется в нее не соля­ ная кислота, а основание - гашеная известь. В задаче 3 (титро­ вание) аргументом была доза кислоты, а функцией - значение pH, а в задаче 4 (известкование) pH известкованной воды - ис­ ходная величина расчета, а доза извести ищется программно. В программе ПРЕДОЧ, так же ка к и в программе ТИТР, реали­ зуется метод последовательных приближений до достижения требуемой точности расчета по ионной силе раствора, использу­ ются термодинамические соотношения по ионному произведе­ нию воды, ее углекислотному равновесию и закономерности поведения слабых растворов сильных электролитов, описан­ ныевгл.3. 4.4 . Допущения, принятые в расчете Как подчеркнуто в заголовке, программа ПРЕДОЧ ведет рас­ чет равновесных концентраций ионов в предочищенной воде. На практике же вследствие ограниченного времени пребывания 44
воды в осветлителях (около 1 ч) равновесие по уравнениям (4.1)~(4.5) не достигается, и реальные концентрации ионов могут несколько отличаться от теоретических. В расчете не принимается во внимание процесс образования ионных пар, что также приводит к некоторому искажению ре­ зультата, но уже за счет не кинетических, а термодинамических факторов. В расчете допускается, что реактивы (коагулянт и известь), добавляемые в воду, чистые, без посторонних примесей. 4.5 . Структура алгоритма расчета Программа ПРЕД0 4 (программы 4.1 и 4.2) заключена в рамку структурной диаграммы, где выделены следующие структурные управляющие конструкции: итерация с постпроверкой для контроля правильности исход- ных данных (строки 20-80); итерация с постпроверкой, реализующая метод последова­ тельных приближений до достижения заданной точности по ионной силе раствора (строки 190-330); 10 RЕМ РАСЧЕТ РАВНОВЕСНЫХ КОНЦЕНТРАЦИЙ ИОНОВ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _В ПРЕДОЧИЩЕННОЙ ВОДЕ_______________________________ 20 INPUT "СОСТАВ ИСХОДИ.ВОДЫ В МГ/КГ-1 , МГ-ЭКВ/КГ-2 ",М 30 INPUT "NA+,CA++,MG++",NA1,СА1,MG1 40 INPUT "CL-,S04--,HC03-,N 0 3-",CL1,S041,НС031,N031 50 IF M=1 THEN NA1=NA1/23:CA1=CA1/ 2 0 .04: MG1=MG1/12.16:HC031=HC031/61.02:S041=S041/48.03: CL1=CL1/35.46: N031 =N031 /62,01 60 NA2=NA1: C L2=CL1: N032=N032:REM ПОСТОЯННЫЕ ИОНЫ 70 REM СУММА КATИ0H0B: KT=NА1+ СA1+MG1: REM СУММА AHH0H0B:AN =HC031+S041+CL1+N031__________________ 80 IF ABS( (KT-AN)/KT)>.01 THEN PRINT "ПРОВЕРЬТЕ ДАННЫЕ ПО ИСХОДНОЙ ВОД Е ! " : GOTO 20______________________________________ 90 INPUT "С02 ",C021:IF М=1 THEN С021=С021 /44.01 100 С02Т0Т=НС031 + С021 :REM ОБЩАЯ УГЛЕКИСЛОТА В ИСХ. ВОДЕ 110 INPUT "ТЕМПЕРАТУРА, ОС” , Т : Т =Т+273 120 KW=10*(-4 780 .13/Т- . 019559*Т+7.856) :REM ИОННОЕ ПРОИЗВЕДЕНИЕ ВОДЫ 130 К1=10*(-2599.75/Т- . 023775*Т+9.4375):REM КОНСТАНТА ДИССОЦИАЦИИ Н2СОЗ ПО 1-0й СТУПЕНИ 140 К2=1 0*( -2593 .5/Т- . 020982*Т +4 .6292) :RЕМ КОНСТАНТА ДИССОЦИАЦИИ Н2С03 ПО 2-Ой СТУПЕНИ 150 PRINT "ПР САС03,ПР MG(0H)2 ПРИ Т=";Т-273;М ОС";: INPUT PR1, PR2 160 INPUT "ДОЗА КОАГУЛЯНТА (МГ-ЭКВ/КГ) ",0:5042=5041+0 170 INPUT "PH ИЗВЕСТКОВАННОЙ ВОДЫ",PH__________________________ Прогр. 4.1. Бейсик-программа ПРЕДОЧ: начальный диалог 45
180 12 =.001 : REM ДОПУЩЕНИЕ ДЛЯ ПЕРВОГО ПРИБЛИЖЕНИЯ________ 190 1 1 = 12 :REM ФИКСАЦИЯ ПРЕДЫДУЩЕГО ПРИ БЛИШЕНИЯ 200 F=-.51*SQR(l'2)/(1 +1.4 *SeR<I2>):F1=10*F:F2=?0*(4*F) 210 АН=10* ( -РН):REM АКТИВНОСТЬ Н+ 220 OH2=1000*KU/AH/F1: REM НОРМАЛЬНОСТЬ ОН- 230 MG2=2000*PR2*AH*AH/KW/KW/F2: REM РАВНОВЕСНАЯ КОНЦЕНТРАЦИЯ MG++ 240 IF MG2>MG1 THEN MG2=MG1: REM HE МОНЕТ БЫТЬ БОЛЬШЕ ИСХОДНОЙ 250 REM РЕШЕНИЕ УРАВНЕНИЯ ЭЛЕКТРОНЕЙТРАЛЬНОСТИ А*АСА*АСА*В*АСА+С=0,ГДЕ АСА-АКТИВНОСТЬ СА++ 2 60 A=2OO0/F2:B=1O00*AH/F1+MG2+NA2-SO42-CL2-NO3 2-OH2: С=-1000*PR1 *(AH/K2/F1+2/F2) 270 ACA=(-B+SQR(B*B -4*A *C))/2/A:REM РЕШЕНИЕ К8.УРАВН. 280 CA2=2000*ACA/F2:REM НОРМАЛЬНОСТЬ СА++ 290 C03 2=2000*PR1/ACA/F2:REM НОРМАЛЬНОСТЬ С03-- 300 HC03 2=1000*AH*PR1/ACA/K2/F1:REM НОРМАЛЬНОСТЬ НСОЗ- 310 C022=AH*HC032*F1/K1:REM НОРМАЛЬНОСТЬ С02 320 I2=.0005*(2*(CA2+MG2+S042+C032)+NA2+HC032+CL2+N032+ 0H2+AH/F1):REM ИОННАЯ СИЛА РАСТВОРА 330 IF ABS((I1-I2)/I2)>.01 GOTO 190 340 I F С022+НСО32+С032/2>СО2ТОТ THEN >PR I NT "ИСХОДИ.ЩЕЛОЧНОСТЬ НИЗКАЯ";60Т0 50"0~ 350 PRINTUSING "ВЫПАДАЕТ САСОЗ »#П.ННП МГУКГ", 50.04*СС02ТОТ-С022-НС032-С032/2) 360 PRINTUSING "ВЫПАДАЕТ MG(0H)2 UUU.ttHU МГ/КГ" , 29.16* СMG1-MG2) 370 PRINTUSING "ДОЗА ИЗВЕСТИ=UU.ttH# МГ-ЭКВ/КГ", СА2+С02Т0Т-С022-НС032-С032/2-СА1 380 PRINT* ‘ИЗМЕНИЕ СОСТАВА ВОДЫ ,МГ-ЭК8/КГ 390 PRINT " исх. 0БР.":А 400 PRINT "NA+ " : PRINTUSING An,NAl; NA2 410 PRINT "CA++ " : PRINTUSING Ап,СА1; СА2 420 PRINT "MG++ " .-PRINTUSING Ап/ MG1; MG2 430 PRINT "S04-- " : PRINTUSING > п Ч С П о ; S042 440 PRINT "Cl- : PRINTUSING Ав, CL1; С02 450 PRINT "N03- " : PRINTUSING А*»,N031 ; N032 460 PRINT "С02 : PRINTUSING Ап,С021 ; С022 470 PRINT "НСОЗ- " : PRINTUSING Ап,НС031;НС032 480 PRINT "C03-- / • PRINTUSING Аи,С032 490 PRINT "OH- __________ LLPRINTUSING Ап,ОН2 500 END Прогр. 4.2. Бейсик-программа ПРЕДОЧ: расчет и вывод результата альтернатива для контроля возможности протекания извест­ кования, исходя из баланса общей углекислоты (строки 340-490). Структурная диаграмма расчета предочистки показана на рис. 4.3. 46
Ввод ионного состава исходной воды Выполняется ли условие электронейтральности? Ввод остальных параметров воды, определение конц. стабильных ионов в известкованной воде Определение общей углекислоты в исходной воде Ввод дозы коагулянта. Определение конц. S 0 ~ в изв. воде Ввод термодинамических констант (KW, К1, К2 , ПР, А) Ввод значения pH известкованной воды Допущение для первого приближения Фиксация значения ионной силы предыдущего приближения Расчет коэффициентов активности Определение активности Н + и нормальности ОН~ Определение равновесной концентрации Мд+ + Равновесная конц. Мд+ + больше исходной? Конц. Mg4 + в изв. воде равна равновесному значению Конц. Мд+ + в изв. веде равна исходной Решение уравнения электронейтральности — определение X — активности ионов кальция Определение конц. кальция, карбонатов и гидрокарбонатов в известк. воде Расчет ионной силы раствора Приближения закончились? Исходная щелочность? или не выполняется условие электронейтральн. Вывод результатов расчета Расчет неверен Рис. 4.3. Структурная диаграмма программы ПРЕДОЧ
4.6 . Текст программы Программа ПРЕДОЧ (см. программы 4.1 и 4.2) состоит из трех блоков: ввод исходных данных для расчета (программа 4.1); расчет ионного состава известкованной воды (программа 4.2, строки 180-330); расчет количества шлама (гидроксид магния и карбонат кальция) и вывод результатов на печать (программа 4.2, стро­ к и 340-500). При вводе данных, что реализуется в виде диалога машины с человеком, ЭВМ предоставляет пользователю право выбрать массовые или эквивалентные единицы концентрации по ионно­ му составу исходной воды (см. строку 20). Программно ведется при необходимости пересчет концентраций (см. строку 50) в эк­ вивалентные единицы. Операторы строки 80 заставят повторить ввод исходных данных, если они не будут соответствовать усло­ вию электронейтральности катионного и анионного состава во­ ды. Операторами строк 90-170 ведется запрос дополнительных исходных данных: содержания углекислого газа в исходной воде (строка 90); на строке 100 определяется общая углекислота в исходной воде; температуры воды при предочистке (строка 110), по которой определяются (см. строки 120-140) ионное произведение воды и константы диссоциации угольной кислоты по двум ступеням; произведения растворимости карбоната кальция и гидроокси­ да магния (см. строку 150); дозы коагулянта (см. строку 160); тут же задается концентра­ ция сульфат-ионов в известкованной воде; значения pH известкованной воды (см. строку 170). Расчет ионного состава известкованной воды начинается с за­ дания ее ионной силы в первом приближении (см. строку 180), что позволяет определить коэффициенты активности одно- и двухвалентных ионов (см. строку 200). Знание pH известкованной воды позволяет по известным соотношениям определить активность ионов водорода (строка 210), концентрацию ионов гидроксида (строка 200) и равновес­ ную концентрацию ионов магния (строка 230), которая, естест­ венно, не может быть выше исходной, что проверяется и при не­ обходимости корректируется условным оператором строки 240. 48
Через активность ионов кальция можно выразить их концент­ рацию (см. строку 280), концентрации карбонатов (см. строку 290) и гидрокарбонатов (см. строку 300). Подстановка этих и дру­ гих значений концентраций ионов в уравнение электроней­ тральности превращает его в квадратное, коэффициенты кото­ рого А, В и С определяются операторами присвоения строки 260. Корень этого уравнения - активность ионов кальция - рас­ считывается на строке 270. На строке 320 уточняется значение ионной силы раствора, отклонение которого от предыдущего значения менее чем на 1% служит признаком окончания расче­ та (см. строку 330). Так как для протекания процесса известкования требуется определенное высокое значение исходной щелочности воды, то в программу вставлен условный оператор (см. строку 340), пре­ рывающий расчет при низкой исходной щелочности, когда не соблюдается материальный баланс по углеродсодержащим ионам и молекулам. Разница между общей исходной углекисло­ той и общей углекислотой известкованной воды определяет массу выпавшего в осадок карбоната кальция (см. строку 350). Масса выпавшего гидроксида магния определяется из ба­ лансного уравнения по ионам магния (см. строку 360). Доза извести рассчитывается на строке 370 по балансу ионов кальция в системе: исходный кальций + доза извести = коли­ чество выпавшего карбоната кйльция + кальций известкован­ ной воды. Операторы печати строк 380-490 формируют таблицу измене­ ния состава воды после предочистки. 4.7 . Контрольный пример На рис. 4.4 представлен протокол прогонки программы ПРЕДОЧ, когда операторы печати строк 350-490 были отселек- тированы на принтер. Первая таблица была получена для зна­ чения pH = 10,2, а вторая - для pH = 10,3. Щелочность известко­ ванной воды - гидратная. Передозировка извести на 0,3 м г-экв/кг не приводит к существенному изменению качества известкованной воды. 49 4-6071
ВЫПАДАЕТ СAC03 120.039 МГ/КГ ВЫПАДАЕТ Мб(ОН)2 21.193 ИГ/КГ ДОЗА ИЗВЕ СТИ= 1 .596 МГ -ЭКВ/КГ ИЗМЕНИЕ СОСТАВА ВОДЫ,МГ -ЭКВ/КГ ВЫПАДАЕТ САСОЗ 120.160 МГ/КГ ВЫПАДАЕТ MG(ОН)2 24.633 МГ/КГ ДОЗА ИЗВЕСТИ2 1.902 МГ-ЭКВ/КГ ИЗМЕНИЕ СОСТАВА ВОДЫ, МГ -ЭКВ/КГ ИСХ . 0БР . исх. 0БР. NA+ 0.69478 0.69478 NA+ 0.69478 0.69478 СА+ + 5.22654 4.4237 СА+ + 5.22654 4.72736 MG+ + 0.92351 0.1967 MG+ + 0.92351 0.07874 S04-- 2.99271 3.49271 S04-- 2.99271 3.49271 CL- 1.48759 1.48759 CL- 1.48759 1.48759 N03- 0.00000 0.00000 N 03- 0.00000 0.00000 С02 0.02272 0.00000 С02 0.02272 0.00000 нсоз- 2.38593 0.00541 нсоз- 2.38593 0.00321 С03-- 0.00876 С03-- 0.00829 он- 0.3207 он- 0.50907 Рис. 4.4. Протокол прогонки программы ПРЕДОЧ 4.8 . Пути совершенствования алгоритма и программы Можно перечислить основные направления этой работы: учет кинетических факторов процесса выпадения твердой фазы кар­ боната кальция и гидроксида магния, учет процесса образова­ ния ионных пар [8], определение произведений растворимости карбоната кальция и гидроксида магния по температуре раство­ ра, ка к это делается в программе ПРЕДОЧ для ионного произве­ дения воды и констант диссоциации угольной кислоты. Глава пятая. АВТОМАТИЗИРОВАННАЯ ОБРАБОТКА НА ЭВМ ЛАБОРАТОРНОГО ЭКСПЕРИМЕНТА. ПРОГРАММА ЛАБРАБ В гл. 4 была рассмотрена программа ПРЕДОЧ расчета равно­ весных концентраций ионов в предочищенной воде. Принятые в ней допущения, как было отмечено, могут внести существен­ ные погрешности в расчет. Поэтому на практике дозу извести обычно уточняют экспериментальным путем. Дозу же коагулян­ та вообще нельзя рассчитать - ее всегда ищут эксперименталь­ но, добавляя в воду различные количества сульфата железа или алюминия и определяя окисляемость обработанной воды. Программы 5.1 и 5.2 - это программы, реализующие диалог лаборанта и ЭВМ при определении потребной дозы извести и качества известкованной воды. В процессе такого эксперимента лаборант должен проанализировать состав исходной воды, рас­ считать потребную дозу извести, провести известкование, проа- 50
10 PRINT "ОБРАБОТКА ОПЫТНЫХ ДАННЫХ ПО ИЗВЕСТКОВАНИЮ ВОДЫ" 20 PRINT "КАКОВЫ КОНЦЕНТРАЦИИ (Г-ЭКВ/Л)" 30 INPUT "РАСТВОРА КОМПЛЕКСОНА 11 I ” , К1 40 INPU T "РАСТВОРА СОЛЯНОЙ КИСЛОТЫ",К2 50 INPUT "КАКОВ ОБ'ЕМ ПРОБ (М Л)", У 1______________________________ 60 PRINT "ПРОВЕДИТЕ АНАЛИЗ ИСХОДНОЙ ВОДЫ." 70 INPUT "1) НА ЖЕСТКОСТЬ. КАКОВ РАСХОД (МЛ) РАСТВОРА КОМПЛЕКСОНА 11 I " , V 80 Н1=1OO0*V*K1/ V1: Н2= Н1 90 PRINTUSING "М01 МГ-ЭКВ/Л",Н1 100 GOSUВ 3 9 0: RЕМ ОПРЕДЕЛЕНИЕ ССА 110 С1= С 2 :PRINTUSING "С СА 1=ПН.ПНП М Г-ЭКВ/Л",С1 120 GOSUB 4 4 0 : RЕМ ОПРЕДЕЛЕНИЕ ЩЕЛОЧНОСТИ 13 0 B1=B2:Q1=Q2:D1=D2:A1=B1+Q1+D1 140 PRINTUSING "Щ01=## .### ЩБК1=ПП.ПП» ШК1-ПП.ППП ШГ1=fl#.#flfl МГ -ЭКВ/Л",А1;В1;Q1;D1 150 IN PUT "КАКОВА КОНЦЕНТРАЦИЯ УГЛЕКИСЛОТЫ В ИСХОДНОЙ ВОДЕ (МГ-ЭКВ/Л)",U1 160 INPUT "КАКОВ ИЗБЫТОК (МГ-ЭКВ/Л) ИЗВЕСТИ НА ИЗВЕ СТ КОВАНИЕ" , I 170 INPUT "КАКОЙ ОБ'ЕМ (МЛ) НЕОБХОДИМО ИЗВЕСТКОВАЧЬ" , V 180 INPUT "КАКОВА КОНЦЕНТРАЦИЯ (МГ-ЭКВ/Л) РАСТВОРА ИЗВЕСТИ",КЗ 190 V=V*(H1 -C1+U1+I+BD/K3 200 PRINTUSING "В ВОДУ НЕОБХОДИМО ДОБАВИТЬ ttttti МЛ РАСТВОРА ИЗВЕСТИ",V_________________________ ___________ __________ 210 PRINT "ПРОВЕДИТЕ АНАЛИЗ ИЗВЕСТКОВАННОЙ ВОДЫ. " 220 INPUT ” 1) НА ЖЕСТКОСТЬ. КАКОВ РАСХОД (МЛ) РАСТВОРА КОМПЛЕКСОНА I I I " , V 230 Н2=1000*V *K1/ V1 24 0 PRINTUSING "W02=U# .# tltt МГ-ЭКВ/Л",H2 250 GOSUB 3 9 0 : REM ОПРЕДЕЛЕНИЕ CCA 260 PRINTUSING "ССA2=It П.#tf ft МГ-ЭКВ/Л",C2 270 GOSUB 4 4 0 : REM ОПРЕДЕЛЕНИЕ ЩЕЛОЧНОСТИ 280 A2=B2+Q2+D2 290 PRINTUSING "Щ02 ЩБК2=## .### ЩК2=1 iti.U tiU ЩГ2=ПП.ППП М Г-ЭКВ/Л",A 2 ;B 2;Q 2;D 2___________________________ 300 A3=100*(H1-H2)/Н1:B3=100*(C1-C2)/С1 310 C3=100*(H1-H2-C1 +C2)/ (Hi —С1) :D3 =100*(A1-A2)/A1 320 PRINT "ИТОГОВАЯ ТАБЛИЦА ( MГ-Э KB / Л) " : PR I NT 330 PRINT " MO CA MG ЩО ЩБК ЩК ЩГ" 340 PRINT "ИСХОДНАЯ ВОДA"; :PRINTUSING "tttt .tttt ",H1;C1; H1-C1; A1;B1;Q1 ;D1 350 PRINT "ИЗВЕСТК.В0ДА " ; : PR I NTUS ING "tttt.UU ",H2;C2; H2-C2;A2;B2;Q2;D 2 360 PRINT "% СНИЖЕНИЯ " ; : PRINTUSING ",A3; В3; С3; О3 3 70 PRINT "РАБОТУ ПРОВЕЛ- ДАТА- ":G0T0 550 Прогр. 5.1. Бейсик-программа ЛАБРАБ: основная программа нализировать состав известкованной воды и рассчитать эффек­ тивность удаления отдельных ионов. Программа ЛАБРАБ состоит из пяти блоков (программа 5.1) и двух подпрограмм (программа 5.2). 51
380 REM ПОДПРОГРАММЫ *************************** 390 PRINT "2) НА КАЛЬЦИЙ" 4 0 0 INPUT "КАКОВ РАСХОД <МЛ> РАСТ-РА КОМПЛЕКСОНА I I I " , V 410 C2=1000*V *K1/V1 420 IF Н2>=С2 THEN 4 3 0 :PRINT "ПОВТОРИ АНАЛИЗ НА КАЛЬЦИй":СОТО 400 430 RETURN 440 PRINT "3) НА МЕЛОЧНОСТЬ" 450 INPUT "КАКОВ РАСХОД (МЛ) HCL ПО ФЕНОЛ• ТАЛЕИНУ " , F 4 6 0 INPUT "КАКОВ РАСХОД (МЛ) НСL ПО MEТИЛ0РАНЖУ",М 470 IF М>= F THEN 480:PRINT "F>M ?! ПОВТОРИ АНАЛИЗ НА ЩЕЛОЧНОСТЬ":G 0T0 450 480 IF 2* F> =M THEN 490:В2=M:Q2,D2=0:GOTO 530 490 IF FOO THEN 500: В2=M-2* F:Q2= 2* F:D2=0: GOTO 530 500 IF 2*F<>M THEN 510:В2=0:Q2=2 *F:02=0:GOTO 530 510 IF 2*F<M THEN 520:В2=0:Q2=2 *(M-F) : D2=2 *F-M:GOTO 530 520 В2=0: Q2 = 0 :D2=M: GOTO 530 53 0 В2=1 ООО*В2 * К2 / V1: Q2=1ООО*Q 2*K2/V1: D2=1000*D2*K2/V1 540 RETURN____________________________________________________________ 550 END_________________________________________________________________ Прогр. 5.2. Бейсик-программа ЛАБРАБ: подпрограммы Операторы первого блока (строки 10-50) запрашивают пара­ метры объемных анализов на жесткость и щелочность. Второй программный блок (строки 60-140) управляет проведе­ нием анализа исходной воды и обрабатывает первичные данные, распечатывая результаты анализов. Параметры исходной воды и другие данные используются операторами третьего блока (строки 150-200) для расчета объе­ ма раствора извести для проведения известкования. Четвертый программный блок (строки 210-290) подобен второ­ му - он управляет анализом известкованной воды. Пятый, последний блок программы (строки 300-370) формиру­ ет таблицу вида: Итоговая таблица Показатель ЖО СА MGЩОЩБКЩКщг Исходная вода 3.50 2.10 1.40 2.40 2.40 .00 О о Известкованная вода 2.40 1.10 1.30 .90 .00 .80 .10 % снижения 31.42 47.61 7.14 62.50 Работу провел 52 Дата
ОБРАБОТКА ОПЫТНЫХ ДАННЫХ ПО ИЗВЕСТКОВАНИЮ ВОДЫ КАКОВЫ КОНЦЕНТРАЦИИ (Г-ЭК В/Л) РАСТВОРА КОМПЛЕКСОНА I I I ? .1 РАСТВОРА СОЛЯНОЙ КИСЛОТЫ? .1 КАКОВ ОБ1ЕМ ПРОБ (МЛ)? 100 ПРОВЕДИТЕ АНАЛИЗ ИСХОДНОЙ ВОДЫ. 1) НА ЖЕСТКОСТЬ. КАКОВ РАСХОД (МЛ) РАСТВОРА КОМПЛЕКСОНА I I I ? 3 .5 Ж01= 3 .500 мг-экв/л 2 ) НА КАЛЬЦИЙ КАКОВ РАСХОД (МЛ) РАСТ-РА КОМПЛЕКСОНА I I I ? 2.1 ССА1= 2 .100 МГ-ЭКВ/Л 3) НА ЩЕЛОЧНОСТЬ КАКОВ РАСХОД (МЛ) НСL ПО ФЕНОЛФТАЛЕИНУ? О КАКОВ РАСХОД (МЛ) HCL ПО МЕТИЛОРАНЖУ? 2 . А Щ01= 2 .400 ЩБК1= 2 .400 ЩК1= 0 .000 ЩГ1= 0 .000 МГ -ЭКВ/Л КАКОВА КОНЦЕНТРАЦИЯ УГЛЕКИСЛОТЫ В ИСХОДНОЙ ВОДЕ ( М Г -Э К В /Л ) ? .01 КАКОВ ИЗБЫТОК (М Г -Э К В /Л ) ИЗВЕСТИ НА ИЗВЕСТКОВАНИЕ? .1 КАКОЙ ОБ'ЕМ (МЛ) НЕОБХОДИМО ИЗВЕСТКОВАТЬ? 500 КАКОВА КОНЦЕНТРАЦИЯ (МГ-ЭК8/Л) РАСТВОРА ИЗВЕСТИ? 40.5 В ВОДУ НЕОБХОДИМО ДОБАВИТЬ 48 МЛ РАСТВОРА ИЗВЕСТИ ПРОВЕДИТЕ АНАЛИЗ ИЗВЕСТКОВАННОЙ ВОДЫ. 1) НА ЖЕСТКОСТЬ. КАКОВ РАСХОД (МЛ) РАСТВОРА КОМПЛЕКСОНА I I I ? 2 .4 Ж02= 2 .400 МГ-ЭКВ/Л 2) НА КАЛЬЦИЙ КАКОВ РАСХОД (МЛ) РАСТ-РА КОМПЛЕКСОНА I I I ? 1.1 ССА2= 1 .100 МГ-ЭКВ/Л 3) НА ЩЕЛОЧНОСТЬ КАКОВ РАСХОД (МЛ) НС L ПО ФЕНОЛФТАЛЕИНУ? .5 КАКОВ РАСХОД (МЛ) НСL ПО МЕТИЛОРАНЖУ? .9 Щ02= 0 .900 ШБК2= 0 .000 ЩК2= 0 .800 ЩГ2= 0 .100 МГ-ЭКВ/Л ИТОГОВАЯ ТАБЛИЦА (МГ-ЭКВ/Л) жо СА Мб ЩО ЩБК UIK ЩГ ИСХОДНАЯ ВОДА 3 .50 2.10 1.40 2.40 2.40 0.00 0 .00 ИЗВЕСТК. ВОДА 2.40 1.10 1.30 0 .90 0 .00 0 .80 0 .10 % СНИЖНИЯ 31 .42 47 .67 7.14 62.50 РАБОТУ ПРОВЕЛ- ДАТА- Рис. 5.1. Протокол прогонки программы ЛАБРАБ Две подпрограммы (см. строки 390-430 и 440-540) подсказыва­ ют лаборанту методику проведения анализов на кальций и ще­ лочность. В них заложены итерационные участки (строки 400- 420 и 450-470), исключающие неверные результаты. Операторы строк 480-530 определяют виды щелочности воды в зависимости от расхода соляной кислоты на анализ по фенол­ фталеину (F) и метилоранжу (М). Программу ЛАБРАБ нежелательно дополнять участками, вы­ водящими на экран дисплея подробные инструкции по прове­ дению тех или иных анализов воды. На рис. 5.1 представлен протокол прогонки программы ЛАБРАБ.
Глава шестая. РАСЧЕТ ДВУХСТУПЕНЧАТОЙ ИОНИТНОЙ ВОДОПОДГОТОВИТЕЛЬНОЙ УСТАНОВКИ. ПРОГРАММА ВПУ 6.1 . Постановка задачи Обработка воды методами ионного обмена осуществляется путем фильтрования воды через слой ионита - высокомолеку­ лярного синтетического вещества, способного поглощать из об­ рабатываемой воды ионы загрязняющих примесей и отдавать в раствор эквивалентное количество других ионов, введенных предварительно в состав ионита. Реакции ионного обмена протекают по уравнениям типа 2RNa+ Са2+ ** R2Са+2Na+; RH+Na+=* RNa+Н+; 2RNH4+ Mg2+ R2Mg + 2NH4+ ; 2ROH+SO4_ * R2S04+ 2OH" 5 RCl+ HCO^ ^RHC03+ei". В процессе фильтрования раствора через слой ионита послед­ ний насыщается поглощенными ионами. Для восстановления обменной способности проводится регенерация ионита - про­ цесс, обратный основному, например, при Ыа-катионирования: R2Ca+nNa+^ 2RNa+Са2++(п-2)Na+, где п - величина, учитывающая избыток регенерирующего ве­ щества против его стехиометрического количества, и определя­ ющая полноту регенерации ионита. Избыток регенерирующего вещества и продукты регенерации переходят в сточные воды собственных нужд ВПУ. С позиций защиты окружающей среды от вредных сбросов и экономичности значение п должно быть минимальным, что определяет направ­ ление в оптимизации ионообменной технологии. В СССР наиболее широко используются в целях обработки воды катиониты - сульфоуголь и КУ-2 и аниониты - слабооснов­ ный АН-31 и высокоосновный АВ-17. Обменная емкость ионитов определяется количеством ионов в грамм-эквивалентах, которое может быть сорбировано из во­ ды 1 м3 ионита. Различают полную обменную емкость Е п , харак­ теризующую полную замену обменивающихся ионов к моменту выравнивания концентрации удаляемых ионов в исходном и 54
Рис. 6.1. К расчету двухступенчатой ионитной ВПУ: Н1 —катионитный фильтр первой ступени; А1 —анионитный фильтр первой ступени; Д - декарбонизатор; ЧОВ - бак частично обессоленной воды; Н2 - к ат и­ онитный фильтр второй ступени; А2 — анионитный фильтр второй ступени; Х ОВ —бак обессоленной воды обработанном растворах, и рабочую обменную емкость (емкость до проскока) Ер, составляющую часть полной и характеризую­ щую количество грамм-эквивалентов, извлеченных из воды 1 м3 ионита до того момента, когда остаточное содержание ио­ на в обработанной воде достигает допустимого значения, назы­ ваемого проскоком. Полный цикл ионитного фильтра включает рабочий период эксплуатации фильтра и период его регенерации, состоящий из взрыхления, пропуска регенерационного раствора и отмывки. Для подготовки добавочной воды ТЭС и АЭС наиболее широ­ ко применяются схемы двухступенчатого ионирования, при этом на ТЭС с прямоточными котлами при подаче добавочной воды в конденсатор турбины блочная обессоливающая установ­ ка играет роль третьей ступени обработки добавочной воды. На рис. 6.1. показана принятая к расчету схема обработки добавочной воды, включающая катионирование первой ступе­ ни - анионирование на слабоосновных ионитах первой ступени - 55
декарбонизация - катионирование второй ступени - аниониро- вание на сильноосновных ионитах второй ступени. Соответст­ венно этому вода поступает последовательно на Н-фильтры первой ступени (первая группа фильтров), А -фильтры первой ступени (вторая группа фильтров), в декарбонизатор, в бак час­ тично обессоленной воды, на Н-фильтры второй ступени (третья группа фильтров), на А-фильтры второй ступени (четвертая группа фильтров) и в бак обессоленной воды. Вода на регене­ рацию фильтров первой группы (взрыхление, приготовление регенерационных растворов серной кислоты и едкого натра, от­ мывка) берется из бака частично обессоленной воды, а на реге­ нерацию фильтров второй ступени - из бака обессоленной воды. Следовательно, первая ступень обрабатывает объем воды, необ­ ходимый потребителю, плюс собственные нужды ВПУ, а вторая ступень - объем, необходимый потребителю, плюс свои собст­ венные нужды. Режимная карта положений клапанов, обеспечивающих пол­ ный фильтроцикл, приведена в табл. 6 .1. Целью расчета по программе ВПУ является определение тех­ нологических показателей работы отдельных фильтров и всей установки в целом. Перечень показателей сведен в табл. 6.2 и описан в § 6.3. Таблица 6.1. Режимная карта положений клапанов (1 —открыт, О—закрыт), обеспечивающих полный фильтроцикл Клапан 1 2 3 4 5 6 7 Резерв 0 0 0 0 0 0 0 Фильтрование 1 0 0 0 0 0 1 Взрыхление 0 1 0 0 1 0 0 Регенерация 0 0 1 0 0 1 0 Отмывка 0 0 1 0 0 1 0 56
Таблица 6.2. Перечень идентификаторов программ ВПУ на Бейсике и Паскале Переменная Имя Бейсик Паскаль Простые вещественные переменны е Площадь фильтра, м F F Максимальная площадь фильтра, м2 F1 - Номер параметра фильтра I I Номер ступени ионирования J J Расход реагента на одну регенерацию, к г Р1 Р1 Расход воды брутто в текущем приближении, м3/ч Q QB Продолжительность пропуска регенерационного раствора, м ин Т2 Т2 Продолжительность отмывки фильтра, м ин ТЗ ТЗ Объем воды взрыхления фильтра, м 3 VI VI Объем регенерационного раствора на одну регенерацию, м3 V2 V2 Объем воды отмывки, м3 V3 V3 Простая литерная переменная Формат печати А - Индексная вещественная переменная Значение J-го параметра J -й ступени фильтрования AO,J) AQ,J) Индексная литерная переменная Название I-то параметра ступени ионирования MI) -
6.3 . Математическое описание задачи Работа по программе ВПУ сводится в основном к обработке двумерного вещественного массива (матрицы) А (7, J), верхняя часть которой [ I = 1^-12 и элемент А (13,4)] хранит исходные ве­ личины расчета, а остальные элементы заполняются результа­ тами в процессе прогонки программы. Индексы массива А соответствуют: по J: 1- катионитный фильтр 1-й ступени; 2 - анионитный фильтр 1-й ступени; 3- катионитный фильтр 2-й ступени; 4 - анионитный фильтр 2-й ступени; по I: исходные параметры: 1- рекомендуемая скорость фильтрования, м /ч; 2 - рабочая обменная емкость смолы, г -экв/м3; 3 - перепад концентраций на фильтре по удаляемым ионам, мг-экв/кг; 4 - удельный расход 100%-ного регенеранта, к г /м 3; 5- интенсивность взрыхления смолы, л/(с*м2); 6 - продолжительность взрыхления, мин; 7 - концентрация регенерационного раствора, %; 8 - удельный объем отмывочной воды, м3/м 3; 9 - скорость пропуска регенерационного раствора, м /ч; 10 - скорость отмывки, м/ч; 11 - минимальное число фильтров в группе; 12 - максимальная скорость фильтрования, м/ч; рассчитываемые параметры: 13 - расход воды нетто, м3/ч; 14 - расход воды брутто, м 3/ч ; 15 - высота загрузки смолы, м; 16 - диаметр фильтра, м; 17 - скорость фильтрования, м /ч; 18 - число фильтров; 19 - продолжительность фильтроцикла, ч; 20 - число регенераций в сутки, сут-1; 21 - суточный расход регенеранта, кг/сут; 22 - расход воды собственных нужд, м3/ч; 23 - продолжительность регенерации, мин. 6.2 . Перечень идентификаторов (см . табл. 6 .2)
Задание полупостоянных параметров фильтров (10—170) Считывание исходных данных из списка (600—630) Ввод Q нетто ВПУ (640) Расчет второй ступени ВПУ (650—660) Определение Q нетто первой ступени (680) Расчет первой ступени ВПУ (690) Вывод результатов расчета (700—750) Рис. 6.2. Структурная диаграмма алгоритма расчета ВП У Задание Q нетто Н-фильтра (210) Определение Q брутто Н-фильтра (220) Определение Q брутто А-фильтра (230) Расчет А-фильтра (240—250) Расчет Н-фильтра (260—270) Определение Q брутто ступени (280) Закончились ли приближения по Q брутто? Уточнение Q брутто ВПУ Рис. 6.3. Структурная диаграмма расчета ступени В П У На рис. 6.2 представлена структурная диаграмма программы ВПУ. Она проста вследствие двукратного использования под­ программы (процедуры) СТУПЕНЬ. Расчет ведется с ’’хвоста” ВПУ, с ее второй ступени. Подпрограмма СТУПЕНЬ (рис. 6.3) включает в себя итераци­ онный блок, реализующий расчет расхода воды брутто методом 59
Определение максимальной площади фильтра (320) Задание начального числа фильтров (330) Увеличение числа фильтров на 1 (340) Определение потребной площади фильтрования (350) Выбор фильтра из стандартного ряда (360—410) Нужно ли увеличить число фильтров? Уточнение высоты загрузки смолы в фильтре и площади фильтрования (430—440) Не велика ли скорость при отключении одного фильтра на регенерацию? Расчет технологических показателей работы фильтров Рис. 6.4. Структурная диаграмма алгоритма расчета групп фильтров последовательного приближения. Это вызвано тем, что вода собственных нужд ступени берется из баков (ЧОВ - частично обессоленной воды или ХОВ - химически обессоленной воды), расположенных за ступенью. Подпрограмма СТУПЕНЬ 2 раза использует новую подпро­ грамму - подпрограмму второго уровня ФИЛЬТР (рис. 6.4). 6.4 . Допущения, принятые в расчете Неполный перечень допущений: все параметры фильтров, объединенных в группы (H I, А1 и т. д .), принимаются равными; в расчете не принимаются во внимание различные мероприятия по экономии воды собственных нужд (повторное использование отмывочной воды на взрыхление и т. д .); переменные, входящие в верхнюю часть матрицы А, принимаются не зависящими друг от друга. 60
6.5 . Структурная диаграмма программы (см. § 6.3) 6.6 . Текст программы Здесь приводятся тексты двух программ ВПУ, написанные на Бейсике (программы 6.1 -6 .3) и на Паскале (программы 6.4 -6 .7). Их можно назвать билингвой, хотя они не совсем идентичны. Но об этом чуть позже. Программа ВПУ на Бейсике (программа 6.1) состоит из четы­ рех блоков: 10 REM*** 20 REM РАСЧЕТ 2-СТУПЕНЧАТОЙ И0НИТН0Й ВПУ 30 RЕМ*** 4 0 RЕМ ЗАДАНИЕ МАССИВОВ 50 DIM А(23,4),Ап(23)13:АД="##### .#»#»" 60 RЕМ ОБОЗНАЧЕНИЯ ПАРАМЕТРОВ ФИЛЬТРА 70 DATA "иР(М/Ч)",мЕ(Г“ЭК8/МЗ)","С(МГ-ЭКВ/КГ)", "В(КГ/МЗ)","1(Л/(С*М2)" 80 DATA "Т1(MHH)","C2<X)","A(M3/M3)","W 2(M/4>", "W3(М/Ч)" , "N МИН","Ч MAX N-1" 90 DATA MQH(Т/Ч)*'/’0Б<Т/Ч)","Н(И)","D(М)","U(М/Ч)","N", "Т(Ч)","М(1/СУТ)” 100 DATA "Р2( КГ/ СУТ)" , "QСН(Т/ Ч) " , "ТО(МИН) ” 1 1 0 RЕМ СЧИТЫВАНИЕ ОБОЗНАЧЕНИЙ 120 FOR 1=1 ТО 23:READ An(I):NEXT I 13 0 REM ИСХОДНЫЕ ПАРАМЕТРЫ ВПУ 140 DATA 30,650,4 .97,60 ,3 ,10,1 ,5 ,10,10,3 ,100:REM Н1 150 DATA 30,900 ,1 .10,50,3 ,10,4 ,8 ,5 ,10,3 ,100:REM 0Н1 160 DATA 50,400,0 .10,60 ,3 ,10,3 ,5 ,5 ,5 ,2 ,100:REM H2 170 DATA 30,200,0 .15,100,3 ,10,4 ,9 ,5 ,5 ,2 ,100:REM 0H2 18 0 GOTO 5 9 0 : REM ПЕРЕХОД К ОСНОВНОЙ ПРОГРАММЕ 19 0 REM ПОДПРОГРАММЫ________________________________________________________ 590 REM ПРОДОЛЖЕНИЕ ОСНОВНОЙ ПРОГРАММЫ_________________ 600 FOR J=1 ТО 4: RЕМ ПЕРЕБОР СТУПЕНЕЙ___________________ 610 FOR 1=1 ТО 12: REH ПЕРЕБОР ПАРАМЕТРОВ_______________ 620 READ А( I , J ) :REM СЧИТЫВАНИЕ ИСХОДНЫХ ДАННЫХ_______ 630 NEXT I.-NEXT J______________________________________________ 640 А(13,4)=410:REM ЗАДАНИЕ Q НЕТТО ВПУ (Т/Ч) 650 J=3: RЕМ ПЕРЕХОД К РАСЧЕТУ ВТОРОЙ СТУПЕНИ 660 G0SUB 2 0 0 :RЕМ ВЫЗОВ ПОДПРОГРАММЫ СТУПЕНЬ 670 J= 1 : RЕМ ПЕРЕХОД К РАСЧЕТУ ПЕРВОЙ СТУПЕНИ 680 А(13,J+1) =А(14,J+2) 690 G0SUB 20 0 : RЕМ ВЫЗОВ ПОДПРОГРАММЫ СТУПЕНЬ_________ 700 PRINT ТАВ(20); "Н1 ОН1 Н2 0Н2 710 FOR 1=1 ТО 23: RЕМ ПЕРЕБОР ПАРАМЕТРОВ 720 PRINT АД( I ) ; : RЕМ ПЕЧАТЬ НАЗВАНИЯ ПАРАМЕТРА_______ 730 FOR J=1 ТО 4 : RЕМ ПЕРЕБОР ФИЛЬТРОВ___________________ 740 PRINTUSING АД, А( I , J ) ; ; RЕМ ПЕЧАТЬ ПАРАМЕТРОВ 750 NEXT J:PRINT :NEXT I " ~ Ilporp. 6.1. Бейсик-программа ВПУ: основная программа 61
инициализации и хранения массивов исходных данных (стро­ к и 10-190); считывания исходных данных (см. строки 590-630) из списка данных (см. строки 140-180); расчета ВПУ (см. строки 640-690); вывода результатов на печать (см. строки 700-750). Программа ВПУ имеет ту особенность, что все исходные дан­ ные для расчета заложены в программе (см. строки 140-170, где записаны списком данных параметры фильтров с 1-го по 12-й, и строку 640). Чтобы перейти к новому расчету, нужно данные программные строки отредактировать - записать на них новые исходные данные. 200 REM ПОДПРОГРАММА СТУПЕНЬ 21 0 А(13,J)=А(13 ,J +1) 220 A(‘i4 ,J)=A(13,J)+A(22,J)+A(22,J +1) 230 А(14, J+1) =А(1 4, J) 240 J=J + 1: REM РАСЧЕТ А-ФИЛЬТРА 250 GOSUB 3 1 0 : REM ВЫЗОВ ПОДПРОГРАММЫ ФИЛЬТР 260 J =J - 1 : REM РАСЧЕТ Н-ФИЛЬТРА 270 GOSUB 3 1 0 : REM ВЫЗОВ ПОДПРОГРАММЫ ФИЛЬТР 280 Q=A(13.J)+A(22»J)+A(22,J+1) 290 IF ABS((A(14,J)-Q)/Q)>.001 GOTO 220 300 A( 1 4 , J) =Q:RETURN : REM КОНЕЦ ПОДПРОГРАММЫ СТУПЕНЬ Прогр. 6.2. Бейсик-программа ВПУ: подпрограмма СТУПЕНЬ Подпрограмма ступень (программа 6.2) включает в себя структурную управляющую конструкцию - итерация с постпро­ веркой (см. строки 220-290), так ка к расчет расхода брутто сту­ пени ведется методом последовательного приближения. В под­ программе дважды вызывается новая подпрограмма ФИЛЬТР для расчета А-фильтра (см. строку 250) и Я-фильтра (см. строку 270). Уточненное значение расхода воды брутто (см. строку 280) сравнивается (см. строку 290) с предыдущим найденным. Расчет повторяется при отклонении более чем на 0,1%. Подпрограмма ФИЛЬТР (программа 6.3) - ядро расчета ВПУ. Она состоит из двух блоков - выбор фильтра из стандартного ря­ да, выпускаемого промышленностью (см. строки 320-450) и рас­ чет их технологических характеристик (см. строки 460-570). В табл. 6.3 представлены основные параметры стандартных фильтров для выбранной схемы ВПУ. Алгоритм выбора фильтра из стандартного ряда, реализован­ ны й операторами строк 320-450, следующий: 62
310 REM ПОДПРОГРАММА ФИЛЬТР (ВТОРОЙ УРОВЕНЬ) 320 F1=10.1:IF J=3 OR J=4 THEN F1=8.1 330 A(18,J)=A(1 1, J ) -1 : REM ШАГ НАЗАД_________________________ 340 A(18,J)=A(18,J >+1:REM УВЕЛИЧЕНИЕ ЧИСЛА ФИЛЬТРОВ 350 F=AC14#J)/A(18,J)/A(1#J ):REM ПЛОЩАДЬ ФИЛЬТРОВАНИЯ 360 IF F<1. 28 THEN______________________ . __________________________ I A(16#J)=1:A(15,J)=2;GOTO 420 370 IF F<2 .4 6 THEN_______________________________________________________ I A(16,J)=1 .5:A(15,J)=2.2:G0T0 420 380 IF F<4.22 THEN . I A(16,J)=2:A(15,J)=2.5:G0T0 420 3 90 IF F<6. 2 2~"TheN I I A(16,J)=2.6;A(15,J)=2.5:G0T0 420 ~ 400 IF F<8.1 THEN I A(16,J)=3:A(15,J)=2.5:G0T0 420 410 A(16,J)=3.4;A(15,J)=2.5 IIIII 420 IF F> F1 GOTO 340_____________________________________________ 430 IF J=3 OR J=4 THEN A(15,J)=1.5 440 F=flPI *A(16,J)*2/4:REM ПЛОЩАДЬ ФИЛЬТРА_________________ 450 IF A(14, J)/ F/ (A(18,J)-1)>A(12, J) GOTO 340____________ 460 A(17,J)=A(14,J)/F/A(18,J):REM СКОРОСТЬ 470 A(19,J)=A(15,J)*A(2,J)/A(17,J)/A(3,J):REM T ФЧ 480 A(20,J)=24*A(18,J)/A(19,J):REM M 490 P1=F*A<15,J)*A(4 ,J) :REM РАСХОД РЕАГЕНТА 500 A(21,J)=P1*A(20,J):REM СУТОЧНЫЙ PACX. PEАГEHTA 510 V1= .06 *F *A(5,J)*A(6,J):REM ОБ’ ЕМ ВОДЫ ВЗРЫХЛЕНИЯ 520 V2= .1 *Р1/А(7 ,J) :REM OB'EM РАСТВОРА PEГЕHEPAHTA 530 V3=F*A(15,J) *A(8 ,J) :REM OB’ EM ОТМЫВОЧНОЙ ВОДЫ 540 A(22,J)=A(20,J)*(V1+V2+V3)/24:REM Q С0БТВ.НУЖД 550 T2=60 *V2/A(9,J)/F;REM ВРЕМЯ ПРОПУСКА РЕГЕНЕР. P-PA 560 T3=60 *V3/A(10/ J)/F:REM ВРЕМЯ ОТМЫВКИ 570 A(23,J)=A(6,J)+T2+T3:REM ВРЕМЯ РЕГЕНЕРАЦИИ 580 RETURN : RЕМ КОНЕЦ ПОДПРОГРАММЫ ФИЛЬТР Прогр. 6.3. Бейсик-программа ВП У: подпрограмма ФИЛЬТР Таблица 6.3. Стандартные фильтры (числитель —диаметр в метрах, знаменатель —высота загрузки смолы в метрах) Ступень 1 2 3 4 5 6 1-я 1 2 1,5 2,2 2 2,5 2,6 2,5 3 2,5 3,6 2,5 2-я _1_ 1,5 1.5 1.5 2 1,5 2,6 1,5 3 1,5 — 1) определяется потребная площадь фильтрования (см. стро­ к у 350); 2) из стандартного ряда серией логических сравнений (см. строки 360-400) подбирается фильтр, площадь которого наибо­ лее близка к потребной; 63
2 . PROCEDURE STUFE; X ПРОЦЕДУРА СТУПЕНЬ X 3. VAR QB : REAL; X ЛОКАЛЬНАЯ ПЕРМЕННАЯ ПРОЦЕДУРЫ СТУПЕНЬ X 48 BEGIN X НАЧАЛО ПРЧЕДУРЫ СТУПЕНЬ X 49 АС13,JD:=АС13,J+1D; 50 REPEAT X ПОВТОРЯЙ,ПОКА Q БР. НЕ СТАНЕТ =Q БР.В ПРЕДЫД. ПРИБЛ. X 51 AC14,JD:=AC13,J]+AC22,J]+A[22,J+1D; XQBP. =QH+QCHH+QCHOHX 52 Ad 4,J+1]:=АС14,J]; X Q БР 0H=Q БР H X 53 J := J +1; X ПЕРЕХОД К РАСЧЕТУ OH-ФИЛЬТРА X 54 FILTR; X ВЫЗОВ ПРЦЕДУРЫ ФИЛЬТР X 55 J:=J -1; X ПЕРЕХОД К РАСЧЕТУ Н-ФИЛЬТРА X 56 FILTR; X ВЫЗОВ ПРЦЕДУРЫ ФИЛЬТР X 57 Q8:=A[13,JD+AC22,J]+AС22,J+1И X ТЕКУЩЕЕ Q БРУТТО X 58 UNTIL АС14 , J3=QB; 59 А[14,J3:=QB X УТОЧНЕННОЕ ЗНАЧЕНИЕ Q БРУТТО X 60 END; X ПРОЦЕДУРЫ СТУПЕНЬ X Прогр. 6.4. Паскаль-программа ВП У: инициализация и процедура СТУПЕНЬ 4. PROCEDURE FILTR; X ЛОКАЛЬНАЯ ПРОЦЕДУРА ФИЛЬТР X 5. VAR F,U1,Р1,V1, V2,V3 ,Т2,ТЗ,FM : REAL; X ЛОКАЛЬНЫЕ ПЕРЕМЕННЫЕ ПРОЦЕДУРЫ ФИЛЬТР X 6. BEGIN X НАЧАЛО ПРОЦЕДУРЫ ФИЛЬТР X 7. IF J > 2 THEN FM:=8.1 ELSE FM:=10.1; 8. AC18,J]:=AC11,J3-1; X NФ=NФMIN-1 ШАГ НАЗАД X 9. REPEATXnOBTOPfl*,nOKA СКОРОСТЬ ПРИ ОДНОМ ОТКЛ. ФИЛЬТРЕ>WMAXX 10. REPEATXПОВТОРЯЙ,ПОКА ПРОШАДЬ ФИЛЬТРА>МАКС ИМ. СТАН ДАРТНОЙХ 11. AC18,JD:=AC18,J]+1; X N®=N®+1 ШАГ ВПЕРЕД X 12. F:=AC14,J3/AC18,J3/AC1,J3;ХПОТРЕБНАЯ ЛЛОЧАДЬ ФИЛЬТРАХ 13. IFF<1.28THENBEGIN 14. АС16,J] :=1;АС15,J] :=2 END 15. ELSE BEGIN 16. IF F < 2.46 THEN BEGIN 17. AC16,JD:=1. 5;AC15,J] :=2. 2 END 18. ELSE BEGIN 19. IF F < 4.22 THEN BEGIN 20. AC16,J3 :=2;AC15,J] :=2 .5 END 21. ELSE BEGIN 22. IFF<6.2THENBEGIN 23. AC16,J3: =2. 6;AC15, JD: =2. 5 END 24. ELSE BEGIN 25. IF F.< 8.1 THEN BEGIN 26. A[16,J]:=3;AC15,J3: =2. 5 END 27. ELSE BEGIN 28. AC16,J]:=3. 4;AC15,JD: =2. 5 END 29. END END END END 30. UNTIL F < FM; X ВЫБРАН ФИЛЬТР ИЗ СТАНДАРТНОГО РЯДА %' 31. F:=3. 14 *SQR(A[1&,J3)/4 ; X ПЛОЩАДЬ СТАНД. ФИЛЬТРА X 32. W1:=АС14,J3/F/(AC18,J]-1) X СКОРОСТЬ ПРИ N®=N®-1 X 33. UNTIL W1 < А И 2 , J3; X НЕ ДОЛЖНА ПРИВЫШАТЬ ДОПУСТИМУЮ % 34. IF J > 2 THEN АС15,J] :=1. 5; X ВТОРАЯ СТУПЕНЬ Н=1.5 М X 35. АС17,J]:=AC14,J]/F/AC18,JD; X СКОРОСТЬ ФИЛЬТРОВАНИЯ % 36. AC19,J3:=AC15,J]*AC2,J]/A[17,J3/AC3,JD; X ВРЕМЯ ЦИКЛА X 37. АС20,J] :=24 *АП18,J3/AC19,JD; X ЧИСЛО РЕГ-ЦИй В СУТКИ X 38. Р1 :=F *A[15,JD*A[4,Jl; X РАСХОД РЕАГЕНТА, КГ/РЕГ % 39. АС21,J3:=Р1*АС20,J l ; X РАСХОД РЕАГЕНТА, КГ/СУТ X 40. V1:= 0 .06 *F *AC5,J]*AC6,J]; X ВОДА ВЗРЫХЛЕНИЯ X 41. V2:=0 .1*Р1/АС7,J]; X ВОДА НА ПРИГОТОВЛЕНИЕ РЕГ-ГО Р-РА X 42. V3:=F*АС15,J3*A[8,JJ;XВОДАОТМЫВКИX 43. АС22,J ] :=АС20,J] *СV1+V2+V33/24; X СОБСТВЕННЫЕ НУЖДЫ X 44. T2:=60 *V2/A[9,J]/F;%BPEM« ПРПУСКА РЕГЕНЕРАЦИОННОГО Р- PAX 45. ТЗ:=60*V3/AC10,J J / F ; X ВРЕМЯ ОТМЫВКИ X 46. АС23,J ] :=АС6,JD+T2+T3 X ВРЕМЯ РЕГЕНЕРАЦИИ X 47 . END; X ПРОЦЕДУРЫ ФИЛЬТР X 64 Прогр. 6.5. Паскаль-программа ВП У: процедура ФИЛЬТР
62. X ИСХОДНЫЕ ДАННЫЕ ДЛЯ РАСЧЕТА X 63. X Н-ФИЛЬТР 1-й СТУПЕНИ X .64 . А[1,13 :=30 А[2,13:=650 ; АСЗ, 13 :=4. 97 ; 65. АСА,1□ : = 60 А[5,13:=3 ; А[6, 13 :=10 66. А[7, 13:=1 А[8,13 :=5 ; А[9, 13 :=10 ; 67. А[10,1 3 :=10 А[ 11,13 :=3 ; А[ 12,13 :=100 ; 68. X OH-ФИЛЬТР 1 -й СТУПЕНИ X 69. А[1,23 :=3 0 А[2,23:=900 ; А[3, 23 :=1. 1 ; 70. А[4,23 : =50 А[5,23 :=3 А[6, 23 :=10 ; 71. А[7,23 : =4 А[8,23 :=8 ; А[9, 23 :=5 ; 72. А[1 0,23 :=10 АС11,23 : =3 ; А[ 12,23 :=100 ; 73. X Н-ФИЛЬТР 2-й СТУПЕНИ X 74. А[1,3 3 :=50 А[2,33:=400 ; А[3,33:=0.1 ; 75. А[4,3 3 :=60 А[5,3 3:=3 ; А[6,33 :=10 ; 76. А[7,3 3:=3 А[8,3 3:=5 ; А[9, 33 :=5 77. А[10,3 3 :=5 АС11,33:=2 А[1 2,33 :=100 ; 78. X OH-ФИЛЬТР 2-й СТУПЕНИ X 79. АЙ,43 :=30 АС2,43:=200 ; А[3,43:=0.15 ; 80. А[4,43 : =100 А[5,43 :=3 ; А[6, 43 :=10 ; 81. А[7,43 :=4 А[8,4 3:=9 ; А[9, 43 :=3 ; 82. А[1 0,43 : =5 А[11,43:=2 ; А[1 ,43 :=100 ; Прогр. 6.6. Паскаль-программа ВПУ.: данные для контрольного расчета 0 . X ПРОГРАММА РАСЧЕТА 2 ~ СТУПЕНЧА ТОй ИОНИТНОй ОБЕССОЛИВАЮЩЕЙ ВПУ X ■1 . VAR A:ARRAY[1. . 23,1 .. 43 OF REAL;J,I : INTEGER; X ОБЩИЕ ПЕРЕМЕННЫЕ X 61 •BEGIN X НАЧАЛО ОСНОВНОЙ ПРОГРАММЫ X 83 A [13 ,43 : =410;X ПРОИЗВОДИТЕЛЬНОСТЬ (М'З/Ч) НЕТТО ВПУ X 84 J :=3; X РАСЧЕТ 2-й СТУПЕНИ X 85 STUFE; X ВЫЗОВ ПРОЦЕДУРЫ СТУПЕНЬ X 86 АС13,23 :=АС14,43; X Q БРУТТО 2-й СТ.=Q НЕТТО 1-й СТ. X 87 J:=1; X РАСЧЕТ 1-й СТУПЕНИ X 88 STUFE; X ВЫЗОВ ПРОЦЕДУРЫ СТУПЕНЬ X 89 X РАСЧЕТ ЗАКОНЧЕН, ДАЛЕЕ ВЫВОД РЕЗУЛЬТАТА X 90 FOR I:= 1 ТО 23 DO BEGIN X 23 ПАРАМЕТРА X 91 FORJ:=1ТО4DOBEGINX4ФИЛЬТРАX 92 WRITE(A[I,J3:8:3) X 8 ЗНАКОВ,ИЗ НИХ 3 ПОСЛЕ ЗАПЯТОЙ X 93 END; 94 WRITELN X ПЕРЕВОД СТРОКИ X 95 END 96 END. Прогр. 6.7. Паскаль-программа В П У : основная программа 3) если потребная площадь фильтрования окажется больше предельно возможной (для 1-й ступени она принята равной 10,1 м2, для 2-й - 8,1 - см. строку 320), то число фильтров в группе увеличивается на единицу (см. строки 420 и 340). Число филь­ тров увеличивается и в том случае, если скорость фильтрования при одном отключенном на регенерацию фильтре окажется больше предельно допустимой (см. строку 450). Программа ВПУ на Паскале (программы 6.4-6 .7) имеет такую же структуру, что и программа на Бейсике. Программа 6.8 - программа ВПУ на Квик-Бейсике. 65 5-6071
1• ВПУ+ЭВН 2t РАСЧЕТ 2-СТУПЕНЧАТОЙ ВПУ 3 DECLARE SUB STUPEN (J!,A!()) 4 DECLARE SUB FILTR (J!,A!()) 5 DIM A(1 TO 23,1 TO 4),PAR(1 TO 23) AS STRINGM3»I/J 6 DATA WP(M/4),Е(Г-ЭКВ/МЗ),С(МГ-ЭКВ/КГ), В(КГ/МЗ), I(Л/(С*М2) 7 DATA Т1 (МИН) ,C2 (X) ,A (М3/М3) ,W2 (M/Ч) ,W3 (M/’H) , N МИН, W MAX N-1 8 DATA QH(T/4),QB(T/4),H(M),D(M),W(M/4), N,T (Ч) ,М(1/СУТ) 9 DATA РСУТ(КГ/СУТ),ОСН(Т/Ч),ТРЕГ(МИН) 10 A (13 , 4 ) = 4 2 0 ' ПРОИЗВОДИТЕЛЬНОСТЬ ВПУ,ИЗ/Ч 11 FOR 1=1 ТО 23 :RЕАD PAR(I):NEXT' СЧИТЫВАНИЕ ОБОЗНАЧЕНИЙ 12 DATA 30,650 ,4 .97,60 ,3 ,10,1 ,5 ,10,10,3 ,100' Н1 J=1 13 DATA 30,900 ,1 .10,50 ,3 ,10,4 ,8 ,5 ,10,3 , 100’ 0Н1 J=2 14 fDAТА 50,400,0 .10,60 ,3,10,3,5,5 ,5 ,2 , 100’ Н2 J=3 15 DATA 30,200,0 .15,100,3 ,10,4 ,9 ,5 ,5 ,2 , 100’ 0Н2 J=4 16' 12 3 456789 101112-I 17 FORJ=1 ТО 4:FOR 1=1 ТО 12:RЕАD А(I,J):NEXT:NEXT 18 STUPEN 3 , A ( ) ' РАСЧЕТ ВТОРОЙ СТУПЕНИ 19 A(13,2)=А(14,3)' QН 1-й СТУПЕНИ=QБ 2-й СТУПЕНИ 20 STUPEN 1,A () 1 РАСЧЕТ ПЕРВОЙ СТУПЕНИ 21 CLS:PRINT ТА8(20); "Н1 0Н1 Н2 OH2 " 22 FOR 1=1 ТО 2 3 ' ВЫВОД ИТОГОВОЙ ТАБЛИЦЫ 23 PRINT РА R( I ) ; ' НАЗВАНИЕ ПАРАМЕТРА 24 FORJ=1ТО4 25 °RINT USING "##### .(I,J) ; 26 NEXT :PRINT:NEXT 27 END1ПРОГРАММЫ,ДАЛЕЕ ПРОЦЕДУРЫ 28 SUB STUPEN ( J ,A () ) 1 ПРОЦЕДУРА СТУПЕНЬ 29 A(13,J)=A(13,J+1) 30 A(14,J)=A(13,J) 31 A(14, J+1 )=A(14, J) 32 DO: FILTR J+1 , АО'РАСЧЕТ ОН-ФИЛЬТРА 33 FILTR J ,A( ) 1PAСЧЕT Н-ФИЛЬТРА 34 IF A(14,J)=A(13,J)+A(22,J)+A(22,J+1) THEN EXIT DO 35 A(14,J)=A(13,J)+A(22,J)+A(22, J+1 ) 36 A(14,J+1)=A(14,J) 37 LOOP 1 КОНЕЦ ПОСЛЕДОВАТЕЛЬНОГО ПРИ БЛИ1ЕНИЯ 38 END SUB' КОНЕЦ ПРОЦЕДУРЫ СТУПЕНЬ 39 SUB FILTR (J,A())’ ПРОЦЕДУРА ФИЛЬТР 40 DIM F,FMAX,PREG,VVZR ,VREG, VOTM,TREG, TOTM 41 IF J=1 OR J=2 THEN FMA X=10 .1 ELSE FMAX=8.1 42 A(18,J)=A(11,J)-1 ' N0=N®MIN-1 43 DO: DO: A(18,J)=A(18,J)+1 ' N*=^+1 44 F=A(14,J)/A(18,J)/A(1,J) 45 LOOP WHILE F> FMA X 46 SELECT CASE F' ВЫБОР ФИЛЬТРА CASE IS <1.28: A(16,J)=1 :A(15,J)=2 CASE 1.28 TO 2.46:A(16,J)=1 .5:A(15,J)=2 .2 CASE 2.46 TO 4.22:A(16,J)=2 :A(15,J)=2 .5 CASE 4.22 TO 6.22:A(16,J)=2 .6:A(15,J)=2.5 CASE 6.22 TO 8.1 :A(16,J)=3 :A(15,J>=2 .5 CASE ELSE: A(16,J)=3 .4 :A(15,J)=2 .5 53 END SELECT 54 IF J=3 OR J=4 THEN A(15,J>=1 .5 55 F=3 .14 *A(16,J)“2/4 56 LOOP WHILE A(14,J)/F/(A(18,J)-1)>A(12,J) 57 A(17,J)=A(14,J)/F/A(18,J) 'СКОРОСТЬ ФИЛЬТРОВАНИЯ 58 A(19,J)=A(15,J)*A(2,J)/A(17,J)/A(3,J)'ВРЕМЯ ФИЛ-ЦИКЛА 59 A(20,J)=24 *A(18,J)/A(19,J),4HCfl0 РЕГ.В СУТКИ 60 PREG=F*A(15,J)*A(4,J) 61 A(21,J)=PREG*A(20 ,J) ' СУТОЧНЫЙ РАСХОД РЕАГЕНТА 62 VVZR= .0 6*F*A(5,J)*A(6,J) 63 VREG=.1 *PREG/A(7,J) 64 VOTM=F *A(15,J)*A(8,J) 65 A(22,J)=A(20,J)*(VVZR+VREG+V0TM)/24'Q C.H. 66 TREG=60*VREG/A( 9 , J ) / F 67 T0TM=60 *V0TM/A(10,J)/F 68 A(23,J)=A(6,J)+TREG+T0TM'ВРЕМЯ РЕГЕНЕРАЦИИ 69 END SUB' КОНЕМ ПРОЦЕДУРЫ ФИЛЬТР
6.7 . Контрольный пример На рис. 6.5 представлен протокол прогонки программы ВПУ на Бейсике. Н1 0Н1 Н2 0Н2 ЫР(И/Ч) 30.0000 30.0000 50.0000 30.0000 Е(Г-ЭКВ/МЗ) 650.0000 900 .0000 400.0000 200.0000 С(МГ-ЭКВ/КГ) 4.9700 1- 1000 0.1000 0.1500 В(КГ/МЗ) 60.0000 50.0000 60.0000 100.0000 ИЛ/(С*И2) 3.0000 3.0000 3.0000 3.0000 Т1(НИН) 10.0000 10.0000 10.0000 10.0000 С2 (X) 1.0000 4.0000 З.ООПО 4.0000 А(МЗ/МЗ) 5.0000 8.0000 5.0000 9.0000 W2 (Л/ Ч) 10.0000 5.0000 5.0000 5.0000 U3(М/Ч) 10.0000 10.0000 5.0000 5.0000 N МИН 3.0000 3.0000 2.0000 2.0000 U MAX N-1 100.0000 100.0000 ЮО.ОиОО 100.0000 ан(т/ч) 414.8013 414.8013 410.0000 410.0000 ЦБ(Т/Ч) 461.8132 461.8132 414.8013 414 * 8013 Н(М) 2.5000 2.5000 1.5000 1.5000 0 (М) 2.6000 2.6000 2.0000 3.0000 W(M/4) 28.9940 28.9940 44.0117 29.3411 N 3.0000 3.0000 3.0000 2.0000 Т(Ч) 11.2768 70.5474 136.3271 68.1635 М( 1 /СУТ) 6.3847 1.0205 0.5281 0.7041 Р2(КГ/СУТ) 5084.7765 677.3260 149.3284 746.6423 вСН(Т/Ч) 41.3844 5.6274 0.8503 3.9509 ТО(МИН) 175.0000 167.5000 136.0000 217.0000 Рис. 6.5. Протокол прогонки на Бейсике программы В П У 6.8 . Пути совершенствования алгоритма и программы Как было отмечено выше, исходные параметры расчета ВПУ не являются независимыми. Так, рабочая обменная ем­ кость смолы зависит от условий регенерации, скорости фильтро­ вания, состава исходной воды, геометрии слоя смол и т. д . Эти зависимости можно включить в программу, исключив тем самым некоторые исходные величины или (и) дабавив новые. Расчет будет более точен, будут полнее учтены конкретные ус­ ловия. Вторым направлением совершенствования алгоритма являет­ ся включение в него элементов оптимизации. Так, варьируя некоторыми параметрами (концентрацией регенерационного раствора, скоростью фильтрования, глубиной отмывки и др.), можно снизить расход реагентов и воды собственных нужд, уменьш ив тем самым себестоимость обессоленной воды. Прогр. 6.8. Программа ВП У на Квик-Бейсике 67
Запись задачи по расчету двухступенчатой ионитной обессоливающей установки в среде электронных таблиц Ступень ионирования Н1 0Н1 Н2 0Н2 1 Е рабочая экв/мЗ 650 900 400 200 2 Дельта С мг-экв/л 4. 97 1.1 . 1 .15 3 В кг/мЗ 60 50 60 100 4 I взрыхл. л/Сс*м23 3 3 3 3 5 Т вэрыхл. мин 10 10 10 10 6 Сper.р. % 1 4 3 4 7 А отмывки мЗ/мЗ 5 8 5 9 8 Wper.р м/ч 10 5 5 5 9 W отмывки м/ч 10 10 5 5 10 D фильтра м 2.6 2.6 2 3 11 N фильт. 3 3 3 2 12 Н слоя м 2.5 2.5 1.5 1.5 13 Q нетто мЗ/ч 419.82 414.76 413.91 410 14 W фильтр. м /ч 26. 491 26.105 44.008 29.002 15 М рег/сут 5. 83 .92 .53 .70 16 Р суточн. кг/сут 4645.82 609.83 149.31 738.00 17 Q с.нужд мЗ/ч 37.81 5.07 .85 3.91 18 Т реген. мин 175 168 136 217 19 Т отмывки мин 75 120 90 162 20 Тпр.р.р. мин 90 38 36 45 21 Т фил.ц. ч 12. 34 78.36 136.34 68.96 22 F фильтра м2 5.31 5.31 3.14 7.07 23 Рна1р.кг 796.4 663.7 282.7 1060.3 24 V per.р. м3 79. 64 16.59 9. 42 26.51 25 V отмыв. м3 66.37 106.19 23.56 95. 43 26 V взрых. м3 9.56 9.56 5. 65 12.72 27 Q брутто мЗ/ч 457.63 419.82 414. 76 413.91 28 А В С D Е F Формулы для расчета величин D28 Е28 Ц нетто W фильтрования Число регенераций в сутки Суточный расход регенеранта Q собственных нужд регенерации отмывки пропуска регенерационного раствора фильтроцикла фильтра Расход регенеранта на 1 регенерацию Объем регенерационного раствора Объем отмывочного раствора Объем воды на взрыхление Q брутто F28 Исх.данные F14/F23/F12 F12/F22*24 F24*F16 SUMCF25:F27)*F16/24 F6+F21+F20 F26/F23/F10*60 F25/F23/F9*60 F13*F2/F15/F3 PI*Fll*Fll/4 F23*F13*F4 F24/F7/10 F23*F13*F8 F23*F5 *F6*0 . 06 F14+F18 Рис. 6.6. Расчет В П У в среде электронных таблиц 68
Технологический расчет двухступенчатой ионитной обессо­ ливающей установки, учитывая матричный характер парамет­ ров, можно провести не с помощью алгоритмических языков Бейсик или Паскаль, а в среде электронной таблицы (напри­ мер, Framework, фирмы Ashton-Tate). На рис. 6 .6 показана такая электронная таблица (Spreadsheet), имеющая 6 столбцов (от А до F) и 28 строк (от 1до 28). Исходные данные для расчета ВПУ заносятся в верхнюю часть таблицы - в строки со 2-й по 13-ю и в клетку F14 (производительность нетто установки, т/ч). Клетки нижней части таблицы содержат не па­ раметры-аргументы, а расчетные формулы, отображенные в нижней части рис. 6 .6, для анионитного фильтра 2-й ступени (столбец F). В формулах для остальных фильтров буква F заме­ няется на £, D или С, соответственно. Глава седьмая. СИСТЕМА АВТОМАТИЗИРОВАННОГО КОНТРОЛЯ ПРОЦЕССОВ ХИМИЧЕСКОГО ОБЕССОЛИВАНИЯ ВОДЫ НА ТЭС. ПРОГРАММА РНАВТ Совершенствование водоподготовки на отечественных ТЭС осуществляется путем создания технологических схем с умень­ шенными расходами реагентов и стоков, а также усиления при­ борного химического контроля за процессами очистки воды. Полное решение поставленных задач сдерживается рядом труд­ ностей. Так, схемы малоотходной технологии, ка к правило, ха­ рактеризуются большей сложностью по сравнению с действую­ щими и требуют более высокой культуры эксплуатации. Приме­ няемые промышленные приборы, в основном кондуктометры и потенциометры, используются пока лишь ка к сигнализаторы и не исключают "ручного” химконтроля. В то же время в нашей стране и за рубежом накоплен значи­ тельный опыт проектирования и эксплуатации автоматизиро­ ванных станций контроля качества природных и сточных вод, в том числе станций, работающих в режиме сбора и обработки ин­ формации на ЭВМ. В качестве ЭВМ обычно используется мини- или микроЭВМ, наличие которой не исключает в ряде случаев применения микропроцессоров в подсистемах дозирования реа­ гентов. 69
Ниже будет показана возможность применения ЭВМ для ав­ томатического контроля за химическим обессоливанием воды на ТЭС. 7.1 . Постановка задачи Схема размещения датчиков приборов на блоке фильтров хи­ мического обессоливания воды показана на рис. 7.1. Обработка воды производится путем последовательного пропуска ее через две ступени Н-ОН-ионирования. В схеме контроля воды по ста­ диям обработки задействованы только кондуктометры и рН- метры. Расширенный потенциометрический контроль на линии исходной воды предназначен для количественного определе­ ния минерализации и концентрации ионов и углекислоты в во­ де, поступающей на блок фильтров. Показания приборов автоматически или оператором вводят­ ся в ЭВМ, которая выполняет расчет показателей качества ис­ ходной воды и воды по стадиям обработки, расчет количества ионов, сорбированных на данный момент в каждом фильтре от начала фильтроцикла, оценку качества воды по критериям вы­ ключения блока фильтров в регенерацию, расчет фактически сорбированных ионов на ионитах на момент выключения блока фильтров в регенерацию, расчет выходных кривых ионитных фильтров по заданным ионам от начала работы блока фильтров и до момента выключения его в регенерацию. Обессоленная Вода И, нп Ап Вода ~Г т А1 ~г т “Г Рис. 7.1. Схема размещения датчиков САК на двухступенчатой установке химического обессоливания воды: Hj V. Hjj —I и11 ступени Н-катионирования воды; Aj иАн —I и I I ступени анионирования воды; G u t —датчики расхода и темпе­ ратуры воды; И — д атчи к электрической проводимости: pH, pNa, рС1 - потенциометрические датчики концентраций (активнос­ тей) ионов водорода, натрия и хлора 70
Таким образом, система автоматизированного контроля позволяет вести количественный контроль за ионными приме­ сями исходной воды и воды по стадиям обработки, качеством отпускаемой обессоленной воды. Будучи дополненной автома­ тическим кремнемером, система дает возможность исключить оперативный ручной химконтроль. Эксплуатация такой системы возможна на любой установке химического обессоливания воды с блочным включением филь­ тров, оборудованной комплектом отечественных приборов (кон­ дуктометрами типа АКК-201, потенциометрами типа П-201) и оснащенной средствами вычислительной техники, обеспечива­ ющими связь приборов с ЭВМ и обработку полученной инфор­ мации. Разработка такой системы контроля выполнена Ивановским энергетическим институтом [2,16,17 ,18]. Организация количественного химконтроля путем измере­ ния по стадиям обессоливания воды лишь электрической проводимости и pH (см. рис. 7.1) требует всестороннего анализа взаимосвязи этих показателей с показателями качества воды. Это же относится и к исходной воде, поступающей на цепочку фильтров обессоливания, где потенциометрическими датчика­ ми измеряются лишь концентрации одновалентных ионов водо­ рода, натрия и хлоридов. В процессах ионообменной деминерализации основными по­ казателями качества воды являются концентрации сильных и слабых электролитов, составляющих ее примеси. Сильные электролиты в природных (и осветленных) водах представлены главным образом солями кальция, магния и натрия с анионным составом, включающим сульфаты, хлориды и бикарбонаты. Обычно в небольших количествах присутствуют катионы калия и аммония, анионы нитратов и нитритов. Слабые электролиты в природных водах представлены глав­ ным образом углекислотой, кремниевой кислотой и самой водой. Вода и углекислота частично диссоциируют по реакциям 7.2 . Математическое описание задачи н20^ Н++ОН-; н2со3 НСО^ * Н++СОз" ; Н++ НСО~3; (7.1) (7.2) (7.3) 71
Кремниевая кислота в природной воде и в воде по стадиям обессоливания присутствует главным образом в молекулярной форме и не дает вклада в общую электрическую проводимость воды и не влияет на водородную реакцию среды. В связи с этим кремниевая кислота исключается из анализа взаимосвязи пока­ зателей качества воды, что можно отнести к недостаткам рас­ сматриваемого метода. Таким образом, математическое описание задачи сводится к рассмотрению системы линейных уравнений, характеризующих равновесие электролитов в природной воде и воде по стадиям обработки. В систему входят: уравнения диссоциации слабых электролитов (воды и угле­ кислоты) уравнения диссоциации сильных электродов, включающие: уравнение электронейтральности ионов где JCjj- константы диссоциации (молярные) воды и угле­ кислоты по первой и второй ступеням при температуре раствора; к - измеренная удельная электрическая проводимость раствора электролитов (природной воды), Ом-1 «см-1; ^эквивалентная электрическая проводимость /-иона в растворе смеси электроли­ тов при температуре и ионной силе (д) раствора, Ом- 1*см2*г-экв~.1 Константы диссоциации воды и углекислоты в уравнениях (7.4)-(7.6) можно определить в виде рК- из выражения [Н+][ОН"] =K'w ; [н+][нсо-3] = к;[н2со3] ; [Н+][ СО2-3]=iCn[НСО3] ; [Н+]+[Na+]+2[Са2+]+2[Mg2+]=[ОН-]+[НСО5]+ +[Cl-] +2[S024]+2[C025]; уравнение электрической проводимости ионов 1000к=[Н+]Хн++[Na+]XNa++2[Са2+] + +2[Mg2*]\Mg2*+[ОН-]Хон-+[НСО5]\НСОз-+ + 2[СОГ]^со=3 - +[С!'] *а- +2[SO2!]\S02- , (7*8)
Таблица 7.1. Значения коэффициентов в уравнении зависимости констант диссоциации воды и углекислоты от температуры Показатель константы а Ъ с Рkw(t) 484,51 362 500 8,2902 P^l(T) - 4526,46 743 998 13,1789 рЯц(Т) - 39 94,62 712 124 15,7153 где щ- численный коэффициент, равный для К К { Щ соответ­ ственно 2, 2, 4; д - ионная сила раствора (д =0 ,52Cf^ ; pKi (Т) - температурная зависимость констант диссоциации воды и угл екис­ лоты, определяемая из выражения pKz(Т) = а/ Т + Ь/ Т2 + с, в котором численные коэффициенты а, Ь, с находятся из табл. 7.1. Уравнение электрической проводимости (7.8) является экст­ раполяцией закона Кольрауша на область конечных концентра­ ций. Для бесконечно разбавленных растворов согласно правилу Кольрауша А,- = Х+оо+Х~00 а > ») или, учитывая связь удельной и эквивалентной электрической проводимости раствора (1000 и = ХЭСЭ) и равенство концентраций электролита концентрациям ионов в эквивалентном выраже­ нии (Сэ= С+ = С -), можно записать 1000К=ОX*оо+С-X-со=IС;Xjоо 5 9 119• Определение эквивалентных ионных электрических проводи­ мостей в уравнении (7.8) может выполняться одним из извест­ ных способов* в зависимости от состава и концентрации элект­ ролитов в растворе (воде). Система уравнений (7.4)-(7.8) справедлива для исходной воды, поступающей на установку, и для фильтрата ионитных фильтров, т. е. по стадиям обработки воды. * В гл. 3 и 4 использован другой способ, вернее, другие формулы. 73
Учитывая, что приборный контроль за обработкой воды ве­ дется после каждой стадии (см. рис. 7.1), и зная общие законо­ мерности ионного обмена, целесообразно решать систему урав­ нений (7.4)-{7.8) одновременно для двух равновесий: до и после отдельного фильтра. В качестве такого фильтра целесообразно взять Н-катионитный фильтр, так как в этом случае имеют мес­ то наиболее значительные изменения ка к водородной реакции среды (pH), так и электрической проводимости фильтрата. Одновременное рассмотрение ионны х равновесий в исходной воде, поступающей на фильтр Щ и фильтрата этого фильтра позволяет дополнить систему уравнений (7.4)-(7.8), записанных для исходной воды , еще формулами (7.10) и (7.11): Уравнение (7.10) представляет собой уравнение электронейт­ ральности ионов в фильтрате Щ. Уравнение (7.10) учитывает то, что концентрации гидроксильных, карбонатных, бикарбонатных анионов и катионов жесткости в воде за Щ близки к нулю, или по крайней мере значительно меньше концентраций ионов, записанных в уравнении. Наряду с этим концентрации хлоридов и сульфатов, записанных в уравнении (7.10), равны таковым в исходной воде, что определяется характеристиками процесса Н-катионирования. Уравнение (7.11) является уравнением электронейтральности ионов в фильтрате Щ. Значения эквивалентных электрических проводимостей ионов в этом случае могут быть рассчитаны с ис­ пользованием уравнения Робинсона - Стокса (7.12), а для при­ родных вод с малым содержанием сульфатов - уравнения Онза- где Xj - величина, обратная среднему радиусу ионной атмосфе- [Н+ +[Na+ = [С1~]+2[SO4-] ; 1000Кщ=[Н+ \н++[Na+]A.Na++ + [Cl-] .\cr + 2[S024-Uso24- • (7.11) (7.10) гера (7.13): (7.12) 1+X,а , 35,57.10 е -------- п ры,см (Xj— у —^ — у/1 CfZ?); а - средний диаметр ионов, см; для ионов природных вод обычно а = (3-^8).10~8см;
(7.13) A. - о “ эквивалентная электрическая проводимость иона при бес­ конечном разбавлении, Ом_1*см2*г-экв-1; Сг - концентрация каждого иона (/-иона) в растворе, г-моль/л; г,- - валентность / -иона; а - коэффициент релаксационного эффекта торможения движению 1-иона а = 1,97.10е \z+z_1<? (ет)3/2 1+W при _ k z-\ _ _ ^+,о ■* ^-,0 к | +\z_\ \z_]x+i0+ к l^-)0 3 - коэффициент электрофоретического эффекта торможения движению /- иона[Р=28,98jz,|/(х\yjеТ)];е- диэлектричес­ кая проницаемость среды, Ф/м; Т - абсолютная температура, К; ц - вязкость среды, кг/(м*с). Строго говоря, уравнения (7.12) и (7.13) в записанном виде от­ вечают растворам не смеси, а одного электролита, полностью диссоциирующего на ионы. Однако в фильтрате Н-катионитного фильтра концентрация ионов водорода обычно существенно больше концентрации ионов натрия. При близких значениях подвижностей хлоридов и сульфат-ионов и общей концентрации анионов сильных кислот не более 5 мг-экв/л уравнения (7.12) и (7.13) могут применяться для расчета в пределах ошибки, не вы­ ходящей за пределы ошибки приборного измерения электричес­ кой проводимости (1- 2% верхнего предела шкалы). Таким образом, в составленных семи уравнениях, (7.4)-(7.8), (7.10) и (7.11), содержатся 14 переменных параметров, не считая температуры» Количество неизвестных может быть сокращено до 12 путем предварительного расчета концентрации иона натрия в фильтрате Щ (см. ниже) и замены суммы концентра­ ций катионов кальция и магния общей жесткостью (Ж0 = =2 [ Са2+ ] + 2 [ Mg2+ ] ) в уравнении (7.7), а также выражения 2 [ Са2+ ] ^Са2 - + 2 [ Mg2+ ] ^Mg2+ примерно равной величиной (0,95 Ж0 ХСа2+) в уравнении (7.8). Тогда для расчета концентра­ ций ионов в воде, поступающей на обессоливающую установку, и в фильтрате будет достаточно измерить параметры, указан­ 75
ные в схеме датчиков (см. рис. 7.1), а именно иисх, ия , рНисх, [ Na+]HCX, [ Cl" ]исх. Кроме того, необходимо измерение темпера­ туры воды. Особенность расчета концентраций ионов по показаниям приборов является то, что ряд используемых в расчетах пара­ метров, например эквивалентные электрические проводимости ионов, молярные константы равновесий, зависят от ионной си­ лы, минерализации раствора, а они неизвестны. В этом случае расчеты выполняются по методу последовательных приближе­ ний, в первом из которых ионная сила раствора принимается равной нулю или приближенному значению, вычисленному по ориентировочным концентрациям ионов. Так, в расчете показателей качества исходной воды в качест­ ве первого приближения удобно пользоваться уравнением Н. И . Воробьева (7.14), устанавливающим связь между концент­ рациями анионов и электрической проводимостью исходной воды: 1000и-[СПV*. - iUq‘10-3 Х ' нрсо- 2 [ S O f ] = ---------------------------------------------- -- , (7.14) А.СР о- S02 где Xq- , А.^с о - , A.5Q2- - средние значения эквивалентных электрических проводимостей хлоридов, бикарбонатов, сульфа­ тов металлов природных вод (кальция, магния, натрия), Ом_1*см2*г-экв-1; Щ0 - общая щелочность исходной воды, мг-экв/л. Средние значения эквивалентных электрических проводи­ мостей в уравнении (7.14) могут быть рассчитаны из выражений ХСР = at (0,065 М2 -1 ,743 М + 83,578); *-?СО- = Щ(0,0597 М2 - 1,4317 М + 110,172) ; А? 0 2—= at (0,195 Af2- 4,095 М + 106,61), где at - средний температурный коэффициент [ at = 1 + 0,0204 (Т- - 291)];М =([С1~] +[НСО~з ] +2[SO2^])*10+3 - минерализация воды (мг-экв/л), начальное значение которой может быть взя­ то равным 104 к. Тогда показатели качества исходной воды, а затем и ионная сила могут быть найдены при совместном решении уравнений (7.10), (7.11), (7.14). 76
В схеме химического обессоливания воды (см. рис. 7.1) есть еще один Н-катионитный фильтр - Нц - на второй ступени. Одно­ временное решение систем уравнений типа (7.4)-(7.8) для ион­ ных равновесий в воде до и после фильтра Нп , дополненных уравнением материального баланса всех форм углекисло­ ты (7.15). [нсо-з ]д, +[ СО2; UT+[H2co3^ = = [НСОПнц + [Н2СОз]„ц , (7.15) позволяет рассчитывать концентрации ионов в фильтрах Aj и Нц на базе лишь трех приборных измерений. Такими измерениями могут быть электропроводимость до и после фильтра Нц (xAj и кн ) и pH в воде перед Нп (рН^), т. е. именно те измерения, датчики которых приведены на схеме рис. 7.1. Совместное решение системы уравнений для фильтратов Aj и Нп позволяет определить концентрацию хлорид-ионов в фильтрате А1ка к корень квадратного уравнения (7.16): а2+ а2 /20,0 ,4 -0 , \Мц++ кгГ
2К'и а3~ ^НС05+^Na++ г +, (^С0§"+^Na+)» LH JAj а4 =1000ил = —^ ( \он-+ XNa+)- [Н+] (XH+-W)* [н+1л, Al Концентрации других ионов и углекислоты в частично обессо­ ленной воде определяются из уравнений О, ^Na+ ^СЧ- [НСОд]д = - ------ --- [С1-]Л ; (7.17) Iа3 °3 1 [Na*l = [НСО-] .(l+^Г -) + Ai АЛ [н*] / Ai +МЛ+[C1V [H*4■' (7л8) [H*]Hii= ai-a2[Cl-]Ai ; (7.19) [HC0 3-]Hi=[H *]Hn-[Cl-]Ai; (7.20) 1COj=[HCO-]Д[В ; (7 .21) где IC 0 2 - суммарная концентрация всех форм углекислоты в частично обессоленной воде, г-моль/л; Xi - эквивалентная элек­ трическая проводимость i-иона, рассчитанная по уравнению (7.13). Так как при анионировании концентрация катионов в воде не изменяется (в нормальных условиях), то рассчитанное зна­ чение концентрации ионов натрия в фильтрате Aj может быть принято равным концентрации ионов натрия в фильтрате Hj ([Na+ = [Na+ ). Это дает основание считать известной [ Na+ ]н} в расчете равновесий ионов исходной воды и фильтра­ та Н{[см. уравнения (7.10), (7.11)]. Наконец, может быть выполне- 78
но решение системы уравнений типа (7.4)-(7.8) для равновесия ионов в обессоленной воде. Основным отличием в записи таких уравнений для обессоленной воды является отсутствие кон­ центраций двухвалентных ионов и концентрации хлоридов (или равенство концентраций этих ионов нулю), а также учет электрической проводимости чистой воды. Для решения системы уравнений, описывающих ионные равновесия в обессоленной воде, достаточно измерения лишь двух параметров: электрической проводимости и pH (см.рис. 7.1). Решение системы уравнений дает где иН2о - удельная электрическая проводимость химически чистой воды, Ом- 1-см-1 , определяемая по А. А . Мостофину из Концентрации гидроксильных ионов и углекислоты в обессо­ ленной воде могут быть определены из уравнений (7.1) и (7.2). Значения эквивалентных электрических проводимостей ионов в уравнениях (7.22) и (7.23) могут быть рассчитаны по уравнению Онзагера для бесконечно разбавленных растворов (7.13). Таким образом, кондуктометрические и потенциометричес­ кие измерения, датчики которых показаны на рис. 7.1, выпол­ ненные на линиях исходной воды и фильтратов ионитных филь­ 1000 (иАц“ иН2о ) ------ : (^OH"+ ^Na+) ~ [Н С 03-] AII (^Na ++ ^С0 2~) - [н+]ап(V-W) (7.22) [Na+] [НСО3-] Аи W , выражения 1000 иНг0 (Дн+ + Хон-) при рНАц> 0,5рKwили 1000кН2О=[Н+]Ап(\н+ + С - )пРирНАц< 0,5рK'w. 79
тров, позволяют рассчитывать концентрации ионов и углекисло­ ты по всем стадиям химического обессоливания природной воды. Выполненный расчет позволяет определять некоторые техно­ логические характеристики процесса обессоливания воды на момент измерения показаний приборов. Так, общее количество выработанной воды, м2, где т,- - время работы установки от предыдущего замера, ч; Qj ~ производительность, м /ч. Средняя минерализация, мл-экв/л, поступающей на блок фильтров воды, Прирост количества катионов воды на катионите фильтра Hj (приближенно равно количеству сорбированных катионов), г-экв, Прирост количества анионов сильных кислот на анионите фильтра Aj (приближенно равно количеству сорбированных анионов), г-экв, к <2oe=Z'iQrtQh , j=l (7.24) Mg,-!(МуTj-QjO/Q*. (7.25) Среднее солесодержание обессоленной воды, м к г/л , $об (SjТуQj)/ Qo6, (7.26) где + [н +] 17+ KtHl = X[(M -[Na*]Hl-10=V;S]- (7.27) АпЛ]=Z[(М-Щ0-[СГU.-IO3)j QjI (7.28) Количество катионов, сорбированных на Нш г-экв, ^ Hn=Z([Na+]HuiyQ7-103). (7.29) 80
Количество анионов, сорбированных на анионите фильтра Лп, г-экв, АпЛа=2[(2 со2+[СГ]Aj+[H2Si03])jт,Qj-103]. (7.30) Полученные таким образом характеристики позволяют оце­ нить ситуацию в работе фильтров на любой момент времени, а при выключении блока фильтров на регенерацию - степень ис­ пользования потенциальной обменной емкости ионитов. 7.3 . Допущения, принятые в расчете Решение задачи количественного контроля концентраций ионов и углекислоты по стадиям обработки воды путем изме­ рения параметров, показанных на рис. 7.1, невозможно без ряда допущений. По стадиям обработки допущения следующие. 1. Расчет концентраций ионов в исходной воде. В представ­ ленном варианте используется упрощенный метод расчета ко н­ центраций ионов по измеренной электрической проводимости. Метод основан на использовании уравнения (7.14), включающе­ го полуэмпирические зависимости средних эквивалентных электрических проводимостей по Н. И . Воробьеву. Рассчитанные по этому методу значения удельной электрической проводи­ мости природных вод не отличаются от измеренных аналогов в среднем более чем на 2%. Такое отклонение можно считать допустимым при измерениях электрической проводимости су­ ществующими промышленными приборами. 2. Расчет концентраций в фильтрате Щ. Применение уравне­ ний классической теории растворов электролитов (7.12), (7.13) для расчета эквивалентных электрических проводимостей ионов в растворе смеси электролитов, каким является фильт­ рат Щ , есть само по себе допущение. Ошибка расчета значений тем больше, чем больше концентрация ионов натрия в фильт­ рате Щ и общая минерализация исходной воды. Для природных вод, обрабатываемых на установках химического обессолива­ ния, концентрация анионов сильных кислот обычно не более 5 мг-экв/л. Концентрация ионов натрия в фильтрате Щ обычно значительно меньше концентрации водородных ионов. В таких условиях расчетная ошибка значений эквивалентных электри­ ческих проводимостей лежит в пределах общей ошибки, опреде­ ляемой приборными измерениями. 81 6-6071
Другим допущением является то, что из уравнений (7.10) и (7.11) исключены концентрации катионов жесткости. Это сдела­ но на основании того, что в обычных условиях работы фильтра­ та Hj концентрации катионов кальция и магния в фильтрате Hj значительно меньше концентрации катионов натрия, а тем более - водорода. В случае значительного проскока катионов жесткости в фильтрат Щ расчет даст практически эквивалентное увеличение концентрации ионов натрия, что с точки зрения контроля экстремальной ситуации, можно считать приемлемы­ ми. 3. Расчет концентраций ионов в фильтрате A j. Пожалуй, един­ ственным существенным допущением здесь можно считать при­ нятое при интерпретации результатов расчета условие равенст­ ва концентрации ионов натрия в воде до и после фильтра A j. Такое условие можно считать допустимым в рабочем режиме анионирования воды и недопустимым в режиме отмывки акио- нита от продуктов регенерации. При отмывке (домывке) рассчи­ танная концентрация ионов натрия равна таковой лишь в филь­ трате Aj и превышает концентрацию ионов натрия в поступаю­ щей наAj воде. 4. Расчет концентраций ионов в обессоленной воде. Как отмечено выше, в расчетных уравнениях равновесия ионов в обессоленной воде не учитывается концентрация хлоридов. Та­ кое допущение обосновано тем, что заметному проскоку хлори­ дов в фильтрат Ап предшествует глубокий проскок кремние­ вой кислоты и бикарбонат-ионов, что выходит за рамки допусти­ мого режима работы фильтра Ап . Наконец, необходимо отметить еще одно допущение, связан­ ное с совместным решением систем уравнений, описывающих равновесие до и после Н-катионитного фильтра (Щили Нц). При одновременной регистрации показаний приборов до и после Н-фильтра не учитывается время транспорта воды через фильтр. Обычно это время ’’запаздывания” составляет в сред­ нем 5 мин и существенно не влияет на изменение показателей качества поступающей на фильтр воды. При необходимости время ’’запаздывания” может быть учтено. 7.4 . Блок-схема алгоритма Блок-схема алгоритма расчета концентраций ионов по ста­ диям обессоливания воды в цепочках фильтров (рис. 7.2) систе- 82
7 Начало расчета (.J=1) 2 Ввод исходных йанных 1 3 Расчет концентрации углекислоты и ионов В частично обессоленной воде 1 4 Расчет концентрации ионов В исходной воде и фильтрате Hi 1 5 Расчет концентрации углекислоты и ионов и обессоленной воде 1 6 Выводрасчетных значений показа­ телей качества исходной воды и фильтрата ионитных фильтров * 7 Расчет, вывод и никопление в памя­ ти ЭВМ характеристик процесса обессоливания Воды во времени ♦ 8 J=J+ 7 i^No n А/Н--ЛЛ/ 2?" [No [сг]л>[сг]Гп Ham От блока 2 7 ц=0; М=1 1 Расчет констант Ki=f(v, Т);М=9>(Ц,Т) 1 3 Решение уравнений (7.16)-(7.21). Расчет &»a+J,[Cd,[HC03,[C0|-],[H2C0j Комментарий об ошибке приборных измерений М=М+1 701 A/>J IК блоку Ч- Рис. 7.2. У крупненная блок-схема алгоритма программы автоматического конт­ роля за обессоливанием воды на ТЭ С Рис. 7.3. Блок-схема алгоритма расчета концентрации углекислоты и ионов в час­ тично обессоленной воде матизирует ход вычислений. Все расчетные операции выполня­ ются по замкнутому циклу, соответствующему обработке дан­ ных одного замера показаний приборов согласно рис. 7.1. Только два блока (первый и последний) выходят за границы означенно­ го цикла. Блок 1 обеспечивает подготовку ЭВМ к вычислениям. Блок 10 организует табличный вывод ’’выходных кривых” по основным ионам после выключения блока фильтров в регенера­ цию. В данном варианте выводятся на печать (дисплей) кон­ 83
центрации ионов натрия в фильтрате Н1} ионов хлора в фильтра­ те A j и солесодержание в обессоленной воде (фильтрат А н). Расчетный цикл начинается с ввода исходных данных, в число которых входят показания всех приборов по рис. 7.1, а также вре­ мя работы блока фильтров и предельные значения концентра­ ций ионов натрия в фильтрате Hj [Na+]^°n и хлора в фильтрате Aj [С1~]д°п>по достижении которых установку следует выключать в регенерацию. Все расчеты разделены на четыре блока. Сначала выполня­ ется расчет (блок 3) показателей качества'частично обессолен­ ной воды - фильтратов A j и Ни - по трем параметрам: и к я и [уравнения (7.16)—(7.21)]. Рассчитанная здесь концентра­ ция ионов натрия в фильтрате Hj используется в следующем блоке (блок 4) для расчета показателей качества исходной воды и фильтрата Щ [уравнения (7.4)-(7.7), (7.11), (7.14)]. Далее (блок 5) рассчитываются показатели качества конечного про­ дукта - обессоленной воды по измерению pH и электрической проводимости [уравнения (7.22), (7.23), (7.4), (7.5)]. Блок 6 - блок вывода расчетных данных - показателей качества воды по ста­ диям обессоливания. Блок 7 - последний расчетный блок. Его действие отвечает расчету некоторых технологических харак­ теристик ионирования по уравнениям (7.24)-(7.30). Этот блок формирует и выводит на печать (дисплей) данные, необходи­ мые для анализа эффективности работы отдельных фильтров и всего блока фильтров в целом. Следует отметить, что на рис. 7.2 приведена укрупненная блок-схема алгоритма расчета, не детализирующая внутренней структуры вычислений. Каждый расчетный блок имеет свою ло­ гику вычислений. Так, в блоке 3 реализуется алгоритм, блок- схема которого приведена на рис. 7.3. Из схемы видно, что рас­ чет концентраций ионов в частично обессоленной воде ведет­ ся с трехкратным приближением, в первом из которых ионная сила (д) принята равной нулю. По ходу вычислений на печать (дисплей) выдается комментарий о превышении допустимого проскока сорбируемых ионов и о возможных нарушениях в приборных измерениях.
7.5 . Текст программы Программа расчета показателей качества воды по стадиям химического обессоливания (программы 7.1 -7 .3) составлена в символах алгоритмического языка Бейсик и может быть реали­ зована на любой мини- или микроЭВМ, имеющей интерпрета­ тор с этого языка. В представленном варианте программа сос- 10 REM АВТОМАТИЧЕСКИЙ ХИМКОНТРОЛЬ ЗА ОБЕССОЛИВАНИЕМ ВОДЫ 20 DIM Т(6>,L1(6>,L2(6 ),L4(7 ),L5(7 ),L6(2 ),Q(2 ),W(2 ),Q1(15) 30 DIM M(15),N(15),С(15),Y(15),S(15),M4(15) 40 PRINT "ВВЕДИТЕ ИСХОДНЫЕ ДА HНЫЕ , PA 3 ДЕ ЛЯЯ ЧИСЛА ЗАПЯТОЙ" 50 INPUT "-ПОРЯДКОВЫЙ НОМЕР ЗАМЕРА- J ,Q 1(М З/Ч ), Т1 (ГР.КЕЛЬВИНА ),Т5(ЧАС )" ,. J ,Q0, Т1 , Т5 60 INPUT "[NA +DOCB. (МГ/Л ),CCL-]0CB.(МГ/Л )",N0 ,C0 70 INPUT "ПРЕДЕЛЬН.ПРОСКОК NА+ НА H1,CL- НА А1 (МГ/ Л)",N3 ,N4 80 INPUT "PH ЗА А1,ЗА А2",Р1.,РЗ 90 INPUT "ЗНАЧЕНИЯ УД . ЭЛЕКТ Р0 ••ТИ ПО СТАДИЯМ (МКСМ/СМ)-0СВ.,Н1,А1 /Н2/А2" ,00 ,04,01 ,02,03 100 00=D0*1E-6:D1=Dl*1E-6:D2=D2*lE -6:D3=D3*lE -6:D4=D4*1E-6 110 N0=N0/23000:СО-С0/35500 120 PRINT : PRINT "РАСЧЕТ КОНЦ. ИОНОВ ПО ПОКАЗАНИЯМ ПРИБОРОВ" 130 К4=484.51/ Т1+362500/Т1•2+8.2902:P4=EXP(-2 .302 6*K4):S4=P4 140 К5= -4526.46/Т1+743998/Т1*2+13.1789 150 К6=—3 9 94.62/Т1+712124/Т1“2+15.7153 160 Р5=ЕХР(-2 .3026*К5 ) : Р6=ЕХР(-2 . 3026*К6 ) : Н1=ЕХР(-2 .3026*Р1 ) 170 S5=P5:S6=P6:B1=2.41400E-5 *ЕлР(2.3026*247.8 / (Т1 -1 40)) 180 D6=78.54*(1-4 .60000E -3 *(T1-298)+8.80000E -6 *(T1-298)‘2) 190 F1=28 .98/(10*В1*(D6*Т1)*.5 ):Р2=1 .97ОООЕ6/(D6*Т1)*1.5 200 Т(1)= .0142:Т(2)= . 0208:Т(3)= . 0196 210 ТС4),Т(5 )= .0192:Т(6)= .0194 220 L1 (1 )=349.8:L1 (2 )=50.1 :11 (3 )=198.3 230 L1(4)=44 .5:L1,(5)=69.3:L1 (6)=76.4 240 FOft I=1ТО6 250 L2(I)=L1(I )*(1+Т(1 )*(Т1—298 )):L4(I ),L5(I)=L2(I) 260 NEXT I 270 М=1 280 A1=1000*02/(L2(1 )+L2(4)):A2=(L2(6)-L2(4))/(L2(1 )+L2(4)) 290 A3=L2(4)+L2(2)+2*P6 *(L2(5)+L2(2))/H1 300 A4=1000*D1-P4*(L2(3)+L2(2))/H1-H1*(L2(1 )-L2(2)> 310 A5=(1 +P6/H1 +H1/P5 )*(L2(2)+L2(6))/A3 320 A5=A5 -(2*A1*A2+A1)/P5-A2-1 330 A6=A1*2/P5+A1-(1+P6/H1+H1/P5)*A4/A3 340 C1=(-A5 -(A5"2 -4*A6*(A2’2+A2)/P5 )*.5 )*P5/(2*(A2‘2+A2)) 350 H3=A4/A3-C1*(L2(2 )+L2(6))/A3 360 N1=H3*(1+2*P6/H1 )+Р4/Н1 +С1-Н1 370 03=2 *P6 *H3/H1:H2=H1*H3/P5 380 IF M<3THEN440 390 IF N1*23000<N3THEN410 400 PRINT "ВНИМАНИЕ! ПРОСКОК CNA+] НА Н1 ВЫШЕ ДОПУСТИМОГО:" 410 IF С1*35500<N4THEN540 420 PRINT "ВНИМАНИЕ! ПРОСКОК ССL -3 НА А1 ВЫШЕ ДОПУСТИМОГО!" 430 GOTO 540 440 C8=Hl+Nl+P4/Hl+2*03+H3+C1 450 IF C8>0THEN460 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Прогр. 7.1. Бейсик-программа РНАВТ: начало 85
460 FOR 1=1T06:L2(I )=L4(I )-( . 2929*F2*L4(I )+F1 )*C8* . 5 :NEXT I 470 H9= .7 *C8'.5/(1+C8'. 5):H1=EXP(-2 .3 026*(P1- . 5 *H9)) 480 P4=EXP(-2 .3026*(K4-H9)):P5=EXP(-2 .302 6*(K5-H?)) 490 M=M+1 :IF H1<3 .16000E-5THEN280 500 C1=1000*D2/(L2(6)+L2(1 )) 510 N1=((C1*(L2(1 )+L2(6))-1000*D1 )/L2(1 ))/(1-L2(2 )/L2(1 )) 520 03=0:GOTO 540 530 GOTO 280 540 M6=1:L5(7)=80 *(1+.02 06*(T1-2 98)):M=D0 *10000:L4(7)=L5(7) 550 L1=(.065*M‘2 -1 .743*M+83.578)*(1+.0201*(T1-291)) 560 l_2 =(.0597*M ‘ 2 -1 .4317*M +110.172 )*(1 + .0203*(T1-2 91 )) 570 L3=( .195*M ‘ 2-4 .095*M+106.61 )*(1 +.0208*(T1-291 )) 580 K8=(1000*D4-N1*L5(2 )-С0*L5(6 )-(1 ООО*DO-С0*L2)* L5(7)/L3)/L5(1 ) 590 K9=l_1*(l5(7 )+L5(1>)/(L3*L5(1 )) 600 M0=(C0-N1-K8+(1000*D0 -C0*L2)/L3)/K9 610 S0=(1000*D0-C0*L2-M0*L1 )/L3:M=С0+S0+MO:G0=M-NO 620 H7=K8+M0*L1*L5(7 )/(L3*L5(1)):IF M6=3THEN750 630 Q7= ,6 67*(L5(7 )+L5(1 ))/(L5(7)+2*L5(1 )) 640 W7=4*Q7/(1+Q7)'.5:C8=H7+N1+C0+S0*2 650 L5(7 )=L4(7 ) -( T2*W7*L4(7 )+2*F1 )*SQR(С8 ) 660 FOR 1=1T02 670 L5(I)=L4(I)-( .2929*F2*L4(I )+F1 )*SQR(C8) 680 Q(I )= .6 67*(L4(I )+L4(7))/(2*L4(I)+L4(7)) 690 W(I )=2 *Q(I )/SQR(1+Q(I )) 700 L6(I )=L4(I )-<F2*W(I )*L4(I )+F1*2)*SQR(C8) 710 L5(I)=(L5(I)*C0+L6( 1)*S0)/(C0+S0) 720 NEXT I 730 M=M*1000:M6=M6+1 740 GOTO 550 750 G1=G0*1000:N2=N0 *23000:C2=C0*35500:S1=S0*48000 760 M6=M0*1000:M7=N2+C2+S1+M6*61+G1*18:B0=H7*1000 770 PRINT "ИСX.ВОДА-С/С ~ ; ROUND(M7,4);" МГ/Л", 780 PRINT *'Щ0="; ROUND(M6,4 ); " Ж0=" ; ROUND(G1,4 ); " МГ-Э/Л" 790 PRINT "CNA+]= ,,;R0UND(N2/ 4 )/ ” CCL-]=";ROUND(C2/4 ),"CS04 — ] = M;ROUND<S1,4 );" МГ/fl":P R IN T 800 B1=N1*23000:PRINT "****ФИЛЬТРАТ H1**** " :СЗ=(S0+С0)*1ООО 810 PRINT ’*СН+]=М; ROUND(80,4 ); " МГ -Э/Л", 820 PRINT "CNA+]=";R0UND(B1,4 );”МГ/Л","СSO4] +ССL] = ";R0UND(C3,4);M МГ-Э/Л":PRINT 830 IF Н1<3.16E-5THEN850 840 Н2=М0:НЗ=Н2*Р5/Н1 850 INPUT "ЕСЛИ МОЖНО ПРОДОЛЖАТЬ НАЖМИ , CR /LF’ ",W2 860 B5=C1*35500:B6=(P4/H1+H3+03>*1000 870 PRINT "****ФИЛЬТРАТ А1****м 880 PRINT "СНС033 =И; ROUND(Н3*1000,4 ) ;"МГ -Э/Л [С03]= " ;ROUND(03*1000,4 );"МГ-Э/Л" 890 PRINT "[Н2С03]= " ;ROUND (Н2,4 );" [СL-] =" ; ROUND(В5,4 );" Щ0= ";ROUND(В6,4);"МГ -Э/Л" 900 H4=(1000*D2-C1*L4(6))/L4(1 ):M1 =(H3+H2+03/2)/(1 +P5/H4) 910 М2=Н4*1000:МЗ=М1*Р5/Н4:М4=М1*44000:М5=МЗ*1000 920 PRINT "ФИЛЬТРАТ Н2" 930 PRINT "[H +D=";ROUND(М2,4 ) ;"МГ -Э/Л ССL 3 =";R0UND(B5,4 );" МГ ^";"[H2C03]= ";R0UND (М4,4 ); "МГ/Л"________ Прогр. 7.2. Бейсик-программа РНАВТ: продолжение 86
940 PRINT "CHC03-]=M;ROUND(N5,4);мМГ-Э/Л " 950 PRINT "ФИЛЬТРАТ А 2 (В ПРЕДПОЛОЖЕНИИ ПОЛНОЙ СОРБЦИИ ИОНОВ СL- НА А2 )" 960 H6=EXP(-2 .3026*P3) 970 А7=1000*D3 -S4/H6*(L4(3)+L4(2))-Н6*(L4(1 )-L4(2)) 980 A8=L4(4)+L4(2)+2*S6/H6*(L4(2)+L4(5)) 990 E3=A7/A8:E1=E3 *(1+2*S6/H6)+S4/H6-H6: E2=2*S6*E3/H6:E4=H6*E3/S5 1000 E3=E3*1ООО:E1=E1*23000:E4=E4*44000 1010 E5=S4/H6*1000+E3+E2*1000 1020 PRINT "CNA+]=,,;R0UND(El/4 );"МГ/Л Ш0=" ;ROUND(E5,4 );" МГ-Э/Л CHC03-D=” ;ROUND<E3,4 );"МГ -Э/Л" 1030 PRINT "H2C03= ";R0UND(E4,4 );"МГ/Л " 1040 S7=E1+ E3*61+S4/H6*17000+E2*30000+H6* 1000 1050 PRINT "СОЛЕСОДЕРШАНИЕ S= " ; ROUND( S7 , 4 > ; " МГ/ Л" 1060 PRINT "РАСЧЕТ ЗАКОНЧЕН.РЕЗУЛЬТАТЫ РАСЧЕТА" 1070 INPUT "ВВЕДИТЕ КОНИ. H2SI03 В ОСВ . ВОДЕ(МГ/ Л ,S3 1080 S3=S3/78:Q1(J)=T5 *Q0:M4(J)=M4:M(J )=М*1ООО:Y(J)=M(J )-М6 1090 N(J)=B1:C(J)=B5:S(J)=S7:Z2,Z3 ,Z4,Z5 ,Z6 ,Z7,Z8 *0 1100 FOR 1= 1ТОJ 1110 Z2=Z2+M(I )*Q1(I ):Z3=Z3+Y (I )*Q1 (I ) 1120 Z4=Z4+N(I)*Q1(I)/23:Z5=Z5+C(I)*Q1(I )/35.5 1130 Z6=Z6+S(I)*Q1(I):Z7=Z7+Q1(I ):Z8=Z8+M4(I )*Q1Cl )/44 1140 NEXT I 1150 S8=Z6/Z7:D6=Z2-Z4:D7=Z3 -Z5:D8=Z2/Z7:F3=Z6/Z7 1160 PRINT "ТЕХНОЛОГИЧ.XАР -КИ ПРОЦЕССА НА ДАННЫЙ МОМЕНТ" 1170 PRINT "СОЛЕСОД-НИЕ ИСХ.ВОДЫ S0=" ; ROUND(D8,4 ); "МГ - Э/Л" 1180 PRINT "СОЛЕСОД-НИЕ ОБЕСС-НОй ВОДЫ= " ; ROUN D( F3 , 4 ); *' МГ / Л" 1190 PRINT "ВЫРАБОТАНО ОБЕСС-НОй ВОДЫ G=" ; ROUND( Z7 ,4 ) ; "M “ 3 “ 1200 PRINT "СОРБИРОВАНО КАТИОНОВ НА Н1" ; ROUND( D6,4 ) ; " Г -ЭКВ” 1210 PRINT "СОРБИРОВАНО АНИОНОВ НА А1" ; ROUND(D7,4 ) ;" Г -ЭКВ" 1220 PRINT "СОРБИРОВАНО КАТИОНОВ НА Н2 ";ROUND( Z4,4 ) ;" Г -ЭКВ" 1230 PRINT "СОРБИРОВАНО С02 НА А2-" ;ROUND(Z8,4);"Г-ЭКВ" 1240 PRINT "СОРБИРОВАНО СL НА А2- " ; ROUND(Z5,4); "Г -ЭКВ" 1250 S4=S3*Z7: PRINT "СОРБИРОВАННО НА А2 H2SI03- ";R0UND(S4/4 );ИГ-ЭКВ" 1260 D6=D6+Z4:D7=D7+Z8+Z5+S4:Z9=Z8+Z5+S4 1270 PRINT "ВСЕГО СОРБИРОВАННО НА А2- " ; ROUND(Z9,4 );"Г -ЭКВ" 1280 IF N(J )>N3THEN1320 1290 IF С(J )>N4THEN1320 1300 INPUT "1ЕЛАЕТЕ ЛИ ПЕРЕЙТИ К СЛЕД.3 АМЕРУ(1 - ДА, О-НЕТ ) " , W3 1310 IF W3=1THEN40:60Т0 1330 1 32 0 PRINT "УСТАНОВКА ДОЛЖНА БЫТЬ ВЫКЛЮЧЕНА НА РЕГЕНЕРАЦИЮ" 1330 INPUT "БУДУТ ЕЧЕ ЗАМЕРЫ ДО ОТКЛЮЧЕНИЯ С1-ДА,0 -НЕТ ) " ,W3 1340 IF W3=1THEN40 1350 PRINT "РАСЧЕТ 3АКОНЧЕH. PE ЗУ ЛЬTАТЫ РАСЧЕТА" 1360 INPUT "ВЫВОД KOHU.' ПРОСКОКОВЫХ' ИОНОВ(1-ДА,0 -НЕТ )",W4 1370 IF W4=0THEN1450 138 0 PRINT "ТЕКУЩИЕ КОНЦЕНТРАЦИИ НА ВЫХОДЕ ИЗ ФИЛЬТРОВ" 1390 PRINT "Q ВОДЫ" ," CNА+] ЗА H1"/ "CCL-] ЗА ЗА А2" 1400 PRINT " М3"," МГ/Л"/' МГ/Л"," МГ/Л" 1410 Z7= О 1420 FOR 1= 1ТОJ 1430 Z7=Z7+Q1(I ):PRINT Z7,N(I),С(I),S(I) 1440 NEXT I 1450 END Прогр. 7.3. Бейсик-программа РНАВТ: окончание 87
тавлена для ЭВМ ДВК-3 и предусматривает ’’ручной” ввод ис­ ходных данных с клавиатуры терминала. Ввод исходных данных и работа всей программы производится в диалоговом режиме, что можно считать целесообразным для периода отработки программы. После такой обработки в реальных условиях хим- водоочистки ТЭС программа может быть преобразована для работы в автоматическом режиме, без участия оператора в сборе исходной информации и загрузке ее в память машины. Так ка к программа составлена в диалоговом режиме, то иден­ тификаторы ввода-вывода легко читаются в тексте самой прог­ раммы. Основные идентификаторы, используемые в расчетах, приведены в табл. 7.2. Таблица 7.2. Некоторые идентификаторы, используемые в тексте программы автоматического контроля за обессоливанием воды на ХВО ТЭС Обозначения Обозначения в алго- Физический или технологический в программе ритме смысл J J Порядковый номер замера показаний приборов QO Q Производительность обессоливающей установки, м 3/ч Р4, К4 , рИонное произведение воды и величи­ на рK'w Р5,К5 iCj, р/С' Константа диссоциации bLjCOg по I ступени и значение рК^ Р6, Кб Кц, pKjj Константа диссоциации Н 2С 0 3 по II ступени и значение В1 Т] Вязкость воды, к г/(м *с) D6 е Диэлектрическая проницаемость во­ ды, Ф/м Fl,F2 (3, а Параметры уравнения Онзагера Q(I),W (I) q,W Тоже Т (I) aj Температурный коэффициент элект­ рической проводимости
Продолжение табл. 7.2 Обозначения в программе Обозначения в алго­ ритме Физический или технологический смысл L 1(1), 12(1) Предельная подвижность ионов при Т= 298 К и при температуре во­ ды, см2/(Омт-экв) LI, L2,L3 л18 1,18 лнсо“ »лсГ » ЧЬ5- Средняя эквивалентная электрическая проводимость бикарбонатов, хлоридов, сульфатов, сМ2 /(Ом»г-экв) 15 (I) h Эквивалентная электрическая про­ водимость ионов в фильтрате H j , CKf2/(Ом*г-экв) С8 HCff) Ионная концентрация смеси электро­ литов, г-моль/л Н9 0,5 ViT 1+1,4/jT Параметр, учитывающий влияние ионной силы раствора на константы ионных равновесий QHV 01; Количество обессоленной воды, вырабо­ танное за время от предыдущего замера показаний приборов, м 3 7.6 . Пример расчетов концентраций ионов по стадиям и технологических характеристик обессоливания воды блоком фильтров В качестве примера приведен фильтроцикл блока фильтров (БФ) химического обессоливания воды на промышленной ТЭЦ. Качество воды, поступающей на обессоливающую установку, следующее: Ж0= 1,65 мг-экв/л; Щ0= 1 мг-экв/л; [Na+] = 27,6 мг/л; [С1~] = 28 мг/л; [S0241 = 49мг/л; [H2Si03] = 3,04 мг/л. Показания приборов: температура воды 300 К (27°С), удельная электричес­ ка я проводимость 295 мкС м/см (295-10-6 Ом_1-см-1); pH = 10,2; pNa = 2,9; рС1 = 3,1. В течение фильтроцикла качество исходной воды практичес­ ки не менялось. Не изменялась и производительность, равная 70 м3/ч. 89
Таблица 7.3. Результаты измерений показаний приборов в течение рабочего цикла блока фильтров Номер измере­ ния Время от преды­ дущего измере­ ния, ч Т,К РНА, pH, АП Удельная электрическая проводи­ мость,мкСм/см(106Ом-1*см"1) А1 НИ КАА11 1 6 300 9 7,8 685 7,5 7,4 1,1 2 10 300 8,3 7 680 5 5 0,5 3 5 300 8,6 7 685 4,8 5,4 0,5 4 15 300 8,5 6 685 4,4 2,7 0,5 5 9 300 8,1 6 685 5 3,7 0,5 6 25 300 8,3 6,3 695 4,2 5 0,8 7 6 300 8,7 5,9 695 8 5,1 1 8 3 300 9,1 6,6 585 35 15 1 Блок фильтров содержит две ступени Н-ОН-ионирования. По­ казания приборов, ’’снятые” в течение фильтроцикла в восьми замерах, приведены в табл. 7.3. Параллельно с показаниями приборов проводился штатный ’’ручной” химконтроль за фильт­ ратом ионитных фильтров (табл. 7.4). Результаты расчета на ЭВМ ДВК-3 показателей качества воды по стадиям обработки приведены в табл. 7.5, рабочих характе­ ристик процесса ионирования - в табл. 7.6. Показатели качества исходной воды в течение фильтроцикла не изменяются и в табл. 7.5 не занесены. Сравнение расчетных данных с данными химического анали­ за показы вают достаточно удовлетворительную сходимость ре­ зультатов по исходной воде. По фильтратам ионитных фильтров сходимость результатов может быть оценена сопоставлением данных в табл. 7.4 с данными в табл. 7.5. Откуда следует также приемлемая сходимость результатов с учетом сложности и не­ высокой точности ’’ручных” химических анализов микрокон- 90
Таблица 7.4. Результаты ’’ручного” химического контроля Время работы БФ, ч Н1 А1 нп к, мг-экв/л [Na+], м г/л [СП, м г/л щ0, к н2со3 мкг-экв/л мг-экв/л м г/л , Щ0 [H2Si03], мкг-экв/л мкг/л б — - 1 60 20 1,3 15 55 16 1,7 1,18 0,5 40 20 2,2 10 41 21 1,8 1,15 0,5 45 10 2 10 46 36 1,7 1,03 0,5 40 10 1,5 10 30 45 1,7 1,20 0,5 40 10 1,5 5 33 70 1,7 0,82 0,5 40 10 2,2 5 8 76 1,5 2,3 0,5 50 10 2,2 5 73 79 1,4 9 1 220 - 8,2 10 73 центраций хлоридов, углекислоты, а также кислотности и ще­ лочности в условиях действующей химводоочистки ТЭС. Анализ данных табл. 7 .4 -7 .6 показывает, что в целом блок фильтров работал с высокой эффективностью сорбции ионов и выключен в регенерацию по проскоку ионов натрия в фильтрат H j. Малая концентрация углекислоты в частично обессоленной воде предопределила работу блока фильтров с выключенным декарбонизатором. Возможность такой работы подтверждается и данными табл. 7.6 по сорбции ионов на анионите фильтра Лц . 7.7 Пути совершенствования алгоритма и программы Программа представляет собой законченную работу в отно­ шении автоматического химконтроля за работой блока фильт­ ров обессоливания воды. Совершенствование алгоритма и прог­ раммы может идти в направлении разработки диагностических заключений об оптимизации работы отдельных фильтров и все­ го блока в целом. Перспективной представляется разработка целесообразных режимов регенерации ионитов и определение состава примесей в стоках. 91
Таблица 7.5. Расчетные значения показателей Время ^1 ^1 раооты БФ, ч [H+J, мг-экв/л [Na+ ], м г/л [С1-] , м г/л Що мкг-экв/л 6 1,58 1,2 0,58 35 16 1,57 1 0,37 34 21 1,58 0,9 0,41 26 36 1,58 0,9 0,16 33 45 1,58 1Д 0,24 40 70 1,61 0,8 0,38 25 76 1,6 1,6 0,35 59 79 1,27 7,3 1,11 290 Таблица 7.6. Рабочие характеристики процесса <2об>м3 S0g, мкг/л Сорбировано катионов, г-экв Н1 нп 420 780 1104 22 1120 535 2953 52 1470 498 3879 66 2596 342 6856 108 3225 303 8516 136 4975 385 13 140 198 5395 392 14 230 227 5605 407 14 730 294 92
качества воды по стадиям обессоливания «II [Н +], м кг-экв/л [н2со3], м г/л [Na+] , мкг/л мк^в/л [Н2СО„], мкг/л 17 1 228 10 14 12 1,4 108 5 45 12 0,9 103 5 45 7 1,2 22 L 193 9 1,6 22 2 193 12 1,0 139 7 326 12 2,2 114 6 780 35 И 208 9 230 ионирования воды на блоке фильтров Сорбировано анионов., г-экв А1 (SO2* + СГ) ( Н 2СОз) Аи (СГ ) Аи (Н2 Si03) 678 9,1 7 16 1800 30,5 17 43 2363 37,5 18 57 4181 67,8 23 100 5201 91 27 124 8058 129 46 191 8753 150 50 208 9079 203 57 216 93
Глава восьмая. ВЫБОР ФИЛЬТРА ИЗ СТАНДАРТНОГО РЯДА ПО МИНИМУМУ СТОИМОСТИ. ПРОГРАММА ФИЛЬТР 8.1 . Постановка задачи В практике проектирования водоподготовительных устано­ вок часто возникает проблема выбора фильтра из стандартного ряда, выпускаемого промышленностью. В табл. 8.1—8.3 даны ос* новйые характеристики ионитных и осветлительных фильтров. В гл. 6 при расчете ионитной обессоливающей установки в программе ВПУ велся выбор фильтра из стандартного ряда, пло- Таблица 8.1. Основные характеристики ионообменных фильтров водоподготовительных установок Фильтр Диаметр, Высота, Масса су- Масса запол- ц ена мм мм хого ненного g! фильтра, фильтра, т кг Производство БиКЗ Натрий-катионитный I ступени 1000 3668 1012 5 360 1500 3980 1669 10 520 Натрий-катионитный II ступени 1000 2978 926 3,5 390 1500 3373 1614 7,5 620 Водород-катионитный I ступени 1000 3598 1039 5 420 1500 3928 1692 10 580 Водород-катионитный I I ступени 1000 2923 957 3,5 440 1500 3314 1678 7,5 660 Натрий-катионитный I ступени 1000 3753 1068 5,9 - с дренажем ’’ложное дно ” 1400 3962 1760 6,8 - То же II ступени 1000 3040 984 4,7 - 1400 3410 1666 5,6 - Водород-катионитный I ступени 1000 3660 1069 5,8 - с дренажем ’’ложное дно ” 1400 3962 1760 6,8 - То же П ступени 1000 2988 966 4,6 - 1400 3352 1720 5,7 - 94
Продолжение табл. 8.1 Фильтр Диаметр, Высота, Масса су- Масса запол- мм мм хого ненного Цена, фильтра, фильтра, т ру®* кг Производство ТКЗ Ионообменный параллельно­ 2000 4930 2630 15 1050 точный 2600 5200 4258 27 1500 То же I ступени (водородный и 3000 5470 5187 36 1750 натриевый) 3400 5440 7398 47 2400 То же II ступени 2000 3630 2089 13 1080 2600 4015 3697 20 1550 3000 4385 4740 30 2000 Противоточный водород-катио- 2000 5314 3764 24 1900 нитный с ’’зажатым слоем” 2600 6745 6045 42 2800 3000 6850 7155 59 3200 3400 7019 9441 78 3800 Таблица 8.2. Основные параметры осветлительных и сорбционных фильтров Изготови- Фильтр Диаметр, мм Высота Масса фильтра ц ена> тель фильтра, м м -----------------------------руб. сухого, запол- кг ненного, т БиКЗ Осветлитель- 1000 2964 897 4 360 БиКЗ ный верти­ кальный 1500 3357 1576 8 550 ПО ТКЗ < 2000 3630 2080 15 840 ПО ТКЗ 2600 4015 3690 28 1150 ПО ТКЗ 3000 4385 4729 37 1500 ПО ТКЗ . 3400 4545 6276 50 1850 ПО ТКЗ То же 3400 5500 9280 70 2700 ПО ТКЗ 55 3? 3400 7060 12 987 102 4300 95
Продолжение табл. 8.2 Изготови­ Фильтр Диаметр, мм Высота, Масса фильтра Цена, тель фильтра, мм сухого, кг запол­ ненного, т РУб- ПО ТКЗ Осветлитель- 3000 [ Н=4630 14 000 117 3900 ный горизон­ тальный { L=10 500 ПОТКЗ То же 3000 Г Н=4630 [ L =5500 8165 62 2600 ПО ТКЗ Сорбционный 2000 4930 2644 15 1200 угольный для обегмасливания „ 2600 5200 4283 27 1600 конденсата 3000 5470 5214 36 1900 3400 5740 7445 47 2600 Сорбционный 1600 4925 3398 14 4400 целлюлозный намывной То же ^ 2000 5330 5288 18 5700 Таблица 8.3. Технологические характеристики осветлительных фильтров Загрузка фильтра Показатель Антрацит Двухслойная кварцевым песком и ант­ рацитом Диаметр зерен загрузочного материала, мм: антрацит 0,6—1,4 0,7—1,7 кварцевый песок — 0,5—1,2 96
Продолжение табл. 8.3 Показатель Загрузка фильтра Антрацит Двухслойная кварцевым песком и ан­ трацитом Высота фильтрующего слоя, м: антрацит 1 0,5 -0 ,6 кварцевый песок - 0,5 -0 ,6 0 Насыпная масса фильтрующего материала, т /м : антрацит 0,8 0,8 кварцевый песок - 1,6 Скорость фильтрования природных вод w, м/ч: нормальный режим 5 10 форсированный режим 7,5 12 Скорость фильтрования осветленной воды w , м/ч: нормальный режим 10 - форсированный режим 12 - Интенсивность взрыхляющей промывки водой 10-12 13-15 а,л/(с-м ) Продолжительность взрыхления Т , м ин 20 20 Технология водовоздушной промывки Продолжительность совместной воздушной 2-3 - промьюки, мин Интенсивность подачи воды, л/Сс-м2 ) 6 - Интенсивность подачи воздуха, л/(с*м 2) 20 - Продолжительность водной промывки, м ин 15-20 - 7-6071 97
щадь которого наиболее близка к необходимой по скоростным условиям фильтрования. Но при этом н и ка к не учитывалась стоимость того или иного варианта, которая через амортизаци­ онные отчисления и затраты на ремонт влияет на себестоимость обработанной воды, снижение которой - цель систем проекти­ рования с элементами оптимизации. Целью программы ФИЛЬТР является выбор определенного числа фильтров с определенным диаметром, при этом выполня­ ются требования по скорости фильтрования при всех включен­ ных в работу фильтрах и при одном отключенном на регенера­ цию. Суммарная стоимость установки, учитывающая стоимость фильтров и шести клапанов, составляющих ’’обвязку” фильтра, получается минимальной. 8.2 . Перечень идентификаторов Перечень идентификаторов приведен в табл. 8.4. Таблица 8.4. Идентификаторы программы ФИЛЬТР Имя Переменная ________________ Бейсик Паскаль Диаметр стандартного фильтра, м D DO) Диаметр выбранного фильтра, м DO D OPT Число фильтров в стандартном ряду F - Номер фильтра I I Число фильтров N N Оптимальное число фильтров N0 NOPT Минимальное число фильтров N1 NMIN Максимальное число фильтров N2 NMAX Производительность установки, vP / ч Q Q Стоимость ф клыра, руб. S S(D Стоимость клапана, руб. S1 Минимальная стоимость варианта, руб. so A Минималь но возможная скорость фильтрования, м /ч W1 W1 Максимально возможная скорость фильтрования, м /ч W2 W2 98
8.3 . Математическое описание задачи Описанная задача представляет собой типичную задачу це­ лочисленного нелинейного программирования [19, 20]. Целевой функцией, которую нужно будет минимизировать, будет стои­ мость группы фильтров, включающая в себя стоимости фильт­ ров и клапанов N5+6N51. Система ограничений, определяющая область существования переменных D (диаметр фильтра влияет на его стоимость и сто­ имость клапанов) и N, описывается следующими неравенст­ вами: Неравенства (8.1) и (8.2) означают, что рабочая скорость филь­ трования ’’зажата” двумя значениями, определяемыми усло­ виями ионного обмена и конструкцией дренажных устройств. Неравенство (8.3) (крайний случай -N 1 =2) определяет тот ре­ зерв фильтров, который отводится под регенерацию, ремонт и резерв. Последнее неравенство при достаточно большом N2 (20-25), оказывается лишним. Оно при этом уже не влияет на ре­ зультат расчета, а лишь ускоряет его. Говоря языком химиков, N2 влияет на ’’кинетику” расчета, не изменяя его ’’термодина­ мику” . В расчете принята упрощенная схема оптимизации работы группы фильтров. На себестоимость фильтрата влияют, естест­ венно, не только затраты на сам фильтр и клапаны. Изменение диаметра фильтров и их числа меняет объем загрузки смолы, (8.1) (8.2) (8.3) (8.4) 8.4 . Допущения, принятые в расчете 99
скорость фильтрования [в оговоренных условиями (8.1) и (8.2) пределах], расход электроэнергии на прокачку воды и, наконец, эксплуатационные затраты. Все это в программе ФИЛЬТР не принимается во внимание. 8.5 . Структура программы Задача целочисленного нелинейного программирования ре­ шается методом прямого перебора (комбинаторикой): ЭВМ про­ считывает все варианты сочетания числа фильтров и их диамет­ ра, отбрасывает неподходящее по скоростным характеристикам и ’’запоминает” наиболее дешевый. 8.6 . Текст программы Программа ФИЛЬТР написана на Бейсике (программа 8.1) и Паскале (программа 8.2). 10 REM ВЫБОР ФИЛЬТРОВ ПО СТОИМОСТИ 20 DATA 1,200/50,1.5 ,255,65 ,2,380 ,87, 2.5 ,450,105,3 ,550 ,128,3 .4 ,900 ,150: REM ПАРАМЕТРЫ S“ СТАНДАРТНЫX ФИЛЬТРОВ 30 F=6 : S0=1Е20: RЕМ ИНИЦИАЛИЗАЦИЯ 40 INPUT "ПРОИЗВОДИТЕЛЬНОСТЬ ВПУ <МЗ/Ч)",С1 50 INPUT "W МИН, U МАКС (M/H)",W1,W2 60 INPUT "ЧИСЛО ФИЛЬТРОВ МИН, МАКС",N1,N2 70 PRINT "ПРОИЗВОДИТЕЛЬНОСТЬ ВПУ= ";0;" МЗ/Ч" 80 PRINT "Ц МИН= " ; W1; М/Ч W МАКС»м;Ы 2;и М/Ч"_________________ 90PRINT"N ________________________________________________________ 100 FOR 1=1 ТО F; RЕМ ПЕЧАТЬ ШАПКИ ТАБЛИЦЫ ___________________ 110 REID D,S ,S1; PRINTUSING и 0.# ",D; I 120 NEXT I : PR INT________________________________________________________ 130 FOR N=N1 TO N2:REM ПЕРЕБОР ФИЛЬТРОВ________________________ 140 PRINTUSING " t f N ; : RESTORE 150 FOR 1= 1 TO F: REM ПЕРЕБОР ФИЛЬТРОВ________________________ 160 READ D,S,S1:REM СЧИТЫВАНИЕ ПАРАМЕТРОВ ФИЛЬТРА 170 IF 4*Q/#PI/D/D/N>=W1AND4 *Q/#P I/ D/ D/ (N-1) <=W2THEN190 180 PRINT" — " ; : GOTO 210:REM НАРУШЕНИЕ ПО СКОРОСТИ 190 PRINTUSING "######## " ,S*N+S1*6*N; 200 IF S*N+S1*6*N<S0 THEN S0=S»N+S1»6»N: DO»D:N0»N________ 210 NEXT I : PR INT ; NEXT N __________________________________________ 220 IF S0= 1E20 THEN __________ ______________________________________ I PRINT "РЕШЕНИЯ HET11; GOTO 2 230 PRINT "D=";DO; " M N=";N0 240 PRINTUSING = М/Ч " ,4 * Q/# PI / DO/DO/NO; 4 * Q /flP I/ 0 0 / DO/ (N0-1)______________________________ ___________ L _ 250 END ______________________ 100 Прогр. 8.1. Бейсик-программа ФИЛЬТР
0.XX 1 . X ВЫБОР ФИЛЬТРА ИЗ СТАНДАРТНОГО РЯДА ПО СТОИМОСТИ X 2.XX 3 . X ОБ'ЯВЛЕНИЕ ПЕРЕМЕННЫХ, ВВОД ИСХОДНЫХ ДАННЫХ X 4 . VAR U1,W2 ,Q ,A ,WMIN,WMAX ,00PT,N0PT,F , N 1:REAL; 5. 0:ARRAY С1..61 OF REAL; 6. S:ARRAY Cl. . 6D OF REAL; 7. I,N ,NMIN,NMAX :INTEGER; 8 . BEGIN 9. REPEAT 10 WRITE("МИНИМ. СКОРОСТЬ ФИЛЬТРОВАНИЯ ( И /Ч ) ? м) ; READLN (W1) ; 11 WRITE("МАКСИМ.СКОРОСТЬ ФИЛЬТРОВАНИЯ СМ/Ч)?“ ) ; READLNCW2) 12 UNTIL W1 < W2; X ПРОВЕРКА ПРАВИЛЬНОСТИ ИСХОДНЫХ ДАННЫХ X 13 WRITE("Q(M*3/4),NMIN ,NMAX? "); READLN(Q,NMIN,NMAX) ; 14 % ДАННЫЕ ПО ШЕСТИ СТАНДАРТНЫМ ФИЛЬТРАМ X 15 DС1]:=1 ; sm:= 460; DC2D:=1.5; SC2D:=620 ; 16 DC3] :=2 ; SC3] :=1070; D[43: =2.6; SUD :=1520; 17 DC5] :=3 ; SС5□: =1660; DC6D:=3.4; S[63:=2400; 18 А:=0. 1Е+16; DOPT: =0; N0PT:=0; X ИНИЦИАЛИЗАЦИЯ X 19 FOR N:=NMIN TO NMIX DO 20 BEGIN 21 FORI:=1TO6DO 22 BEGIN 23 N1: = FLOAT( N); F: =3 .14 *SQR(DCID)/4; 24 WMIN :=Q/F/N1; WMAX:=Q/F/CN1—1); 25 IF WMIN >= U1 THEN BEGIN 26 IF WMAX <= W2 THEN BEGIN 27 IF SCn*N1<A THEN BEGIN 28 A:=SCI3*N1; 29 DOPT: = D; N0RT: = N1; 30 END 31 END 32 END 33 END X KOHEU '4ИКЛА ПО ФИЛЬТРАМ X 34 END ; X КОНЕЦ ЦИКЛА ПО ЧИСЛУ ФИЛЬТРОВ X 35 IF А<0.1Е+16 36 THEN WRITELNC'D 0РТ=", D 0P T:2:1," М N 0РТ="/ N0PT:2:0) 37 ELSE WRITELNC"РЕШЕНИЯ НЕ Т! ") 38 END. Прогр. 8.2. Паскаль-программа ФИЛЬТР Программа на Бейсике состоит из трех блоков. В первом блоке (программа 8.1, строки 10-80) списком данных (тройками чисел) задаются параметры фильтров для контрольного расчета: диа­ метр фильтра в метрах, его стоимость в рублях и стоимость (руб.) одного клапана, входящего в его ’’обвязку” (условно принято, что у фильтра все шесть клапанов стоят одинаково). Вторым оператором присвоения строки 30 принимается, что стоимость оптимального варианта равна очень большой величи­ не. Это предусмотрено на тот случай, если ни один вариант не будет соответствовать условиям (8.1) и (8.2) и задача не будет иметь решения (см. альтернативную конструкцию на строках 220-240, составляющую третий программный блок - вывод ре­ зультата расчета). 101
Во втором блоке программы (строки 90-210) заложены два вложенных цикла с параметром: число фильтров (строка ISO- 210) и номер фильтра в стандартном ряду (строки 150-210). Оператор условного перехода строки 170 ’’отсекает” варианты, неподходящие по скоростям фильтрования. Оптимальный вари­ ант ’’запоминается” на строке 200. Программа ФИЛЬТР, написанная на языке Паскаль (програм­ ма 8.2), хранит параметры фильтров стандартного ряда (без стои­ мости клапанов) в двух одномерных массивах D и S (см. стро­ ки 15-18). В остальном она подобна программе на Бейсике, а вместе они составляют билингву - текст, написанный на двух языках. 8.7 . Контрольный пример На программу ФИЛЬТР, написанную на Бейсике (см. прог­ рамму 8.1), вставлены отладочные операторы печати, ’’вырисо­ вывающие” на экране дисплея матрицу стоимостей вариантов (рис. 8.1) при прогонке программы. Прочерки в ней означают, что данное сочетание диаметра и числа фильтров не соответствует скоростным ограничениям [см. неравенства (8.1) и (8.2)]. ПРОИЗВОДИТЕЛЬНОСТЬ ВПУ= 1000 МЗ/Ч W МИН= 30 М/Ч U МАКС= 50 М/Ч N 1.0 1.5 2.0 2.5 3.0 3.4 4 — —— — 5272 5 6 — --— 6480 8 -- --7216 9 — --8118 Ю — — 9020 13 — 8385 14 — 9030 15 — 9675 D=3МN= 4 W=35 .36 М/Ч W= 47 .15 М/Ч Рис. 8.1. Протокол прогонки программы на Бейсике ФИЛЬТР 102
Глава девятая. ПРОЕКТИРОВАНИЕ ВОДОПОДГОТОВИТЕЛЬНОЙ УСТАНОВКИ ТЭС С ИСПОЛЬЗОВАНИЕМ ПК, РАБОТАЮЩЕГО В ДИАЛОГОВОМ РЕЖИМЕ. ПРОГРАММА ПРОЕВПУ При проектировании водоподготовительных установок ТЭС и АЭС руководствуются различными нормами технологическо­ го проектирования, в которых узаконены принципы выбора основного и вспомогательного оборудования, регламентируют­ ся нормы расхода реагентов, материалов, воды собственных нужд и пр. [21,30]. Проектировщик, разрабатывая ВПУ для строящейся ТЭС или АЭС, придерживается норм технологического проектирования в диалоговом режиме: согласно нормам ведется запрос исходной информации о проектируемом объекте, даются рекомендации по его деталировке. Нормы технологического проектирования несложно ’’зало­ жить” в память ЭВМ в виде программы, реализующей диалог машины и человека в процессе проектирования ВПУ. Програм­ ма такого рода представлена ниже (см. далее программы 9.1 - 9.4). Пояснить ее особенности целесообразнее путем сравнения отдельных разделов норм технологического проектирования и соответствующих программных блоков. В ’’Нормах технологического проектирования” 7.2. Выбор способа обработки добавочной воды котлов произ­ водится в зависимости от качества исходной воды, типа котлов и условий сброса минерализованных стоков. Могут применяться следующие способы: химическое обессоливание, при среднегодовом суммарном содержании в исходной воде анионов сильных кислот (S04+ Cl+N02+N03)< 5мг-экв/л ; химическое обессоливание в сочетании с мембранными методами обработки или термическое обессоливание, при среднегодовом содержании анионов сильных кислот в исходной воде (S04+ Cl+ N02+ N03) >5мг-экв/л. Для электростанций с барабанными котлами применяются одно- или двухступенчатые схемы химического обессоливания, а с прямоточными котлами - трехступенчатое химическое обес­ соливание добавочной воды. юз
1 REM САПР В ДИАЛОГОВОМ РЕЖИМЕ ВОДОПОДГОТОВИТЕЛЬНОЙ УСТАНОВКИ 2 DIM Ca9,SH5,Tn3:CH="Mr-3KB/Kr,':Sn="Mr/Kr":Tn ="T/4M 3 PRINT "7 .В0Д0П0ДГ0Т08КА И ХИМИЧЕСКИЙ КОНТРОЛЬ." 4 PRINT ” 7 . 2 . ВЫБОР СПОСОБА ОБРАБОТКИ ДОБАВОЧНОЙ ВОДЫ. ” 5 PRINT "СОДЕРЖАНИЕ В ИСХ.ВОДЕ ОРГАНИЧЕСКИХ СОЕДИНЕНИЙ (ПО 02), “ ;SИ;:INPUT О 6 IF 0<20 THEN 7 : P R IN T "ВПУ-ТЕРМИЧЕСКОЕ ОБЕССОЛИВАНИЕ": GOTO 13 7 PRINT "СУММАРНОЕ СОДЕРЖАНИЕ В ИСХОДНОЙ ВОДЕ АНИОНОВ СИЛЬНЫХ КИСЛОТ,";Сп; ;INPUT S 8 PRINT "ВПУ-ХИМИЧЕСКОЕ ОБЕССОЛИВАНИЕ" : I F S<5 THEN 10 9 PRINT "В СОЧЕТАНИИ С МЕМБРАННЫМ ИЛИ ТЕРМИЧЕСКИМ МЕТОДОМ ” 10 INPUT"THn КОТЛОВ (1-БАРАБАННЫй,2 -ПРЯМ0Т0ЧНЫй)",Т1 : PRINT "ПО " ; :IF Т1=1 THEN 11:IF Т1<>2 THEN 10: PRINT "ТРЕX "; :GOTO 12 11 PRINT "ОДНО ИЛИ ДВУХ"; 12 PRINT "СТУПЕНЧАТОЙ СХЕМЕ"________________________ _______________ 13 PRINT " 7 . 3 . РАСЧЕТ ПРОИЗВОДИТЕЛЬНОСТИ В П У . " 14 INPUT "ЧИСЛО КОТЛОВ НА T3C",K :Q=0 15FOR1=1ТОК: PRINT "ПАР0ПР0ИЗВ0ДИТЕЛЬН0СТЬ";1;"-Г0 КОТЛА,";Тп;: INPUT P:Q=Q+.03*P: NEXT I 16 INPU T " СКОЛ ЬКО ПАРА ОТДАЕТСЯ НА ПРОИЗВОДСТВО,Т/Ч",Р: IF Р=0 THEN 1 7 :INPUT"CKOflbKO КОНДЕНСАТА ВОЗВРАЩАЕТСЯ , T/4",K :Q =Q +P - . 5 *K :PRINT "РЕКОМЕНДУЕТСЯ ПРИМЕНЕНИЕ ПА РОПРЕОБРАЗОВАТЕЛЬНОЙ УСТАНОВКИ " 17 INPUT "ЕСТЬ ЛИ РАЗОГРЕВ МАЗУТА (1-ДА,0 “ НЕТ)",М : IF М=0 THEN 1 8 : 1F М<>1THEN 17 : 1NPUТ "РАСХОД МАЗУТА, Т/Ч",М :Q=Q+.15*М 18 PRINT "ПРОИЗВОДИТЕЛЬНОСТЬ ВПУ " ; Q ; " " ; Т п 19 I F Р=0 THEN 3 2 : RЕМ ПАР НА ПРОИЗВОДСТВО НЕ ОТДАЕТСЯ Прогр. 9.1. Бейсик-программа ПРОЕВПУ: выбор схемы и расчет производитель­ ности водоподготовительной установки При среднегодовом содержании в исходной воде органичес­ ких соединений свыше 20 мг/л 0 2 следует применять термичес­ кие способы обессоливания независимо от концентрации анио­ нов сильных кислот. Реализация алгоритма выбора типа ВПУ осуществляется операторами строк 4 -12 в программе 9.1. Правила ’’Норм технологического проектирования” позво­ ляют определить производительность ВПУ: 7.3. Расчетную производительность ВПУ следует принимать равной 3% суммарной номинальной паропроизводительности котлов плюс расход пара, отдаваемого на производство, минус 50% возвращаемого конденсата (расчетный невозврат).
Для отдачи пара на производство рекомендуется применение паропреобразовательных установок. При потере пара на разогрев мазута производительность ВПУ увеличивается на 0,15 т на каждую тонну сжигаемого мазута. Блочные испарительные установки должны дополняться об­ щестанционной испарительной или химобессоливающей уста­ новкой производительностью 50 т/ч. Программно производительность ВПУ определяется блоком, включающим операторы строк 13-19 (программа 9.1), и выводит­ ся на экран дисплея оператором печати строки 18. Если пар отдается на производство (см. строку 19), то необхо­ димо сформулировать требования к установке по очистке воз­ вращаемого конденсата. В нормах технологического проекти­ рования они записаны так: 7.4. Установка для очистки конденсата, возвращаемого с про­ изводства, должна обеспечивать качество конденсата, соответ­ ствующее нормам питательной воды котлов согласно ПТЭ. Возвращаемый на конденсатоочистку ТЭЦ производственный конденсат должен отвечать следующим требованиям: жест­ кость общая (не более) 50 мкг-экв/л; содержание железа (не бо­ лее) 100 мкг/л; содержание меди (не более) 20 мкг/л; содержа­ ние кремнекислоты (не более) 120 мкг/л; содержание нефтепро­ дуктов (типа масел и мазута) (не более) 0,5 мг/л; сухой остаток за вычетом оксидов металлов (Fe, Си, Zn, Ni) 1 мг/л; перманга- натная окисляемость по кислороду 5 мг/л. В зависимости от требований к качеству питательной воды котлов предусматривается его очистка по одной из схем: Обез­ железивание - Na-катионирование; Обезжелезивание - обессо- ливание. На конденсатоочистках не предусматриваются резерв­ ные фильтры. Если предприятие не может обеспечить качество конденсата, обусловленное приведенными выше величинами, или если кон­ денсат содержит или может содержать вещества, не вошедшие в указанный перечень, то следует применять испарители или паропреобразователи, питаемые возвращаемым конденсатом. Для снижения интенсивности коррозии конденсатопроводов предприятия, возвращающие конденсат, должны обеспечивать значение pH конденсата в пределах 8,5-9,5. В тех случаях, когда производственный конденсат имеет pH ниже 8,5, значение этой величины приводится потребителем к указанным пределам до­ зированием в конденсат аммиака или едкого натра. Допускает- 105
20 PRINT ” 7 . 4 . НОРМЫ КОНДЕНСАТА.” 21 PR INT "КАЧЕСТВО ВОЗВРАЩАЕМОГО КОНДЕНСАТА.** 22 INPUT "Ж0,МКГ -ЭКВ/КГ",К:1F К>50 THEN 31 23 INPUT "FЕ,МКГ/КГ",К:IF К>100 THEN 31 ги INPUT "СU,МКГ/КГ" „ К:IF К>20 THEN 31 25 INPUT "SI02,MKr /КГ**, К :I F К>120 THEN 31 26 INPUT ,*НЕ«ТЕПРОДУКТОВ/ МГ/КГ,‘ / К:J F К>.5 THEN 31 27 INPUT "СУХОЙ ОСТАТОК ЗА ВЫЧЕТОМ ОКИСЛОВ FE,CU,ZN И NI ,МГ/КГ",К:IF К>1 THEN 31 28 INPUT "ОКИСЛЯЕМОСТЬ ПО 02,МГ/КГ",К : IF К>5 THEN 31 29 PR INT "КОНДЕНСАТ ОЧИЩАЕТСЯ ПО СХЕМЕ ОБЕЗЖЕЛЕЗИВАНИЕ : IF Т=1 THEN 3 0 : PRINT "ОБЕС СОЛИВАНИЕ. " : GOTO 32 30 PR INT "NA -КАТИОНИРОВАНИЕ. " :G OTO 32 31 PR INT "РЕКОМЕНДУЕТСЯ ПРИМЕНЕНИЕ ИСПАРИТЕЛЕЙ ИЛИ ПА PO ПРЕ 0БРА 30BATE ЛЕИ'' 32 INPUT "ЗНАЧЕНИЕ PH ВОЗВРАЩАЕМОГО КОНДЕ НСАТА" , Р 33 I F P>=8 .5 THEN 34 : PR INT "НЕОБХОДИМО ДОБАВИТЬ NH40H ИЛИ NА0 Н" 34 INPUT "КОЛИЧЕСТВО ВОЗВРАЩАЕМОГО КОНДЕНС А Т А (Т /Ч ) " , D 35 PR INT "ОБ 'ЕМ НЕОБХОДИМЫХ БА КОВ=" ; 2*D ; "М3 *' 36 INPUT "ТИП ИСТ0ЧНИКА(1-П0ВЕРХН0СТНЫй, 2-НЕП0ВЕРХН0СТНЫй)",1:IF 1=2 THEN 37 : PR I NT"HEОБХОДИ MA ПРЕДВАРИТЕЛЬНАЯ ОЧИСТКА ИСХОДНОЙ ВОДЫ В ОСВЕТЛИТЕ ЛЯХ И МЕХАНИЧЕСКИХ ФИЛЬТРАХ** Прогр. 9.2. Бейсик-программа ПРОЕВПУ: выбор схемы конденсатоочистки ся по согласованию с потребителем введение в конденсат или пар, направляемый на производство, веществ, ослабляющих коррозию (амины и т. п .). Алгоритм проектирования установки по очистке промышлен­ ного конденсата реализован оператором строк 20-35 (програм­ ма 9.2). В этом же блоке (см. строку 36) выясняется необходи­ мость оборудования ВПУ предочисткой. Требования к установке по предочистке воды сформулирова­ ны следующим разделом ’’норм технологического проектирова­ ния”: 7.11. На предочистках, работающих по методу осаждения, ус­ танавливаются не менее двух осветлителей. Колебания температуры воды, поступающей в осветлитель, допускаются в пределах ± 1 °С. Суммарная производительность предочистки выбирается с запасом 10% против расчетной потребности в осветленной воде. Для коагуляции применяются осветлители нормального ря­ да, разработанные ВТИ для известкования воды, с коэффициен­ том по производительности, равным 0,7. Вместимость бака осветленной воды должна учитывать кро­ ме часового запаса объем воды на промывку одного механичес­ кого фильтра.
37 PRINT **7.5 РАБОТА ПРЕДОЧИСТКИ ПО МЕТОДУ ОСАЖДЕНИЯ." 38 INPUT "ТЕМПЕРАТУРА ВОДЫ,ПОСТУП. 8 ОСBEТЛИ ТЕЛЬ( ОС) “ , Т 39 PRINT "ДОПУСКАЕТСЯ КОЛЕБАНИЕ ТЕМПЕРАТУРЫ В ПРЕДЕЛАХ»";Т-1;*' - " ;Т+1;"ОС " 40 INPUT "РАСЧЕТНАЯ ПРО ИЗВОДИ ТЕ ЛЬН. ПРЕДОЧИСТКИ ( T / 4 ) " , V 41 PRINT "ПРОИЗВОДИТЕЛЬНОСТЬ ПРЕДОЧИСТКИ = ” ; 1 . 1 * V ; " Т / Ч" 42 INPUT "ВОДООЧИСТКА ( 1- С ОСВЕТЛИТЕЛЯМИ, 2-БЕЗ ОСВЕТЛИТЕЛЕЙ)",B :I F В=1 THEN 43: PRINT "КОЛИЧЕСТВО МЕХАНИЧЕСКИХ ФИЛЬТРОВ ВЫБИРАЕТСЯ ИЗ РАСЧЕТА СКОРОСТИ ФИЛЬТРОВАНИЯ 5 M/4":G0T0 44 43 PRINT "КОЛИЧЕСТВО МЕХАНИЧЕСКИХ ФИЛЬТРОВ ВЫБИРАЕТСЯ ИЗ РАСЧЕТА СКОРОСТИ ФИЛЬТРОВАНИЯ 10 М /Ч " 44 PRINT "ИНТЕНСИВНОСТЬ ПРОМЫВКИ ИОНИТНЫХ ФИЛЬТРОВ 12 Л/ (СЕК*М2) В ТЕЧЕНИЕ 20 МИН" 45 PRINT "ВЫБОР ЧИСЛА И РАЗМЕРОВ ИОНИТНЫХ ФИЛЬТРОВ” 46 INPUT "ЧИСЛО СТУПЕ Н Е Й " ,N:________________________________________ FOR 1=1 ТО N: PRINT I ; "-Я СТУПЕНЬ" 47 INPUT "МАТЕРИАЛ ПРИМЕНЯЕМЫЙ ДЛЯ ЗАГРУЗКИ ФИЛЬТРОВ (1:СУ,2:АН-31,КУ -2 ,3 :АВ-17)",М 48 ON М GOTO 49,50 ,51 49 PRINT "Н >= 0.8 М": GOТО 52 50 PRINT "Н >=1.0 М":GOTO 52 51 PRINT "Н =2.0 М” 52 INPUT "ТИП ФИЛЬТР0В(1:КАТИОНИТНЫЕ СТУПЕНИ, ФСД С ВНУТРЕННЕЙ РЕГЕНЕРАЧИЕй;2:АНИ0НИТНЫЕ С А Н-31; 3:ПРОЧИЕ).",М 53 ON М GOTO 54,55 ,56 54 PRINT "V =40-50 M/4":G0T0 57 55 PRINT "V =15-20 M/4":G0T0 57 56 PRINT ” V = 2 0 -3 О М/Ч" _________________________________ 57 NEXT I _______________________ ______________________________ _ 58 INPUT "СОЛЕ СОДЕРЖАНИЕ ОХЛАЖДАЮЩЕЙ ВОДЫ КОНДЕНСАТОРОВ , М Г/Л",S :IF S<5ООО THEN 59:PRINT "НЕОБХОДИМО ОБЕССОЛИВАНИЕ ВСЕГО ТУРБИННОГО КОНДЕНСАТА" 59 PRINT "УСТАНОВКА ДЛЯ ОБЕ ССОЛИ ВАНИ Я ТУРБИННОГО КОНДЕНСАТА-ФСД,СКОРОСТЬ ФИЛЬТРОВАНИЯ 100 М / Ч " _______ Прогр. 9.3. Бейсик-программа ПРОЕВПУ: расчет предочистки и фильтров 7.12. На водоочистках с осветлителями количество механи­ ческих фильтров выбирается из расчета скорости фильтрования 10 м/ч, а без осветлителей 5 м/ч. Предусматривается один фильтр для перегрузки фильтрующего материала (он же явля­ ется резервным). 7.13. Промывка однокамерных и многокамерных механичес­ ки х фильтров предусматривается осветленной водой после ос­ ветлителя в течение 20 мин при интенсивности не менее 12 л/(с*м2). Предусматривается подвод сжатого воздуха. Операторы, реализующие данный алгоритм проектирования, записаны на строках 37-43 программы 9.3. Требования к работе ионитных фильтров ВПУ в нормах тех­ нологического проектирования сформулированы так: при выбо­ 107
ре числа и размеров ионитных фильтров на установках для очистки добавочной воды котлов принимается высота слоя за­ грузки анионитов, сильно- и слабокислотных катионитов не ме­ нее 0,8 и, сульфоугля не менее 1 м, максимальная высота слоя анионита АН-31 и катионита КУ-2 2 м, анионита АВ-17 - 1,7 м, расчетная скорость фильтрования воды в катионитных фильт­ рах второй ступени, а также в ФСД с внутренней регенерацией 40-50 м/ч, в анионитных фильтрах с анионитом АН-31 15-20 м/ч, во всех остальных ионитных фильтрах 20-30 м/ч. В программе описанные требования к ионитным фильтрам заложены на строках 44-57. На этом участке программы записан цикл с параметром - номером ступени ионирования. Требования к проектируемой установке по очистке турбинно­ го конденсата в ’’нормах технологического проектирования” за­ писаны следующим образом: 7.18. На электростанциях с прямоточными котлами преду­ сматривается 100%-ное Обезжелезивание и обессоливание ко н ­ денсата турбин. 7.19. На электростанциях с барабанными котлами предусмат­ ривается обессоливание всего турбинного конденсата при соле- содержании охлаждающей воды конденсаторов более 5000 м г/л . В остальных случаях допускается Обезжелезивание или Обезже­ лезивание с обессоливанием всего конденсата при соответству­ ющем технико-экономическом обосновании. 7.20. Для обессоливания турбинных конденсатов применяют­ ся, ка к правило, фильтры смешанного действия (ФСД) с вынос­ ной регенерацией ионитов, расчетная скорость фильтрования в которых 100 м/ч при одном отключенном на регенерацию фильтре. Допускается применение раздельного ионирования в корпу­ сах ФСД с выносной регенерацией и теми же скоростями фильт­ рования, при этом Обезжелезивание совмещается с катиониро- ванием конденсата. На каждые две конденсатоочистки преду­ сматривается один узел регенерации ионитов. 7.21. Для электростанций с прямоточными котлами преду­ сматривается автономная обессоливающая установка (АОУ), позволяющая осуществлять многократную циркуляцию через нее всех общестанционных загрязненных конденсатов. Производительность АОУ (на каждые четыре энергоблока) 150 м3/ч для блоков мощностью 500 МВт, 300 м3 /ч для блоков мощностью 500 МВт и более. 108
Обессоливание конденсатов осуществляется в ФСД с внут­ ренней регенерацией при расчетной скорости фильтрования 50м/ч. 7.22. Для электростанций с барабанными котлами, работаю­ щими в режиме частых пусков и остановов, также предусматри­ вается Обезжелезивание и обессоливание всех общестанцион­ ных загрязненных конденсатов на АОУ. Производительность установки определяется расчетом. Для электростанций с бара­ банными котлами, работающими в базовом режиме, предусмат­ ривается Обезжелезивание загрязненных конденсатов дренаж­ ных баков. 7.23. На электростанциях с прямоточными котлами применя­ ется Обезжелезивание и обессоливание дистиллята испарите­ лей на централизованной конденсатоочистке. Допускается сов­ мещение ее с АОУ и соответствующее увеличение производи­ тельности последней. 60 PRINT "7.21 .ОПРЕДЕЛЕНИЕ НЕОБХОДИМОСТИ И ВЫБОР ПРОИЗВОДИТЕЛЬНОСТИ АВТОНОМНОЙ ОБЕССОЛИВАЮЩЕЙ УСТАНОВКИ (АОУ). " 61 PRINT "ТИП КОТЛА-"; : IF Т1=1 THEN 63: PRINT "ПРЯМОТОЧНЫЙ."; 62 PRINT "ПРЕДУСМАТРИВАЕТСЯ AOy.":GOTO 64 63 PRINT "БАРАБАННЫЙ. " : I N P U T "РЕЖИМ РАБОТЫ ЭЛЕКТРОСТАН ЦИИ (1 -БД ЗОВЫй,2-ПИ КОВЫй) " , R: I F R=2 THEN 62: PRINT "ПРЕДУСМАТРИВАЕТСЯ ОБЕЗЖЕЛЕЗИВАНИЕ ЗАГРЯЗНЕН НЫХ КОНДЕНСАТОВ ДРЕНАЖНЫХ БАКОВ." :G0T0 71 64 INPUT "ЧИСЛО БЛОКОВ НА T3C",N 65 INPUT "МОЩНОСТЬ БЛОКОВ,МВТ" ,В : IF В<500 THEN 66: IF В=500 THEN 67:Р=300:GOTO 68 66 INPUT "ПРОИЗВОДИТЕЛЬНОСТЬ АОУ, М 3 / Ч" , Р : GOTO 68 67 Р=150 68 IF INT (N/4)=N/4 THEN 69:N=INТ(N/4)+1:GOТО 70 69 N=N/4 70 PRINT "НЕОБХОДИМО ИМЕ ТЬ" ; N ; " АОУ ПРО ИЗВОДИ ТЕЛЬН0СТЬЮ";Р;" М 3/Ч КАЖДАЯ. " __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 71 PRINT " 7 . 2 4 . ВЫБОР ТИПА УСТАНОВКИ ДЛЯ ОЧИСТКИ КОНДЕНСАТОВ ОТ ПРОДУКТОВ КОРРОЗИИ." 72 INPUT "ТЕМПЕРАТУРА К0НДЕНС АТА( ОС) “ , Т : PRINT "ДЛЯ ОЧИСТКИ КОНДЕНСАТОВ ОТ ПРОДУКТОВ КОРРОЗИИ МОЖНО ИСПОЛЬЗОВАТЬ ФИЛЬТРЫ, ЗАГРУЖЕННЫЕ " ; 73 I F Т>50 THEN ;74:PR INT "СУЛЬФОУГЛЕМ (СУ) ИЛИ 74 PRINT "КАТИОНИТОМ КУ-2 . " 75 PRINT "ПРИМЕНЯЮТ ЭЛЕКТРОМАГНИТНЫЕ ФИЛЬТРЫ" 76 PRINT "И (ИЛИ) НАМЫВНЫЕ ИОНИТНЫЕ ФИЛЬТРЫ" 77 PRINT "СКОРОСТЬ ФИЛЬТРОВАНИЯ КОНДЕНСАТА,М/Ч. " 78 PRINT "В НАМЫВНЫХ ИОНИТНЫХ ФИЛЬТРАХ С=10" 79 IF Т>5О THEN 80:PRINT "В КАТИОНИТНЫХ С СУ С=50" 80 PRINT "В КАТИОНИТНЫХ С КУ-2 С =100" Прогр. 9.4. Бейсик-программа ПРОЕВПУ: выбор автономной обессоливающей установки и схемы обезжелезивания конденсата 109
7.24. Для очистки конденсатов от продуктов коррозии с уче­ том температуры конденсата могут применяться катионитные фильтры, загруженные либо сульфоуглем при температуре ко н­ денсата не выше 50°С, либо катионитом КУ-2 при температуре до 100°С, электромагнитные фильтры, намывные ионитные фильтры. В случае применения катионитных фильтров с сульфоуглем или КУ-2 предусматривается периодическая гидровыгрузка этих материалов в специально устанавливаемый фильтр с подводом к нему раствора кислоты и сжатого воздуха. Скорость фильтрования конденсата, м /ч принимается в на­ мывных ионитных фильтрах 10, в катионитных фильтрах с суль­ фоуглем 50, с катионитом КУ-2 100. Алгоритм проектирования установки по очистке турбинного конденсата реализуется операторами строк 58-80 в програм­ мах 9.3 и 9.4. Глава десятая. МОДЕЛИРОВАНИЕ НА ПК РАБОТЫ ГРУППЫ ИОНИТНЫХ ФИЛЬТРОВ. ПРОГРАММА УПРФИЛ 10.1 . Постановка задачи На рис. 10.1 изображена схема установки по ионитному умяг­ чению воды, включающая бак с холодной водой, бак с умягчен­ ной водой, бак стоков, натрий-катионитные фильтры с парал­ лельным включением, бак регенеранта (хлористый натрий), арматуру фильтров (клапаны и трубопроводы), обеспечивающую пять режимов работы: Клапаны (1 —открыт, 0 —закрыт) Режим Резерв Фильтрование Взрыхление Регенерация Отмывка 0 О 0 0 1 О О 1 0 О 110
Модель процесса ионообменного умягчения виды Бак исходной воды С=5,0О V=5Z86 Л J X Фильтр-1 взрыхлен, не отмыт, Е=883 ,3, регенерация Время 6.59 ::% 0=0 ,095 л C=0,WZ L Фильтр-Z взрыхлен, отмыт, Е-3015,6 , работа % Фильтр-3 взрыхлен, отмыт, Е=30в%7, радота Бак обрабо­ танной Воды С=0,716 У- 709 Бак стокод С=56-59 — 1М3__ Информация по фильтрам 1. Фильтр 7 что-то изменить ? Натми 0 -откр.,1-закр. Бак рееенеранта 505 Рис. 10.1. Схема группы ионитных фильтров Необходимо с помощью ЭВМ смоделировать управление кл а­ панами водоподготовительной установки, рассчитать измене­ ние во времени объемов и состава исходной, умягченной воды и стоков, фильтратов отдельных фильтров. 10.2 . Перечень идентификаторов Они перечислены в табл. 10.1. Таблица 10.1. Список идентификаторов программы УП РФ И Л Переменная Имя Простые числовые переменные Объем взрыхляющей воды одного фильтра, м 3 В Жесткость исходной воды, м -экв/кг С1 111
Продолжение табл. 10.1 Переменная Имя Жесткость ум ягченной воды, м г-экв/к г С2 Жесткость воды в баке стоков, м г-экв/кг СЗ Номинальный расход воды через фильтр при фильтровании, ъР/ч D Номиналь ный расход воды через фильтр при взрыхлении, м 3/ч D1 Номинальный расход воды через фильтр при регенерации, м -Уч D2 Номинальный расход воды через фильтр при отмывке, м 3/ ч D3 Изменение обменной емкости фильтра в период регенерации, г-зкв Е1 Максимальная обменная емкость фильтра, г-экв Е2 Номинальная жесткость фильтрата, м г-экв/кг Г Статус установки ум ягчения воды G Общее количество ионов жесткости в системе, мг-экв Н Номер фильтра I Номер клапана на фильтре J Количество ионов жесткости в баке умягченной воды, мг-экв К Количество ионов жесткости на катионите фильтров, мг-экв м Число фильтров в установке N Запас регенеранта, к г N1 Объем отмывочной воды одного фильтра, м 3 О Время, прошедшее с момента пуска установки, ч т Период времени между двумя обсчетами установки, ч Т1 Объем ум ягченной воды в начале периода обсчета, м 3 V Объем исходной воды, м 3 VI Объем умягченной воды в конце периода обсчета, м 3 V2 Объем воды в баке стоков, м 3 V3 Управляющий признак W
Окончание табл. 10.1 Переменная Имя Индексные числовые переменные Булевая переменная —взрыхлен /-фильтр ? в© Жесткость фильтрата 1-го фильтра, м г- эк в /к г C4Q) Расход фильтрата 1-го фильтра, м 3/ ч D0) Расход взрыхляющей воды 1-го фильтра, м 3/ ч Dl (I) Расход регенеранта 1-го фильтра, м 3/ч D2 (I) Расход отмывочной воды 1-го фильтра, м з /ч D3 0) Обменная емкость загрузки I -го фильтра, г-экв Е(0 Изменение обменной емкости загрузки I -го фильтра при El (D регенерации, г-экв Положение 7-го клапана на I -м фильтре (1 —открыт, 0 —закрыт) К( I,J) Булевая переменная, отмыт ли 1-й фильтр 0 (1) Режим работы фильтра (1 —резерв, 2 —фильтрование, Я(1) 3—взрыхление, 4 —регенерация, 5 —отмывка) Объем взрыхляющей воды, м 3 V I0) Объем отмывочной воды, м 3 V3(I) Индексные литерные переменные Название режима работы 1-го фильтра *(D 10.3 . Математическое описание задачи Алгоритм моделрования работы группы ионитных фильтров включает в себя циклический обсчет параметров установки с приращением заданного промежутка времени [24]. В этом ц ик­ ле, который прерывается при полном израсходовании либо ис­ ходной воды, либо регенеранта, заложены циклы с параметром - номером фильтра в группе, при этом ведется расчет изменения следующих параметров всей системы в целом и отдельных фильтров: объемов и качества воды в баках, качества фильтра­ тов, объемов вод регенерации. 8-6071 ИЗ
После каждого цикла приращения текущего времени ЭВМ выводит информацию о состоянии водоподготовительной уста­ новки и предоставляет человеку возможность при необходимо­ сти изменить положение клапанов фильтров и изменить тем самым их статус. ЭВМ при этом следит за правильностью дейст­ вий человека, подсказывает ему пути исправления неправиль­ ных действий. В этом смысле программу УПРФИЛ можно ис­ пользовать в качестве тренажера для обучения аппаратчика химцеха ТЭС и АЭС. 10.4 . Допущения, принятые в расчете В расчете допускается использование идеальной выходной кривой фильтрования в натрий-катионитных фильтрах. Жест­ кость фильтрата при этом резко (ступенькой) изменяет свое значение с F до С1 (см. табл. 10.1) при полном использовании рабочей обменной емкости смолы. 10.5 . Структура алгоритма расчета Программа ФИЛЬТР допускает любое число натрий-катионит­ ных фильтров в установке умягчения воды, но оператор зада­ ния размеров массивов ограничивает его десятью. Это стало возможным благодаря широкому использованию в программе индексных переменных и циклов с параметром - номером фильтра. В программе широко используются переменные-сум­ маторы расходов воды, количеств ионов и т.д . 10.6 . Текст программы Программа УПРФИЛ состоит из двух крупных блоков (см. про­ граммы 10.1 -10.3) и подпрограммы управления положением клапанов фильтров (см. программу 10.4). В первом блоке задаются основные технологические показа­ тели работы водоподготовительной установки (см. строки 2, 5 и 6), подсчитывается общее количество ионов жесткости в системе (см. строку 7), которое остается постоянным в весь пе­ риод работы. Циклом с параметром (см. строки 8-11) все фильтры установ­ к и регенерируются (см. строку 9), а человеку предоставляется 114
1 REM УПРАВЛЕНИЕ РАБОТОЙ N ФИЛЬТРОВ 2 INPUT "ЧИСЛО ФИЛЬТРОВ",N 3 DIM <(10,6) ,R(10) ,0(10) ,D1 (10) ,02(10) ,03(10) , CA(10),E(10),Е1(10),V1(10),V3(10),B(10),0(10),Rn(5) 4 DATA “РЕЗЕРВ","ФИЛЬТРОВАНИЕ” ,"ВЗРЫХЛЕНИЕ” , "РЕГЕНЕРАЦИЯ","ОТМЫВКА":МАТ READ Rn 5 V1=2000:V2=10:V3=10 :D=100:D1=57.44:02=26.5:D3=26.5: С1=5 : C2=. 1 : C3=5: F=. 4 : E2=3180:REM НАЧАЛЬНЫЕ УСЛОВИЯ 6 T=0:B=9.54:0=39.75:N1=1000 7 H=C1*V1+C2*V2+C3*V3:REM ОБЩЕЕ КОЛ-ВО ИОНА В СИСТЕМЕ ~g~FOR 1=1 ТОN: RЕМ НАЧАЛЬНАЯ УСТАНОВКА ФИЛЬТРОВ 9 Е(1)=Е2:В(1)=1 :0 ( I ) =1 :REM ФИЛЬТРЫ ОТРЕГЕНЕ РИРОВАНЫ 10 GOSUB 6 5 :RЕМ УСТАНОВКА КЛАПАНОВ НА ФИЛЬТРАХ 11 NEXT I___________________________________________________ _ 12 PRINT " Т V1 V2 V3 С2 СЗ NА" 13 PRINT " Т Т Т МГ-ЭКВ/КГ" 14 PRINTUSING" ## .## " ,Т;:PRINTUSING" #####",V1;V2; V3; : PRINTUSING" #ff .#fltf", C2;C3; :PRINTUSING ####.## ", N1 Прогр. 10.1. Бейсик-программа УП РФ ИЛ: инициализация и начальная установ­ к а фильтров 15 FOR 1=1 ТОN 16 IF R( I )>2ТНEN24:RЕМ ОДИН ИЗ ФИЛЬТРОВ НА РЕГ-ЦИИ 17 NEXT I 18 Т1 =3 : RЕМ ШАГ ИЗМЕНЕНИЯ ВРЕМЕНИ 19 FOR 1=1ТОN 20 Е1(I)=(С1-F)*D(I)*Т1:IF Е(I)>Е1(I)THEN22 21 Т1-Т1/ 2 : IF T1<=1/12THEN24:GOTO 20 22 NEXT I 23 GOTO 25 24 T1=1/ 1 2 : REM ШАГ - 5 МИНУТ________________________________________ 25 E1= -5300*T1 26 T=T+T1: REM ПРИРАЩЕНИЕ ВРЕМЕНИ 27 V=V2: K,M=0_________________________________________________________ 28 FOR 1=1 TON_________________________________________________ 29 V1=V1-T1 *(D(I)+D1(I)+03(I)):REM ИЗМ.ОБ'ЕМА ИСХ.ВОДЫ 30 V2=V2 +T1 *(D(I)-D 2(I)> :REM ИЗМ.ОБ'ЕМА ОБР.ВОДЫ 31 V3=V3+T1*(D1(I)+D1(I)+D3(I)):REM ИЗМ.ОБ'ЕМА СТОКОВ 32 IF V1>0 AND V2>0 AND V3>0 THEN 33:STOP 33 IF E1(I)>=0 THEN 34:N1=N1+.0585*E1(I) : E (I)SE(I)-E1(I):GOTO 38 34 E1(I)»(C1-F)*D(I)*T1 35 IF E(IX =E1(I)THEN36:E(I)=E(I)-E1(I) :С4(I)=F :GOTO 38 36 IF E(I)<=0 THEN 37: C4(I)=(F*E(I)+C1*(E1(I)”E(I)))/E1(I):E(I)=0:GOTO 38 37 C4(X)>C1:E(I)>0 38 IF E( I ) <SE2 THEN 39:E( I ) =E2 :REM KOHEU РЕГЕНЕРАЦИИ 39 K=K+(D(I)*C4(I)-D2(I)*C2)*T1: REM ИЗМЕНЕНИЕ КОЛИЧЕСТВА ИОНА В БАКЕ ОБР. ВОДЫ 40 М=М+Е 2-Е(I ) :RЕМ ИЗМЕНИЕ КОЧЕСТВА ИОНА В СМОЛЕ 41 V1(I)=V1(I)+D1(I)*T1:REM ОБЪЕМ ВЗРЫХЛЯЮЩЕЙ ВОДЫ 42 V3(I)=V3(I)+D3(I)»T1:REM ОБЪЕМ ОТМЫВОЧНОЙ ВОДЫ_________ 43 NEXT I______________________________________________________________ 44 IF V2< =0 THEN 45:С2=(V*C2+K)/ V2 45 IF V3< =0 THEN 46:C3=(H-C1* V1-C2*V2-M)/ V3 46 PRINTUSING" T;:PRINTUSING" ##### ",V1; V2;V3;: PRINTUSING" , C 2 ; C 3 ; : PRINTUSING " UUHtt.HU",N1 Прогр. 10.2. Бейсик-программа У П РФ И Л: начало цикла работы группы фильтров 115
возможность либо пустить их в работу, либо оставить в резерве (см. строку 10). Операторами печати строк 12-14 на экран дисплея выводится шапка таблицы изменения параметров установки и ее первая строка, характеризующая начальную точку отсчета работы (Г= 0). Участок программы с 15-й по 63-ю строку - это цикл измене­ ния времени работы установки умягчения воды. Интервал вре­ мени при этом выбирается автоматически. Если один из фильт­ ров находится в стадии регенерации, то (см. строку 16) Т1 = =5 мин. Частота выдачи информации о работе установки также увеличивается, если приближается момент проскока ионов жесткости в одном из фильтров (см. строку 21). Если же все фильтры либо находятся в резерве, либо умягчают воду и пер­ вый проскок ожидается не ранее чем через 3 ч, то интервал вре­ мени принимается равным этим 3 ч (см. строку 18). Такая переменная шкала времени позволяет, с одной сторо­ ны, не затягивать процесс моделирования работы установки (он идет не в реальном масштабе времени, а лимитируется быстродействием ЭВМ), с другой стороны, не допускать дли­ тельной работы фильтров в ненормальном режиме (проскок ио­ нов жесткости, перерасход взрыхляющей или отмывочной воды, раствора регенеранта и т. п .) . Приращение времени осуществляется оператором строки 26. После этого ЭВМ рассчитывает изменение объема воды в ба­ ках (см. строки 29-31). Расчет прерывается, если один из баков окажется пустым (см. строку 32). Далее (см. строки 33-38) опре­ деляется остаток регенеранта и качество фильтрата всех фильт­ ров. Операторами строк 44 и 45 рассчитывается жесткость ум яг­ ченной воды и стоков, исходя из уравнения материального ба­ ланса ионов жесткости в системе. Текущие данные выводятся на экран дисплея (см. строку 46). В цикл е с параметром на строках 47-51 (программа 10.3) фикси- . руются моменты завершения процессов фильтрования (стро­ ка 48), взрыхление (строка 49) и отмывки (строка 50) фильтров установки. Операторы строк 53-56 прерывают работу установки, если: при фильтровании исчерпана обменная емкость смолы (см строку 53); 116
47 FOR 1=1 TON____________________________________________________ 48 IF R(I)02 OR E(I)<>0 THEN 49:В(I)=0:0(I)=0 49 IF R(I)<>3 OR VKIXB THEN 50:B(I)=1 50 IF R(I )<>5 OR V3(I)<0 THEN 51:0(I)=1 _____________ 51 NEXT I______________________________________________________ 52 FOR 1=1 TON 53 IF R(I)=2 AND E(I)=0 THEN 62 54 IF R(I )=3 AND V1(I)>=B THEN 62 55 IF R(I)=4 AND E(I)> =E2 THEN62 56 IF R(I)=5 AND V3(I)>-0 THEN 62 57 NEXT I 58 G=0 : FOR 1=1TON:6=G+R(I ) : NEXT I 59 IF G>N THEN 15:REM ОДИН ИЗ ФИЛЬТРОВ В ДЕЙСТВИИ 60 INPUT М1-ДАЛЬШЕ,0 -ST0P“ ,W 61 IF W=1 THEN 15 62 FOR 1=1 TON:GOS UB 65:NEXT I 63 GOTO 15 64 STOP________________________________________________________ Прогр. 10.3. Бейсик-программа УПРФ ИЛ: конец цикла работы группы фильтров при взрыхлении пропущено необходимое количество взрых­ ляющей воды (см. строку 54); при пропуске регенерационного раствора восстановлена об­ менная емкость смолы (см. строку 55); при отмывке пропущено необходимое количество отмывоч­ ной воды (см. строку 56). Если все фильтры находятся в резерве, то ЭВМ прерывает цикл по времени каждые три часа (см. строки 58-59). В остальных случаях человек волен сам изменять при необхо­ димости статус фильтров. Это осуществляется подпрограммой установки клапанов (программа 10.4). На экран дисплея предварительно выводится информация о состоянии фильтра (см. строки 68-73) и его клапанов (см. стро­ ки 74 и 75). Фильтр можно либо оставить в таком состоянии, ли­ бо изменить режим работы (см. строку 76), введя с клавиатуры новые позиции всех шести клапанов фильтра (см. строку 77). Сумма значений элементов массива К () при этом должна быть равна либо нулю (фильтр в резерве), либо двум (фильтр в рабо­ те). В противном случае (см. строку 82) запрос повторяется с со­ общением о допущенной ошибке (см. строку 90). Фиксируется и другая возможная ошибка - перевод фильтра в резерв после пропуска регенерационного раствора, но без от­ мывки (см. строку 90). Логические операторы строк 86-89 контролируют правиль­ ность действий человека при изменении статуса фильтра. Так, 117
65 REM ПОДПРОГРАММЫ 66 RЕМ ПОДПРОГРАММА УСТАНОВКИ КЛАПАНОВ 67 D(I),D1(I),D2(I),03(1),E1(I>=0 68 PRINTUSING "ФИЛЬТР # " , I 69 IF B(I)>0 THEN 70:PRINT "HE ; 70 PRINT "ВЗРЫХЛЕН , " ; 71 PRINTUSING "E=К»#»П.ЯП , M, E ( I ) ; 72 IF 0(I)>0 THEN 73:PRINT "HE 73 PRINT "ОТМЫТ." 74PRINT" 123456-йКЛАПАН " 75 PRINT " ";:F0R J=1 TO 6:PRINTUSING "# " NEXT J : PR INT "(0-ЗАКРЬ1Т,1-ОТКРЫТ)" ,К(I,J);: 76 INPUT "1 -ИЗМЕНЕНИE,0 “HET",W:IF W=0 THEN IF W<>1 THEN 76 78: 77 INPUT К(1,1) ,K(I,2),K(I,3) ,K(I,4),K(I,5) ,K(I,6) 78 G= 0 : REM ОБНУЛЕНИЕ СЧЕТЧИКА ОТКРЫТЫХ КЛАПАНОВ 79 FOR J=1 TO 6:1F K(I,J)<>1 AND K(I,J)<>0 THEN 90 80 G=G+K(I,J) 81 NEXT J 82 IF G<>0 AND G<>2 THEN 90 83 IF G=2 THEN 86.-REM У ФИЛЬТРА ОТКРЫТО 2 КЛАПАНА 84 IF Ь(I)=Е2 AND 0(I)=0 THEN 9.0 85 R(I )=1:GOTO 95:REM РЕЗЕРВ 86 IF К(I ,1)=1 AND К(I,3)=1 AND E(I)>0 AND THEN 91 0(I)=1 87 IF К(I,2)=1 AND К(I,4)=1 AND B(I)=0 AND THEN 92 E(I)=0 88 IF К(I ,5)=1 AND К(I ,6)=1 AND B(I)=1 AND THEN 93 E(I)<E2 89 IF К(I,1)=1 AND К(I,6)=1 AND E(I)=E2 AND THEN 94 0(1)=0 90 PRINT HEX (07) ; "ОШИБКA":GOTO 77 91 R(I)=2:D(I)=D:G0T0 95 92 R(I)=3:D1(I)=D1:G0T0 95 93 R(I)=4:D2(I)=D2:E1(I)=E1:GOTO 95 94 R(I)=5:D3(I)=03 95 PRINT Rh(R(I)) 96 RETURN Прогр. 10.4. Бейсик-программа У П РФ И Л: подпрограмма установки клапанов фильтра в работу можно подключить только отрегенерированный и от­ мытый фильтр (см. строку 86), а в регенерацию - только взрых­ ленный фильтр (см. строку 88) и т.д . 10.7 . Пути совершенствования алгоритма и программы Программа УПРФИЛ написана для однопроцессорной ЭВМ, выполняющей инструкции программы последовательно. Фильт­ ры же установки умягчения воды работают параллельно, и для их моделирования целесообразно применить принципы парал­ лельного программирования на многопроцессорных ЭВМ. 118
10 REM РИСУНОК ФИЛЬТРОВ НА ЭКРАНЕ ДИСПЛЕЯ 20 DATA 35,65,0,90 ,65,1,90,140,1,35,140,1,35,65,1:REM КОРПУС ФИЛЬТРА 30 DATA 35,130,0 ,15,130,1 ,15,100,1 ,15,90 ,0 ,15,80 ,1 , 25.100.0 .25.110.1 .25.120.0 .25.135.1 .25.145.0 , 25.165.1 .0 .165.0 .120.165.1:REM ЛЕВАЯ АРМАТУРА 40 DATA 100,155,0 ,100,145,1 ,100,135,0 ,100,60 ,1 , 100,50 ,0 ,100,40,1 ,110,30 ,0 ,110,40,1 ,110,50 ,0, 110.75.1 .90 .75.1 .100.155.0 .220.155.1 .0 .0 .0: REN ПРАВАЯ АРМАТУРА 50 DATA 15,95 ,25,115,25,140,100,55 ,100,140,110,45:REM КООРДИНАТЫ КЛАПАНОВ 60 PRINT /10,Н ЕХ(03)iPRINT HEX(03):REH ОЧИСТКА ЭКРАНА 70 FOR F=1 ТО 3 : REM ТРИ ФИЛЬТРА 80 RESTORE :Х1,Y1=0:PLOT <0 ,0 ,R> 90 FOR 1=1 TO 3 2 : REM 32 ПЕРЕМЕЩЕНИЯ ПЕРА 100 READ X,Y ,P:X=X+(F-1)*120 110 IF P=0THEN120:PL0T <X-X1 ,Y -Y1 ,D >:G0T0 130 120 PLOT <X-X1,Y -Y1,U>:REN ПЕРО ПОДНЯТО 130 X1=X:Y1=Y: REM СЛЕДУЮЩЕЕ ПЕРЕМЕЩЕНИЕ ПЕРА 140 NEXT I:NEXT F 150 FOR F=1 TO 3 : REM ТРИ ФИЛЬТРА 160 RESTORE 1 , 5 0 : REN СЧИТЫВАНИЕ ДАННЫХ 50-й СТРОКИ 170 FOR К=1 ТО 6 : REM У КАЖДОГО ФИЛЬТРА 6 КЛАПАНОВ 180 PLOT <0,0 ,R>:READ X,Y:X*X+(F-1)*120:PLOT <X,Y,U> 190 FOR J*1 TO 5 : REM 5 ЛИНИЙ НА ПОЛОВИНЕ КЛАПАНА 200 PLOT <J,J,D>,<-2*J,0,D>,<2*J,-2*J,D>,<-2*J,0,D>, < J,J,D>:REM ВЫРИСОВЫВАНИЕ КЛАПАНА 210 NEXT J : NEXT К : NEXT F______________________________ 220 PLOT <0 ,0 ,R>,<0,170,"ИСХОДНАЯ BOAA"> 230 PLOT <0 ,0 ,R>,<370,160,“ОБРАБОТАННАЯ ВО*Аи> Прогр. 10.5. Бейсик-программа изображения на экране дисплея группы ионитных фильтров ИСХОДНАЯ БОЛ* Рис. 10.2. Изображение груьлы фильтров на экране дисплея ПК ’’Искра 226” , для которой написана программа УПРФИЛ, имеет хорошие графические возможности: 256 точек по вер­ тикали и 512 точек по горизонтали. Поэтому программу УПРФИЛ несложно дополнить участками, отображающими тех­ нологическую схему умягчения воды на экране дисплея (см. 119
Рис. 10.3. Схема формирова­ ния изображения фильтра с арматурой на экране дисп­ лея 511 рис. 10.1) с ’’разносом” текущих значений параметров фильтро­ вания в нужные точки экрана. Программа 10.5 осуществляет вырисовывание трех фильтров на экране дисплея (рис. 10.2). Схему формирования картинки поясняет рис. 10.3. Координаты узловых точек картинки и цент­ ры задвижек сведены блоком данных на строках 20-50 . Третья цифра тройки данных указывает оператору перемещения пера (см. строки 110 и 120), в каком положении должно быть перо: 1- опущено, 0 - поднято. Глава одиннадцатая. ОЦЕНКА С ПОМОЩЬЮ ПК ТЕХНИКО-ЭКОНОМИЧЕСКИХ ПОКАЗАТЕЛЕЙ ХИМИЧЕСКИХ ЦЕХОВ ТЭС ЭНЕРГООБЪЕДИНЕНИЯ. ПРОГРАММА ХИМЦЕХ 11.1 . Постановка задачи Контроль за технологическими процессами водоподготовки в теплоэнергетике в целях сокращения материальных и сырьевых затрат на производство химочищенной воды является важным вопросом. Для его решения в химслужбах энергообъединений организует ежемесячную отчетность электростанций, входящих в РЭО, для того чтобы проверить правильность расходования во- 120
Рис. 11.1. Схема работы АСУРХЭ ды, пара, конденсата, химических реагентов, фильтрующих ма­ териалов, выявить допущенные отклонения от норм при эксп­ луатации водоподготовительного оборудования. Существенную помощь в этом может оказать создание автоматизированной системы управления работой химслужбы энергообъединения АСУРХЭ на базе ПК, оснащенной запоминающим устройством. Схема функционирования такой системы управления приведе­ на на рис. 11.1. Эта система предназначена для сбора, обработки, хранения и выдачи пользователю данных по работе химических цехов. Для ее реализации необходимо решить следующие вопросы: выбрать определенный тип запоминающего устройства и наиболее удобную форму ввода, хранения, обработки и выда­ чи информации; создать такое программное обеспечение, кото­ рое существенно сократило бы затраты времени и умственного труда работников химслужбы. В качестве запоминающего устройства лучше всего использо­ вать магнитные диски. Их преимущество по сравнению с други­ ми носителями памяти заключается в существенном сокраще­ нии времени поиска необходимой информации. Наиболее удобной формой ввода, хранения и выдачи инфор­ мации является массив данных, причем для экономии объема занимаемой памяти лучше использовать литерный массив. Если же необходимо произвести обработку данных, то можно преобразовать символьные переменные в числовые. В качестве примера разработки программного обеспечения можно рассмотреть программу записи и обработки данных по расходу реагентов в химцехах пяти тепловых электростанций энергообъединения. 121
11.2 . Перечень идентификаторов Список идентификаторов приведен в табл. 11.1. Таблица 11.1. Список идентификаторов программы Х ИМЦЕХ Переменная Имя Простые числовые переменные Вспомогательные перем енные, характеризующие расходы А,В реагентов по всем электростанциям Номер дня на хронологической оси 20-го века D Номер дня работы с ЭВМ DO Номер дня первой записи на диске D1 Номер дня последней записи на диске D2 Число записей на диске F Номер года G Номер станции энергообъединения I Номер статьи расхода реагента J Номер месяца в году М Сумма расходов реагентов по одной статье, но по всем станциям энергообъединения & Сумма расходов реагента данного вида по всем ТО станциям энергообъединения Сумма расхода реагента данного вида по одной Т станции энергообъединения Простые литерные переменные Календарные даты: Д Д.ММ .ГГ DO,D,Dl,D2 Индексные литерные переменные Название / -й статьи расхода реагентов Р (J) Расход реагента по J-й статье на 1-й станции S(I,J) Наименование 1-й станции энергообъединения Т(I) 122
11.3 . Математическое описание задачи Банк данных, который хранит информацию о работе химичес­ ких цехов электростанций, представляет собой ряд литерных массивов, записанных на диск под именами, соответствующими дате записи. Кроме того, на диске хранятся дата начальной и конечной записей на диске (в виде литерных и числовых пере­ менных), а также числовая переменная F, которая отсчитывает количество записей на диске. Эти переменные составляют файл ’’Границы” . 11.4 . Структура и текст программы В программе ХИМЦЕХ можно выделить следующие участки: инициализация диска; ” меню” , т. е. выбор вида работы с программой, который необ­ ходим пользователю; участок обработки и вывода данных на печать; подпрограмма проверки правильности введенной в ЭВМ даты в виде ДД.ММ .ГГ , первые 2 символа преобразуются в число (D), 4-й и 5-й символы-в месяц (М), 6-й и 7-й символы-в год (G). Если D > 31 или М > 12, то появляется сообщение об ошибке. Строки 520, 530, 540, 550 - проверка правильности введенного числа (D). Для М = 1, 3, 5, 7, 8, 10, 12 (январь, март, май, июль, август, ок­ тябрь, декабрь) сразу же рассчитывается номер дня на числовой оси 20-го века в строке 570. Для М = 4, 6, 9, 11 (апрель, июнь, сен­ тябрь, ноябрь) проверяется условие D > 30, если оно выполняет­ ся, то появится сообщение об ошибке - строка 550. Для М = 2 (февраль) проверяется условие D > 29 - для любого года, если условие выполняется, то появится сообщение об ошибке; в про­ тивном случае проверяется условие D > 28. Если год не високос­ ный (не кратен 4), a D = 29, то появляется сообщение об ошиб­ ке - строка 530. Если дата введена правильно, то рассчитывает­ ся номер дня на числовой оси 20-го века. Затем дата, преобразо­ ванная в номер дня на числовой оси 20-го века, сравнивается с номером дня на числовой оси 20-го века, который соответствует дате последней записи информации на диск. Чтобы не прои­ зошло при записи наложения одного массива данных на другой, дата работы с ЭВМ не должна быть меньше даты последней записи данных на диск, это определяется условием DO > = D2 (строка 100). 123
10 SELECT PRINT05(80):REM ПРОГРАММА ХИМСЛУЖБА 20 DIM DQ8,D0°8,D1n8,D2n8,S “(5,14)10,T «J(5)6,pn(14)35, R1n 5 ,R 2n 4 ,R 3 n 4:DATA "РАСХОД H2S04 НА РЕГЕНЕРАЦИЮ (T) " НА БЛОКИ ФИЛЬТРОВ (T)","HA ФСД 3 СТУПЕНИ (T)", "НА БОУ (Т)"/'НА К/О (Т)","НА ПРОЧИЕ НУЖДЫ (Т)","РАС ХОД NAOH НА РЕГЕНЕРАЦИЮ ( Т ) " 30 ОАТА "НА БЛОКИ ФИЛЬТРОВ (Т)","НА ФСД 3 СТУПЕНИ (Т)", "НА БОУ (T)’V 'HA К/О (Т')"/ "НА ПРОЧИЕ НУЖДЫ (Т)", "РАСХОД СУХОЙ NACL (Т)","РАСХОД РАССОЛА NACL (Т)" : FOR J=1 ТО 14:RЕAD Pn(j);NEXT J 40 DATA "ТЭЦ-8 " ,"ТЭЦ-20","ТЭЦ-21 " , "ТЭЦ-23","ТЭЦ-25": FOR 1= 1 ТО 5 : RЕAD T a ( I) : N E X T I___________________________________ 50 PRINT HEX (03); "АС СВОPA, PАЗМЕЩEНИЯ, ОБРАБОTКИ И ВЫДАЧИ ДАННЫХ ПО РАБОТЕ ХИМЦЕХОВ МОСЭНЕРГО" 6 0 PRIN T "ВКЛЮЧИТЕ ДИСКОВОД И ВСТАВЬТЕ ДИСК С ЗАПИСЯМИ ( F ) :GOSUB 650:0N ERROR Ап,Вп GOTO 60 7 0 DATA LOAD DC OPEN F" Г PАН ИЦЫ" : REM ОТКРЫТИЕ ФАЙЛА: DATA LOAD DC D1n , D1,D2n,D2,F:REM СЧИТЫВАНИЕ ИЗ ФАЙЛА 80 PRINT "ЕСТЬ";Р;"ЗАПИСЕй С ";Dla;" ПО ";D2“; " Г ." 90 PRINT "КАКОЕ СЕГОДНЯ ЧИСЛО ";:GOSUB 520:DOn =Dв :D0=D 100 IF D0> =D2 THEN 110:PR I NT"ЭTO ПРОШЕДШЕЕ ЧИСЛО.": GOTO 90______________________________________________________________________ 110 SELECT PRINT05(8 0):REM ВЫВОД НА ДИСПЛЕЙ 120 INPUT " 1 -НОВАЯ ЗАПИСЬ, 2 -ОБРАБОТКА ЗАПИСЕЙ, 3-KOHEU " , I :ОN I GOTO 130,210:STQP : REM МЕНЮ___________ 130 PRINT " C ;D 2п;" И ПО КАКОЕ ЧИСЛО (НЕ ПОЗЖЕ ";00и;") "; :GOSUB 520:IF- D<D2 OR D>DO THEN 130 140 FOR 1=1 TO 5:PRINT "ДАННЫЕ ПО ";Tп(I) 150 FOR J=1 TO 14: REM ПЕРЕБОР ПАРАМЕТРОВ 160 PRINT R1n; 170 PRINT STR(Pn(J >,1 ,LEN (pnfj ))+1 ) .-INPUT Sn(I,J): NEXT J:NEXT I 180 PRINT "СНИМИТЕ ЗАЩИТУ С ДИСКА F. " ;:GOSUB 650: ON ERROR An, B° GOTO 180:DATA SAVE DC OPEN F(5)Dn: DATA SAVE DC Sa():DATA SAVE DC END:F=F+4:D2n=Dn : D2= D 190 SCRATCH F’TPAHMUU": DATA SAVE DC OPEN F(" ГРАНИЦЫ") "ГРАНИЦЫ":DATA SAVE DC Dln,Dl,D2n,D2,F : DATA 'SAVE D C END.-GOTO 110_____________ ___________________________ 200 PRINT "ПО ЭТОЙ ДАТЕ НЕТ ЗАПИСЕЙ." 210 PRINT "ДАТА (С ";Dln;" г. ПО ";D2n;" Г .) ";: GOSUB 530:IF D>=D1 AND D<=D2 THEN 220:PRINT "ВЫШЛИ ЗА ИНТЕРВАЛ ЗАПИСЕЙ." :GOTO 210 220 ON ERROR Ап,ви GOTO 200:DATA LOAD DC OPEN FDn: DATA LOAD DC Sn() 230 ON ERROR Ап,вп GOTO 110 240 SELECT PRINT0C(120> 250 PRINT "ДАННЫЕ HA ";Dn;" Г ." Прогр. 11.1. Бейсик-программа ХИ М ЦЕХ: начало программы В строке 120 предусмотрено ’’меню” работы с данными: 1 - новая запись, обращение к строке 130; 2 - обработка записей, обращение к строке 210; 3 - конец работы с программой. В строке 130 запрашивается дата, по которой следует записать новые данные (эта дата одновременно служит и именем файла, 124
260 PRINT " ПАРАМЕТР FOR 1=1 TO 5:PRINT Th(i);" *';:NEXT I:PRINT " СУММА" : PRINT 270 FOR J=1 TO 14 280 PRINT pa(J);:S=0:FOR 1=1 TO 5-.PRINT S*»(I,J);" 290 ON ERROR Ай,Be GOTO 310 300 CONVERT S e (I,j) TO A:S=S+A:GOTO 310 310 NEXT I: PRINTUSING "#### .## ", S:NEXT J 320 PRINT "СУММАРНЫЙ РАСХОД ПО КИСЛОТЕ (Т) ";:Т0=0 330FOR1=1ТО5 340 Т=0 350FORJ=1ТО6 360 В=0: I F S*aCI/J)=•*-*■ THEN 370:CONVERT S n(I,J) TO В 370 T=T+B:NEXT J:T0=T0+T:PRINTUSING "U tiUtt. n n " ,T;: NEXT I:PRINTUSING "#tftfUU#.UП",TO 380 PRINT "СУММАРНЫЙ РАСХОД ПО ЩЕЛОЧИ (Т) " ;:Т0=0 390FOR1=1ТО5 400 Т=0 410 FOR J=7 ТО 12 420 В=0; I F Sn(I,J)= " “ "THEN 430:CONVERT S«»(I,J) TO В 430 T=T+B:NEXT J:T0=T0+T:PRINTUSING "П П Н П .И П ",T;: NEXT I:PRINTUSING "ПНППИП .НП ”,TO 440 PRINT "СУММАРНЫЙ РАСХОД ПО NACL (T) ";:T0=0 450FOR1=1TO5 460 T=0 470 FOR J=13 TO 14 480 B=0:IF Sп(I,J)="-"THEN490:CONVERT Sn(l,j) TO В 490 T=T+B:NEXT J:T0=T0+T:PRINTUSING "ППП# .#П ", T;: NEXT I : PR INTUSING 5 0 0 GOTO 110____________________________________________________________________ 510 PRINT "ОШИБКА":REM НАЧАЛО ПОДПРОГРАММ 520 INPUT "ДД .ММ .ГГ " , D n:CONVERT STR(Dn,1 ,2) TO D: IF D>31 THEN 510:CONVERT STR(DH,4 ,2) TO M:IF M>12 THEN 510:CONVERT STR(Dn,7/ 2) TO G 530 ON M GOTO 560,540,560 ,550 ,560 ,550 ,560 ,560 ,550 ,560 , 550,560 540 IF D>29 THEN 510:IF G/4>INT(G/4) AND D>28 THEN 510 550 IF D>3 0 THEN 510 560 M=M+1: IF M>3 THEN 570:M=M+12 :G=G-1 570 P=INT (365 .25*G )-*-INT (30.6001*M)-* -D :RETURN _ _ _ _ _ _ _ _ _ _ _ _ _ 5 8 0 REM ОПРЕДЕЛЕНИЕ ДАТЫ (On) ПО НОМЕРУ ДНЯ ( N!> 590 G=INT ((0-122 .1 )/365 .25) 600 M=INT((D-INT(365.25*G>>/30.6001 ) 610 D5=D-INT (365 .25*G)-INT (30.6001*M) 620 M=M -1: IF M<13 THEN 630:M=M -12 630 IF M>2 THEN 640:G=G+1 640 Dn= "0 0 .00 .00 ":REM ПРЕОБРАЗОВАНИЕ НОМЕРА ДНЯ В ДАТУ: CONVERT 05 ТО STR(Dn,1 ,2) ,(##) : CONVERT М ТО STR(Dn,4 ,2) ,(##) :CONVERT G TO STR(Dn,7 ,2) ,(#It) : RETURN_______________________ ______________________________________________ 650 INPUT "ГОТОВО (CR/LF)",Bn :RETURN Прогр. 11.2. Бейсик-программа Х И М ЦЕХ: конец программы и подпрограммы об­ работки дат в котором осуществляется запись), затем идет обращение к подпрограмме перевода даты в номер дня. Введенная дата должна находиться в промежутке времени от даты последней 125
2Е ООООООООООООООООО s: >|сооюсоО(ьюа>ооююоо(\ллО 2 W\roOininO(VJfOOin4)S>JCOr*'OtNJ Qv^ О <\J <\lг*^ 1ЛM*0 NO^»“N in OJ Ij ООО (П fO Ю О4О-CD к . о ••■ ^ ^ 1/> М СО СО f\J rvil *го I lf-1 • K> I I Nin<VJr-N (\J f*nIIIinI IIIОI ООО огоо оо••• гоЮ00оо го ООО V*V*О Оо'О<300 IГО1П-4'СО<\J *4-IIIIIt—I »• 1ГОIIII ООО ЧЭГ-О ООО ^ (МО от соо*о т-гм|ооют X W я а S X л 2 5 «3 6 о о. с К « X о о а с t; о X о ь о о. с ^3Z а. со ОS <О .X X t—UJ ■О с. -4- =: >1 оsь- <л ©о 0ч| хsKI V чок Ос; о х LQ© с?<1—Ш * I -DС >1 с;> XXSН- О®О 111 < SzSю V ОЕЙ =;о L0© >.оо=г о^С-о тусх ОZ=5=1с* 3< ООО dг<ххх .56 с; о <_>о >1>sо<<< IоUо.о.и. Xо ш><'S’S>s s<->о-ззз XXX D.0-О. <<< >оо=<ч оVй.оо изvс:хх оо <<<<< XXXО-0 -
записи на диск D2 (D2 ф)до даты работы с ЭВМ DO(.DO#) в целях защиты старых записей. Проверка этого условия осуществляет­ ся с помощью неравенств D < D2 и D < DO в строке 130. В строке 170 осуществляется ввод данных по расходу реагентов по ка ж ­ дой электростанции по всем статьям расхода, в строке 180 - за­ пись на диск новых данных по расходу реагентов в виде сим­ вольного двухмерного массива S$ ( I, J ) под именем, соответст­ вующим дате записи данных. После этого изменяется число за­ писей на диске и дата последней записи на диск, и в строке 190 осуществляется исправление файла ’’Граница” . За этим сле­ дует запрос нового вида работы, переход к строке 110. В строке 210 на экран дисплея выводится интервал времени, в течение которого осуществлялись записи информации, т. е. даты начальной и последней записей на диск. Затем запраши­ вается дата, по которой записаны нужные данные, и происходит переход к подпрограмме определения номера дня по дате. Если введенная дата не попадает в интервал записей на диск, то по­ является сообщение об ошибке. Так ка к данные по работе хи­ мических цехов поступают в химслужбу Мосэнерго 1 раз в ме­ сяц, то необязательно, чтобы запись данных производилась ежедневно, поэтому в программе, в случае если по введенной дате нет записи, предусмотрено сообщение ” По этой дате нет записи” (строки 220 и 200), и после этого вновь запрашивается дата (она же и имя) записанной на диск информации (строка 210). Если запись на диске под именем, соответствующим вве­ денной дате, есть, то идет считывание данных (сгрока 220). На­ чиная со строки 240 осуществляется вывод данных по работе химических цехов в виде таблицы на печать (рис. 11.2). Допол­ нительно рассчитываются и выводятся на печать в виде столб­ ца суммарные расходы кислоты, щелочи, поваренной соли по данной статье по всем станциям (строка 300), в виде строк сум­ марные расходы этих реагентов по всем статьям для каждой станции, а также по всей группе станций (строки 370, 430, 490). За этим следует запрос нового вида работы, обращение к стро­ ке 110. Аналогичные программы можно составить и для обработки данных из других разделов месячного отчета, расширив их не­ обходимыми расчетами технико-экономических показателей для того, чтобы иметь полную картину качества эксплуатации водоподготовительного оборудования и состояния водно-хими­ ческого режима на электростанциях. 127
Глава двенадцатая. УПРАВЛЕНИЕ С ПОМОЩЬЮ ПК РАБОТОЙ СКЛАДА ХИМРЕАКТИВОВ И РЕАГЕНТОВ ТЭС. ПРОГРАММА СКЛАД 12.1 . Постановка задачи В складе химического цеха ТЭС и АЭС наблюдается непре­ рывное перемещение (поступление и расходование) материа­ лов, реагентов, запасных частей и т. п . Автоматизированный учет таких перемещений можно организовать с помощью ПК, оснащенным внешним запоминающим устройством (нако­ питель на магнитной ленте или на магнитном диске). Че­ рез машину, работающую по программе СКЛАД, в диалоговом режиме можно оперативно получить информацию о наличии и месте хранения того или иного реагента, узнать, каких материа­ лов не будет хватать через определенное время, и т. д . Программа СКЛАД, образно говоря, превращает П К в элек­ тронную амбарную книгу (картотеку) с удобными и быстро­ действующими средствами расширения, дополнения, исправле­ ния и поиска. 12.2 . Перечень идентификаторов В программе СКЛАД широко используются числовые и литер­ ные массивы, объединенные в сложный тип данных - запись. Перечень идентификаторов программы СКЛАД приведен в табл. 12.1. Таблица 12.1. Перечень идентификаторов программы СКЛАД Переменная Имя Индексные литерные переменные Номер прейскуранта и позиции в нем реагента С() Дата заполнения карточки D() Название единиц измерения реагента Е() Химическая формула реагента F() Квалификация реагента К{) Место хранения реагента М() Название реагента N() Примечание в карточке по реагенту Р() Ключевое слово поиска информации в карточке SО Название позиции в карточке Z() 128
12.3 . Математическое описание задачи Картотека, хранящая информацию о реагентах и реактивах склада химцеха, представляет собой комплекс одномерных чис­ ловых и литерных массивов. На языке Паскаль, кстати, такой комплекс объединяется в одну переменную сложного типа - за­ пись. Информацию, хранящуюся в этих массивах, можно разделить на постоянную, не меняющуюся при обращении к картотеке, и переменную, которую пользователь (кладовщик) может изме­ нять, отображая реальные изменения на складе. При поиске информации в картотеке перебираются все ее карточки, исключая незаполненные, и выводится на экран дисплея информация по тем, какие соответствуют условию поиска. 12.4 . Допущения, принятые в расчете Некоторые позиции карточки картотеки, перечисленные в 12.3, постоянными можно назвать лишь условно. Так, цена на реагенты, их позиции в прейскурантах время от времени могут меняться. 12.5 . Структура программы В программе СКЛАД можно выделить следующие специфи­ ческие участки: обмен информацией между оперативными запоминающим устройством (ОЗУ) ЭВМ и накопителем на гибких магнитных дисках (строки 40,50 и 290); программное ’’меню” с возвращением к нему после выполне­ н и я выбранного вида работы (строка 60); логическое сравнение ключевого слова поиска с фрагментом записи информации на карточке (строки 180-200). В программе СКЛАД широко используется структурная уп­ равляющая конструкция - цикл с параметром для перебора кар­ точек картотеки. 9-6071 129
12.6 . Текст программы Программа СКЛАД состоит из шести блоков и одной подпро­ граммы распечатки содержимого карточки на экране дисплея (программы 12.1 и 12.2). В первом программном блоке (см. строки 10-50) ведется за­ прос календарной даты работы с картотекой (см. строку 20), объ­ является размер картотеки (см. строку 30) и считывается с маг­ нитного диска ее содержание по постоянным (см. строку 40) и переменны м (см. строку 50) параметрам. Второй программный блок - это ’’меню” работы с картотекой (см. строку 60) и ветвление по участкам программы для выпол- 10 REM ПРОГРАММА СКЛАД ХИМРЕАКТИВОВ И РЕАГЕНТОВ 20 INPUT "СЕГОДНЯШНЕЕ ЧИСЛО",D*> 30 N=100:DIM Nn(100)35,Fe(100)10,К«(100)25,Ей(100)2, CH(100)6,Me(100)50,De(100)8/ Pn(100)50,B(100),N(100) , М(100),С(100),Zn(12)30,SH(2)35,P(2):REM МАССИВЫ 40 DATA LOAD DC OPEN R"XU ПОСТ": DATA LOAD DC N**() ,Fn() ,KH() ,E«() ,B() , MO ,C() , Си() ,Z n () :REM ПОСТ. ПАРАМ. КАРТОТЕКИ 50 DATA LOAD DC OPEN R"XU ПЕРЕМ” : DATA LOAD DC NO ,M“ () ,D “ () ,P a () :R=0:REM ПЕРЕМ.ПАРАМ. КАРТОТЕКИ_______________________________ __________________________ 60 PRINT HEX( 0 3 ) ; :INPUT"1-HP0CM0TP КАРТОТЕКИ, 2-ВНЕСЕНИЕ ИЗМЕНЕНИЙ В КАРТОТЕКУ ПО НОМЕРУ КАРТОЧКИ, 3-ПОИСК ПО КЛЮЧЕВЫМ СЛОВАМ,4-ПРОВЕРКА СООТВЕТСТВИЯ H0PMAM,5-K0HEU РАБ0ТЫИ, М : RЕМ МЕНЮ 70 ON М GOTO 90,80 .160,240,290:REH ВЕТВЛЕНИЕ_______________ 80 PRINT HEX ( 0 3 ) ; :INPUT "НОМЕР КАРТОЧКИ",!:G0T0 100 90 FOR 1=1 ТО N:REM ПРОСМОТР КАРТОЧЕК 100 GOSUB 3 1 0 : RЕМ ПЕЧАТЬ КАРТОЧКИ 110 IF М=2 THEN 120:NEXT I:G0T0 60 120 PRINT "НОВОЕ ";STR (Z«* (9) ,1 ,LEN (Z«* (9) )); :INPUT N(I) 130 PRINT "НОВОЕ ";STR(ZH(10),1 /LEN (Zo(10))); : LINPUT M«(l) 140 DH(l)=oa:REM ДАТА ИЗМЕНЕНИЯ В КАРТОЧКЕ 150 PRINT "НОВОЕ ”;SТR(Z«(12) ,1,LEN(Zн(12))); : LINPUT РД(1) : R=1 : GOTO 60___________________________________ _ 160 INPUT **1-E КЛЮЧЕВОЕ СЛ0ВО, Л0ГИЧЕСКАЯ СВЯЗКА (1-И ,2-ИЛИ ,3 -НЕ) ,2-Е СЛОВО",S«»(1) ,L ,Se(2) :С=0 170 FOR 1=1 ТО N:IF N n(I)= ” и THEN 230:REM ПУСТ.КАРТ. 180 FOR J=1 ТО 2:Р(J)=0: FOR Р=1 ТО LEN(NH(I))-LEN(SH(J))+1: IF Sn(J)<>STR(Ne(I) ,P ,LEN(Sn(j))) THEN 190: P(J)=1:60T0 200 190 NEXT P: REM КОНЕЦ ЦИКЛА ИЗМЕНЕНИЯ НОМЕРА ЗНАКА 200 NEXT J:Р=Р(1)*Р (2):IF L<>2 THEN 210:Р=Р(1)+Р(2) 210 IF L<>3 THEN 220: Р*Р (1)-Р (2) 220 IF Р<1 THEN 2 3 0 :С=1:G0SUB 310:REM ЭТО НА ПЕЧАТЬ 230 NEXT I : IF С=1 THEN 60:PRINT "ИНФОРМАЦИИ НЕТ.": INPUT Вд : GOTO 60_______________________________________________ Прогр. 12.1 . Бейсик-программа СКЛАД: начало программы 130
240 INPUT "НА СКОЛЬКО ДНЕй",0 250 FOR 1=1 ТО N: RЕМ ПРОСМОТР КАРТОЧЕК 260 IF N (I)/D >C(I) THEN 280:REM ЭТОГО ДОСТАТОЧНО 270 PRINT I;" -К А Р ТОЧКА":GOSUB 310 280 NEXT I : GOTO 60____________________ 290 IF R=0 THEN 300:__________________________ _______ _ SCRATCH R" XU ПЕРЕМ": DAT A SAVE DC OPEN RC'XU ПЕРЕМ") "XU ПЕРЕМ": DATA SAVE DC NO ,Dn() ,рв() : DATA SAVE DC END _________ _ _ _ _ _ 300 STOP 310 PRINT HEX(03);1;"-Я КАРТОЧКА": PRINT : PRINT ;Zn(1);“ ";Nh(i ) ;PRINT Z»(2);" ";F«(D 320 PRINT ze(3);*' ";Кп (I) :PRINT Z«»(4);" H;E“(I) 330 PRINT Zn(5);" ";8(I):PRINT Z«»(6);" ";M(I) 340 PRINT Z*>(7) ;" ";C(I):PRINT ze(8);" " ;Ca(D 350 PRINT ZB(9);" ";N(I):PRINT Z«»(10);" ";Ma(I) 360 PRINT ZH(11);" ";Dn(I) :PRINT Zn(12);" ’;Р*»(П 370 IF M<>4 THEN 3 80:PRINT "HA" ; D;" ДНЕЙ HE ХВАТИТ" 380 IF M=2 THEN 390:INPUT "ДАЛЫИЕ " , Bn 390 RETURN Прогр. 12.2. Бейсик-программа СКЛАД: конец программы нения выбранного пользователем вида работы с картотекой (см. строку 70). Операторами третьего программного блока (см. строки 80-150) реализуются два первых вида работы с картотекой: 1 ~ просмотр картотеки; 2 - внесение изменений в карточку, когда ЭВМ вы­ водит на дисплей старое содержание переменного параметра и дает возможность пользователю либо подправить его (см. стро­ к и 130-150), либо набрать на клавиатуре новое значение (см,, строку 120), при этом дата внесения исправлений фиксируется (см. строку 140), а переменная R принимает ненулевое значе­ ние, что является признаком необходимости перезаписи карто­ теки на магнитном диске. Четвертый программный блок (см. строки 160-230) служит для поиска информации в картотеке по двум ключевым словам (см. строку 160), связанным одной из трех логических связок: И, ИЛИ, НЕ. Подробнее о работе по ключевым словам написано в гл. 13. Операторы пятого программного блока (см. строки 240-280) позволяют получить информацию о тех реагентах и реактивах, находящихся на складе, которых может не хватить для нормаль­ ной работы станции в заданном интервале времени. По этим ре­ активам необходимо подавать заявку на получение извне. 131
НАЗВАНИЕ ЕДКИЙ НАТР ХИМИЧЕСКАЯ ФОРМУЛА NAOH КВАЛИФИКАЦИЯ ТЕХНИЧЕСКИЙ Е Д . ИЗМЕРЕНИЯ КГ СОДЕРКАНИЕ ОСНОВНОГО ВЕЩЕСТВА 40 ОПТОВАЯ ЦЕНА ЗА 1 Т 125 СУТОЧНЫЙ РАСХОД 100 N ПРЕЙСКУРАНТА И ПОЗИЦИЙ НАЛИЧИЕ 3000 МЕСТО ХРАНЕНИЯ 3 ЦИСТЕРНЫ ПО 15 ДАТА 26.02 .86 ПРИМЕЧАНИЕ НА ЗВАНИЕ СОЛЬ ПОВАРЕННАЯ (НАТРИЙ ХЛОРИСТЫЙ) ХИМИЧЕСКАЯ ФОРМУЛА NACL КВАЛИФИКАЦИЯ ТЕХНИЧЕСКАЯ Е Д. ИЗМЕРЕНИЯ КГ СОДЕРЖАНИЕ ОСНОВНОГО ВЕЩЕСТВА 96 ОПТОВАЯ ЧЕНА ЗА 1 Т 20 СУТОЧНЫЙ РАСХОД 100 N ПРЕЙСКУРАНТА И ПОЗИЦИЙ НАЛИЧИЕ 2000 МЕСТО ХРАНЕНИЯ 5ЯЧЕЕКПО30М3 ДАТА 10.06 .86 ПРИМЕЧАНИЕ Рис. 12.1. Образцы заполнения карточек для программы СКЛАД Шестой программный блок (альтернатива на строке 290) ведет перезапись переменной части картотеки на магнитном диске, если в ней произошли изменения. Подпрограмма строк 310-390 осуществляет печать карточки на экране дисплея. Их образец приведен на рис. 12.1. 12.7 . Пути совершенствования алгоритма и программы Так ка к известен примерный суточный расход реагентов и ре­ активов на станции, то программу можно дополнить оператора­ ми, уменьшающими количества реагентов каждые сутки. Это избавит пользователя от необходимости периодической правки картотеки.
Глава тринадцатая. ВВЕДЕНИЕ НА ПК КАРТОТЕК. ПРОГРАММА КАРТОТЕКА В гл. 12 была описана программа СКЛАД, работая по которой, можно автоматизировать учет движения материалов и реаген­ тов в складе химцеха ТЭС. Программа 13.1 КАРТОТЕКА, описываемая в этой главе, име­ ет более универсальный характер. Работая с ней, можно не толь­ ко вести электронную амбарную книгу-картотеку, но и, напри­ мер, электронную картотеку кадров, адресов и телефонов контр­ агентов, поставщиков. Вот примеры записей в такой картотеке: 1-я страница - кисло­ та серная аккумуляторная, Н2SO4, 15 л, норма 10 л, 2-й вытяж­ ной шкаф, 10.10.87; 2-я страница - трилон Б (комплексон III), 5 кг, норма 10 кг, меньше нормы, 20.10.87; 30-я страница - Ивано­ ва Л. И ., аппаратчица химцеха, род. 14.11.48, поступила на работу 20.10.69, последний экзамен по ТБ 20.03.87; 45-я страница - Ива­ нов Иван Иванович, 35-48-90, заказ серной кислоты. Поиск информации в такой форме ведется либо по двум, либо по одному ключевому слову, если второе слово не вводить в па­ мять ЭВМ. Два ключевых слова при поиске информации связы­ ваются одной из трех возможных логических связок: И, ИЛИ, НЕ. Их выбор можно пояснить примерами конкретных поисков нужных реактивов. 1. Нужно подобрать какую-нибудь соль соляной кислоты, но так, чтобы реактив был химически чистый. Найти подходящую соль можно, ’’вы тащив” из картотеки карточку, где есть слова ’’ХЛОР” и ”ХЧ ” . Пробел ” ” не даст ’’вытащиться” карточке со словами ’’ЧЕТЫРЕХХЛОРИСТЫЙ” или ’’ДИХЛОР” и т.д . 2. Реактив может называться по-разному. Найти хлористый натрий можно, ’’вы тащив” карточку со словами ’’ПОВАРЕННАЯ СОЛЬ” или ’’НАТРИЙ ХЛОРИСТЫЙ” . 3. Если какого-то реактива осталось мало, то нужно поста­ раться его не использовать, а подыскать ему замену, ’’вы тащив” карточку с фрагментом его названия, но там, где нет слов ’’МЕНЬШЕ НОРМЫ” . Эти три примера и подсказали форму выдачи ключевых слов поиска: случай 1 ’’ХЛОР” , ” Х Ч ” , ” И ”; случай 2 ’’ПОВАРЕННАЯ СОЛЬ” , ’’НАТРИЙ ХЛОРИСТЫЙ” , ’’ИЛИ”; случай 3’’ТРИЛОН Б” , ’’МЕНЬШЕ НОРМЫ” , ” НЕ” . Такой поиск и осуществляет про­ грамма 13.1. Она состоит из 5 блоков. 133
10 REM ПРОГРАММА "АМБАРНАЯ КН ИГА " 20 N=500:01М No(500)100,Nп100:Ап="СТРАНИЦЫ" : R=0 3 0 DATA LOAD DC OPEN F A n : R EM ОТКРЫТИЕ ФАЙЛА ДЛЯ СЧИТЫВАНИЯ 40 FOR 1=1 ТО N:DATA LOAD DC N**(I>:IF END THEN 50:NEXT I 50 PRINT HEX(03);"В КНИГЕ ЗАПОЛНЕН.СТРАНИЦ" :GOTO 70 60 PRINT HEX( 0 3 );: REM ОЧИСТКА ЭКРАНА ДИСПЛЕЯ 70 INPUT " 1 -НОВАЯ ЗАПИСЬ,2-ПРОСМОТР,3-ПОИСК ПО КЛЮЧЕВЫМ Cfl0BAM,4 -ST0P",B:0N В GOTO 80,130,100,220__________________________ 80 FOR 1=1 ТО N:IF Nn(I)=" "THEN 90:NEXT I:PRINT "КНИГА ПЕРЕП0ЛНЕНА":60Т0 60 90 PRINT I ; " - Я СТРАНИЦA " : LINPUT Nn(l);G0T0 60________________________ 100 INPUT "ПЕРВОЕ КЛЮЧЕВОЕ СЛОВО",Sn(1) 110 Sв(2)= " " :INPUT "2-Е СЛОВО",S* (2):IF Sn(2)=" "THEN 130 120 INPUT "ЛОГИЧЕСКАЯ СВЯЗКА ( И, ИЛИ, НЕ) " , L» 130 FOR 1=1 ТО N:Nn=Na(l):iF Nh=" "THEN 210:IF 8=2 THEN 200 140 FOR J=1 TO 2:P(J)=0:IF Sn(j)>" "THEN 150:P=P(1) :GOTO 190 150 L=LEN (N«)-LEN (Sh(J))+1 :FOR Z=1 TO L: IF SH(J)»STR(Nn,z ,LEN(Sn(j))) THEN 160.-NEXT Z.'GOTO 1 70 160 P(J)=1 :REM J-E СЛОВО НАЙДЕНО НА I- й СТРАНИЦЕ 1 7 0 NEXT J : R ЕМ СЛЕДУЮЩЕЕ КЛЮЧЕВОЕ СЛОВО 180 Р=Р(1)*Р(2):IF Ln="H"THEN 190:REM ЛОГИЧЕСКОЕ УМНОЖЕНИЕ: Р=Р(1)+Р (2) : IF |_и ="И ЛИ"ТН EN 190:REM ЛОГИЧЕСКОЕ СЛОЖЕНИЕ: Р=Р (1) -Р (2) : I F LH<>‘1НЕ"THEN 120 190 IF Р<1 THEN 2 1 0 :REM ЭТУ СТРАНИЦУ ПРОПУСТИТЬ 200 PRINT I;"-Я СТР. " :LINPUT N«»(I):IF Nn=Nn(I) THEN 210:R=1 2 1 0 NEXT I : GOTO 60______________________________ ___________________________________ 220 IF R=0 THEN 290:REM В КНИГЕ НЕТ ИЗМЕНЕНИЙ 230 FOR 1=1 ТО N-1:IF Nn(i)>" " OR N«(1+1)=" "THEN 250 240 Ne(I)=Nn(i+1):nh(i+1)=" ":GOTO 230:REM УПАКОВКА КНИГИ 250 NEXT I 2 6 0 SCRATCH F A«»:DATA SAVE DC OPEN F ( А в ) А» :REM ПЕРЕЗАПИСЬ 270 FOR 1=1TON:IF Nh(I)= " "THEN280: DATA SAVE DC Nn(I);NEXT I 2 8 0 DATA SAVE DC END: R EM ЗАКРЫТИЕ ФАЙЛА ПОСЛЕ ЗАПИСИ 2 9 0 ENP____________________________________________________________ Прогр. 13.1. Бейсик-программа КАРТОТЕКА Операторами первого программного блока (строки 10-50) определяется размер картотеки (см. строку 20). В ней 500 карто­ чек (или страниц), на каждой из которой можно сделать запись длиной 100 знаков. Операторами строк 30 и 40 картотека (амбарная книга) считы­ вается с магнитного диска в ОЗУ ЭВМ, заполняя соответствую­ щий массив. Так ка к картотека заполнена не полностью, то ло­ гический оператор строки 40 прерывает цикл считывания при достижении конца файла. Переменная R = 0, пока записи на диске и в ОЗУ ЭВМ тождественны, R = 1 служит признаком пе­ резаписи информации на диске. Выполнение первого блока за­ канчивается выводом на дисплей информации о числе запол­ ненных страниц (см. строку 50). Второй блок программы (строки 60 и 70) содержит програм­ мное ’’меню” и оператор ветвления для выполнения выбран- 134
ного вида работы с картотекой (см. строку 70): 1 - новая за­ пись, заполнение первой свободной карточки; 2 - просмотр всех заполненных карточек; 3 - поиск по ключевым словам; 4 - окон­ чание работы с картотекой. Операторы третьего программного блока осуществляют (см. строки 80 и 90) поиск первой свободной карточки и дают возмож­ ность пользователю сделать на ней новую запись. В четвертом программном блоке (строки 100-210) записаны операторы, реализующие пункты 2 и 3 ’’меню” . Наиболее сложен алгоритм поиска по ключевым словам. Для этого в программе записано три вложенных цикла с параметрами: номер карточки картотеки (см. строку 130), номер ключевого слова (см. строку 140), номер знака в записи на карточке (см. строку 150). В процессе информационного поиска заполняются элемен­ ты двумерного числового массива Р(') единицей, если ключевое слово найдено (см. строку 160), или нулем, если не найдено. Да­ лее рассчитывается простая переменная Р (см. строку 180), зна­ чение которой является признаком необходимости вывода ин­ формации о содержимом карточки на экран дисплея (см. стро­ к у 190). При просмотре карточек картотеки их можно исправлять или даже совсем стирать. Операторы пятого программного блока (строки 220-290) при необходимости осуществляют перезапись картотеки на магнит­ ном диске. Перед этой процедурой картотека уплотняется (см. строки 230-250), а сама запись ведется до первой пустой карточ­ ки (см. логический оператор строки 270). Глава четырнадцатая. РАСЧЕТ ЭФФЕКТИВНОСТИ СТУПЕНЧАТОГО ИСПАРЕНИЯ В БАРАБАННОМ КОТЛЕ. ПРОГРАММА СТУПИСП 14.1 . Постановка задачи Одним из методов улучшения качества пара барабанного котла является ступенчатое испарение, при котором зона паро­ образования в барабане разделена на ряд отсеков - ступеней испарения. Таких ступеней на практике встречается две или три, причем функцию третьей ступени выполняет выносной циклон-сепаратор. Продувочная вода первой ступени (чистого отсека) является питательной водой второй (солевой отсек) и 135
-_ _ _^ 27=7 SZ-SS2(l) m (i)_ ci(i,r) BZ(l)^CZ(l, 1) л3(l) ni(z) D3(j-1) С3(1,1) 1 Cl(l,z)j Z И J-l 1)1(J) U3(J) ~C1(I,J) C3(I,J) Dl(j+l) Cl(l,J +l) J+1 J_b z(n)^3(i,n) N-1 l.г b3(n)' I 03(1, n) t Рис. 14.1. Схема материальных балансов воды, пара и примесей при ступенчатом испарении в котле т. д . На рис. 14.1 изображена схема ступенчатого испарения с N отсеками в барабане котла. Эффективность ступенчатого испарения, т. е. степень улуч­ шения качества пара по сравнению с котлоагрегатом, работаю­ щим в аналогичных условиях, но без ступенчатого испарения, зависит от многих факторов. Из них основными можно назвать следующие: давление в барабане котла, величина продувки, состав питательной воды, влажность пара по ступеням испаре­ ния, паропроизводительность отсеков испарения, число ступе­ ней испарения. В данной главе представлено описание программы СТУПИСП, позволяющей вести расчет эффективности ступен­ чатого испарения в зависимости от перечисленных выше пара­ метров котла. 14.2 . Перечень условных обозначений и идентификаторов В табл. 14.1 представлено описание условных обозначений и имен переменных, используемых в расчете. В расчете широко используются индексные переменные, объединенные в одно­ мерные и двумерные числовые массивы. Индексами перемен­ ных служат номер примеси (/) и номер ступени испарения ( j ). На рис. 14.1 дано пояснение используемых в расчете массивов индексных переменных. 136
Таблица 14.1. Условные обозначения и идентификаторы в программе СТУПИСП Условное Идентифика- обозначе- Переменная тор ние Простые вещественные переменные — Сумматор расхода пара, % А Е Эффективность ступенчатого и спарения по всем Е примесям в целом, % i Номер примеси I j Номер ступени испарения J — Число ступеней испарения N — Величина продувки котла, % Р3 — Давление в барабане, бар Р,Р1,Р2 Sг Солесодержание в паре без ступенчатого испарения S1 5 То же при ступенчатом испарении S2 — Плотность воды и пара на линии насыщения, кг/м3 R1,R2,V1,V2 — Число примесей Z Одномерные массивы вещественных переменных DnBj Расход питательной воды в j -й ступени испарения Dl (J) D npj Продувка j -й ступени испарения D3(J) Dn■ Расход пара в j -й ступени испарения D2(/) Ej Эффективность ступенчатого и спарения по i-й Е( /) примеси, % .К,- Коэффициент распределения i-й примеси К (J) между паром и водой Nj Координационное число i-й примеси N {I) s' Концентрация г-й примеси в паре без ступенчатого 51(/) испарения 5,- То же при ступенчатом испарении S2(1) 137
Продолжение табл. 14.1 Условное обозначе­ ние Переменная Идентифика­ тор W; Влажность пара в j -й ступени испарения W (J) Г■■ п.В1, J Концентрация i -й примеси в питательной воде j -й ступени Cl (I,J) C ni,j Концентрация i -й примеси в паре j -й ступени С2(I,J) С пр I, j Концентрация i-й примеси в котловой воде j -й ступени C3 (I, J) Ki,j Интегральный коэффициент распределения j -й примеси между паром и водой, учитывающий и растворимость, и влажность в i -й ступени K1 (I, J) 14.3 . Математическое описание задачи Эффективность ступенчатого испарения по i -й примеси кот­ ловой воды рассчитывается по формуле S' —S' Е{=100%—!—i— . (14.1) Si Эффективность ступенчатого испарения по всем примесям котловой воды можно найти через выражение Sf- 5 Е = 100% ----------- . (14.2) 5' Концентрация i-й примеси в паре, выходящем из барабана котла, определяется качеством и расходом пара, генерируемо­ го в отсеках испарения: Sj = ZCnijDn}j. (14.3) Солесодержание пара, выходящего из барабана котла, скла­ дывается из концентраций присутствующих в нем примесей: 138
f S'= Z Sj (ступенчатое испарение); i'=i (14.4) z S = 1 Sj (без ступенчатого испарения). (14,5) ;=l Концентрация i-й примеси в паре j -й ступени испарения зависит от качества котловой воды отсека испарения и коэффициента уноса, учитывающего и растворимость примеси в паре, и капель­ ный унос: CnurKi^u • <14-6> Коэффициент уноса зависит от влажности пара j-й ступени и ко­ эффициента распределения i-йпримеси между паром и водой: W: + (100—W;) К: Кг J 10о • (14Л) Коэффициент распределения является функцией давления в барабане котла и свойств самой i-й примеси, которые характери­ зуют координационные числа N,-, определяющие наклон прямых на лучевой диаграмме: Kt=(VB/Vn ) N‘ . (14.8) Концентрация /-й примеси в котловой воде /-й ступени рассчи­ тывается через уравнение материального баланса в j -й ступени испарения: Al.Bj^П.В I,j DnjСп у+ DuрjСквjj. (14.9) Для первой ступени испарения ( j = 1 ) концентрация i-й при­ меси в питательной воде является заданной величиной, а рас­ ход питательной воды зависит от величины продувки из бараба­ на котла: Dn.B1 = 1 + РЗ/100. (14.10) Параметры питательной воды последующих ступеней испаре­ ния (;' > 1) легко задать, приняв во внимание, что продувка пре­ дыдущего отсека поступает в последующий отсек. Такая осо- 139
бенность ступенчатого испарения выражается равенствами ^пл j+1 ^пр У» (14.11) (14.12) 14.4 . Допущения, принятые в расчете Влажность пара ступеней испарения в реальных условиях зависит от солесодержания в отсеках, от нагрузки на зеркало испарения, от эффективности работы сепарирующих устройств, от давления в барабане и т. п . В расчете же по программе СТУПИСП влажность пара ступеней испарения является исход­ ной величиной, не зависящей от параметров котла. В расчете не учтено взаимное влияние примесей котловой воды на их перенос в пар, например такое явление, как ано­ мально высокая растворимость в паре хлоридов и сульфатов в присутствии аммиака. В качестве параметров котла, работающего без ступенчатого испарения, по отношению к которому ведется расчет эффектив­ ности ступенчатого испарения, взяты характеристики чистого отсека. В расчете не учитывается возможное отложение примеси во­ ды и пара на поверхностях котла, а также переход продуктов коррозии конструкционных материалов котла в воду и пар. Концентрации примесей в питательной воде котла условно приняты равными единицы. 14.5 . Структурная диаграмма алгоритма расчета эффективности ступенчатого испарения в барабанном котле (рис. 14 .2) 14.6 . Текст программы и контрольный пример Программа написана на языке Бейсик и занимает 65 строк (программы 14.1 и 14.2). Нумерация строк кратна десяти. Строка 10. Заголовок программы. Строка 20-70. Данные для определения удельного объема па­ ра и воды на линии насыщения в зависимости от давления. Зна­ чения параметров воды записаны тройками: давление, удель­ ный объем воды, удельный объем пара. 140
Ввод числа примесей питательной воды и числа ступеней испарения Ввод значения давления в барабанном котле Расчет удельного объема пара и воды на линии насыщения Ввод характеристик примесей питательной воды Расчет коэффициентов распределения примесей между кипящей водой и насыщенным паром Ввод значений влажности пара по ступеням испарения Расчет коэффициентов уноса примесей в ступенях испарения Ввод значения продувки из барабана котла Расчет качества пара, выходящего из барабана котла в отсутствии ступенчатого испарения Ввод значений расходов пара по ступеням испарения Сумма расходов пара равна 100%? Расчет качества пара, вы ходящего из барабана котла при ступенчатом испарении Расчет эффективности ступенчатого испарения Вывод результатов расчета Рис. 14.2. Структурная диаграмма алгоритма программы СТУПИСП Строка 80. Запрос числа примесей питательной воды и числа ступеней испарения. Так ка к размерность используемых в про­ грамме одно- и двумерных массивов задается по умолчанию равной 10, то этой цифрой и будет ограничено максимальное число рассматриваемых примесей и ступеней испарения. Строка 90-100. Запрос значения давления в барабане котла, которое может изменяться в диапазоне 22-221,15 бар. 141
10 REM РАСЧЕТ ЭФФЕКТИВНОСТИ СТУПЕНЧАТОГО ИСПАРЕНИЯ 20 REM ДАННЫЕ ПО ПАРАМЕТРАМ ПАРА И ВОДЫ ПРИ НАСЫЩЕНИИ 30 DATA 22,.0 01185/.09064,80 ,.0 013843,.02349 40 DATA 140,.0 016104,.01149,170,.0 01769,.0 0 8401 50 DATA 180,.001838,.007534,200,.002038,.005873 60 DATA 210,.002218,.005006,215,.002365,.004499 70 DATA 220, .0 02675. .003757,221.1 5*, .0031 47, .0031 47 80 INPUT "ЧИСЛО СТУПЕНЕЙ,КОЛИЧЕСТВО ПРИМЕ СEй " , N ,Z 90 INPUT "ДАВЛЕНИЕ(БАР)” jP:RESTORE 100 I f P<22 OR P>221.15 THEN 90 110 READ P1,81,R1:IF P<P1 THEN 130 120 P2=P1:B2=B1:R2=R1:GOTO 110 130 V1=B2+(P-P2)*(B1-B2)/ (P1-P2) 140 V2= R2-* -( P-P2) *(R1-R2) / (P1-P2) 150 PRINT "КООРДИНАЦИОННЫЕ ЧИСЛА ПРИМЕСЕЙ** 160 FOR 1=1 TO Z:REM ПЕРЕБОР ПРИМЕСЕЙ 170 PRINT I ; ’*- й ПРИМЕСИ",: INPUT N (I) 180 C1(1,1)=1:K(I)=(V1/V2)'N(I):REM ЗАДАНИЕ К0НЦ.1- ПРИМЕСИ В ПИТАТЕЛЬНОЙ ВОДЕ И РАСЧЕТ КОЭФФ. РАСПРЕДЕЛЕНИЯ ПО РАСТВОРИМОСТИ_____________ __________ 190 NEXT I 200 PRINT "ВЛАЖНОСТЬ ПАРА (%) ПО СТУПЕНЯМ” 210 FOR J - 1 ТО N: RЕМ ПЕРЕБОР СТУПЕНЕЙ ИСПАРЕНИЯ 220 PRINT **В **; J ; **- й СТУПЕНИ” ; :INPUT W(J) 230 FOR 1=1 ТО Z:REH ПЕРЕБОР ПРИМЕСЕЙ 240 К1(I,J)=(U(J)+(100-W(J})*K(I))/100:REM РАСЧЕТ ИНТЕГРАЛЬН.ОГ О КОЭФ . РАСПРЕ ДЕЛЕНИЯ I - й ПРИМЕСИ В ПАРЕ J - й СТУПЕНИ___________________________ 250 NEXT I. -NEXT J 260 INPUT "ПРОДУВКА(%)",РЗ: D1 (1)=1+РЗ/100 270 FOR 1=1 ТО Z : RЕМ ПЕРЕБОР ПРИМЕСЕЙ 280 S1(I) =((1+РЗ/100)/(1+РЗ/100/К1(1,1)))*С1(1,1) :RЕМ К0НЦ.1 -0Й ПРИМЕСИ В ПАРЕ БЕЗ СТУПЕНЧ. ИСПАРЕ НИЯ 290 S1=S1+S1(I):REM СОЛЕСОДЕРЖАНИЕ В ПАРЕ БЕЗ СТУПЕНЧАТОГО ИСПАРЕНИЯ________________________________________ 300 NEXT I Прогр. 14.1. Бейсик-программа СТУПИСП: начальный диалог Строки 110-140. Расчет удельных объемов пара и воды в бара­ бане котла линейной интерполяцией по узловым точкам, опи­ санным в 30-70-й строках программы. Строки 150-190. Запрос характеристик поступивших в котло- агрегат примесей, задание их концентраций в питательной воде и расчет коэффициентов распределения между паром и водой (цикл с параметром - номером примеси). Строки 200-250. Запрос значений влажности пара по ступеням испарения (цикл с параметром - номером ступени), расчет коэф­ фициентов уноса примесей (двойной цикл с параметрами - номером ступени и номером примеси). Строка 260. Запрос значения продувки из барабана котла и расчет расхода питательной воды первой ступени испарения. 142
310 S2=0 : ИАТ S2-ZER:REN ИНИЦИАЛИЗАЦИЯ 320 A«0:REN ОБНУЛЕНИЕ СУММАТОРА РАСХОДА ПАРА 330 PRINT "РАСХОД ПАРА(X) ПО СТУПЕНЯМ- ЗАО FOR J=1 ТО N: REM ПЕРЕБОР CfyrtEHEft ИСПАРЕНИЯ ^50 PRINT J;" - R СТУПЕНЬ";: INPUT 02(J) 360 D2U>=D2(J)/100:A=A +D2(J> 370 NEXT J 380 IF A8S(1-A)>.01 THEN PRINT "0*ИБКА! " : GOTO 320 390 FOR J=1 TO N:REM ПЕРЕБОР СТУПЕНЕЙ ИСПАРЕЙИЯ 1 D3(J)=D1(J)-D2(J> :R E M ПРОДУВКА СТУПЕНИ 410 FbR 1=1 tO Z:*EM ПЕРЕБОР ПРИМЕСЕЙ 420 C3(I,J)=C1(I,J)*D1(J)/(K1(I,J)*D2CJ)+03(J)) :REM К0НЦ.1 - й ПРИНЕСИ В КОТЛОВОЙ ВОДЕ J- й СТУПЕНИ 430 C2(I,J)=K1(I,J)*C3(I,J>:REM K0HU.I - й ПРИМЕСИ В ПАРЕ J- й СТУПЕНИ 440 S2=S2+C2(I,J)*D2(J):REM С0ЛЕС0ДЕРМАНИЕ В ПАРЕ 450 S2(I)=S2(I)+C2(I,J>*D2(J>:REM KOHU.I - й ПРИМЕСИ В ПАРЕ 460 С1<I,J+1)*C3(I,J>:R EM ПРОДУВОЧНАЯ ВОДА J- й СТУПЕНИ => ПИТАТЕЛЬНАЯ ВОДА J +1 - й СТУПЕНИ 470 NEXT I 480 01 (J+1)=03(J):REM ПРОДУВОЧНАЯ ВОДА J- й СТУПЕНИ => ПИТАТЕЛЬНАЯ ВОДА J+1 - й СТУПЕНИ 490 NEXT J 500 FOR 1=1 ТО Z:REM ПЕРЕБОР ПРИМЕСЕЙ 510 Е(I) =»100*(1“S2(I) /SI ( I)) :REM ЭФФЕКТИВНОСТЬ СТУП. ИСПАРЕНИЯ ПО I - й ПРИМЕСИ 520 NEXT I 530 PRINT ''ЧИСЛО СТУПЕНЕЙ** ; N ; “КОЛИЧЕСТВО ПРИМЕСЕй";г 540 PRINTUSING "ДАВЛЕНИЕ БАР ",Р 550 PRINTUSING "ПРОДУВКА « . # Xй ,РЗ 560 PRINT : PRINT "ПАРАМЕТРЫ СТУПЕНЕЙ ИСПАРЕНИЯ" 570 FOR J=1 ТО N.-REM ПЕРЕБОР СТУПЕНЕЙ ИСПАРЕНИЯ 580 PRINT J ; " - СТУПЕНЬ. ";:PRINTUSING "0 =ttMU.UH% U=#.##X ",100*D2(J),W(J) 590 NEXT J 600 PRINT : PRI NT "ЭФФЕКТИВНОСТЬ СТУПЕНЧАТОГО ИСПАРЕНИЯ" 61 б FOR 1=1 TO Z: REM ПЕРЕБОР ПРИМЕСЕЙ б2£> PRINT I ; : PRINTUSING "-АЯ ПРИМЕСЬ N E-ttUU.nn X" ,N(I),E(I> 630 ЛЕХТ I 640 E=100*(1-S2/S1) 650 PRINTUSING " В ЦЕЛОМ E-ffUtt.ttM X",E Прогр. 14.2. Бейсик-программа СТУПИСП: расчет эффективности ступенчатого испарения в котле и вывод на дисплей ответа Строки 270-300 . Расчет концентраций примесей и солесодер- жания в паре, выходящем из барабана котла, при отсутствии ступенчатого испарения. Строка 310. Присвоение переменной S2 и элементам массива S2 нулевых значений. Такая процедура предусмотрена на тот случай, если возникнет необходимость повторить расчет эффек­ тивности ступенчатого испарения, изменив только парораспре­ деление по отсекам. Для этого достаточно запустить программу со строки 310, подав команду RUN310. 143
RUN ЧИСЛО СТУПЕНЕЙ,КОЛИЧЕСТВО ПРИМЕСЕЙ? 3 , 4 ДАВЛЕНИЕ (ВАР)? 130 КООРДИНАЦИОННЫЕ ЧИСЛА ПРИМЕСЕЙ 1 - й ПРИМЕСИ? .64 2 -й ПРИМЕСИ? 1.9 3 - й ПРИМЕСИ? 4.4 4 - й ПРИМЕСИ? 8.8 ВЛАЖНОСТЬ ПАРА Ш ПО СТУПЕНЯМ В 1 -й СТУПЕНИ? .01 В 2 -й СТУПЕНИ? .02 В 3 -й СТУПЕНИ? .05 ПРОДУВКА(X)? 1 РАСХОД ПАРА(X) ПО СТУПЕНЯМ 1 -Я СТУПЕНЬ? 80 2 -Я СТУПЕНЬ? 15 3 -Я СТУПЕНЬ? 5 ЧИСЛО СТУПЕНЕЙ 3 КОЛИЧЕСТВО ПРИМЕСЕЙ 4 ДАВЛЕНИЕ 130.00 БАР ПРОДУВКА 1.0 X ПАРАМЕТРЫ СТУПЕНЕЙ ИСПАРЕНИЯ 1 -СТУПЕНЬ.D= 80.00Х W=0.01X 2 -СТУПЕНЬ.0= 15.00Х U=0.02X 3 -СТУПЕНЬ.D= 5.00Х W=0.05X ЭФФЕКТИВНОСТЬ СТУПЕНЧАТОГО ИСПАРЕНИЯ 1-ЯПРИМЕСЬN=0.64Е=10.36X 2-Я ПРИМЕСЬ N= 1.90 Е= 72.82 X 3-Я ПРИМЕСЬ N= 4.40 Е= 75.71 X 4-Я ПРИМЕСЬ N=8.80 Е= 65.94 X В ЦЕЛОМ Е= 35.68 X Рис. 14.3. Протокол прогонки программы СТУП ИСП Строки 320-380 . Итерационный блок запроса значений расхо­ да пара, %, по ступеням испарения. Оператор условного перехо­ да (см. строку 380) повторит запрос, если сумма расходов пара по отсекам отличается от 100± 1%. Строки 390-490. Расчет параметров воды и пара по ступеням испарения. При расчете первой ступени (7 = 1) параметры пита­ тельной воды известны (см. строки программы 180 и 260). В последующих ступенях испарения питательной водой будет продувочная вода предыдущей ступени (см. строки 460 и 480). Строки 500-520. Расчет эффективности ступенчатого испаре­ ния по каждой примеси котловой воды. Строки 530-650. Вывод результатов расчета, включая эффек­ тивность ступенчатого испарения по всем примесям (см. строки 640 и 650), на печать (рис. 14.3). 144
1. Существуют аналитические и табличные зависимости, свя­ зывающие солесодержание котловой воды в барабане с влаж­ ностью пара, выходящего из него. Поэтому программу СТУПИСП можно дополнить блоком, в котором качество пара над ступенью испарения определялось бы методом последова­ тельного приближения - задается начальное солесодержание котловой воды, по нему определяется влажность пара, коэффи­ циент уноса [см. выражение (14.7)] и новое, уточненное зна­ чение солесодержания котловой воды ступени. Если новое и предыдущее значения солесодержания котловой воды сильно отличаются, то расчет повторяется. 2. Программу можно дополнить участком со списком данных по координационным числам конкретных соединений, присут­ ствующих в котловой воде и переходящих в пар. Запрос коорди­ национного числа примесей воды (см. строку 170) в этом случае можно заменить на запрос химической формулы соединения с засылкой ее в литерную переменную, по содержанию которой ЭВМ сама определит значение координационного числа. 3. В программе СТУПИСП концентрации примесей в пита­ тельной воде принимаются равными условной единице (см. строку 180). Расчет можно дополнить участками, учитывающи­ ми реальные концентрации примесей в питательной воде. Это позволит рассчитывать нормы качества питательной воды, ис­ ходя из требований к качеству пара, которые даны в табл. 14.2. 14.7 . Пути совершенствования алгоритма и программы Таблица! 4.2. Предельные нормы качества пара для барабанных котлов Нормируемый Давление, МПа показатель - до4 4—10 выше 10 Примечание Соединения натрия 60 15 10 ГРЭС и отопительные (в пересчете на N а), ТЭЦ мкг/кг 100 25 15 ТЭ Ц с производствен­ ным отбором пара Кремниевая кислота — 15* 15 Для ГРЭС (в пересчете на SiO^, 25* 25 Для ТЭЦ всех типов мкг/кг * Начиная с давления 7 МПа. 145 10-6071
Глава пятнадцатая. ОПРЕДЕЛЕНИЕ ОПТИМАЛЬНОГО ПАРОРАСПРЕДЕЛЕ­ НИЯ ПРИ СТУПЕНЧАТОМ ИСПАРЕНИИ В БАРАБАННОМ КОТЛЕ. ПРОГРАММА ЭФФСТИСП 15.1 . Постановка задачи В гл. 14 описана Программа, работая по которой, можно рассчи­ тывать эффективность ступенчатого испарения в барабанном котле при заданном пользователем парораспределении по сту­ пеням. В данной главе будет описана модифицированная прог­ рамма ЭФФСТИСП, которая ищет оптимальное парораспреде­ ление, при котором концентрация отдельной примеси в паре или его общее солесодержание будет минимальным. 15.2 . Список идентификаторов Программа ЭФФСПИСП является развитием программы СТУПИСП (см. гл. 14), поэтому у них много общих переменных. В табл. 15.1 даны переменные, относящиеся лишь к программе ЭФФСТИСП. Таблица 15.1. Список дополнительных идентификаторов программы ЭФФСТИСП Переменная Имя Простые числовые переменные Номер примеси, по которой ведется оптимизация (/0 = 0 —по всем) 10 Номер ступени, изменение парораспределения в которой дает J0 наибольший эффект Номер ступени, перебираемый в процессе оптимизации J1 Максимальная эффективность ступенчатого парораспределения М Шаг изменения парораспределения в ступени при оптимизации Т Начальное и конечное значения шага парораспределения D в ступени 146
15.3 . Математическое описание задачи Поставленная задача относится к обширному классу оптими­ зационных задач [3]. Выбор алгоритма решения определяется ее спецификой: 1) поиск оптимума парораспределения - задача многомерной оптимизации с числом независимых переменных, на единицу меньшим, чем число ступеней испарения; 2) переменные, значения которых нужно оптимизировать - элементы одномерного числового массива, которые не явля­ ются абсолютно независимыми. Сумма парораспределения по ступеням испарения всегда равна 1 (100%); 3) функция эффективности ступенчатого испарения не зада­ на в явном виде, а рассчитывается по сложному алгоритму. Не­ известны ее частные производные; 4) можно вести расчет эффективности ступенчатого испаре­ ния по каждой примеси в отдельности; 5) функция эффективности ступенчатого испарения имеет только один максимум в области существования аргументов. Поиск оптимального парораспределения ведется методом по­ следовательного приближения к максимуму эффективности от исходной точки, при этом рассчитываются значения солесо­ держания пара в соседних точках. Та из них, в которой значение солесодержания минимально, служит для нового приближения. Если в опорной точке солесодержание меньше, чем в окружаю­ щих, то шаг уменьшается вдвое, а поиск повторяется до тех пор, пока шаг не станет меньше 0,001%. В расчете используется метод штрафных санкций. Когда зна­ чения переменных выходят за границы допустимого предела, т. е. сумма значений парораспределения по ступеням превысит 1 (100%), то солесодержание принимается равным очень большо­ му значению и данная точка отбраковывается. 15.4 . Допущения, принятые в расчете Допущения описаны в § 14.4. 15.5 . Структура алгоритма расчета Программа ЭФФСТИСП состоит из двух частей. Первая (стро­ ки 10-300) - общая и для программы СТУПИСП (см. гл. 14), и для программы ЭФФСТИСП. В этой части программы ведется 147
начальный диалог пользователя с ЭВМ, который сообщает ей исходные данные для расчета. Там же ведется расчет солесо­ держания пара в отсутствие ступенчатого испарения в барабане котла. Эта величина используется при расчете эффективности ступенчатого испарения. 15.6 . Текст программы Программа ЭФФСТИСП (программа 15.1) состоит из трех бло­ ков и подпрограммы расчета солесодержания пара. 310 FOR J=1 ТО N:02(J)а1/N :NEXT J:REN НАЧАЛЬНОЕ ПАРОРАСПРЕДЕЛЕНИЕ 320 0s . 1 : REH НАЧАЛЬНЫЙ ЙАГ ПРИБЛИЖЕНИЯ 330 INPUT "НОМЕР ПРИМЕСИ,ПО КОТОРОЙ ВЕДЕТСЯ ОПТИМИЗАЦИЯ,0-П0 ВСЕМ",10 340 60SUB 540;M*S2 350 IF D<.0б001 THEN 4 7 0 : REM ТОЧНОСТЬ ДОСТИГНУТА 360 T*0:REM ПРИЗНАК ОКОНЧАНИЯ ПРИБЛИЖЕНИЯ ОЧЕРЕДНОМУ ВАГУ no 370 FOR J1=1 ТО N -1 : REM ПЕРЕБОР СТУПЕНЕЙ 380 02(J1)=02(J1)-D:60SUB 540 390 IF S2<M THEN M=*S2: J0=J1 : T=-0 400 02(J1)=02(J1)+2*D :GOSUB 540 410 IF S2<M THEN M=S2:J0=J1: T=D 420 D2(J1)=D2U1)-D 430 NEXT J1 440 D2(JO)“02(JO)+T 450 IF TOO GOTO 360 460 0=0/2:GOTO 350:REM УМЕНЬШЕНИЕ НАГА 470 PRINT “ОПТИМАЛЬНОЕ ПАРОРАСПРЕДЕЛЕНИЕ*' • Г * 0 0 о FORJ»1t6N 490 PRINTUSING "#-Я СТУПЕНЬ ###.### Xм, J; 100*02(J) 500 NEXT J 510 IF I0>0 THEN SI=S1(10) 520 PRINTUSING "ЭФФЕКТИВНОСТЬ*###.### Xй, 10 0 * ( 1 - S 2 /S 1 ) 530 STOP : REM ПРОГРАММА КОНЧИЛАСЬ, ДАЛЕЕ ПОДПРОГРАММА 540 Ая0 :FOR J=1 ТО N-1:А=А+92(J) : NEXT J 550 IF A>i THEN IS2=1Eld:G0T0 690 560 D2(N)=1- A : REM ПАР0ПР0ИЗВ.П0СЛ.СТУПЕНИ 570 S2=0:MAT S2= ZER 580FORJ=1TON 590 03(J)= 01 (J)-D2(J) 600FOR1=1TOZ 610 C3(I,J)=C1(I,J)*D1(J)/(K1(I,J)*02(J)+03(J)) 620 C2(I,J)=K1 (I,J)*C3(I,J) 630 S2=S2+C2(I,J)*02(J):S2(I)=S2(I)+C2(I, J)*02(J) 640 C1(I.J +1)*C3(I.J) 650 NEXT I 660 01 (J+1)=03(J) $79 NEXT J 680 IF I0>0 THEN S2=S2(10) 690 RETURN Прогр. 15.1. Бейсик-программа ЭФФСТИПС: окончание программы; начальный диалог —см. прогр. 14.1 148
RUN ЧИСЛО СТУПЕНЕЙ,КОЛИЧЕСТВО ПРИМЕСЕЙ? 3 , 4 ДАВЛЕНИЕ (БАР)? 130 КООРДИНАЦИОННЫЕ ЧИСЛА ПРИМЕСЕЙ 1 - й ПРИМЕСИ? .64 2 - й ПРИМЕСИ? 1.9 3 - й ПРИМЕСИ? 4.4 4 - й ПРИМЕСИ? 8.8 ВЛАЖНОСТЬ ПАРА ( X ) ПО СТУПЕНЯМ В 1 -й СТУПЕНИ? .01 В 2 -й СТУПЕНИ? .02 В 3 -й СТУПЕНИ? .05 ПРОДУВКА (X) ? 1 НОМЕР ПРИМЕСИ,ПО КОТОРОЙ ВЕДЕТСЯ ОПТИМИЗАЦИЯ,0 -ПО ВСЕМ? О ОПТИМАЛЬНОЕ ПАРОРАСПРЕДЕЛЕНИЕ 1-Я СТУПЕНЬ 79.837 % 2-Я СТУПЕНЬ 16.652 X 3 - Я СТУПЕНЬ 3.509 X ЭФФЕКТИВНОСТЬ= 36 .172 X Рис. 15.1. Протокол программы ЭФФСТИСП Операторы первого блока (строки 310-330) задают начальное парораспределение по ступеням испарения (см. строку 310) и на­ чальный шаг поиска (см. строку 320). Пользователь может за­ дать номер примеси, по которой необходимо вести оптимизацию (см. строку 330). Второй программный блок (строки 340-460) осуществляет по­ иск парораспределения по ступеням, при котором концентра­ ция примесей в паре минимальна. Здесь ведется вызов подпро­ граммы на строках 540-690 расчета солесодержания в паре. В этом блоке реализованы: цикл ’’пока” , согласно которому расчет заканчивается по до­ стижении заданной точности (см. строки 350-460); цикл ” до” (см. строки 360-450), прерывающийся, если вблизи опорной точки нет точки с более низким значением солесодер­ жания; цикл с параметром (см. строки 370-430), в котором ведется пе­ ребор всех ступеней испарения, для определения ступени, изменение паропроизводительности в которой дает максималь­ ное снижение солесодержания пара (рис. 15.1). Третьим программным блоком (строки 470-530) выдается ре­ зультат расчета. На строках программы 540-690 записана подпрограмма расче­ та солесодержания пара, выходящего из барабана со ступенча­ тым испарением. В подпрограмме сначала определяется паро- производительность последней ступени, которая является зави­ 149
симой, замыкающей баланс по пару, величиной. Если она ока­ жется отрицательной, то это свидетельствует о том, что при поиске оптимального парораспределения были нарушены гра- ницы допустимых значений. В этом случае значение солесодер­ жания пара принимает значение 1010 (штрафная санкция), и расчет в подпрограмме прерывается (см. строку 550). Если же значения аргументов лежат в допустимых пределах, то ведется расчет солесодержания в паре по методике, описанной в гл. 14. Глава шестнадцатая. ОПРЕДЕЛЕНИЕ НА ПК ПАРАМЕТРОВ ВОДЫ И ВОДЯНОГО ПАРА. ПРОГРАММА ВОДАПАР В теплотехнических и водно-химических расчетах часто бывает необходимо определить термодинамические парамет- ры воды и водяного пара в зависимости от давления и темпе­ ратуры среды. Описываемая здесь методика основана на использовании таблицы термодинамических свойств воды и водяного пара [29] и полностью повторяет ’’ручную” работу с ней. Такую таблицу можно рассматривать ка к матрицу, где столбцами будут таблич­ ные значения давления, строками - температуры, элементами - номер параметра воды или пара (энтальпия, энтропия, удель­ ный объем, растворимость примесей и т. д .) . Такой трехмерный массив разделен на две зоны: недогретой воды и перегретого па­ ра (рис. 16.1). Определение параметров воды и пара ведется линейной интерполяцией по узловым точкам, при этом возможны 14 слу­ чаев, определяющих выбор этих точек, - 7 в зоне недогретой воды и столько же в зоне перегретого пара. На рис. 16.1 показа­ ны положения узловых точек в случаях, когда исходное давле­ ние и температура соответствуют недогретой воде: случай 1- табличные значения, ’’ окружающие” исходную точ­ ку, лежат в одной фазе; случаи 2 и 3 - одно табличное значение оказалось в другой фазе; случаи 4 и 5 - два табличных значения в другой фазе; случаи 6 и 7 - три табличных значения в другой фазе. Аналогичную картину можно нарисовать и для перегретого пара (случаи 8-14). 150
Р1Р РНВ р Случай 1 (Р2) * - исходные параметры • - узловые точки о - узлы интерполяции Рис. 16.1. К расчету термодинамических параметров воды В случаях, отличных от 1 и 8, необходимо дополнительно ис­ пользовать параметры насыщения. Для этого в ЭВМ должны храниться еще два двумерных массива (параметры насыщения водяного пара и воды при табличных значениях давления) и один одномерный массив (температуры насыщения при таблич­ ных значениях давления). В случаях 3, 4, 6 и 7 (10, 11, 13 и 14) две интерполяционные точки совпадают. Алгоритм определения параметров воды и пара включает в себя два этапа: 1) определение, к какому случаю относится расчет, при этом можноотметить,чтослучаи1и8,3и4(10и11),6и7(13и17) идентичны; 2) расчет по интерполяционным формулам. Список идентификаторов программы ВОДАПАР приведен в табл. 16.1. Программа ВОДАПАР использует один двумерный массив А, три одномерных массива %И и 12 и шесть простых перемен­ ных, характеризующих параметры таблицы термодинамических свойств воды и водяного пара. Эти массивы должны быть пред­ варительно заполнены и записаны на магнитный диск файлом с именем ’’ВОДАПАР” . 151
Таблица 16.1. Список идентификаторов программы ВОДАПАР Переменная Имя Простые переменные Температуры воды или пара Т, 71-Гб Давления воды или пара Р, Р1-Р6 Шаг таблицы по давлению D Шаг таблицы по температуре D1 Номер строки таблицы L Номер столбца таблицы К Значения параметров воды или пара А.Л1-А4 Индексные переменные Значение параметра воды или пара А() Температура насыщения ТО Значение параметра воды на л инии насыщения по Значение параметра пара на линии насыщения 12О После запуска программы ВОДАПАР (программа 16.1) масси­ вы (см. строку 20) считываются с магнитного диска. Далее опре­ деляются функции пользователя: строка 30 - зависимость температуры насыщения от давле­ ния; строка 40 - зависимость давления насыщения от темпера­ туры; строка 50 - зависимость параметра воды на линии насы­ щения; строка 60 - зависимость параметра пара на линии насыщения. Электронно-вычислительная машина по введенным значени­ ям давления (см. строку 70) и температуры (см. строку 60) рас­ считывает и выдает на дисплей (см. строку 290) параметр воды или пара. 152
10 DIM А(51,13),Т(13),11 (13),12 (13) 20 DATA LOAD DC OPEN (?мВ0ДА-ПАР ": DATA LOAD DC A(),T(),11(),I2(),P5,P6,D,T5,T6,D1 30 DEFFN T(P)=T(K)+(T(K+1)-T(K))*(P-P1)/D 40 DEFFN P(T)=P1+D*(T-T(K))/(T(K+1)-T(K)> 50 DEFFN U(P)=11 (K)+(11 (K+1)-11 (K))*(P-P1)/0 60 DEFFN S(P)=I2(K)+(I2(K+1)-I2(K))*(P-P1)/D 70 INPUT "P(MPA)",P:IF P<P5 OR P>=P6 THEN 70 80 INPUT "T(0C)",T:IF TCT5 OR T>=T6 THEN 70 90 P1,P3=D*INT(P/D):T1=D1*INT(T/D1):K=1+(P1-P5)/D: L=1+ CT1-T5)/D1:P2,P4=P1 +D:T2=T1 +D1 100 A1=A(L,K):A2=A(L,K+1):A3=A(L+1,K):A4=A(L+1,K+1) 110 IF T2<T(K) OR T1>T(K +1) THEN 270 120 IF T>FNT(P) THEN 170:REM ПАР 130 IF T2<FNT( P) AND T1<T(K) THEN 210 140 IF T1<T(K) THEN 220 150 IF T2<FNT (P) THEN 230 160 P1=FNP(T1):A1=FNW(P1):A3=FNW(P):P4=P3:T2-FNT(P): GOTO 270:REM СЛУЧАЙ 6 ИЛИ 7 170 IF T1>FNT(P) AND T2>T(K+1) THEN 240 180 IF T2>T (K+1) THEN 250 190 IF T1> FNT( P) THEN 260 200 A1=FNS(P):P2=P1:P4=FNP(T2):A4=FNS(P4):T1=FNT(P): 60T0 270:REM СЛУЧАЙ 13 ИЛИ 14 210 P3=FNP(T2):A3=FNW(P3):60T0 270:REM СЛУЧАЙ 2 220 A3=FNW(P):P4=P3:T2=FNT(P): GOTO 270:REM СЛУЧАЙ 3 ИЛИ 4 230 P1=FNP(T1):A1=FNW(P1):P3=FNP(T2):A3=FNW(P3): GOTO 270:REM СЛУЧАЙ 5 240 P2=FNP(T1) :A2=FNS(P2):G0T0 270:REM СЛУЧАЙ 9 250 A1=FNS(P):P2=P1:T1=FNT(P): GOTO 270:REM СЛУЧАЙ 10 ИЛИ 11 260 P2=FNP(T1):A2=FNS(P2):P4=FNP(T2):A4=FNS(P4): REM СЛУЧАЙ 12 270 IF P20P1 THEN A1=A1+(P-P1)*(A2-A1)/(P2-P1) 280 IF P40P3 THEN A3=A3+(P-P3)*<A4-A3)/(P4-P3) 290 A=A1+(T-T1)*(A3~A1)/ (T2-T1) :PRINT A:G0T0 70 Прогр. 16.1. Бейсик-программа ВОДАПАР Глава семнадцатая. СБОР, ХРАНЕНИЕ,ОБРАБОТКА И ВЫДАЧА ДАННЫХ ПО ВОДНОМУ РЕЖИМУ ЭНЕРГОБЛОКА. ПРОГРАММА БАНКВР 17.1 . Постановка задачи В процессе эксплуатации паротурбинного энергоблока необ­ ходимо вести контроль за параметрами водного режима. С опре­ деленной периодичностью автоматически или через действия лаборантов определяются концентрации примесей воды и пара в различных точках паротурбинного контура. Необходимо составить для П К программу, работая по кото­ рой, машина вела бы опрос персонала химической лаборато­ 153
рии станции, помещала бы полученные данные о параметрах водного режима на магнитный диск и по запросу пользователя вела бы их статистическую обработку в заданном интервале времени эксплуатации блока (декада, месяц, квартал, год и т. д .) с указанием осредненных величин, забросов в ту или иную сторону с фиксацией дат, когда это случилось. 17.2 . Перечень идентификаторов Перечень идентификаторов представлен в табл. 17.1. Таблица 17.1. Список идентификаторов программы БАНКВР Переменная Имя Простые числовые переменные Номера дней на хронологической оси 20-го века D, D0—D5 Число записей на магнитном диске F Счетные индексы I,J»N Номер месяца М Номер года G Простые литерные переменные Номер программной ошибки А Номер строки, где произошла программная ошибка В Календарные даты D, D0—D5 Индексные числовые переменные Номинальное значение I-то параметра водного режима N() Реальное значение 7-го параметра водного режима S() Сумматор значений 1-го параметра в рассматриваемый 50() период времени Минимальное значение 1-го параметра в рассматриваемый S1() период времени Максимальное значение 1-го параметра в рассматриваемый 52() период времени 154
Продолжение табл. 17.1 Переменная Имя Индексные литерные переменные Дата, когда 1-й параметр принял минимальное значение Dl() Дата, когда 1-й параметр принял максимальное значение D2( ) Название и размерность 1-го параметра водного режима 5() 17.3 . Математическое описание задачи Решение задачи сводится к формированию на магнитное диске П К файлов, хранящих информацию о параметрах водно­ го режима паротурбинного контура. Имя файла при этом пол ностью совпадает с краткой записью календарной даты, когда были сделаны замеры параметров водного режима. Так, файл с именем ” 10.07.86” хранит параметры, замеренные 10 июля 1986 г. В процессе информационного поиска ПК в пределах указан­ ных календарных дат в хронологическом порядке считывает информацию с магнитного диска и обрабатывает ее по неслож ному алгоритму: определение среднего арифметического, наи­ большего и наименьшего значений. Календарные даты в ОЗУ ПК хранятся в двух формах: в литерной и числовой, которая характеризует номер дня на хро­ нологической оси 20-го века. Запись параметров водного режима по новым измерениям сводится к формированию в ОЗУ ПК массива данных с после­ дующим переносом его на магнитный диск. 17.4 . Допущения, принятые в расчете В расчете принято, что в один день можно сделать лишь одну запись на магнитный диск. 17.5 . Структура программы Ядро участка программы обработки файлов на магнитном диске, хранящем информацию по водному режиму блока, - цикл с параметром номер дня. Так как не по всем дням подряд 155
ведется запись на диск, то по некоторым дням файлы могут от­ сутствовать на диске. Попытка считывания такого файла при­ водит к программной ошибке, поэтому в программе БАНКВР используется оператор Бейсика - ’’ оценка ситуации” , переводя­ щий управление программой на указанную строку при возник­ новении сбоя. В программе часто возникает необходимость определения номера дня по дате и календарной даты по номеру дня (обрат­ ная операция). Две программы, осуществляющие такой пере­ вод, оформлены в виде подпрограмм. 17.6 . Текст программы Программа БАНКВР состоит из четырех блоков и включает в себя две подпрограммы обработки календарных дат (програм­ мы 17.1 -17 .3) и подпрограмму задержки. 10 REM ПРОГРАММА ОБРАБОТКИ ПАРАМЕТРОВ ВОДНОГО РЕЖИМА 20 DIM 0H8,D0«8/Dln8,D2n8,03a8/DAe8/N(8),5(7),S0(7), S1(7) ,S2(7) ,D1h(7) 8,D2*»(7) 8,Sn(7) 21 , С(7,5 00) 30 DATA "ЖЕЛЕЗО,МКГ/КГ",50 , "ЖЕСТКОСТЬ,МКГ -ЭКВ/КГ",1 , " КА Л П А ,МКСМ/СМ",1, "ХЛОРИДЫ,МКГ/КГ",70, "КР Е МН Е КИСЛ0ТА,МКГ/КГ",700,"МЕДЬ,МКГ/КГ",5 , "ЗНАЧЕНИЕ РН",6 .5 ,8: FOR 1=1 ТО 7-.REA0 Sh(I),N(I): NEXT I ; READ N ( 8)__________________________________________________________ 40 PRINT HEX (03) ; "РАБОТА С ДАННЫМИ ПО ВОДНОМУ РЕЖИМУ" 50 PR INT"BKflK)4HTE ДИСКОВОД И ВСТАВЬТЕДИСК С ЗАПИСЯМИ."; :G0SUB 480:ОN ERROR Ап,вн 60Т0 50 6 0 DATA LOAD DC OPEN R" ГРАНИЦЫ" : DATA LOAD DC D1и , D1, D2«,D2,F 70 PRINT "ЕСТЬ"; Р;"ЗАПИСЕй С ";D1h;" ПО ";D2n;" Г ." 80 PRINT "КАКОЕ СЕГОДНЯ ЧИСЛО ";:G0SUB 3 70 :D0H=Dn :D0=D 90 IF D0>D2 THEN 100:PRINT"3T0 ПРОШЕД.ЧИСЛ0. " : GOTO 80 100 PRINT "ЕСТЬ";Р;"ЗАПИСЕй С ";Dln; " ПО ";D2e;" Г ." 110 SELECT PRINT 05 (80) : INPUТ" 1 -НОВАЯ ЗАПИСЬ, 2-ОБРАБОТКА ЗАПИСЕЙ, 3 -K0HEU " , 1 : ON I GOTO 120,160:STOP :REM МЕНЮ И ВЕТВЛЕНИЕ ПО УЧАСТКАМ П Р О Г Р А М М Ы ____________________________________________ 120 PRINT"flAH НЫЕ НА КАКОЕ ЧИСЛО (МЕЖДУ ";D2n;" И " ;D0П;") " ;:GOSUB 370:IF D<=D2 OR D>D0 THEN 120 130 FOR 1=1 TO 7:PRINT Sn(l);:iNPUT S(I):NEXT I 140 PRI NT"С НИМИТЕ ЗАЩИТУ С ДИСКА. ’’ ;:G0SUB 480: ON ERROR Ап,Вп GOTO 140:DATA SAVE DC OPEN R(2)DB; DATA SAVE DC S():DATA SAVE DC END:F=F+1 :D2и=Dn:D2=D 150 SCRATCH R"ГPAHИЦЫ":DATA SAVE DC OPEN R("ГРАНИЦЫ") "ГРАНИЦЫ":DATA SAVE DC D1n, D1,D2e, D2,F: DATA SAVE DC END : GOTO 100_________________________________________ Прогр. 17.1. Бейсик-программа БАНКВР: начальный диалог, меню и запись новых данных 156
В первом программном блоке (см. строки 10-30) объявляются размеры используемых числовых и литерных массивов (стро­ ка 20). Списком данных на строке 30 записаны названия, едини­ цы и номинальные значения параметров одного из потоков паротурбинного контура: 1) содержание железа, м к г/кг, 50; 2) жесткость, м кг -экв/кг, 1; 3) электрическая проводимость, мкСм/см, 1; 4) содержание хлоридов, м кг/кг, 70; 5) кремнесодер- жание, мкг/кг, 700; 6) содержание меди, мкг/кг, 5; 7) значе­ ние pH, 6,5-8. Массив N () в своих первых шести элементах хранит пре­ дельно допустимые значения первых шести параметров. Норма по значению pH имеет нижний и верхний пределы, значения ко­ торых хранятся соответственно в 7-м и 8-м элементах мас­ сива N (). Операторы второго блока программы (см. строки 40-90) осу­ ществляют начальный диалог пользователя с ЭВМ. Машина просит человека вставить нужный диск в дисковод (см. стро­ ку 50). Файл диска с именем ’’ГРАНИЦЫ” хранит общее число записей параметров водного режима и крайние даты. Эта ин­ формация считывается с диска (см. строку 60) и переносится на экран дисплея (см. строку 70). Далее ведется запрос календар­ ной даты работы с ЭВМ (см. строку 80). Строка 110 - ’’меню” работы с машиной. Первый вид работы реализуется операторами третьего блока программы БАНКВР (см. строки 120-150). Машина предоставля­ ет возможность сделать запись по параметрам водного режима, замеренным в период с момента последней записи на диске по день работы с ЭВМ (см. строку 120). Циклически (см. строку 130) запрашиваются значения семи параметров водного режима, которые затем записываются на магнитный диск (см. стро­ к у 140). Новая запись на диске меняет, естественно, границы за­ писей, что требует перезаписи файла ’’ГРАНИЦЫ” (см. стро­ к у 150). Четвертый программный блок (см. строки 160-350) осуществ­ ляет обработку данных, хранящихся на диске. Пользователь ЭВМ должен сообщать машине две крайние даты информаци­ онного поиска (см. строки 160 и 170). Далее управление програм­ мой осуществляется двумя циклами с параметром. В первом цикл е (см. строки 190-290) параметр - номер для периода обра­ ботки, по которому определяется дата - имя файла, хранящего нужную информацию по водному режиму рассматриваемого 157
160 PRINT"HA4A/lbHAR ДАТА (С ";01и;" Г. ПО D2**;” Г.) :GOSUB 370:D 3 B=DB:D3=D: IF D3<D1 OR D3> D2 THEN 160 170 PRINT"КОНЕЧНАЯ ДАТА (С ";D3e;" Г. ПО " ;D2и;" Г .) :60SUB 370: D4n=D«>:D4=D : IF D4<D3 OR D4>D2 THEN 170 180 MAT S0= ZER: MAT S1=ZER:F0R 1=1 TO 7: S2( I ) =1 E20: NEXT I; N ,J =0 ___________________________________ __ 19 0 FOR D=D3 TO DA:_________________________________________ J=J +1 : GOSUB 43 0: ON ERROR Ав,вп GOTO 280: DATA LOAD DC OPEN RDH;DATA LOAD DC S O : COSUB 480:N =N+1 200 PRINT "ДАННЫЕ НА f . " : P R IN T ________________________ 210 FOR 1=1 TO 7: S0(I)=S0(I)+S(I) :>RINT S"(I); : PRINTUSING H HUM.#*", S CI); :IF S1(I)>S(I> THEN 220: S1(I)*S(I):DlH(I)=De 220 IF S2(I)<S(I) THEN 230:S2(I)*S(I):D2«(I)-Dи 230 IF 1=7 THEN 240:IF S(IX=N(I) THEN 260: PRINT" ";HEX (12); "ПРЕВЫШЕНИЕ“ ;HEX (11); :GOTO 260 240 IF S(7) >=N(7) AND S(7X=N(8) THEN 260 250 PRINT и ";НЕХ(12);"0ТКЛ0НЕНИЕ";НЕХ(11); 260 PRINT 270 C ( I , J ) = S ( I ) :____________________________________________________ NEXT I : ___________________________________________________________ GOTO 290 280 GOSUB 480: PRINT"nO '';Dn;"r . ЗАПИСИ НЕТ. ": FOR I»1 TO 7:C (I,J)=0 :N £XT I______________________________ _ 290 NEXT D____________________________________________________________ 300 ON ERROR A>>,Bb GOTO 320 310 SELECT PRINT 0C(80):G0T0 330 320 SELECT PRINT 05(80) 330 GOSUB 480: PRINT :PRINT"ДАННЫE С ";D3n;M Г. ПО ";D4H; " Г . и:PRINT 340 PRINT ” ПАРАМЕТР НОРМА СРЕДНЕЕ МАКСИМУМ МИНИМУМ" 350 FOR 1=1 ТО 7:PRINT Sh(I);: PRINTUSING ”»»«No.## H,N(1);S0(X)/N;;S1(I);: PRINT ;P1o(I);") " • •PRINTUSING "####.## " ,S2(I>;: PRINT w( H; D 2 n ( I ) : ,,) ,,:NEXT I:GOSUB 480:G0T0 110 Прогр. 17.2. Бейсик-программа БАНКВР: обработка информации на диске дня. Содержимое данного файла считывается с диска и перено­ сится в ОЗУ ЭВМ (см. конец строки 190). Операторы второго, вложенного цикла (см. строки 210-270) осуществляют распечатку значений всех семи параметров вод- лого режима и их обработку: суммирование для определения средней величины, фиксацию минимального и максимального значений в рассматриваемом периоде. Если какой-то параметр выходит за рамки допустимых значе­ ний, то ЭВМ выдает соответствующее сообщение на экран дис­ плея (см. строки 230-250). 158
360 PRINT "ОШИБКА":REM НАЧАЛО ПОДПРОГРАММ 370 INPUT"ftfl.MM .rr ",0В: CONVERT STR(Dn,1 ,2) TO D:IF D>31 THEN 360: CONVERT STR(Dn,4 ,2) TO M:IF M>12 THEN 360: CONVERT STR(Dn,7 ,2) TO 6 380 ON M GOTO 410,390 ,410,400,410,400,410/410/400, 410,400,410 390 IF D>29 THEN 360:IF G/4=INT(G/4) THEN 400: IF D>28THEN360 400 IF D>3 0 THEN 360 410 M=M+1: IF M>3 THEN 420:M=M+12 :G=G-1 420 0=1NT (3 65 .25*G)+INT (30.6001 *M)+D:RETURN _ _ _ _ _ _ _ _ _ _ _ _ 4 3 1) REM ОПРЕДЕЛЕНИЕ ДАТЫ (On) ПО НОМЕРУ ДНЯ ( 0) 440 G=INT((0-122 .1 )/365 .25) : М=INT((D-INТ(365 .25* G)>/3 0.6 001): D5=D -INT(365.25*G)-INT(30.6001*М) 450 М=М -1: IF М<13 THEN 460:М=М -12 460 IF М>2 THEN 47 0:G=G+1 470 Dn=»00.00 .00й:CONVERT 05 ТО STR(DB,1 ,2),(##>: CONVERT M TO STR(0n,4 ,2),(##): CONVERT G TO STR(Qa,7 ,2) .( .# # )-.RETURN_________________ 480 PRINT:INPUT"rOTOBO(CR/LF;" ,BH:PRINT HEX (03 ?:RETUtiN Прогр. 17.3. Бейсик-программа БАНКВР: подпрограммы обработки календар­ ных дат Если по очередному рассматриваемому дню записей нет (останов энергетического блока), то выдается об этом сообще» ние (см. строку 280). После обработки всех записей рассматриваемого периода вре­ мени ведется распечатка на принтере (если он включен - см. строки 300-320) или дисплее осредненной информации с ука­ занием дат и значений предельных отклонений. На строках 360-470 записаны подпрограммы обработки кален­ дарных дат. При запросе календарной даты ведется контроль за правильностью ее набора на клавиатуре ЭВМ (см. строку 360). Короткая подпрограмма на 480-й строке осуществляет за­ держку выдачи новой информации на экран дисплея до полного просмотра пользователем старой. Следует отметить, что в ц и к­ ле на строках 190-290 задержка осуществляется до (см. конец строки 190), а не после операторов печати. Это существенно ус коряет поиск, так ка к в этом случае пользователь, просматрива ющий информацию, и ЭВМ, ищущая и обрабатывающая новую, работают параллельно, а не последовательно. 159
17.7 . Контрольный пример На рис. 17.1 показана распечатка содержимого магнитного диска с файлами, хранящими информацию по водному режиму. На рис. 17.2 представлен протокол обработки данных по водно­ му режиму с 10июня по 14 июля 1986г. REMOVABLE CATALOG INDEX SECTORS = 00005 END CAT.AREA = 01000 CURRENT 1END = 00134 NAME TYPE START END USED 13 .06 .36 D 00027 00028 00002 16.06 .86 D 00033 00034 00002 .20 .06 .86 D 00074 00075 00002 25.06 .86 D 00082 00083 00002 03.07.86 D 00098 00099 00002 09.07.86 D 00106 00107 00002 12.07.86 D 00112 00113 00002 SP 00116 00125 00003 15.06 .86 D 00031 00032 00002 26.06 .86 D 00084 00085 00002 28.06 .86 D 00088 00089 00002 05.07.86 D 00100 00101 00002 ФЭК ФТОР P 00126 00131 00006 14.07.86 D 00132 00133 00002 1 SP 00035 00051 00003 10.06 .86 D 00021 00022 00002 17.06 .86 D 0005 2 00053 00002 24.06 .86 D 00080 00081 00002 07.07.86 D 00102 00103 00002 11.07.86 D 00110 00111 00002 ГРАНИЦЫ D 00023 00024 00002 18.06 .86 D 00054 00055 00002 21.06 .86 D 00076 00077 00002 30.06 .86 D 00092 00093 00002 02.07.86 D 00096 00097 00002 08.07.86 D 00104 00105 00002 13.07.86 D 00114 00115 00002 ВОАН РЕ» P 00056 00073 00018 11.06 .86 D 00025 00026 00002 14.06 .86 D 00029 0003 0 00002 22.06 .86 D 00078 00079 00002 27.06 .86 D 00086 00087 00002 29.06 .86 D 00090 00091 00002 01.07.86 D 00094 00095 00002 10.07.86 D 00108 00109 00002 2 SP 00005 00020 00003 Рис. 17.1. Перечень файлов на магнитном диске при работе по программе БАНКВР 160
ДАННЫЕ С 10.06 .86 Г. ПО 14.07.86 Г. НОРМА СРЕД НЕЕ МАКС ИМУМ МИНИМУМ 50.00 48 .26 120 .00 (20 . 06..86) 7.,00 (14 .07.,86) 1. 00 1.55 5 .00 (1 1. 07,.86) 0..50 (25 .06 ..86) 1. 00 1.10 3 .00 (13 . 06..86) 0..10 (14 .07. , 86) 70. 00 66 .30 90 .00 (24. 06..86) 3.,00 (1 4 .07..86) 700. 00 63 6 .03 900 .00 (20 . 06.,86) 50 ..00 (1 4 .07.,86) 5. 00 26 .98 650 .00 (10. 07..86) 3..00 (28 .06 .,86) 6. 50 7.08 8.30 (30. 06..86) 5.,00 (10 .07,. 86) ПАРАМЕТР ЖЕЛЕЗО,МКГ/КГ ЖЕСТКОСТЬ,МКГ-ЭКЗ/КГ КАППА,МКСМ/СМ ХЛОРИДЫ,МКГ/КГ КРЕМНЕКИСЛОТА,МКГ/КГ MEДЬ,МК Г/К Г ЗНАЧЕНИЕ PH Рис. 17.2. Протокол прогонки программы БАНКВР 17.8 . Пути совершенствования алгоритма и программы Современные ЭВМ оборудованы встроенными часами с ка­ лендарем и устройствами связи с внешними приборами. Это поз­ воляет полностью автоматизировать процесс сбора информации, оставив для ввода через клавиатуру параметры, которые опре­ деляются вручную. Программу БАНКВР несложно переделать для сбора инфор­ мации о водном режиме несколько раз в сутки, при этом имя файла может иметь вид ” 14301506” , что означает, что он хранит информацию о параметрах водного режима, измеренных 15 ию­ няв14ч30мин. Глава восемнадцатая. КОНТРОЛЬ ВЕЛИЧИНЫ pH РЕАКТОРНОЙ ВОДЫ НА АЭС С ВВЭР. ПРОГРАММА РНВВЭРД 18.1 . Постановка задачи Надежность, безопасность и экономичность работы АЭС с водо-водяными энергетическими реакторами (ВВЭР) в значи­ тельной мере зависят от рациональной организации водно-хими­ ческого режима первого контура. Водный режим должен обеспе­ чивать минимальную скорость коррозии конструкционных ма­ териалов, практическое отсутствие отложений примесей водно­ го теплоносителя на теплопередающих поверхностях контура и минимальную радиоактивную загрязненность оборудования первого контура. Выполнение этих требований обеспечивает щелочной аммиачно-калиевый водно-химический режим с бор­ ным регулированием, используемый практически на всех оте­ чественных АЭС с ВВЭР. Он имеет следующие особенности. В реакторную воду вводится борная кислота Н3В04в целях регули- 161 11-6071
Рис. 18.1. Зависимость концентрации борной кислоты в реакторной воде от вре­ м ени работы реактора Рис. 18.2. Соотношение концентраций щелочи (в пересчете на К +-ион; и борной кислоты, выдерживаемое в реакторной воде АЭ С с ВВЭР (заштрихована область рабочих концентраций) рования реактивности ядерного реактора. Концентрация борной кислоты изменяется от максимальной (8 г/кг) (ВВВЭР-440) в начале кампании до 0 в конце ее (рис. 18.1).Для нейтрализации борной кислоты вводится гидроксид калия КОН. Его концент­ рация-также изменяется в процессе работы реактора от макси­ мальной (21 мг/кг) в начале кампании до 8 мг/кг в конце. В целях подавления радиолиза воды и нейтрализации борной кислоты в стояночных режимах вводится аммиак NH3, разлагаю­ щийся в поле реакторного излучения с образованием газообраз­ ного водорода. Концентрация аммиака в реакторной воде под­ держивается не менее 5 м г/кг. Соотношение между концентрациями гидроксида калия и борной кислоты должно быть строго определенным. Контроль за водным режимом ведется по значению pH реакторной воды, и основной принцип регулирования сводится к следующему: pH при номинальных параметрах реактора должно поддерживаться в пределах 7,2 ± 0,1. Эти требования выполняются в соответст­ вии с рис. 18.2. В каждый момент времени Т концентрация бор­ ной кислоты В является заданной величиной (см. рис. 18.1), а концентрация щелочи к должна поддерживаться в диапазоне граничных значений, соответствующих кривым pH = 7,1 и pH = = 7,3 (рис. 18.2). Требование pH = 7,2 ±0,1 сформулировано применительно к условиям работы реактора на номинальных параметрах (мощ- 162
ность, температура, давление и т. д .), так ка к этот режим работы является преобладающим. Однако контроль за pH возможен только при охлаждении пробы реакторной воды до комнатной температуры. Следовательно, должен быть разработан надеж­ ный метод расчета pH при различных температурах воды. Эту задачу решает программа РНВВЭР. Таким образом, основная практическая задача формулирует­ ся следующим образом: рассчитать значение pH реакторной во­ ды при заданных концентрациях борной кислоты В, гидроксида калия /с, аммиака N и известной температуре. Эта программа является инженерной, так как она находит самостоятельное применение при решении конкретных практи­ ческих задач: для контроля водного режима первого контура АЭС, при анализе возможных нарушений водного режима, в проектных разработках и т. д . Программа может использоваться в качестве модуля в более сложных программах, например, при расчете растворимости примесей реакторной воды, массоперено- са и активации этих примесей и т. д . Программа РНВВЭР может использоваться в задачах машинного проектирования или в де­ монстрационном варианте (например, в целях тренинга инжене­ ров). В этих вариантах программы должен быть предусмотрен бо­ лее активный диалог с микроЭВМ через пульт управления и дисплей. В данной главе описан демонстрационный вариант программы РНВВЭРД, в гл. 19 - инженерный вариант програм­ мы РАШПИН. 18.2 . Перечень условных обозначений и идентификаторов В табл. 18.1 приведен перечень условных обозначений и иден­ тификаторов, используемых в программе РНВВЭРД. Таблица 18.1. Перечень условных обозначений и идентификаторов Обозна­ чение Величины Иденти­ фикатор Температура воды, °С Суммарная концентрация Н3ВО3, г/к г Суммарная концентрация Н 3ВО3, моль/кг Q в в В2 163
Продолжение табл. 18.1 Обозна­ чение___________________________ Величины______________________ фшсатор Концентрация соединений бора в реактор­ ной воде, моль/кг: 6q в форме В (ОН)3 D (Н) Ъ-у в форме Н 2ВОз Е (Н) bg в форме В3 (ОН)^о К (Н) — Концентрация Н 3В 03, соответствующая моменту В4 события 1, г/кг — Концентрация КОН, мг/кг О — Концентрация ионов К +, м г/кг 01 к Концентрация КОН и ионов К +, моль/кг 02 — Концентрация NH3, мг/кг С1 N Концентрация NH3, моль/кг С2 z Концентрация ионов NH|, моль/ к г I (Н) х Концентрация ионов Н +, моль/кг Н pH pH реакторной воды Р j Константа диссоциации борной кислоты по уравнению К1 (18.1), моль/кг К13 Константа диссоциации борной кислоты по уравнению КЗ (18.2), моль/кг КN Константа диссоциации ам миака, м оль/кг К5 К Ионное произведение воды, моль2/ к г 2 К6 — Текущее время, мес Т — Момент события 1, мес Т1 — Момент события 2, мес Т2 — Продолжительность кам пании , мес Т4 — Номер варианта (1,..., 3 0) АО — Номер ответа для события 1 N1 164 Иденти-
Окончание табл. 18.1 Обозна­ чение Величины Иденти­ фик атор - Номер ответа для события 2 N2 - Общее число коррекций водного режима (число попыток) L1 — Число успешных ко ррекц ий , удовлетворяющих условию pH = 7,2 ±0,1 L2 — Сумма квадратов отклонений величины pH от точного зна­ чения 7,2 (учитываются успешные попытки) ■А1 — Среднеквадратичное отклонение величины pH от точного значения 7,2 (учитываются успешные попытки) АЗ - Доля успешных коррекций, % А4 " Среднеквадратичное отклонение pH от точного значения 7,2 (учитываются попытки в диапазоне 7,2 ±0,5) А5 18.3 . Математическое описание задачи. Принятые допущения В демонстрационной версии программы РНВВЭРД реализован метод расчета, впервые предложенный М. Миком [27]. В основе этого метода лежат экспериментальные данные о диссоциации борной кислоты, полученные Д. Бирнсом. Согласно схеме Д. Бирнса в водных растворах диссоциируют молекулы ортобор- ной кислоты В(ОН)3 и комплекс триборной кислоты НПВ3О10(ЗВ(ОН)з -Н20). Реакции диссоциации В(ОН)3* Н++ Н2В03; (18.1) НцВзОю * Н * + В3(ОН)-,0 . (18.2) Таким образом, в водном растворе борной кислоты одновремен­ но присутствуют соединения бора В(ОН)3, Н2ВО3и В3(ОН)10с ко н­ центрациями, моль/кг, соответственно Ъ0, Ь1 и Ъу Суммарная концентрация бора в реакторной воде В —5q■+■bj +зь3. (18.3) Суммарная массовая концентрация борной кислоты в воде, г/кг, равна61,835В. 165
Уравнениям диссоциации (18.1) и (18.2) соответствуют кон­ станты равновесия К 1г и К 1Ъ: Ki,i=xbi/bo ; <18-4) Ki,3=*V*0- (18'5) Диссоциация воды происходит по уравнению Н20^ Н++ОН", (18.6) и ионное произведение воды Kw, моль2/к г 2, К„=ху (18.7) Кубическое уравнение баланса бора в канонической форме имеет вид К, 1+х Вх Н + — ------------= 0 . (18.8) 3*1 ,3 Щ,з Уравнение (18.8) имеет один действительный корень Ь0=с -а/с, (18.9) где с= V Гь+У/ь2+4аЭ„'; (18.10) к1,+ х -Вх а= _ izi------ . Ъ= -------- . (18Л1) 9*1 ,3 3*1 ,3 Величины В, Ъг и Ь3вычисляются по соотношениям (18.3)—(18.5). Аммиак в реакторной воде гидролизуется NH3+ H20 ;=* N H4OH (18.12) и диссоциирует на ионы NHJ и ОН" : NH4OH NHJ+OH- . (18.13) Учитывая, что в диапазоне рабочих температур аммиак гидро­ лизуется практически полностью, справедливо соотношение
Полагая, что гидроксид калия диссоциирует полностью, кон­ центрация катионов калия к принята равной концентрации ще­ лочи. Во всех используемых соотношениях также предполагает­ ся, что коэффициенты активности ионов в растворе равны единице. Таким образом, уравнение электронейтральности раствора имеет вид К Ъх +Ь3 +-------- х - к-z =0 (18.15) или, используя соотношения (18.4), (18.5), (18.14), имеем +К^1 +*S~x-k - -------- -- --------- = 0. (18.16) х XX 1 + Kw/(xKN) Система алгебраических уравнений (18.8), (18.16) может быть разрешена относительно х, если заданы исходные концентрации борной кислоты В, аммиака N и щелочи к, а константы равнове­ сия химических реакций являются известными функциями температуры. В программе РНВВЭРД эта система решена итера­ ционным методом половинного деления. 18.4 . Организация диалога с ЭВМ Работа проводится в форме диалога с ЭВМ и сопровождается графикой на дисплее и выводом текущей информации на дисп­ лей и на печатающее устройство. В памяти ЭВМ хранится некое множество (например, 30) вари­ антов ведения водного режима первого контура АЭС с ВВЭР. Каждый вариант имеет набор исходных данных: температуру во­ ды, начальные концентрации аммиака, гидроксида калия, бор­ ной кислоты, кампанию реактора. Кроме того, задается кривая изменения концентрации борной кислоты в течение кампании. Задача обучающегося состоит в управлении водным режимом АЭС в течение всей кампании. Сущность управления состоит в следующем. Для каждого момента времени, начиная с началь­ ного, задается определенная концентрация борной кислоты, и обучающийся должен подобрать концентрацию щелочи (гидро- 167
Hj503 1 2 J ‘f 5 6 I контур H.BO, KOH Рис. 18.3. Организация работы на экране дисплея Рис. 18.4. Упрощенная мнемосхема первого контура АЭС с ВВЭР ксида калия при неизменной концентрации аммиака) так, чтобы значение pH находилось в диапазоне 7,2 ±0,1. Так ведется штатный водный режим. В течение кампании в каждом вари­ анте предусмотрены две нештатные (аварийные) ситуации ти­ пов 1и2. Работа на дисплее организована следующим образом. После заставки программы происходит начальный диалог. На экране высвечиваются номер варианта, условия задачи и достаточно подробное изложение сущности предстоящей работы. Если обу­ чающемуся все понятно, то по его команде на экране появляет­ ся рабочий вариант изображения. В нем поле экрана разбито на шесть зон (рис. 18.3). Поля 1 -3 отведены для постоянной инфор­ мации, не меняющейся до окончания работы, поля 4 - 6 - для диалога. В зоне 1 приведена упрощенная мнемосхема первого контура АЭС с ВВЭР (рис. 18.4). На ней условно изображены реактор, па­ рогенератор и трубопроводы введения в контур борной кислоты и гидроксида калия, а также аварийного впрыска бора непо­ средственно в реактор. При очередном изменении концентра­ ции реагента свечение соответствующей л инии на мнемосхеме пульсирует. В зоне 2 высвечиваются исходные данные для расчета, напри­ мер: "Исходные данные: Температура т /н = 260°С Конц. аммиака =10 мг/кг Кампания р-ра = 13,5 мес 168
Нач. концентрации; СНЗВОЗ =8г/кг СКОН = 21мг/кг”. В зоне 3 приведен заданный в исходных данных график зависимости концентрации борной кислоты от времени работы реактора. Пример такого графика приведен на рис. 18.1. В зоне 4 высвечиваются текущие данные, меняющиеся в про­ цессе ведения водного режима. Например: " Текущие данные: Т=... мес СНЗВОЗ= ... г/кг СКОН=... мг/кг СК —иона= ... мг/кг pH = ... (соответствует норме)” . Зона 5 отведена для диалога в текстовой форме. В этой зоне дается оценка правильности ведения водного режима на ка ж ­ дом временном шаге и после окончания работы, осуществляет­ ся диалог при выведении установки из аварийного состояния. В зоне 6 высвечивается график зависимости концентрации гидроксида калия, вводимого в реакторную воду, от времени ра­ боты реактора (рис. 18.5). Регулирование водного режима АЭС в каждый момент време­ ни Т происходит следующим образом. В зоне 4 дисплея высвечи­ ваются новые текущие данные (Т и СНЗВОЗ). Обучающийся, ис­ ходя из предшествующей скорости падения концентрации щелочи, задает значение СКОН для времени Т. Она также вы- Рис. 18.5. Зависимость концентрации К +-иона от времени работы реактора 169
свечивается в зоне 4 и на графике в зоне 5. Далее программа рас­ считывает значение pH, которое высвечивается в зоне 4. ЭВМ сравнивает полученное значение pH с регламентированным и сообщает, соответствует ли оно норме. Если попы тка неудачна, обучающийся должен повторно задавать концентрации КОН вплоть до удовлетворения норм по значению pH. Далее происхо­ дит переход к следующему моменту времени Т. Так осуществляется регулирование водного режима АЭС при нормальной работе станции. В течение кампании возникают две аварийные ситуации. Информация высвечивается в зоне 5. Событие 1. ” Т = ... мес. Концентрация НЗВОЗ превысила рабо­ чую (аварийный впрыск бора в реактор). Каким образом можно восстановить ВР?” Обучающемуся предлагаются четыре возможных ответа, из которых он должен выбрать правильный: 1. ’’ Дозировать КОН?” 2. ’’Увеличить КОН за счет вытеснения К-ионов из катионита добавлением в реакторную воду NH3?” 3. ’’ Снизить СНЗВОЗ до рабочей путем подпитки контура чис­ той водой (НЗВОЗ выводится из контура с орг. протечками и сли­ вом 1 контура) - водообмен?” 4. ’’Подключить резервную цепочку фильтров СВО-2 для очистки?” При выборе каждого из вариантов на дисплее появляется текст: 1. ’’Нет. При повышенной концентрации НЗВОЗ Вы не выведе­ те реактор на мощность” . 2. Печатается тот же текст, что и при ответе 1. 3. ’’ Метод возможен, но требует больших запасных емкостей” . 4. ’’Предпочтительнее ответ 4” . После получения правильного ответа обучающийся должен определить, до какого значения он должен снижать концентра­ цию Н3ВОэ, чтобы восстановить водный режим до pH = 7,2±0,1. Событие 2. ” Т = ... мес. Допустим, что pH теплоносителя не­ сколько ниже нормы (pH = 7). Каким образом корректируется pH?” Обучающемуся предлагаются три возможных ответа, из которых один (No 1) является абсолютно неприемлемым (пред- 170
лагается снизить концентрацию Н3В 03. Это вызовет разгон реак­ тора и срабатывание аварийной защиты). После окончания работы ЭВМ подводит ее итоги. Программа рассчитывает индексы качества А и В и высвечивает их в зо­ не 5: ” А . ... % значений pH соответствовали области рабочих кон­ центраций. В. Среднеквадратичное отклонение попавших в рабочий диа­ пазон точек от идеального значения pH = 7,2 составляет...” . Далее дается оценка работы в соответствии со следующими критериями: если А > 70% и В < 0,05 - хорошее ведение ВР; если А > 70% и В > 0,05 - удовлетворительное ведение ВР; если А < 70% - неудовлетворительное ведение ВР. 18.5 . Блок-схема алгоритма решения Блок-схема программы РНВВЭРД приведена на рис. 18.6. Ра­ бота программы реализована по принципу ’’цикл в цикле” . Внут­ ренний цикл осуществляет расчет pH. Блок-схема подпрограм­ мы ’’РАСЧЕТ PH” приведена на рис. 18.7. Внешний цикл форми­ рует исходные данные для очередного варианта расчета pH, ана­ лизирует результаты расчетов, обеспечивает д иалог пользовате­ ля с ЭВМ и подводит итоги работы. 18.6 . Текст программы РНВВЭРД (программы 18.1 -18.11) 18.7 . Контрольный пример Протокол работы с программой РНВВЭРД приводится на рис. 18.8. Вариант составлен применительно к АЭС с ВВЭР-440. Температура теплоносителя 260°С, концентрация аммиака 10 м г/кг, начальные концентрации КОН и Н3В03 соответственно равны 21 м г/кг и 8 г/кг. Изменение концентрации борной кисло­ ты в течение кампании реактора продолжительностью 13,5 мес приведено в протоколе. 171
172 Рис. 18.6 . Блок-схема алгоритма программы РНВВЭРД
( Начало ) К1=7,ZDE-70; КЗ=ЗЕ-70; К5=6 Е~7; К6=6,05Е- 72 С2=С7/77030,5; В2=В/б7,835 DEFFN Y(H)=FNE(H)+FNK(H)-f +K6/H-H-02-FNI(H) ~ г ......... — DEFFN А(Н)=(К7+Н)/9/КЗ; DEFFN B(H)=B2*H/(-3)/K3; DEFFN C(H)=((SQR(FNB(H)t Z + i-b*FNA(H)\3)-FNB(H))/Z)t (7/3); DEFFN D(H)=FNC(H)-FNA(H)/FNC(H) DEFFN E(H)=K7*FND(H)/H; DEFFN K(H)=K3*FND(H)t3/H ; DEFFN I(H)=C2/(7+K6/H/K5) ( Конец ) Рис. 18.7. Блок-схема алгоритма модуля ”РАСЧЕТ PH” Прогр. 18.1. Бейсик-программа РНВВЭРД: начало 10 REM*** 20 REH РЕГУЛИРОВАНИЕ ВЕЛИЧИНЫ PH В 1-мКОНТУ РЕ АЭС С ВВЭР -440 30 REM*** 40 DIM Т(14),В(14),В1(14),Р(40),0(40),01(40),02(40):REM РАБОЧИЕ ПАССИВЫ 50 DIM X(108),Y(108),P1 (108),N1 (3),N2(3),U (3),V(3) :REM МАССИВЫ ДЛЯ ГРАФИКИ 60 GOSUB 6 0 0 :REH ПЕРЕХОД К ЗАСТАВКЕ,НАЧАЛЬНОМУ ДИАЛОГУ И ГРАФИКЕ 70 Q=260:C1=10:T4=13.5:REM ИСХОДНЫЕ ДАННЫЕ 80 REM ВЫВОД ИСХОДНЫХ ДАННЫХ 90 PRINT АТ (1 ,31.) : PR INT "ИСХОДНЫЕ ДАННЫЕ:" 100 PRINT АТ( 3 , 2 7 ) : PR I NT "КОНЦ. NH3»1ОМГ/КГ" 110 PRINT АТ(4,27) :PRI NT "КАМПАНИЯ Р-РА»13 .5МЕС" 120 PRINT АТ(5,2 7): PRINT "НАЧ. K0HUЕНТРАИИИ:" 130 PRINT АТ(6,3 0 ) : PRI NT "С НЗВОЗ=8Г/КГ" 140 PRINT АТ(7,30):PRI NT "С К0Н=21МГ/КГ" 150 PRINT /ОС," РЕГУЛИРОВАНИЕ ВЕЛИЧИНЫ PH В 1 КОНТУРЕ АЭС С BB3P":PRINT /ОС 160 PRINT /ОС," ТЕМПЕРАТУРА ТЕПЛОНОСИТЕЛЯ 260 ГРАД.С" 170 PRINT /ОС," КОНЦЕНТРАЦИЯ NH3 10 МГ/КГ": PRI NT / ОС: Р RINT /ОС 180 PRINT /ОС," ТАБЛИЦА РЕЗУЛЬТАТОВ РАБОТ bl":PRINT /ОС 190 PRINT /ОС," Т,МЕС НЗВОЗ,Г/КГ КОН,МГ/КГ К+ , МГ/КГ PH":PRI NT /ОС 200 REM ЗАДАНИЕ МОМЕНТОВ СОБЫТИЙ 1 И 2 173
210 IF A0=6THEN260 220 IF A0<« 11THEN250 230 IF A0<S20THEN270 240 IF A0<=30THEN280 250 T1=A0+1:T2=13-A0:60T0 290 260 T1=A0+1: T2=A0+4: GOTO 290 270 T1=A0-10:T2=AO-8:GOTO 290 280 T1=34-A0:T2=32-A0 290 GOSUB 1280 300 A1,L1 ,L2=0 310 FOR T=0TO13STEP1 320 IF T=T1-MTHEN2350:IF T=T2 +1 THEN2360 330 GOSUB 1290 340 IF T=T1THEN1470:REH СОБЫТИЕ 1 350 IF T=T2THEN1810:REI4 СОБЫТИЕ 2 Прогр. 18.2—18.10. Бейсик-программа РНВВЭРД: продолжение 36 0 RЕМ КОНЦЕНТРАЦИЯ РЕАГЕНТОВ В ТЕКУЩИЙ МОМЕНТ ВРЕМЕНИ 370 В=(Т4-Т)*8/13.5 380 G0SU В 1320 390 PRINT АТ(13,22 ,28):PRINT АТ(14,22,28) :INPUT "С KOH( МГ/КГ)=",0 400 PRINT АТ(1 4, 22 ,28.' 410 02=0/56.1 /1 ООО 420 01=02*39.102*1000 430 GOSUB 1350 440 GOSUB 2 0 4 0 :RЕМ РАСЧЕТ ВЕЛИЧИНЫ PH 450 GOSUB 1420:RЕМ ВЫВОД PH 460 L1=L1+1 470 IF L1 =4 ОТНЕМ 260 480 IF Р>=7.1THEN500 490 GOTO 510 500 IF P<=7.3THEN2320 510 PRINT AT(14,22 ,28):PRINT "ДРУГИЕ С КОН(ДА,НЕТ)?н 520 GOSUB 2 5 1 0 :1F A=0THEN550 530 PRINT AT(11,29,20):PRINT AT(1 2,29, 20) :PRINT AT(16,1 8,32) 540 GOTO 3 9 0 :REM ПОВТОРЕНИЕ РАСЧЕТА PH 550 PRINT ATС11,29, 20) .-PRINT AT(1 2, 29, 20) :PRINT AT(14,2 2,28) 560 PRINT AT(16,18,32):PRINT AT(17,1 ,60) 570 NEXT T 580 GOSUB 24 0 0 :REM ОЧЕНКА РАБОТЫ 590 STOP 6 0 0 REM РЕКЛАМНАЯ ЗАСТАВКА 610 PRINT HEX(030607):PRINT /10,HEX(0D), 620 FOR I=3T05 :GOSUB 2290 630 PLOT <0,I,U> 640 PLOT <3,,C>,<23,20,S>,< ,,"BP **1K0HTyPA*">:NEXT I 650 FOR S=1T0300:PRINT : NEXT S 660 PRINT /05,HEX(0306);:PRINT /10,HEX(0007); 174
6 7 0 REM НАЧАЛЬНЫЙ ДИАЛОГ 680 PRINT "ВЫ ХОТИТЕ ОЗНАКОМИТЬСЯ С ИНСТРУКЦИЕЙ?" 690 GOSUB 2510:1F A=0THEN840 700 PRINT НЕX(03) 710 PRINT "ВЫ УПРАВЛЯЕТЕ ВОДНЫМ РЕ ЖИМОМ 1'Г0 КОНТУ РА АЭС С ВВЭР." 7 2 0 P RINT "ДЛЯ БЛОКОВ ВВЭР ПРИНЯТ СМЕШАННЫЙ АММИАЧНО-КА ЛИЕВЫЙ РЕЖИМ. " 73 0 PR INT "РАБОЧИЕ КОНЦЕНТРАЦИИ КОН,ВЫДЕРЖИВАЕМЫЕ В РЕА КТОРНОЙ ВОДЕ АЭС С н 740 PRINT "ВВЭР,ДОЛЖНЫ ОБЕСПЕЧИВАТЬ ЗНАЧЕНИЕ Р Н= 7 .2 + -0 . 1 7 5 0 PR INT "ИЗМЕНЕНИЕ КОНЦЕНТРАЦИИ НЗВОЗ В ТЕЧЕНИЕ КАМПА НИИ РЕАКТОРА ПОКАЗАНО НА РИС.1 . " 7 6 0 PR INT "ВАМ НЕОБХОДИМО ПОДДЕРЖИВАТЬ КОНЦЕНТРАЦИЮ ИОН ОВ КАЛИЯ В ОБЛАСТИ Р А Б. КОНЦЕНТРАЦИй . " 7 7 0 PR INT "В ОПРЕДЕЛЕННЫЙ МОМЕНТ ВРЕМЕНИ МОЖЕТ ПРОИЗОЙТИ НАРУШЕНИЕ (ПОВЫШЕНИЕ ИЛИ" 7 8 0 P RINT "ПОНИЖЕНИЕ КОНЦЕНТРАЦИИ НЗВОЗ И КОН ПО СРАВНЕ НИЮ С РАБОЧИМИ НЕОБХОДИМО" 79 0 P RINT "ПРИНЯТЬ СООТВЕТСТВУЮЩИЕ МЕРЫ." 8 00 PRINT "ОЦЕНКА ВАШЕЙ РАБОТЫ ВЕДЕТСЯ ПО КОЛ-ВУ ТОЧЕК, УДОВЛЕТВОРЯЮЩИХ УСЛОВИЮ РН=7 .2 + -0 .1 " 8 10 PRINT " ( В ПРОЦЕНТАХ ОТ ОБЩЕГО ЧИСЛА ПОПЫТОК),И СРЕД НЕКВАДРАТИЧНОМУ ОТКЛОНЕНИЮ П ОПАВ - " 820 PRINT "ШИХ В РАБ .ИНТЕРВАЛ ТОЧЕК ОТ ИДЕАЛЬНОГО ЗНАЧЕ НИЯ РН=7.2 . " 830 PRINT :PRINT "ВАМ ВСЕ ЯСНО(НЕТ,ДА)?":GОSUВ 2510:IF A=0THEN71О 840 INPUT "НАБЕРИТЕ НОМЕР ВАШЕГО ВАРИАНТА (1« . .3 0)",АО 850 AO=INT(AO):IF А0<1THEN840: IF A0>30THEN840 860 REM ГРАФИКА 8 7 0 REM ДАННЫЕ ДЛЯ ГРАФИКИ 880 DATA 40,160,0 ,40,200,1 ,80 ,200,1 ,80 ,160,1 ,70,150,1 ,5 0,150,1 ,40,160,1 ,39 ,160,1 ,39 ,201,1 ,81 ,201 ,1 ,81 ,160,1 ,70 ,1 49,1 ,50 ,149,1 ,39 ,160,1 ,70,160,0 ,70,180,1 ,50 ,180,1 ,50 , 160,1 ,7 0,160,1 ,50 ,180,1 ,50 ,160,0 ,70,180,1 890 DATA 80,160,0 ,140,160,1 ,140,161,1 ,80 ,161,1 ,80 ,180,0 ,1 40,180,1 ,140,181 ,1 ,80 ,181 ,1 ,110,160,0 ,110,140,1 ,1 10,1 30,0 ,110,120,1 ,120,110,0 ,120,130,1 ,120,140,0 ,120,160,1 , 60.200.0 .6 0 ,210,1 ,6 0,220,0 ,60 ,230,1 ,140,150,0 ,180,150,1 ,180,190,1 ,140,190,1 ,140,150,1 900 DATA 139,149,1 ,181,149,1 ,181,191,1 ,139,191,1 ,139,14 9.1 .470.140.0 .330 .140.1 .330 .220.1 .465.140.1 .470.140.0 .4 70,141 ,1 ,450,140,0 ,450,141 ,1 ,430,140,0 ,430,141 ,1 ,410,14 0,0 ,410,141 ,1 ,390 ,140,0 ,390 ,141 ,1 ,370,140,0 ,370,141 ,1 ,3 50.140.0 .350 .141 .1 .330 .160.0 910 DATA 331,160,1 ,330 ,180,0 ,331,180,1 ,330 ,200,0 ,331,20 0,1 ,330 ,220,0 ,331 ,220,1 ,470,30 ,0 ,330 ,30 ,1 ,330 ,113,1 ,465 ,6 0 ,1 ,465,4 0,1 ,330 ,93 ,1 ,330 ,103,0 ,465,50 ,1 ,470,30 ,0 ,470 ,31,1 920 DATA 450,30 ,0 ,450,31,1 ,430,31,0 ,430,31,1 ,410,30 ,0 ,4 10,31,1 ,390 ,3 0 ,0 ,390 ,31,1 ,37 0,30 ,0 ,370,31,1 ,350 ,3 0 ,0 ,3 5 0,31 ,1 ,330 ,50 ,0 ,331 ,50 ,1 ,330 ,70,0 ,331 ,70,1 ,330 ,90 ,0 ,331 ,9 0 ,1 ,330 ,110,0 ,331,110,1 930 DATA 1,52,53 ,78,79,108 940 FOR 1=1T0108:READ X(I),Y (I),P1 (I) .-NEXT I 950 FOR J=1T03:READ N1(J),N2(J) :NEXT J 960 PRINT HEX (03) :PRINT /1 0 ,HEX(OD); :PRIHT /05,HEX(03) 970 FOR J=1T03:X1=0:Y1=0 175
980 FOR I=N1(J)T0N2(J) 990 IF P1(I)=0THEN1000:PLOT <X(I)-X1,Y (I)-Y1,D>:GOTO 10 10 1000 PLOT <X(I)-X1,Y(I)-Y1,U> 1010 X1=X(I) :Y1=Y(I) 1020 NEXT I : GOSUB 2290 1 0 3 0 I F J Q 1 THEN1 0 9 0_______________________________________________________ 1 0 4 0 REN СЛУЖЕБНЫЕ П /П ГРАФИКИ 1050 U(1)=106:U(2)=116:U(3)=56 1060 V(1)=140:V(2)=140:V(3)=220 1070 FOR S=1ТОЗ: PLOT <U(S) ,V (S) ,U> 1080 PLOT <8,O ,0>,<-8,-1O,D>,<8,O ,D>,<~8,1O,D>:GOSUB 22 90:NEXT S 1090 NEXT J 1100 REN ТЕКСТ НА ГРАФИКЕ 1110 PLOT <50,232,MH3B03“ >:GOSUB 2290:PL0T <84,110,"H3B 03 H>:G0SU8 2290 1120 PLOT <110,100,"KOH">:GOSUB 2290:PL0T <430,100,”PH= 7.1 . . ,7.3“>IGOSUB2290 1130 PLOT <330,222 ,"С НЗВОЗ,Г/КГ" > :GOSUB 2290:PLOT <330 ,1 16,"C KM>,<2,2,"+">:GOSUB 2290 1140 PLOT <52,190,"P -P ">:G0SUB 2290:PL0T <154,180,"ПГ "> : GOS UB 2290 1150 FOR 1=21T0131STEP110 1160 PLOT <15,0 ,S>,<328,I,“02468">:GOSUB 2290 1170 PLOT <428,1,"10"> ,<8,0 ,"12"> ,<8,0 ,"14м>,<0,9,"Т,МЕ СM> :G0SUB 2290 1180 NEXT I 1190 PLOT <-5 ,20,S>,<322,158,"2468">:G0SUB 2290 1200 PLOT <468,38 ,"7 .1 ">:GOSUB 2290 1210 PLOT <468,48,''7 .2 ">:G0SUB 2290:PLOT <468,5 8 , "7 .3H> : GOS UB 2290 1220 FOR 1=1TO2:PLOT <0,1 ,U>,<100,200," 1 КОНТУР"»:GOSUB 2290:NEXT I 1230 PLOT <430,21 О,"РИС.1 “> ,< -28,- 100,"РИС.2">:60SUB 22 90 1240 RETURN 1250 PLOT <U(S),V(S),U>:RETURN 1260 PRINT AT(2,27) : PRINT **T—PA Т/Н=260ГРАД.Cw______________ 1 2 7 0 REM ВЫВОД ТЕКУЩИХ ДАННЫХ 1280 PRINT AT(8,31): PRINT "ТЕКУЩИЕ ДАННЫЕ:": RETURN 1290 PRINT AT(9,29,10) :PRINTUSING "T =## ",T; 1300 PRINT "MEC" 1310 RETU RN 1320 PRINT AT(10,29,20) .•PRINTUSING "C H3803=# .## " ,B; 1330 PRINT "Г/КГ" 1340 RETU RN 1350 PRINT AT(11,29,20) :PRINTU SING "C KOH=#0 0; 1360 PRINT "МГ/КГ" 1370 PRINT AT(12,29,20) :PRINTU SING "С К-И0НА О 3 * I I 1380 PRINT "МГ/КГ" 1390 PRINTUSING /О С ," ##",T;:PRINTUSING 4 О ' « s . n.##",В; 1400 PRINTUSING /ОС ," " , 0 ; : PRINTUSING /ОС, " О ч 3 * 1410 RETURN 1420 PRINT AT(13,22):PRINTUSING "PH 1 430 PRINTUSING /ОС ," 1 440 IF 01>18THEN2340 1450 GOSUB 2300 1 460 RETURN
147 0 1480 149 0 1 500 1510 РЫСК 15 20 REM НАСТУПИЛ МОМЕНТ СОБЫТИЯ 1 PRINT АТ(10,29,20) SPRINT АТ<13,22 ,28) АТ(14,2) sPRIMTUSING "Т «## ",Т; "МЕС" АТ (15 ,1 ) PRINT "С НЗВОЗ ПРЕВЫСИЛА РА БОНУЮ(ABAР.ВП :PR INT ;PRINT ' 1 . ДОЗИРОВАТЬ КОН?' ' 2 . УВЕЛИЧИТЬ С КОН ЗА СЧЕТ ВЫТЕСНЕ PR INT PR INT PRINT БОРА) ’* PRINT AT(16,1) '.PRINT “ К АКИМ ОБРАЗОМ МОЖНО ВОССТАНОВИТЬ ВОДНЫЙ РЕШИМ?" 1530 PRINT AT(17,1) 1540 PRINT AT(18,1) НИ Я ИОНОВ К+ ИЗ" 1550 PRINT АТ(19,1) sPRINT ВОДУ NH3?" 1560 PRINT AT(20,1) :PR INT РАЗБАВЛЕНИЯ" 1 570 PRINT AT(21 ,1 ) SPRINT 1580 PRINT AT(22,1)SPRINT РОВ CBO-2 " 1590 PRINT AT (23,1) :PR INT "ДЛЯ ОЧИСТКИ 1600 PRINT AT(23,53) sINPUT H0TBET**, N1 1610 IF N1*1THEN1650 1620 IF N1=2THEN1660 1630 IF N1a3THEN1680 1640 GOTO 1710 1650 PRINT AT(17,1 ,50):PRINT "-НЕТ .ПРИ ВЕДЕТЕ P-P НА МОЩНОСТЬ.и : GOTO 1600 1660 PRINT AT(18,1 ,50):PRINT "-НЕТ .ПРИ ВЕДЕТЕ P -P НА МОЩНОСТЬ." 1670 PRINT AT (19,1 ,50) :60Т0 1600 ‘ К А Т ИОНИТА ДОБАВЛЕНИЕМ В РЕАКТОРНУЮ * 3 . СНИЗИТЬ С НЗВОЗ ДО РАБОЧЕЙ ПУТЕМ ' КОНТУРНОЙ ВОДЫ-ВОДООБМЕН?” Ч . ПОДКЛЮЧИТЬ РЕЗЕРВНУЮ ЦЕПОЧКУ ♦ - РЕАКТОРНОЙ ВОДЫ?*‘ ПОВЫШ.С НЗВОЗ ВЫ НЕ ВЫ ПОВЫВ.С НЗВОЗ ВЫ НЕ ВЫ PRINT AT(20,1 ,50):PRINT ЗАПАСНЫХ ЕМКОСТЕЙ." PRINT AT(21 ,1 ,50) :PRINT GOTO 1600 PRINT AT (1 5,1 ,50) PRINT AT (17,1 ,54) AT (20,1 ,54) AT (23,1 ,80) "- М Е ТОД ВО3M0K EH, НО ТРЕБУЕТ БОЛЬ "ПРЕДПОЧТИ ТЕЛЬНЕЕ-ОТВЕ Т 4 . " PR INT PR INT PR INT PRINT :PRINT AT(19,1 ,50) :PRINT AT(22,1 ,50) 1680 ШИХ 1690 1700 1710 1720 1730 PRINT 1740 PRINT 1750 ",B4 1760. IF B4>(T4-T1) *8/13.5 +1THEN2370 1770 IF B4<(T4-T1)*8/13.5 -1 THEN2370 1780 PRINT AT(18,1 ,50) :PRINT "ИТАК ,С НЗВОЗ УСТАНАВЛИВАЕТСЯ НА РАБ.УРОВНЕ." 1790 PRINT АТ(1 9 ,1 ):PRINT "СМ.ТЕКУЩИЕ ДАННЫЕ" 1800 GOTO 360 AT(16,1 ,50) AT (18,1 ,54) AT (21 ,1 ,50) AT (24,1 ,50) PRINT AT(1 7 ,1 ):INPUT "ДО КАКОЙ ВЕЛИЧИНЫ СНИМАТЬ С НЗВОЗ 1810 18 20 1830 1840 1850 ХЕНИЕ 1860 PH?" 1870 1880 ВЫТЕ С 1890 . ВОДУ 1900 REM НАСТУПИЛ МОМЕНТ СОБЫТИЯ 2 PRINT АТ(10,29,20) :PRINT АТ(13,22 ,28) PRINT АТ(14,2) :PRINTUSING "Т =## " ,Т; PRINT "МЕС" PRINT А Т ( 1 5 ,1 ) SPRINT "ПРОИЗОШЛО НЕПРЕДВИДЕННОЕ СНИ СКОН ДО ЗНАЧЕНИЯ РН=6 .5 " PRINT А Т ( 1 6 ,1 ) SPRINT "КАКИМ ОБРАЗОМ КОРРЕКТИРУЕТСЯ А Т(17 ,1 ) SPRINT "1.СНИИЕНИЕМ С НЗВОЗ?" АТ(19,1) :PRINT "2 .УВЕЛИЧЕНИЕМ С КОН ЗА СЧЕТ К-ИОНОВ" АТ ( 2 0 , 1 ) SPRINT "ИЗ КАТИОНИТА ДОБАВЛЕНИЕМ В Р. PR INT PR INT НЕНИЯ PR INT NH3?" PRINT AT(21 , 1 ) :PRINT " 3 .ДОЗИРОВАНИЕМ В КОНТУР КОН? 177
1910 PRINT AT (23,53) sINPUT "ОТВЕТ",N2 1920 I F N2*1 THEN2000 1930 IF N2=3THEN2020 1940 PRINT AT (15,1 ,60) sPRINT AT(16,1 ,50) 1950 PRINT AT(17,1 ,60) :PRINT AT(18,1 ,50) :PRINT AT(19,1, 50) 1960 PRINT AT(20,1 ,50) :PRINT AT<21 ,1 ,50) :PRINT *T(22,1 , 52) 1970 PRINT AT(23,53,10) 1980 PRINT AT (1 7 , 1 ) : PR INT "ОТВЕТ ПРАВИЛЬНЫЙ. PH УСТАНАВ ЛИВАЕТСЯ В ПРЕДЕЛАХ НОРМЫ." 1990 GOTO 360 2000 PRINT AT (17,1 ,50) :PR INT "-HEBEPHO.ЭТО ВЫЗОВЕТ РАЗГ ОН РЕАКТОРА И" 2010 PRINT АТ( 1 8 , 1 ) :P RIN T "СРАБАТЫВАНИЕ АВАРИЙНОЙ ЗАЩИТ bTsGOTO 1910 2020 PRINT АТ(21, 1 , 5 0 ) SPRINT "-Т .К .КАТИОНИТНЫй Ф-ТР СВО - 1 В СМЕШАННОЙ(К+,N H4+)- " 2 030 PRINT АТ( 2 2 , 1 ) SPRINT "ФОРМЕ ЯВЛ-СЯ БУФЕРНОЙ ЕНКОСТ ЬЮ,ТО ПРЕДП0ЧТИТЕЛЬНЕЕ-2";60Т0 1910_____________________________ 2040 REM РАСЧЕТ ВЕЛИЧИНЫ PH 2050 K1=1.2 6E-10:K3=3E-10:K5=6E-7sK6=6. 05 E-12 2060 C2=C1/17.03 06/1000sB2=B/61.835 2070 DE FFN Y(H)=FNE( H) +FNK(H) +K6/H-H -02 -FN I (H)sREM УРАВ НЕНИЕ ЭЛЕКТРОНЕЙТРАЛЬНОСТИ 2080 OEFFN A(H)=(K1+H)/9/K3 2090 DEFFN B(H)=B2 *H/(-3)/K3 2100 DEFFN C(H)=((SQR( FNВ(H) “ 2+4* FNA(H)*3) -FNB(H))/2)*( 1/3) 21 10 OEFFN 0(H)=FNC(H)-FNA(H)/FNC(H) 2120 IF FND (HX0THEN2180 2130 IF B2<FND(H)THEN2180 2140 DEFFN E(H)=K1* FND (H)/H 21 50 DEFFN K(H)=K3*FND(H)“3/H 2160 DEFFN I(H) =C2 /(1 +K6/H/K5) 2170 GOSUB 219 Os REM РЕШЕНИЕ УРАВНЕНИЯ ЭЛЕКТРОНЕЙТРАЛЬНО СТИ 2180 RETURN 2190 REM РЕШЕНИЕ УРАВНЕНИЯ ЭЛЕКТРОНЕЙТРАЛЬНОСТИ МЕТОДОМ ПОЛОВИННОГО ДЕЛЕНИЯ 2200 P1=1sP2=14sY1 =FNY(10*(-P1)) 2210 P=(P1+P2)/2sY=FNY(10*(-P)) 2220 I F SGN(Y)=SGN(Y1)THEN2230sP2=PsGOTO 2240 2230 Р1=P sY1BY 2240 IF P2-P1>.0001THEN2210sREM ДЕЛЕНИЕ ПРОД0Л1АЕТСЯ 2250 RETURN 2260 PRINTUSING /ОС, " # # .# " ,A4;sPRINT /ОС," X ЗНАЧЕНИЙ P H СООТВЕТСТВОВАЛИ ОБЛАСТИ РАБОЧИХ КОНЦЕНТРАЦИЙ" 2270 PRINT /ОС,"СРЕДНЕКВАДРАТИЧНОЕ ОТКЛОНЕНИЕ ТОЧЕК, ПО ПАВШИХ В РАБОЧИЙ ДИАПАЗОН,ОТ ИДЕАЛЬНОГО ЗНАЧЕНИЯ РАВНО" 2280 RЕМ СЛУЖЕБНЫЕ ПОДПРОГРАММЫ 2290 PRINT /10,HEX(01);sRETURN 2300 PLOT <330+T*10-3 ,3 0+01*5-3 , " * “>sG0SUB 2290 2310 RETURN 2320 PRINT A T (13,30) SPRINT "(COOTB-ET НОРМЕ )" sL 2=L 2+1 2330 A1=A1+(7.2 -P)*2:G0T0 510 178
2340 PRINT AT (1 6 ,1 8) : PR INT "(ТОЧКА ЗА ПРЕДЕЛАМИ ГРАФИКА )":GOTO 1460 2350 PRINT AT(17/1,50) sPRINT AT(18,1 ,50) :PRINT AT(19,1, 50) :PRINT AT(14,2 ,10):GOTO 330 2360 PRINT AT(17,1 ,50):PRINT AT(14,2 ,10):GOTO 330 2370 PRINT AT(18,1 ,50):PRINT "НЕВЕРНО.ПОДУМАЙТЕGOTO 1750 2380 PRINT AT( 1 4 , 2 3 ) :PRINT "КОЛ-ВО ПОПЫТОК ИСЧЕРПАНОи:6 ОТО 580 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 23 9 0 REM ПОДВЕДЕНИЕ ИТОГОВ 2400 А2=А1/ (L2-1) 2410 A3=SQR(А2) :A4=L2*100/L1 2420 A5=SQRС.05 “2*L2/(L2-1)) 2430 PRINT AT(17,4) :PR INT "РАБОТА ОКОНЧEHA. ПОДВЕДЕМ НТО ГИ:" 2440 PRINT AT(18,3) :PR INTUSING " - tttt.tt%ЗНАЧЕНИЙ PH CO ОТВETCTOBAЛИ ОБЛАСТИ РАБОЧИХ КОНЦЕНТРАЦИЙ( A ) " , A 4 2450 PRINT AT(1 9 ,3) :PRINT "-СРЕДНЕКВАДРАТИЧНОЕ ОТКЛОНЕН ИЕ ПОПАВШИХ В РАБ.ДИАП." 2460 PRINT АТ(2 0 ,4 ):PRINTUSING "ТОЧЕК ОТ ИДЕАЛЬНОГО ЗНА ЧЕНИЯ РН=7 .2 РАВН0##.##(В)",АЗ 2470.PRINT АТ(21,3);PRINT "-ОЦЕНКА ВАШЕЙ РАБОТЫ" 2480 PRINT АТ(22,5) :PRINTUSING "А >70%,B<## .##-ХОРОШЕЕ BE ДЕНИЕ ВР",А5 2490 PRINT АТ(23,5):PRINTUSING "А>70%,B>=## .## -УДОВЛ.BE ДЕНИЕ ВР",А5 2500 PRINT АТ(24,5) :PRINT "А< =70%-НЕУД0ВЛ.BE ДЕНИЕ ВР" 2510 PRINT /ОС:PRINTUSING /ОС," ##.# % ЗНАЧЕНИЙ PH СОО ТВЕТСТВОВАЛИ ОБЛАСТИ РАБОЧИХ КОНЦЕНТРАЦИЙ " , А 4 25 20 PR INTUSING /О С ," СРЕДНЕКВАДРАТИЧНОЕ ОТКЛОНЕНИЕ ТО Ч Е К , ПОПАВШИХ В РАБОЧИЙ ДИАПАЗОН,ОТ ИДЕАЛЬНОГО ЗНАЧЕНИЯ РАВНО ##.## " ,АЗ 2530 А=0:КЕYIN Ап,2540,2530:GOTO 2530 2540 IF АИ=НЕХ(6E)THEN2560:IF AH=HEX(CE)THEN2560:IF A«= HEX(64)THEN2550: 1F Ап=НЕХ (C4)THEN2550:GOTO 2530 2550 A=1 2560 RETURN 2570 END Прогр. 18.11. Бейсик-программа РНВВЭР: окончание Исходная информация на счет варианта хранится в памяти ЭВМ и поступает на дисплей и в протокол по заказанному номе­ ру варианта. Там же напечатаны задаваемые обучающимся концентрации КОН в течение кампании, рассчитанные кон­ центрации иона К+ и pH реакторной воды. 18.8 . Пути совершенствования алгоритма и программы Общие соображения о необходимости и целесообразности со­ вершенствования инженерных программ, создания их модифи-
РЕГУЛИРОВАНИЕ ВЕЛИЧИНЫ PH 8 1'М КОНТУРЕ АЭС С ВВЭР ТЕМПЕРАТУРА ТЕПЛОНОСИТЕЛЯ 2 6 0 ГРАД.С КОНЦЕНТРАЦИЯ NH3 10 М Г /К Г ТАБЛИЦА РЕЗУЛЬТАТОВ РАБОТЫ Т, МЕС НЗВОЗ , Г/КГ КОН,МГ/КГ К+,МГ/КГ PH 0 8.00 21.00 14.63 721 1 7.40 20.00 13 .94 722 2 6 .81 19 .00 1324 722 3 622 18 .00 12 .54 723 4 5 .62 17 .00 11 .84 723 5 5 .03 16 .00 11.15 724 6 4.44 15 .00 10.45 7.2 5 7 3 .85 14.00 9 .75 725 8 3.25 13 .00 9 .06 726 9 2 .66 12 .00 8.3 6 727 10 2 .07 11.0Q 7 .66 7.28 11 1 .48 10 .00 6.97 7.3 0 12 0 .88 9 .00 627 7.31 13 029 8.00 5 .57 7 .33 7 8 . 5 % ЗНАЧЕНИЙ PH СООТВЕТСТВОВАЛИ ОБЛАСТИ РАБОЧИХ КОНЦЕНТРАЦИЙ СРЕДНЕКВАДРАТИЧНОЕ ОТКЛОНЕНИЕ ТОЧ ЕК, ПОПАВШИХ В РАБОЧИЙ ДИАПАЗОН ОТ ИДЕАЛЬНОГО ЗНАЧЕНИЯ РАВНО 0 .0 5 Рис. 18.8. Протокол прогонки программы РНВВЭРД каций, включение их в более сложные комплексные программы и т. д ., приведенные в § 19.9, полностью справедливы для про­ граммы РНВВЭРД. Более конкретные пути ее улучшения состоят в следующем. Алгоритм расчета pH в КОН - NH3 - Н3ВО3 - водной системе при рабочих параметрах реакторной воды, использованный в демонстрационной версии программы, является весьма старым [36]. В настоящее время разработан бо­ лее совершенный алгоритм расчета и на его основе создана ин­ женерная программа РНВВЭР [34], которая может быть исполь­ зована, в частности, в целях тренинга вместо блока "РАСЧЕТ PH” (см. рис. 18.7). Предпочтение было отдано алгоритму работы [36], так ка к действующие ныне стандарты на ведение водно-хи­ мических режимов в реакторах типа ВВЭР разработаны именно на этом аналитическом алгоритме. По мере получения новых экспериментальных данных целе­ сообразно периодически обновлять константы диссоциации хи­ мических веществ в воде. Безусловно, могут быть расширены варианты диалога пользователя с ЭВМ, номенклатура аварий­ ных ситуаций и т. д . Приведенный пример инженерной програм- 180
мы, используемой, в частности, в демонстрационных целях и для тренинга, следует рассматривать лишь ка к иллюстрацию путей практической реализации широких возможностей микроЭВМ. Глава девятнадцатая. РАСЧЕТ РАСТВОРИМОСТИ ПРОДУКТОВ КОРРОЗИИ В ПЕРВОМ КОНТУРЕ АЭС С ВВЭР ПРОГРАММА РАШПИН 19.1 . Постановка задачи Внутренние поверхности первого контура АЭС с ВВЭР изго­ товляются из коррозионностойких реакторных материалов - аустенитных хромоникелевых сталей и циркониевых сплавов. Допускается ограниченное использование углеродистых сталей и сплава на основе кобальта стеллита. На зарубежных АЭС при­ меняют сплавы на основе никеля - инконель и инколлой. Не­ смотря на чрезвычайно низкие скорости коррозии реакторных материалов, продукты их коррозии, присутствующие в реактор­ ной воде, создают ряд серьезных эксплуатационных проблем. Наиболее важными являются две: 1) образование отложений на теплопередающих поверхностях контура, ухудшающих теплообмен и создающих угрозу разруше­ ния металла; 2) активация продуктов коррозии в поле реакторного излуче­ ния, приводящая к радиоактивному загрязнению оборудования первого контура и ухудшению условий его обслуживания и ре­ монта. Для решения научных и практических задач, подобных пере­ численным выше, необходимо знать растворимость продуктов коррозии реакторных материалов при реальных характеристи­ ках водно-химического режима первого контура. Возможности экспериментального изучения растворимости весьма ограниче­ ны, поэтому широкое применение находят расчетные методы исследования. В настоящей главе приведено описание программы РАШПИН (растворимость шпинелей), позволяющей рассчитать раствори­ мость ферроникелевой ш пинели Fe3_x 04, которая является основной формой существования продуктов коррозии в воде и в коррозионной пленке на поверхностях первого контура АЭС с ВВЭР при рабочих параметрах теплоносителя. Растворимость 181
продуктов коррозии зависит от pH реакторной воды, программа расчета которой РНВВЭР приведена в гл. 18. Программы РНВВЭР и РАШПИН, написанные на языке Бейсик и реализо­ ванные на микроЭВМ ’’Искра 226” , могут использоваться неза­ висимо либо ка к блоки более крупной программы. 19.2 . Перечень условных обозначений и идентификаторов Условные обозначения величин, используемых в расчете, и перечень соответствующих им идентификаторов приведены в табл. 19.1. Таблица 19.1. Условные обозначения и идентификаторы в программе РАШ ПИН Условные обозначе- Величина Иденти- ния фикатор f Текущая температура теплоносителя в расчетном Т варианте, °С Т Та же температура по ш кале Кельвина, К Г3 — Температура теплоносителя на входе в реактор Т1(J) или на выходе из него, °С — Индекс расчетной точки по ш кале температуры J в массиве исходных данных, J = 1, 2...... б — Температура на входе в реактор, Т 1 = Т1 (J), °С Г1 — Температура на выходе из реактора, Т2 =Т1 (J + 1), °С Т 2 — Признак, определяющий, для какой из температур L на входе или на выходе из реактора ведется расчет Сн Концентрация водорода в реакторной воде, Н (К) 2 приведенная к нормальным условиям (О°С, 0,1 МПа), см3/кг — Индекс расчетной точки по шкале концентраций К водорода в массиве исходных данных, К = 1,2, . . . , в Парциальное давление водорода, к г /с м 2 Н” Рщ pH, Значение pH реакторной воды при расчетной Р (М) температуре — Индекс расчетной точки по ш кале pH в массиве исходныхданных, М = 1, 2,..., а [Н +] Концентрация ионов водорода, моль/кг М
Продолжение табл. 19.1 Условные обозначе- Величина Иденти­ фикатор X Коэффициент, характеризующий содержание никеля в шпинели (Fe3_ x Nix0 4 Х(1) - Индекс расчетной точки по шкале X в массиве исходныхданных, I = 1,2,..., г I - Растворимость ш пинели при температуре воды на входе в активную зону реактора, к г Fe/к г Н2О 51(М) - Растворимость ш пинели при температуре воды на выходе из активной зоны реактора, кг Fe /к г Н2О 52СМ) 5 Растворимость ш пинели при расчетных парамет­ рахводы,кг/кг 53 Pw Массовая плотность воды, г / с м 3 D1 К Ионное произведение воды, моль2/к г 2 Ll к0 Коэфф ициент в формуле расчета растворимости шпинели ко К2 То же К2 КЗ 91 99 КЗ К4 99 99 К4 — Вспомогательные величины У,54,D, АП, N1, R9,L2,Hl Перечень условных обозначений включает величины, исполь­ зуемые в формулах (19.1)—(19.13) для расчета конкретного зна­ чения растворимости. Перечень идентификаторов существенно шире. Во-первых, это связано с необходимостью расчета серии вариантов. В одной серии предусмотрена вариация всех четырех параметров: температуры Т1 (J)>J = 1, 2 ,..., б, концентрации раст­ воренного водорода Я (К), К = 1,2 ..., в, значения pH реакторной воды Р(М),М =1,2,..., а, и химического состава шпинели X(I), I = 1 ,2 ,..*, г. Объем серии вариантов по каждому из параметров и по их совокупности определяется только объемом памяти ЭВМ. При использовании программы РАШПИН на микроЭВМ ’’Искра 226” с объемом памяти на магнитном диске 256 кбайт такие ограничения в практических расчетах не встречались. 183
КТ2 '72 7 2 Т1 Т1 Рис. 19.1. У прощенная принципиальная схема первого контура АЭС с ВВЭР Во-вторых, рассматриваемая конкретная инженерная задача имеет характерную теплофизическую особенность. На рис. 19.1 приведена упрощенная принципиальная схема первого контура АЭС и ВВЭР. На вход в активную зону реактора 1 поступает вода с температурой Т1. За счет тепла, выделяющегося при делении ядерного горючего, вода при прохождении активной зоны нагре^ вается и на выходе из нее достигает температуры Т2 > Г1. В парогенераторе 2 это тепло отдается теплоносителю второго контура, и на выходе из парогенератора реакторная вода в ста­ ционарном режиме работы имеет температуру Т1. Таким обра зом, в первом контуре АЭС с ВВЭР имеются две характерные температуры реакторной воды: минимальная Т1 и максималь* ная Т2. Различие в растворимости шпинели именно при этих температурах воды определяет направление и скорость перено­ са массы продуктов коррозии по контуру. Поэтому в программе целесообразно ввести признак L = 1, 2, определяющий, для какой из температур - на входе в активную зону реактора (L - 1) или на выходе из нее ( L= 2)- выполняется расчет раст­ воримости (соответственной! и 52). 19.3 . Математическое описание задачи Растворимость шпинели Fe3_x Nix0 4 в воде реактора типа ВВЭР при рабочих параметрах дается выражением [1] 1 S = 0,055847 (р и^ (К0[Н+Р +К2[НЧ +К3+К „/[No]. (19.1) Правая часть выражения (19.1) рассчитывается по формулам Т=273,15+t; (19.2) рНг = 8,038*10"7 НСн ; (19.3) Н = -9,01* 10+4 + 5,83*107/ Т ; (19.4) 184
[H+] =(10)-PHf ; iCQ = (10)С1,083 + 2352/Г) . К2=(10)(-1>91+234/г» . К 3 = (Ю)(-6»56“ 190/т) ; K4 = (10)L2 ; L2= logК^ + 5,449- 5292/Т; log Kw= -4,098 - 3245,2/Т + 223620/Т2- 3,9847-Ю7/ Т3 + + (13,957 - 1262,3 /Т + 854610/Т2) log pw ; Pw 1+ dD1/3+ eD V+aDin+ bD+cDA (19.5) (19.6) (19.7) (19.8) (19.9) (19.10) (19.11) (19.12) (19.13) V = 3,1975; a = - 0,3151548; b = -1,203374* 10" 3 ; с =7 ,48908bl0"13; d =0 ,1341489; e = - 3 ,946263.10"3; D=374,11 -t . Условные обозначения, использованные в формулах (19.1)— (19.13), приведены в табл. 19.1. Таким образом, на входе в программу РАСЧЕТ РАСТВОРИ­ МОСТИ необходимо задать температуру воды t, °С, концентра­ цию газообразного водорода в воде СН2, состав шпинели х и величину рН^ при рабочей температуре t. На выходе из прог­ раммы будет получена растворимость шпинели заданного состава при определенных параметрах реакторной воды. Но в исследовательских и инженерных расчетах обычно интерес представляют не единичные данные, а зависимости раствори­ мости шпинелей от перечисленных выше параметров. Это тре­ бование осуществлено при разработке блок-схемы программы РАШПИН, в котором программа РАСЧЕТ РАСТВОРИМОСТИ яв­ ляется основным расчетным блоком. К нему происходит цикли­ ческое обращение в каждом варианте расчетной серии. 185
19.4 . Допущения, принятые в расчете При разработке метода расчета принят ряд допущений. Они определены применительно к конкретным условиям водно-хи­ мического режима работы первого контура АЭС с ВВЭР: контур изготовлен в основном из коррозионно-стойких аустенитных хромоникелевых сталей и циркониевых сплавов, используются борное регулирование мощности реактора, подщелачивание воды гидроксидом калия и аммиаком, а также подавление радиолиза воды вследствие радиолитического разложения аммиака с образованием газообразного водорода. Основные допущения сводятся к следующему: твердая фаза шпинели имеет состав Fe3_x Nix04; в жидкой фазе продукты кор­ розии железа находятся в четырех формах: Fe2+, Fe(OH)+, Fe(OH)2 и Fe(OH)3; между указанными формами достигается состояние равновесия, определяемое константами соответству­ ющих реакций диссоциации; растворимость шпинели зависит от ее химического состава, температуры, концентрации растворен­ ного водорода, значения pH реакторной воды при рабочей тем­ пературе и допускает аналитическое представление в виде со­ отношения (19.1). Область применимости метода расчета ограничена пример­ ными соотношениями 0< х < 1,20°С < t < 340°С,Сн > 10см3/кг при нормальных условиях. 19.5 . Блок-схема алгоритма решения Блок-схема программы РАШПИН (рис. 19.2) отражает ее внут­ реннюю структуру и порядок работы отдельных частей (подпрог­ рамм, процедур и т. д .) . На входе в программу РАШПИН должен быть задан массив исходных данных Т1 (J), J = 1, 2, ..., б; Н (К), К=1,2,..., в;Р(М),М =1,2,..., а;Х(Г),1=1,2,..., г,всего(а+б+ +в + г ) чисел. Программа рассчитывает растворимость ш пине­ лей 53 для всех возможных комбинаций исходных данных [ Т1 (J), Н (К), Р (М),Х(1)]. Объем массива S3 равен числу возмож­ ных комбинаций исходных данных, т. е. он содержит (абзг) чи­ сел. Работа программы РАШПИН организована по принципу ’’цикл в цикле” . Основной структурной единицей программы РАШПИН является подпрограмма ’’РАСЧЕТ РАСТВОРИМОСТИ” , которая осуществляет расчет 53 для фиксированного набора исходных данных. До подпрограммы РАСЧЕТ РАСТВОРИМОСТИ преду- 186
( Начало ) ТЗ=Т+ 273,15 I z=w \(-p(m)) I K0=10\(h 083+Z35Z/T3) К2=10\(~1,91+Z3‘t]T3) K3=W\(-6,56 - 790/rj) B=374,11-T М1=3,1975~0,31515Ь8*Ъ4(1/3) - -1,Z0337‘tE-03*B+ 7,b890BlE~13*mb 1 N1=1+0,1341ЧВ9*В\(1/3)-3,9ЬЬ253Е~03*1) 1 JJ1=N1/M1 I R9=(13,957-1Z6Z, 2]T3+ i 856b10/T3iZ)*LOG(D1)/LOG(W) I L1=-b,098-3Zb5,3/T3+ +ZZ35Z0/T31Z-3,98b7E+07lT3\3+R9 - ---- --- i 1 L7=L H5,b99~529ZfT3 1 _n Kb=10М2 1 H1=-90100+5,83E+07/T3 1 HZ=8,038E- 07*H(K)*H1 I Sb=K0*Z\Z+HZ*Z+K3+KblZ I S3=0,0558b7*HZt (l/(3-X(l)))*Sb Q Конец ) Рис. 19.2. Блок-схема программы РАШПИН Рис. 19.3. Блок-схема подпрограммы РАСЧЕТ РАСТВОРИМОСТИ смотрены процедуры, формирующие набор исходных данных для очередного варианта, после нее - вывод результатов расче­ та на печать и процедуры проверок по каждому из индексов М, 187
J, к,I:является ли рассчитанный вариант последним. При отри­ цательном ответе происходит формирование исходных данных для очередного варианта. Расчет заканчивается, когда рассчи­ таны и выведены на печать все результаты расчета для заказан­ ной серии вариантов. Блок-схема подпрограммы РАСЧЕТ РАСТВОРИМОСТИ приведена на рис. 19.3. Эта подпрограмма осуществляет расчет S3 по формулам (19.1)-(19.13). Между подпрограммой РАСЧЕТ РАСТВОРИМОСТИ, составляющей внутренний цикл расчета, и остальными частями программы РАШПИН, составляющими внешний цикл расчета, существует четкое функциональное раз­ личие. Первая осуществляет расчетные процедуры, вторая - ло­ гические процедуры (в дополнение к обязательным процедурам ввода исходных данных и вывода результатов расчета на пе­ чать). 19.6 . Текст программы Ниже приведен текст программы РАШПИН на языке Бейсик (программы 19.1-19.3). 10 RЕМ РАСЧЕТ РАСТВОРИМОСТИ ШПИНЕЛИ ТИПА NI(X)FE(3 - X) 04 20 DIM X(2)/Т1(10)/Н(2)/P(15),S1 (15),S2(15) :RЕМ ЗАДАНИЕ МАССИВОВ 30 P RINT "ИСХОДНЫЕ ДАННЫЕ” 40 INPUT "КОЭФФИЦИЕНТ, ХАРАКТЕРИЗУЮЩИЙ СОДЕРЖАНИЕ N1 В ШПИНЕЛИ:X(1),X(2)", Х(1),X(2) 50 PR INT " ТЕМПЕРАТУРА ТЕПЛОНОСИТЕЛЯ НА ВХОДЕ В РЕАКТОР И НА ВЫХОДЕ ИЗ НЕГО : Т1,ГРАД.С " 60 FOR 1=1Т010:PRINT I; :INPUT Т1 (I) :NEXТ I 70 INPUT "КОНЦЕНТРАЦИЯ ВОДОРОДА:Н(1),Н (2) НМЛ/КГ", H(1),Н(2) 80 PR INT " ЗНАЧЕНИЕ PH ТЕПЛОНОСИТЕЛЯ" 90 FOR J=1 TO 15:PRINT J;.-INPUT P(J) :NEXT J 1 00 GOTO 120 110 N=1 120 1=1 130 K=1 140 J=1 150 M=1 160 PRINT :PRINT -.PRINT 1 70 PRINT X u X 4 T1= ";T1(J);" — t f \ J I I Т1(J+I); H=" ;H(К):PRINT 130 PRINT S2": PH PR INT S1 S2 PH S1 190 L=1 200 T=T1 (J) 188 Прогр. 19.1 . Бейсик-программа РАШПИН: начало
210 REM РАСЧЕТ РАСТВОРИМОСТИ 220 ТЗ=Т+273.15 230 Z=1П* ( - Р(М) ) :RЕМ КОНЦЕНТРАЦИЯ ИОНОВ ВОДОРОДА 240 К0=10“ (1 . 083 +235 2/T3) :REM КОНСТАНТА РАВНОВЕСИЯ ВОССТАНОВЛЕНИЯ FЕ 250 К2=10‘ ( -1 .91+234/T3):K3=10‘ ( -6 .56 -190/T3):REM КОНСТАНТЫ ГИДРОЛИЗА FЕ 260 0=374.11 -Т 270 М1=3 .1975- . 3151548*0“(1/3)-1 .203374E-3*D+ 7.489081 Е-13*С>*4 . 280 N1=1 +.1342489*D *(1/3)-3 . 646263E-3*D 290 01=N1/M1:REM УДЕЛЬНАЯ ПЛОТНОСТЬ ВОДЫ 300 R9=(13 .957-1262. 2/ТЗ+85641 0 /СТЗ*2))*LOG(Г>1)/LOG(10) 310 L1= -4 .098 -3245.2/T3+223620/(T3*2)-3 .9о47Е7/(ТЗ*3) + R9 : RЕМ ИОННОЕ ПРОЗВЕДЕНИЕ ВОДЫ 320 L2=L1+5 .499-5292/ТЗ 330 К4=10*L2 340 Н1=-90Ю0+5.83Е7/Т3 350 Н2=8 .038Е -7 *Н(К)*Н1:REM ПАРЦИАЛЬНОЕ ДАВЛЕНИЕ ВОДОРОДА 360 S4=K0*Z'2+K2*Z+K3+K4/Z 370 S3=.055S47*S4*H2‘(1/(3-X(I))) 380 IF L>1THEN440 Прогр. 19.2. Бейсик-программа РАШ ПИН: продолжение 3 90 REM ФОРМИРОВАНИЕ ПЕЧАТИ 400 S1(M)=S3 410 L=L +1 420 J=J+1:GOTO 200 430 S2(M)=S3 440 IF N>1THEN470 450 P1=P(M):S5=S1(M) :S6=S2(M) 460 N=N+1:GOTO 520 470 P2=P(M):S7=S1(M) :S8=S2(M) 480 PRINTUSING " П . tftt",P1;:PRINTUSING " П . Iftilt..............,S5; S6; 490 PRINTUSING " # S7; S8 .t ttt" ,P2;:PRINTUSING " n .ttlttt............. 5 00 REM ПРОДОЛЖЕНИЕ РАСЧЕТА 510 N=1 520 M=M+1 530 IF M>15THEN550 540 J=J-1 :GOTO 190 550 IF J>9THEN570 560 J=J+1 :GOTO 150 570 IF K>1THEN5 90 580 K=K+1 : GOTO 140 590 IF I>1THEN610 600 1=1+1:G0TO 130 610 END Прогр. 19.3 . Бейсик-программа РАШ ПИН: окончание 189
19.7 . Задание исходной информации Исходные данные для расчета варианта задаются и вводятся в оперативную память ЭВМ с пульта управления в виде одно­ мерных массивов с индексными переменными: Т1 (J), Н (К). Р(М) и Х (I). Порядок ввода массивов приведен в табл. 19.2. Таблица 19.2. Порядок ввода массивов исходных данных в программе РАШПИН Иденти­ фикатор Численные значения исходных данных Индекс J(1,2,. ;б) Т1 1 2 3 4 6-1 б Твх1 т вых1 т т вх2 вых2 Ъ , 6/2 ■^вых, 6/2 Индекс К (1, 2, ...в) Я 1 2 в с н2,1 СН2,2 сн2>в Индекс М( 1,2, ...в) Р 1 2 а рНт д рНТ2 РН Т,а Индекс I (1,2 ,. ..,г) X 1 2 ... г *1 х2 Хг Примечание, б рекомендуется задавать четным. 1Э.8 . Контрольный пример Исходные данные для контрольного примера приведены в табл. 19.3. Образец выдачи на печать дан в табл. 19.4. 190
Таблица 19.3. Исходные данные для контрольного примера Иденти­ фикатор Численные значения исходных данных Индекс J Г1 1 2 3 4 5 6 250 280 260 290 270 300 Индекс К Я 1 2 40 60 Индекс М Р 1 2 3 4 5 6 7 8 910 6,0 6,5 7,0 7,5 8,0 8,5 9,0 9,5 10,0 10,5 Индекс I X 1 2 0,3 0,5 Х= .3 PH Таблица 19.4 Т1= 250 Т2= 280 S1 S2 PH Н= 60 S1 S2 6.00 3 .009Е -08 1.868Е -08 6.50 9.535Е -09 7. 924Е-09 7.00 7.283Е-09 6. 817Е-09 7.50 7.258Е-09 7.924Е-09 8.00 8 .145Е-09 9.409Е-09 8.50 1.113Е-08 1 .623Е-08 9.00 2. 061Е-08 3 .784Е-08 9.50 5.061Е-08 1.061Е-07 10.00 1.454Е-07 3.223Е-С7 10.50 4.455Е-07 1.005Е -06 х= .3 Т1= 260 Т2= 290 Н= 60 PH S1 S2 PH S1 S2 6.00 2.540Е-08 1 .622Е-08 6.50 8.924Е-09 7.485Е-09 7.00 7.131 Е-09 6.635Е -09 7.50 7.2 67Е-09 7.2 64Е-09 8.00 8 .521Е-09 9.790Е-09 8.50 1.2 64Е-08 1. 789Е-08 9.00 2.5 73Е-08 4.354Е-08 9.50 6.713Е-08 1.246Е-07 10.00 1.980Е -07 3.812Е-07 10.50 6.120Е-07 1 .192Е-06 191
Продолжение табл. 19.4 Х= .3 Т1= 270 Т2= 300 Н= 60 PH S1 S2 PH S1 S2 6.00 2.168Е-08 1.417Е-08 7.50 8.396Е -09 7.059Е -09 7.00 6.979Е-09 6.415Е-09 7.50 7.284Е -09 7.162 Е-09 8.00 8.959Е -09 9.990Е -09 8.50 1.439Е -08 1 .904Е-08 9.00 3 .164Е-08 4.769Е-08 9.50 8.617Е -08 1.383Е -07 10.00 2.586Е -07 4.248Е-07 10.50 8.039Е -07 1.330Е -06 Х= .3 Т1= 250 Т2= 280 Н= 40 PH S1 S2 PH S1 S2 6. 00 7.00 8.00 9.00 10.00 2.590Е -08 6.2 68Е-09 7. 009Е -09 1.773Е-08 1.2 52Е-07 1 .607Е-08 5 .867Е-09 8.097Е-09 3.256Е-08 2.77ЗЕ-07 6.50 7.50 8.50 9.50 10.50 8.206Е-09 6.24 6Е-09 9.5 78Е-08 4.355Е -08 3.834Е-07 6. 819Е-09 6.2 76Е-09 1.396Е -08 9.138Е-08 8.656Е -07 Х== .3 Т1= 260 Т2 == 290 Н= 40 PH S1 S2 PH S1 S2 6.00 7. 00 8.00 9. 00 10.00 2.186Е-08 6.13 7Е-09 7.3 ЗЗЕ-09 2.214Е-08 1..704-07 1.396Е -08 5. 71 0Е-09 8.424Е-09 3.747Е-08 3.281 Е-07 6.50 7.50 8.50 9.50 10.50 7. 680Е -09 6.2 53Е-09 1.088Е -08 5.777Е-08 5.2 66Е-07 6.441Е-09 6.2 51Е-09 1.539Е -08 1. 073Е-07 1.026Е-06 X= .3 Т1= 270 Т2= 300 Н= 40 PH S1 S2 PH S1 S2 6.00 7.00 8.00 9. 00 10.00 1.865Е -08 6. 006Е -09 7.710Е-09 2.72 2Е-08 2.225Е-07 1.219Е-08 5.521Е-09 8.5 97Е-09 4.104Е-08 3. 656Е -07 6.50 7.50 8.50 9.50 10.50 7.225Е-09 6.2 68Е-09 1.239Е-08 7.415Е-08 6. 918Е-07 7 .074Е-09 6.163Е-09 1.638Е -08 1.190Е-0 7 1.145Е-0 6 Х= .5 Т1= 250 Т2= 280 Н= 40 PH S1 S2 PH S1 S2 6.00 7.00 8.00 9.00 10.00 2.561Е-08 6.198Е-09 6. 932Е-09 1.754Е-08 1.238Е-07 1.5 74Е-08 5.745Е0-9 7.929Е-09 3.188Е-08 2.716Е-07 6.50 7.50 8.50 9.50 10.50 8.115Е-09 6.17 6Е-09 9.4 72 Е-09 4.307Е-08 3.791Е-07 6 .677Е-09 6.145Е-09 1.3 67Е-08 8.948Е-08 8.476Е-07 192
Окончание табл. 19.4 х= .5 Т1= 260 Т2= 290 Н= 40 PH S1 S2 PH S1 S2 6. 00 7.00 8.00 9.00 10.00 2.155Е-08 6.050Е -09 7.229Е-09 2.183Е-08 1.680Е -07 1.361 Е-08 5.5 69Е -09 8.217Е-09 3.655Е -08 3.200Е-07 6.50 7.50 8.50 9.50 10.50 7.5 71Е-09 6.165 Е-09 1.073Е-08 5.695Е -08 5.192Е-07 6.2 83 Е-09 6. 098Е -09 1.501Е-08 1. 046Е-08 1. 001Е-06 х= .5 Т1= 270 Т2= 300 Н= 40 PH S1 S2 PH S1 S2 6. 00 7. 00 8.00 9.00 10.00 1. 833Е -08 5. 901Е-09 7.5 76Е-09 2 .675Е-08 2.186Е-07 1.184Е-08 6.362Е-09 8.350Е -09 3.986Е -08 3.5 50Е -07 6.50 7.50 8.50 9.50 10.50 7.1 00Е-09 6.160Е-09 1.217Е-08 7.287Е-08 6. 798Е-07 5.900Е -09 5.986Е -09 1.5 91Е-08 1.155Е-07 1.112Е-06 Х== .5 Т1= 250 Т2 =: 280 Н= 60 PH S1 S2 PH S1 S2 6.00 7. 00 8.00 9.00 10.00 3 .012Е-08 7.290Е-09 8.152Е-09 2.063Е -08 1.456Е-07 1 .851Е-08 6. 756Е-09 9.32 5Е-09 3.750Е-08 3.194Е-07 6.50 7.50 8.50 9.50 10.50 9.544Е-09 7.2 64Е-09 1.1 14Е-08 5.065Е-08 4.459Е-07 7.853Е-09 7.22 7Е-09 1.Ф08Е -08 1 .052Е-07 9. 968Е -07 Х= .5 Т1= 260 Т2= 290 Н= 60 PH S1 S2 PH S1 S2 6. 00 2.535Е -08 1 .601Е-08 6.50 8.904Е -09 7.389Е -09 7. 00 7.1 15Е-09 6.5 50Е -09 7.50 7.251Е -09 7.171Е -09 8.00 8 .502 Е-09 9. 664 Е-09 8.50 1.261Е-08 1. 766Е -08 9.00 2.5 67Е-08 4.2 9 9Е-08 $.50 6.698Е -08 1.2 ЗОЕ-07 10.00 1. 976Е-07 3.764Е-07 10.50 6.106Е -07 1.17 7Е-06 X= .5 Т1= 270 12= 300 Н= 60 PH S1 S2 PH S1 S2 6.00 2.1 56Е-08 1.393Е -08 6.50 8.350Е -09 6.939Е -09 7. 00 6. 941 Е-09 6.306Е -09 7.50 7.?44Е-09 7.040Е-09 8.00 8 .910Е-09 9.820Е-09 8 .50 1.432 Е-08 1.871Е-08 9.00 3 .146Е-08 4.688Е -08 9 .50 8.570Е -08 1.359Е -07 10.00 2.572Е-0 7 4.176Е-07 10.50 7. 995Е -07 1.308Е -06 13-6071
Любая инженерная программа отражает состояние науки или техники на момент ее разработки. Разработчик инженерной про­ граммы должен сознавать возможность старения использован­ ной научной концепции и уже на стадии разработки программы продумать пути ее совершенствования. Применительно к программе РАШПИН возможные пути ее со­ вершенствования или обновления заключаются в следующем. Большинство численных коэффициентов в уравнениях (19.1)- (19.13) являются интерполяционными множителями, обеспечи­ вающими наилучшее совпадение результатов расчета по этим формулам с экспериментальными данными. По мере постанов­ ки новых экспериментов эти множители могут уточняться, и их обновление в программе не вызовет затруднений. Шпинели типа Ге3_ж Nix04 не являются единственными при­ месями коррозионного происхождения, растворимость которых в воде представляет интерес для различных областей науки и техники. И для рассматриваемых шпинелей существуют иные аналитические методы описания их растворимости в воде. Прог­ рамма РАШПИН допускает возможность разработки подпрог­ рамм расчета растворимости этих продуктов коррозии (аналогов подпрограммы РАСЧЕТ РАСТВОРИМОСТИ) и их использование в расчетах по специальному признаку. Программа РАШПИН может быть дополнена блоками расчета функционалов, зависящих от растворимости и представляющих практический интерес, например температурного коэффициен­ та растворимости 19.9 . Пути совершенствования алгоритма и программы ат= — — (19.14) 1 S3 с!Т или его среднего значения в активной зоне реактора g = . - JilizJ.il -------. (19.15) 1 (S2+ 51)(Т2— Т1) Программа РАШПИН может использоваться ка к блок более сложной комплексной программы. Эта возможность реализова­ на в программе расчета массопереноса радиоактивности в ко н­ турах АЭС с ВВЭР. На вход блока РАШПИН подаются результа­ ты расчета величины рНг реакторной воды, выполняемого бло- 194
ком РНВВЭР (см. гл. 18). Выходные данные блока РАШПИН ис­ пользуются в следующих блоках комплексной программы. Небольшая модификация программы РАШПИН позволяет ис­ пользовать ее в качестве тренажера в учебных целях. Такая мо­ дификация программы (РАШПИНУ) создана и используется для обучения студентов. Модификация касается двух аспектов: раз­ работки и подключения графики на дисплее и использования дискретного способа ввода массива исходных данных с пульта управления ЭВМ. Одна из типичных учебных задач состоит в том, что обучающийся регулирует водный режим АЭС в соот­ ветствии с некоторыми критериями. Например, при изменении одних параметров (t, Сн2и Др.) он должен так подбирать значе­ ние pH треакторной воды, чтобы средний температурный коэф­ фициент растворимости йт, определяющий направление и скорость переноса массы растворенного вещества в контуре АЭС, поддерживался в заданных пределах. ПРИЛОЖЕНИЕ 1 СИНОНИМЫ И БЛИЗКИЕ ПО СМЫСЛУ КОНСТРУКЦИИ БЕЙСИКА 1 . ПРИСВОЕНИЕ ЗНАЧЕНИЯ ПЕРЕМЕННОЙ: А=В:LET А=В:А,В=С Ав="Б ЕйСИКм:1.ЕТ ВХ=1 DEFSTR-A:DEFINT-B:A=” БЕЙСИК” : LET В=1 2 . РАЗДЕЛЕНИЕ ОПЕРАТОРОВ НА СТРОКЕ: A=B:C=D\E=L D=B 3 . УСЛОВНЫЕ ПЕРЕХОДЫ: IF АОО THEN GOTO 10 IF АХО GOTO 10 IF AO0 THEN 10 IF A#0 GOTO 10 IFNOTAGOTO10 4 . ЛОГИЧЕСКОЕ УМНОЖЕНИЕ: IF (A=B)*(C=0) THEN... IF A=B AND C=0 THEN... IF A=B THEN IF NOT С THEN... 5 . ЛОГИЧЕСКОЕ СЛОЖЕНИЕ: IF (A>=B)+(C=D) GOTO 10 IF A=>B OR C=D THEN 10 IF A>=B THEN 10:IF C=D THEN 10 6 . ВЫВОД ПЕРЕМЕННЫХ НА ДИСПЛЕЙ: PRINT А ?А WRITE A DISP A SELECT PRINT 05:PRINT А 7 . ВЫВОД ПЕРЕМЕННЫХ НА ПРИНТЕР: LPRINT A PRINT /ОС,A SELECT PRINT 0C:PRINT А 195
8 . ВВОД ЗНАЧЕНИЯ ПЕРЕМЕННОЙ С КЛАВИАТУРЫ: INPUT"A? ";A INPUT"AM,A INPUT 'А'А PRINTMA";\INPUT А 9 . ПРИЕМ БАЙТА С КЛАВИАТУРЫ БЕЗ ПРЕРЫВАНИЯ: GET A GET А“ KEVIN Ай 10,20 Ae=GETa Ав=КЕУ>< 1 0.ВЫСТАВЛЕНИЕ КУРСОРА НА ДИСПЛЕЕ: LOCATE X ,Y CURSOR X,Y CUR X,Y VCURX :HCURY PRINT AT(X,Y) 1 1 . ПЕЧАТЬ С ФОРМАТОМ: PRINT USINGM,A PRINTJ2. 2! A A=INT (100*A)/100:PRINT A 1 2 . ВЫДЕЛЕНИЕ ЧАСТИ ЛИТЕРНОЙ ПЕРЕМЕННОЙ: MIDH(An,A ,B) STR(AH,A ,B> SEGB<A**,A,A+B) LEFTH(An/ A) RIGHTb(Ab,b) 1 3 .СЧИТЫВАНИЕ ПРОГРАММЫ С ВНЕШНЕГО НОСИТЕЛЯ: OLD APPEND LOAD MERGE 1 4 . ОПРОС ТАЙМЕРА: T= TIME Тн=Т1п T=CLK INPUT aT 1 5 . ПЕРЕВОД ЛИТЕРНОЙ ПЕРЕМЕННОЙ В ЧИСЛОВУЮ: CONVERT А»» ТО A A=VAL (А“ ) 1 6 . ПЕРЕВОД ЧИСЛОВОЙ ПЕРЕМЕННОЙ В ЛИТЕРНУЮ: CONVERT А ТО Ап,(#) Ab =STRB(А) 1 7 . АЛЬТЕРНАТИВА: 10 IF А=0 THEN B=C:GOTO 30 20 B=D 30 ... 10 IF NOT A THEN B=C ELSE B=D 10IFNOTATHEN ELSE IFEND 18.ЦИКЛ 'ПОКА': 10 IF A=0 THEN ....-GOTO 10 10 IF AOO THEN 20: ...: GOTO 10 20 ... 10 WHILE NOT A: ...:WEND 19.ВЫЗОВ СИМВОЛА ASCII ИЛИ КОИ-7: CHRb(> HEXO 2 0 . ПОИСК ПОДСТРОКИ В СТРОКЕ: INSTRO POSO ПРИЛОЖЕНИЕ 2 ПЕРЕЧЕНЬ СЛУЖЕБНЫХ СЛОВ ПРОГРАММ КНИГИ ВНИМЙ НИЕ! 3-ТО НЕ СЛОВАРЬ ОПЕРАТОРОВ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ БЕЙСИК- ПАСКАЛЬ И ФОРТРАН» А ТОЛЬКО РАСШИФРОВКА СЛУЖЕБНЫХ СЛОВ.. ИСПОЛЬЗОВАННЫХ В ПРОГРАММАХ К Н И ГИ . ПОД БЕЙСИКОМ ПОНИМАЕТСЯ ОДНА ИЗ ЕГО ВЕРСИЙ. 1. RBS - ЗАГОЛОВОК ВСТРОЕННОЙ ФУНКЦИИ БЕЙСИКА И ПАС­ КАЛЯ ВЫЧИСЛЕНИЯ АБСОЛЮТНОГО ЗНАЧЕНИЯ ПЕРЕ­ МЕННОЙ ИЛИ АЛГЕБРАИЧЕСКОГО ВЫРАЖЕНИЯ* СТОЯ­ ЩЕГО В СКОБКАХ. 196
2. AND 3 . ARRAY 4 .BEGIN 5. BELL 6. CHR 7 . CLEAR S . CLOSE 9. CLS 1 0 . CONVERT 11. CURSOR 12. DATA - ОПЕРАЦИЯ ЛОГИЧЕСКОГО УМНОЖЕНИЯ ДВУХ БУЛЕВЫХ ПЕРЕМЕННЫХ ИЛИ ВЫРАЖЕНИЙ* СТОЯЩИХ СПРЙ ВР И СЛЕВА ОТ СЛОВО AND; РЕЗУЛЬТАТ ОПЕРАЦИИ"ВЕР­ НО " f ЕСЛИ ВЕРНЫ ОВД БУЛЕВЫХ ВЫРАЖЕНИЯМИ "НЕВЕРНО"* ЕСЛИ ОДНО ИЛИ ОБА ВЫРАЖЕНИЯ НЕ­ ВЕРНЫ. - СЛУЖЕБНОЕ СЛОВО ПАСКАЛЯ/ СЛУЖАЩЕЕ ДЛЯ РЕ­ ЗЕРВИРОВАНИЯ В ПАМЯТИ МАШИНЫ МЕСТА ДЛЯ МАС­ СИВОВ. - В ПАСКАЛЬ-ПРОГРАММАХ СЛУЖИТ ДЛЯ ОБОЗНАЧЕНИЯ НАЧАЛА МОДУЛЯ. - ОПЕРАТОР БЕЙСИКА ПОДАЧИ ЗВУКОВОГО СИГНАЛА <СМ. СИНОНИМ В П.32). - ЗАГОЛОВОК ВСТРОЕННОЙ ФУНКЦИИ БЕЙСИКА ВЫЗО­ ВА СИМВОЛА.» ДЕСЯТИЧНЫЙ КОД КОТОРОГО ЗАПИСАН В СКОБКАХ. - ОПЕРАТОР БЕЙСИКА ВОССТАНОВЛЕНИЯ КАКОГО -ТО НАЧАЛЬНОГО СТАТУСА: ОЧИСТКА ПАМЯТИ МАШИНЫ ОТ ПРОГРАММЫ ИЛИ ДАННЫХ, ВОССТАНОВЛЕНИЕ СТЕКОВ И Т.Д . - ОПЕРАТОР БЕЙСИКА ЗАКРЫТИЯ ФАЙЛА ПОСЛЕ ЗАПИ­ СИ В НЕГО ДАННЫХ <СМ. СИНОНИМ В П.12>. - ОПЕРАТОР БЕЙСИКА ОЧИСТКИ ЭКРАНА ДИСПЛЕЯ <СМ. СИНОНИМ В П.32>. - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ПЕРЕНОСА ДАННЫХ И З ЧИСЛОВОЙ ФОРМЫ В ЛИТЕРНУЮ И ОБРАТНОЙ ОПЕРАЦИИ <СМ. СИНОНИМ В П .8 5 ). - ЗАГОЛОВОК ОПЕРАТОРА ПЕРЕМЕЩЕНИЯ КУРСОРА В ЗАДАННУЮ ПОЗИЦИЮ. - СЛУЖЕБНОЕ СЛОВО БЕЙСИКА, ВХОДЯЩЕЕ В ОПЕРА­ ТОРЫ! 197
fi^DRTR+СПИСОК КОНСТАНТ, ОТДЕЛЕННЫХ ЗАПЯТЫМИ - ОПЕРАТОР СПИСКА ДАННЫХ В ПРОГРАММЕ; B)DRTR LORD DC - СЧИТЫВАНИЕ ДАННЫХ ИЗ ФАЙЛА B)DRTR LORD DC...OPEN <CM. СИНОНИМ В П.69>- ОТКРЫТИЕ ФАЙЛА ДЛЯ СЧИТЫВАНИЯ; DDRTR SRVE DC - ЗАПИСЬ ДАННЫХ В ФАЙЛ; fl)DRTR SRVE DC...OPEN <CM. СИНОНИМ В П.89>- ОТКРЫТИЕ ФАЙЛА ДЛЯ ЗАПИСИ; E>DRTR SAVE END - ЗАКРЫТИЕ ФАЙЛА ПОСЛЕ ЗА­ ПИСИ. 12. DC - СЛОВО В ОПЕРАТОРАХ ОБМЕНА ДАННЫХ МЕЖДУ ОЗУ И ДИСКОВОДОМ, ОЗНАЧАЮЩЕЕ, ЧТО ДИСК <D> РАЗ­ МЕЧЕН ДЛЯ РАБОТЫ В РЕЖИМЕ КАТАЛОГА С О <СМ. ОПЕРАТОРЫ П .12). 14. DEF FN - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА, ОБ'' ЯВЛЯЮЩЕГО В ПРОГРАММЕ ФУНКЦИИ) ПОЛЬЗОВАТЕЛЯ. 15. DEF INT - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА, ОБ'ЯВЛЯЮЩЕГО ЦЕЛОЧИСЛЕННЫЕ ПЕРЕМЕННЫЕ В ПРОГРАММАХ. 16. DIM - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ОБ'ЯВЛЕНИЯ МАС­ СИВОВ <СМ. СИНОНИМ НА ПАСКАЛЕ В П .З , А НА ФОРТРАНЕ В П.1?) 17. DIMENSION - ЗАГОЛОВОК ОПЕРАТОРА ФОРТРАНА ОБ'ЯВЛЕНИЯ МАССИВОВ <СМ. П .16>. 18. DO - А ) СЛУЖЕБНОЕ СЛОВО В ЦИКЛЕ "ПОКА" НА ПАСКАЛЕ Б >СЛУЖЕБНОЕ СЛОВО В Ц ИКЛЕ С ПАРАМЕТРОМ НА ПАСКАЛЕ И ФОРТРАНЕ. 19. Е - СИМВОЛ, ОТДЕЛЯЮЩИЙ МАНТИССУ ОТ ЗНАКА И ЗНА­ ЧЕНИЯ ПОРЯДКА В ВЕЩЕСТВЕННЫХ КОНСТАНТАХ. 20. ELSE - СЛУЖЕБНОЕ СЛОВО, СТОЯЩЕЕ В ЗАГОЛОВКЕ ОДНОГО ИЗ ПЛЕЧ АЛЬТЕРНАТИВЫ <ЗАГОЛОВОК ВТОРОГО ПЛЕЧА СМ. В П .80) НА ПАСКАЛЕ И БЕЙСИКЕ. 198
22. 22. 24. 25. 26. 27. 28. 29. 30. 31. 21. END ERROR FLOAT FN FOR FORMAT FUNCTION GET GOSUB GOTO - FOB ПАСКАЛЬ-ПРОГРЙММЙХ СЛУЖИТ ДЛЯ обо зн а че - НИЯ КОНЦЙ МОДУЛЯ ИЛИ КОНЦА ПРОГРАММЫ; Б>В БЕйСИК-ПРОГРАММАХ ПРЕРЫВАЮТ ПРОГОНКУ ПРОГРАММЫ; В>СМ. ОПЕРЙТОР В П .12 . - СЛУЖЕБНОЕ СЛОВО/ ВХОДЯЩЕЕ В ОПЕРАТОРЫ БЕЙ­ СИКА/ ПРЕДНАЗНАЧЕННЫЕ ДЛЯ ВКЛЮЧЕНИЯ И ВЫК­ ЛЮЧЕНИЯ ЙНЙЛИЗЙТОРА ПРОГРАММНЫХ ОШИБОК. - СИМВОЛ/ ВХОДЯЩИЙ В ОПЕРАТОРЫ БЕЙСИКА ОБМЕНА ИНФОРМАЦИЕЙ МЕЖДУ ОЗУ И ДИСКОВОДОМ/ ЗНАЧЙЮ- ЩИй/ ЧТО ЗАДЕЙСТВОВАН ДИСК В КАРМАНЕ F <ВЕРХНЕМ) ДИСКОВОДА <СМ. П .58>. - ЗАГОЛОВОК ФУНКЦИИ ПАСКАЛЯ ПЕРЕВОДА ЦЕЛОЧИС­ ЛЕННОЙ ПЕРЕМЕННОЙ В ВЕЩЕСТВЕННУЮ. - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ВЫЗОВА ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ. - ПЕРВОЕ СЛУЖЕБНОЕ СЛОВО В ЗАГОЛОВКЕ ЦИКЛА С ПАРАМЕТРОМ НА БЕЙСИКЕ И ПАСКАЛЕ. - УКАЗАТЕЛЬ В ФОРТРАН-ПРОГРАММЕ ВЫВОДА ИЛИ ВВОДА ИНФОРМАЦИИ С ОПРЕДЕЛЕННЫМ ФОРМАТОМ. - ЗАГОЛОВОК КОНСТРУКЦИИ ПАСКАЛЯ ЗАДАНИЯ ВИДА ФУНКЦИИ ПОЛЬЗОВАТЕЛЯ. - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ПРИЕМА БАЙТА С КЛАВИАТУРЫ БЕЗ ПРЕРЫВАНИЯ с;СМ. СИНОНИМ В П.34). - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ПЕРЕХОДА К ПОД­ ПРОГРАММЕ. - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА БЕЗУСЛОВНОГО ПЕРЕХОДА. 199
32. HEX 33. IF 34. INKEV 35. INPUT 36. INPUT* 37. INT 38. INTEGER - ЗАГОЛОВОК ФУНКЦИИ БЕЙСИКА ВЫЗОВА СИМВОЛА, ШЕСТНАДЦАТИРИЧНЫЙ КОД КОТОРОГО ЗАПИСАН В СКОБКАХ: 0 1 - ПЕРЕВОД КУРСОРА В ЛЕВЫЙ ВЕРХ­ НИЙ УГОЛ ЭКРАНА, 0 3 -ТО ЖЕ С ОЧИСТКОЙ ЭКРАНА 0 7 - ПОДАЧА ЗВУКОВОГО СИГНАЛА <СМ. СИНОНИМ ВП.5). - А)ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА УСЛОВНОГО ПЕРЕХОДА ИЛИ АЛЬТЕРНАТИВЫ; Б)ЗАГОЛОВОК АЛЬТЕРНАТИВЫ НА ПАСКАЛЕ. - СЛУЖЕБНОЕ СЛОВО В ОПЕРАТОРЕ БЕЙСИКА ПРИЕМА БАЙТА С КЛАВИАТУРЫ БЕЗ ПРЕРЫВАНИЯ <СМ. СИ­ НОНИМ В П.29). - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ПЕРЕДАЧИ ИНФОР­ МАЦИИ В ОЗУ ЧЕРЕЗ КЛАВИАТУРУ. - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ОПРОСА ВСТРОЕН­ НЫХ ЧАСОВ ЭВМ. - ЗАГОЛОВОК ФУНКЦИИ БЕЙСИКА ОПРЕДЕЛЕНИЯ БЛИ­ ЖАЙШЕГО БОЛЬШЕГО ЦЕЛОГО ЧИСЛА. - СЛУЖЕБНОЕ СЛОВО, ИСПОЛЬЗУЕМОЕ В ЗАГОЛОВКЕ 39. INV 40. LEFT 41. LEN 42. LET ПАСКАЛЬ-ПРОГРАММЫ ДЛЯ ОБЪЯВЛЕНИЯ ЦЕЛОЧИС­ ЛЕННЫХ ПЕРЕМЕННЫХ. - СЛУЖЕБНОЕ СЛОВО БЕЙСИКА, ВХОДЯЩЕЕ В МАТРИЧ­ НЫЙ ОПЕРАТОР ВЫЧИСЛЕНИЯ ОБРАТНОЙ МАТРИЦЫ. - ЗАГОЛОВОК ФУНКЦИИ БЕЙСИКА "ВЫРЕЗАНИЯ" ЛЕВОЙ ЧАСТИ ЛИТЕРНОЙ ПЕРЕМЕННОЙ. - ЗАГОЛОВОК ФУНКЦИИ БЕЙСИКА ОПРЕДЕЛЕНИЯ ДЛИНЫ ЛИТЕРНОЙ ПЕРЕМЕННОЙ. - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ПРИСВОЕНИЯ ЗНА­ ЧЕНИЯ ПЕРЕМЕННОЙ <В ПРОГРАММАХ ЭТО СЛОВО ОБЫЧНО ОПУСКАЮТ). 200
42. LINE 44. LINPUT 45. LORD 46. LOG 47. MAT 48. MID 49. MUSIC 50. NEXT 51. NOT 52. ON 53. OPEN - СЛУЖЕБНОЕ СЛОВО БЕЙСИКЙ/ ВХОДЯЩЕЕ В ОПЕРЙ- ТОР ПЕРЕДАЧИ ЧЕРЕЗ КЛЙВИЙТУРУ ЭВМ В ЕЕ ОЗУ ЦЕПОЧКИ СИМВОЛОВ/ ВКЛЮЧЙЯ И ЗНЙКИ-РЙЗДЕЛИ­ ТЕЛИ. - ЗЙГ0П0В0К ОПЕРЙТОРЙ БЕЙСИКА КОРРЕКЦИИ ЗНЙ- ЧЕНИЯ ЛИТЕРНОЙ ПЕРЕМЕННОЙ. - СЛУЖЕБНОЕ СЛОВО БЕЙСИКЙ/ ВХОДЯЩЕЕ В ОПЕРА­ ТОРЫ ПЕРЕДАЧИ ИНФОРМАЦИИ В ОЗУ МАШИНЫ ИЗ ВНЕШНЕЙ ПАМЯТИ с;СМ. П . 1 2 ;' . - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ВЫЧИСЛЕНИЯ ЛО­ ГАРИФМА. - СЛУЖЕБНОЕ СЛОВО БЕЙСИКА/ ВХОДЯЩЕЕ В МАТРИЧ­ НЫЕ ОПЕРАТОРЫ. - ЗАГОЛОВОК ФУНКЦИИ БЕЙСИКА "ВЫРЕЗАНИЯ" СЕРЕ­ ДИНЫ ЛИТЕРНОЙ ПЕРЕМЕННОЙ <СМ. СИНОНИМ В П.77). - ЗАГОЛОВОК ОПЕРЙТОРЙ БЕЙСИКА ПРОИГРЫВАНИЯ МЕЛОДИИ. - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ФИКСАЦИИ КОНЦй ЦИКЛА С ПАРАМЕТРОМ. - ЗАГОЛОВОК ЛОГИЧЕСКОЙ ФУНКЦИИ БЕЙСИКЙ ИЗМЕ­ НЕНИЯ ЗНАЧЕНИЯ БУЛЕВОЙ ПЕРЕМЕННОЙ НЙ ПРОТИ­ ВОПОЛОЖНЫЙ. - НА БЕЙСИКЕ: Й>ЗАГОЛОВОК ОПЕРЙТОРЙ МНОЖЕСТВЕННОГО ВЕТВ­ ЛЕНИЯ; Б)СЛУЖЕБНОЕ СЛОВО/ ВХОДЯЩЕЕ В ОПЕРЙТОР ВКЛЮЧЕНИЯ ЙНЙЛИЗАТОРЙ ПРОГРАММНЫХ ОШИБОК <СМ. П .2 2). - СЛУЖЕБНОЕ СЛОВО БЕЙСИКА/ ВХОДЯЩЕЕ В ОПЕРА­ ТОРЫ ОТКРЫТИЯ ФАЙЛОВ <СМ. П .1 2). 201 14-6071
54. OR - ОПЕРЙЦИЯ ЛОГИЧЕСКОГО СЛОЖЕНИЯ БУЛЕВЫХ ПЕРЕ­ МЕННЫХ ИЛИ ВЫРАЖЕНИЙ, СТОЯЩИХ СПРАВА И СЛЕ­ ВА ОТ СЛОВА OR: РЕЗУЛЬТАТ ОПЕРАЦИИ "ВЕРНО", ЕСЛИ ВЕРНЫ ОБЙ ИЛИ ОДНО ИЗ ДВУХ БУЛЕВЫХ ВЫ­ РАЖЕНИЙ. 55. POS - ЗАГОЛОВОК ФУНКЦИИ БЕЙСИКА ПОИСКЙ ПОДСТРОКИ В СТРОКЕ. 56. PRINT - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ВЫДАЧИ ИНФОРМА­ ЦИИ НА ЭКРАН ДИСПЛЕЯ, ПРИНТЕР ИЛИ КАКОЕ-ТО ДРУГОЕ ВНЕШНЕЕ УСТРОЙСТВО <МАГНИТНАЯ ЛЕНТА.» НАПРИМЕР). 5 7 . PROCEDURE - ЗАГОЛОВОК КОНСТРУКЦИИ ПАСКАЛЯ ЗАДАНИЯ ВИДА ПРОЦЕДУРЫ. 58. R - СИМВОЛ, ВХОДЯЩИЙ В ОПЕРАТОРЫ БЕЙСИКА ОБМЕНА ИНФОРМАЦИЕЙ МЕЖДУ ОЗУ И ДИСКОВОДОМ, ОЗНАЧА­ ЮЩИЙ.» ЧТО ЗАДЕЙСТВОВАН ДИСК В КАРМАНЕ R <НИЖНЕМ> ДИСКОВОДА <СМ. П.22>. 59. READ - А >СЛУЖЕБНОЕ СЛОВО БЕЙСИКА, ВХОДЯЩЕЕ В ОПЕ­ РАТОРЫ ПРИСВОЕНИЯ ПЕРЕМЕННЫМ ЗНАЧЕНИЙ, СЧИТАННЫХ ИЗ БЛОКА ДАННЫХ; Б >ЗАГОЛОВОК ОПЕРАТОРА ПАСКАЛЯ ВВОДА ДАННЫХ ЧЕРЕЗ КЛАВИАТУРУ. 60. RERDLN - ЗАГОЛОВОК ОПЕРАТОРА ПАСКАЛЯ, ОПИСАННОГО В П .59Б , НО ОТЛИЧАЮЩИЙСЯ ТЕМ, ЧТО ПОСЛЕ ЕГО ВЫПОЛНЕНИЯ КУРСОР ПЕРЕВОДИТСЯ НА НОВУЮ СТРОКУ. 61. RERL - СЛУЖЕБНОЕ СЛОВО, ИСПОЛЬЗУЕМОЕ В ЗАГОЛОВКЕ ПАСКАЛЬ-ПРОГРАММЫ ДЛЯ ОБ'ЯВЛЕНИЯ ВЕЩЕСТВЕН­ НЫХ ПЕРЕМЕННЫХ. 62. REDIM - ЗАГОЛОВОК ОПЕРАЦИИ БЕЙСИКА ПЕРЕОПРЕДЕЛЕНИЯ РАЗМЕРНОСТЕЙ МАССИВОВ. 202
62. REM 64. REPEAT 65. RESTORE 66. RETURN 67. RIGHT 68. RND 69. ROPEN 70. SAVE 7 1 . SCRATCH 72. SIZE 73. SQR 74. SQRT 75. STEP - НАЧАЛО КОММЕНТАРИЯ НЙ БЕЙСИКЕ. - ЗАГОЛОВОК ЦИКЛА "ДО" НЙ ПАСКАЛЕ И НЙ НЕКО­ ТОРЫХ ВЕРСИЯХ БЕЙСИКА. - ОПЕРАТОР БЕЙСИКА <ЗАГОЛОВОК ОПЕРАТОРА) ВОЗ­ ВРАТА УКАЗТЕЛЯ СЧЕТЧИКА СЧИТЫВАНИЯ ЗНАЧЕНИЙ ПЕРЕМЕННЫХ ИЗ БЛОКА ДАННЫХ. - ОПЕРЙТОР ВОЗВРЙТЙ ИЗ ПОДПРОГРАММЫ В ОСНОВ­ НУЮ БЕйСИК-ПРОГРАММУ ИЛИ ПОДПРОГРАММУ ПРЕД­ ЫДУЩЕГО УРОВНЯ. - ЗАГОЛОВОК ФУНКЦИИ БЕЙСИКА "ВЫРЕЗАНИЯ" ПРА­ ВОЙ ЧАСТИ ЛИТЕРНОЙ ПЕРЕМЕННОЙ. - ЗАГОЛОВОК ФУНКЦИИ БЕЙСИКА,- ВЫЗЫВАЮЩЕЙ ПСЕВ­ ДОСЛУЧАЙНОЕ ЧИСЛО. - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ОТКРЫТИЯ ФАЙЛА ДЛЯ СЧИТЫВАНИЯ <СМ. СИНОНИМ В П .1 2 В ). - СЛУЖЕБНОЕ СЛОВО БЕЙСИКА.» ВХОДЯЩЕЕ В ОПЕРА­ ТОРЫ ПЕРЕДАЧИ ИНФОРМАЦИИ ИЗ ОЗУ МАШИНЫ ВО ВНЕШНЮЮ ПАМЯТЬ <СМ. П .1 2). - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ПРИСВОЕНИЯ ФАЙ­ ЛУ СТАТУСА ЛИКВИДИРОВАННОГО. - СИСТЕМНАЯ ПЕРЕМЕННАЯ БЕЙСИКА.» ХРАНЯЩАЯ ЗНА­ ЧЕНИЯ ОСТАТКА ПАМЯТИ МАШИНЫ.» СВОБОДНОЙ ОТ ПРОГРАММ И ДАННЫХ. - А)ЗАГОЛОВОК ФУНКЦИИ БЕЙСИКА ИЗВЛЕЧЕНИЯ КВА­ ДРАТНОГО КОРНЯ; Б)ЗАГОЛОВОК ФУНКЦИИ ПАСКАЛЯ ВОЗВЕДЕНИЯ В КВАДРАТ. - ЗАГОЛОВОК ФУНКЦИИ ПАСКАЛЯ ИЗВЛЕЧЕНИЯ КВА­ ДРАТНОГО КОРНЯ. - СЛУЖЕБНОЕ СЛОВО В БЕЙСИК-ПРОГРАММАХ.» УКАЗЫ­ ВАЮЩЕЕ ШАГ ИЗМЕНЕНИЯ ПАРАМЕТРА В ЦИКЛЕ. 203
76. 77. 78. 79. 80. 81. 32. 83. 84. 85. 86. 87. 88. 204 ;тор STR :ыйр TEMPO THEN то TRUNC USING UNTIL V fiL V fiR WEND WHILE - ОПЕРАТОР БЕЙСИКА, ПРЕРЫВАЮЩИЙ ВЫПОЛНЕНИЕ ПРОГРАММЫ. - ЗАГОЛОВОК ФУНКЦИИ БЕЙСИКА " ВЫРЕЗАНИЯ" СЕРЕ­ ДИНЫ ЛИТЕРНОЙ ПЕРЕМЕННОЙ <СМ. СИНОНИМ В П.48). - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА, ОСУЩЕСТВЛЯЮЩЕ­ ГО ВЗАИМНЫЙ ОБМЕН ЗНАЧЕНИЙ У ПАРЫ ПЕРЕМЕН­ НЫХ. - ЗАГОЛОВОК ОПЕРАТОРА БЕЙСИКА ЗАДАНИЯ ТЕМПА ПРОИГРЫВАНИЯ МЕЛОДИЙ. - СЛУЖЕБНОЕ СЛОВО, СТОЯЩЕЕ В ЗАГОЛОВКЕ ОДНОГО ИЗ ПЛЕЧ АЛЬТЕРНАТИВЫ <БЕЙСИК, ПАСКАЛЬ, ФОР­ ТРАН: ЗАГОЛОВОК ВТОРОГО ПЛЕЧА СМ. В П . 20). - СЛУЖЕБНОЕ СЛОВО В БЕЙСИК-ПРОГРАММАХ, УКАЗЫ­ ВАЮЩЕЕ ПРЕДЕЛЬНОЕ ЗНАЧЕНИЕ ПАРАМЕТРА ЦИКЛА. - ЗАГОЛОВОК ФУНКЦИИ ПАСКАЛЯ ПЕРЕВОДА ВЕЩЕС­ ТВЕННОЙ ПЕРЕМЕННОЙ В ЦЕЛОЧИСЛЕННУЮ. - СЛУЖЕБНОЕ СЛОВО, УКАЗЫВАЮЩЕЕ ФОРМАТ ПЕЧАТИ ПРИ ВЫВОДЕ ЗНАЧЕНИЙ ЧИСЛОВЫХ ПЕРЕМЕННЫХ НА ДИСПЛЕЙ ИЛИ ПРИНТЕР. - СЛУЖЕБНОЕ СЛОВО, ОТМЕЧАЮЩЕЕ КОНЕЦ ЦИКЛА " ДО" В ПАСКАЛЬ*И БЕЙСИК-ПРОГРАММАХ. - ЗАГОЛОВОК ФУНКЦИИ БЕЙСИКА ОПРЕДЕЛЕНИЯ ДЕСЯ­ ТИРИЧНОГО КОДА СИМВОЛА, УКАЗАННОГО В СКОБ­ КАХ, - ЗАГОЛОВОК КОНСТРУКЦИИ ПАСКАЛЬ-ПРОГРАММЫ, ОБЪЯВЛЯЮЩЕЙ ТИПЫ ПЕРЕМЕННЫХ. - СЛУЖЕБНОЕ СЛОВО, ЗАМЫКАЮЩЕЕ ЦИКЛ "ПОКА" В БЕЙСИК-ПРОГРАММАХ. - ЗАГОЛОВОК ЦИКЛА "ПОКА" В БЕЙСИК И ПАСКАЛЬ- ПРОГРАММАХ.
89. WOPEN ЗАГОЛОВОК ОПЕРЙТОРЙ БЕЙСИКЙ ОТКРЫТИЯ ФЙЙЛА ДЛЯ ЗЙПИСИ <СМ. СИНОНИМ В П.12Д> 90. WRITE ЗАГОЛОВОК ОПЕРЙТОРЙ <ПРОЦЕДУРЫ.) ПАСКАЛЯ ВЫ­ ВОДА ДАННЫХ НА ДИСПЛЕЙ 91. WRITELN ЗАГОЛОВОК ОПЕРАТОРА СПРОЦЕДУРЫ) ПАСКАЛЯ ВЫ­ ВОДА ДАННЫХ НА ДИСПЛЕЙ С ПЕРЕВОДОМ КУРСОРА НА НОВУЮ СТРОКУ ДИСПЛЕЯ 92. 2ER СЛУЖЕБНОЕ СЛОВО БЕЙСИКА,- ВХОДЯЩЕЕ В МАТРИЧ­ НЫЙ ОПЕРАТОР ПРИСВОЕНИЯ НУЛЕВЫХ ЗНАЧЕНИЙ ЭЛЕМЕНТАМ МАССИВА- ПРИЛОЖЕНИЕ 3 Методика решения задач в среде электронных таблиц интег­ рированного пакета Framework III фирмы Ashton-Tate Кодирование решения задачи водоподготовки и водного режима ТЭС и АЭС на одном из алгоритмических языков программирования (BASIC, Pascal, fortran) - это не эффективный путь инженерного творчества. Часто специалист-непрограм- мист, программируя поставленную задачу, приходит в тупик и запутывается в операторах обмена информацией с периферией. В помощь инженеру создано немало программных сред, исклю­ чающих кодирование. О двух из них, математическая среда Eureka фирмы Borland Inc. (см. рис. 3.3 на с. 39) и пакет Frame­ work III фирмы Ashton-Tate, сказано в книге. На с. 68 в гл. 6 (см. рис. 6.6) приведена электронная таблица расчета двухступенчатой ионитной водоподготовительной установки в среде интегрированного пакета (текстовый про­ цессор - электронные таблицы - базы данных- деловая графи­ ка - телекоммуникации) Framework III (Работа с фреймами, третья версия). Методика составления электронных таблиц сильно отличается от методики написания программ на языках Бейсик или Паскаль, перечень операторов которых дан в при­ ложении 2. По электронной таблице можно ’’ползать” экраном дисплея, нажимая клавиши ’’стрелочка вверх” , ’’в н из” , ’’влево” , ’’вправо” , и с помощью цифровых или символьных клавиш 205
менять содержимое клеток. Электронная таблица отличает­ ся от простого табулированного текста, написанного с помощью текстового процессора, тем, что некоторые ее клетки содержат не числовое или символьное значение, а результат расчета по введенным пользователем формулам и алгоритмам. Работать в определенной программной среде означает, что на экране дисплея имеется ряд служебных слов - заголовков меню со списком услуг, какие компьютер может оказать человеку в решении его задачи. Вхождение в программную среду пакета Framework III вызывает появление в верхней части дисплея следующих слов-заголовков меню услуг: Apps - аппаратная часть компьютерной сети, приложения; Disk - работа с архивной памятью на магнитных дисках; Create - создание новых информационных объ­ ектов; Edit - редактирование информационных объ­ ектов; Locate - поиск информации в информационных объектах; Frames - работа с фреймами; Words - задание параметров текстового процес­ сора; Numbers - задание формата числовых величин; Graph - построение графических объектов; Print - распечатка информационных объектов. Чтобы создать электронную таблицу (см. рис. 6 .6) необходимо сделать следующее: 1. Вызвать названия услуг компьютера под ’’шапкой” Create. Для этого одновременно нажать на клавиши Ctrl (Упр) и ” С” . После этого из слова Create ’’вывалится” список услуг: Outline (создание наброска текста с названиями глав и параграфов по типу оглавления книги), Emply/Word frame (создание пустого фрейма для записи текста или директории на диске), Spread­ sheet (создание электронной таблицы), Database (создание базы данных), Width Cols/Fields (задание числа столбцов электрон­ ной таблицы или числа полей базы данных), Height Rows/Records 206
(задание числа строк электронной таблицы или числа записей в базе данных), Columns/Fields Add (увеличение числа столбцов электронной таблицы или числа полей базы данных), Rows/Re­ cords Add (увеличение числа строк электронной таблицы или числа записей в базе данных) и Macro/Abbreviation (создание макропоследовательностей). Пустая таблица - предшествен­ ница показанной на рис. 6.6 - появится на экране дисплея, если задать число столбцов, равное 6 (с маркировкой от А до F), а число строк, равное 28 (с маркировкой от 1 до 28), и выполнить команду Spreadsheet. 2. Озаглавить созданную таблицу, присвоив ей имя, состоя­ щее из восьми латинских символов, по которым ее в дальней­ шем можно будет отыскать на магнитном диске. 3. Заполнить клетки таблицы данными трех типов: числовыми независимыми переменными, такими, какие, например, хранятся в клетках С2 или СЗ; при этом через режим Numbers главного меню можно задавать формат числа: опреде­ лять, сколько знаков после запятой будет отображаться на экране дисплея; литерными константами (названия ступеней ионирования, параметры фильтров, размерность) - см., например, к л е тку А1; при этом с помощью функциональной клавиши 4 можно изме­ нять размер столбцов так, чтобы в них умещалась самая длин­ ная запись; формулами для расчета по заданному пользователем алго­ ритму; вводу формулы предшествует нажатие функциональной клавиши 2 - это означает, что будет вводиться не литерное выражение F14/F23/F12 (см. клетку F15), а команда компьюте­ ру: ’’Возьми число из клетки F14,подели его на число из клетки F23, ответ подели на число, хранящееся в клетке F12, а весь результат занеси в клетку F15!” Электронные таблицы пакета Framework III поволяют вести расчет по формулам, опираясь на числовые переменные других таблиц, хранящихся в это время на рабочем столе (Desktop). Д ля этого достаточно в формуле указать маркировку нужной клетки с числом-аргументом и название таблицы, откуда это число берется: A D l2/AGl5.filtr - это команда машине: ’’Возьми число из клетки AD12 текущей таблицы и подели его на число, хранящееся в клетке AG15 таб­ лицы с именем ’’filtr” , а результат занеси в клетку текущей таблицы, откуда нажатием функциональной клавиши 2 проводился ввод формулы. При этом также через режим
Numbers главного меню можно задавать формат числа, которое рассчитывается по введенной формуле. В вышеприведенном примере описан ввод формулы для расчета рабочей скорости фильтрования в анионитном фильтре второй ступени. Анало­ гичные формулы хранятся в клетках С15, D15, и Е15 для катионитного и анионитного фильтров первой ступени и ка- тионитного фильтра второй ступени, соответственно. В форму­ лах меняются только буквы (буква F меняется на С, D или Е), отображая сдвиг по столбцам. Такая особенность электронных таблиц позволяет реализовывать быструю методику запол­ нения клеток через копирование формул. Курсорная рамка - указатель помещается на клетку с копируемой формулой (числом, цепочкой литер). Затем нажимается функциональная клавиша 8 (сору), отмечающая, что нужно копировать. После этого нужно переместить курсорную рамку-указатель на клетку, куда формулу необходимо скопировать. Копирование производится либо со смысловым сдвигом по буквам столбцов (номерам строк), если нажать клавишу Enter, либо без измене­ ний, если нажать клавишу $. Скопировать можно не только одиночную формулу (число, цепочку литер), но и целую прямо­ угольную область: часть или весь столбец, часть или всю строку, несколько столбцов (строк). Чтобы выделить часть таблицы для дальнейших сепаратных действий, необходимо поместить курсорную рамку-указатель в один из углов выделяемого фрагмента таблицы, нажать функциональную клавишу 6 (select) и выделить цветом нужную зону, раздвигая ее клави­ шами ’’стрелочка вверх” , ’’в н из” , ’’влево” , ’’вправо” . Завершает­ ся выборка нажатием клавиши Enter. 4. После заполнения таблицы числами, цепочками литер и формулами она принимает вид, показанный на рис. 6 .6. В ней остается защитить от случайного редактирования (изменения) постоянные величины и введенные формулы. Для этого на защищаемую клетку помещается курсорная рамка-указатель, вызывается позиция главного меню Edit (аккордом Ctrl + бук­ ва Е), а в нем выполняется команда Protect from Editing - защи­ та от редактирования. После этого цвет символов этой клетки изменится (обычно с белого на желтый при синем фоне), а по­ пытки человека изменить содержимое этой клетки будут безуспешными. При этом машина будет подавать звуковой сигнал и приглашать сначала снять защиту от редактирования (режим Allow Editing в позиции главного меню Edit) и только 208
после этого вводить изменения. Отредактировать число и не вводить полного нового значения можно после нажатия функ­ циональной клавиши 2. Редактирование цепочки литер допускается после нажатия клавиши пробела. 5. Созданная электронная таблица хранится в ОЗУ машины только до момента ее выключения или до момента перехода к работе с другими программными средами. Чтобы она сохрани­ лась для последующих использований в расчетах, ее нужно записать на магнитный диск: выполнить команду Save and Continue (записать и продолжить) в позиции главного меню Disk. После этого машина может быть выключена или возмо­ жен переход к работе с другими программными средами. 6. Загрузка электронной таблицы с магнитного диска (ар­ хивная память машины) в ОЗУ ведется либо командой Get File by Name (взять файл по имени), либо просмотром имен файлов на дисках, выделением имени нужного файла курсорной рамкой-указателем и нажатием клавиши Enter. После этого нужный файл с электронной таблицей переносится с диска в ОЗУ машины. 7. В электронной таблице, распростертой на экране дисплея, достаточно только изменить значения незащищенных клеток, к а к машина моментально пересчитает по введенным формулам и выдаст ответы в нужные клетки. Таблицу с новыми резуль­ татами при необходимости можно вывести на бумагу принтера (через позицию Print главного меню) или передать по компью­ терной сети другим машинам (через позицию Apps главного меню). По данным таблицы можно построить диаграммы (столбчатые гистограммы, круговые и др.), отметив с помощью функциональной клавиши 6 нужный блок чисел и отдав соот­ ветствующую команду через позицию Graph главного меню.
СПИСОК ЛИТЕРАТУРЫ 1. А лекин О . А . Основы гидрохимии. Л .: Гидрометеоиздат, 1970. 2. А . с. 1248962 СССР. Способ обессоливания воды/ Б.М . Ларин, Н .А . Голубко­ ва, А .Н . Коротков// Открытия. Изобретения. 1986. No 12. 3. Банди Б. Методы оптимизации. Вводный курс: Пер. с англ. М .: Радио и связь,1988. 4. Баркер Ф. Компьютеры в аналитической химии: Пер. с англ. М .: Мир, 1987. 5. Белан Ф. И . Водоподготовка. Расчеты, примеры, задачи. М .: Энергия, 1980. 6. Вирт Н . Введение в систематическое программирование: Пер. с англ. М .: Мир, 1975. 7. Водоподготовка. Процессы и аппараты/Под общ. ред. О . И . Мартыновой. М.: Атомиздат, 1977. 8. Гаррелс Р. Крайс Ч . Л . Растворы, минералы равновесия: Пер. с англ. М.: Мир, 1968. 9. Грогоно П . Программирование на языке Паскаль: Пер. с англ. М .: Мир, 1982. 10. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов: Пер. с англ. М .: Мир, 1981. 11. Грэхем Р. Практический курс языка Паскаль для микроЭВМ: Пер. с англ. М.: Радио и связь, 1986. 12. Дал У . , Дейкстера Э ., Хоор К . Структурное программирование: Пер. с англ. М.: Мир, 1975. 13. Дьяконов В. П . Справочник по алгоритмам и программам на языке Бейсик для персональных компьютеров. М .: Наука, 1987. 14. Кетков Ю. Л . Программирование на Бейсике. М .: Статистика, 1978. 15. Лапшин М. И . Ионные равновесия в растворах. М .: Изд-во МЭИ, 1982. 16. Ларин Б. М . Возможности использования микроЭВМ в системе контроля качества исходной и известкованной воды на ХВОТЭС//Теплсэнергетика. 1987. No3. С. 46-50. 17. Ларин Б. NL, Голубкова Н. А . Расчет концентраций ионов в воде за первой ступенью химического обессоливания//Теплоэнергетика. 1985. No 4. С. 58-61. 18. Ларин Б. М * Лукомская Н. Д . Практические расчеты качества природных и осветленных коагуляцией вод//Энергетик. 1986. No 6. С. 33—34. 19. Маргулова Т . X ., Мартынова О . И . Водные режимы тепловых и атомных электростанций. —2-е изд., испр. и доп. М .: Высшая школа, 1987. 20. Маркелова Л . Н . Эксплуатация программоуправляемой вычислительной машины ”Искра 226”. М .: Машиностроение, 1987. 21. Нормы технологического проектирования тепловых электрических стан­ ций . Утверждены Минэнерго СССР 08.10.81 г. 210
22. О чков В . Ф . Расчет технологических процессов водоподготовки с использо­ ванием персональных компьютеров. М .: М ЭИ, 1990. 23. Очков В. Ф . Структурные диаграммы//Наука и жизнь. 1988. No 4. С . 120—123. 24. Очков В. Ф ., Нгуен Динь Тхо. Использование ЭВМ в качестве тренажера для обучения персонала химцеха ТЭС//Тр. МЭИ. 1986. No97. С. 87—92. 25. Очков В. Ф ., Пухначев Ю. В . 24 этюда на Бейсике. М .: Финансы и статис­ тика, 1988. 26. Очков В.Ф ., Хмелюк В .А . От микрокалькулятора к персональному компью­ теру. М .: Изд-во МЭИ, 1990. 27. Программирование на микроЭВМ "Искра 226’VB. Э . Баласанян, С. В. Бог- дюкевич, В. А . Шахвердов и др. М .: Финансы и статистика, 1987. 28. Программирование на языке Бейсик-плюс для СМ-4/В. П . Семик, Б. Р. Мон- цибович, Д . П . Непочатых и др. М .: Финансы и статистика, 1987. 29. Ривкин С. JL, Александров А . А . Термодинамические свойства воды и во­ дяного пара: Справочник. М .: Энергоатомиздат. 1984. С. 80. 30. Санитарные правила проектирования и эксплуатации систем централи­ зованного горячего водоснабжения. М .: Минздрав СССР, 1980. 31. Симпсон Г . Профессиональная работа на персональном компьютере. М .: Финансы и статистика, 1988. 32. Справочник химика-энергетика/Под общ. ред. С . М . Гурвича. Т . 1. М .: Энергия, 1972. 33. У орт Т . Программирование на языке Бейсик: Пер. с англ. М .: Машинострое­ ние, 1982. 34. Хильдебрандт Н. И ., Никитин А. В . Изменение pH реакторной воды на АЭС с ВВЭР в течение кампании/ЛГеплоэнергетика. 1988. No 4. С . 58—60. 35. Эберт К., Эдерер X . Компьютеры. Применение в химии: Пер. с нем. М .: Мир, 1988. 36. М е е к М .Е . The calculated pH of aqueous boric acid solutions as a function of temperature and added base content//WCAP-3269-51, 1965. 37. Tebbutt T.H .Y . BASIC water and wastewater treatment. Butterworth & Co. (Publishers) Ltd., 1990.
ОГЛАВЛЕНИЕ Предисловие ............................................................. .................................................... ..... 3 Введение. Требования к инженерны м программам ................................................. 5 Глава первая. Создание банка данных по водным источникам. Программы ЗАПВОД и Б А Н К В О Д ......................................................... ........................................ ..... 18 1.1. Постановка задачи .......................................................................................... 1.2. П еречень и д е нт иф и к ат ор ов ......................................................................... ..... 20 1.3. М атематическое описание з а д а ч и ............................................. ................ ..... 20 1.4. Д опущения, принятые в расчете ..................................................................... 22 1.5. Структура алгоритма расчета ....................................................................... ..... 22 1.6. Т екст программ ................................................................................................. ..... 23 1.7. Контрольный пример ..................................................................................... ..... 23 1.8. П ути совершенствования алгоритмов и п р о г р а м м ................................. ..... 24 Глава вторая. Классификация природной воды. Программа А Л Е К И Н ......... ..... 24 2.1. П остановка задачи .......................................................................................... ..... 24 2.2. Перечень идентификаторов ......................................................................... ..... 24 2.3. Матем атическое описание з а д а ч и .................................................................... 25 2.4. Д опущения, принятые в расчете ................................................................ ..... 25 2.5. Структура алгоритма расчета ...................................................... ................ ..... 26 2.6. Т екст программы .............................................................................................. ..... 26 2.7. Контрольный пример ..................................................................................... ..... 27 2.8. Пути совершенствования алгоритма и программы .............................. ..... 27 Глава третья.Построение кривой титрования буферного раствора. Програм­ м а Т И Т Р .............. ......................................................................................... .................. ..... 28 3.1. Постановка задачи ............ .................................................................................. 28 3.2. Перечень условных обозначений и и д ент и ф и ка то ро в .......................... ..... 29 3.3. М атематическое описание з а д а ч и .................................................................... 30 3.4. Д опущени я, принятые в расчете .............................. .......................... ........... 32 3.5. Структурная диаграмма р а с ч е т а .................................................................. ..... 32 3.6. Текст программы ...................................... ...................................................... ..... 33 3.7. Контрольный пример ..................................................................................... .....37 3.8. П ути совершенствования программы ........................................................ .....38 Глава четвертая. Расчет равновесных концентраций ионов в предочищен- н о й воде. Программа П Р ЕДОЧ .......................................................................................40 4.1. П остановка задачи .......................................................................................... ..... 40 4.2. Перечень условных обозначений и идентификаторов.......................... .....42 4.3. М атематическое описание з а д а ч и .............................................................. .....44 4.4. Д опущени я, приняты е в расчете ................................................................ ..... 44 4.5. Структура алгоритм а расчета ........................................................................... 45 212
4.6. Т екст программы .............................................................................................. 48 4.7. Контр ольный пример ..................................................................................... 49 4.8 . П ути совершенствования алгоритма и программы ..................... . 50 Глава пятая. Автоматизированная обработка на ЭВМ лабораторного экс­ пер им ента. Программа Л АБР АБ .............................................................................. 50 Глава шестая. Расчет двухступенчатой и о ни тн ой водоподготовительной установки. Программа В П У ......................................................................................... 54 6.1. П остановка задачи .............. ........................................................................... 54 6.2 . Перечень идентификаторов ......................................................................... 58 6.3. Математическое описание з а д а ч и ....... ...................................................... 58 6.4. Д опущени я, приняты е в расчете ................................... ............................ 60 6.5. Структурная диаграм ма п р о гр ам м ы ........................................................... 61 6.6. Т екст программы .............................................................................................. 61 6.7. Контрольный пример ..................................................................................... 67 6.8. П ути совершенствования алгоритма и программы ............................... 67 Глава седьмая. Система автоматизированного контроля процессов хими­ ческого обессоливания воды н а Т Э С . Программа Р Н АВ Т ................................. 69 7.1. Постановка задачи ......... ................................................................................ 70 7.2 . Математическое описание з а д а ч и ............................................................... 71 7.3. Д опущени я, принятые в расчете ................................................................ 81 7.4 . Блок-схема алгоритма ..................................................................................... 82 7.5. Текст программы .............................................................................. .............. 85 7.6. Пример расчетов концентраций ионов по стадиям и технологичес­ к и х характеристик обессоливания воды блоком фильтров ......................... 89 7.7. П ути совершенствования алгоритма и программы ............................... 91 Глава восьмая. Выбор фильтра из стандартного ряда по м инимуму стои­ мости. Програм ма Ф И ЛЬ Т Р ....................................................................................... 94 8.1. П остановка задачи .......................................................................................... 94 8.2 . Перечень идентификаторов ......................................................................... 98 8.3. М атематическое описание з а д а ч и ............................................................... 99 8.4. Д опущени я, принятые в расчете ................................................................ 99 8.5. Структура программы .............................. .................. . 100 8.6. Текст программы .............................................................................................. 100 8.7. Контрольный пример ..................................................................................... 102 Глава девятая. Проектирование водоподготовительной установки ТЭС с использованием П К , работающей в диалоговом режиме. Программа П Р О Е В П У ............................................................................... ......................................... ЮЗ Глава десятая. Моделирование на ЭВМ работы группы ионитных фильт­ ров. Программа У П Р Ф И Л ............................................................................................ 110 10.1. П остановка задачи .............. ......... ............................................................... 110 10.2. Перечень идентификаторов ....................................................................... 111 10.3. Математическое описание з а д а ч и .................................................... . 113 10.4. Д опущения , принятые в расчете ..................... ........................................ 114 10.5. Структура алгоритма расч ета....................................................................... 114 10.6. Т екст программы ............................................................................................ 114 10.7. П ути совершенствования алгоритм а и программы .......................... . 118
Глава одиннадцатая. Оценка с помощью П К технико-экономических пока­ зателей химических цехов ТЭС энергообъединения. Программа Х И М Ц Е Х ............................................................................................................................. .120 11.1 . Постановка задачи ....................................................................................... ...120 11.2 . Перечень идентификаторов ....................................................................... ...122 11.3 . Математическое описание зад ачи................................................................123 11.4 . Структура и текст программы.........................................................................123 Глава двенадцатая. Управление с помощью ПК работой сжпядя химреак- тивов и реагентов ТЭС. Программа С К Л А Д ..............................................................128 12.1 . Постановка задачи ............................................................................................128 12.2 . Перечень идентификаторов ....................................................................... ...128 12.3 . Математическое описание задачи............................................................. ...129 12.4 . Допущения, принятые в расчете ..................................................................129 12.5 . Структура программы ................................................................................... ...129 12.6. Текст программы ............................................................................................ ...130 12.7 . Пути совершенствования алгоритма и программы ............................ ...132 Глава тринадцатая. Введение на П К карточек. Программа КАРТОТЕКА..133 Глава четырнадцатая. Расчет эффективности ступенчатого испарения в ба­ рабанном ко тл е. Программа С Т УП И С П ................................................................ ...135 14.1 . Постановка задачи ............................................................................................135 14.2 . Перечень условных обозначений и идентификаторов............................136 14.3 . Математическое описание зад ачи ................................................................138 14.4 . Допущения, принятые в расчете ..................................................................140 14.5. Структурная диаграмма алгоритма расчета эффективности ступен­ чатого испарения в барабанном котле (рис. 14 .2)...............................................140 14.6 . Текст программы и контрольный пример ............................................... ...140 14.7 . Пути совершенствования алгоритма и программы .................................145 Глава пятнадцатая. Определение оптимального парораспределения при ступенчатом испарении в барабанном котле. Программа ЭФФСТИСП ..........146 15.1 . Постановка задачи ............................................................................................146 15.2 . Перечень идентификаторов ....................................................................... ...146 15.3 . Математическое описание зад ачи ............................................................. ...147 15.4 . Допущения, принятые в расчете ..................................................................147 15.5 . Структура алгоритма расчета .........................................................................147 15.6 . Текст программы ............................................................................................ ...148 Глава шестнадцатая. Определение на П К параметров воды и водяного пара. Программа В О Д А П А Р........................................................................................ ..150 Глава семнадцатая. Сбор, хранение, обработка и выдача данных по вод­ ному режиму энергоблока. Программа БАНКВР................................................... ..153 17.1 . Постановка задачи ............................................................................................153 17.2 . Перечень идентификаторов ............................................. ............................154 17.3 . Математическое описание задачи................................................................155 17.4 . Допущения, принятые в расчете ..................................................................155 17.5 . Структура программы ................................................................................... ...155 17.6 . Текст программы ............................................................................................ .. 156 17.7 . Контрольный пример ......................................................................................160 17.8 . Пути совершенствования алгоритма и программы ................................ 161
Глава восемнадцатая. Контроль величины pH реакторной воды на АЭС с В В Э Р . П р о г р а м м а Р Н В В Э Р Д ....................................................................................... 161 18.1. П остановка задачи .............................. .......................................................... 161 18.2. Перечень условных обозначений и идентификаторов......................... 163 18.3. Математическое описание задачи. Принятые допущения ................ 165 18.4. Организация диалога с ЭВМ ....................................................................... 167 18.5. Блок-схема алгоритма р ешения ................................................................ 171 18.6. Т екст программы РНВВЭРД (программы 18.1—18.11) ............................ 171 18.7. Контрольный пример ................................................................................... 171 18.8. П ути совершенствования алгори тма и программы .............................. 179 Глава девятнадцатая. Расчет растворимости продуктов коррозии в первом контуреАЭС с ВВЭР.Программа РАШ ПИН...................................................... 181 19.1. Постановка задачи ......................................................................................... 181 19.2. Перечень условных обозначений и идентификаторов......................... 182 19.3. Математическое описание з а д а ч и ............................................................. 184 19.4. Д опущения, принятые в расчете ............................................................... 186 19.5. Блок-схема алгоритма р ешения ................................................................ 186 19.6. Т екст программы ............................................................................................ 188 19.7. Задание исходной информации ................................................................ 190 19.8. Контрольный пример ................................................................................... 190 19.9. П ути совершенствования алгоритма и программы .............................. 194 Приложение 1. Синонимы и близкие по смыслу конструкции Бейсика ....... 195 Приложение 2. П еречень служебных слов программ к н и г и .............................. 196 Приложение 3. Методика решения задач в среде электронных таблиц интернированного пакета Framework III фирмы Ashton-Tate.............................. 206 Список литературы ....................................................................................................... 210
Производственное издание Мартынова Ольга Исаковна Никитин Анатолий Васильевич Очков Валерий Федорович ВОДОПОДГОТОВКА: РАСЧЕТЫ НА ПЕРСОНАЛЬНОМ КОМПЬЮТЕРЕ Зав. редакцией И. В. Волобуева Редактор издательства Т. И . Мушинска Художественные редакторы Г. И . Панфилова, В. А . Гозак-Хозак Технические редакторы Н. М . Брудная, Т. Н . Тюрина Корректор С.Ю. Торокина ИБ No 2291 Набор выполнен в издательстве. Подписано в печать с оригинал-макета 28.08.90. Формат 60x88 1/16. Бумага офсетная No 2. Печать офсетная. Уел. печ. л. 13,23. Уел. кр.-отт. 13,47. Уч.-изд. л. 12,83. Тираж 10000 экз. Заказ 6071. Цена 65 к. Энергоатомиздат, 113114, Москва, М -114, Шлюзовая наб., 10. Отпечатано в ордена Октябрьской Революции и ордена Трудового Красного Зна­ мени М ПО ’’Первая Образцовая типография” Государственного комитета СССР по печати. 113054, Москва, Валовая ул., 28.