PDA

Просмотр полной версии : ПЛК100 и датчики ИВТМ



mettled
17.10.2007, 12:56
Вопрос такой.
Есть у нас датчики ИВТМ. Температу и влажность по ним можно снимать при помощи rs485. По документации к библиотеке написано, что RS485 - это СОМ0. В PORTS библиотеки syslibcom нету значения СОМ0(Надеюсь исправите эту неточность в библиотеке). Потому выдает ошибку при установке параметров порта. Но кажется открывает 485. Данные передаются и принимаются.
ну вот возникает следующая проблемма. при подключении датчика к порту 485. В буффере порта черт знает какие данные. Откуда берутся не понимаю. К RS 485 подключен только датчик. При подключении датчика к RS232 через АС3 все работает нормльно, приходят правильные данные. Ну вот хотелось бы узнать ваши мысли по этому поводу. Выслушаю любые советы и предложения )))

mettled
17.10.2007, 18:29
может мне кто нибудь ответит что нибудь , а ?

Малышев Олег
18.10.2007, 07:58
Да, вполне может возникнуть ситуация что при подключении возникают посторонние символы в буфере.
Это же можно убрать предварительно (перед запросом к прибору прочитав буфер пока SysComRead не станет =0.)

mettled
18.10.2007, 10:22
Да делал я это. Предварительное чтение буфера, перед записью. Там ничего нету. Потому и обратился к вам. Через преобразователь AC3 и по RS 232 все отлично проходит , а при подключении напрямую к RS 485 выдает непонятно что. Это не может быть связанно никак с библиотекой syslibcom?

Малышев Олег
18.10.2007, 12:06
А пробовали подключать через AC3M к компу и гонять гипертерминалом и вашей прогой данные? Программировал RS485 на ПЛК - проблема была именно при начальном старте, далее вроде все ок. Кстати версию прошивки не подскажете?

Филоненко Владислав
18.10.2007, 12:07
Скорее всего дело в линии.

mettled
18.10.2007, 12:50
PLCInfo
PLC model MODEL PLC 100
Binary VERSION 2.01.8
Need Target version 2.0-4.

Терминалкой не пробывал, попробую конечно. Но думаю что мало что изменится.
Почему думаете что в линии ?

Филоненко Владислав
18.10.2007, 12:58
А я наблюдал такие эффекты, с панелью на DCON-е. Постоянно какой-то мусор лез. По CRC он, конечно отсекался, но всё-же. А датчик на каком протоколе датчик? Есть контроль правильности пачки? Мусор в пачке или между (тогда он не страшен)?

mettled
18.10.2007, 13:49
Протокол обмена у датчиков свой.

Протокол обмена для приборов ИВТМ-7Н.
- установки порта – скорость 9600 бод, 8 инф. + 1 стоп-бит, без контроля
четности.
- Обмен начинается только по инициативе компьютера (все приборы
работают в режиме “slave”)
- Весь обмен ведется посредством передачи и приема ASCII символов (!!!
например, адрес устройства 0001 кодируется (дес) 48 48 48 49).
- Признак конца посылки: символ с кодом 0Dh.
- Все приборы имеют служебный адрес – FFFFh
Команда чтения данных:
$0001 RR 0000 08 B1<0d> (пробелы добавлены для удобочитаемости)
Здесь:
$ - символ начала запроса
0001 - сетевой адрес устройства
RR - команда чтения
0000 - адрес блока данных
(0000h – адрес блока измеренных данных)
08 - длина блока данных в байтах
С6 - контрольная сумма (один байт, арифметическая сумма
кодов всех символов)
<0d> - символ 0Dh
Правильный ответ:
!0001 RR 7A14BE41 AA6E3F42 2B (пробелы добавлены для удобочитаемости)
Здесь:
! - символ начала правильного ответа
0001 - сетевой адрес устройства
RR - в запросе была указана команда чтения
7A14BE41 - Температура, 4 байта в формате float, каждый байт
представляется двумя символами
в данном случае закодировано ~23.8 &#186;С
AA6E3F42 - Влажность, 4 байта в формате float, каждый байт
представляется двумя символами
в данном случае закодировано ~48 %
2B - контрольная сумма (один байт, арифметическая сумма
кодов всех символов)
<0d> - символ 0Dh


длжно принимать, типа такого:
'!0001RR7A14BE41AA6E3F422B$R'

принимает :
'‚Љ’I2$N$RўЉВєІ’љєў’2е$R'

Филоненко Владислав
18.10.2007, 14:12
А можно в бинарном виде?

Василий Куц
18.10.2007, 20:23
melted, знаете, может у вас просто принятые данные отображаются как строка, хотя в типа byte все будет нормально? Сам натыкался на подобное, попробуйте поиграться с преобразованием(правильным отображением?) типов.

mettled
19.10.2007, 16:27
все что я считываю из 485 я загоняю в :
buffer: ARRAY[1..256] OF BYTE;
________________
вот что в буфере было, 23 символа(должно быть 26), они меняются при каждом считывании.
138 146 37 117 178 26 221 26 5 209 138 154 10 217 130 146 138 162 146 50 229 106.
и вот на днях я подрубал расширитель I-7065D ICP DAS, тажа фигня была. По 232 (через AC3) все отлично, отсылаю команду, получаю правильный ответ. Как только перехожу на 485 , такая же ерунда начинается. В буфере появляются непонятные значения. Т.е. дело не в датчике и не в линии.

