Главная   Downloads   Разное  
FAQ     Поиск   Регистрация   Вход 
Текущее время: Пт мар 29, 2024 00:34

Часовой пояс: UTC + 3 часа (Russia: MSK)




Начать новую тему Ответить на тему  [ 7 сообщений ] 
Автор Сообщение
 Заголовок сообщения: Работа с com port
СообщениеДобавлено: Пт мар 06, 2015 15:05 
Не в сети

Регистрация: Пн июл 13, 2009 09:54
Сообщения: 33
Добрый день, не могу разобраться с работой по com port. Через преобразователь rs485-usb к пк подключены i-7080B (icp con протокол DCON) и PLC Delta DVP-12ss2. Задача опросить счетчик подключенный к i-7080B и считать D200 из Delta.
На кнопку повесил скрипт:
SetupCOMPort( 5, "9600,N,8,1", 0, 0x0D, TRUE, @ONINPUT | @ONOUTPUT)
OpenCOMPort(5)
OutputCOMPort(5, TXT)
InputCOMPort(5, TXT1, Connected, 4096)

Пишу в ТХТ #220 (считать показания первого счетчика устройства с адресом 22 это i-7080B протокол dcon). Ответ получаю в ТХТ1 >00000075. Тут все понятно это 117 в НЕХ. Как теперь записать в ТХТ кадр Modbus для delta. В НЕХ он вроде выглядит как 11 03 10 С8 00 01. Если это пишу в ТХТ, ответ не приходит. Как записать в АSCII. Делаю это первый раз. От теории уже голова пухнет.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Работа с com port
СообщениеДобавлено: Пт мар 06, 2015 18:13 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
У Дельты родной протокол модбас аски, и 9600,E,7,1
разберитесь сначала какой протокол на порту дельты включен, если есть доступ к проге, то несложно его в норму вернуть.

Если очень хочется RTU, то через @VBSCRIPT
тут http://support-omron.fr/index.php
есть пример для супервайзора, но задействован контрол винды mscomm32, вместо функции супервайзора.

Текстовый и бинарный протоколы на одних проводах совсем не феншуй, минимальные последствия, это глюки у слейвов.

---------------------------------------------
SetupCOMPort( 5, "9600,N,8,1", 0, 0x0D, TRUE, @ONINPUT | @ONOUTPUT)
OpenCOMPort(5)
OutputCOMPort(5, TXT)
InputCOMPort(5, TXT1, Connected, 4096)
тут непонятная последовательность, OutputCOMPort и InputCOMPort, а с 0x0D Вы ответа по рту никогда не дождётесь.

нужно всего один раз сделать так:
SetupCOMPort( 5, "9600,N,8,1", 0, 0x0D, TRUE, @ONINPUT | @ONOUTPUT)
OpenCOMPort(5)
InputCOMPort(5, TXT1, Connected, 4096)

Потом в скрипте по Expression на точку TXT1 через Select Case или другим способом, обрабатывать ответ, т.е. это своего рода событие на приём из порта. OutputCOMPort уже используете по своему усмотрению, можно и в событии на приём.

Цитата:
11 03 10 С8 00 01
тут контрольной суммы не хватает, если рту. В инструкциях на дельтовские контроллеры часто есть описание протокола.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Работа с com port
СообщениеДобавлено: Вт мар 10, 2015 08:11 
Не в сети

