Автоматизация расчетов на VBA
Модератор: life
- TK-15
- Станкостроитель
- Сообщения: 123
- Зарегистрирован: 22 сен 2010, 00:00
- Откуда: Москва
- Контактная информация:
Автоматизация расчетов на VBA
Выложил небольшой пример http://cncfiles.su/download.php?id=1326 расчета частоты UART для AVR. Вобщем ничего ценного, но для запуска программы не нужно компилятора - достаточно чтобы на компе был установлен MSOffice. Програмку легко переделать под другие расчеты, т.е. можно использовать как шаблон.
Для работы нужно открыть документ Word - далее Сервис->Макрос->Редактор Visual Basic. В меню File выбираем Import и загружаем файл . Вроде все
Должно получиться примерно так: http://cncfiles.su/photo/6455.jpg
Для работы нужно открыть документ Word - далее Сервис->Макрос->Редактор Visual Basic. В меню File выбираем Import и загружаем файл . Вроде все
Должно получиться примерно так: http://cncfiles.su/photo/6455.jpg
Последний раз редактировалось TK-15 06 окт 2010, 10:13, всего редактировалось 1 раз.
- TK-15
- Станкостроитель
- Сообщения: 123
- Зарегистрирован: 22 сен 2010, 00:00
- Откуда: Москва
- Контактная информация:
2 Dj_smart
Ну что-же - попытка №2
http://cncfiles.su/download.php?id=1332
http://cncfiles.su/photo/6469.jpg
Я бы сказал любопытство - начало всех дел , вот только плохо, когда оно так и остается всего-лишь любопытством и не вызывает желания научится чему-нибудь.Любопытство - не порок .
Ну что-же - попытка №2
http://cncfiles.su/download.php?id=1332
http://cncfiles.su/photo/6469.jpg
-
- Станкостроитель
- Сообщения: 1696
- Зарегистрирован: 05 сен 2010, 00:00
- Имя: Михаил
- Откуда: Конотоп=>Запорожье=> Харьков, Украина
- Контактная информация:
TK-15, хмм. чет не вышло с экспортом... по идее импортировать надо прожку. но всеравно не вышло.
в свое время я умудрялся писать прогу-расчетчик на экселе. был у нас курсач "расчет на прочность кессона крыла большого удлинения" 1 раз пришлось формулы понабирать и попотеть. зато потом за пиво уходили готовые расчеты (страниц 5 вроде как получалось печатного текста). надо было знать только исходные данные и дважды статически неопределенная задача решалась быстро. даже проверку проходила и эпюры в полуавтоматическом режиме строила
в свое время я умудрялся писать прогу-расчетчик на экселе. был у нас курсач "расчет на прочность кессона крыла большого удлинения" 1 раз пришлось формулы понабирать и попотеть. зато потом за пиво уходили готовые расчеты (страниц 5 вроде как получалось печатного текста). надо было знать только исходные данные и дважды статически неопределенная задача решалась быстро. даже проверку проходила и эпюры в полуавтоматическом режиме строила
- TK-15
- Станкостроитель
- Сообщения: 123
- Зарегистрирован: 22 сен 2010, 00:00
- Откуда: Москва
- Контактная информация:
2 aegis
да - конечно же импорт ( малость ошибся ) у меня стоит Office 2003, хотя по-идее должно работать и на Office97 и на самых новых.
Что там может не выйти неясно - посмотри лог-файл, он создается при проблеме с загрузкой. (*.frm - текстовый файл можно открыть и в обычном блокноте, ну а форму можно и по картинке набросать )
З.Ы Для "эстетов" - кому надо точность расчетов выше поставьте больше цыфирь после запятой у числа PI и будет вам счастье
да - конечно же импорт ( малость ошибся ) у меня стоит Office 2003, хотя по-идее должно работать и на Office97 и на самых новых.
Что там может не выйти неясно - посмотри лог-файл, он создается при проблеме с загрузкой. (*.frm - текстовый файл можно открыть и в обычном блокноте, ну а форму можно и по картинке набросать )
З.Ы Для "эстетов" - кому надо точность расчетов выше поставьте больше цыфирь после запятой у числа PI и будет вам счастье
-
- Смотрящий
- Сообщения: 7565
- Зарегистрирован: 28 авг 2009, 00:00
- Имя: Юрий
- Откуда: Украина. Межевая.
Для "практиков"- считаем только то, что можно реально использовать. Даст мне прога расчётный размер чего-то 6.34521. А у меня только напильник! И?Для "эстетов" - кому надо точность расчетов выше
Это так, мысли походя:).
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Хостинг по CNC http://cncfiles.su/
- TK-15
- Станкостроитель
- Сообщения: 123
- Зарегистрирован: 22 сен 2010, 00:00
- Откуда: Москва
- Контактная информация:
Если кто-нибудь из "практиков" изменит программу так, что бы она выдавала лучший результат и продолжала нормально работать, то он очевидно в ней разобрался. Собссно для этого все и затевалось
Иначе это просто "Плюшкин с избытком места на винте" . Ну а с хоббийной точностью все ясно - просто всегда лучше иметь альтернативу и получить результат самому (комп то сейчас не проблема)
Иначе это просто "Плюшкин с избытком места на винте" . Ну а с хоббийной точностью все ясно - просто всегда лучше иметь альтернативу и получить результат самому (комп то сейчас не проблема)
А у меня только напильник
Не в тему:
ага - а я папа Римский хорош прибедняться
-
- Смотрящий
- Сообщения: 7565
- Зарегистрирован: 28 авг 2009, 00:00
- Имя: Юрий
- Откуда: Украина. Межевая.
Да я что, грю же, просто мысль проскочила...
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Хостинг по CNC http://cncfiles.su/
-
- Смотрящий
- Сообщения: 7565
- Зарегистрирован: 28 авг 2009, 00:00
- Имя: Юрий
- Откуда: Украина. Межевая.
Открыл тему говоришь... Ну вот
Это скрипт поиска ноля по Z в маче. Комменты по русски можно? Я всунул в переводчик...И чуть со стула не упал
Показать/Спрятать
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Хостинг по CNC http://cncfiles.su/
- TK-15
- Станкостроитель
- Сообщения: 123
- Зарегистрирован: 22 сен 2010, 00:00
- Откуда: Москва
- Контактная информация:
Ну как бы это по-понятней объяснить.
Программка пользует внутренний API Macha. Хотя и не разбирался еще с G-кодами и тем более с API Macha
While IsMoving()
Wend
- эти строчки ясно и так - ждут пока отработает перемещение
остается разобраться и понять параметры функций
GetOEMDRO - получение позиции
SetOEMDRO - установка позиции
и аналогичных
вроде здесь что-то есть http://syil.hu/downloads/usingmach3turn.pdf вобщем поищу справку по параметрам функций
на первый взгляд API Macha похоже на "винигрет" из VBA и G-кодов
Программка пользует внутренний API Macha. Хотя и не разбирался еще с G-кодами и тем более с API Macha
While IsMoving()
Wend
- эти строчки ясно и так - ждут пока отработает перемещение
остается разобраться и понять параметры функций
GetOEMDRO - получение позиции
SetOEMDRO - установка позиции
и аналогичных
вроде здесь что-то есть http://syil.hu/downloads/usingmach3turn.pdf вобщем поищу справку по параметрам функций
на первый взгляд API Macha похоже на "винигрет" из VBA и G-кодов
- TK-15
- Станкостроитель
- Сообщения: 123
- Зарегистрирован: 22 сен 2010, 00:00
- Откуда: Москва
- Контактная информация:
все - нашел доку http://www.machsupport.com/docs/Mach3_V ... og_Ref.pdf
Не в тему:
теперь доделаю свой агрегат и замучаю Mach
-
- Смотрящий
- Сообщения: 7565
- Зарегистрирован: 28 авг 2009, 00:00
- Имя: Юрий
- Откуда: Украина. Межевая.
Ага. А можно это "гестапо" показательно провести? С коментами?теперь доделаю свой агрегат и замучаю Mach
С бейсиком ещё на радио86РК возился, общие понятия есть... Было бы интересно. Типа накидать что-то конкретно под свой станок, примочки всякие:).
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Хостинг по CNC http://cncfiles.su/
- TK-15
- Станкостроитель
- Сообщения: 123
- Зарегистрирован: 22 сен 2010, 00:00
- Откуда: Москва
- Контактная информация:
Сам когда-то начинал с бейсик-Spectrum, но с той поры много воды утекло и тот бейсик отличается от нынешнего как запорожец от лексуса (OLE, ActiveX, объектная модель и т.д.)С бейсиком ещё на радио86РК возился, общие понятия есть...
Что-бы не быть в разряде "особо одарённых" советую качнуть и почитать какую нибудь из книг:
Профессиональное программирование на VBA в Excel 2002. Джон Уокенбах
Программирование на VBA 2002 Кузьменко В. Г.
Использование макросов в Excel. Роман С.
VBA и программирование в MS Office для пользователей. Михеев Р.
на мой взгляд очень доступно все описано. После прочтения многие вопросы сами отпадут, ну а конкретную "непонятку" можно и обсудить.
- TK-15
- Станкостроитель
- Сообщения: 123
- Зарегистрирован: 22 сен 2010, 00:00
- Откуда: Москва
- Контактная информация:
Вот еще link для тех кто хочет разобраться c VBA http://lib.rus.ec/b/133112/read - все разжевано с самых азов и по шагам
Не в тему:
не знаю по месту ли поместил ссылочку - ежели что, просьба к модераторам перекинуть сообщение в нужное место
-
- Смотрящий
- Сообщения: 7565
- Зарегистрирован: 28 авг 2009, 00:00
- Имя: Юрий
- Откуда: Украина. Межевая.
TK-15, ну это просто не серьёзно. Как думаешь, сколько людей занимаются басиком? И сколько из них тут? Любопытство, и не более. Коментов нет, и уверяю, не будет. Да и о самом языке... У меня сын- программист. Для примера- наш файлообменник. Он написал его в 16 лет. Сейчас на 2-м курсе универа, и язык программирования для него не имеет ни малейшего значения. Зарабатывает на хлеб, и масло к нему. А на просьбу поковыряться в скриптах... Один взгляд, и... отказ наотрез. Не признаёт как язык в принципе. Вот такие комменты...
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Хостинг по CNC http://cncfiles.su/
- TK-15
- Станкостроитель
- Сообщения: 123
- Зарегистрирован: 22 сен 2010, 00:00
- Откуда: Москва
- Контактная информация:
Для желающих разобраться в азах программирования выложил "мануал с картинками" - пошаговая инструкция к 1-ому посту http://chipdesign.hut2.ru/vba_form1.html
- TK-15
- Станкостроитель
- Сообщения: 123
- Зарегистрирован: 22 сен 2010, 00:00
- Откуда: Москва
- Контактная информация:
Решил в ближайшее время "слепить" автономный контроллер (размеры и потребляемая мощность компьютера намного превышают размеры и потребление станочка ) Начал с обработки G-кода. Для "тестирования" использовал Excel. Получилось вот так
Процедура построения отрезка использует только целочисленную арифметику, ну и разумеется, в коде расчета нет ни одного умножения (используется алгоритм Брезенхема)
Процедура построения отрезка использует только целочисленную арифметику, ну и разумеется, в коде расчета нет ни одного умножения (используется алгоритм Брезенхема)
- TK-15
- Станкостроитель
- Сообщения: 123
- Зарегистрирован: 22 сен 2010, 00:00
- Откуда: Москва
- Контактная информация:
Не знаю про какие конспекты речь - уравнение прямой изучают в средней школе, кажется в 5-6 классе (+/_ год, но могу ошибаться - уж очень давно это было). Чтобы утверждать правильно/неправильно достаточно сравнить приведенный результат с результатом, полученным по уравнению прямой.
общее уравнение прямой y = kx + b, находим угол наклона k.
k= (22-3)/(11-(-2))=19/13
находим b, b= 3-(-2)*19/13=77/13
теперь осталось сравнить, есть ли различие - загоняем данные в тот же Excel
пишем в Y0 (число 3) в В1
формула для колонки B2 - B1+1 и применяем ее к остальным ячейкам (В3..В20)
формула для колонки А1 - (B1-77/13)/(19/13) и так же применим к диапазону (А2..А20)
ну а теперь для проверки работы работы алгоритма выводим округленные значения, т.е. целые числа в колонку "С". С1= ЦЕЛОЕ(A1+0,5) и снова применяем к остальным.
результат можно посмотреть здесь: http://cncfiles.su/download.php?id=1365 правда никаких расхождений с расчетными нет и что именно неправильно так и не понял?
общее уравнение прямой y = kx + b, находим угол наклона k.
k= (22-3)/(11-(-2))=19/13
находим b, b= 3-(-2)*19/13=77/13
теперь осталось сравнить, есть ли различие - загоняем данные в тот же Excel
пишем в Y0 (число 3) в В1
формула для колонки B2 - B1+1 и применяем ее к остальным ячейкам (В3..В20)
формула для колонки А1 - (B1-77/13)/(19/13) и так же применим к диапазону (А2..А20)
ну а теперь для проверки работы работы алгоритма выводим округленные значения, т.е. целые числа в колонку "С". С1= ЦЕЛОЕ(A1+0,5) и снова применяем к остальным.
результат можно посмотреть здесь: http://cncfiles.su/download.php?id=1365 правда никаких расхождений с расчетными нет и что именно неправильно так и не понял?