Тема / Topic: Через ТМ6 не меняется область данных HR контроллера Omron
Валерий Багин
Forum Haunter / Завсегдатай форума
Участник № / Member № 3467
отправлено / posted
Уважаемая поддержка, отправил вам простой проект на hotline3. Проблема: через ТМ6 не меняется область данных HR контроллера omron, хотя реальное значение канала отображает измененное значение. Как только меняю область данных в источнике на DM, все идет нормально. Подскажите, как устранить проблему.
Сообщения / Posts 125 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Валерий Багин
Forum Haunter / Завсегдатай форума
Участник № / Member № 3467
отправлено / posted
Также прошу обратить внимание на ваш учебный проект связи с контроллером Omron по протоколу Ethernet UDP, HostLink. Та же проблема: ТМ6 не пишет в область HR. Жду ваши предположения.
Сообщения / Posts 125 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Все функции в выложенных на сайте примерах проектов для обмена с контроллерами OMRON по протоколам Host Link (RS) и UDP проверены на реальных контроллера OMRON СJ с участием специалистов Московского представительства фирмы OMRON в 2006 г.
В Вашем проекте, на первый взгляд, нет нарушений, кроме лишнего COM-порта. Возможно, проблемы в адресации переменных или настройках контроллера.
Необходимо запротоколировать обмен с помощью сетевого снифера и протокола, который может вести сам драйвер UDP-обмена (см.документацию).
Для протоколирования обмена по Host Link можно использовать какой-либо перехватчик трафика COM-порта, например, PortMon.
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Валерий Багин
Forum Haunter / Завсегдатай форума
Участник № / Member № 3467
отправлено / posted
Извиняюсь за неточную информацию: по Host Link ваш тестовый проект работает правильно, по Ethernet проблема остается. Для протоколирования создал файл _logger в вашем тестовом примере. media_ip.log выслал вам для проверки на hotline3. Файл omron_t12_ip.log так и не появился, объясните, почему может такое быть. В процессе протоколирования поменял значение в ТМ6 DM0 на 2, HR0 на 3. Возможно ли выявить проблему из этого одного файла? Параметры контроллера в порядке.
Сообщения / Posts 125 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Сделайте, пожалуйста, простейший проект с двумя каналами (Input и Out) на одну и ту же переменную HR. Пришлите проект и аналогичный протокол процесса с попыткой передачи данных. Проследите за атрибутом ДОСТОВЕРНОСТЬ у обоих каналов. Задайте в файле конфигурирования запуска ключ DEBUG=400 (регистрация ошибок по сети) и приложите протокол профайлера.
Валерий Багин
Forum Haunter / Завсегдатай форума
Участник № / Member № 3467
отправлено / posted
Проект и протокол отправил на hotline3. Достоверность канала положительная. даты файлов t12s47.dll и media47.dll - 3.11.2006. Не понял в каком файле задавать ключ debug=400.
У меня предположение, что данные в контроллере меняются, но не в соотвоетствии с указанными в редакторе источников.
Сообщения / Posts 125 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Согласно присланному Вами протоколу до посылки в регистр HR первого числа, равного 9, Вы принимали из этого регистра число 8. После посылки 9 Вы стали получать в ответ на запрос число 9. Затем Вы послали число 4 и стали получать в ответ на запрос число 4. Т.о., и запись, и чтение осуществляются правильно.
Вопрос в том, как Вы интерпретируете результат записи в контроллере. От Trace Mode 6 это не зависит.
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Валерий Багин
Forum Haunter / Завсегдатай форума
Участник № / Member № 3467
отправлено / posted
Может от ТМ не зависит, но может зависит от драйвера, куда он его засылает, не знаю, но не в HR0 это точно, реально там как был "0", так и остался. В контроллере CJ1M CPU13 1535 HR ячеек, и ни в одной я такие числа не увидел. Числа простые, как их еще можно интерпретировать?
У вас существуют консультации в индивидуальном порядке, если бы я подъехал к вам с контроллером?
Сообщения / Posts 125 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Из протокола видно, что на запросы канала INPUT возвращаются именно те значения, которые Вы посылали каналом OUT. Вы должны видеть в канале INPUT эти числа. Работает ли процедура чтения из регистра HR?
Ваш приезд с контроллером можно обсудить в рабочем порядке по hotline@adastra.ru или по телефону (есть на сайте).
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Валерий Багин
Forum Haunter / Завсегдатай форума
Участник № / Member № 3467
отправлено / posted
1. Я не спорю что так оно и есть, в 1м сообщении писал об этом. 2. Чтение из "нужного" регистра HR также не работает.
Области памяти в контроллерах omron:
Область памяти ввода вывода CIO, Область удержания H(HR), Рабочая область W(WR), Вспомогательная область AR, Область временной передачи TR, Область памяти данных D(DM), Область расширенной памяти данных (EM), Флаги задач TK, Индексные регистры (IR), Регистры данных (DR), Области таймеров и счетчиков C(СNT) T(ТIM),
Области памяти в редакторе источников Omron_IP_Group ТМ6: CIO,TR,G,A,TIM,CNT,DM,TN,ST,IR,DR,LR,HR,AR, EDM,AC; Вопрос: область W где в этом списке?
В редакторе источников Omron_Group и половины не будет, в том числе и CIO.
отправлено / posted
Привозите контроллер с предварительным телефонным согласованием даты и времени.
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Shahmatist
Forum Member / Участник форума
Участник № / Member № 5388
отправлено / posted
Добрый день. Та же проблема с чтением области памяти. У меня два контроллера с которыми работает ТМ (CJ1M-CPU13ETN21 и CJ2H-CPU65IEP). Могу считать CIO, A, TIM, CNT, DM. Также необходимо W и Н, но они не считываются. Если вы проблему решили пожалуйста сообщите или вышлите на почту решение (xx@xx).
[ 27.02.2012, 11:38: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Сообщения / Posts 31 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
По результатам исследования предоставленного нам контроллера было установлено, что не во всех контроллерах строго соблюдаются отношения, обозначенные в протоколе, между типом данных, кодом области памяти и смещением. Это было учтено возможностью введения в строке "Дополнительно" фактического кода области памяти (указано в описании драйвера). Правильным заданием типа данных, смещения и кода области данных можно точно адресоваться к нужной переменной.
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Shahmatist
Forum Member / Участник форума
Участник № / Member № 5388
отправлено / posted
Спасибо. Вот еще вопрос. Находил на вашем форуме тему, где обсуждалась проблема с типами данный. Там вами была написана программа конвертации данный из HEX в DEC. У меня проблема, я опрашиваю из области памяти DM два слова (DM10004 и DM10005)программно склеиваю их блоком DHL, просматриваю получившееся значение и слова по отдельности не совпадает, получается очень большое число. Почитал инструкции omron там сказано, что данные отображаются в формате BCD (двоично-десятичный код), т.е. там инженеру не нужно замарачиваться с конвертацией. Как я понял трейс моуд приниает значение в чистом виде, без знака. Можете мне как то помочь в этом вопросе?
Сообщения / Posts 31 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Из описания драйвера: "Если в строке описания контроллера присутствуют буквы BCD, ответ контроллера интерпретируется как двоично-десятичное число (1 или 2 байта)." Затем из двух целых чисел A и B надо получить результат N = A + B*10**4.
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Shahmatist
Forum Member / Участник форума
Участник № / Member № 5388
Ilgeneer
Forum Member / Участник форума
Участник № / Member № 5896
отправлено / posted
Здравствуйте. собираюсь связывать контроллер Omron c TM по протоколу host link. будет необходимость считывать область памяти контроллера W. контроллер CJ1M-CPU13. интересует более подробное описание этого совета.
quote:Это было учтено возможностью введения в строке "Дополнительно" фактического кода области памяти (указано в описании драйвера). Правильным заданием типа данных, смещения и кода области данных можно точно адресоваться к нужной переменной.
Как я понимаю эти строки :
quote:Вне зависимости от области памяти, заданной атрибутом Тип области, в атрибут (97, C4) канала записывается значение, заданное в строке Дополнительно в следующем виде:
AREA=<HEX-код области без префикса '0x'>
Например, для доступа к переменной типа HR в контроллере OMRON CJ1W-PA202 в строке Дополнительно следует задать следующее выражение:
AREA=B2
из описания Обмена с контроллерами OMRON по сети Ethernet по протоколу UDP справедливы и для Обмена по протоколу HOST LINK. таким образом Тип в редакторе шаблона могу указать любой, канал (смещение) указать соответствующий слову считывания, а в строке дополнительно тип необходимой области памяти? вопрос- откуда взялось число В2 для области HP. и какой НЕХ код для области W?
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Чтение данных из области памяти W (рабочей) в имеющихся драйверах недоступно. Если в обмене по протоколу host link надо читать регистры рабочей области (WR) PLC, то проще всего в разрабатываемой для PLC программе передать содержимое нужного регистра в регистр многоцелевой области памяти данных DM.
отправлено / posted
Прошу прощения, описка. Следует читать: "В драйвере по протоколу Host Link поле “Дополнительно” не анализируется. "
Сообщения / Posts 17324 | Из / From: Россия
| IP / IP: IP адрес / IP address |