LINUX.ORG.RU

Связь контроллер-компьютер по RS232/485

 ,


0

1

здравствуйте уважаемые форумчане.Помогите разобраться в следующем вопросе: Имеется приложение с АСУТП на компе.есть удалённый контроллер упраления мех-ми.Проблема-комп не видит контроллер и выдаёт сообщение NETO/dev/ttS0 GRPO иск-ые абоненты. при вызове grep|dmesg опр-ет ttso at i/o 0x3f8(irg=4 base 11520).Проверил порт в винде с помощью заглушки ответ есть. Как отправить и проверить фрейм с отправленный приложением АСУТП(если он отправляеться) и отклик со стороны контроллера. Все возможные замены адаптера RS232/485 производил. Компьютер должен отправлять импульсы инициализации и ждать ответ затем происходит ответ со стороны контроллера. и далее идёт полноценный обмен.

Ответ на: комментарий от slavajkl

Ну для начала по устоявшимся стандартам именования должно быть
/dev/ttySx. Ты хоть напиши что у тебя в качестве контроллера? Просто usb`шные мапяться на /dev/ttyUSBx. Есть шанс что тебе надо просто крутить настройки твоего приложения.

Deleted ()

Также проверь заглушкой на втором конце провода у контроллера и после драйвера RS485 в контроллере, если это возможно.

anonymous ()
Ответ на: комментарий от Deleted

немного невнимательным был...всё правильно по стандарту /dev/ttyS0 в качестве контроллера в глубоком понимании полноценный контроллер со своим CPU и вводом вывода.. разработка белорусская промзернопроект занимался... если это иметь ввиду или схемно на какой мсх реализован? по поводу приложения- мысль конечно есть.. но здесь для начало не могу в инете вычитать как запустить с приложения стартовый бит фрейма...что его активизирует в каком месте ядра... извините за корявость

slavajkl ()
Ответ на: комментарий от anonymous

немного не понял... как это после драйвера RS 485 поставить заглушку? драйвер это же файл согласования(программа) после контроллера на разъём ДБ9 это можно... но не спалю ли там сам порт?

slavajkl ()
Ответ на: комментарий от slavajkl

и ещё 485 идёт по двум проводам с контроллера проблем нет перемкнуть между собой приём и передачу... так как бы чего не вышло

slavajkl ()

какая каша...

Что за комп? что там в качестве RS232/RS485? Интеграшка в мать? Или отдельная плата типа moxa?

Если интеграшка, то как она переключается 232-485? Через биос, Джампер или утилита?

Что за заглушка для проверки в винде использовалась?

В случае 232 я могу представить замыкание 2-3 контактов DB9. В случае 485, нужно цеплять некий транссивер и в нем на логической стороне замыкать Rx-Tx.

yax123 ★★★★ ()
Ответ на: комментарий от yax123

замкнул со стороны компа RS 232 RX-TX на себя (тест разъём DB9)и проверил с помощью терминально программы в виндосе порт работает в линуксе в консоле grep|dmesg ttys0 порт ответил ttys0 at i\o 0x38(irg=4 base 11520)=здесь всё в норме, в качестве переходника moxl transio 100i. по поводу трансивера если другой комп? или весовой терминал там тоже есть 485. некий трансивер? например? проблема может быть глубже... со стороны приложения на компе -не активизирует UART ///вот и получаеться порт есть а передачи нет...это мои догадки..

slavajkl ()
Ответ на: комментарий от slavajkl

Как же сложно разбирать твой поток сознания.
Собери денег и найми специалиста

sehellion ★★★★★ ()
Ответ на: комментарий от slavajkl

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

Я принципе я про вашу топологию все понял. 1. есть комп. у него есть встроенный последовательный порт /dev/ttyS0 к нему подключен конвертер интерфейсов моха. Последовательный порт работает (если в винде работает, то и в линуксе тоже будет).

2. Надо проверить работу transio. Для начала бы я поменял местами жилы RS485 на выходее мохи. Если перепутать полярность то ничего работать не будет. Возможно это ваш случай.

3. Еще нужна предистория. Эта ваша связка АСУТП-линукс-/dev/ttyS0-transio-кабель-контроллер механизма когда-нидь работала? Или это первый запуск?

yax123 ★★★★ ()
Ответ на: комментарий от yax123

1 Пункт совершенно верно. определяет адрес как 0x3f8 2.Пункт TRANSIO новый. жилы меняли местами -картина не изменилась. 3. АСУ ТП ,(приложение) работало со старым адаптером 232/485 продолжительное время... после перерыва в месяц -связи не оказалось. ПРишлось заменить на transio-результат тот же. Возможо ли программно просмотреть какой процесс происходит в ttyS0?

slavajkl ()
Ответ на: комментарий от slavajkl

то есть месяц не включали связку, потом включили не работает. и решили что сдох адаптер 232/485?

Марка старого адаптера 232/485?

Линию связи проверяли между конвертером и контроллером механизма проверяли? Уверен, что проблема в проводах и/или контактах.

yax123 ★★★★ ()
Ответ на: комментарий от yax123

Извините за беспокойство... 1.совершенно верно подозрение было на адаптер после длительного простоя. 2.старый адаптер -разработка института промзернопроекта 3.Физически прозванивали и линию Дата- А и линию Дата+ В и экран.всё в норме. 4 А вот контакты были опущены. Хороших вам выходных

slavajkl ()
Ответ на: комментарий от slavajkl

Проблема оказалась с портом ttyS0 открыли работу приложения на ttyS1 сгорел ttyS0

а как это вяжется с:

Проверил порт в винде с помощью заглушки ответ есть.

И соответственно вопрос к заглушке, она была полной или просто перемычка на 2-3?

yax123 ★★★★ ()
Ответ на: комментарий от yax123

поясню: приложение у меня на жёстком диске и на флешке. 1.жёсткий диск на стационарном компе .цеховом где крутиться АСУТП под линуксом ,естественно здесь на виндосе я проверить не могу 2.флешку я проверил на ноуте(на ней записан образ диска жёсткого с АСУ ТП) 3.Далее втыкаю на ноуте переходник ЮСБ/компорт/заглушка(2-3пин замкнут) 4.Запускаю винду и вижу порт определился,А далее засада запустил приложение с флешки и подключил через переходник usb/com/адаптерRS232/485 -контроллер ---связи нет набираю echo 123 /dev/ttyUSB0 пишет нет прав на доступ. немного я сумбурно написал

slavajkl ()
Ответ на: комментарий от Silerus

я не программист и не сисадмин..поэтому мне затруднительно ответить на этот вопрос... здесь на производстве решаем задачи со связью

slavajkl ()
Ответ на: комментарий от slavajkl

Это очень важный вопрос на самом деле, то что ты соединение два устройства - это пол беды, но они работают по конкретному протоколу, например АСУТП может работать про протоколу iec104, следовательно для проверки нужна программа, которая по нужному протоколу, пошлет твоей асутп нужные пакеты и ту увидишь отзывается она или нет.

Silerus ★★★ ()
Ответ на: комментарий от slavajkl

чтоб были права на запись, пользователь от которого ты работаешь должен быть в группе данного устройства, т.е вариант 1 - для теста попробуй свое echo (я предпочитаю picocom) от рута, 2 - смотрим какая группа отвечает за com и добавляем в нее своего пользователя cat /etc/group ls -al /dev/ttyUSB0

Silerus ★★★ ()
Последнее исправление: Silerus (всего исправлений: 1)
Ответ на: комментарий от Silerus

например АСУТП может работать про протоколу iec104

104й МЭК для rs232/485 называется iec101

RedPossum ★★★★★ ()
Ответ на: комментарий от Silerus

спасибо вроде это панимаю=на предмет правила посылки и формы пакетов.НО где мне узнать какой у меня протокол в АСУТП?

slavajkl ()
Ответ на: комментарий от Silerus

а так не возможно в ядре узнать протокол?... наши разработчики в командировке

slavajkl ()
Ответ на: комментарий от Silerus

echo L > /dev/ttyUSB0 /это так звучит? свое echo (я предпочитаю picocom) от рута, ? или от su

slavajkl ()
Ответ на: комментарий от slavajkl

Первое - от root, su, sudo (su/sudo - это приложение временно изменяющие привилегии) - это одно и тоже, для теста надо попробовать при подсоединиться на полных правах.

Второе - picocom,minicom,putty и другие- терминалы позволяющие комфортно общаться с устройством tty - тупо ради удобства, кроме того в них можно указать настройки на вроде скорости общения четности битов и прочего.

Третье - нам надо узнать группу которой разрешенно пользоваться tty для это надо выполнить

ls -al /dev/ttyS0
crw-rw---- 1 root uucp 4, 64 июл 12 10:56 /dev/ttyS0
Как видим в моем случае это группа uucp следовательно надо сделать
gpasswd -a %user uucp

Silerus ★★★ ()
Ответ на: комментарий от Silerus

ЧТО я имею: 1.на команду dmesg|grep ttyUSB -просмотр моего конв.юсб/ком определяет usb 3-4 PL 2303 converter now attacted to ttyUSB0 2, при наборе ls -al /dev/ttyUSB0 имеем crw-rw-rw asutp asutp 188 июль 12... /dev/ttyUSB0 пробовал ваши команды - uucp не появляются. значит ли это, что я путём тыка сам того не осозновая получил права на пользования usb/com конвертером для того что бы тестировать этот порт и в последующем подключить адаптерRS232/485/

slavajkl ()
Ответ на: комментарий от Silerus

имееться заглушка с замкнутыми 2-3 пинами мне необходимо отправить пакет и считать с порта USB0(при условии что я имею права) как это сделать.с миникомом как то не дружу..... .наш разработчик очень деньги считает ==за слово ему договор давай и счёт. поэтому нахожусь здесь

slavajkl ()
Ответ на: комментарий от slavajkl

у вас же выдал владелец устройства asutp группа asutp, добавьте свое пользователя в группу asutp. uucp - так называется эта группа у меня, и она может называться совсем подругому у кого то подругому. Дальше про minicom picocom и тд - цепляетсь терминалом к устройству для picocom - это будет примерно так

picocom -b 115200(скорость общения надо смотреть в документации к асутп) /dev/ttyUSB0

для minicom - примерно так minicom -d /dev/ttyUSB0

при замкнутых rx tx все что вы будете набирать будет дублироваться, при подключение к вашей асутп, если она не в пасивном режиме (т.е пока вы не скажете ей что вы есть, она отвечать не будет, как устроен протокол вашей асушке я не в курсе) она возможно будет вам слать в порт какието данные

Silerus ★★★ ()
Ответ на: комментарий от slavajkl

нет не правильно gpasswd -a %username asutp

где %username - имя пользователя которого добавляют в группу

Silerus ★★★ ()
Ответ на: комментарий от slavajkl

миником не открываеться ком-ой minicom -d /dev/ttyUSB0

пишет Device/dev/modem acess fauled; нет такого файла

у меня на порту стоит переходник usb/232 далее заглушка.

всё это необходимо для того чтобы я мог тестировать порт usb и затем резервно подключиться к контроллеру но предварительно тестировать миникомом... миником у меня стоит в приложении

slavajkl ()
Ответ на: комментарий от Silerus

Спасибо прочитал.полезная статья миником вызываеться minicom -s

далее как положено все настройки вижу. сохраняю.

пытаюсь снова войти- minicom-

нет такого модема ...пишет device /dev/modem acces failed

Но у меня на порту заглушка с переходником висит( не модем) мне необходимо порт протестировать данной утилитой или иным способом. отправить пакет на порт прочитать ответ

slavajkl ()
Ответ на: комментарий от Silerus

это какой -то капец; всё входил в миником ... наблюдал строчку добро пожаловать в миником 2.2.. потом нажал ненароком клавишу не запомнил!... и всё «пропало» больше после настроек не попадаю в миником....

slavajkl ()
Ответ на: комментарий от slavajkl

немного поспешил с ответом... всё снова запустилось...есть вход в миником...подскажите дальше как отсылать пакет или иное действие которое мне поможет проверить dev/ttyYSB0 у меня только реагирует на клавиши ctri+A и внизу строка вы в миникоме

slavajkl ()
Ответ на: комментарий от Silerus

последний вздох!!!сделал как по описанию F YES

G No

это в настройках миником поставил...но у меня не появилась командная строка где бы я набирал буквы или символы ...просто чёрный квадратик который тупо слева находиться и не реагирует на клавиатуру. в подсказка мне не понятно как действовать, в видео там сразу появляется командная строка cmd , у меня она отсутствует за исключением этого квадрата который как вкопанный стоит

slavajkl ()
Ответ на: комментарий от slavajkl

сохранить настройки выбрав пункт «Save setup as dfl» выйти из minicom

minicom -c on

tx/ty - должны быть замкнуты

просто пишем должны увидеть эхо

Silerus ★★★ ()
Ответ на: комментарий от Silerus

это наверно кара небесная на меня спустилась! tx/ty это (2-3)пин ? правильно понял?... 2-3 замкнул на переходнике юсб \232 картина прежняя. квадрат малевича... набрал миником -с on // всё тоже самое`только экран чёрный ... а текст и приглашение одинаково

slavajkl ()
Ответ на: комментарий от Silerus

контроллер вы имеете ввиду на ноутбуке? у меня вот то получаеться:на флешке записана копия асутп(виртуальная машина) и я гоняю на ноутбуке её. А оригинал крутиться на системном блоке в связке с контроллером управляющим на механизмы.. Сыр бор рагорелся из-за того-что пропала связь с контроллером.ПО факту вышел ttyS0 на системном блоке... никто из наших не знал как тестировать этот порт RS232 в линуксе.. пришлось за деньги везти в столицу. а нам----минус громадный. А как я мог сжечь контроллер? уменя как определялся переходник так и определяеться. t

slavajkl ()
Ответ на: комментарий от slavajkl

ваш переходник usb-rs(тот что ttyUSB) я имею ввиду, сгорает он легко и незаметно, достаточно его на горячую сдернуть, если нет гальванической развязки - то сгарает микросхема внутри, а определятся он продолжает прекрасно, только отображается юсбишная часть. Наверно примерно также погорел ваш порт на компе

Silerus ★★★ ()
Последнее исправление: Silerus (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.