Сейчас на форуме: Magister Yoda, johnniewalker, Kybyx, vsv1, r0lka, -Sanchez-, testrev1337 (+3 невидимых)

 eXeL@B —› Крэки, обсуждения —› работа моей программы с чужой
Посл.ответ Сообщение

Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 марта 2011 11:33
· Личное сообщение · #1

Есть программа упровляюшая ЧПУ станком предоставленная изготовителем оборудования

Цель:
Создать программу с таблицей задач и с сылкой на файлы которые будут запускатся последовотельно и необходимое количество раз из таблицы по ссылке в програме ЧПУ.

Проблема:
Немогу найти решения как из своей програмы с таблицей организовать управление программой ЧПУ для открытия файла, запуска, остоновки и счетчика выполнения файла.
Фаил не открывается командой "Start"

Сушествуетли такое решение?
В каком направлении двигаться для решения задачи?
Насколько это законно?




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 20 марта 2011 12:24
· Личное сообщение · #2

FindWindow, SendMessage, SendInput, GetMenuItem, etc.

-----
Yann Tiersen best and do not fuck




Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 20 марта 2011 13:57
· Личное сообщение · #3

PE_Kill
Для ЧПУ - не факт что под винду. может RTOS какая-нибудь. ТС вообще ничего не пояснил по теме.
bratsts пишет: Насколько это законно? если прога куплена законно - то по РФ законодательству - законно.

-----
продавец резиновых утёнков





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 20 марта 2011 14:31
· Личное сообщение · #4

Закон разрешает модификацию и доработку приобретенной программы для личных нужд.

-----
Yann Tiersen best and do not fuck




Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 марта 2011 14:31
· Личное сообщение · #5

программа ЧПУ работает на WINDOWS



Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 марта 2011 14:48
· Личное сообщение · #6

я уже пробывал пользоваться ProcessMonitor.v2.7, ollydbg110xp думал получить какую либо информазию но это мне нечего не дало



Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 марта 2011 14:58
· Личное сообщение · #7

нехотелосьбы в решении этого вопроса рыть тонны литературы. Если возможно даите напровление в котором плыть. Если есть конкретные решения данного вопроса буду блогодарен за помошь. Если кого заитересовала моя работа могу предоставить полную информацию!




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 20 марта 2011 16:22 · Поправил: DenCoder
· Личное сообщение · #8

bratsts пишет:
программа ЧПУ работает на WINDOWS

Ну и? Это все, что Вы знаете?...

Давайте начнем с вопроса: что из себя представляет программа ЧПУ? exe-файл? Или для нее нужна спец. виртуальная среда или эмулятор, где она работает? Хотя может быть еще и два в одном!

Если первое, то одним из многочисленных (если с вариациями) способов инжектим ЧПУ-программу, перехватываем нужный функционал и если это не критично по времени(!!!) мутим еще одним из многочисленных способов передачу команды с параметрами Вашей программе. И для остальных вариантов найдутся решения. В некоторых случаях можно обойтись без всякого инжекта способом, который предложил PE_Kill!

Как? Это уже другой вопрос. Представьте сначала, что Вы заказчик! И чтобы получить то, что нужно, Вы должны уметь грамотно формулировать тз хотя бы в общих чертах.

-----
IZ.RU





Ранг: 233.1 (наставник), 30thx
Активность: 0.210
Статус: Участник

Создано: 20 марта 2011 16:57
· Личное сообщение · #9

Как вариант для внешнего воздействия на программу походит AutoIt.

-----
AutoIt





Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 20 марта 2011 17:07
· Личное сообщение · #10

OLEGator пишет:
Как вариант для внешнего воздействия на программу походит AutoIt.

Да! Бывает, правда, на нее антивирус ругается - не обращать внимание! Он и должен гавкать на всех, кто лезет в чужой огород...

-----
IZ.RU





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 20 марта 2011 17:43 · Поправил: PE_Kill
· Личное сообщение · #11

bratsts пишет:
Если возможно даите напровление в котором плыть.

Я тебе дал самое верное и простое в реализации направление.

DenCoder пишет:
Да! Бывает, правда, на нее антивирус ругается - не обращать внимание!

Потому что школоло не зная языков программирования пытается сделать троя из того чего может.

-----
Yann Tiersen best and do not fuck




Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 марта 2011 17:43
· Личное сообщение · #12

