скачал себе сегодня впервые ммб,а там и проект по паралельному порту нашёлся, Snow_Irbis, можно попробовать поработать над взаимодействием проекта на буке с ммб для управления портом
Я для таких целей использую Си , так как в большинстве случаев параллельный порт не подходит для сопряжения внешних устройств , в большинстве случаев на практике приходиться сопрягать устройство с ПК расстояние между которыми не менее 100-200 метров , в таких случаях обычно используется преобразователь RS-232->RS-485
А я сегодня ночью наконец-то научился из необука управлять портом. Сделал,что-то типа отдельного модуля.Вообщем управлять этой шнягой нужно буфером обмена,ну просто из текста скопировать число,от 0 до 225,а для выхода из проги "exit". Это,конечно неочень хорощо,что управляеться буфером,ну если приложения терминальные,типа моего,то этот способ тоже подойдёт. Внимание!!!Придупреждаю сразу,на компе должно быть оперативки неменьше гига,и желательно процессор получше. Иначе.... "Сбой приложений из-за преостановки рабочей станции"
Добавлено (21 Август 2010, 11:13) --------------------------------------------- Я выложил ехе'шник потому,что написана прога на ммб. Советую закрыть все несохранённые текстовые файлы или проекты,перед началом запуска,иначе можете потерять несохранившияся проект. Просто я-же незнаю как прога поведёт себя у Вас на компе. А,и ещё,незапускайте более одного проекта,иначе прога займёт всю оперативку,и Вы несможете преостановить работу программы.
Добавлено (21 Август 2010, 11:32) --------------------------------------------- Прога в двух архивах,распаковывать нужно part1.
Добавлено (21 Август 2010, 11:35) --------------------------------------------- Snow_Irbis, можно поподробнее насчёт
Lab-service, обычно кофейники на мелкопроцессорах фунциклюют, и имеют сервисный порт (сом), пошурши у производителей, мож есть протокол обмена с нужными функциями.
Quote (Snow_Irbis)
ПК расстояние между которыми не менее 100-200 метров , в таких случаях обычно используется преобразователь RS-232->RS-485
RS-232 до 100 метров, потенциал, мин. 3 провода(нульмодем), RS-485 до 1200 метров диф сигнал, 2 и 4 проводный. RS-232->RS-485, мелкосхема max 485
Quote (Lab-service)
Внимание!!!Придупреждаю сразу,на компе должно быть оперативки неменьше гига,и желательно процессор получше. Иначе.... "Сбой приложений из-за преостановки рабочей станции"
Да ты гониш Это ж надо так нахомутать, лечись срочно Всегда, самого паганого компа, даже с озу в 16к, хватало на такие бредни, ты че там рекурсию сварганил
Да ты гониш Это ж надо так нахомутать, лечись срочно Всегда, самого паганого компа, даже с озу в 16к, хватало на такие бредни, ты че там рекурсию сварганил :D
Да проблема в ммбэшном скрипте,проц грузиться на 120%,и если прога невысвечивает никаких ошибок,то минут через сорок он уже использует для своих целей оперативку на 90%,после чего идёт приостановка рабочей станции,ну вообщем комп перезагружаеться я даже и незнаю что делать? Вот код
Code
For Counter=1 To 10000 Clipboard("GET","mmb$") If (mmb$<>'exit' & mmb$>'') Then q$='888 ' + mmb$+'' Pause("20") Run("<Embedded>\PB_LPT.exe","q$") Else Pause("10") End If (mmb$='exit') Then Exit() Else Pause("10") End Next Counter
то что ты хочешь, делается через ScriptTimer. Придумал же, 10000 оборотов цикла... так не только проц, весь комп спалить можно можно просто периодически запускать скрипт мониторинга переменной Clipboard, а потом если что запускать или нет ехе-шник. Думай дальше, только желательно не в этом разделе форума.
Придумал же, 10000 оборотов цикла... так не только проц, весь комп спалить можно
Просто я не ммбшник
Quote (DEMBEL)
то что ты хочешь, делается через ScriptTimer
Спасибо
Добавлено (22 Август 2010, 15:16) --------------------------------------------- Alex3A,
Quote (Alex3A)
пошурши у производителей, мож есть протокол обмена с нужными функциями.
Для меня это слишком сложно,интелекту нехватит,я хочу через лрт DEMBEL,
Quote (DEMBEL)
можно просто периодически запускать скрипт мониторинга переменной Clipboard
Я вроде так и делаю,на нужной странице запускаеться,на ненужной преостанавливаеться А щас вот начались другие проблемы,главная прога,написаная на буке сделана в виде терминала,тоесть нету доступа к панели задачь,точнее раньше небыло,а щас почему-то при запуске мониторинга переменной Clipboard появляеться панель,и окно становиться неактивным,с клавы кнопки ненажимаються,нужно сначала по основному окну щёлкнуть мышкой. А мне этого ненужно! Вроде всё правильно сделал,уже раз 300 проверил,наверно бук тупит?
так сразу и не поймешь из-за чего проблема. вообще, делал бы ты уже в какой нибудь одной проге, авось проблем бы не было. надеюсь ты разобрался со ScriptTimer и как с его помощью мониторить переменную clipboard...
И кто такой PB_LPT.exe, и нафига его запускать 10000 И что он делает, когда считает состояние. И нафига Pause("20"), это 100 раз в секунду! И вообще, паузы менее 50 не актуальны, да и PB_LPT.exe у тебя сколь штук одновременно запущеных. Раз в секунду мало? И че лпт плагин Toizy тебе не катит? В общем, лобуду какую то строиш.
Ну я просто незнал,что этой командой я его столько раз запускаю
как не знал, а пишешь - Run("<Embedded>\PB_LPT.exe","q$"), и так в цикле 10000 раз Если рассуждать в рамках написанного, то где команда закрытия программы pb_lpt.exe (если она нужна)? Вот они и открываются постоянно и глушат тебе систему надо тебе что-то придумать с этим, если уж ты работаешь со сторонними программами.
как не знал, а пишешь - Run("<Embedded>\PB_LPT.exe","q$"), и так в цикле 10000 раз
Да я этот пример,где-то в разделе ммб взял Я вообще-то хотел,что-б скрипт повторялся и повторялся всё время. Мне наверное нужно вконце скрипта написать строчку что-б закрывать PB_LPT.exe ???
Ну это и козлу понятно, яж о другом, что за хрень и как работает, из ммв ты его запустил, а кто его закрывает. А плагин, бери Димку за яйцо, пусть даст на него хелп, в примере, плагин заточен на передачу, а тебе нада на прием. запись
Code
n1=255 передаваемое число n2 = 888 очевидно выбор режима PluginSet("PlugIn","n1") PluginSet("PlugIn","n2") PluginRun("PlugIn","WriteData")
чтение
Code
n2 = 888 PluginSet("PlugIn","n2") PluginRun("PlugIn","ReadData") PluginGet("PlugIn","data") в переменной data считанное число Message("","data")
Сообщение отредактировал Alex3A - Воскресенье, 22 Августа 2010, 17:45
А незнаешь может где нить можно скачать с хэлпом? Я качал,но хэлпа небыло,спросил у toizy,какие плагину нужно слать команды,а он мне ответил читай справку по ммб
Добавлено (22 Август 2010, 19:51) --------------------------------------------- я только,что пробывал,он читает тот пин,который мы только что программно включили а мне нужно,чтобы я перемкнул пин и он увидел,что какой-то пин перемкнули
Пришлось вилку спаять... inpout32.dll должен быть в каталоге с проектом (естественно и .exe программой) В проекте всё расписано.
Добавлено (22 Август 2010, 20:17) ---------------------------------------------
Quote
я только,что пробывал,он читает тот пин,который мы только что программно включили а мне нужно,чтобы я перемкнул пин и он увидел,что какой-то пин перемкнули
Ты получал число, которое находится в порту 888. Чтобы получить число при замыкании пина необходимо указать порт 889 (Status) (пины 10,11,12,13,15)
спасибо всё работает вручу ка я тебе наградую. блин,только вот проблемы,пишет 126 если разомкнуты,когда смыкаю 13 пин,вместо 111 пишет 110 может у меня чё-то в компе перемыкает или чёто с портом? Блин я рад всё работает! Ещё раз большое человеческое СПАСИБО
Добавлено (22 Август 2010, 20:26) --------------------------------------------- блин,я нарадостях аш рыдаю! Ещё раз СПА-СИ-БО
скорей всего ты просто числа перепутал,потому-что я другой прогой пробовал там такие-же числа как и твоя прога показывает ты написал,что когда все разомкнуты,то выводит число 127 а в другой,нетвоей проге написано что 126. ну это неважно оно немишает
Только смотри, если даже самый хилый комп вдруг умрет от твоей проги, подходиш к стенке и бъешся головой, до тех пор, пока не сообразиш где нахомутал в проге Считывание портов одна из простейших операций, и ничего грузить не магет У меня идет считывание минимум с 6 ком портов, и никаких нагрузок от такой работы нет.