УкраїнськаEnglishmRussian
Вход/Новый
В теме много сообщений

Снова ModBus


Автор Сообщение
Сообщение создано: 07. 06. 2010 [18:00]
gsxr
Андрей Ехлаков
Зарегистрирован(а) с: 03.03.2010
Сообщения: 58
Хмм. Я забыл что нужно переменные создавать в определенном регистровом наименовании для модбаса. R0 R1 и т.д.

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

А как обрабатывается ситуация, когда во вкладке "данные" созданы параметры R0w и R0?
Т.е один и тот же регистр задается как write и как "не write"

Ура, получилось писать в опенскаду из icpcona. Но есть одна проблема. Как передать через модбаc unsigned long integer? 4хбайтовое...

[Сообщение редактировалось 3 раз(а), в последний раз 07.06.2010 в 18:53.]
Сообщение создано: 07. 06. 2010 [22:06]
almaz
Almaz Karimov
Contributor
Зарегистрирован(а) с: 25.09.2008
Сообщения: 516
Как два двухбайтовых регистра.

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Сообщение создано: 08. 06. 2010 [11:32]
gsxr
Андрей Ехлаков
Зарегистрирован(а) с: 03.03.2010
Сообщения: 58
В руководстве по бытсрому старту описано как получать данные для "Логического уровня" из контроллера modbus подсистемы "сбор данных". Возможно ли получить данные из узла подсистемы "транспортные протоколы" -> Modbus? Существует подходящий пример?
Сообщение создано: 08. 06. 2010 [11:45]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
У узлов транспортного протокола "ModBus" связи вообще-то есть.

Learn, learn and learn better than work, work and work.
Сообщение создано: 08. 06. 2010 [12:12]
gsxr
Андрей Ехлаков
Зарегистрирован(а) с: 03.03.2010
Сообщения: 58
Возможно неправильно спрашиваю. Вот с картинками.
У меня есть данные в узле модбас транспортного протокола.
http://content.foto.mail.ru/mail/andrejea2/84/s-95.jpg
Я создал базовый шаблон с тремя атрибутами (1 входящий, 2 выходящих).
Выделен входящий
http://content.foto.mail.ru/mail/andrejea2/84/s-96.jpg

На вкладке конфигурация шаблона у меня не получается связать мой новый входящйи параметр из шаблона с тем регистром из узла модбас транспортного протокола.
ПОдскажите где ошибаюсь?

Я хочу чтобы входящий атрибут в базовом шаблоне (cnt_in) был равен регистру R0w из узла модбас транспортного протокола. Чтобы затем в контроллере (или шаблоне?) логического уровня произвести над ним вычисления и получить два выходных атрибута шаблона cnt_out и Ecnt_out.

[Сообщение редактировалось 1 раз(а), в последний раз 08.06.2010 в 12:13.]
Сообщение создано: 08. 06. 2010 [12:28]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
Чего не понятно?
Транспортный протокол это не источник данных и к нему из логического уровня не подключишься.
Связями в узле транспортного протокола соединяться нужно.

P.S. Повторять больше не буду!

Learn, learn and learn better than work, work and work.
Сообщение создано: 08. 06. 2010 [13:03]
gsxr
Андрей Ехлаков
Зарегистрирован(а) с: 03.03.2010
Сообщения: 58
Когда я на вкладке данные узла транспортного протокола ставлю Связь - true , то на вкладке связь я могу выбрать только выходные переменные созданного в логическом уровне контроллера, а входной атрибут выбрать нет возможности. В случае если я выбираю все же выходной атрибут (например созданный выше на скриншотах cnt_out), то при запуске узла перестает работать запись регистра с modbus контроллера. Пишет что запросы есть, записанных регистров ноль, и на вкладке с данными вместо значения регистра R0 написано 0.

[Сообщение редактировалось 1 раз(а), в последний раз 08.06.2010 в 13:06.]
Сообщение создано: 08. 06. 2010 [13:11]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
В ДемоБД есть пример и там всё работает!

Learn, learn and learn better than work, work and work.
Сообщение создано: 08. 06. 2010 [13:26]
gsxr
Андрей Ехлаков
Зарегистрирован(а) с: 03.03.2010
Сообщения: 58
Хорошо, эту проблему я обошел создав еще один исходящий модбас сокет и выбрав егов качестве транспорта для модбас контроллера в подсистеме сбора данных и настроив там получение нужного регистра. Т.е получаю данные чуть ли не кольцом, сначала внешний контролер записывает их в скажу, а потом виртуальный модбас контроллер в скаде считывает их с другого виртуального slave контроллера.

Но у меня такая проблема.
В шаблоне параметра не сохраняеся программа.
выбирая язык программы iavalikecalc.javascript
пишу простейшую программу:
cnt_out = cnt_in;
Ecnt_out = cnt_out/6400;

как только щелкаю мышью на каком нибудь другом шаблоне а затем возвращаюсь обратно на свой, то программы уже нет, чистое поле...

В чем может быть проблема?
Сообщение создано: 08. 06. 2010 [14:55]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
У меня нет такой проблемы.

Learn, learn and learn better than work, work and work.



7933