Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 След.
Стандартные библиотеки в vba Excel по работе с последовательным портом rs485 по протоколу Modbus
 
Цитата
написал:
там по первой ссылке кстати такой пост был.
testuser, простите пожалуйста, уточните, какую ссылку Вы имели в виду?
Я вроде бы просмотрел все, но такого сообщение не нашёл.
Хотя бы уточните просто номер сообщения.
Стандартные библиотеки в vba Excel по работе с последовательным портом rs485 по протоколу Modbus
 

Уважаемый testuser.

1. Я Вам очень благодарен, что Вы отозвались и подсказали мне интересные ссылки.

2. Насколько я понял, Вы мне подсказали ссылки на самый нижний уровень, то есть на основы работы с последовательным портом.

Или я не прав?

3. То, что Vba Excel умеет работать с последовательным портом мне уже известно. То есть с помощью этого нижнего уровня я должен самостоятельно "изобрести велосипед" или написать код, который реализует протокол Mоdbus.

Однако мне же хочется думать, что такой древний и очень распространённый открытый протокол достоин того, чтобы под него уже были созданы стандартные библиотеки. Чтобы не "изобретать велосипед", а уже пользоваться стандартными процедурами или функциями, реализующими команды мастер-устройств и конечно же ответы подчинённых slave устройств.

Ну и конечно же, в этой библиотеке должны быть уже реализованы методы обработки некорректного обмена данных.

Поэтому мой основной вопрос в том, существует ли такая стандартная библиотека, написанная для Vba Excel?

Или каждый программист самостоятельно должен опускаться на нижний уровень работы с последовательными портами и на основании оригинальной инструкции по протоколу Мадбас, в тысячи первый раз "изобретать этот велосипед"?

Прошу прощения за мои капризы,

С благодарностью ________ Юрий.

Изменено: Юрий_Нд - 03.06.2024 01:13:45
Стандартные библиотеки в vba Excel по работе с последовательным портом rs485 по протоколу Modbus
 
Доброго дня Уважаемые.
Скажите пожалуйста, есть ли какие-то стандартные библиотеки в vba Excel по работе с последовательным портом rs485 по протоколу Modbus?
Спасибо __________ Юрий.
Подскажите пожалуйста, как связаться с администрацией www.excelworld.ru
 
Спасибо nilske, наверное я плохо искал.
Подскажите пожалуйста, как связаться с администрацией www.excelworld.ru
 
Доброго дня Уважаемые.
Подскажите пожалуйста, как связаться с администрацией
www.excelworld.ru
Старый не действует,  зарегистрироваться ещё раз не получается...
В общем, не знаю что делать.
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Доброго вечера Игорь.
Спасибо за помощь.
Извините, что сразу не ответил, много работы.
На сколько я понял, в конечном счёте Вы многомерный массив "а" трансформируете в двухмерный "е" и выводите его на лист.
Вы не подумайте, я Вам очень благодарен за помощь, но поймите правильно, работа у меня уже закончена и я конечно коряво, но всё-таки давно закончил её.
В любом случае,
С уважением и благодарностью ___________ Юрий.
Изменено: Юрий_Нд - 08.10.2023 21:44:01
Может ли склад выдать шестерни по наряду или не может?
 
Цитата
написал:
может у вас где нибудь "забит' двумерный массив
Цитата
написал:
Обрабатывает массив (136, 8, 136).
Ну конечно же забит.
c и t  - это ещё две дополнительные размерности от единички до 136 обe.
А то что я Вам показал, сидит внутри этого цикла.
----------------------------------------------
Павел, так у Вас простой Excel.
А меня  код Vba Excel интересует.
Кстати, моя программа выдаёт результат не только по конкретной шестерне, а вообще по наряду.
То есть, даёт ответ, может или не может вообще в принципе выполниться наряд.
И всё это выполняется порядка 10.000 раз.
Изменено: Юрий_Нд - 29.09.2023 12:28:54
Может ли склад выдать шестерни по наряду или не может?
 
Цитата
написал:
выкладывайте уже свою красоту
Доброго дня Уважаемые.
Павел, красота конечно корявая, но она моя красота и работает нормально.
Обрабатывает массив (136, 8, 136).
Кстати, многие тут не верили, что этот массив можно изобразить на одном листе Экселя.
А я вот по своей малоопытности и малообразованности, что нельзя этого всего делать, взял да и изобразил.
Excel где-то полторы минуты корячился, но всё-таки вывел мне этот массив.
Жаль что на этом форуме такие жёсткие ограничения, я бы Вам его показал.
Ну конечно не все 150.000 значений а только часть.
Потому что, я так понимаю, многие до сих пор считают, что это невозможно.
Код
  For i = 1 To 17
              zubsk(i) = zub(i)
          Next i
          
          zubtr(1) = tab3(t, 1, c)
          zubtr(2) = tab3(t, 2, c)
          zubtr(3) = tab3(t, 6, c)
          zubtr(4) = tab3(t, 7, c)
          
          tab3(t, 12, c) = 0
          
          For i = 1 To 4
              k = 0
              For j = 1 To 17
                  '------------------------
                  If zubtr(i) = zubsk(j) Then
                            zubsk(j) = zubsk(j) - zub(i)
                            k = 1
                            j = 17
                            tab3(t, 12, c) = 1
                  End If
                  '------------------------
                  If k = 0 And j = 17 Then
                  tab3(t, 12, c) = 0
                  i = 4
                  End If
                  '------------------------
                  If zubtr(1) = 0 And zubtr(2) = 0 Then
                  tab3(t, 12, c) = 0
                  j = 17
                  End If
                  '------------------------
              Next j
                  '------------------------
                  If zubtr(1) = 0 And zubtr(2) = 0 Then
                  tab3(t, 12, c) = 0
                  i = 4
                  End If
                  '------------------------
          Next i
