PDA

Просмотр полной версии : TraceMode 6.ПЛК 150. Modbus RTU



grimsun
28.03.2010, 23:39
Столкнулся с проблемой чтения данных через протокол Modbus RTU из скады ТрейсМод 6. Делаю все по инструкции (на сайте adastra.ru есть даже видео урок). У них работает у меня нет. Складывается ощущение что данные вообще не передаются. Используется RS-232. Скада мастер естественно. С ОРС все работает. Но у ОРС (Codesys) вылез тоже непонятный косяк, если выставить скорость подключения ниже 38400, то переменные не считываются с ПЛК. А т.к. используются радиомодемы для связи Скада-ПЛК, то о высокой скорости там думать не приходится. Надеюсь объяснил понятно. Заранее спасибо!!

Николаев Андрей
29.03.2010, 00:48
Разбейте задачу на 2 части...
Получите данные в OPC - например используя OPC сервер CoDeSys и OPC клиент Matrikon. Подробная инструкция на диске. Получили данные - передавайте в OPC.

grimsun
29.03.2010, 09:34
Дело в том, что через ОРС данные я получаю спокойно. Но при выставление скорости работы порта в Codesys OPC Configurator ниже 38400, как я понял, символьный файл не загружается с ПЛК. Поэтому было решено использовать все таки modbus rtu. Создаю простой проект. В конфигураторе плк добавляю модбас слейв. настраиваю порт. добавляю пару переменных. Затем в среде Трейс Мод 6 добавляю источник модбас. добавляю те же переменные что создал и в конфигураторе плк. Сопоставляю адреса. Запускаю исполняемую среду трейс мод. и ничего..по началу я думал, что проблема скрыта в самом трейс моде. поэтому решил использовать орс сервер с поддержкой модбас. Использовал Lectus, IPCDAS DA, OwenOPC результат один и тот же. эмоций 0. Для меня конечно идеальным вариантом было бы использование ОРС Codesys. Но я не знаю как сделать так, чтобы он работал на более низких скоростях порта.

grimsun
29.03.2010, 16:26
ни у кого идей нету?

Flomaster
30.03.2010, 05:25
А сам COM-порт в редакторе проекта TraceMode вы описываете?

grimsun
30.03.2010, 06:03
конечно. все делаю как положено.

Flomaster
30.03.2010, 11:03
Линия связи корректно работает? настройки порта в TM6 и CoDeSys совпадают? С ПЛК ОВЕН я работал через OPC, а вот с ПЛК SIEMENS связывал с TM6 по Modbus-RTU, проблем не возникало. Главное, правильно настроить порты.

grimsun
30.03.2010, 12:03
При соединение двух плк обмен между ними проходит спокойно. При попытке получить данные на пк с плк, нету ничего. Может я конечно делаю что нибудь не верно. Сначало я создаю источник Modbus добавляю переменную Rin_Word(4). В ней делаю следующие настройки. Порт оставляю 0, т.к. используется ком порт 1, адрес указываю 1, который соответствует адресу плк в сети. Канал равен адресу переменной в Конфигураторе ПЛК минус 1. Т.е. если в конфигураторе 1, то у нас 0. Выбираем 0. Добавляю Ком порт. делаю настройки аналогичные настройкам на плк. запускаю проект. и ничего..

Flomaster
30.03.2010, 17:10
То, что вы написали, похоже на правду. НО. Я не увидел у Вас такого элемента, как канал. Тот, к***** который упоминаете Вы, скорее не к***** а источник/приемник.
Зайдите в свой RTM, ПК мыши, "Создать группу - Каналы". Затем выбираете созданную группу, жмете на ней ПК мыши, выбираете "Создать компонент - Канал_HEX16".
Далее нужно открыть еще один навигатор проекта. У открытого навигатора на панели инструментов есть кнопка "Открыть доп. окно навигатора проекта". После того, как у вас стало 2 навигатора, в одно выбираете группу "Каналы", в другом - "Источник Modbus". Выбираете в "Источнике Modbus" нужный источник и удерживая его ПК мыши перетаскиваете на нужный канал в группе "Каналы". Таким образом вы привязали источник к каналу.
После этого на мнемосхеме нужный вам элемент связываете не с источником, а с КАНАЛОМ!