Филоненко Владислав
19.10.2007, 18:13
А виден ли ПЛК как slave и компьютера.
ИМХО, дело в настройках порта, выложите проект

mettled
22.10.2007, 14:20
проект запрашивал у вас мой начальник, он должен быть у ваших программистов. Вы его написали , но при отсутвиии датчика не проверили просто ))) называется ivtm.pro , если не найдете, вылажу здесь

Филоненко Владислав
22.10.2007, 14:41
Выложите, пожалуйста!

mettled
22.10.2007, 14:56
проект_________

Филоненко Владислав
22.10.2007, 15:06
не могли бы вы прислать запрос и ответ как он виден перехватчиком на 485 и как он биден изнутри coDeSys (но только в бинарном виде!)

mettled
22.10.2007, 16:27
все данные я отправляю строковой переменной. в проекте указанно что я отправляю.
snd_buf:STRING(40):='$$0001RR000008B1$0D';
получить должен, типа такого:
'!0001RR7A14BE41AA6E3F422B$R'
принимает:
'‚Љ’I2$N$RўЉВєІ’љєў’2е$R'
буффер приемника у меня:
buffer: ARRAY[1..256] OF BYTE;
как я писал выше вот что в буфере получается:
138 146 37 117 178 26 221 26 5 209 138 154 10 217 130 146 138 162 146 50 229 106. (эти цифры меняются в произвольном порядке каком то постоянно).
должно быть 26 цифр, но как вы можете видеть их 23 иногда выдает 22 или 21 цуфру.
На самом деле это вся информация, которой я обладаю, и более свежей не имею возможности дать, нету контроллера пока что:mad: . Это проблемма исчезает при подключении датчика через RS 232 и буфере приемника появляются правильные цифры(цифры можно узнать если строку, которую я должен получить перевести в ASCII код).

Филоненко Владислав
22.10.2007, 16:33
У меня была похожая ситуация, рвал волосы, оказалось 2 прибора стоят и одновременно на запрос отвечают.
На снифере тоже мусор в ответе?
С программной точки зрения порты одинаковые. Но
DBGU (верхний) может работать только 8 бит. 1 стоп.
Жду, когда доберетесь до прибора

Филоненко Владислав
22.10.2007, 18:18
проект_________

А как же Вы используете проект в ПЛК без конфигурации??? Или это сов.секрет.? В ней может быть дело!

mettled
22.10.2007, 18:41
А что вы хотите что бы в конфигурации было указано ?
сказано что обычная конфигурация для ПЛК-100. Думаю этого должно хватить.
А уже программно открываю порт и устанавливаю его параметры и использую функции для посылки и приема данных. Все работет отлично с данной конфигурацией и с функциями для работы с ком портом при подключении датчика через AC3.

Филоненко Владислав
23.10.2007, 12:32
Просто в присланном проекте конфигурации не было! А если вы в конфигурации указываете к-е либо настройки для портов, а потом их-же используете через SysLibCom, могут быть разные глюки.

mettled
23.10.2007, 13:24
нет я так не делаю , в конфигурации никаких настроект порта не указываю.

Малышев Олег
23.10.2007, 16:53
Надо разобраться что же происходит на самом деле.
1) В сеть включите АС3M и посмотрите что происходит при общении датчика и ПЛК (просто гиперетерминалом)
2) Если видете нормльный ответ в терминале а в ПЛК ерунду - засылайте протокол обмена от гипертерминала....

GTS
10.08.2016, 15:11
Добрый день! Интересует тема подключения датчиков ИВТМ по rs485. Может есть какая то библиотека? Понимаю, что тема была давно, но все таки интересно смогли ли подключиться?

GTS
12.08.2016, 08:13
Никто не знает по подключению ИВТМ?

capzap
12.08.2016, 08:27
Никто не знает по подключению ИВТМ?

во первых у ОВЕН есть свои датчики температуры и влажности, предлагаете обсуждать оборудование конкурента?
во вторых в инструкции расписано какое оборудование необходимо и схемы распайки приведены

melky
12.08.2016, 08:36
Писать свой опрос, другого варианта по этим датчикам нет.

GTS
12.08.2016, 10:13
Датчики у Овна только появились, ИВТМ обсуждать не чего. Там свой протокол, сам написать я пока не осилю, поэтому спрашиваю может библиотека есть, тут пример выложен, но он по моему не рабочий.

Сергей0308
12.08.2016, 13:22
Датчики у Овна только появились, ИВТМ обсуждать не чего. Там свой протокол, сам написать я пока не осилю, поэтому спрашиваю может библиотека есть, тут пример выложен, но он по моему не рабочий.

Так в чём проблема? Мурдемона хорошо попросите(не бесплатно), он "чёрту рога свернёт", сейчас молчит, наверно отдыхает!

GTS
12.08.2016, 17:59
Проблем никаких нет. Просто искал решение своего вопроса по подключению датчиков к ПЛК. Если кому-то интересно, то скоро (на следующей неделе) выйдет прошивка для этих датчиков, в которой будет протокол modbus. Всем удачи и спасибо за ответы.