Форум программистов, компьютерный форум, киберфорум
КИП, датчики
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
1 / 1 / 0
Регистрация: 12.03.2014
Сообщений: 11
1

Управление проектором Mitsubishielectric EW270U по RS-232 (or virtual COM over USB)

12.03.2014, 09:34. Показов 3907. Ответов 26
Метки нет (Все метки)

День добрый.

подскажите новичку. есть задача: необходимо включать и отключать проектор с компа, на проекторе есть com порт, в инструкции прописана команда на включение и отключени <CR>*pow=on#<CR> и <CR>*pow=off#<CR>
настройки comорта

Baud Rate 115200 bps,
Data Length 8 bit
Parity Check None
Stop Bit1 bit
Flow Control None

черег терминал все работает.
нашел в инете скрипт для vba который делает обращение к com порту. скрипт запускается ошибок не выдает, но проектор на его выполнение не реагирует.
сам скрипт:
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dim MSComm
Set wshShell = CreateObject("WScript.Shell")
Set MSComm = WScript.CreateObject("MSCommLib.MSComm","MSComm_")
 
 
 
 
' Fire Rx Event Every 11 Bytes
MSComm1.RThreshold = 11
 
' When Inputting Data, Input 11 Bytes at a time
MSComm1.InputLen = 11
 
' 9600 Baud, No Parity, 8 Data Bits, 1 Stop Bit
MSComm1.Settings = "115200,N,8,1"
 
' Disable DTR
MSComm1.DTREnable = False
 
' Open COM1
MSComm1.CommPort = 1
MSComm1.PortOpen = True
 
 
MSComm1.Output = "*pow=on#"


что может быть не так в скрипте?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2014, 09:34
Ответы с готовыми решениями:

Дистанционное управление проектором
Здравствуйте, уважаемые форумчане! Нужна ваша помощь. Ситуация следующая: попался мне в руки...

Дистанционное управление проектором
Не нашел соответствующего раздела в форуме. Поэтому пишу сюда. Имеется проектор Benq MH680 висит на...

Управление проектором, VGA или DVI выходом
Здравствуйте уважаемые форумчане! Подскажите, как можно, и можно-ли вообще, работать с подключенным...

Управление проектором при подключении через HDMI
Здравствуйте, форумчане! Такая проблема. Есть проектор, NEC M361X, прикрепленный к потолку. Есть...

26
Заблокирован
12.03.2014, 09:58 2
floyd_123, "MSComm" <> "MSComm1"
0
15031 / 6358 / 1726
Регистрация: 24.09.2011
Сообщений: 9,976
12.03.2014, 10:29 3
Так попробуйте
Visual Basic
1
2
3
4
5
Sub bb()
Open "COM1:115200,N,8,1" For Output As #1
Print #1, vbCr; "*pow=on#"; vbCr;
Close #1
End Sub
1
1 / 1 / 0
Регистрация: 12.03.2014
Сообщений: 11
13.03.2014, 10:39  [ТС] 4
Цитата Сообщение от Казанский Посмотреть сообщение
Так попробуйтеКод Visual Basic1
2
3
4
5
Sub bb()
Open "COM1:115200,N,8,1" For Output As #1
Print #1, vbCr; "*pow=on#"; vbCr;
Close #1
End Sub

