Здравствуйте, столкнулся с проблемой при работе с Modbus TCP.
Дело в том, что при попытке передать значение в Каскад-САУ при помощи протокола Modbus TCP всплыла проблема - не записываются значения в точку.
Опишу примерный алгоритм работы:
На одном ПК установлена Касакад-САУ, на другом компьютере стоит программа Modbus/TCP -server/client. Когда идет работа на разных компьютерах с двумя последними упомянутыми программами на каждом, то запись и чтение значений происходит исправно. Чтение ИЗ Каскад-САУ значений точек тоже происходит: целые значения читаются исправно, а float с небольшими странностями из-за того, что запись идет в 2 регистра. А проблема состоит в том, что в Каскад не получается записать значения. Каждый раз при попытке записи с Holding регистры получаю сообщение Illegal adress. В журнале событий выводится следующее:
16.05.2013 13:46:01.106 ServData.mb.exe (13008) 20 *** Управление: Управление регистром 40002 невозможно, т.к. регистр отсутствует в конфигурации
В настройке параметров точки в Передаче данных во внешние системы указываю:
Modbus TCP/IP (Slave)
Регистр данных float/little-endian
40002
Тип сигнала точки Входная, тип данных float.
И главное, крутил как мог и безрезультатно. Программа-сканер
Предположительно, что именно с записью в Каскад-САУ какие-то проблемы. Использую бесплатную версию
Регистры для записи должны иметь (на вкладке внешних систем) класс данных "Регистр управления...". Вероятно, дело в том, что Вы пытаетесь записать в регистр для чтения: Регистр данных - это регистры чтения.
Выходит, регистры управления это регистры для записи и чтения? Или только записи?
С регистров управления не получилось считать данные. Сканер выдал ошибку
Выходит, регистры управления это регистры для записи и чтения? Или только записи?
С регистров управления не получилось считать данные. Сканер выдал ошибку
Регистры данных - только для чтения. Регистры управления - только для записи.
Здравствуйте, подскажите пожалуйста, как правильно настроить Каскад-САУ в режиме slave для передачи по ModbusRTU
Здравствуйте, Сергей.
Какую версия Каскад-САУ Вы используете? Мы рекомендуем использовать более новую версию Каскад-САУ 4.0. загрузить можно из файлового архива на нашем сайте.
Для версии 3.2:
1. В окне свойств точки на вкладке "Внешние связи" в группе "Передача данных во внешние системы" укажите протокол Modbus TCP или Modbus RTU, укажите в поле "Класс данных" тип регистра, в поле "Адрес ввода/вывода" укажите номер регистра. Нумерация регистров начинается с 1, если нужен бит, то он указывается через двоеточие, например 1:1, 1:2 и т.д.
2. В папке установки Каскад-САУ откройте папку Bin, в ней файл ServData.mb.ini. В этом файле настройте тип сервера MOdbus RTU или TCP, укажите Modbus адрес сервера и параметры COM-порта.
3. Запустите контроллер Каскад-САУ.
Для версии 4.0:
1. Запустите среду разработки. Создайте проект. Добавьте в проект узел, например, узел контроллера.
2. Откройте у узла папку "Серверы и экспорт данных". Если она не видна, то включите ее в контекстном меню узла по правой кнопке.
3. Щелкните правой кнопкой на папке "Серверы и экспорт данных" и добавьте COM-порт. Выделите слева папку "Серверы и экспорт данных", чтобы новый COM-порт показался справа в таблице. Укажите в столбце "Параметры" параметры подключения: скорость, четность, биты данных и т.п.
4. Аналогично с помощью меню по правой кнопке добавьте в COM-порт устройство Modbus, в него добавьте регистры чтения. Нумерация регистров начинается с 1. Номер регистра - это 5-ти значное число, первая цифра в котором используется для указания типа регистра: 0 - Coil, 1 - Discrete Input, 3 - Input Register, 4 - Holding Register.
Здравствуйте, в Каскад-САУ 3.2 (бесплатная версия) столкнулся со следующей проблемой: при попытке считать по Modbus TCP значение точки получаю просто ноль. Точка выходная FLOAT, на вкладке внешние связи настроил следующие параметры: протокол передачи Mosbus TCP/IP (Slave), класс данных Регистр данных float/litle-endian, адрес ввода/вывода 9. При опросе ничего не возвращает. Но если при тех же условия поменять тип данных точки на INTEGER, а класс данных на Регистр данных, то все работает.
Здравствуйте, в Каскад-САУ 3.2 (бесплатная версия) столкнулся со следующей проблемой: при попытке считать по Modbus TCP значение точки получаю просто ноль. Точка выходная FLOAT, на вкладке внешние связи настроил следующие параметры: протокол передачи Mosbus TCP/IP (Slave), класс данных Регистр данных float/litle-endian, адрес ввода/вывода 9. При опросе ничего не возвращает. Но если при тех же условия поменять тип данных точки на INTEGER, а класс данных на Регистр данных, то все работает.
Действительно, есть такое. Разбираемся, ответим позже.
Добрый день! Помогите пожалуйста! Ситуация такая: пытаюсь вычитать по Modbus данные с прибора "Ваттметр цифровой ВТ-01-ТК" в формате (далее с инструкции) Описание регистров чтения результатов измерения (функция 04 - Read Input Register):
01 - активная мощность сети (байты 2, 3);
02 - активная мощность сети (байты 0, 1) и так далее.
Если в Modbus Pool при вычитывании холдинг регистров (2-х последовательно) можно установить порядок чтения (Float AB CD или другой порядок) и показания выводятся адекватными, то в Каскад САУ при добавлении Чтения регистра Float с начальным адресом 01 (полный 30001) получается неправильное число.
Можно ли каким то образом изменить порядок чтения регистров или вычитать по отдельности а потом в исполняемой программе объединить, если да, то как?
Спасибо!
Если в Modbus Pool при вычитывании холдинг регистров (2-х последовательно) можно установить порядок чтения (Float AB CD или другой порядок) и показания выводятся адекватными, то в Каскад САУ при добавлении Чтения регистра Float с начальным адресом 01 (полный 30001) получается неправильное число.
Можно ли каким то образом изменить порядок чтения регистров или вычитать по отдельности а потом в исполняемой программе объединить, если да, то как?
Зраствуйте, Viktor Tiger! Т.к. вы не указали через какой физический канал у вас идёт опрос прибора, то будем предполагать, что опрос происходит через COM1 контроллера. Для смены порядка чтения регистра Float, в левой части экрана, в окне «Навигатор проекта» последовательно раскройте «Узлы системы», «Контроллер», «Устройства ввода-вывода» и выберите «COM-порт (COM1)». В правой части экрана на закладке «Проводник» сдвиньте горизонтальную полосу прокрутки максимально вправо и в колонке «Параметры» установите значение "SwapFloat" в "1", "SwapFloat=1". Выделите значок «Узлы системы» и выберите в меню «Проект» команду «Загрузить конфигурацию на узлы».
Добрый день! Спасибо! Помогло! Да, действительно вход СОМ порт (моха). Скажите пожалуйста есть описание работы в Каскад САУ 4? Кроме Быстрого старта, ничего не нашел. Спасибо.
Добрый день! Нужна помощь. Нужно с одного проекта Каскад САУ 4 передавать по сети данные в другой проект. Пробовал на одном проекте создать тег записи в OPC, а в другом тег чтения. Но при создании тега чтения, в выборе тега сервера из списка, при нажатии на "Cascade.OPC.DataDerver.4" программа виснет и вылетает. При вводе тега в ручную данные в точку не поступают.
Добрый день! Нужна помощь. Нужно с одного проекта Каскад САУ 4 передавать по сети данные в другой проект. Пробовал на одном проекте создать тег записи в OPC, а в другом тег чтения. Но при создании тега чтения, в выборе тега сервера из списка, при нажатии на "Cascade.OPC.DataDerver.4" программа виснет и вылетает. При вводе тега в ручную данные в точку не поступают.
Здравствуйте, Viktor Tiger! Пока готовится ответ в части OPC, уточните такую вещь. Вам требуется передать данные из проекта Каскад 4 в совершенно другую SCADA-систему или вы хотите передать данные в другой проект Каскад 4.
Добрый день! Нужно организовать передачу данных с одного проекта реализованного на Каскад САУ 4.0.25.4839 в другой проект реализованный на Каскад САУ 4.0.25.4839. Компьютеры находятся в одной сети, при запуске АРМ проекта "№1" на компьютере 2, АРМ работает без проблем. Но необходимо на компьютере 2 получать данные с компьютера 1 для последующей обработки. В качестве "устройства" передачи использовал Cascade.OPC.DataServer.4. По логам сервера на компьютере 1 (отдающая сторона) значения тега меняются. Как сформировать адресацию запроса именно с этого OPC сервера, не знаю. При создании на компьютере 2 OPC сервера и добавления тега чтения в списке при нажатии на сервер программа "среда разработки" "вылетает".
Похоже с самим компьютером 2 (в моем случае) какая то беда! На компьютере 1 тег записи, тег чтения в OPC сервере создаются без проблем. А на компьютере 2 при тех же самых действиях выходит сообщение в окне "прекращена работа программы" - Сигнатура проблемы: Имя события проблемы: APPCRASH, Имя приложения: prjedit.exe, Версия приложения: 4.0.25.4839, Отметка времени приложения: 5fc47eef, Имя модуля с ошибкой: StackHash_a752, Версия модуля с ошибкой: 6.1.7601.24545, Отметка времени модуля с ошибкой: 5e0eb7a5, Код исключения: с0000374, Смещение исключения: 000с3с77, Версия ОС: 6.1.7601.2.1.0.256.1, Код языка: 1049, Дополнительные сведения 1: а752, Дополнительные сведения 2: a752082e13faee9255140324038219e5, Дополнительные сведения 3: а754, Дополнительные сведения 4: e574f9af5666a3f79f7b451825f2d5a5. Удаление и переустановка Каскад-САУ 4.0 к положительным результатам не привела. На обеих машинах установлена ОС Windows 7 32-Bit. Пойду искать другую машину на которую поставлю Каскад, потом отпишусь по результатам.
Здравствуйте, Viktor Tiger! На Windows 7 32-Bit таких проблем с OPC не наблюдается, очень похоже, что проблема касается "компьютер 2". Ждем результатов замены компьютера.
Добрый день! Проблема действительно была в самом компьютере. Развернул Каскад 4.0 на другой машине и все прекрасно заработало. Извините за беспокойство!
PS. Скажите пожалуйста новые инструкции (кроме "Быстрого старта") не появились? Периодически возникают вопросы по конфигурации или в процессе поиска ошибок, а единственным источником информации является форум, что не всегда удобно!
Разработчикам Каскада спасибо!
К сожалению, в связи большим объемом других работ написание документации затягивается. На данный момент для общего пользования доступно только руководство "Быстрый старт". Кроме общения в форуме Вы можете писать на адрес support@tersy.ru