Думаю, что это у вас не сделано, поэтому и не работает связка.
Если что-то непонятно написал, обращайтесь, попробую объяснить. Успехов!

grimsun
31.03.2010, 14:30
спасибо за подробное объяснение. но канал я создавал и туда помещал переменные. может если есть возможность сделаете небольшой примерчик.

Flomaster
31.03.2010, 14:45
это можно. а какая у вас версия Tm6? базовая или профессиональная?

grimsun
31.03.2010, 15:18
профессиональная и базовая.

Flomaster
31.03.2010, 17:29
А вот и примерчик:
2139

ПЛК-150-И-М, Прошивка и таргет версии 2.10.5.
Версия TM6.06 Pro.

Кстати, просьба к администраторам!
Этот пример неплохо выложить в раздел "Примеры программ...". Я в свое время тоже не знал, с чего начать работу с TM6. Наверняка кому-нибудь еще пригодится.

L@Nser
31.03.2010, 18:17
Извините что вмешиваюсь не совсем по теме.
А опыт работы с МДВВ по Modbus RTU с TraceMode6 есть?
А то у меня обмен через OPC проходит, а по Modbus RTU система даже не видит модуль.
Подскажите пожалуйста что-нибудь.
Ранее тема рассматривалась http://www.owen.ru/forum/showthread.php?t=7509&page=3

Flomaster
01.04.2010, 02:15
А опыт работы с МДВВ по Modbus RTU с TraceMode6 есть?


Если честно, то напрямую с МДВВ напрямую не приходилось работать. Но думаю, что там всё должно быть аналогично. Если время терпит, постараюсь сделать для вас пример вечером (сейчас нет такой возможности).
Вам пример в версии Base или в версии Pro лучше сделать?

L@Nser
01.04.2010, 10:35
Спасибо Вам заранее.
Мне впринцыпе без разницы, но лучше уже Pro.

grimsun
01.04.2010, 12:50
А вот и примерчик:
2139

ПЛК-150-И-М, Прошивка и таргет версии 2.10.5.
Версия TM6.06 Pro.

Кстати, просьба к администраторам!
Этот пример неплохо выложить в раздел "Примеры программ...". Я в свое время тоже не знал, с чего начать работу с TM6. Наверняка кому-нибудь еще пригодится.

Спасибо. Все работает. И я нашел свой косяк =) оказывается это все из-за того, что я через порт RS-232 Debug пытался все делать. Мне аж за это стыдно... :rolleyes:

Flomaster
01.04.2010, 12:55
Спасибо Вам заранее.
Мне впринцыпе без разницы, но лучше уже Pro.

А вот пример для вас:
2143

Адрес МДВВ 16, скорость 9600.
Обмен идет через преобразователь АС4 (порт COM8, скорость 9600).

Успехов!

Flomaster
01.04.2010, 12:56
И я нашел свой косяк =) оказывается это все из-за того, что я через порт RS-232 Debug пытался все делать

Ну ничего страшного, у всех бывает! Главное, что разобрались!

L@Nser
01.04.2010, 16:21
спасибо :), огромное всем за помощь.
оказывается к каналам мдвв нужно обращаться напрямую (к источникам приемникам), а не через промежуточные каналы (для выходов).

Flomaster
01.04.2010, 17:02
спасибо :), огромное всем за помощь.
оказывается к каналам мдвв нужно обращаться напрямую (к источникам приемникам), а не через промежуточные каналы (для выходов).

Это не только для МДВВ. Я пробовал и с другими устройствами. К приемникам типа OUT надо обращаться напрямую, по-другому почему-то не работает:(

ASo
01.04.2010, 17:08
Это не только для МДВВ. Я пробовал и с другими устройствами. К приемникам типа OUT надо обращаться напрямую, по-другому почему-то не работает:(И почему у меня - работает? Что я делаю неправильно?

Flomaster
01.04.2010, 17:26
действительно, странно:)
может проще разобраться, что неправильно делаю я? пользы точно больше было бы:)

ASo
01.04.2010, 18:19
выложите проект под базовую версию. или в личку.

Flomaster
02.04.2010, 12:22
выложите проект под базовую версию

Вот пример проекта.
2149
Адрес МДВВ 16, скорость 9600.
Обмен идет через преобразователь АС4 (порт COM8, скорость 9600).