[CODE][/CODE]
Может ли склад выдать шестерни по наряду или не может?
 
Цитата
написал:
это решается вложенными циклами
Спасибо Александр, примерно так я и думал.
Сейчас попробую что-нибудь "сварганить", потом покажу, может посоветуете что-нибудь "покрасивше".
Может ли склад выдать шестерни по наряду или не может?
 
Цитата
написал:
для чего шестерня с 0 зубьев
Спасибо за замечание, подкорректировал.
-----------------------------------------------------------
Цитата
написал:
Если формулами
Вы имеете в виду простой Excel, без вба?
Может ли склад выдать шестерни по наряду или не может?
 
Доброго дня Уважаемые.
Есть такая задачка.
На складе есть в хранятся шестерни с различным количеством зубьев.
Допустим, эти шестерни уже "забиты" в некоторый одномерный массив:
zubsklad(30, 35, 48, 60, 70, 71, 90, 90, 96, 100, 100, 105, 113, 113, 120, 127, 127)
Далее, на склад приходит наряд выдать определённое количество шестерён, которые также забиты в одномерный массив:
zubsnarad(30, 30, 127, 127)
Как средствами vба Excel решить такую задачку, то есть, может ли склад выдать шестерни по наряду или не может?
Спасибо ___________ Юрий.
п.с. У меня конечно есть идея, как выполнить эту задачку, но все эти мои идеи какие-то уж очень "громоздкие".
А хотелось бы всё-таки решить эту задачку "красиво".
Изменено: Юрий_Нд - 28.09.2023 18:02:23
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
а при N? нельзя в коде этой подпрограммы заложить заранее неизвес тно еколичество циклов.  Это обычно делается рекурсией
Ну так и чудненько.
Так бы и сразу и сказали.
А я бы Вам сразу ответил, что давайте будем брать для двумерного массива одну процедуру, для трёхмерного другую, и так далее...
Зачем надо было меня "на смех подымать", что невозможно на плоском листе изобразить трёхмерный и четырёхмерный массив ...
Сколько времени потеряли ...
И моего и Вашего ...
Вы не подумаете пожалуйста, что я с претензиями...
Просто так, мысли вслух.
В любом случае, с уважением и благодарностью __________ Юрий.  
---
п.с. ... А когда я с карандашом у кульмана стоял я уже и забыл.
Сначала AutoCAD, сейчас Ревит. Если Вы конечно понимаете, о чём я.
Кстати очень интересно, где Вы откопали такое сообщение?
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Достопочтенный Волшебник повелевает презренному кодеру, сформировать процедуру из кода в сообщении 53.
-----------
Ну а после сего, весьма почтенный Волшебник рассмотрит челобитную кодера.
Изменено: Юрий_Нд - 26.09.2023 19:45:32
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Код
dsn = 60
dcn = 22
.Range(.Cells(dsn, dcn), .Cells(dsn + 12, dcn + 250)).ClearContents 'î÷èñòêà
.Cells(dsn, dcn + 1) = "ïîâòîðíàÿ ñîðòèðîâêà"
For t = 1 To 2
    For s = 1 To 5
        For c = 1 To 250
            .Cells(7 * (t - 1) + s + dsn, c + dcn) = tab2(t, s, c)
        Next c
    Next s
    .Range(.Cells(7 * (t - 1) + 4 + dsn, 1 + dcn), .Cells(10 * (t - 1) + 5 + dsn, 250 + dcn)).NumberFormat = "0.00"      'ôîðìàòèðîâàíèå 5 è 6 ñòðî÷êè
