У меня есть драйвер связи ActiveX для TCP/IP, который позволяет мне читать и записывать в ПЛК из файла Excel. Я хочу написать значение 5 МВт, имея еще 5 ячеек в Excel, я попробовал его с помощью цикла, и я написал в 5 переменных одновременно только одно значение. Теперь у меня есть «Select Case», это не работает. Пожалуйста помоги. Код выглядит следующим образом:Запись переменных в PLC из EXCEL
For tt = 1 To 5
valor(1) = Val(Cells(1, 4).Value)
valor(2) = Val(Cells(2, 4).Value)
valor(3) = Val(Cells(3, 4).Value)
valor(4) = Val(Cells(4, 4).Value)
valor(5) = Val(Cells(5, 4).Value)
Next tt
Select Case valor(tt)
Case valor(1)
res2 = MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 5, 1, 1000, 300, valor)
Case valor(2)
res2 = MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 6, 1, 1000, 300, valor)
Case valor(3)
res2 = MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 7, 1, 1000, 300, valor)
Case valor(4)
res2 = MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 8, 1, 1000, 300, valor)
Case valor(5)
res2 = MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 9, 1, 1000, 300, valor)
End Select
линия:
MB1.Write("10.56.35.214", "10.56.35.22", 502, 0, 16, 9, 1, 1000, 300, valor)
ли параметры связи с ПЛК в настройках. Последний параметр - это значение, которое нам нужно написать, которое я собираю из ячейки.
Код VBA в Excel 2002
СПАСИБО !!!
случай выбора находится вне цикла for/next. Поэтому, когда вы достигаете случая выбора, значение tt всегда будет одинаковым. И неожиданное удивление ...tt всегда будет 6 после завершения цикла. Таким образом, случай выбора никогда не найдет допустимый результат. – cboden