Министерство образования Российской Федерации
КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им.
![]()
![]()
Компьютерные системы сбора и обработки информации
Лабораторная работа №3
Казань 2006
Министерство образования Российской Федерации
КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им.

Телевидения и мультимедийных систем
Компьютерные системы сбора и обработки информации
Блок Бейсик - сценария
Лабораторная работа
для студентов очной и формы обучения
Казань 2006
Блок Бейсик-сценария
Данный блок разработан для обеспечения максимальной гибкости программирования в GENIE, позволяющей реализовывать эффективные вычисления, логические операции, условные переходы, ветвления и циклы. В блоке используется язык программирования, синтаксис и функции которого совместимы с принятыми в Microsoft Visual Basic и Microsoft Visual Basic for Applications (VBA). Однако язык программирования Бейсик-сценариев GENIE является интерпретатором, что вызвано необходимостью достижения компромисса между простотой в применении и быстродействием.
Блок Бейсик-сценария предназначен для реализации небольших алгоритмов обработки данных. Разработка и использование больших и сложных программ не рекомендуется. Выходы (8) блока могут соединяться с неограниченным количеством других функциональных блоков стратегии. Имеется возможность создания программ, выполняющих обработку значений на входах блока Бейсик-сценария и вывод вычисленных значений на его выходы, а также позволяющих пропускать циклы стратегии, при которых не происходит вывод значений переменных другим функциональным блокам. В последнем случае, все блоки стратегии, присоединенные к выходам блока с подобным алгоритмом работы, исключаются из обработки в пропускаемых циклах.

РИС 1
После двойного щелчка левой клавишей мыши на пиктограмме блока Бейсик-сценария вызывается окно Редактора Бейсик-сценариев (рис. 1). С помощью данного редактора имеется возможность отладки, трассировки и редактирования программного кода сценариев. Таким образом, Редактор сценариев представляет мощное средство разработки процедур обработки данных, специфичных для задачи пользователя.
Для того чтобы блок мог принимать информацию от других блоков необходимо вначале определить эти блоки. Например:
dim a1 as TAG
dim a2 as TAG
set a1 = GetTag("Task1", "AI1") ‘Присвоить переменной а1 значение блока AI1
set a2 = GetTag("Disp1", "NCTL1")
Первые две строки определяют массивы а1 и а2. Две другие строки присваивают переменным а1 и а2 значения тэгов AI1 и NCTL1 соответственно. Данные тэги располагаются в окнах Task1 и Disp1 соответственно. Таким образом с помощью Бейсик – сценария можно считывать любую информацию из любых блоков (если они имеют выходы) и производить с ней математические, логические и другие операции. Информация после знака «’» является пояснением к строке Бейсик-сценария и в обработке не участвует.
Функции блока Бейсик-сценарий
Функции данной категории предназначены для управления выходными каналами функционального блока Бейсик-сценарий. Указанные функции могут применяться только в функциональных блоках Бейсик-сценарий.
Outputi | Передача целочисленного значения другому функциональному блоку и элементу отображения/управления |
Outputl | Передача целочисленного значения двойной точности другому функциональному блоку и элементу отображения/управления |
Outputf | Передача действительного (с плавающей точкой) значения другому функциональному блоку и элементу отображения/управления |
Outputs | Передача строки символов другому функциональному блоку и элементу отображения/управления |
Для того чтобы вывести какую либо информацию на выход необходимо записать следующую строку, например:
Outputi а1, 1
То есть, передать на выход 1 блока Бейсик-сценарий значение а1 в целочисленном виде.
Value (свойство)
Синтаксис
Объект_типа_Tag. Value
Назначение
Свойство Value предназначено для получения доступа к значению, связанному с объектом типа Tag. Объект типа Tag в этом случае должен указывать на функциональный блок, имеющий один или несколько входов.
Пример
`В данном примере считывается значение на канале 0 блока аналогового ввода
Sub Scr2()
dim MyTag as Tag
dim voltage as single
set MyTag = GetTag("TASK2", "AI1")
voltage = MyTag. Value
End Sub
Array(номер канала)
Синтаксис
Объект_типа_Tag. array(номер_канала)
номер_канала: целое число от 0 до 15
Назначение
Свойство Array предназначено для получения доступа к значению, связанному с заданным каналом объекта типа Tag. Объект типа Tag в этом случае должен указывать на функциональный блок, имеющий один или несколько входов.
Пример
`В данном примере считывается значение на 16-ом канале блока аналогового ввода
Sub Scr2()
dim MyTag as Tag
dim voltage as single
set MyTag = GetTag("TASK2", "AI1")
voltage = MyTag. Array(15)
End Sub
GetTag (функция)
Синтаксис
Set Объект_типа_Tag = GetTag(TableName$, TagName$)
Назначение
При успешном выполнении возвращается объект типа Tag.
Комментарии
Функции GetTag() должны быть переданы следующие параметры:
TableName$ строчное выражение, содержащее имя задачи, формы отображения или виртуальной задачи ("VIRTASK").
TagName$ строчное выражение, содержащее имя функционального блока, элемента управления или виртуального тэга. Должно быть представлено прописными буквами.
Пример
Sub Scr2 ()
dim MyTag as Tag
dim voltage as single
set MyTag = GetTag("TASK2", "AI1")
voltage = MyTag. Value
End Sub
Пошаговое исполнение сценария
![]()
В Редакторе сценариев предусмотрено два способа пошагового исполнения сценариев: пошаговое покомандное исполнение и пошаговое процедурное исполнение. Оба способа предполагают исполнение одной строки программного кода сценария с последующим прерыванием исполнения на каждом шаге. Основное отличие между указанными способами пошагового исполнения состоит в том, что в процессе пошагового покомандного исполнения при наличии в следующей строке вызова функции или процедуры происходит переход в тело вызываемой процедуры и ее последующее пошаговое исполнение, тогда как при пошаговом процедурном исполнении наличие в следующей строке вызова функции или процедуры приведет к исполнению всей процедуры за один шаг с переходом к следующей строке сценария.

Ниже приведено описание способов пошагового покомандного исполнения и пошагового процедурного исполнения сценариев.
1. Для выполнения одной строки сценария нажмите кнопку Следующая инструкция для пошагового покомандного исполнения или кнопку Следующая процедура для пошагового процедурного исполнения. Для выполнения тех же действий нажмите клавишу "F8" для пошагового покомандного исполнения или комбинацию клавиш "Shift"+"F8" для пошагового процедурного исполнения. Редактор сценариев поместит указатель инструкции на строку, содержащую имя главной сценарной процедуры (например, Sub Main()).
ПРИМЕЧАНИЕ. Перед началом пошагового исполнения сценария одним из описанных выше способов произойдет предварительная компиляция программного кода сценария, если данная операция не была выполнена ранее. Таким образом, перед началом исполнения может иметь место небольшая пауза. Если в исходном тексте сценария имеются синтаксические ошибки, его исполнение будет прервано. Перед началом отладки сценария следует предварительно устранить все синтаксические ошибки, выявленные на этапе компиляции.
2. Для продолжения пошагового построчного исполнения сценария повторите действия, описанные в п. 1. При каждом повторении действий, описанных в п. 1, Редактор сценариев выполняет программный код в строке, на которую установлен указатель инструкции, после чего происходит перемещение указателя инструкции на строку, которая подлежит исполнению на следующем шаге.
3. По завершении пошаговой отладки сценария, нажмите кнопку Исполнить панели инструментов (или нажмите клавишу "F5") для запуска на исполнение всего сценария. Для прекращения исполнения сценария нажмите кнопку Остановить панели инструментов.
При пошаговом покомандном исполнении сценария может потребоваться определить все вызовы процедур, в результате которых была достигнута текущая строка, отмеченная указателем инструкции.
Ниже приведены сведения об использовании диалоговой панели Calls (Вызовы) для получения данной информации.
Для отображения диалоговой панели Calls:
1. Нажмите кнопку Вызовы, расположенную в панели инструментов окна Редактора сценариев. На экран монитора будет выведена диалоговая панель Calls (Вызовы), в списке которой содержатся имена всех процедур, которые были вызваны до достижения текущей строки, на которую установлен указатель инструкций.
2. Выберите в списке диалоговой панели имя процедуры, подлежащей просмотру.
3. Нажмите кнопку Show (Просмотр) диалоговой панели.
Редактор сценариев выделит текущую исполняющуюся строку в выбранной процедуре, при необходимости выполнив прокрутку текста в полосе редактирования (во время выполнения данных операций, указатель инструкции останется в своей прежней позиции).
При пошаговом исполнении процедуры может потребоваться повторить или пропустить исполнение какой-либо части программного кода. Ниже приведена информация по использованию команды Set Next Statement (установить следующий оператор) для перемещения указателя инструкции на другие строки программного кода отлаживаемой процедуры.
Для перемещения указателя инструкции на другую строку в пределах программного кода процедуры:
1. Поместите текстовый курсор в любую позицию строки, с которой требуется продолжить пошаговое исполнение сценария.
2. Выберите строку Set Next Statement меню Debug в главном окне Редактора сценариев.
Указатель инструкции будет установлен на выбранную строку, и пошаговое исполнение сценария может быть продолжено с указанной строки.
ПРИМЕЧАНИЕ. Команда Set Next Statement (установить следующий оператор) может быть использована только в пределах одной и той же процедуры. При установке указателя инструкции в строку, расположенную вне пределов отлаживаемой процедуры, строка Set Next Statement меню Debug будет блокирована.
Установка и снятие точек останова
![]()
При необходимости пошаговой построчной отладки сценария, начиная с первой строки, следует пользоваться методами, описание которых приведено в предыдущих подразделах. Если требуется выполнить отладку одного или нескольких фрагментов программного кода большого сценария, то использование указанных методов может быть достаточно затруднительным.

