Jump to content
Форум по продукции MOXA

Harconen

Пользователи
  • Posts

    15
  • Joined

  • Last visited

Harconen's Achievements

Участник

Участник (2/5)

0

Reputation

  1. У нас импользуется MOXA 5232 как TCP Server и если эту библиотеку целиком заменяет другая, или сокет-решение то, шлите, с примером, вероятнее всего - подойдёт. С Уважением. ...
  2. Не изменяется скорость передачи 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
  3. Не смог тогда ответить спасибо , говорю это сейчас. За заботу и поддержку. Ведь нет ничего ценне в этом мире, чем рука помощи, в тяжёлый для тебя час. Ещё раз Спасииибоооо!!
  4. nsio_ioct не работает, в nport admin не видно изменений настроек порта: после инициализации порта пытаюсь задать скорость Код: IO :=nsio_ioctl(pid,B115200,(BIT_8+STOP_1+P_IP_SERIAL_NONE)); но, то, что настойки порта изменились,- не вижу в Nport Admin -- И они действительно не изменились! Что я не так делаю ? ...
  5. Таже Ситуатция с той же ревизией и оборудованием, только не весь пакет пересылается в TCP или пересылается с искажениями Прошу Выслать последнюю ревизию на Harconen@mail.ru так как не могу скачать с сайта прошивку - Беларусские "Товарищи" не пущают ;( А проекть срочно нужно сдать сегодня
  6. Разобрался.. Когда Идёт "Обрыв связи" 485 го , нет открытия порта ... , ну и так далее - Данные действительно остаются в буфере и их можно вычитать , но не смотря на это возвращаемая функцией NSIO_READ переменная будет 0! - я же смотрел не по ней а по принятому буферу! естественно - СRC - даёт ошибку и как следствие я получаю диагностичекскую информацию - ошибка ответа устройства - вместо обрыв линии ! - А Это Вещи РАЗНЫЕ. Собственно всё что мне нужно, я нашёл . Всем спасибо за участие. PS Если не сложно support у поясните как раработют таймауты чтения - записи ? что происходит кода их ставишь ? (50) допустим
  7. Вот кусок кода : // ситуатция : по каким-то причинам связи порт (приёмного устройства) закрыт и не принимает данные // 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 мс) данные не "ушли", почистить буфер, и снова что-то послать ?
  8. N port 5232 IP serial lib если порт 485 "закрыт" ! то в буфере передачи остаются данные . Нужно, если в течении 60 мс () нет "отправки" как-то это выявлять и чистить буфер. таймауты , что-ли поставить?? nsio_DataStatus - ничего не кажет.
  9. Но вопрос остался открытым, Как Узнать что в буфере через 65 мс есть неотправленные данные и НЕ читать их? моха 5232, IPserial Lib после NSIO_Write , если порт не открыт , то то вычитываю неотправленные данные в виде "мусора", как с этим бороться ? а конкретно узнать что неотправлено И сбросить порт .
  10. Да потому и прошу что этот Файл НЕ открывается ни в инсталяции ни ваш что вы прислали. Спасибо за ответ. Может глюк на компе ??
  11. Как Узнать что Порт не отправил данные? я потом их чере 65 мс выгребвю из порта как прочитанное - ошибка конечно ... но как правильно организовать? я в отчаянии. ..
  12. Если 485 порт закрыт то в буфере МОХА остаются данные которые я вычитываю , - как узнать что они не отправлены ? как обнулить буфер? Если можно тех поддержка ответте.
  13. Разобрался - дело в том, что когда в процедуре обьявляется Х:PChar А потом ему присваивается нечто Чаровское обьявленное ТАМ ЖЕ, то может произойти такая картина: чар порежет всё до Нуля так как он там инициализируется, в прараметр записи попадёт его (Чара ) "порезанная длина до 0, и собственно, всё плохо... Заморачиваться с ключами компиляции не стал... просто создаю ACH: Array of Char; Сначала SetLength (ACH, 255); ACH [2]:= chr(0); и т.д. (потом уменьшаю до приемлемой длинны) в результате в параметр размерности попадает правильная цифра и строка NSIO_WRITE (...@ACH, length(ACH)); выполняется корректно; Спасбо за ответ.
  14. В команде nsio_write(port_id: Longint; buf: PChar; - Режет всё что в строке за байтом = "0"(ноль) всместе нулём (оно и понятно). наверное есть какие-то методы передавать всю строку "Нулями" Пишу программу на DELPHI. (Библиотека IP Serial LIB) Спасибо зареннее Всем ответившим!. C Уважением Игорь.
×
×
  • Create New...