Регистрация: Пн июл 13, 2009 09:54
Сообщения: 33
Спасибо за оперативный ответ.
На Delte порт настроен на 9600,n,8,1. Включил маркер который устанавливает в RTU.
Вообще дельту подключил просто, чтоб попробовать как опрашивать 2 устройства с разными протоколами на одном проводе rs 485. Дело в том, что стоит задача восстановить систему учета предприятия. Часть счетчиков уже стоит, часть будут добавлять. Дак вот у них на одном проводе сидели i-7080B (протокол dcon, настройки порта 9600,n,8,1) и счетчик газа Гобой-1 (у него свой протокол, описание во вложении). Я правильно понимаю, что rtu это бинарный протокол и порт должен быть 8 бит, а ascii текстовый и порт 7 бит? Dcon судя по описанию текстовый протокол, тогда почему настройка порта 9600,n,8,1?
Протокол счетчика гобой-1 тоже текстовый? И можно ли в супервизоре использовать порт на 2 этих протокола, допустим разнести время опроса?
Пример с Modbus пробовал, но он у меня при открытии порта ругается на скрипт. Пока не разбирался в причине. Хочется научиться пользоваться встроенными скриптами.
Заранее спасибо за ответы.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Работа с com port
СообщениеДобавлено: Вт мар 10, 2015 15:54 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Супервайзор скорее всего матерится на отсутствие mscomm32, если винда выше ХР, его вручную нужно ставить.

Цитата:
rtu это бинарный протокол и порт должен быть 8 бит, а ascii текстовый и порт 7 бит?

для бинарного 8 бит обязательно, для текстового на выбор, и 7 и 8 нормально.

протокол Гобой-1 бинарный.

Я два раза цеплял к контроллеру на один порт текстовый протокол и модбас рту, работает, но иногда случаются непонятные глюки со слейвами. в последнем случае, какой нибудь из инверторов 3G3MV, на RS-485, тупо иногда выставлял в линию RTS, и вешал всю сеть. Сбрасывалось только питанием.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Работа с com port
СообщениеДобавлено: Ср мар 11, 2015 13:59 
Не в сети

Регистрация: Пн июл 13, 2009 09:54
Сообщения: 33
Олег спасибо за помощь!
C протоколом вроде разобрался. Теперь проблема при опросе i-7080b.
Опрашиваю скриптом с периодичностью 5с. оба счетчика (команды#220 и #221)
первый скрипт Initialisation:
SetupCOMPort( 5, "9600,N,8,1", 0, 0x0D, TRUE, @ONINPUT | @ONOUTPUT)
OpenCOMPort(5)
InputCOMPort(1, Txt1, ass, 4096)
второй скрипт On Regular Interval (опрос 2х счетчиков)
ass=0
Txt1=""
OutputCOMPort(5, "#220")
CALL Script2( )
Txt3=ValueToText(Txt4)
ass=0
Txt1=""
OutputCOMPort(5, "#221")
CALL Script2( )
Txt5=ValueToText(Txt4)
третий скрипт Subrutine для перевода из HEX в DEC
SUB Script2()
@VBSCRIPT
Dim tt
txt6 = mid(Txt1,2,8)
tt = CLng("&h" & txt6)
Txt4 = tt
@ENDSCRIPT
END SUB
В результате валятся ошибки или скрипта или кадра.
Что не так делаю?
Заранее спасибо за терпение.
Если сажу скрипт на кнопку для одного счетчика, вроде все нормально.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Работа с com port
СообщениеДобавлено: Ср мар 11, 2015 23:07 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
У Вас подряд идут
OutputCOMPort(5, "#220")
....................
OutputCOMPort(5, "#221")

второй OutputCOMPort накладывается в проводах на ответ первого.
Разнесите их как нибудь по времени.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Работа с com port
СообщениеДобавлено: Пн мар 16, 2015 14:01 
Не в сети

Регистрация: Пн июл 13, 2009 09:54
Сообщения: 33
Олег спасибо, разнес не по времени а по получению ответа. Теперь мучаюсь с вызовом скрипта на перевод из hex в dec.


В начало
 Профиль  
 
Показать сообщения за:  Сортировка  
Начать новую тему Ответить на тему  [ 7 сообщений ] 

Часовой пояс: UTC + 3 часа (Russia: MSK)


Кто сейчас на конференции

Сейчас этот форум просматривают: в настоящее время на конференции нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Переход:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская документация по phpBB 3