выдает ошибку, строка 2 символ 26, предпологается наличие окончание инструкции
0
15031 / 6358 / 1726
Регистрация: 24.09.2011
Сообщений: 9,976
13.03.2014, 11:11 5
Значит, Вы пишете скрипт VBS, а не VBA. В VBS, конечно, операторов для работы с файлами нет, надо использовать MSComm.
0
1 / 1 / 0
Регистрация: 12.03.2014
Сообщений: 11
14.03.2014, 10:25  [ТС] 6
Цитата Сообщение от Казанский Посмотреть сообщение
Значит, Вы пишете скрипт VBS, а не VBA. В VBS, конечно, операторов для работы с файлами нет, надо использовать MSComm.
попробовал сделать на VBA, скрип выполняется, но ничего не происходить.
0
15031 / 6358 / 1726
Регистрация: 24.09.2011
Сообщений: 9,976
14.03.2014, 14:58 7
У меня таким способом получилось однажды.
Обратитесь к raxp ( https://www.cyberforum.ru/members/140240.html ), он большой спец по железу.
0
1 / 1 / 0
Регистрация: 12.03.2014
Сообщений: 11
21.03.2014, 10:05  [ТС] 8
Цитата Сообщение от Казанский Посмотреть сообщение
У меня таким способом получилось однажды.
Обратитесь к raxp ( https://www.cyberforum.ru/members/140240.html ), он большой спец по железу.
а как личное сообщение на форуме написать? вроде все облазил, не могу найти.
0
Заблокирован
21.03.2014, 10:15 9
Цитата Сообщение от floyd_123 Посмотреть сообщение
а как личное сообщение на форуме написать?
Ещё одно сообщение создать и подождать чуток - https://www.cyberforum.ru/abou... 82784.html
1
1 / 1 / 0
Регистрация: 12.03.2014
Сообщений: 11
21.03.2014, 10:45  [ТС] 10
эх как все хитро, надо чаще инструкции читать. Спасибо .
0
10214 / 6594 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
21.03.2014, 21:49 11
Ещё одно сообщение создать и подождать чуток
активация лички у пользователя <> включенная личка у другого пользователя. Но не беда, raxp любит такие темы и на досуге перетряхивает форум на предмет их присутствия



...по идее так (VBS):
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
' Mitsubishielectric_Projector_EW270U.VBS
' Демонстрационный скрипт включения-выключения проектора Mitsubishielectric EW270U over RS-232 через пробел (Space) c голосовым сопровождением
'
' Разработчик: Бадло Сергей Григорьевич aka raxp
' H-page: [url]http://raxp.radioliga.com[/url]
' Разработка и тестирование универсального скрипта регистрации COM-сервера DynWrapX: Станислав aka Dragokas 
' H-page: [url]http://Dragokas.16mb.com[/url]
' Автор DynwrapX library ver 2.0: U. Popov aka YMP
' H-page: [url]http://script-coding.com[/url]
'
' Зависимости: 
' · Win OS 32/64-bit 
' · COM-сервер DynWrapx.dll
' · SAPI (для озвучивания используется интерфейс по-умолчанию)
' · ActiveX-класс для работы с COM-портом MSCOMM32.OCX с лицензией (в комплекте)
' · Физический RS-232 or virtual COM over USB
' · Подключенный проектор Mitsubishielectric моделей EW270U/EW230U-ST/EX240U/ES200U
'
' Региcтрация интерфейсов (обязательно первично однократно): 
' · в данном скрипте задайте порт подключения проектора
' · запустите regdynwrapx.bat 
' Использование: запустите run_Mitsubishielectric_Projector_EW270U.cmd
 
 
 
' подключаем голосовое сопровождение
Dim Speak
b = true
Set Speak = CreateObject("sapi.spvoice")
' регистрируем COM объект DynamicWrapperX в тихом режиме
Dim WshShell 
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ("regsvr32.exe dynwrapx.dll /s"),3, true
' создаем объект DynamicWrapperX
Set Wrap = CreateObject("DynamicWrapperX.2")
Wrap.Register "user32.dll", "GetAsyncKeyState", "i=l", "f=s", "r=l"
 
' Настройка порта COM6, на котором проектор
Set MSComm1 = CreateObject("MSCommLib.MSComm")
MSComm1.CommPort = 6
MSComm1.Settings = "115200,N,8,1"
MSComm1.PortOpen = true
 
' Информируем пользователя о начале работы
Speak.Speak "Готов измываться над проектором."
 
' запускаем бесконечный цикл с задержкой
Do
WScript.Sleep 1000 'кол-во миллисекунд
res = Wrap.GetAsyncKeyState(32)
 
if (res = "1") then 
 b = not b
 
 if (b = false) then 
  ' активируем проектор
  cmd = "*pow=on#"
  MSComm1.Output =  chr(13) & cmd & chr(13)
  ' при надоедливости голоса комментируем его
  Speak.Speak "Проектор включен."
 End if
 
 if (b = true) then 
  ' вырубаем проектор
  cmd = "*pow=off#"
  MSComm1.Output =  chr(13) & cmd & chr(13)
  ' при надоедливости голоса комментируем его
  Speak.Speak "Проектор выключен."
 End if
 
End if
Loop
Wrap.CloseHandle(hFile)
Попробуйте (в случае с VBS - не забудьте о регистрации интерфейсов, правильном указании порта и админ-правах, начиная с висты, в случае нативного приложения все доступно уже сразу).

p.s.: если чего не пойдет - вдруг то, что описано в документации отличается в вашей версии проектора, пишите - поправим, но не забывайте прилагать логи (дампы) со сниффера утилит производителя. Также хорошим тоном считается приложение фото испытаний, для наглядности.
5
Вложения
Тип файла: zip Описание API вызова Mitsubishielectric_Projector_EW270U.VBS.zip (355.0 Кб, 12 просмотров)
1 / 1 / 0
Регистрация: 12.03.2014
Сообщений: 11
26.03.2014, 15:16  [ТС] 12
raxp, прога работате на ура, проектор включается и выключается.
со скриптом сложнее. все вроде зарегестрировал, прописал в скрипте порт 1. запускаю cmd файл, скрипт выполняется и ничего не происходит. попробовал задержку увеличить. пару раз из 20 включился но минут через 10 -15 после выполнения скрипта.
при повторном запуске скрипат вылетает ошибка
строка 42
символ 1
ошибка Port already open
код 800A1F45
источник MS Comn

и после запуска скрипта, при запуске проги вылетает ошибка "ошибка открытия порта".
0
10214 / 6594 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
26.03.2014, 15:22 13
прописал в скрипте порт 1. запускаю cmd файл, скрипт выполняется и ничего не происходит
и не должно, процесс без гая и он ожидает нажатия пробела в любом месте. Неужели на видео не видно.

при повторном запуске скрипат вылетает ошибка
строка 42
символ 1
ошибка Port already open
потому что нельзя просто так повторно запускать скрипт, не выгрузив уже работающий процесс и занятый в итоге порт.

p.s.: жду фото включенного проектора с изображением на экране.
0
1 / 1 / 0
Регистрация: 12.03.2014
Сообщений: 11
27.03.2014, 12:29  [ТС] 14
raxp, чото я тупил вчера. все работате. проектор включается и выключается. была следующая проблема: запускал скрипт из сетеовй папки, и без админских прав то же не работатет.

проектор benq mx661.

еще есть 3 проектора sony у них есть порт управления USB, возможно ли через него управлять подобным скриптом?
0
10214 / 6594 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
27.03.2014, 17:30 15
Возможно. Но мне нужны:
1- документация на ваши новые проекторы
2- несколько фото предыдущего проектора в рабочем режиме с проецируемой картинкой на экране (для отчетности)

и без админских прав то же не работатет
без админ-прав будет работать только нативная программа из комплекта, скрипту же (точнее COM-серверу) эти права обязательны (интерфейс в реестре регистрируется).
0
1 / 1 / 0
Регистрация: 12.03.2014
Сообщений: 11
03.04.2014, 08:50  [ТС] 16
raxp,

http://yadi.sk/d/QUvSFGSKLhfiQ

вот ссылка на видео, как все работает. сделал 2 скрипта, один на включение другой на выключение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
' Настройка порта COM6, на котором проектор
Set MSComm1 = CreateObject("MSCommLib.MSComm")
MSComm1.CommPort = 1
MSComm1.Settings = "115200,N,8,1"
MSComm1.PortOpen = true
 
 
 
 
  ' активируем проектор
  cmd = "*pow=on#"
  MSComm1.Output =  chr(13) & cmd & chr(13)
  ' при надоедливости голоса комментируем его
первые испытания на преподователях прошли удачно.
1
1906 / 1223 / 122
Регистрация: 04.01.2010
Сообщений: 4,400
06.04.2014, 12:53 17
Прошу прощения, что уже "после драки машУ", но не проще было бы сделать командный скрипт вроде:

mode com1 9600,n,8,1
type file > COM1:

и файлик "file" с текстом команды? Имхо, это еще проще, чем VBS.
0
10214 / 6594 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
06.04.2014, 14:18 18
Можно и так. Однако это годится для двух-трех команд, скажем создать ярлыки на рабочем столе, в их командной строке написать требуемый вывод и назначить горячие клавиши на ярлыки. В vbs-же можно дописать столько команд, сколько нужно, масштабируемость.
0
1 / 1 / 0
Регистрация: 12.03.2014
Сообщений: 11
09.04.2014, 08:57  [ТС] 19
raxp,

у нас еще три проектора sony VPL-CX76, им лет по 6 - 7, документации на них мало. есть порт usb.

вот вся документация которая была в комплекте

http://yadi.sk/d/BUMuaWTRM65w3

возможноли управлять таким проектором, подобным скриптом?
0
10214 / 6594 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
09.04.2014, 16:46 20
"Нет". В кавычках потому:
1- данный проектор в системе представлен как HID устройство
2- можно, перехватив от утилиты контроля производителя посылки USB-сниффером, написать свою библиотеку/приложение и дергать ее из скрипта
3- можно дергать из скрипта кнопки утилиты контроля производителя (Remote Commander в документации)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2014, 16:46

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Управление устройством через COM (RS-232)
Помогите пожалуйста . Имеется Пк и подключенная к нему плата через rs-232 . На плате уже стоит...

Управление генератором и получение данных с вольтметра по RS-232
товарищи!очень нужна ваша помощь, иначе на работе меня съедят) необходимо написать программу (в...

Управление для МАЯК-231(232,233)
Вариант блока управления для МАЯК-231(232,233) на ATTiny2313A (пофиксать некоторые баги при работе...

Купил USB RS -232 адаптер!!!
Купил USB RS -232 адаптер, но дров не было в комплекте, не подскажите где взять дрова и как его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.