| |
Логика СПТ943 и irz MC52PU: как установить связь?Работаем под Linux. Пишу программу для опроса вычислителей по CSD каналу. Дозваниваюсь на модем, соединение устанавливается, отправляю запрос на установление сеанса связи, а ответов от вычислителя не приходит. Уже не знаю, куда копать. Помогите, пожалуйст
Юлен
Новичок
Откуда: Санкт-Петербург Всего сообщений: 9 СсылкаДата регистрации на форуме: 19 фев. 2014
|
Профиль | ИгнорироватьNEW! Сообщение отправлено: 20 февраля 2014 17:16
Здравствуйте! Подскажите новичку, как правильно настроить скорости обмена? Мне кажется, что я тут ошибаюсь. В протоколе прописано, что запрос на установление сеанса должен вестись на скорости 2400 бод. Что это означает? У меня есть скорость обмена по порту (указывается при открытии порта на обмен), и есть скорость обмена сданными для модема (at+ipr = 9600 изначально). Какая из них должна быть 2400? Алгоритм моих действий: Изначально и порт и модем настроены на скорость 9600 бод. После набора номера и удачного соединения (получен ответ Connect 9600 rpl. Соединение идет по CSD.) перевожу модем в командный режим (отправляю "+++". Жду 1 мс. Отправляю команду "at+ipr=2400. Меняю настройки порта, к которому подключен модем - выставляю скорость 2400. Потом на модем подаю команду "at&w" (данные не обновились. Скорость для модема так и осталась 9600) :-( Выхожу в режим передачи данных - отправляю команду "ATO" (Она заканчивается на "О" или на ноль?). Вычислитель не отвечает. Программа зависает. | | |
Николай Антипов
Долгожитель форума
Откуда: Кострома Всего сообщений: 641 СсылкаДата регистрации на форуме: 28 дек. 2010
|
Профиль | ИгнорироватьNEW! Сообщение отправлено: 21 февраля 2014 8:25
СПТ943 работает на скорости 9600, зачем менять скорости? | | |
Алексей Федулов
Новичок
Откуда: Новосибирск Всего сообщений: 13 СсылкаДата регистрации на форуме: 23 янв. 2014
|
Профиль | ИгнорироватьNEW! Сообщение отправлено: 21 февраля 2014 14:06
Я не понял, зачем все это? Вы хотите отчет с прибора получить? Тогда пользуйтесь ПО производителя или альтернативными программами. Через терминальную программу Вы ничего от СПТ не добьётесь. | | |
Юлен
Новичок
Откуда: Санкт-Петербург Всего сообщений: 9 СсылкаДата регистрации на форуме: 19 фев. 2014
|
Профиль | ИгнорироватьNEW! Сообщение отправлено: 21 февраля 2014 14:54 Сообщение отредактировано: 21 февраля 2014 14:58
Да. Мы хотим получить отчет. Возможно Вы знаете программы, которые занимаются получением отчетов, складированием их в виде файлов, но при этом работают из-под Linux? Тогда поделитесь ,пожалуйста. Я видела только работающие в Windows. Я не через терминальную программу, что Вы! Я в порт модема эти команды пишу. И я так поняла, что после установления сеанса связи соединение модем-модем словно исчезает - становится прозрачным, и дальще обмен идет, как будто вычислитель подключен напрямую?
Мы разработчики базы данных для ЖКХ. Сейчас пытаемся скрестить свою базу с диспетчеризацией. Вот мне и поручили написать программу. А у меня тепловычислитель ничего на запрос установить связь не хочет отвечать. | | |
Алексей Федулов
Новичок
Откуда: Новосибирск Всего сообщений: 13 СсылкаДата регистрации на форуме: 23 янв. 2014
|
Профиль | ИгнорироватьNEW! Сообщение отправлено: 21 февраля 2014 16:23
Теперь понятно. Программ под Linux, которые с тепловычислителями работают я тоже не знаю. [q] И я так поняла, что после установления сеанса связи соединение модем-модем словно исчезает - становится прозрачным, и дальще обмен идет, как будто вычислитель подключен напрямую?[/q]
Да, это так. На счет смены скорости порта: зачем? Ведь она задается в СПТ параметром КИ. Менять скорость порта компьютера - тоже непонятно. попробуйте посмотреть тут | | |
box415
Новичок
Откуда: С-Петербург Всего сообщений: 9 СсылкаДата регистрации на форуме: 17 апр. 2013
|
Профиль | ИгнорироватьNEW! Сообщение отправлено: 24 февраля 2014 16:27
[q] после установления сеанса связи соединение модем-модем словно исчезает - становится прозрачным, и дальще обмен идет, как будто вычислитель подключен напрямую?[/q]
Это очень сильно сказано. Там три скорости: скорость компьютер-модем, скорость модем-модем, и скорость модем-СПТ. Меняя настройки порта компьютера, Вы меняете только первую, да и то со стороны компьютера. Даже свой модем должен еще понять, что Вы ее изменили. Это в режиме данных не произойдет, а в режиме команд произойдет не сразу. Короче, это все Вы напридумывали зря. Подумайте над тем, что хотите получить. | | |
Юлен
Новичок
Откуда: Санкт-Петербург Всего сообщений: 9 СсылкаДата регистрации на форуме: 19 фев. 2014
|
Профиль | ИгнорироватьNEW! Сообщение отправлено: 25 февраля 2014 21:44
Очень хочу получить (считать) ответ вычислителя на запрос установления связи. Я ему отправляю вот такую последовательность байт: buf_w[0] = 0x10; //start paketa buf_w[1] = 0xFF; // setevoy nomer vychislitelya //bezadresnoe obraschenie buf_w[2] = 0x3F; //kod zaprosa - zapros ustanovleniya seansa buf_w[3] = 0; //obschiy vvod. 1 - TB1, 2 - TB2 buf_w[4] = 0; buf_w[5] = 0; buf_w[6] = 0; kc = calculate_kc(6); buf_w[7] = kc; buf_w[8] = 0x16; //konec kadra i = 0; while(i<=8) { printf("w to SPT943 %d\n", (int)write(fd,&buf_w,1)); usleep(1000); i = i+1; } Сниффер обнаруживает приход ответа от вычислителя, но почему-то модем отказывается его считывать.
Очень хочу научиться принимать корректные данные из пакетов, отправляемых вычислителем. То есть научиться побайтно читать данные. | | |
Юлен
Новичок
Откуда: Санкт-Петербург Всего сообщений: 9 СсылкаДата регистрации на форуме: 19 фев. 2014
|
Профиль | ИгнорироватьNEW! Сообщение отправлено: 25 февраля 2014 21:48
Меня сильно смущает фраза из протокола связи, что сеанс связи должен устанавливаться на скорости 2400. Что тут имелось ввиду, подскажите, пожалуйста. | | |
Юлен
Новичок
Откуда: Санкт-Петербург Всего сообщений: 9 СсылкаДата регистрации на форуме: 19 фев. 2014
|
Профиль | ИгнорироватьNEW! Сообщение отправлено: 26 февраля 2014 14:38 Сообщение отредактировано: 26 февраля 2014 15:33
Теперь мне стало ясно, что эта проблема невозможности считывания данных из порта не связана со скоростями обмена. Уже легче. Но все равно непонятно, как считать данные и куда они потерялись?
Все. Ответ найден. Надо было СОМ-порт перевести в raw режим. И все стало читаться. Всем спасибо за ответы! С наступающей весной! Ну и с прошедшим 23 февраля! | | |
|
Время выполнения скрипта: 0.0409. Количество выполненных запросов: 17, время выполнения запросов 0.0242
|