програма чпу фаил.EXE связь со стонком поддерживает через драйвер вобше упровляюшик файлов очень много некоторые используются для связи со станком некоторые для связи друг с другом в работа в обычном режиме програмы выглядит так: открываем заранее приготовленый фаел для обработки детали через обычное окно "open" нажимаем 1старт ставим деталь 2старт цикл может повторятся до нажатия стоп
у оператора занимает мног времени на поеск нужного файла в папках когда их 10 нет проблем но ногда их 1000 очень много времени отнемает вот я и предумал зделать програмку у где будет таблица типа "иксель"
вней создается задание с полной информацией для оператора и сылкой на фаил оператор выбирает нужную строку нужным артикулом там уже указано сколько необходимо выполнить циклов тоесть сколько будет деталей чтото похожея я уже релиозовал в нутри самой програмы но возникла проблема с самим заданием таблицу приходится полностью заполнять в ручную что очень проблимотично долго и может приводить к ошибкам человеческий фактор пробывал работать с самим файлом очень проблемно он не открывается как текстовый при сохранеий в текстовом редакторе ламается причем есть еше один станок ЧПУ где проблема еше острей!



Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 марта 2011 17:45
· Личное сообщение · #13

спасибо завтро буду оценивать результаты ваших подсказак!!!!!!!!!!




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 20 марта 2011 18:45 · Поправил: DenCoder
· Личное сообщение · #14

bratsts пишет:
програма чпу фаил.EXE связь со стонком поддерживает через драйвер вобше упровляюшик файлов очень много некоторые используются для связи со станком некоторые для связи друг с другом в работа в обычном режиме................................


Ох! Мда... если Вы так и программы пишете, то, видимо, Вы - "веселый" программист

bratsts пишет:
цикл может повторятся до нажатия стоп у оператора занимает мног времени на поеск нужного файла в папках когда их 10 нет проблем но ногда их 1000 очень много времени отнемает вот я и предумал зделать програмку у где будет таблица типа "иксель"

А придумать нормальный механизм не судьба? Ладно, дело Ваше, деревня, конечно, подивится диву, но малейший тормоз системы и выполнится операция не так, как нужно :D Как напишите скрипт на AutoIt, попробуйте эксперимент поставить - загрузите процессор на 100 % чем-нибудь (заархивируйте папку с максимальным сжатием, например), запускайте скрипт и смотрите, как станки бесятся. Быстро это отменить - перерезать нуль-модемный шнур, ножницы держать наготове

-----
IZ.RU




Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 марта 2011 18:51
· Личное сообщение · #15

я навечек и это мое хоби! совмешаю полезное с приятным!




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 20 марта 2011 19:09 · Поправил: DenCoder
· Личное сообщение · #16

Программа-то нормальная - ничего сложного. И без вмешательства других программ
1) Открываем COM-порт hFile = CreateFile("\\\\.\\COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
2) Пишем в порт WriteFile(hFile, Buffer, BufferSize, &dwBytesWritten, NULL);
3) Читаем из порта ReadFile(hFile, Buffer, BufferSize, &dwBytesRead, NULL);

В инете исходников полно по работе с COM-портами, плюс заказать можно... А этой х...мантией только народ смешить.

А с обычного виндового терминала можно тестить байтиками работу станка...

DenCoder пишет:
запускайте скрипт и смотрите, как станки бесятся

Ладно, не буду больше утрировать
Только вообще-то взломы здесь причем?...

-----
IZ.RU




Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 20 марта 2011 19:17
· Личное сообщение · #17

DenCoder
Причем тут com-порт? а протоколы обмена с железом? фуфло пишите

-----
продавец резиновых утёнков





Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 20 марта 2011 19:24
· Личное сообщение · #18

HiEndsoft пишет:
фуфло пишите

Ну, Вам бы все обфуфлить....

Какой еще там порт у них в деревне может использоваться, если не com? Даже если и usb с переходником...

Ну и какой там протокол обмена с железом? Два байта - уже протокол? Ладно, не 2 байта, там ж целая взаимосвязнная система файлов. WriteFile/ReadFile отснифить для каждого файла в таком случае! Делается элементарно олей!

-----
IZ.RU





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 20 марта 2011 20:50
· Личное сообщение · #19

DenCoder ты видимо с железяками никогда дела не имел. Плата -> 12 кнопок управления и 2 сервисные кнопки, 8 лапочек и небольшой EEPROM. На реверсинг протокола ушел месяц и полтора на фикс багов. А тут программирование станка, о каких двух байтах может идти речь? И тем более о снифере?

-----
Yann Tiersen best and do not fuck




Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 20 марта 2011 22:10
· Личное сообщение · #20

Хочу отблогодорить за помощь PE_Kill

FindWindow, SendMessage, SendInput, GetMenuItem, etc.