Альтернативным способом выполнения отладки в данном случае является использование одной или нескольких точек останова, устанавливаемых в требуемых строках программного кода. Редактор сценариев приостанавливает исполнение сценария по достижении строки, в которую помещена точка останова. Таким образом, пошаговое исполнение может быть продолжено, начиная с указанной строки.
Установка точек останова
Точки останова могут быть установлены в программном коде сценария для выполнения отладки части сценария, для возобновления отладки, начиная со строки, расположенной вне пределов текущей процедуры или для продолжения пошаговой отладки с заданной точки в программном коде сценария.
Точки останова могут устанавливаться только в строках сценария, содержащих программный код, включая вызовы функций или процедур. Хотя установка точек останова может быть произведена до начала исполнения, во время компиляции и при начале исполнения неверно установленные точки останова (т. е. установленные в строки, не содержащие программный код) будут автоматически удалены. При отладке сценария, попытка установки точки останова в строку, не содержащую программный код, приведет к выдаче звукового сигнала.
Ниже приведено описание способа отладки сценария с выбранной точки в пределах его программного кода.
Для начала отладки части сценария:
1. Поместите текстовый курсор в строку, начиная с которой требуется приступить к пошаговой отладке сценария.
2. Для установки точки останова в выбранную строку нажмите кнопку Точка останова панели инструментов Редактора сценариев либо нажмите клавишу "F9". Шрифт строки, в которую помещена точка останова, будет выделен цветом, который отличается от цвета остальных строк сценария.
3. Нажмите кнопку Исполнить панели инструментов Редактора сценариев или нажмите клавишу "F5".
Редактор сценариев произведет запуск сценария на исполнение в обычном режиме, начиная с первой строки программного кода. Исполнение сценария будет прервано на строке, предшествующей содержащую точку останова. Указатель инструкции будет помещен на строку, в которой содержится достигнутая точка останова. Пошаговое исполнение сценария может быть возобновлено с указанной строки.
При необходимости возобновления пошаговой отладки с другой строки в пределах одной и той же процедуры, следует воспользоваться командой Set Next Statement меню Debug Редактора сценариев.
Если требуется возобновить отладку со строки, которая расположена вне пределов текущей процедуры, указатель инструкции должен быть установлен на требуемую строку описанным ниже способом.
Для возобновления отладки со строки, расположенной вне пределов текущей процедуры:
1. Поместите текстовый курсор в строку, начиная с которой требуется приступить к пошаговой отладке сценария.
2. Для установки точки останова в выбранную строку нажмите клавишу "F9".
3. Для запуска сценария нажмите кнопку Исполнить панели инструментов Редактора сценариев или нажмите клавишу "F5".
Редактор сценариев произведет запуск сценария на исполнение в обычном режиме. Исполнение сценария будет прервано на строке, предшествующей содержащую точку останова. Указатель инструкции будет помещен на строку, в которой содержится достигнутая точка останова. Пошаговое исполнение сценария может быть возобновлено с указанной строки.
Ниже приведено описание способа отладки фрагмента программного кода сценария с использованием точек останова.
Для отладки требуемых фрагментов программного кода сценария:
1. Установите точки останова в начале каждого фрагмента программного кода, подлежащего отладке.
ПРИМЕЧАНИЕ. До 255-ти строк сценария могут содержать точки останова.
2. Для запуска сценария нажмите кнопку Исполнить панели инструментов Редактора сценариев или нажмите клавишу "F5". Сценарий будет исполняться до достижения строки, содержащей первую точку останова, после чего произойдет приостановка исполнения. Указатель инструкции будет помещен на строку, в которой содержится достигнутая точка останова.
3. Выполните пошаговую отладку фрагмента кода.
4. Возобновите исполнение сценария нажатием кнопки Исполнить панели инструментов Редактора сценариев или нажмите клавишу "F5". Сценарий будет исполняться до достижения строки, содержащей вторую точку останова, после чего произойдет приостановка исполнения. Указатель инструкции будет помещен на строку, в которой содержится достигнутая точка останова.
5. Повторите действия, описанные в п.34 до завершения пошаговой отладки всех фрагментов программного кода, отмеченных точками останова.
Снятие точек останова
Имеется возможность автоматического или ручного снятия установленных ранее точек останова.
Для снятия одной точки останова вручную:
1. Поместите текстовый курсор в строку, содержащую точку останова, которая подлежит снятию.
2. Нажмите кнопку Точка останова панели инструментов Редактора сценариев либо нажмите клавишу "F9".
Шрифт строки, в которую помещена точка останова, перестанет выделяться цветом, отличным от цвета остальных строк сценария.
Для снятия всех точек останова вручную выберите строку Clear All Breakpoints меню Debug Редактора сценариев.
Автоматическое снятие точек останова выполняется в следующих случаях:
При компиляции и попытке начать исполнение сценария, если строки, в которые установлены точки останова, не содержат программный код.
При завершении работы с Редактором сценариев.
Просмотр значений переменных во время отладки
При отладке сценария имеется возможность использования полосы наблюдения окна Редактора сценариев для просмотра значений выбранных переменных. Для каждой выбранной переменной Редактор сценариев отображает ее контекст, имя и значение. Значения переменных в списке просмотра обновляются при каждой приостановке пошагового исполнения.
Ниже приведено описание способа добавления переменной в список просмотра Редактора сценариев.
1. Для добавления переменной в список просмотра нажмите кнопку Контрольное значение панели инструментов Редактора сценариев или нажмите комбинацию клавиш "Shift"+"F9". На экран монитора будет выведена диалоговая панель Add Watch (Просмотр значения).

2. В поле Variable (Переменная) диалоговой панели Add Watch введите имя переменной, которую требуется добавить в список просмотра. При исполнении сценария имеется возможность выбора имени переменной, поскольку поле Variable представлено комбинированным списком (Combo Box). При нажатии кнопки со изображением стрелки, направленной вниз, которая расположена справа от поля редактирования Variable, в комбинированном списке будет содержаться перечень имен всех переменных, находящихся в области видимости отладчика либо определенных в текущей отлаживаемой процедуре.
3. В поле Procedure (Процедура) диалоговой панели Add Watch введите имя процедуры, содержащую переменную, которую требуется добавить в список просмотра. При исполнении сценария имеется возможность выбора имени процедуры, поскольку поле Procedure представлено комбинированным списком (Combo Box). Если переменная, значение которой требуется просматривать в процессе отладки, имеет атрибут Private или Public (переменная, объявленная с атрибутом Private, доступна в пределах содержащей ее функции или процедуры, тогда как доступ к переменной, объявленной с атрибутом Public, может быть осуществлен из всех сценариев), выберите строку "(All Procedures)" в комбинированном списке Procedure.
4. В поле Script (Сценарий) диалоговой панели Add Watch введите имя сценария, содержащего переменную, которую требуется добавить в список просмотра. Если переменная, значение которой требуется просматривать в процессе отладки, имеет атрибут Public, выберите строку "(All Scripts)" из комбинированном списке Script.
5. Нажмите кнопку OK диалоговой панели для добавления выбранной переменной в список просмотра.
Редактор сценариев поместит имя переменной, ее контекст и значение в список, состоящий из трех колонок и расположенный в полосе просмотра окна Редактора сценариев.
Типы просматриваемых переменных
Редактор сценариев обеспечивает возможность просмотра переменных только базовых типов, таких как Integer (Целый), Long (Целый двойной точности), Variant (Комбинированный) и т. д. Просмотр значений сложных переменных, таких как массивы структур или выражений, в которых используются арифметические операции, невозможен. Однако имеется возможность просмотра отдельных элементов массивов или структур путем использования следующего синтаксиса:
[variable[(index,...)][.member[(index,...)]]...]
где variable имя структуры или массива; index номер; member имя элемента структуры.
Например, допускается использование следующих выражений для добавления в список просмотра:
Просматриваемая переменная Описание
a(1) Первый элемент массива с именем a
person. age Элемент age структуры person
company(10,23).person. age Элемент age структуры person, которая расположена
в двумерном массиве company по индексам 10, 23
Изменение значений и удаление переменных из списка просмотра
Для изменения значения просматриваемой переменной или удаления данной переменной из списка просмотра следует предварительно выбрать имя указанной переменной в списке просмотра.
Для выбора переменной в списке просмотра поместите курсор мыши на имя переменной в полосе просмотра окна Редактора сценариев и произведите щелчок левой клавишей мыши. Если одна из переменных уже выбрана, для выбора другой переменной нажимайте клавишу "" или "". Если текстовый курсор находится в полосе редактирования окна Редактора сценариев, для выделения переменной в списке просмотра, выбор которой уже производился перед помещением текстового курсора в полосу редактирования, нажмите клавишу "F6".
ПРИМЕЧАНИЕ. Повторное нажатие клавиши "F6" приведет к перемещению текстового курсора в позицию полосы редактирования, которую он занимал до передачи фокуса ввода в полосу просмотра.
Если с помощью встроенных средств отладки выполнялись какие-либо действия по отношению к сценарию, имеется возможность изменения значения любой переменной, находящейся в списке просмотра.
Для изменения значения переменной, находящейся в списке просмотра:
1. Поместите курсор мыши на имя переменной в полосе просмотра окна Редактора сценариев и произведите двойной щелчок левой клавишей мыши либо выберите имя переменной в списке просмотра и нажмите клавишу "F2". На экран монитора будет выведена диалоговая панель Modify Variable (Изменение значения переменной).
2. Введите новое значение переменной в поле Value (Значение) диалоговой панели.
3. Нажмите кнопку OK диалоговой панели.
Введенное значение переменной будет отображено в столбце Value полосы просмотра.
При изменении значения переменной Редактор сценариев может выполнять операции преобразования типа вводимого значения так, чтобы он соответствовал типу изменяемой переменной. Например, при вводе значения 1.7 для переменной, имеющей тип Integer (Целый), произойдет преобразование действительного числа 1.7 к целому, которое будет равно 2 и присвоено переменной.
При изменении значения переменной комбинированного типа (Variant), требуется определить как новое значение переменной, так и тип вводимого значения. В Редакторе сценариев приняты следующие соглашения по назначению типов значений, присваиваемых переменным комбинированного типа:
Если новое значение равно | Тогда |
Null | Переменной типа Variant присваивается значение Null (VarType 1) |
Empty | Переменной типа Variant присваивается значение Empty (VarType 0) |
True | Переменной типа Variant присваивается значение True (VarType 11) |
False | Переменной типа Variant присваивается значение False(VarType 11) |
численное значение | Переменной типа Variant присваивается численное значение, для которого выбирается тип с наименьшим номером типа. Имеется возможность явного указания типа вводимого значения путем использования суффикса типа, следующего за вводимым числом. |
дата | Переменной типа Variant присваивается значение введенной даты (VarType 7) |
какие-либо символы | Переменной типа Variant присваивается строка, содержащая введенные символы (VarType 8) |
Редактор сценариев не сможет присвоить новое значение переменной, если оно не может быть преобразовано к типу изменяемой переменной.
Ниже представлен способ удаления переменных из списка просмотра.
Для удаления переменной из списка просмотра:
1. Выберите имя переменной в списке просмотра.
2. Нажмите клавишу "Del".
Выбранная переменная будет удалена из списка просмотра.
Завершение работы с Редактором сценариев
Ниже приведены указания по завершению работы с Редактором сценариев. Результат выполнения операции выхода из Редактора сценариев зависит от того, были ли внесены какие-либо изменения в исходный текст сценария, а также от наличия синтаксических ошибок в исходном тексте.
Для завершения работы с Редактором сценариев следует выбрать строку Close меню File.
Если в процессе работы с Редактором сценариев в исходный текст сценария были внесены какие-либо изменения, на экран монитора будет выведена диалоговая панель с запросом сохранения выполненных изменений. При этом, если исходный текст сценария содержит синтаксические ошибки и выбрана (нажата) кнопка Yes (Да) диалоговой панели, на экран будет выведена диалоговая панель, содержащая сообщение о наличии ошибок и запрос на подтверждение намерения пользователя продолжить сохранение сценария. Нажатие кнопки Yes (Да) данной диалоговой панели приведет к сохранению исходного текста сценария вместе со всеми имеющимися ошибками.
Если в исходный текст сценария не было внесено никаких изменений, произойдет мгновенное завершение работы Редактора сценариев независимо от наличия ошибок в исходном тексте сценария, допущенных во время предыдущего сеанса работы с Редактором сценариев.
Окно Редактора сценариев является модальным, что требует его закрытия перед продолжением работы с другими редакторами GENIE.
Входная связь: Блок Бейсик-сценария имеет доступ к данным, расположенным в центре обработки данных GENIE. Таким образом, входные связи, присоединяемые к блоку, не несут никакой смысловой нагрузки и игнорируются.
Выходная связь: Данный блок имеет 8 выходных каналов.
Элемент отображения Индикатор
![]()
Данный элемент отображения представляет собой единичный индикатор, предназначенный для отображения логического состояния связанного с ним дискретного выхода функционального блока стратегии. Индикатор переводится в состояние Включен при появлении логической единицы на выходе связанного с ним функционального блока. Индикатор переводится в состояние Выключен при появлении логического нуля на выходе связанного с ним функционального блока. Размеры, форма и цвет индикатора в разных состояниях могут быть установлены с помощью диалоговой панели настройки параметров индикатора.

