Структура инициализации узла имеет следующие поля:
Interface: [1x1 struct] Partitions: [1x1 struct]
где
Поля структуры узла | Описание |
---|---|
| Задает, как плата сконфигурирована. Интерфейсная структура имеет следующие поля, три из которых являются структурами:
|
| Хранит сегменты общей памяти (см., Создают GE Fanuc Разделяемые Разделы), |
Плата общей памяти имеет несколько регистров, которые можно установить через поле Interface.Mode
. Чтобы отобразить поля режима платы, введите:
>> node.Interface.Mode ans = StatusLEDOff: 'off' TransmitterDisable: 'off' DarkOnDarkEnable: 'off' LoopbackEnable: 'off' LocalParityEnable: 'off' MemoryOffset: '0' MemorySize: '64MByte'
Значения режима взаимодействуют с установкой платы LSR1 (Локальный Регистр управления и состояния 1) и LIER (Локальный Регистр Разрешения прерывания) регистры. Обратитесь к документации по продукту платы для получения дальнейшей информации на этих двух регистрах. Чтобы контролировать состояние этих режимов, установите флажок Error Status Port блоков записи или чтения.
Особо значимый следующие режимы:
Режимы Совета | Описание |
---|---|
| Поворачивается состояние платы Вовлекло и прочь. Устанавливание этого значения к 'off' выключает LED, когда модель Simulink® Real-Time™ запускается, устанавливание этого значения к 'on' включает LED, когда модель Simulink Real-Time запускается. Когда программное обеспечение Simulink Real-Time останавливается, реверсы состояния LED в обоих случаях. Значением по умолчанию является |
| Применяет глобальное смещение к сетевым передачам данных, прибывающим из платы. В следующей таблице перечислены значения смещения и получившееся смещение. Значением по умолчанию является |
| Задает требуемый размер минимальной памяти, в формате |
Эта таблица приводит значения для MemoryOffset
:
Значение | Сместите произведенный |
---|---|
'0' | 0 |
'1' | 0x4000000 |
'2' | 0x8000000 |
'3' | 0xC000000 |
Плата может сгенерировать прерывания PCI в ответ на сетевые события, которые были широковещательно переданы от других узлов, или в ответ на состояние ошибки. Например, можно сконфигурировать две модели Simulink Real-Time Simulink, один как ведущее устройство, и один как ведомое устройство широковещательного узла в основной модели Simulink Real-Time. В такой настройке широковещательное прерывание узла инициировало образцовые временные шаги.
Чтобы отобразить поля режима прерывания, введите:
node.Interface.Interrupts
ans = LocalMemoryParity: 'off' MemoryWriteInhibited: 'off' LatchedSyncLoss: 'off' RXFifoFull: 'off' RXFifoAlmostFull: 'off' BadData: 'off' PendingInit: 'off' RoguePacket: 'off' ResetNodeRequest: 'off' PendingInt3: 'off' PendingInt2: 'off' PendingInt1: 'off'
Каждое поле соответствует немного в регистре LIER платы общей памяти GE® Fanuc Embedded Systems. Каждый бит включает заданный источник прерывания на плате. Обратитесь к документации по продукту платы для получения дальнейшей информации на этом регистре.
Чтобы позволить узлу сгенерировать сетевой источник прерывания, добавьте широковещательный блок в модель (основная модель). Этот блок выпускает сетевые прерывания на уровне образцовой частоты дискретизации. Чтобы позволить другим узлам сети (ведомые модели) принять широковещательные прерывания, сконфигурируйте ведомые модели, чтобы ожидать широковещательное прерывание.
Следующая процедура описывает, как сконфигурировать целую модель Simulink Real-Time, чтобы принять широковещательное прерывание от платы.
Из Командного окна MATLAB® ввести
tg = slrt;
getPCIInfo(tg, 'installed')
Эта информация о плате списков команд для установленных устройств PCI, о которых знает программное обеспечение Simulink Real-Time.
Найдите IRQ заданным для платы общей памяти.
Чтобы задать в поле Real-Time interrupt source панели Simulink Real-Time Options, используйте этот исходный номер прерывания.
Отредактируйте свой скрипт и добавьте строку как следующее.
node.Interface.Interrupts.PendingInt1='on'
Эта строка направляет модель, чтобы ожидать прерывание. Это принимает, что значение широковещательного блока Interrupt parameter равняется 1.
Из Окна Команды MATLAB введите имя своей модели Simulink.
Модель Simulink появляется.
Выберите Simulation> Model Configuration Parameters
Выберите узел Code Generation.
Выберите узел Simulink Real-Time Options.
Установите поле Execution mode на Real-Time
.
Кликните по списку Real-Time interrupt source.
Выберите исходный номер прерывания, в который установлена плата.
Кликните по списку I/O board generating the interrupt и выберите GE_Fanuc(VMIC)_PCI-5565
из списка.
Нажмите OK.
Если у вас есть большая модель, чтобы локализовать управление прерывания в той модели, используйте Исходный блок IRQ от подбиблиотеки Asynchronous Event.
Перемычки платы задают идентификатор узла платы. Соответственно, можно также сконфигурировать блок с идентификатором узла платы с помощью поля Interface.NodeID
. Введите значения согласно следующему:
Значение NodeID | Описание |
---|---|
| Позволяет драйверу платы работать с узлом независимо от установки перемычки идентификатора узла платы |
значение от | Задает конкретный узел, который должен искать драйвер. Если это значение не совпадает с установившим перемычки значением на плате, драйвер возвращает ошибку. |
Значение по умолчанию 'любого' удовлетворяет требования в большинстве экземпляров. Если у вас есть несколько плат общей памяти в вашей системе, чтобы идентифицировать драйвер для конкретного узла, задайте особое значение NodeID.