это помоему поможет решить мою задачку продолжу рыть дальше! спасибо большое всем что уделили свое внимание моей проблеме! Не ожидал! честно в первый раз обротиля за помощю!!!!!!!!!!!!!!!!




Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 21 марта 2011 13:54 · Поправил: DenCoder
· Личное сообщение · #21

PE_Kill пишет:
DenCoder ты видимо с железяками никогда дела не имел

Ну ладно ладно, чего-то я завелся вчера, сам не пойму... даже без пива...

Вообще-то я реверсил протокол обмена с GPRS-модемом, знаю, что со многими устройствами обмен идет через COM. Так и со станками COM либо USB, ну LPT еще есть с контрол-кодами, но это вряд ли(по LPT-портам разногласий много + Intel с Microsoft намудрили там...). Что еще может быть? Можно PS/2 использовать, также звуковую карту для обмена информацией, но эти варианты вряд ли... Самый распространенный в пром. производстве является COM пока что, из всех пинов которого сейчас используются только 3. Постепенно переходят на USB...

А теперь о решении. Отбрасываем AutoIt, интуитивно чувствую, что здесь оно плохо применимо.

SendInput - ОК
FindWindow - OK
SendMessage - OK*
GetMenuItem - проблемыOK

* _ В зависимости от типа WM_сообщения. Могут возникнуть проблемы с некоторыми

Поясню:
GetMenuItem и все связанные с ними функи работы с меню вызовут проблемы в том плане, что при раскрытии меню ждать надо, то есть реализовать задержку - (1). (2) - задержка раскрытия меню в зависимости от мощности и загрузки процессора варьируется от самой минимальной до нескольких секунд, а бывает и минут при занятости ЦП. Отсюда сложность и невозможность реализации, чтоб работало на 100%.
(Запутался, перепутал с получением из AutoIt и ей подобных программ элементов меню способом раскрытия). То же самое(что зачеркнуто) и с SendMessage... Windows Input хорош, когда у приложения есть, настроены как надо и включены горячие клавиши и есть кнопочки на главном(!) диалоге и диалог постоянно открыт.

Далее для модели с Time-critical операциями со станком, требующими непрерывного обмена информацией, думаю, не нужно объяснять, что может быть.

Ладно, предположим модель когда наш станок обладает буфером для приема и временного хранения подпрограммы, откуда она загружается в ОП станка и запускается только по команде с ПК и не требует time-critical операций обмена данными. Только для этой модели Windows Input пригоден!

-----
IZ.RU





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 21 марта 2011 14:21
· Личное сообщение · #22

DenCoder пишет:
также звуковую карту для обмена информацией, но эти варианты вряд ли

У меня знакомый разрабатывает программы управления станками, делает исключительно на звуковых картах. Старой закалки мужик

DenCoder пишет:
Ладно, предположим модель когда наш станок обладает буфером для приема и временного хранения подпрограммы

Бессмысленно строить догадки, если нет технического задания и условий его выполнения, проще о погоде поговорить

-----
Yann Tiersen best and do not fuck





Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 21 марта 2011 17:03
· Личное сообщение · #23

На спец PCI-картах управления станками нет?

-----
IZ.RU




Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 21 марта 2011 20:50 · Поправил: HiEndsoft
· Личное сообщение · #24

DenCoder
Com/PCI/ISA/USB/LPT при чем тут интерфейс, когда вам говорят про протокол обмена?
PE_Kill
У моего знакомого в гараже станок ЧПУ от LPT работает...
Сам разрабатывал архитектуру и писал ПО для самодельного ЧПУ с PCI ЦАП/DIO+COM/HSP5, но чтоб на звуковухах (вместо ЦАП/АЦП) - это круто!

-----
продавец резиновых утёнков





Ранг: 324.3 (мудрец), 221thx
Активность: 0.480.37
Статус: Участник

Создано: 21 марта 2011 22:14 · Поправил: DenCoder
· Личное сообщение · #25

HiEndsoft пишет:
вам говорят про протокол обмена

Не думаю, что намного сложней AT-команд. Немного, но не намного! Там слова, здесь байты. Не говорите мне, что это нереально. Вам самому как бы лучше хотелось: 1) полноценная программа для управления ЧПУ или 2) программа с недоработками интерфейса, но с примочками в виде сторонних программ или сторонних модулей, которые управляют программой управления ЧПУ?
Знаю, что в некоторых случаях второй вариант быстрее, экономнее и эффективнее, но грамотному пользователю чаще всего подходит первый вариант!

-----
IZ.RU



 eXeL@B —› Крэки, обсуждения —› работа моей программы с чужой
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати