Лабораторные работы. 8.15. Определить скорость фильтрации qп на среднесуглинистой почве, если в течение 1 часа производится искусственное дождевание на на площади S объемом воды
8.15. Определить скорость фильтрации qп на среднесуглинистой почве, если в течение 1 часа производится искусственное дождевание на на площади S объемом воды V.
8.16. Определить среднюю интенсивность искусственного дождя, если расход воды дождевальным аппаратом составляет Q на площади S.
8.17. Обосновать главное требование к дождевальным машинам и установкам: ρср ≤ qп.
8.18. Определить максимальный расход Q воды дождевальным устройством на орошаемой площади S, если средняя скорость впитывания для тяжелых почв равна ρп.
8.19. Определить максимальный расход Q воды дождевальным устройством на орошаемой площади S, если средняя скорость впитывания для средних почв равна ρп.
8.20. Определить максимальный расход Q воды дождевальным устройством на орошаемой площади S, если средняя скорость впитывания для легких почв равна ρп.
8.21. Определить скорость фильтрации qп на супесчаных почвах, если коэффициент фильтрации kф, разность уровней воды в начале и конце фильтрации составляет h, а длина пути фильтрации (увлажнения) равна l.
8.22. Определить глубину увлажнения l на суглинистых почвах, если коэффициент фильтрации kф, разность уровней воды в начале и конце фильтрации составляет h, а скорость впитывания воды qп.
8.23. Определить силу удара дождевых капель о поверхность почвы, если диаметр капель dк, скорость капли в начале удара υ;, плотность воды ρ; = 1 г/см3, коэффициент пропорциональности k = 48, скорость распространения упругих волн в воде υз = 1440 м/с.
8.24. Определить диаметр капель dк, ударяющихся о поверхность почвы силой F, если скорость капли в начале удара υ;, плотность воды ρ; = 1 г/см3, коэффициент пропорциональности k = 50, скорость распространения упругих волн в воде υз = 1440 м/с.
8.25. Определить диаметр капель dк, образующихся при свободном распаде дождевальных струй, если диаметр струи dc, а скорость истечения υ;.
8.26. Определить диаметр dс сопла (струи), если наибольший диаметр капель dк, а скорость истечения струи υ;.
8.27. Определить дальность полета струи, если напор воды перед соплом H, а диаметр сопла dс.
8.28. Определить расход воды через сопло насадки дождевального аппарата, если диаметр сопла dс, создаваемый напор Н, а коэффициент μ;.
8.29. Дальнеструйная дождевальная машина позиционного действия имеет расход воды Q при среднем радиусе полива rср. Определить среднюю интенсивность дождя этой машины при поливе по кругу, если частота вращения ствола n = 0,22 мин-1.
8.30. По условиям задаи 8.29 определить толщину среднего слоя осадков hср на площади полива за время полного оборота ствола. 8.31. Дождевальная установка позиционного действия снабжена дефлекторными насадками с диаметром выходного отверстия dс = 5 мм, обеспечивает давление воды перед насадкой Н и с одной позиции поливает круговую площадь диаметром D. Определить среднюю интенсивность дождя ρср.
8.32. По условиям задачи 8.31 определить, будут ли образоваться лужи при работе установки: а) на легких почвах; б) на средних почвах; в) на тяжелых почвах. ЛИТЕРАТУРА
1. Василенко, П.М. Культиваторы / П.М. Василенко, П.Т. Бабий – Киев.: Изд-во Укр. акад. с.-х. наук, 1961. – 339 с. 2. Гладков, Н.Г. Зерноочистителшины / Н.Г. Гладков. - М.: Машгиз, 1961. 368 с. 3. Кленин, Н.И. Сельскохозяйственные и мелиоративные машины / Н.И. Кленин, В.А. Сакун. – М.: Колос, 1994. – 751 с. 4. Максимов, И.И. О движении пласта по плоскорежущей лапе со стабилизаторами-рыхлителями // Исследование машин и рабочих органов для возделывания и уборки сельскохозяйственных культур. Сб. науч. тр. / Горьск. с.-х. институт.- Горький, 1990. с. 7-10. 5. Механизация защиты почв от водной эрозии в Нечерноземной полосе. Под ред. А.Т. Вагина. Л.: Колос, 1977, 272 с. 6.Сельскохозяйственные и мелиоративные машины / Г.Е. Листопад, Г.К. Демидов, Б.Д. Зонов и др.; Под общ. ред. Г.Е. Листопада. – М.: Агропромиздат, 1986. – 688 с. 7. Сельскохозяйственные машины / Б.Г. Турбин, А.Б. Лурье, С.М. Григорьев и др. – Л.: Машиностроение, 1967. – 583 с. 8. Синеоков, Г.Н. Теория и расчет почвообрабатывающих машин / Г.Н. Синеоков, И.М. Панов. – М.: Машиностроение, 1977. – 328 с. 9. Теория, конструкция и расчет сельскохозяйственных машин: Учебник для вузов с.-х. машиностроения / Е.С. Босой, О.В. Верняев, И.И. Смирнов, Е.Г. Султан-Шах. -М.: Машиностроение, 1977, 568 с. 10.Халанский, В.М. Сельскохозяйственные машины: учеб. пособие для студентов высш. учеб. заведений / В.М.Халанский, И.Н. Горбачев – М.: Колос, 2006. 624 с.
Приложение
‘‘*********************************************************** ‘‘* РАСЧЕТ ТЕХНОЛОГИЧЕСКИХ ПОКАЗАТЕЛЕЙ МАШИН * ‘‘* Программа по заданным данным производит расчет технологических показателей * ‘‘* 1. Почвообрабатывающих машин * ‘‘* 2. Машин для посева и посадки * ‘‘* 3. Машин для посева и посадки 2 * ‘‘* 4. Машин для заготовки кормов * ‘‘* 5. Зерноуборочных машин * ‘‘* 6. Машин для послеуборочной обработки зерна * ‘‘* 7. Картофелеуборочных машин * ‘‘* ________________________________________________________ * ‘‘* Версия программы 1.0 от 31.01.2009 г. * ‘‘* Авторы программы: Г.С. Юнусов, профессор, доктор технических наук * ‘‘* В.Л. Торопов, Ведущий программист ИВЦ, МарГУ * ‘‘*********************************************************** Option Explicit ‘‘Все перемнные будут объявлены явно ‘‘ Рабочие переменные Public Const Nul = 1E-27 Public Const Mnogo = 1E+27 Public Const Mnogo1 = 1E+26 Public Const PI = 3,14
Public Ir, Jr, Nr, Mr As Integer Public StrR, StrR1, StrR2 As String Public XR, YR As Double Public Ncol (20, 50) As Byte ‘‘Число для ввода в каждой таблице и колонке
‘‘ 1. Почвообрабатывающих машин ‘‘ ___________________________ Public В As Double ‘‘Ширина завахата корпуса плуга, м Public Const NK = 5 ‘‘Число видов плугов Public NameK(1 To NK) As String ‘‘Виды наименований плугов Public MinK(1 To NK) As Double ‘‘Минимум К для разных плугов Public MaxK(1 To NK) As Double ‘‘Максимум К для разных плугов ‘‘ ________________________________________________________ Public Const NF = 2 ‘‘Число видов коэффициентов f Public NameF(1 To NF) As String ‘‘Виды наименований f Public F(1 To NF) As Double ‘‘Значание для f ‘‘ ________________________________________________________ Public Const NKL = 4 ‘‘Число видов почв для коэффциента удельного сопротивления почвы Public NameKL(1 To NKL) As String ‘‘Имена почв Public MinKL(1 To NKL) As Double ‘‘Минимум для КL – коэффициента удельного сопротивления почвы Public MaxKL(1 To NKL) As Double ‘‘Максимум для КL - коэффициента удельного сопротивления почвы ‘‘ ________________________________________________________ Public Const NE = 1 Public NameE(1 To NE) As String Public MinE(1 To NE) As Double ‘‘Минимум для E – коэффициент, характеризующий форму ‘‘рабочей поверхности корпуса плуга и свойств почвы Public MaxЕ(1 To NЕ) As Double ‘‘Максимум для Е ‘‘ ________________________________________________________ Public Const NKо = 4 ‘‘Варианты для коэффциента удельного сопротивления плуга Public NameKО(1 To NKо) As String ‘‘Имена почв для Ко Public MinKО(1 To NKо) As Double ‘‘Минимум для Ко Public MaxKО(1 To NKо) As Double ‘‘Максимум для Ко ‘‘ ________________________________________________________ Public Const NKm = 16 ‘‘Варианты для коэффциента удельного сопротивления с/х машин и орудий Public NameKМ(1 To NKm) As String ‘‘Имена машин и орудий для Кm Public MinKM(1 To NKm) As Double ‘‘Минимум для Кm Public MaxKM(1 To NKm) As Double ‘‘Максимум для Кm
Public Sub InitVar() ‘‘Устанавливаем начальные знаенчия всех констант и переменных ‘‘ ________________________________________________________ ‘‘Коэффициент К NameK(1) = «Плуги с культурными и полувинтовыми отвалами» MinK(1) = 1.3: MaxK(1) = 1.8 NameK(2) = «Плуги с винтовыми отвалами» MinK(2) = 1.75: MaxK(1) = 2.2 NameK(3) = «Плуги кустарниково-болотные» MinK(3) = 2: MaxK(3) = 3 NameK(4) = «Плуги плантажные» MinK(4) = 0.83: MaxK(4) = 0.9 NameK(5) = «Вспашка предплужников» MinK(5) = 1: MaxK(5) = 1.1 ‘‘ ________________________________________________________ ‘‘Коэффициент F NameF(1) = «Жнивье»: NameF(2) = «Клеверище» F(1) = 0.5: F(2) = 1 ‘‘ ________________________________________________________ ‘‘Коэффициент КL NameKL(1) = «Легкие почвы» MinKL(1) = 20: MaxKL(1) = 35 NameKL(2) = «Средние почвы» MinKL(2) = 35: MaxKL(2) = 55 NameKL(3) = «Тяжелые почвы» MinKL(3) = 55: MaxKL(3) = 80 NameKL(4) = «Очень тяжелые почвы» MinKL(4) = 80: MaxKL(4) = 130 ‘‘ ________________________________________________________ ‘‘Коэффициент Е MinЕ(1) = 1.5: MaxЕ(1) = 3 ‘‘ ________________________________________________________ ‘‘Коэффициент Ко – удельного сопротивления плуга NameKО(1) = «Песчаные и супесчаные почвы» MinKО(1) = 20: MaxKО(1) = 30 NameKО(2) = «Легкие средние суглинки» MinKО(2) = 35: MaxKО(2) = 50 NameKО(3) = «Тяжелые суглинки» MinKО(3) = 55: MaxKО(3) = 80 NameKО(4) = «Плотные солонцеватые и тяжелые целинные» MinKО(4) = 80: MaxKО(4) = 80 ‘‘ ________________________________________________________ ‘‘Коэффициент Кm – удельного сопротивления машин и орудий NameKМ(1) = «Борона зубовая» MinKМ(1) = 0.5: MaxKМ(1) = 0.7 NameKМ(2) = «Борона дисковая» MinKМ(2) = 1.9: MaxKМ(2) = 2.2 NameKМ(3) = «Борона пружинная» MinKМ(3) = 1: MaxKМ(3) = 1.8 NameKМ(4) = «Шлейф» MinKМ(4) = 0.4: MaxKМ(4) = 0.6 NameKМ(5) = «Культиватор с рыхлительными лапками» MinKМ(5) = 3: MaxKМ(5) = 3.5 NameKМ(6) = «Лапчатый культиватор на глубину 6 см» MinKМ(6) = 0.8: MaxKМ(6) = 1 NameKМ(7) = «Лапчатый культиватор на глубину 8 см» MinKМ(7) = 0.9: MaxKМ(7) = 1.3 NameKМ(8) = «Лапчатый культиватор на глубину 10 см» MinKМ(8) = 1.1: MaxKМ(8) = 1.7 NameKМ(9) = «Лапчатый культиватор на глубину 12 см» MinKМ(9) = 1.5: MaxKМ(9) = 2.1 NameKМ(10) = «Культиватор-кучник» MinKМ(10) = 0.5: MaxKМ(10) = 0.7 NameKМ(11) = «Штанговый культиватор» MinKМ(11) = 1.6: MaxKМ(11) = 2.6 NameKМ(12) = «Плоскорез» MinKМ(12) = 4: MaxKМ(12) = 6 NameKМ(13) = «Глубокорыхлитель» MinKМ(13) = 11: MaxKМ(13) = 17 NameKМ(14) = «Лущильники дисковые» MinKМ(14) = 1.5: MaxKМ(14) = 2.5 NameKМ(15) = «Катки гладкие водрналивные» MinKМ(15) = 3.5: MaxKМ(15) = 5 NameKМ(16) = «Культиваторы с пружинными лапками» MinKМ(16) = 1.8: MaxKМ(16) = 2 End Sub Public Function Zero (S As String) As String Ir Mid (S, 1, 1) = «.» Then Zero = «0» + S Else Zero = S End Function Public Function Diapason (MinX, MaxX) As String StrR1 = Zero(Trim(Round(MinX,2))) StrR1 = Replace(StrR1, «.», «.») StrR2 = Zero(Trim(Round(MaxX,2))) StrR2 = Replace(StrR2, «.», «.») Diapason = StrR1 + «.» + StrR2 End Function Public Function Diapason (Text As String) As Boolean StrR = Trim(Text) StrR = Replace(StrR, «.», «.») Nr = Len(StrR) Mr = 0 For Ir = 1 To Nr StrR1 = Mid(StrR, Ir, 1) Select Case StrR1 Case «0» To «9» StrR1 = Str1 Case «.» Mr = Mr + 1 Case Else Mr = 2 End Select Next Ir Text = StrR If Mr> 1 Then DaChiclo = False Else DaChislo = True End Function
1. Почвообрабатывающие машины Option Explicit «Все переменные будут объявлены явно Private KMin, KMax As Double Private AMin, AMax As Double Private B As Double Private KLMin, KLMax As Double Private FK, A, M, E, N, V, PX, KL As Double Private KOMin, KOMax, KO As Double Private KMMin, KMMax, KM As Double Private PxMin, PxMax As Double
Private Sub Computer1() B = Val(Form1.Vvod(0).Text) KMax = 1 KMin = 1 AMin = B / KMax AMax = B / KMin Label1.Caption = «Максимально допустимая глубина вспашки Amax = «+ Diapason (AMin, AMax) End Sub Private Sub Computer2() M = Val(Form1.Vvod(1).Text) A = Val(Form1.Vvod(2).Text) B = Val(Form1.Vvod(3).Text) E = Val(Form1.Vvod(4).Text) N = Val(Form1.Vvod(5).Text) V = Val(Form1.Vvod(6).Text) KL = 0.5*(KLMin + KLMax) PX = FK*M*9.81+1000*A*B*N*(KL+E*V*V) PX = Round(PX,2) Label4.Caption = «Тяговое сопротивление плугов (рац. Формула) Px = «+ Trim(Str(PX)) End Sub Private Sub Computer3() A = Val(Form1.Vvod(7).Text) B = Val(Form1.Vvod(8).Text) N = Val(Form1.Vvod(9).Text) PxMin = Round(KOMin*A*B*N,2) PxMax = Round(KOMax*A*B*N,2) Label5.Caption = «Тяговое сопротивление плугов (упрощенна формула) Px = «+ Diapason(PxMin, PxMax) End Sub Private Sub Computer4() B = Val(Form1.Vvod(10).Text) PxMin = Round(KMMin*B,2) PxMax = Round(KMMax*B,2) Label6.Caption = «Тяговое сопротивление машин и орудий Px = «+ Diapason(PxMin, PxMax) End Sub
Private Sub Combo1_Click() Ir=Form1.Combo1.ListIndex + 1 KMin = MinK(Ir) KMax = MaxK(Ir) Label3.Caption = Diapason(KMin, KMax) Computer1 End Sub
Private Sub Combo2_Click() Ir=Form1.Combo2.ListIndex + 1 FK = F(Ir) StrR = Trim(Str(FK)) Label2(5).Caption = StrR Computer2 End Sub Private Sub Combo3_Click() Ir=Form1.Combo3.ListIndex + 1 KLMin=MinKL(Ir) KLMax = MaxKL(Ir) Label2(6).Caption = Diapason (KLMin, KLMax) Computer2 End Sub Private Sub Combo4_Click() Ir=Form1.Combo4.ListIndex + 1 KOMin = MinKO(Ir) KOMax = MaxKO(Ir) Label2(17).Caption = Diapason (KOMin, KOMax) End Sub Private Sub Combo5_Click() Ir=Form1.Combo5.ListIndex + 1 KMMin = MinKM(Ir) KMMax = MaxKM(Ir) Label2(21).Caption = Diapason (KMMin, KMMax) End Sub
Private Sub Command1_Click() Unload Form1 Menu.Visible = True End Sub Private Sub Form_Load() For Ir = 0 To 10 Form1.Vvod(Ir).Text = «« Next Ir With Form1.Combo1 For Ir = 1 To NK .AddItem (NameK (Ir)) Next Ir /ListIndex = 0 End With KMin = MinK (1) KMax = MaxK (1) With Form1.Combo2 For Ir = 1 To NF .AddItem (NameF (Ir)) Next Ir /ListIndex = 0 End With KLMin = MinKL (1) KLMax = MaxKL (1) With Form1.Combo3 For Ir = 1 To NKL .AddItem (NameKL (Ir)) Next Ir /ListIndex = 0 End With FK = F (1) With Form1.Combo4 For Ir = 1 To NKo .AddItem (NameKO (Ir)) Next Ir /ListIndex = 0 End With KOMin = MinKO (1) KOMax = MaxKO (1) With Form1.Combo5 For Ir = 1 To NKm .AddItem (NameKM (Ir)) Next Ir /ListIndex = 0 End With KMMin = MinKM (1) KMMax = MaxKM (1) ‘‘Computer1 ‘‘Computer2 End Sub
Private Sub Form_Unload (Cancel As Integer) Menu.Visible = True End Sub Private Sub Vvod_KeyPress (Index As Integer, KeyAscii As Integer) Select Case KeyAscii Case vbKeyReturn Or vbKeyTab ‘‘Нажата клавиша Enter или Tab IfDaChislo (Vvod(Index).Text)Then Select Case Index Case 0 Computer1 Case 1 To 6 Computer2 If Index = 6 Then Index = 1 Else Index = Index + 1 Vvod (Index). SetFocus Case 7 To 9 Computer3 If Index = 9 Then Index = 7 Else Index = Index + 1 Vvod (Index). SetFocus Case 10 Computer4 End Select Else MsgBox «Можно вводить только числа с десятичной точкой или запятой!!!» End If End Select End Sub
Приложение 2 2. Машины для посева и посадки Dim SSS (50) As String Dim X(50) As Double Dim Y(50) As Double Public Ntab As Integer
Private Sub Command1_Click() UnloadForm2 Menu.Visible = True End Sub Private Sub Computer() K=0 For I = 0 To (NTab-1) With Form2.MSFlexGrid1(I) NM =.Rows – 1 For М = 0 To NМ NJ = NCol (I, M) For J = 1 To NJ K = K + 1 StrR =.TextMatrix(M, 1 + J) X(K) = Val(StrR) Next J Next M End With Next I ‘‘Делаем расчеты для 1 задачи Z = Abs(X(1)) If Z < Nul Then Y(1) = Mnogo Y(2) = Mnogo Else Y(1) = 1000000/Z Y(2) = Y(1)*X(2) End If Z = Abs(X(2)) If Z < Nul Then Y(3) = Mnogo Else Y(3) = Y(1) / (100*Z)
‘‘Делаем расчеты для 2 задачи Z = Abs(0.9*X(3)*X(4)) If Z < Nul Then Y(4) = Mnogo Else Y(4) = 200 / Z Y(5) = X(3)*X(4)*X(5)*PI / 10000 Y(6) = X(6)*Y(5) ‘‘Делаем расчеты для 3 задачи Y(7) = X(7)*X(8)*X(9) / 10000 ‘‘Делаем расчеты для 4 задачи Z = Abs(X(12)*X(13)) If Z < Nul Then Y(8) = Mnogo Else Y(8) = 10000*X(10)*X(11) / Z
‘‘Делаем расчеты для 5 задачи Z = Abs(X(16)*X(17)) If Z < Nul Then Y(9) = Mnogo Else Y(9) = 2*PI*0.241*X(14)*X(15) / (10000*Z) ‘‘Делаем расчеты для 6 задачи Z = Abs(X(20)) If Z < Nul Then Y(10) = Mnogo Else Y(10) = X(18)*X(19) / (100*Z)
‘‘Делаем расчеты для 7 задачи Z = Abs(X(21)*X(22)) If Z < Nul Then Y(11) = Mnogo Else Y(11) = 10000 / Z
‘‘Делаем расчеты для 8 задачи Z = Abs(X(24)) If Z < Nul Then Y(12) = Mnogo Else Y(12) = PI*X(23) / Z
‘‘Делаем расчеты для 9 задачи Z = Abs(X(28)) If Z < Nul Then Y(13) = Mnogo Else Y(13) = X(25)*X(26)*X(27) / Z
‘‘Делаем расчеты для 10 задачи Y(14) = (X(30)-X(31))/2 + X(29) Y(15) = (X(30)+X(31))/2 + X(29)
‘‘Делаем расчеты для 11 задачи Y(16) = (X(32)+X(33))/2
‘‘Делаем расчеты для 12 задачи Y(17) = (X(34)+X(35))/2 - X(36)
‘‘Округляем результаты до 1 знака после запятой For I = 1 To 17 If Y(I) > Mnogo1 Then SSS (I) = «« Else K = 2 Y(I) = Round (Ads(Y(I)), K) SSS(I) + Trim (Str(Y(I))) End If Next I ‘‘Производим вывод результатов на экран.
‘‘Задача 1 StrR = «1. Число семян, шт./кг: Nc=«+SSS(1)+ «,шт./га: Nq=«+SSS(2) StrR = StrR + «Площадь питания 1 раст., кв.м: Fn=«+SSS(3) Label1(0). Caption = StrR
‘‘Задача 2 StrR = «2. Число оборотов на 0,01 га: n=«+SSS(4) StrR = StrR + «Семян за 1 оборот колеса: q1=«+SSS(5) StrR = StrR + «За n-оборотов: qn=«+SSS(6) Label1(1). Caption = StrR
‘‘Задача 3 StrR = «3. Величина контрольной навески, кг: Qн=«+SSS(7) Label1(2). Caption = StrR
‘‘Задача 4 StrR = «4. Путь сеялки от одной засыпки семян до другой, м: Lз=«+SSS(8) Label1(3). Caption = StrR
‘‘Задача 5 StrR = «5. Общее передаточное число для обеспечения нормы высева семян Lоб=«+SSS(9) Label1(4). Caption = StrR
‘‘Задача 6 StrR = «6. Норма высева семян свекловичной сеялкой ССТ-12(кг/га): Q=«+SSS(10) Label1(5). Caption = StrR
‘‘Задача 7 StrR = «7. Норма посадки клубней картофелесажалками (шт./га): Nк=«+SSS(11) Label1(6). Caption = StrR
‘‘Задача 8 StrR = «8. Количество рассады, необходимое для посадки (шт./га): z=«+SSS(12) Label1(7). Caption = StrR
‘‘Задача 9 StrR = «9. Количество воды, расходуемое для полива растений на одном гоне (л): Qв=«+SSS(13) Label1(8). Caption = StrR
‘‘Задача 10 StrR = «10. Вождение по следу маркера правого колеса (гусеницы): Lпр=«+SSS(14) StrR = StrR + «Lлев = «+ SSS(15) Label1(9). Caption = StrR ‘‘Задача 11 StrR = «11. Вождение трактора по следу маркера серединой. Lправ = Lлев = «+SSS(16) Label1(10). Caption = StrR
‘‘Задача 12 StrR = «12. Широкозахватный агрегат. Lправ = Lлев =«+SSS(17) Label1(11). Caption = StrR
End Sub
Private Sub Command2_Click() Computer End Sub
Private Sub Form_Load() Ntab = 12 ‘‘Число таблиц For I = 1 To NTab With Form2. MSFlexGrid1 (I-1) K = I – 1 Select Case K Case 0 NCol(K,0) = 2 ‘‘Число колонок для ввода в 0-й строке .Cols = 4 .Rows = 1 .TextMatrix(0,1) = ‘‘Абс. Масса семян (масса 1000 штук), г Норма высева (кг/га) qабс=, Q= « StrR = «(зерно: 20-42 г, кукуруза: 150-300 г, горох: 100-200 г, просо: 7-9 г, гречиха: 15-25 г)» Form2. Label2. Caption = StrR Case 1 NCol(K,0) = 2 NCol(K,1) = 2 .Cols = 4 .Rows = 2 .TextMatrix(0, 1) = ‘‘Диаметр приводного колеса (м), Ширина захвата сеялки (м) Д=, В= « .TextMatrix(1, 1) = ‘‘Норма высева семян (кг/га), Число оборотов Q=, n= « Case 2 NCol(K,0) = 3 .Cols = 5 .Rows = 1 .TextMatrix(0, 1) = ‘‘Заданная норма высева (кг/га). Ширина захвата сеялки (м), Длина гона (м) Q=, В=, L= « Case 3 NCol(K,0) = 2 NCol(K,1) = 2 .Cols = 4 .Rows = 2 .TextMatrix(0, 1) = ‘‘Допустимая степень опорожнения семен. ящика (%), Емкость семен. ящика (кг) f=, V= « .TextMatrix(1, 1) = ‘‘Заданная норма высева семян (кг/га), Ширина захвата сеялки (м) Q=, В= « Case 4 NCol(K,0) = 2 NCol(K,1) = 2 .Cols = 4 .Rows = 2 .TextMatrix(0, 1) = ‘‘Норма высева семян (шт/га), Ширина междурядий (м) Q=, а= « .TextMatrix(1, 1) = ‘‘Кол-во отверстий на высев. Диске (шт.), Коэфф. проскальзывания шины (0.9-0.95) z=, k= « Case 5 NCol(K,0) =3 .Cols = 5 .Rows = 1 .TextMatrix(0, 1) = ‘‘Абс. масса семян, (г), Кол-во семян на 1 м (шт.), Ширина междурядий (м) qабс=, n=, а= « Case 6 NCol(K,0) =2 .Cols = 4 .Rows = 1 .TextMatrix(0, 1) = ‘‘Ширина междурядий (м), Шаг посадки (расстояние между клубнями в ряду, м) а=, L= « Case 7 NCol(K,0) =2 .Cols = 4 .Rows = 1 .TextMatrix(0, 1) = ‘‘Диаметр посадочного диска (м), Шаг посадки (м) Д=, L= « Case 8 NCol(K,0) = 2 NCol(K,1) = 2 .Cols = 4 .Rows = 2 .TextMatrix(0, 1) = ‘‘Количество посадочных машин (шт.), Длина гона (м) n=, L= « .TextMatrix(1, 1) = ‘‘Кол-во воды для полива одного растения (л), Шаг посадки (м) q=, l= « Case 9 NCol(K,0) = 3 .Cols = 5 .Rows = 1 .TextMatrix(0, 1) = ‘‘Ширина стык.междурядья, Расс. между крайними сошниками и серед. перед. колес (м) а=, В1=, Вт= « Case 10 NCol(K,0) = 2 .Cols = 4 .Rows = 1 .TextMatrix(0, 1) = ‘‘Ширина стыкового междурядья (м), Ширина захвата (м) а=, В= « Case 11 NCol(K,0) = 3 .Cols = 5 .Rows = 1 .TextMatrix(0, 1) = ‘‘Ширина стыкового междурядья (м), Ширина захвата (м), Вылет следоуказателя (м) а=, В=, с= « End Select .ColWidth(0) = 320 ‘‘Ширина колонки с N .ColWidth(1) = 9090 ‘‘Ширина колонки с названием .FixedCold = 2 ‘‘Фиксир.колонок 2 .FixedRows = 0 ‘‘Фиксир.строчек 0 .ColAlignment(0) = flexAlignCenterCenter Select Case. Rows Case 1 .Height = 360 Case 2 .Height = 610 Case 3 .Height = 870 Case 4 .Height = 1120 End Select Case (.Cols – 2) Case 1 .Width = 10300 Case 2 .Width = 11100 Case 3 .Width = 11900 End Select For M = 2 To (.Cols – 1) .ColWidth(M) = 800 Next M For J = 1 To.Rows .TextMatrix(J -1, 0) = Trim(Str(J)) Next J End With Next I End Sub
Private Sub MSFlexGrid1_KeyPress(Index As Integer, KeyAscii As Integer) Select Case KeyAscii Case vbKeyReturn ‘‘При нажатии на Enter курсор перепрыгивает на следующую строку With MSFlexGrid1(Index) JK =.Row If (.Col + 1 < NCol(Index, JK) +2) Then .Cols =.Cols + 1 Else If.Row + 1 <=.Rows - 1 Then .Row =.Row + 1 .Cols = 2 Else If Index < (NTab - 1) Then K = Index + 1 Else K = 0 MSFlexGrid1(K).Row = 0 MSFlexGrid1(K).Col = 2 MSFlexGrid1(K).SetFocus Go To Vixod End If End If End With Case vbKeyBack ‘‘Удаляем предыдущий символ при нажатии клавиши backspace. With MSFlexGrid1(Index) If Trim(.Text)<> ««Then .Text = Mid(.Text, 1, Len(.Text)-1) End If End With Case Else If ((KeyAscii>47) And (KeyAscii<58)) Or (KeyAscii = 46) Then MSFlexGrid1(Index).Text = MSFlexGrid1(Index).Text&Chr(KeyAscii) Else A=MsgBox («Можно вводить только числа с десятичной точкой!», vbОKОkly, «Внимание») End If End Select Vixod: End Sub
Приложение 3
3. Машины для посева и посадки 2 Dim SSS (50) As String Dim X(50) As Double Dim Y(50) As Double Public Ntab As Integer
Private Sub Command1_Click() UnloadForm3 Menu.Visible = True End Sub Private Sub Computer() K=0 For I = 0 To (NTab-1) With Form3.MSFlexGrid1(I) NM =.Rows – 1 For М = 0 To NМ NJ = NCol (I, M) For J = 1 To NJ K = K + 1 StrR =.TextMatrix(M, 1 + J) X(K) = Val(StrR) Next J Next M End With Next I ‘‘Делаем расчеты для 1 задачи Z = Abs(X(1) = X(2) + X(3)) If Z < Nul Then Y(1) = Mnogo Y(2) = Mnogo Y(3) = Mnogo Else Y(1) = X(7)*X(1)/Z Y(2) = X(7)*X(2)/Z Y(3) = X(7)*X(3)/Z End If Z = Abs(X(5)) If Z < Nul Then Y(4) = Mnogo Else Y(4) = X(8)*X(4)*X(2) / Z Z = Abs(X(6)) If Z < Nul Then Y(5) = Mnogo Else Y(5) = X(8)*X(4)*X(2) / Z
‘‘Делаем расчеты для 2 задачи Z = Abs(X(10)*X(13)) If Z < Nul Then Y(6) = Mnogo Else Y(6) = X(9)*X(11)*X(11) / Z
‘‘Делаем расчеты для 3 задачи Z = Abs(X(16)*X(18)*X(19)) If Z < Nul Then Y(7) = Mnogo Else Y(7) = X(14)*X(15)*X(17)*X(20) / Z
‘‘Делаем расчеты для 4 задачи Y(8) = X(21)*X(22)*X(23)*X(24) / 600
‘‘Делаем расчеты для 5 задачи Z = Abs(X(25)*X(27)) If Z < Nul Then Y(9) = Mnogo Else Y(9) = X(26)*10000 / Z Z = Abs(X(28)*X(27)*X(25)) If Z < Nul Then Y(10) = Mnogo Else Y(10) = Z / 10000 Z = Abs(X(25)*X(28)) If Z < Nul Then Y(11) = Mnogo Else Y(11) = X(26)*10000 / Z
‘‘Делаем расчеты для 6 задачи Z = Abs(X(30)*X(31)) If Z < Nul Then Y(12) = Mnogo Else Y(12) = X(29)*10000 / Z
‘‘Делаем расчеты для 7 задачи Z = Abs(X(32)) If Z < Nul Then Y(13) = Mnogo Else Y(13) = X(33)*X(34) / Z
‘‘Делаем расчеты для 8 задачи Z = Abs(X(36)*X(37)*X(38)) If Z < Nul Then Y(14) = Mnogo Else Y(14) = X(35)*600 / Z
‘‘Делаем расчеты для 9 задачи Z = Abs(X(40)*X(41)) If Z < Nul Then Y(15) = Mnogo Else Y(15) = X(39)*10000 / Z
‘‘Делаем расчеты для 10 задачи Z = Abs(X(45)) If Z < Nul Then Y(16) = Mnogo Else Y(16) = X(42)*X(43)*X(44) / (600*Z)
‘‘Делаем расчеты для 11 задачи Y(17) = X(46)+X(47)/60
‘‘Округляем результаты до 1 знака после запятой For I = 1 To 17 If Y(I) > Mnogo1 Then SSS (I) = «« Else Y(I) = Round (Ads(Y(I)), K) SSS(I) + Trim (Str(Y(I))) End If Next I
‘‘Производим вывод результатов на экран. ‘‘Задача 1 StrR=«1.Высота заслонок: hl=«+SSS(1)+ «h2=«+SSS(2)+ «h3=«+SSS(2) StrR = StrR+ «Выход удобрений (кг/мин): N2=«+SSS(4)+ N3=«+SSS(5) Label1(0). Caption = StrR
‘‘Задача 2 StrR = «2. Корректировка высоты щели для разбрызгивателя типа 1 (РМГ-4): n=«+SSS(6) Label1(1). Caption = StrR
‘‘Задача 3 StrR = «3. Табличный показатель высева для разбрызгивателя НРУ-0,5: Qт=«+SSS(7) Label1(2). Caption = StrR
‘‘Задача 4 StrR = «4. Количество удобрений, высеянное НРУ-0,5, кг/мин: q=«+SSS(8) Label1(3). Caption = StrR
‘‘Задача 5 StrR = «5. Длина гона, м L=«+SSS(9) + «Масса навески, кг G=«+SSS(10) + «Норма высева, кг/га Q=«+SSS(11) Label1(4). Caption = StrR
‘‘Задача 6 StrR = «6. Расстояние между кучами из органических удобрений, м: Lк=«+SSS(12) Label1(5). Caption = StrR
‘‘Задача 7 StrR = «7. Действительная норма вылива жидких удобрений, кг/га: Qф=«+SSS(13) Label1(6). Caption = StrR
‘‘Задача 8 StrR = «8. Время вылива жидких удобрений, мин t=«+SSS(14) Label1(7). Caption = StrR
‘‘Задача 9 StrR = «9. Длина хода агрегата с олдной заправкой, м: L=«+SSS(15) Label1(8). Caption = StrR
‘‘Задача 10 StrR = «10. Расход жидкости через 1 распылитель или количество ядохим. через щель бункера опылителя: q=«+SSS(16) Label1(9). Caption = StrR
‘‘Задача 11 StrR = «11. Минутный расход ядохимикатов, кг/мин Q = «+SSS(17) Label1(10). Caption = StrR
End Sub
Private Sub Command2_Click() Computer End Sub
Private Sub Form_Load() Ntab = 11 ‘‘Число таблиц For I = 1 To NTab With Form3. MSFlexGrid1 (I-1) K = I – 1 Select Case K Case 0 NCol(K,0) = 3 ‘‘Число колонок для ввода в 0-й строке NCol(K,1) = 3 ‘‘Число колонок для ввода в 1-й строке NCol(K,2) = 3 ‘‘Число колонок для ввода в 2-й строке .Cols = 5 .Rows = 3 .TextMatrix(0,1) = «Объем 1-го, 2-го и 3-го компонентов V1=, V2=, V3= « .TextMatrix(1,1) = «Содержание 1, 2, 3-го питат.вещества в удобрениии q1=, q2=, q3= « .TextMatrix(2,1) = «Сумм.высота заслонок (мм), Количество 1-го удобрения (кг/мин) Н=, N1= « Case 1 NCol(K,0) = 1 NCol(K,1) = 2 NCol(K,2) = 2 .Cols = 4 .Rows = 3 .TextMatrix(0, 1) = «Размер щели по линейке (табличное), мм hТ= « .TextMatrix(1, 1) = «Объемная масса удобрений фактическая и табл., т/куб.м Yф=, Yт= « .TextMatrix(2, 1) = «Ширина разбрасывания удобрений фактическая и табл., м Вф=, Вт= « Case 2 NCol(K,0) = 1 NCol(K,1) = 2 NCol(K,2) = 2 NCol(K,3) = 2 .Cols = 4 .Rows = 4 .TextMatrix(0, 1) = «Заданная норма высева удобрений, кг/га Qф= « .TextMatrix(1, 1) = «Скорость агрегата фактическая и табличная, км/ч vф=, vт = « .TextMatrix(2, 1) = «Ширина разбрасывания удобрений фактическая и табличная, м Вф=, Вт = « .TextMatrix(3, 1) = «Объемная масса удобрения фактическая и табличная, т/куб.м Yф=, Yт = « Case 3 NCol(K,0) = 2 ‘‘Число колонок для ввода в 0-й строке NCol(K,1) = 2 ‘‘Число колонок для ввода в 1-й строке .Cols = 4 .Rows = 2 .TextMatrix(0, 1) = «Норма высева удобрений (кг/га), ширина захвата (м) Q=, B= « .TextMatrix(1, 1) = «Скорость агрегатир. (км/ч), продолжительность (мин) u=, t= « Case 4 NCol(K,0) = 1 ‘‘Число колонок для ввода в 0-й строке NCol(K,1) = 3 ‘‘Число колонок для ввода в 1-й строке .Cols = 5 .Rows = 2 .TextMatrix(0, 1) = «Ширина захвата, м В= « .TextMatrix(1, 1) = «Масса навески (кг), Норма высева (кг/га), Длина гона (м) G=, Q=, L= « Case 5 NCol(K,0) =3 ‘‘Число колонок для ввода в 0-й строке .Cols = 5 .Rows = 1 .TextMatrix(0, 1) = «Масса орг.удоб. в куче, Норма внесения (кг/га),Расст. между рядами Gк=, Q=, Bк= « Case 6 NCol(K,0) =3 ‘‘Число колонок для ввода в 0-й строке .Cols = 5 .Rows = 1 .TextMatrix(0, 1) = «Факт. и табл. ширина разбрасывания (м), Норма внесения удобрений (табл) Вф=, Вт=, Qт= « Case 7 NCol(K,0) =2 NCol(K,1) =2 .Cols = 4 .Rows = 2 .TextMatrix(0, 1) = «Количество жидкости в цистерне (ц), Норма внесения удобрений (т/га) N=, Q= « .TextMatrix(1, 1) = «Ширина разбрызгивания (м), Скорость движения агрегата (км/ч) В=, u= « Case 8 NCol(K,0) = 3 .Cols = 5 .Rows = 1 .TextMatrix(0, 1) = «Емкость жижеразбразывателя (т), Ширина разбрызгивания (м), Норма внесения (т/га) Е=, В=, Q= « Case 9 NCol(K,0) = 2 NCol(K,1) = 2 .Cols = 4 .Rows = 2 .TextMatrix(0, 1) = «Ширина рабочего захвата (м), Норма расхода ядохимиката (л/га) В=, Q= « .TextMatrix(1, 1) = «Скорость агрегата (км/ч), кол-во распылителей (для опылителя ввести 1) u=, n= « Case 10 NCol(K,0) = 2 .Cols = 4 .Rows = 1 .TextMatrix(0, 1) = «Производительность машины по семенам (т/ч), Норма расхода ядохимиката (кг/т) П=, Н= « End Select .ColWidth(0) = 320 ‘‘Ширина колонки с N .ColWidth(1) = 9090 ‘‘Ширина колонки с названием .FixedCold = 2 ‘‘Фиксир.колонок 2 .FixedRows = 0 ‘‘Фиксир.строчек 0 .ColAlignment(0) = flexAlignCenterCenter Select Case. Rows Case 1 .Height = 360 Case 2 .Height = 610 Case 3 .Height = 870 Case 4 .Height = 1120 End Select Select Case (.Cols – 2) Case 1 .Width = 10400 Case 2 .Width = 11100 Case 3 .Width = 11900 End Select For M = 2 To (.Cols – 1) .ColWidth(M) = 800 Next M For J = 1 To.Rows .TextMatrix(J -1, 0) = Trim(Str(J)) Next J End With Next I End Sub
Private Sub MSFlexGrid1_KeyPress(Index As Integer, KeyAscii As Integer) Select Case KeyAscii Case vbKeyReturn ‘‘При нажатии на Enter курсор перепрыгивает на следующую строку With MSFlexGrid1(Index) JK =.Row If (.Col + 1 < NCol(Index, JK) +2) Then .Cols =.Cols + 1 Else If.Row + 1 <=.Rows - 1 Then .Row =.Row + 1 .Cols = 2 Else If Index < (NTab - 1) Then K = Index + 1 Else K = 0 MSFlexGrid1(K).Row = 0 MSFlexGrid1(K).Col = 2 MSFlexGrid1(K).SetFocus Go To Vixod End If End If End With Case vbKeyBack ‘‘Удаляем предыдущий символ при нажатии клавиши backspace. With MSFlexGrid1(Index) If Trim(.Text)<> ««Then .Text = Mid(.Text, 1, Len(.Text)-1) End If End With Case Else If ((KeyAscii>47) And (KeyAscii<58)) Or (KeyAscii = 46) Then MSFlexGrid1(Index).Text = MSFlexGrid1(Index).Text&Chr(KeyAscii) Else A=MsgBox («Можно вводить только числа с десятичной точкой!», vbОKОkly, «Внимание») End If End Select Vixod: End Sub
Приложение 4
4. Машины для заготовки кормов Dim SSS (50) As String Dim X(50) As Double Dim Y(50) As Double Dim Da(50) As Boolean
Private Sub Command1_Click() Unload Form4 Menu.Visible = True End Sub Private Sub Computer() K=0 For I = 0 To 5 Da (I) = True With Form4.MSFlexGrid1(I) NNN =.Rows For М = 1 To NNN K = K + 1 StrR1 =.TextMatrix(M – 1, 2) X(K) = Val(StrR) Next M End With Next I Y(0) = X(1)*X(2)/100 If Abs(Y(0) < Nul Then Da(0) = False Else Y(1) = X(3)/Y(0) Y(2) = 3.6*X(4)*X(5) Y(3) = X(6)*X(7)*X(8)/360 Z = X(10)*X(11) If Abs(Z) < Nul Then Da(4)= False Else Y(4)= X(9)*60000/(X(10)*X(11)) Z = 100-X(14) If Abs(Z) < Nul Then Da(5)= False Else Y(5)= = X(12)*(100-X(13)) / Z For I = 0 To 5 Y(I) = Round (Y(I), 2) AAA = SSS (I) If Da(I) Then AAA = AAA + Str (Y(I)) Form4.Label1(I). Caption = AAA Next I End Sub
Private Sub Command2_Click() Computer End Sub
Private Sub Form_Load() SSS(0) = «1. Масса сена на длине валка в 1 м, кг/м m=« SSS(1) = «2. Расстояние для формирования одной копны (стога) l=« SSS(2) = «3. Производительность пресса, т/ч Q=« SSS(3) = «4. Пропускная способность пресса, кг/с q=« SSS(4) = «5. Необходимое число ножей на измельчающем барабане z=« SSS(5) = «6. Масса материала при выходе из сушильной камеры, кг G2=« For I = 0 To 5 Label1(I). Caption = SSS(1) With Form4. MSFlexGrid1 (I) .Cols = 3 Select Case I Case 0, 2 .Rows = 2 .Height = 670 Case 1 .Rows = 1 .Height = 380 Case 3, 4, 5 .Rows = 3 .Height = 960 End Select .FixedCols = 2 .FixedRows = 0 .ColAlignment(0) = flexAlignCenterCenter .ColWidth(0) = 500 .ColWidth(1) = 7800 .ColWidth(2) = 1220 .Width = 9600 For J = 1 To.Rows .TextMatrix(J – 1, 0) = Trim(Str(J)) Next J End With Next I With Form4. MSFlexGrid1 (0) .TextMatrix(0,1) = «Урожайность зеленой массы, ц/га У= « .TextMatrix(1,1) = «Ширина захвата граблей, м В= « End With With Form4. MSFlexGrid1 (1) .TextMatrix(0,1) = «Масса копны (стога), кг G= « End With With Form4. MSFlexGrid1 (2) .TextMatrix(0,1) = «Пропускная способность пресса (3…5), кг/с q= « .TextMatrix(1,1) = «Коэффициент загрузки семян (0,3…0,55) k= « End With With Form4. MSFlexGrid1 (3) .TextMatrix(0,1) = «Урожайность сена,, ц/га У= « .TextMatrix(1,1) = «Ширина захвата граблей, формировавших валок, м В= « .TextMatrix(2,1) = «Скорость пресс-подборщика, км/ч u= « End With With Form4. MSFlexGrid1 (4) .TextMatrix(0,1) = «Скорость подачи слоя материала на измельчающий барабан, м/с u= « .TextMatrix(1,1) = «Частота вращения барабана в 1 мин n= « .TextMatrix(2,1) = «Длина резки Lрез= « End With With Form4. MSFlexGrid1 (5) .TextMatrix(0,1) = «Масса материала до сушки, кг G1= « .TextMatrix(1,1) = «Содержание влаги до сушки, % W1= « .TextMatrix(2,1) = «Содержание влаги после сушки, % W2= « <
|