Поле Ввод из
Элемент отображения может быть связан с одной из переменных задачи, входящей в стратегию. Перед началом настройки параметров элемента отображения Индикатор необходимо установить связь с функциональным блоком, логическое состояние на выходе которого предполагается отображать. Для этого следует нажать кнопку Выбор... диалоговой панели и в появившейся диалоговой панели Связь выбрать идентификатор задачи, идентификатор функционального блока и номер присоединяемого выхода функционального блока. При запуске стратегии на исполнение логическое состояние на выходе присоединенного функционального блока будет отображаться соответствующим цветом индикатора.
Поле Форма индикатора
Данное поле предназначено для выбора формы индикатора. Индикатор может иметь прямоугольную (квадратную) форму или форму эллипса (круга).
Поля Цвет для состояния ВКЛ(1)/ВЫКЛ(0)
Данные поля позволяют выбрать цвета индикатора во включенном и выключенном состояниях. В GENIE реализована поддержка до 16-ти цветов.
Элемент управления Инкрементный регулятор
Элемент управления Инкрементный регулятор
![]()
Элемент управления Инкрементный регулятор может быть помещен в окно формы отображения и связан с входной переменной функционального блока задачи, входящей в стратегию, и/или элементами отображения. Имеется возможность установки требуемых размеров регулятора. Инкрементный регулятор предназначен для ввода оператором числовых значений с помощью клавиатуры или мыши и передачи введенных значений связанному функциональному блоку стратегии, что позволяет реализовывать функции оперативного диспетчерского управления. Вводимые значения могут быть целого или действительного типа. Формат вводимого значения (количество цифр после десятичной точки) может быть установлен только для действительных чисел.
Тип и размер используемого шрифта выбираются путем нажатия кнопки Шрифт... диалоговой панели настройки параметров элемента управления,