На экране 2 кнопки. Одна записывает в МДВВ значение маски выходов напрямую в приемник, другая должна записывать в этот приемник через к***** но это не работает.:confused:
Если подскажете, что делаю не так, буду признателен!

ASo
02.04.2010, 12:42
Если подскажете, что делаю не так, буду признателен!Прежде, чем я буду пробовать на оборудовании, поменяйте тип канала маски выходов на Output. Возможно, это решит проблему, сейчас работать не будет.

Flomaster
02.04.2010, 13:00
Прежде, чем я буду пробовать на оборудовании, поменяйте тип канала маски выходов на Output. Возможно, это решит проблему, сейчас работать не будет.

Исправил, но так тоже не работает:(

ASo
02.04.2010, 13:20
Исправил, но так тоже не работает:(
В аргументах канала вызова экрана маску канала выходов привяжите не к реальному, а ко входному значению - и все заработает. Вот исправленный пример - но изменены порт, скорость и адрес МДВВ.
И вообще, пользуйтесь автосозданием и автопривязкой при перетаскивании мышкой - ошибок не будет. Да это и быстрее.

Flomaster
02.04.2010, 15:05
да, теперь всё работает! большое спасибо!
как говорится, "счастье было так близко" :) .

rovki
06.04.2010, 00:07
может кому пригодится.http://www.tracemode6.ru/

hawkX
27.04.2010, 15:09
привет всем, может мне кто-нибудь помочь полностью разобраться с последним примером для базовой версии?
я новичек и пока не понимаю что тут к чему....

ASo
27.04.2010, 15:43
скачайте с сайта адстры книгу "быстрый старт", прочитайте, поиграйтесь.
потом задавайте вопросы, на них можно будет отвечать. пока это не возможно.
и в принципе, это вопрос для форума адстры.

Flomaster
28.04.2010, 02:37
скачайте с сайта адстры книгу "быстрый старт", прочитайте, поиграйтесь.
потом задавайте вопросы, на них можно будет отвечать. пока это не возможно.
и в принципе, это вопрос для форума адстры.

+1.
Я тоже начинал с этого в свое время. Пример в "Быстром старте" достаточно подробный, можно понять все основные принципы. Кстати, если у Вас есть уже Базовая версия TM6, то "Быстрый старт" включен в справочную систему (если ничего не путаю). Если есть проблемы с самим ТМ6, то можно обратиться на форум Адастры, там есть раздел по базовой версии.

hawkX
28.04.2010, 16:11
с тм6 я вроде разобрался, но нет обмена между мдвв и тм...
не знаю в чем дело, вроде как говорили скачал рабочий пример, поменял ком порт и базовый адресс на свои...

Flomaster
28.04.2010, 17:28
а сетевые настройки мдвв не забыли поменять?

hawkX
29.04.2010, 10:01
нет, не забыл, в мдвв такие же парметры как и в тм, может я что-то не так делаю, не пойму...

Flomaster
29.04.2010, 16:36
мдвв и пк соединяются каким образом?

hawkX
30.04.2010, 11:29
через modbus, в конфигураторе и тм выставлено...
базовый адрес сом-порта тоже выставлен...
может нужно еще что-то исправить?

Flomaster
01.05.2010, 14:39
ну вообще я имел ввиду, как они соединяются физически? через преобразователь Ac4? если да, то удается ли соединиться с мдвв программе "конфигуратор мдвв"?
по поводу тм6. базовый адрес ком-порта считается с 0. т.е. порт Com1 имеет базовый адрес 0, Com2 - адрес 1 и т.д. проверьте это.
ну и сетевые настройки мдвв, порта и тм6 должны совпадать (скорость обмена, четные биты и т.д.). успехов!

hawkX
02.05.2010, 15:09
через ас4, конфигуратор распознает и все настройки совпадают, но обмена нет...
не знаю что еще можно исправить...

ASo
02.05.2010, 17:14
а не надо ничего исправлять и плакать на форуме.
возьмите любую программу, проверяющую обмен по Modbus Rtu, посмотрите, отзывается ли мдвв.

L@Nser
15.06.2010, 10:37
А кто-нибудь подскажет как с МДВВ по Modbus RTU считывать значения счетчиков входов (хотя это и выходит у меня, но значения странные - типа--->>>>> 9,021у-039), а самое интересное как их обнулить (сбросить). Проэкт в SCADA-системе TRACE MODE 6.

ASo
15.06.2010, 10:57
выкладывайте проект в базовой версии - посмотрим.

L@Nser
15.06.2010, 11:14
Есть небольшая проблемка. Проэкт сделан в ПРО версии и занимает немало места. Связь с МДВВ по интересующем протоколу и считывание вышеуказаных параметров организовано через второй узел проэкта MicroTRACE MODE 6. Меня интересует работающий небольшой проэкт (пример), который бы коректно считывал параметры и делал сброс. Если можна вышлите (сбросте) пример.

ASo
15.06.2010, 19:06
ловите пример.

L@Nser
16.06.2010, 10:37
большое спасибо

x-petk
07.11.2010, 16:15
А вот и примерчик:
Modbus_TM6_PLC.rar

ПЛК-150-И-М, Прошивка и таргет версии 2.10.5.
Версия TM6.06 Pro.


пожалуйста, а можно этот же примерчик в базовой версии?

заранее благодарен

Flomaster
08.11.2010, 17:56
Пример для ПЛК-150-I-M и TM6 base.
3016

Munkhayzen
31.01.2011, 03:31
:confused:

Munkhayzen
31.01.2011, 03:33
интересно...

Munkhayzen
31.01.2011, 03:43
А вот и примерчик:
2139

ПЛК-150-И-М, Прошивка и таргет версии 2.10.5.
Версия TM6.06 Pro.

Кстати, просьба к администраторам!
Этот пример неплохо выложить в раздел "Примеры программ...". Я в свое время тоже не знал, с чего начать работу с TM6. Наверняка кому-нибудь еще пригодится.

Хотелось бы скачать этот пример,но что то не выходит!!! В чем дело? Его уже нет в архиве,просто ссылка?

Munkhayzen
31.01.2011, 03:57
А вот и примерчик:
2139

ПЛК-150-И-М, Прошивка и таргет версии 2.10.5.
Версия TM6.06 Pro.

Кстати, просьба к администраторам!
Этот пример неплохо выложить в раздел "Примеры программ...". Я в свое время тоже не знал, с чего начать работу с TM6. Наверняка кому-нибудь еще пригодится.

СПАСИБО!!!

MegaMonstrBEN
23.03.2011, 17:47
А есть такое же чудо тока с подключением по GPRS или по TCP

Flomaster
24.03.2011, 02:17
Нет. Для работы по Modbus TCP такого готового чуда нет. Но переделать данный пример под TCP достаточно просто.
В ПЛК создаете устройство Modbus Slave. В TM6 в источниках/приемниках указываете адрес ПЛК в сети Ethernet. Соединение по COM-порту можно удалить.

MegaMonstrBEN
24.03.2011, 18:01
Ваш пример работоет отлично по COM !!!спасибо!!! но вот с переходом на TCP нет где может быть косяк?
в Trace Mode IP задан и COM соединение удалено но не работает отсылать можно тока 1 значение причем тока один раз а принимать вобще отказывается
в ПЛК100 заменил тока RS232 на модем в инет выходит пингуится все отлично по OPC(Lectus) все отлично принимает тоже
Мне кажиться проблема в скаде но где я её почти не трогал???
просветите неграмотного пожалуйста

killbill2
05.04.2011, 21:57
Здравствуйте.Я только начал тестировать TM.Вопрос в следующем:в codesys создал вход с термосопротивления t1 и переменную типа word(по TCP)t2.Написал на FBD t1 real_to_word t2,далее в TM создал переменную routword(3)(проставил все адреса и т.д.),создал канал hex и привязал эту переменную(значение показывает нормально).Но когда я создаю переменную типа float (пишу на FBD t1--t2),создаю в TM переменную routfloat(3) и канал float то показывает число типа 3421e-39.Подскажите пожалуйста в чём проблема?кстати если подключать через lectus ops то показывает всё нормально число типа 24,2352.Я читал что этот вопрос поднимался но ответили примером который у меня почему-то не открывается).заранее спасибо.

brat
06.04.2011, 11:48
Для того чтобы получить в ТМ нормальное значение вам нужно поменять местами старший бит с младшим пример есть на форуме только для ПЛК63 с панелью СП270 в панели тоже чтобы отображать Float нужно это сделать поменять местами.

mcsik
02.06.2011, 00:49
Здравствуйте.Скажите пожалуйста, как в Trace Mode можно изменять (задавать) значения переменных.
Сейчас я это делаю при помощи компонента "ползунок". Если для задания уставки он смотрится красиво, то для задания корректировочных коэффицентов лучше бы смотрелись элементы вроде "текстового блока" но которые не отображали бы переменую, а позволяли вводить переменую с клавиатуры.
В Trace Mode есть что-то подобное?

Николаев Андрей
02.06.2011, 01:21
Это Вам на сайт Трэйс Мода надо...

mcsik
02.06.2011, 07:42
Спасибо, но я на этом форуме видел жалобы на то, что они очень редко или с большими паузами отвечают.

ASo
02.06.2011, 10:41
то для задания корректировочных коэффицентов лучше бы смотрелись элементы вроде "текстового блока" но которые не отображали бы переменую, а позволяли вводить переменую с клавиатуры.
В Trace Mode есть что-то подобное?Естественно.
Обычное текстовое поле.

mcsik
03.06.2011, 21:25
Ничего не понимаю. Я попробую выразиться более подробно.
Сейчас я могу менять значения какой-либо переменной (к примеру А0) только вот этим инструментом
http://i003.radikal.ru/1106/27/d02082cbcab3.jpg

Но мне бы хотелось иметь текстовое поле-подобное тому, в которое вводится логин и пароль для входа на этот форум.
Инструмент "текст" мне позволяет только выводить нужную переменную, а я хотел бы иметь текстовое поле в которое можно вводить значение переменой. Скажем значение 20 я ввёл с клавиатуры, нажал ентер и переменой привязанной к данному текстовому полю присвоилось значение 20. Как это можно сделать. Я понял что с помошью этого элемента,
http://i020.radikal.ru/1106/13/c314f0a74798.jpg
но я никак не могу это сделать.
Какие нужны свойства?
Я зарегистрировался на форуме адастра, но они отклонили мою регистрацию.
Я делаю диплом с применением двух терморегуляторов 151, там интересный проект- уставка первого регулятора зависит от текущего значения выходной мощности второго регулятора, и мне нужны ещё поправочные коэффиценты, но вводть их ползунком не красиво, а по другому у меня не получается....

ASo
04.06.2011, 07:44
Вы даже не изучили раздел "быстрый старт".
У текстового поля есть вкладка "события". На ней в пункте "MousePress" вы можете выбрать "передать значение" - "ввести и передать".
Напомню, что в ТМ нет канала типа ввод-вывод, соответственно вам надо создать 2 канала и два источника-приемника.

mcsik
05.06.2011, 18:24
Спасибо большое. Я читал быстрый старт, но не очень внимательно, и пропустил данный момент. Я себе представлял немного по другому поле ввода, и не обратил на это внимание. Я думал что оно будет обычным полем, а не активным элементом, нажав на который нужно вводить значения. Я с этим разобрался с Вашей помощью. Спасибо Вам большое.

Zhandos
11.05.2017, 14:31
Пример для ПЛК-150-I-M и TM6 base.
3016

Можете отправить примеры еще раз, пожалуйста)

Enercat
18.06.2017, 17:13
Спасибо, но я на этом форуме видел жалобы на то, что они очень редко или с большими паузами отвечают.

Думаю это потому, что у тех кто жалуется, трейс мод с торрентов незарегенный или писали не туда. По крайней мере у меня проблем никогда не было.
Но есть лайфхак, даже если ничего не покупать. Надо на их сайте регить и качать бесплатную скада, после чего региться на их форуме и писать там. Всегда отвечают. :cool:

Enercat
18.06.2017, 17:22
Можете отправить примеры еще раз, пожалуйста)

Да уже 7 лет прошло. Маловероятно, что пример сохранился и вообще актуален.
В интернете есть целые видеуроки, даже со ссылкой на примеры:
https://www.youtube.com/watch?v=cmUQDohX_ms&list=PLffDwaSgFH0Q6wcdeVA6BomuyatbWKEJO&index=3
Правда тут другой, 160 контроллер, но отличий быть не должно. Со стороны скада то точно нечего не поменяется.