Harconen
-
Posts
15 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Posts posted by Harconen
-
-
Не изменяется скорость передачи nsio_ioctl для moxa Nport 5232
После открытия порта, не могу вторично поменять скорость
Делаю так :
nsio_open();
nsio_ioctl ();
после пытаюсь сменить скорость
nsio_ioctl ();
и как была 115200 так и осталась ,
что я не так делаю?
Nport 5232 , FW 2.5,
TCP Server.
IPSeria.dll ver 1.5.0.0
harconen@mail.ru
-
Не смог тогда ответить спасибо , говорю это сейчас. За заботу и поддержку. Ведь нет ничего ценне в этом мире, чем рука помощи, в тяжёлый для тебя час. Ещё раз Спасииибоооо!!
-
nsio_ioct не работает, в nport admin не видно изменений настроек порта:
после инициализации порта пытаюсь задать скорость
Код:
IO :=nsio_ioctl(pid,B115200,(BIT_8+STOP_1+P_IP_SERIAL_NONE));
но, то, что настойки порта изменились,- не вижу в Nport Admin -- И они действительно не изменились!
Что я не так делаю ? ...
-
Таже Ситуатция с той же ревизией и оборудованием, только не весь пакет пересылается в TCP или пересылается с искажениями
Прошу Выслать последнюю ревизию на Harconen@mail.ru так как не могу скачать с сайта прошивку - Беларусские "Товарищи" не пущают ;(
А проекть срочно нужно сдать сегодня
-
Разобрался..
Когда Идёт "Обрыв связи" 485 го , нет открытия порта ... , ну и так далее - Данные действительно остаются в буфере и их можно вычитать ,
но не смотря на это возвращаемая функцией NSIO_READ переменная будет 0! - я же смотрел не по ней а по принятому буферу! естественно -
СRC - даёт ошибку и как следствие я получаю диагностичекскую информацию - ошибка ответа устройства - вместо обрыв линии ! - А Это Вещи РАЗНЫЕ.
Собственно всё что мне нужно, я нашёл . Всем спасибо за участие.
PS
Если не сложно support у поясните как раработют таймауты чтения - записи ? что происходит кода их ставишь ? (50) допустим
-
Вот кусок кода :
// ситуатция : по каким-то причинам связи порт (приёмного устройства) закрыт и не принимает данные //
nsio_write(PortsPIDarray[TCPDevPortConfig.RecNo-1], Pchar(Tbuf), i ); // send!
sleep (65);
IO:= nsio_data_status(PortsPIDarray[TCPDevPortConfig.RecNo-1]); // проверяем статус данных
ret:=nsio_read(PortsPIDarray[TCPDevPortConfig.RecNo-1], Pchar(Rbuf), 555);
//Тут вычитываем смещённые на 1 байт вправо(влево)! данные "мусор"
//и не понимаем это ответил контроллер с ошибкой или порт закрыт
// как выявить то что в течении 55 - 60 мс данные не "ушли" ?
В общем вопрос сформировался такой :
как выявить то что в течении 55 - 60 мс (не важно 100 -200 мс) данные не "ушли", почистить буфер, и снова что-то послать ?
-
Добрый день,
А можно поподробнее:
Опишите, пожалуйста, последовательность действий, которую Вы делаете. Сложно понять, что именно имеется ввиду.
И что Вы имеете ввиду под словом MOXA (видимо, какое-то конкретное устройство)?
N port 5232 IP serial lib
если порт 485 "закрыт" ! то в буфере передачи остаются данные .
Нужно, если в течении 60 мс () нет "отправки" как-то это выявлять и чистить буфер.
таймауты , что-ли поставить??
nsio_DataStatus - ничего не кажет.
-
Но вопрос остался открытым, Как Узнать что в буфере через 65 мс есть неотправленные данные и НЕ читать их?
моха 5232, IPserial Lib
после NSIO_Write , если порт не открыт , то то вычитываю неотправленные данные в виде "мусора", как с этим бороться ?
а конкретно узнать что неотправлено И сбросить порт .
-
Глюканул ЕХЕ видимо вирусы побили ... ;(
Спасибо за участие ...
-
Да потому и прошу что этот Файл НЕ открывается ни в инсталяции ни ваш что вы прислали.
Спасибо за ответ.
Может глюк на компе
??
-
Как Узнать что Порт не отправил данные?
я потом их чере 65 мс выгребвю из порта как прочитанное - ошибка конечно ...
но как правильно организовать? я в отчаянии. ..
-
Если 485 порт закрыт то в буфере МОХА остаются данные которые я вычитываю , - как узнать что они не отправлены ?
как обнулить буфер?
Если можно тех поддержка ответте.
-
Разобрался - дело в том, что когда в процедуре обьявляется Х:PChar А потом ему присваивается нечто Чаровское обьявленное ТАМ ЖЕ, то может произойти такая картина: чар порежет всё до Нуля так как он там инициализируется, в прараметр записи попадёт его (Чара ) "порезанная длина до 0, и собственно, всё плохо... Заморачиваться с ключами компиляции не стал... просто создаю ACH: Array of Char; Сначала SetLength (ACH, 255); ACH [2]:= chr(0); и т.д. (потом уменьшаю до приемлемой длинны) в результате в параметр размерности попадает правильная цифра и строка NSIO_WRITE (...@ACH, length(ACH)); выполняется корректно;
Спасбо за ответ.
-
В команде nsio_write(port_id: Longint; buf: PChar; - Режет всё что в строке за байтом = "0"(ноль) всместе нулём
(оно и понятно). наверное есть какие-то методы передавать всю строку "Нулями"
Пишу программу на DELPHI.
(Библиотека IP Serial LIB)
Спасибо зареннее Всем ответившим!.
C Уважением Игорь.
Не изменяется скорость передачи nsio_ioctl для moxa Nport 5232
in Преобразователи RS-232/422/485 в Ethernet
Posted
У нас импользуется MOXA 5232 как TCP Server и если эту библиотеку целиком заменяет другая, или сокет-решение то, шлите, с примером, вероятнее всего - подойдёт.
С Уважением. ...