|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
25.03.2008, 19:40 | #121 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Не, Мастер Скада хороша (я так думаю (с) , но точек маловато, а вот KVisionOPC без ограничений точек, но:
а) весьма доступна для восприятия - мне было важно б) не имеет исторических трендов (с накоплением) и архивов в) не имеет внетренней обработки сигналов, другими словами - ТОЛЬКО ПРЕДСТАВИТЬ процесс. |
26.03.2008, 01:11 | #122 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Смутно помню, что в KVisionOPC была возможность использовать скрипты на паскале, вероятно с их помощью можно сделать дополнительную обработку переменных. Там есть еще неприятные ограничения - отсутствует звуковая сигнализация, протокол событий. Тоже присматриваюсь к KVisionOPC, но до практического применения дело пока не дошло.
Надо ли дискретные переменные упаковывать в "интеггеры" это еще вопрос, все зависит от того какие функции протокола используются для их передачи. Самому интересно стало, возможно завтра проверю. |
26.03.2008, 10:58 | #123 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Если "тик в норме", то "пофиг"
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
26.03.2008, 11:00 | #124 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Если дискретные переменные размещаются в памяти последовательно, без пропусков адресов, то они передаются упакованными.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
26.03.2008, 11:01 | #125 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Потеря до 20 мсек, это при максимальной загрузке непрерывными мелкими запросами. Автоскада нагружает контроллер на 5-7 мсек.
Т.е. тик увеличивается именно на эту величину. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
26.03.2008, 18:02 | #126 | |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Цитата:
|
|
27.03.2008, 10:59 | #127 | |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Цитата:
|
|
27.03.2008, 19:02 | #128 | |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Цитата:
|
|
27.03.2008, 21:15 | #129 | |
Новичок
Регистрация: Oct 2007
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: OPC сервер
Цитата:
|
|
27.03.2008, 21:22 | #130 |
Новичок
Регистрация: Oct 2007
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
УВАЖАЕМЫЕ ГУРУ, РАЗРАБОТЧИКИ И ВООБЩЕ ЗНАЮЩИЕ ЛЮДИ!
Можно ли привести пример подключения SMH к OPC-серверу? Интересует в частности действия в SmLogix. И еще - у вас точно ModBus стандартный? В LabView есть OPC-сервер (NI OPC Servers) так вот там не совпадают адреса переменных которые в OPC и в карте памяти в SmLogix.... Как быть? Последний раз редактировалось Silver, 27.03.2008 в 21:42 |
27.03.2008, 22:38 | #131 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Может там они в десятичном формате ?
|
28.03.2008, 11:41 | #132 |
Новичок
Регистрация: Oct 2007
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
да нет не в формате дело - когда в NI OPC Servers ставишь адрес переменной из Сегнетика - он не принимается т.к. в NI OPC Servers в ModBus четко заданы диапазоны для целых, байтовых, строковых и реальных чисел....
Делаем наоборот - в Сегнетике ставим адрес из диапазона NI OPC Servers для данного типа переменной - Сегнетик меняет его на другой который в ОПЦ не принимается. Может я чет не так делаю? Lectus у меня в демонстрационном режиме, толком с ним ниче не сделаешь, потому не могу разобраться как связывать.... Описание есть, но начинается со слов "Делаем карту памяти проекта" - а перед этим? нада ли создавать блоки в проекте для отправки и для чтения данных? не понятно вобщем.... Последний раз редактировалось Silver, 28.03.2008 в 11:44 |
28.03.2008, 11:58 | #133 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Не совсем понимаю, что имеется под словами "сегнетик меняет его на другой"
Думаю, если в NI OPC есть отдельный диапазон для строковых данных, то этот сервер либо модбас вообще не знает, либо не совсем с ним совместим. Дело в том, что строковых данных в модбасе нет. Только биты и шеснадцатибитные регистры. Всякие реальные и длинные числа кодируются серией последовательных регистров, но это уже кто как делает, т.к. модбас никак это не описывает. В модбасе есть два типа адресации: правильная и через диапазоны. Выделяются четыре диапазона: входные биты, выходные биты, входные регистры, выходные регистры. В правильной адресации тип данных определяется функциями чтения/записи, адреса в диапазоне 0..65535 (0000h..FFFFh). В диапазонной тип данных определяется первой цифрой "адреса", сам адрес в десятичном виде в диапазоне 1..9999 - т.е. смещён на единицу от нормальных адресов. Плюс к этому, адреса выше 9999 недоступны. Итого получается "псевдоадрес" вида 1xxxx, 2xxxx, 3xxxx и 4xxxx. Часть серверов и устройств позводяют задавать диапазон не 1..9999, а 1..65536 - это сделано для того, чтобы охватить _весь_ диапазон адресов. У них получается "псевдоадрес" вида 1xxxxx, 2xxxxx, 3xxxxx и 4xxxxx. Если NI OPC не умеет задавать весь диапазон или переключаться в правильную адресацию, то это повод сменить сервер, благо их куча как платных, так и бесплатных PS. SMH2010 и Pixel работают в правильной (реальной) адресации. Адреса в карте памяти - в шеснадцатиричном виде. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
28.03.2008, 12:03 | #134 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
А по поводу примера создания слейва - рекомендую обратиться к встроенной справке SMLogix (вызывается нажатием кнопки "F1").
Раздел "Коммуникации", "Создание проекта "слейва" сети Modbus". __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
28.03.2008, 12:05 | #135 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: OPC сервер
Что-то типа 100 баксов.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
28.03.2008, 13:41 | #136 |
Новичок
Регистрация: Oct 2007
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Мы очень плотно работаем с LabView и просто необходимо связать его с Сегнетиком, сейчас пытаемся через ихний ОПЦ но в принципе можно и любой другой, главное свыязать их....
Вот кстати выбор протоколов NI OPC по Modbus : Сразу вопрос - RTU нет в списке - значит нет поддержки или он замаскирован другим названием? Вот скрин хелпа по ModBus Serial: Если выбираю адрес из диапазонав хелпе, и вставляю его в карту памяти в SmLogix то адрес меняется на другой, ближайший, но в NI OPC этот измененный адрес уже не проходит |
28.03.2008, 15:40 | #137 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
чето Вы "не догоняИте" или Я
Причем тут диапазон в ХЭЛПЕ ??? Вам адрес переменной даст карта памяти созданная в СМ-Лоджике. В ней есть адрес, его и пишите в Свой ОРС. Чего проще то ? Вы просто, такими действиями, нарушаете сам приннцип МОДБАСа. Нужно чтобы Слейв (СЕгнетикс у Вас) сказал Мастеру (ОРС Ваш) адрес нужной Вам переменной, т.е. той, к которой Вы собираетесь обращаться. Это происходит при компиляции проекта и (как я понимаю) СМ_Лоджик сам распределяет пространство памяти между переменными, а Вас ОБ ЭТОМ ОН НЕ СПРАШИВАЕТ. Последний раз редактировалось vladun, 28.03.2008 в 15:45 |
28.03.2008, 16:52 | #138 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Арсений, а в чем я могу ошибиться, если в типовые проекты буду "заливать" программы со всеми возможными переменными и слейвами (щас к примеру есть общая прога, только в одном случае на ней "висит" 6 вентиляторов под ATV31, а в другом 8 вентиляторов под ATV21-м) Ну к примеру переменных будет 60 шт и два слейва на порту, а использовать реально стану (выберу в СКАДЕ) 30 переменных и один слейв- ATV31 ?
Очень жду ответа. |
28.03.2008, 18:00 | #139 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Все заданные в конфигурации мастера переменные учавствуют в запросах вне зависимости, есть они на поляне или нет.
С переменными слейва проще: в сеть выдаётся только то, что спрашивает мастер. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
28.03.2008, 18:11 | #140 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Как вы могли заметить, в цитируемом вами хелпе описан второй случай - адресация диапазонами, перекрывается всё адресное пространство.
По поводу названий протоколов: есть modbus-rtu, modbus-ascii, modbus-plus и modbus-tcp. Что там кто-то имеет ввиду под сочетанием "modbus serial" это нужно выяснять у автора этого названия. Они все, кроме modbus-tcp являются "serial". По поводу адресации регистров: 1) создаёте проект слейва, генерируете карту памяти. 2) читаете описание модбаса, переводите все реальные адреса, которые выданы в карте памяти, в "диапазонную адресацию". 3) настраиваете сервер. Главное, чтобы к вам пришло понимание того, что это СЕРВЕР нужно настраивать под контроллер, а не контроллер под сервер. Может быть, вам поможет описание соответствий функций: http://dl.segnetics.com/WebHelp/SMLogix/modbus_vars.htm Также полезно посмотреть порядок настройки сервера Lectus: http://forum.segnetics.com/showthread.php?t=2231 __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 28.05.2015 в 11:39 |
28.03.2008, 18:27 | #141 | ||
Новичок
Регистрация: Oct 2007
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Цитата:
Цитата:
Lectus с контроллером я увязал, проблем не было, нада теперь привязать LabView. |
||
28.03.2008, 18:35 | #142 | |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Цитата:
1) У меня контроллер одновременно и мастером (для ЧП) по 2 порту и слейвом для Лектус-ОРС-Сервера. Понятно из Вашего пояснения, что "слейвовая" часть программы (та что контактирует с ОРС сервером) может иметь массу переменных, а опрашивать можно только некоторые и время на обработку остальных не расходуется. 2) А вот "мастерная" часть (та, что для работы с подчиненным рабом Альтиваром) будет обрабатываться в любом случае (да и пусть там не очень много переменных). Но к примеру (для унификации программы) я создаю базовую версию и в ней на СОМ2 "висит" не один слейв с адресом 1, а например два, хотя физически я подключаю только один из них. Что будет с запросами "мастерной" части программы, которые адрессуются несуществующему слейву. Если я прально понял, то по прошествии тайм-аута его адрес просто перестанет обрабатываться ? И прога будет работать словно без нее ? И что будет с блоками на поляне, которые относятся к отсутствующему девайсу ? ЗЫ: эти "танцы" у меня получаются оттого, что программа еще не отлажена, а объект далеко и я не хочу плодить "клонов" (их семь - минимум) у которых потом "общепараллельно " придется устранять недоработки, т.е. "бока" Последний раз редактировалось vladun, 28.03.2008 в 18:38 |
|
28.03.2008, 18:41 | #143 | |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Цитата:
|
|
31.03.2008, 05:44 | #144 |
Новичок
Регистрация: Nov 2007
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Зд
Последний раз редактировалось edskin, 31.03.2008 в 05:56 |
31.03.2008, 05:59 | #145 |
Новичок
Регистрация: Nov 2007
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Здравствуйте. Вчера "повеселился". При подключениии SMH к частотнику Delta на 15 кВт мастером, по ошибке указал ячейку памяти частотника, где хранится задание частоты, не 2001H а 8H (перепутал адрес в сети - 8 с ячейкой). Потом подошел к Delte и установил сетевой адрес и скорость (SMH уже работал). В эту секунду частотник перестал вообще подчинятся, и ругался на неправильный пароль, который я к слову не устанавливал вообще. Час пытался подобрать пароль и искал по интернет универсальное что нибудь. Оказалось ничего такого нет, забыл пароль-покупай новый частотник. Потом пошел перепроверять SMH карту памяти и обнаружил ошибку. Так, в Delta VFD-B(прошивка 4) пароль хранится в ячейке 8H. Может кому пригодится...
|
31.03.2008, 11:14 | #146 | |
Новичок
Регистрация: Oct 2007
Сообщения: 20
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Цитата:
|
|
31.03.2008, 11:30 | #147 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Трудности с протоколом Modbus
В программе мастера, в подключенных слейвах, там где список переменных, есть и галочка "групповые запросы".
Насчёт одновременного использования функций 05h и 10h - или одиночные запросы, или групповые. Третьего не дано. Но никто вам не мешает использовать два слейва, у которых совпадают адреса, но при этом разные карты памяти и разная настройка "групповые запросы" __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
31.03.2008, 11:41 | #148 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Цитата:
Поймите, я хочу вам помочь _разобраться_ в проблеме, но никак не заинтересован решать её вместо вас. Если я вам сейчас чётко распишу, что и как нужно делать, то здесь и сейчас всё заработает. Но чуть что, вы точно также не будете знать, что делать. Думаю, вам и самому такой исход крайне неинтересен Я вам дал конкретные наводки, расписал разницу адресаций. Не ленитесь, скачайте описание модбаса и прочитайте разницу между физической и логической адресациями. Если что будет непонятно - обращайтесь с конкретными вопросами, а не с "что мне нажать, чтобы заработало?". PS. Кстати, этот вопрос на форуме поднимался неоднократно, может быть решение уже давно расписано в каком-нибудь сообщении... __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
31.03.2008, 11:46 | #149 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 160
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Цитата:
2) Все переменные будут обрабатываться согласно всем картам памяти по всему списку переменных. Понятие тайм-аута подробно расписано во встроенной справке SMLogix, незачем ему приписывать несуществующие функции Блоки на поляне будут выдавать начальные значения - т.е. нули. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
31.03.2008, 16:52 | #150 |
Senior Member
Регистрация: Feb 2007
Сообщения: 174
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Диспетчеризация, OPC-сервер и modbus
Да, немного я на него "перегрузил"
Спасибо, так это получится, что несуществующий слейв будет тормозить обмен на тайм-аут помноженный на кол-во переменных в его карте памяти ? (если 100 мс, то при 7 переменных, пройдет 700 мс прежде, чем контроллер перейдет к опросу следующего слейва ?) |