Next t
Вот этот фрагмент я уже повторяю в пятый раз в коде вба.
Здесь я вывожу трёхмерный массив:
Dim  tab2(2, 5, 250) As Double
-----
Как это из этого слепить процедуру?
That is the question.
Изменено: Юрий_Нд - 26.09.2023 18:58:37
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
Если вам нужен только 4х мерный массив то так и напишите
Да в конце концов, я уже давно сказал, что давайте начнём хотя бы с двухмерного массива.
Я Вам задаю все его параметры, а Вы мне даёте процедуру, которая размещает этот массив в нужное мне место на Excel.
--------------------------------
Извиняюсь, данное сообщение написал отдельно, потому что не знаю,  как вставить цитату в изменения к предыдущему сообщению.
Изменено: Юрий_Нд - 26.09.2023 18:24:58
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
Так, как в приложенном файле, пойдёт?
Вы вообще открывали мой файл?
Вы видели там что-либо подобное?
------------------------------------
БМВ, извиняюсь, исправлюсь.
Просто я подумал, если не читают мои основные сообщения, то никто не будет читать изменения к моим сообщениям.
---
Кстати, можете подсказать, как в изменения к сообщению вставить цитату?
Изменено: Юрий_Нд - 26.09.2023 18:16:42
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
А вот массив из двух строк и четырех столбцов:
Я даже не знаю,  что говорить после такого сообщения.
То есть Вы пытаетесь мне пояснить, что такое двумерный массив?
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
анализировать то как раз проще именно массив
Иногда мне кажется, что Вы просто не читаете моих сообщений.
Даже когда я их повторно дублирую:

Цитата
написал:
Но неужели Вы даже не допускаете мысли о том, что можно тот же самый Excel заставить анализировать результаты?
--------------------------------
"щьйорт побъе ри", почему после того когда я вставляю цитату я вижу имя автора цитаты.
А после того как вставляю моё сообщение, имя автора цитаты загадочным образом исчезает?
Изменено: Юрий_Нд - 26.09.2023 18:17:34
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
другое дело, когда не известны именно измерения.
... это не мой случай.
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
...
Изменено: Юрий_Нд - 26.09.2023 18:18:50
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
не известном колличетве измерений
Что Вы понимаете под "количеством измерений"?
Одномерный, двухмерный или трёхмерный массив?
Так это известные данные, потому что я создаю этот массив. Количество измерений этого массива мне известны. Мне не сложно сказать процедуре какой у меня массив.
Мне всё известно об этом массиве.
И мне не сложно об этом сказать процедуре.
Изменено: Юрий_Нд - 26.09.2023 18:18:32
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
Но может найдется волшебник
Ещё раз повторю, этот волшебник уже есть. Это я.
Я показал, как я на листе экселя распечатываю или вывожу трёхмерный массив, это слева, а два двухмерных массива справа.
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
как организовать рекурсивный цикл по не четко определенному количеству измерений и их размеров.
По-моему, Вы не оправдано усложняете задачу.
Исходные данные известны.
В конце концов, давайте начнём с двухмерного массива.
Пять строк по горизонтали, восемь столбцов по вертикали.
Всё это хозяйство нужно разместить на листе "Расчёт", левая верхняя граница или клеточка листа Excel задана.
Пусть будет С9.
Нужна только процедура, которая всё это сделает.
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
надо последние 2 измерения выводит как матрицу, остальные в виде иерархии
Какое счастье...
Хоть кто-то меня понимает с полуслова, с самого первого сообщения.
Уважаемый testuser, я Вам очень признателен.
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
но хочу видеть сперва 4х мерный
То есть того, что я написал в двадцать седьмом сообщении недостаточно?
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
подсчет размера финальной области
Насколько я понимаю, Вы рассчитываете область Экселя, если просто говорить, количество клеток по вертикали и по горизонтали, которые нужны для того, чтобы вывести мой массив на экран.
Поэтому сразу скажу, что этого делать не нужно или не обязательно.
Будем считать, что у меня нет никаких ограничений ни по горизонтали ни по вертикали.
Я только задаю сам массив, и левую верхнюю точку на листе экселя, откуда нужно выводить данные массива на экран.
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
Запускать-то запускали, только для нас он - китайская грамота. ну выдаёт данные - и что? Ваша задача - у Вас в голове. Изложите простым языком что из чего Вы хотите получить?
Мне вот даже интересно что Вы там хотите понять?
Мою инженерную задачу?
Оно Вам надо?
Я Вас спрашиваю исключительно как специалистов по экселю.
Мне нужна процедура, которая выводит в клеточки Excel-я хотя бы двухмерный массив.
Потому что я уже не знаю как Вам объяснить, что трёхмерный массив я элементарно уже вывел на экран.
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
но читабельность её стремится к нулю.
Если конечно мыслить так, что анализировать можно только вооружившись карандашиком и листочком, тогда Вы безусловно правы.
Но неужели Вы даже не допускаете мысли о том, что можно тот же самый Excel заставить анализировать результаты?
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Цитата
написал:
Попробуйте изобразить как вы хотите, например 4х мерный массив (2;2;2;2)
Цитата
написал:
Также не проблема изобразить четырёхмерный массив на листе. Для этого нужно тиражировать уже изображённый мною трёхмерный массив вправо.
Нужна процедура, которая выводит на экран данные н-мерного массива.
 
Сейчас конкретно решаю инженерную задачу и мне нужен именно трёхмерный массив.
Страницы: 1 2 3 След.
Наверх