Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите найти ошибку , пишет invalid procedure call or argument / 10 сообщений из 10, страница 1 из 1
05.06.2018, 10:28
    #39655397
igorazanov1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите найти ошибку , пишет invalid procedure call or argument
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
Sub Тонколистовая_прокатка()
'объявление переменных
Dim i As Integer 'номер сечения
Dim ii As Integer 'номер нейтрального сечения
Dim n As Integer 'число разбиений очага деформации
Dim h0 As Double 'начальная толщина листа
Dim hn As Double 'конечная толщина листа
Dim h() As Double 'толщина листа в i-том сечении (массив)
Dim St0 As Double 'начальный предел текучести
Dim Stn As Double 'конечный предел текучести
Dim St() As Double 'предел текучести в i-том сечении (массив)
Dim q0 As Double 'уровень заднего натяжения
Dim qn As Double 'уровень переднего натяжения
Dim R As Double 'радиус рабочего валка
Dim a As Double 'коэффициент упрочнения
Dim b As Double 'коэффициент упрочнения
Dim alfa As Double 'угол захвата
Dim fi() As Double 'угол fi (массив)
Dim dx() As Double  'dx (массив)
Dim P1() As Double 'нормальные напряжения в зоне отставания
Dim P2() As Double 'нормальные напряжения в зоне опережения
Dim P() As Double 'напряжения для двух зон очага деформации
Dim PP As Double 'сумма нормальных напряжений
Dim PPP As Double 'полное усилие прокатки
Dim K0 As Double 'предел текучести на сдвиг начальный
Dim Kn As Double 'предел текучести на сдвиг конечный
Dim K() As Double 'предел текучести на сдвиг в i-том сечении
Dim m As Double 'коэффициент трения
Dim W As Double 'ширина листа

'присвоение переменным числовых значений из ячеек листа Excel
h0 = Range("D3").Value 'значение начальной толщины листа
hn = Range("D4").Value 'значение конечной толщины листа
W = Range("D5").Value 'значение ширины листа
St0 = Range("D6").Value 'значение начального предела текучести
q0 = Range("D7").Value 'значение уровня заднего натяжения
qn = Range("D8").Value 'значение уровня переднего натяжения
m = Range("D9").Value 'значение коэффициента трения
a = Range("D10").Value 'значение коэффициента упрочнения a
b = Range("D11").Value 'значение коэффициента упрочнения b
R = Range("D12").Value 'значение радиуса рабочего валка
n = Range("D13").Value 'число разбиений очага деформации

'объявление массива
ReDim fi(0 To n) As Double
ReDim h(0 To n) As Double
ReDim dx(0 To n) As Double
ReDim St(0 To n) As Double
ReDim K(0 To n) As Double
ReDim P1(0 To n) As Double
ReDim P2(0 To n) As Double
ReDim P(0 To n) As Double

Stn = St0 + a * ((h0 - hn) / h0) ^ b 'формула(22)
Kn = Stn / Sqr(3) 'формула(21)
K0 = St0 / Sqr(3) 'формула(19)
alfa = 2 * Atn(Sqr((h0 - hn) / (4 * R - (h0 - hn)))) 'формула (8)

i = 1 'расчет для зоны отставания от i=1 до i=n
1: fi(i) = alfa * (n - i) / n 'формула(7)
   h(i) = hn + 2 * R * (1 - Cos(fi(i))) 'формула(6)
   fi(0) = alfa
   dx(i) = R * (Sin(fi(i - 1)) - Sin(fi(i))) 'формула(5)
   St(i) = St0 + a * ((h0 - h(i)) / h0) ^ b 'формула(12)
   K(i) = St(i) / Sqr(3) 'формула(11)
   P1(0) = 2 * K0 - q0 * St0 'формула (18)
   h(0) = h(0)
   K(0) = K(0)
   P1(i) = (P1(i - 1) * h(i - 1) - 2 * K(i - 1) * h(i - 1) + 2 * K(i) * h(i)) / (h(i) + 2 * dx(i) * Tan(fi(i)) - 2 * m * dx(i)) 'формула(14)
   If m * P1(i) <= K(i) Then
   P1(i) = P1(i)
   Else
   P1(i) = (P1(i - 1) * h(i - 1) - 2 * K(i - 1) * h(i - 1) + 2 * K(i) * h(i)) / (h(i) + 2 * dx(i) * Tan(fi(i))) 'формула (15)
   End If
   If i < n Then
   i = i + 1
   GoTo 1
   End If
   i = n - 1 'расчет для зоны опережения от i=n-1 до i=ii
2: fi(n) = 0
   fi(i) = alfa * (n - i) / n 'формула(7)
   h(i) = hn + 2 * R * (1 - Cos(fi(i))) 'формула(6)
   dx(i) = R * (Sin(fi(i)) - Sin(fi(i + 1))) 'формула(5)
   St(i) = St0 + a * ((h0 - h(i)) / h0) ^ b 'формула(12) <------ [color=red]ПИШЕТ ЧТО ТУТ ОШИБКА[/color]  
   St(n) = Stn
   K(i) = St(i) / Sqr(3) 'формула(11)
   P2(n) = 2 * Kn - qn * Stn 'формула(20)
   h(n) = hn
   K(n) = Kn
   dx(n) = 0
   P2(i) = (P2(i + 1) * (h(i + 1) + 2 * dx(i + 1) * Tan(fi(i + 1)) + 2 * m * dx(i + 1)) + 2 * K(i) + h(i) - 2 * K(i + 1) * h(i + 1)) / h(i) 'формула(16)
   If m * P2(i) <= K(i) Then
   P2(i) = P2(i)
   Else
   P2(i) = (P2(i + 1) * (h(i + 1) + 2 * dx(i + 1) * Tan(fi(i + 1)) + 2 * K(i) * h(i) - 2 * K(i + 1) * (h(i + 1) - dx(i + 1)))) / h(i) 'формула(17)
   End If
   If P1(i) - P2(i) <= 0 Then
   ii = i
   Else
   i = i - 1
   GoTo 2
   End If
   
   PP = 0
   For i = o To n
   If i < ii Then
   P(i) = P1(i)
   Else
   P(i) = P2(i)
   End If
   PP = PP + P(i)
   Next i
   PPP = PP * W * alfa * R / n * 10 / 1000000 'полное усидие в МН
   
   'вывод результатов расчета на лист Excel
   For i = 0 To n
   Cells(3 + i, 7).Value = i
   Cells(3 + i, 8).Value = Sqr(R * (h0 - hn)) * i / n 'длина очага деформации
   Cells(3 + i, 9).Value = P(i) 'контактные нормальные напряжения
   Next i
   Cells(3, 11).Value = PPP 'полное усилие
End Sub
...
Рейтинг: 0 / 0
05.06.2018, 10:57
    #39655410
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите найти ошибку , пишет invalid procedure call or argument
igorazanov1,

авторпишет invalid procedure call or argument

на какой строке
...
Рейтинг: 0 / 0
05.06.2018, 10:59
    #39655412
igorazanov1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите найти ошибку , пишет invalid procedure call or argument
ПЕНСИОНЕРКА,

на 84 , формула 12
...
Рейтинг: 0 / 0
05.06.2018, 11:43
    #39655449
Прогер_самоучка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите найти ошибку , пишет invalid procedure call or argument
igorazanov1ПЕНСИОНЕРКА,

на 84 , формула 12используйте тэг SRC. Читать же неудобно.
...
Рейтинг: 0 / 0
05.06.2018, 12:04
    #39655474
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите найти ошибку , пишет invalid procedure call or argument
igorazanov1, а почему сюда? есть же подфорум для Excel
...
Рейтинг: 0 / 0
05.06.2018, 12:15
    #39655488
помогите найти ошибку , пишет invalid procedure call or argument
Это выражение выполняется в цикле. Ошибка на первом же проходе?
Какие значения имеют переменные в момент возникновения ошибки?
...
Рейтинг: 0 / 0
05.06.2018, 13:26
    #39655553
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите найти ошибку , пишет invalid procedure call or argument
А где сам файл? По одному тексту без исходных ориентироваться трудно.
Да и какая ошибка? Её код? Описание?
...
Рейтинг: 0 / 0
05.06.2018, 13:34
    #39655560
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите найти ошибку , пишет invalid procedure call or argument
igorazanov1,

Вот тут после метки 2 глянь
Код: vbnet
1.
2.
3.
4.
5.
6.
If P1(i) - P2(i) <= 0 Then
   ii = i
Else
   i = i - 1
   GoTo 2
 End If



Поставь хоть перед GoTo 2 что то типа
Код: vbnet
1.
If i<=5 Then MsgBox i



возможно i без контрольно упирается в ноль...
...
Рейтинг: 0 / 0
05.06.2018, 13:36
    #39655561
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите найти ошибку , пишет invalid procedure call or argument
igorazanov1пишет invalid procedure call or argument
Тривиально. Попытка возведения в нецелую степень отрицательного числа.
...
Рейтинг: 0 / 0
05.06.2018, 17:55
    #39655869
igorazanov1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите найти ошибку , пишет invalid procedure call or argument
я разобрался , спасибо всем кто не остался равнодушным
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите найти ошибку , пишет invalid procedure call or argument / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]