![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| ivvvi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.6.2008 Репутация: нет Всего: нет |
Занимаюсь написанием программы c++ (которая следит за сигналами от Источника безперебойного питания(ИБП)
на Сом-порт компьютера, если сигнал повторяется через определенное время, то программа дает команду на перезагрузку компьютера) Источник безперебойного питания (ИБП) подключен через Сом-порт к компьютеру. 1. Если произошел скачек напряжения или еще что: ИБП посылает какой-то сигнал на Сом-порт компьютера (что произошел скачек). 2. Если через некоторое время пришел повторно такой же сигнал, то дается команда на перезагрузку компьютера. Как я понимаю, необходимо анализировать состояние Сом-порта (что на него приходит). Как это все программно отлавливать..?? (темный лес). И что вообще приходит от ИБП на Сом-порт? Читал, что с Сом-портом можно работать как с обычным файлом. Я только недавно занялся программированием. Буду рад любой инфе (ссылки, примеры...). Спасибо. |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: нет Всего: 261 |
Если на винде, то CreateFile/CloseFile, чтение/запись ReadFile/WriteFile, параллельно придется почитать про DCB - Device Control Block (конфигурирование транспорта, т.е. как система должна будет с портом работать, ибо просто так винда доступ к портам не дает), плюс - COMMTIMEOUTS - структура с таймаутами. Это вы должны знать, иначе все бесполезно. И уже анализировать то, что приходит. ОТ этого все зависит, с точки зрения того, как вам механизм приложения организовать. В принципе да, но в линуксе точно как с файлом, а в винде посложнее. DCB надо задавать, COMMTIMEOUTS... |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
присоединяясь к Mal Hack, добавлю инфу для винды, тыц
|
|||
|
||||
| ivvvi |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.6.2008 Репутация: нет Всего: нет |
А где находится описание сигналов перефирийных устройств (в моем случае это от ИБП). В инструкции к ИБП я не нашел Или может есть какой то стандартный набор сигналов...? Где можно узнать о том, что приходит от ИБП к Сом-порту. Возможно глупые вопросы.... но вопросы. Большое Спасибо. |
||||
|
|||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
ivvvi, только у разработчиков. протокол то их. хотя возможно сам протокол и какой то стандартный - но должно быть хотя бы его наименование.
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: нет Всего: 261 |
Как уже было сказано выше - у разработчиков ИПБ. Как правило, это определенный набор байтов... |
|||
|
||||
| ivvvi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 3.6.2008 Репутация: нет Всего: нет |
ИБП Sinus Serie 1000VA-3000VA . Посмотрю на их сайте. Как вообще выглядит это описание (хотя бы к другому устройству)? |
|||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 5 Всего: 17 |
Поставил бы Serial Port Monitor - и можно посмотреть что приходит от ИБП.
-------------------- 0x2b|~0x2b |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
smoke_man, имхо это можно сделать и програмно - да только толку то - без описания протокола - ковыряться без толку.
Добавлено через 1 минуту и 47 секунд ivvvi, в описание должно быть сказано какие байты к чему относятся приходящие на com-порт. типа таблички. |
|||
|
||||
| smoke_man |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 447 Регистрация: 25.1.2007 Где: Рязань Репутация: 5 Всего: 17 |
mrbrooks, я согласен, только вот бывает,что не все производители дают описание своих протоколов, поэтому приходиться ковыряться в том,что есть.
-------------------- 0x2b|~0x2b |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
smoke_man, это уже уличная магия имхо
|
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |