Главная страница

Руководство по программированию 6 profinet 7 Двухточечная связь (PointtoPoint, PtP) 8


Скачать 3.76 Mb.
НазваниеРуководство по программированию 6 profinet 7 Двухточечная связь (PointtoPoint, PtP) 8
Дата27.07.2022
Размер3.76 Mb.
Формат файлаpdf
Имя файлаs71200_system_manual_r.pdf
ТипРуководство
#636782
страница24 из 40
1   ...   20   21   22   23   24   25   26   27   ...   40
параметра
Тип данных Описание
REQ IN Bool
Ввод запроса:
• 0
– нет запроса
• 1
– запрос на передачу данных в slave-устройство(-а) Modbus
MB_ADR IN
USInt Адрес станции Modbus RTU: Допустимый диапазон адресов: от 0 до 247
Значение 0 зарезервировано для транслирования сообщения всем slave-устройствам Modbus. Функциональные коды Modbus 05, 06,
15 и 16 являются единственными функциональными кодами, поддерживаемыми для широкого транслирования.
MODE IN USInt
Выбор режима: Определяет вид запроса: чтение, запись или диагностика
Подробности вы найдете в следующей таблице функций Modbus.
DATA_ADDR IN
UDInt
Начальный адрес в Slave-устройстве: Определяет начальный адрес данных, к которым нужно получить доступ в slave-устройстве
Modbus. Допустимые адреса вы найдете в следующей таблице функций Modbus.
DATA_LEN IN
UInt
Длина данных: Определяет число битов или слов, к которым нужно получить доступ в этом запросе. Допустимые длины вы найдете в следующей таблице функций Modbus.
DATA_PTR IN
Variant Указатель на данные: Указывает на адрес DB в CPU для записываемых или считываемых данных. DB должен быть типа "NOT symbolic access only [Только НЕ символическая адресация]".
См. ниже указание для DATA_PTR.
NDR OUT
Bool
Готовы новые данные:
• 0
– транзакция не завершена
• 1
– указывает, что команда MB_MASTER завершила запрошенную транзакцию со slave-устройством(-ами) Modbus
BUSY OUT Bool Занят:
• 0
– транзакция командой MB_MASTER не производится
• 1
– осуществляется транзакция командой MB_MASTER
ERROR OUT Bool Ошибка:
• 0
– ошибка не обнаружена
• 1
– указывает, что обнаружена ошибка и код ошибки в параметре STATUS действителен
STATUS OUT Word Код условия выполнения

Руководство по программированию
6.3 Глобальные библиотечные команды
Программируемый контроллер S7-1200 226
Системное руководство, 11/2009, A5E02669003-02
Правила обмена данными для master-устройства Modbus
● Команда MB_COMM_LOAD должна быть исполнена для конфигурирования порта до того, как команда MB_MASTER сможет обмениваться данными с этим портом.
● Если порт должен использоваться для инициирования запросов master-устройства
Modbus, то этот порт не может использоваться командой MB_SLAVE. С этим портом может использоваться один или несколько экземпляров исполнения команды MB_MASTER.
● Команды Modbus не используют события, прерывающие обмен данными, для управления процессом обмена данными. Ваша программа должна опрашивать команду MB_MASTER об условиях завершения передачи и приема.
● Если ваша программа работает как master-устройство Modbus и использует команду MB_MASTER для передачи запроса slave-устройству, то вы должны продолжать опрос (исполнять команду MB_MASTER) до тех пор, пока не будет получен ответ от slave-устройства.
● Осуществляйте все исполнения команды MB_MASTER для данного порта из одного и того же OB (или из OB одного и того же уровня приоритета).
Параметр REQ
Значение REQ ЛОЖЬ = Нет запроса
Значение REQ ИСТИНА = Запрос на передачу данных slave-устройству(-ам) Modbus.
Вы должны подать сигнал на этот вход через контакт, управляемый нарастающим фронтом, при первом вызове на исполнение команды MB_MASTER. Импульс, запускаемый фронтом, вызывает запрос на передачу один раз. Все входы фиксируются и удерживаются в неизменном состоянии на время одного запроса и ответа, инициируемого этим входом.
Внутри команда MB_MASTER запускает механизм состояний, который обеспечивает, что никакой другой команде MB_MASTER не будет позволено выдавать запрос, пока данный запрос не будет завершен.
Кроме того, если один и тот же экземпляр вызова FB команды MB_MASTER исполняется снова с входом REQ, имеющим значение ИСТИНА, до завершения запроса, то последующие передачи не будут выполняться. Однако, как только запрос будет завершен, то будет выдан новый запрос, если MB_MASTER исполняется с входом REQ, имеющим значение ИСТИНА.

Руководство по программированию
6.3
Глобальные библиотечные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 227
Через параметры DATA_ADDR и MODE выбирается тип функции Modbus
DATA_ADDR (начальный адрес Modbus в Slave-устройстве): Указывает начальный адрес данных, к которым нужно получить доступ в slave-устройстве Modbus.
MB_MASTER использует вместо ввода кода функции вход MODE. Комбинация MODE и области адресов Modbus определяет код функции, который используется в фактическом сообщении Modbus. В следующей таблице показано соответствие между параметром MODE команды MBUS_MASTER, кодом функции Modbus и областью адресов Modbus.
Функции Modbus команды MB_MASTER
Параметр DATA_ADDR для адреса Modbus
Тип адреса
Параметр DATA_LEN для длины данных
Modbus
Функция Modbus
Режим 0 от 00001 до 09999
Выходные биты от 1 до 2000 01H от 10001 – 19999
Входные биты от 1 до 2000 02H от 30001 - 39999
Входные регистры от 1 до 125 04H
Чтение от 40001 до 49999 от 400001 до 465536
(расширенные)
Регистры временного хранения информации от 1 до 125 03H
Режим 1 от 00001 до 09999
Выходные биты 1
(один бит) 05H от 40001 до 49999 от 400001 до 465536
(расширенные)
Регистры временного хранения информации
1 (одно слово) 06H от 00001 до 09999
Выходные биты от 2 до 1968 15H
Запись от 40001 до 49999 от 400001 до 465536
(расширенные)
Регистры временного хранения информации от 2 до 123 16H
Режим 2
Некоторые slave-устройства Modbus не поддерживают записи в один бит или одно слово с помощью функций
Modbus 05H и 06H. В этих случаях используется режим 2 для принудительной записи одного бита и слова с помощью функций Modbus 15H и 16H. от 00001 до 09999
Выходные биты от 1 до 1968 15H
Запись от 40001 до 49999 от 400001 до
465536(расширенные)
Регистры временного хранения информации от 1 до 123 16H
Режим 11
• Считывает слово счетчика событий из slave-устройства Modbus, которое указывается в качестве входа для
MB_ADDR
• У slave-устройства Modbus S7-1200 фирмы Siemens этот счетчик увеличивает свое значение на 1 каждый раз, когда slave-устройство получает действительный запрос на чтение или запись (не широковещательный) от master-устройства Modbus.
• Возвращаемое значение сохраняется по адресу слова, указанному в качестве входа DATA_PTR.
• Для этого режима не требуется действительного значения DATA_LEN.

Руководство по программированию
6.3 Глобальные библиотечные команды
Программируемый контроллер S7-1200 228
Системное руководство, 11/2009, A5E02669003-02
Функции Modbus команды MB_MASTER
Режим 80
• Проверяет коммуникационное состояние slave-устройства Modbus, которое указывается в качестве входа для
MB_ADDR
• Установка выходного битв NDR команды MB_MASTER указывает, что адресованное slave-устройство Modbus отреагировало соответствующими ответными данными.
• В вашу программу никакие данные не возвращаются.
• Для этого режима не требуется действительного значения DATA_LEN.
Режим 81
• Сбрасывает счетчик событий (как возвращенный режимом 11) на slave-устройстве Modbus, который указывается в качестве входа для MB_ADDR
• Установка выходного битв NDR команды MB_MASTER указывает, что адресованное slave-устройство Modbus отреагировало соответствующими ответными данными.
• В вашу программу никакие данные не возвращаются.
• Для этого режима не требуется действительного значения DATA_LEN.
Параметр DATA_PTR
Параметр DATA_PTR указывает локальный исходный или целевой адрес (адрес в
CPU S7-1200) данных, которые, соответственно, должны быть прочитаны или записаны. Когда вы используете команду MB_MASTER для создания master- устройства Modbus, вы должны создать глобальный блок данных, который предоставляет память для процессов чтения и записи на slave-устройствах Modbus.
Указание
Параметр DATA_PTR должен ссылаться на глобальный блок данных, который
был создан с деактивированным атрибутом Symbolic Access Only [Только
символический доступ].
Вы должны снять метку с триггерной кнопки "Symbolic address only", когда вы добавляете новый блок данных, чтобы создать глобальный DB классического типа.

Руководство по программированию
6.3
Глобальные библиотечные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 229
Структуры блока данных для параметра DATA_PTR
● Эти типы данных действительны для чтения слов адресов Modbus от 30001 до
39999, от 40001 до 49999 и от 400001 до 465536, а также для записи слов в адреса
Modbus от 40001 до 49999 и от 400001 до 465536.
– Стандартный массив данных типа WORD, UINT или INT, как показано ниже.
– Именованная структура типа WORD, UINT или INT, в которой каждый элемент имеет уникальное имя и 16-битовый тип данных.
– Именованная смешанная структура, в которой каждый элемент имеет уникальное имя и 16- или 32-битовый тип данных.
● Для чтения и записи битов для адресов Modbus от 00001 до 09999 и от 10001 до
19999.
– Стандартный массив из данных типа Bool.
– Именованная булева структура из уникально именованных переменных типа
Bool.
● Хотя это и не является необходимым, но рекомендуется, чтобы каждая команда
MB_MASTER имела свою собственную отдельную область в глобальном блоке данных. Причиной для этой рекомендации является то, что возможность нарушения данных возрастает, если несколько команд MB_MASTER производят чтение и запись в одной и той же области глобального блока данных.
● Не требуется, чтобы области данных DATA_PTR находились в одном и том же глобальном блоке данных. Вы можете создать один блок данных с несколькими областями для операций чтения Modbus, один блок данных для операций записи
Modbus или один блок данных для каждой подчиненной станции.
● Все массивы в нижеприведенном примере созданы как массивы с базисом 1 [1 …
##]. Массивы могут создаваться также как массивы с базисом 0 [0 … ###] или смесью базиса 0 и базиса 1.

Руководство по программированию
6.3 Глобальные библиотечные команды
Программируемый контроллер S7-1200 230
Системное руководство, 11/2009, A5E02669003-02
Примеры команд MB_MASTER, обращающихся к глобальным блокам данных DATA_PTR
Представленный ниже пример глобального блока данных использует 4 уникально именованных массивов с 6 словами для сохранения данных запросов Modbus. Хотя массивы данных в этом примере имеют одинаковый размер, но массивы могут быть разных размеров и показаны одного размера для упрощения примеров. Каждый массив может быть также заменен структурой данных, содержащей более информативные имена переменных и смешанные типы данных. Примеры альтернативных структур данных представлены в описании параметра HR_DB команды (стр. 237).
В представленных ниже примерах команды MB_MASTER показан только параметр
DATA_PTR, но не показаны другие необходимые параметры. Цель этих примеров состоит в том, чтобы показать, как команда MB_MASTER использует блок данных
DATA_PTR.
Стрелки на рисунке показывают, как каждый массив связан с различными командами
MB_MASTER.

Руководство по программированию
6.3
Глобальные библиотечные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 231
Первый элемент любого массива или структуры всегда является первым источником или первой целью любого процесса чтения или записи Modbus. Все описанные ниже сценарии основаны на вышеприведенной диаграмме.
Сценарий 1: Если первая команда MB_MASTER считывает 3 слова данных из адреса
Modbus 40001 на любом действующем slave-устройстве Modbus, то происходит следующее.
Слово из адреса 40001 сохраняется в "Data".Array_1[1].
Слово из адреса 40002 сохраняется в "Data".Array_1[2].
Слово из адреса 40003 сохраняется в "Data".Array_1[3].
Сценарий 2: Если первая команда MB_MASTER считывает 4 слова данных из адреса
Modbus 40015 на любом действующем slave-устройстве Modbus, то происходит следующее.
Слово из адреса 40015 сохраняется в "Data".Array_1[1].
Слово из адреса 40016 сохраняется в "Data".Array_1[2].
Слово из адреса 40017 сохраняется в "Data".Array_1[3].
Слово из адреса 40018 сохраняется в "Data".Array_1[4].
Сценарий 3: Если вторая команда MB_MASTER считывает 2 слова данных из адреса
Modbus 30033 на любом действующем slave-устройстве Modbus, то происходит следующее.
Слово из адреса 30033 сохраняется в "Data".Array_2[1].
Слово из адреса 30034 сохраняется в "Data".Array_2[2].
Сценарий 4: Если третья команда MB_MASTER записывает 4 слова данных в адрес
Modbus 40050 на любом действующем slave-устройстве Modbus, то происходит следующее.
Слово из "Data".Array_3[1] записывается в адрес Modbus 40050.
Слово из "Data".Array_3[2] записывается в адрес Modbus 40051.
Слово из "Data".Array_3[3] записывается в адрес Modbus 40052.
Слово из "Data".Array_3[4] записывается в адрес Modbus 40053.
Сценарий 5: Если третья команда MB_MASTER записывает 3 слова данных в адрес
Modbus 40001 на любом действующем slave-устройстве Modbus, то происходит следующее.
Слово из "Data".Array_3[1] записывается в адрес Modbus 40001.
Слово из "Data".Array_3[2] записывается в адрес Modbus 40002.
Слово из "Data".Array_3[3] записывается в адрес Modbus 40003.
Сценарий 6: Если четвертая команда MB_MASTER использует режим 11 (извлекает значение счетчика действительных сообщений) из любого действующего slave- устройства Modbus, происходит следующее.
Слово со значением счетчика сохраняется в "Data".Array_4[1].

Руководство по программированию
6.3 Глобальные библиотечные команды
Программируемый контроллер S7-1200 232
Системное руководство, 11/2009, A5E02669003-02
Пример считывания и записи битов, используя адреса слов в качестве входа DATA_PTR
Таблица 6-1. Сценарий 7: Чтение 4 выходных битов, начиная с адреса Modbus 00001
Значения входов команды
MB_MASTER
Значения slave-устройства Modbus
MB_ADDR 27
(пример slave- устройства)
00001
ON
MODE 0
(чтение)
00002
ON
DATA_ADDR 00001
(выходы)
00003
OFF
DATA_LEN 4
00004
ON
00005 ON
00006 OFF
00007 ON
DATA_PTR "Data".Array_4 00008 OFF
Значения "Data".Array_4[1] после запроса Modbus
Старший байт
Младший байт xxxx-1011 xxxx-xxxx x указывает, что данные не изменяется
Таблица 6-2. Сценарий 8: Чтение 12 выходных битов, начиная с адреса Modbus 00003
Значения входов команды
MB_MASTER
Значения slave-устройства Modbus
MB_ADDR 27
(пример slave- устройства)
00001 ON
00010
ON
MODE 0
(чтение) 00002
ON 00011
OFF
DATA_ADDR 00003
(выходы)
00003
OFF
00012
OFF
DATA_LEN 12
00004
ON
00013
ON
00005
ON
00014
OFF
00006
OFF
00015 ON
00007
ON
00016 ON
00008
ON
00017 OFF
DATA_PTR "Data".Array_4
00009
OFF
00018 ON
Значения "Data".Array_4[1] после запроса Modbus
Старший байт
Младший байт
1011-0110 xxxx-0100- x указывает, что данные не изменяются

Руководство по программированию
6.3
Глобальные библиотечные команды
Программируемый контроллер S7-1200
Системное руководство, 11/2009, A5E02669003-02 233
Таблица 6-3. Сценарий 9: Запись 5 выходных битов, начиная с адреса Modbus 00001
Значения входов команды
MB_MASTER
Выходы slave-
устройства до
Выходы slave-
устройства после
MB_ADDR 27
(пример slave- устройства)
00001
ON
OFF
MODE 1
(запись)
00002
ON
ON
DATA_ADDR 00001
(выходы)
00003
OFF
ON
DATA_LEN 5
00004
ON
OFF
00005
ON
ON
00006 OFF не меняется
00007 ON не меняется
00008 ON не меняется
DATA_PTR "Data".Array_4 00009 OFF не меняется
Значения "Data".Array_4[1] после запроса Modbus на запись
Старший байт
Младший байт xxx1-0110 xxxxx-xxxx x указывает, что данные не используются в запросе Modbus
Таблица 6-4. Сценарий 10: Чтение 22 выходных битов, начиная с адреса Modbus 00003
Значения входов команды
MB_MASTER
Значения slave-устройства Modbus
MB_ADDR 27
(пример slave- устройства)
00001 ON
00014
ON
MODE 0
(чтение) 00002
ON 00015
OFF
DATA_ADDR 00003
(выходы)
00003
OFF
00016
ON
DATA_LEN 22
00004
ON
00017
ON
00005
ON
00018
OFF
00006
OFF
00019
ON
00007
ON
00020
ON
00008
ON
00021
OFF
00009
ON
00022
ON
00010
OFF
00023
ON
00011
OFF
00024
OFF
00012
ON
00025 OFF
DATA_PTR "Data".Array_4
00013
OFF
00026 ON
Значения "Data".Array_4[1] после запроса Modbus
Старший байт
Младший байт
0111-0110 0110-1010
Значения "Data".Array_4[2] после запроса Modbus
Старший байт
Младший байт xx01-1011 xxxx-xxxx x указывает, что данные не изменяются

Руководство по программированию
6.3 Глобальные библиотечные команды
Программируемый контроллер S7-1200 234
Системное руководство, 11/2009, A5E02669003-02
1   ...   20   21   22   23   24   25   26   27   ...   40


написать администратору сайта