Просмотр полной версии : ПЛК100 и датчики ИВТМ
Вопрос такой.
Есть у нас датчики ИВТМ. Температу и влажность по ним можно снимать при помощи rs485. По документации к библиотеке написано, что RS485 - это СОМ0. В PORTS библиотеки syslibcom нету значения СОМ0(Надеюсь исправите эту неточность в библиотеке). Потому выдает ошибку при установке параметров порта. Но кажется открывает 485. Данные передаются и принимаются.
ну вот возникает следующая проблемма. при подключении датчика к порту 485. В буффере порта черт знает какие данные. Откуда берутся не понимаю. К RS 485 подключен только датчик. При подключении датчика к RS232 через АС3 все работает нормльно, приходят правильные данные. Ну вот хотелось бы узнать ваши мысли по этому поводу. Выслушаю любые советы и предложения )))
может мне кто нибудь ответит что нибудь , а ?
Малышев Олег
18.10.2007, 07:58
Да, вполне может возникнуть ситуация что при подключении возникают посторонние символы в буфере.
Это же можно убрать предварительно (перед запросом к прибору прочитав буфер пока SysComRead не станет =0.)
Да делал я это. Предварительное чтение буфера, перед записью. Там ничего нету. Потому и обратился к вам. Через преобразователь AC3 и по RS 232 все отлично проходит , а при подключении напрямую к RS 485 выдает непонятно что. Это не может быть связанно никак с библиотекой syslibcom?
Малышев Олег
18.10.2007, 12:06
А пробовали подключать через AC3M к компу и гонять гипертерминалом и вашей прогой данные? Программировал RS485 на ПЛК - проблема была именно при начальном старте, далее вроде все ок. Кстати версию прошивки не подскажете?
Филоненко Владислав
18.10.2007, 12:07
Скорее всего дело в линии.
PLCInfo
PLC model MODEL PLC 100
Binary VERSION 2.01.8
Need Target version 2.0-4.
Терминалкой не пробывал, попробую конечно. Но думаю что мало что изменится.
Почему думаете что в линии ?
Филоненко Владислав
18.10.2007, 12:58
А я наблюдал такие эффекты, с панелью на DCON-е. Постоянно какой-то мусор лез. По CRC он, конечно отсекался, но всё-же. А датчик на каком протоколе датчик? Есть контроль правильности пачки? Мусор в пачке или между (тогда он не страшен)?
Протокол обмена у датчиков свой.
Протокол обмена для приборов ИВТМ-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 ºС
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 все будет нормально? Сам натыкался на подобное, попробуйте поиграться с преобразованием(правильным отображением?) типов.
все что я считываю из 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 и компьютера.
ИМХО, дело в настройках порта, выложите проект
проект запрашивал у вас мой начальник, он должен быть у ваших программистов. Вы его написали , но при отсутвиии датчика не проверили просто ))) называется ivtm.pro , если не найдете, вылажу здесь
Филоненко Владислав
22.10.2007, 14:41
Выложите, пожалуйста!
Филоненко Владислав
22.10.2007, 15:06
не могли бы вы прислать запрос и ответ как он виден перехватчиком на 485 и как он биден изнутри coDeSys (но только в бинарном виде!)
все данные я отправляю строковой переменной. в проекте указанно что я отправляю.
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
проект_________
А как же Вы используете проект в ПЛК без конфигурации??? Или это сов.секрет.? В ней может быть дело!
А что вы хотите что бы в конфигурации было указано ?
сказано что обычная конфигурация для ПЛК-100. Думаю этого должно хватить.
А уже программно открываю порт и устанавливаю его параметры и использую функции для посылки и приема данных. Все работет отлично с данной конфигурацией и с функциями для работы с ком портом при подключении датчика через AC3.
Филоненко Владислав
23.10.2007, 12:32
Просто в присланном проекте конфигурации не было! А если вы в конфигурации указываете к-е либо настройки для портов, а потом их-же используете через SysLibCom, могут быть разные глюки.
нет я так не делаю , в конфигурации никаких настроект порта не указываю.
Малышев Олег
23.10.2007, 16:53
Надо разобраться что же происходит на самом деле.
1) В сеть включите АС3M и посмотрите что происходит при общении датчика и ПЛК (просто гиперетерминалом)
2) Если видете нормльный ответ в терминале а в ПЛК ерунду - засылайте протокол обмена от гипертерминала....
Добрый день! Интересует тема подключения датчиков ИВТМ по rs485. Может есть какая то библиотека? Понимаю, что тема была давно, но все таки интересно смогли ли подключиться?
Никто не знает по подключению ИВТМ?
Никто не знает по подключению ИВТМ?
во первых у ОВЕН есть свои датчики температуры и влажности, предлагаете обсуждать оборудование конкурента?
во вторых в инструкции расписано какое оборудование необходимо и схемы распайки приведены
Писать свой опрос, другого варианта по этим датчикам нет.
Датчики у Овна только появились, ИВТМ обсуждать не чего. Там свой протокол, сам написать я пока не осилю, поэтому спрашиваю может библиотека есть, тут пример выложен, но он по моему не рабочий.
Сергей0308
12.08.2016, 13:22
Датчики у Овна только появились, ИВТМ обсуждать не чего. Там свой протокол, сам написать я пока не осилю, поэтому спрашиваю может библиотека есть, тут пример выложен, но он по моему не рабочий.
Так в чём проблема? Мурдемона хорошо попросите(не бесплатно), он "чёрту рога свернёт", сейчас молчит, наверно отдыхает!
Проблем никаких нет. Просто искал решение своего вопроса по подключению датчиков к ПЛК. Если кому-то интересно, то скоро (на следующей неделе) выйдет прошивка для этих датчиков, в которой будет протокол modbus. Всем удачи и спасибо за ответы.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot