MT8070iH+модем ОВЕН ПМ01

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

Re: MT8070iH+модем ОВЕН ПМ01

Сообщение HWAK » 10 июн 2016, 14:52

Спасибо большое за макрос, один вопрос. Для чего нужна запись в регистры?

SetData(l2, "Local HMI", LW, 13, 1)

SetData(CommandNumber[0], "Local HMI", LW, 200, 28)

Без этих строк тоже прекрасно работает.
HWAK
 
Сообщения: 42
Зарегистрирован: 20 июл 2015, 00:29

Re: MT8070iH+модем ОВЕН ПМ01

Сообщение den_po » 10 июн 2016, 14:57

HWAK писал(а):Спасибо большое за макрос, один вопрос. Для чего нужна запись в регистры?

SetData(l2, "Local HMI", LW, 13, 1)

SetData(CommandNumber[0], "Local HMI", LW, 200, 28)

Без этих строк тоже прекрасно работает.

Очевидно для того, чтоб отображать строку и её длину на экране
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: MT8070iH+модем ОВЕН ПМ01

Сообщение anod_ua » 25 июн 2016, 13:44

Здравствуйте коллеги,
Код: Выделить всё
Перепробовал все здесь описанное, так ничего модем и не отправляет.
Выложите пожалуйста макрос отправки сообщений целиком, и особенности проводного подключения панели к ПМ01 через RS-232, если таковые имеются.

Заранее благодарю.

Снимается, разобрался.
anod_ua
 
Сообщения: 1
Зарегистрирован: 16 июн 2016, 20:32

Re: MT8070iH+модем ОВЕН ПМ01

Сообщение DenisM » 10 авг 2016, 12:22

Доброго дня и в продолжении темы:

данный макрос уверенно работает 1раз при включении Slave-устройства(контроллер),

далее через 2-3 раза, причем в INPORT появляются "обрывки" предыдущих ответов...
вроде 1 ответ: COMMAND UKNOWN; и далее: OWN;COMMAND UKN или OFF;COMMAND UKN

команда PURGE(1) и задержки не помогают... где косяк? в макросе, линии или контроллере?

unsigned short receive_len=0
unsigned char str_0Dh[2]={13,0} //возврат каретки
char command[20]="set sauna on "//команда
char answer[100]
char cleaing[40]

FILL(cleaing[0],' ',40)
StringSet(cleaing[0], "Local HMI", LW, 0, 40)//очищаем статус
DELAY(300)

StringCat(str_0Dh[0], command[0])
OUTPORT(command[0], "Free Protocol", 15)
StringSet(command[0], "Local HMI", LW, 0, 20) //отображаем команду

DELAY(2500)
INPORT(answer[0], "Free Protocol", 16, receive_len)

StringSet(cleaing[0], "Local HMI", LW, 0, 40) //очищаем статус
StringSet(answer[0], "Local HMI", LW, 0, 20)//пишем ответ


если бы не предыдущие проблемы с чипом WEINTEK все свалил бы на кабель...
есть подозрение, что чип не самый лучший стоит :D
DenisM
 
Сообщения: 10
Зарегистрирован: 10 фев 2014, 23:39

Re: MT8070iH+модем ОВЕН ПМ01

Сообщение Lukas » 11 авг 2016, 05:20

DenisM могли бы вы сказать что пытаетесь реализовать. Это весь макрос? "set sauna on " я правильно понимаю что вы желаете отправить это сообщение в виде SMS?
Модем вам отвечает "COMMAND UKNOWN" так как не понимает ваших команд. Далее: OWN;COMMAND UKN или OFF;COMMAND UKN это ЭХО. Для того чтобы его отключить нужно передать в модем команду ATE0.
Lukas
 
Сообщения: 6
Зарегистрирован: 24 апр 2015, 12:51

Re: MT8070iH+модем ОВЕН ПМ01

Сообщение DenisM » 11 авг 2016, 18:00

Lukas!

к сожалению это не модем - это немецкий контроллер, в который пожалели поставить ModBus :)
просто RS485 2W с простенькой системой команд SET ****, GET ***** и без контроля ошибок.
поэтому отключить эхо не получится, (и что подразумевается под эхом? отражения сигнала от конца кабеля?)

я просто никак не пойму -

1.если контроллер не читает команду - то ответ всегда "COMMAND UKNOWN" должен быть, а не обрывки предыдущих ответов.
и длина ее всегда одинаковая(а у меня то 7, то 15 слов) почему не очищается буфер и чей?

2. почему при перезагрузке контроллера команда проходит 100%, а ответ уже не всегда,
а дальше зависит от настроек интерфейса, идеально при 57600(не меняется) TIME OUT 0.7-0.9с (TURN AROUND - не менял, потому как не понятно, что это)
но только с 3-4 попытки.

может поснифить? не покупать же осциллограф )))
DenisM
 
Сообщения: 10
Зарегистрирован: 10 фев 2014, 23:39

Re: MT8070iH+модем ОВЕН ПМ01

Сообщение Lukas » 12 авг 2016, 05:06

Могу поинтересоваться что за контроллер используете в качестве slave устройства? Просто вы написали в тему "MT8070iH+модем ОВЕН ПМ01" Соответственно я и сделал вывод что вы используете модем
Lukas
 
Сообщения: 6
Зарегистрирован: 24 апр 2015, 12:51

Re: MT8070iH+модем ОВЕН ПМ01

Сообщение DenisM » 12 авг 2016, 18:04

Пульт управления сауной Sentiotec Professional B, просто нет смысла выносить отдельно ветку, принцип один - RS485 ASCII...

нет идей почему только с первого раза работает? может отражения 1 команды забивают буфер?
DenisM
 
Сообщения: 10
Зарегистрирован: 10 фев 2014, 23:39

Re: MT8070iH+модем ОВЕН ПМ01

Сообщение DenisM » 13 авг 2016, 20:24

Разобрался)))

command_length=StringLength(command[0])
OUTPORT(command[0], "Free Protocol", command_length)
StringSet(command[0], "Local HMI", LW, 0, command_length)

правда так и не понял, почему надо отправлять команду с точной длиной, а не больше...
DenisM
 
Сообщения: 10
Зарегистрирован: 10 фев 2014, 23:39

Пред.

Вернуться в Weintek

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

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