Вы устанавливаете желаемое инструментальное поведение объекта путем конфигурирования значений свойств. Можно сконфигурировать значения свойств с помощью функции set
или записи через точку, или путем определения имени свойства / пары значения свойства во время создания объекта. Можно возвратить значения свойств с помощью функции get
или записи через точку.
Интерфейсные объекты обладают двумя типами свойств:
Основные Свойства: Они поддерживаются для всех интерфейсных объектов (последовательный порт, GPIB, VISA-VXI, и так далее). Например, свойство BytesToOutput
поддерживается для всех интерфейсных объектов.
Интерфейсно-специфичные Свойства: Они поддерживаются только для объектов данного интерфейсного типа. Например, свойство BaudRate
поддерживается только для последовательного порта и последовательных ВИЗОЙ объектов.
Если инструментальный объект создается, можно установить конфигурируемые свойства. Кроме того, если свойство имеет конечное множество значений вектора символов, то set
также возвращает эти значения.
Например, конфигурируемые свойства для объекта GPIB g
показывают ниже. Основные свойства перечисляются сначала, сопровождаются специфичными для GPIB свойствами.
g = gpib('ni',0,1); set(g) ByteOrder: [ {littleEndian} | bigEndian ] BytesAvailableFcn BytesAvailableFcnCount BytesAvailableFcnMode: [ {eosCharCode} | byte ] ErrorFcn InputBufferSize Name OutputBufferSize OutputEmptyFcn RecordDetail: [ {compact} | verbose ] RecordMode: [ {overwrite} | append | index ] RecordName Tag Timeout TimerFcn TimerPeriod UserData GPIB specific properties: BoardIndex CompareBits EOIMode: [ {on} | off ] EOSCharCode EOSMode: [ {none} | read | write | read&write ] PrimaryAddress SecondaryAddress
Можно отобразить одно или несколько свойств и их текущие значения к переменной или к командной строке.
Например, все свойства и их текущие значения для объекта GPIB g
показывают ниже. Основные свойства перечисляются сначала, сопровождаются специфичными для GPIB свойствами.
get(g) ByteOrder = littleEndian BytesAvailable = 0 BytesAvailableFcn = BytesAvailableFcnCount = 48 BytesAvailableFcnMode = eosCharCode BytesToOutput = 0 ErrorFcn = InputBufferSize = 512 Name = GPIB0-1 OutputBufferSize = 512 OutputEmptyFcn = RecordDetail = compact RecordMode = overwrite RecordName = record.txt RecordStatus = off Status = closed Tag = Timeout = 10 TimerFcn = TimerPeriod = 1 TransferStatus = idle Type = gpib UserData = [] ValuesReceived = 0 ValuesSent = 0 GPIB specific properties: BoardIndex = 0 BusManagementStatus = [1x1 struct] CompareBits = 8 EOIMode = on EOSCharCode = LF EOSMode = none HandshakeStatus = [1x1 struct] PrimaryAddress = 1 SecondaryAddress = 0
Чтобы отобразить текущее значение для одного свойства, вы предоставляете имя свойства к get
.
g.OutputBufferSize ans = 512
Чтобы отобразить текущие значения для нескольких свойств, вы включаете имена свойства как элементы массива ячеек.
g.BoardIndex ans = [0]
g.TransferStatus ans = 'idle'
Можно также использовать запись через точку, чтобы отобразить одно значение свойства.
g.PrimaryAddress ans = 1
Можно сконфигурировать значения свойств с помощью объекта
g.EOSMode = 'read'
Чтобы сконфигурировать значения для нескольких свойств, можно установить каждого можно следующим образом.
g.EOSCharCode = 'CR' g.Name = 'Test1-gpib'
Обратите внимание на то, что можно сконфигурировать только одно значение свойства во время с помощью записи через точку.
На практике можно сконфигурировать многие свойства в любое время, в то время как инструментальный объект существует — включая во время создания объекта. Однако некоторые свойства не конфигурируемы, в то время как объект соединяется с инструментом или при записи информации к диску. Используйте функцию propinfo
или обратитесь к документации свойств, чтобы понять, когда можно будет сконфигурировать свойство.
Инструментальные имена свойства объекта представлены с помощью смешанного случая. В то время как это делает имена свойства легче читать, можно использовать любой случай, который вы хотите при определении имен свойства. Кроме того, вы должны использовать только достаточно букв, чтобы идентифицировать имя свойства исключительно, таким образом, можно сократить большинство имен свойства. Например, можно сконфигурировать свойство EOSMode
любым из этих способов.
g.EOSMode = 'read' g.eosmode = 'read' g.EOSM = 'read'
Однако, когда вы включаете имена свойства в файл, необходимо использовать полное имя свойства. Эта практика может предотвратить проблемы с будущими релизами программного обеспечения Instrument Control Toolbox™, если сокращенное имя более не уникально из-за сложения новых свойств.
Если вы явным образом не задаете значение для свойства, то значение по умолчанию используется. Все конфигурируемые свойства имеют значения по умолчанию.
Значения по умолчанию обеспечиваются для всех инструментальных свойств объектов. Для объектов последовательного порта значения по умолчанию обеспечиваются вашей операционной системой. Для GPIB и инструментальных объектов VISA, значения по умолчанию обеспечиваются предоставленными поставщиками инструментами. Однако эти настройки заменены вашим кодом MATLAB® и не будут иметь никакого эффекта на ваше инструментальное приложение управления.
Если свойство имеет конечное множество значений вектора символов, то значение по умолчанию заключено {}
(фигурные скобки). Например, значением по умолчанию для свойства EOSMode
является none
.
g.EOSMode ans = none
Можно также использовать функцию propinfo
или обратиться к документации функций, чтобы найти значение по умолчанию для любого свойства.
Чтобы получить список опций, можно использовать на функции, нажать клавишу Tab после ввода функции на командной строке MATLAB. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Например, когда вы создаете объект gpib
, можно получить список установленных поставщиков:
g = gpib('
Когда вы нажимаете Tab после круглых скобок и одинарной кавычки, как показано здесь, списка установленных отображений поставщиков GPIB, таких как keysight
, ics
, mcc
и ni
.
Формат для функции конструктора Object GPIB:
g = gpib('vendor',boardindex,primaryaddress)
Когда вы нажимаете Tab, где поле должно появиться, вы получаете список опций для того поля. Другие интерфейсные объекты, такие как Bluetooth, Последовательный, TCP/IP, и т.д., также включают эту возможность на своих функциях конструктора Object.
Можно также получить значения для пар значения свойства. Например, чтобы получить возможные значения терминатора строки при создании последовательного объекта, введите:
s = serial('COM1','Terminator','
Нажмите Tab после ввода одинарной кавычки после Terminator
, чтобы получить возможные значения для того свойства, как показано здесь.
Многие из других функций тулбокса также имеют заполнение клавишей Tab. Например, при использовании fread
функционируют, можно задать тип точности с помощью заполнения клавишей Tab.
data = fread(s,256,'
Нажмите Tab после ввода одинарной кавычки после size
(256 значений в этом примере), поскольку точность является следующим аргументом, который функция fread
берет, чтобы получить возможные значения для типов точности, таких как 'double'
, 'int16'
, и т.д.
Когда список возможных значений длинен, полоса прокрутки появляется во всплывающем окне, как показано в этом примере.
Property Inspector позволяет вам осмотреть и установить свойства для одного или нескольких инструментальных объектов. Это предоставляет список всех свойств и отображает их текущие значения.
Устанавливаемые свойства в списке сопоставлены с устройством редактирования, которое подходит для значений, принятых конкретным свойством. Например, графический интерфейс пользователя настройки коллбэка, чтобы установить ErrorFcn
, всплывающее меню устанавливать RecordMode
и текстовое поле задавать TimerPeriod
. Значения для свойств только для чтения отображаются серым.
Вы открываете Property Inspector с функцией inspect
. Также можно открыть Property Inspector через браузер Рабочей области путем щелчка правой кнопкой по инструментальному объекту и выбора Call Property Inspector из контекстного меню, или путем двойного клика по объекту.