Переключатель Тип вводимого числа
Данный переключатель позволяет выбрать тип вводимого и отображаемого значения. Обеспечена поддержка действительных (с плавающей точкой) и целых чисел.
Поле Уровень привилегий
Данное поле предназначено для защиты функций управления, связанных с инкрементным регулятором. Уровень привилегий может принимать значения от 0 до 255, причем большему значению соответствует более высокий уровень привилегий. Таким образом, если для регулятора установлен уровень привилегий, равный 100, то изменить значение на его выходе смогут пользователи с правами доступа от 100 и выше.
Поле Начальное значение
Данное поле определяет значение на выходе инкрементного регулятора при запуске стратегии на исполнение.
Поле Шаг изменения
Данное поле определяет величину уменьшения/увеличения значения на выходе регулятора при однократном щелчке левой клавишей мыши на кнопках уменьшения/увеличения, расположенных справа от области отображения значения на выходе инкрементного регулятора.
Поля Верхний/Нижний предел
Данные поля предназначены для установки диапазона изменения значения на выходе инкрементного регулятора.
Практическая часть
1. в редакторе задач собрать схему представленную на рис. 2
2. сконфигурировать блоки согласно рис. 3
3. в редакторе отображения подсоединить блоки из редактора задач к элементам отображения и управления согласно рис. 4
4. записать в блок Бейсик – сценария программу представленную на рис. 5
5. проверить работу программы в пошаговом режиме
6. закрыть Бейсик – сценарий и запустить стратегию на сканирование
7. изменяя значение элемента управления «Инкрементный регулятор», убедиться что программа работает верно
8. остановить сканирование





Рис. 3



Рис 4
Sub SCR1()
dim mytag1 as TAG
dim mytag2 as TAG
set mytag1 = GetTag("Task1", "AI1")
set mytag2 = GetTag("Disp1", "NCTL1")
if mytag1 > mytag2 then
outputi 1
else
outputi 0
end if
End Sub
Рис. 5
Содержание отчета.
Отчет должен содержать схему задачи, программу Бейсик сценария, выводы.
Контрольные вопросы
1. Что такое блок Бейсик – сценарий.
2. Как задаются значения в блоке Бейсик - сценария.
3. Как производится вывод результатов вычисления из блока Бейсик – сценарий.
4. Как производится пошаговая проверка программы в блоке Бейсик – сценарий.
5. Типы просматриваемых переменных.
6. Установка и снятие точек останова.
7. Что такое элемент Индикатор.
8. Как конфигурируется элемент Индикатор.
9. Что такое элемент Инкрементный регулятор.
10. Как конфигурируется элемент Инкрементный регулятор.
УДК 621.397 Составители: ст. преп. каф. ТМС
Компьютерные системы сбора и обработки информации: Методические указания ______________________по курсу «__________-» для студентов очной формы обучения/ Сост._______________
Предназначено для изучения студентами специальностей 210303 и их специализаций по направлению__Бытовая радиоэлектронная аппаратура___


