E0011 синтаксическая ошибка trace mode

Лабораторная
работа №3

Тема:
Программирование
на языках
Texno ST и Texno FBD.

Цель
работы: познакомиться с языками
Texno ST и Texno FBD среды Trace Mode, реализовать
систему АСУ ТП с использованием
программной обработки.

Задание:

1. Взять за основу
проект, созданный при выполнении
второй
лабораторной
работы (статическое и динамическое
изображение), добавить каналы, которые
передают значение стоимости продукта,
расхода, суммарного расхода, суммарной
стоимости продукта, периода генерации
сигнала, удалить использовавшийся во
второй лабораторной работе генератор.
У всех каналов следует снять флаг
использовать на панели обработка при
редактировании канала.

2. Добавить, кнопки,
при нажатии на которые будет вводиться
стоимость продукта, период генерации
уровня продукта в емкости, расход,
объекты текст для отображения
суммарного расхода продукта, стоимости
израсходованного продукта, стоимости
продукта, периода генерации уровня
продукта в емкости, расхода и стоимости.

3. Добавить FBD
диаграмму, генерирующую уровень
продукта в емкости. Если период
генерации меньше 10, то программа
должна установить период равный 10.
Программа должна возвращать
отмасштабированный сигнал, то есть
значения должны изменяться в заданном
диапазоне.

4. Добавить программу
ST, которая проверяет значение стоимости
и расхода и производит расчеты. Если
значение стоимости или расхода меньше
1, то устанавливает соответствующий
параметр равным 1. Производит расчет
суммарного расхода продукта и суммарной
стоимости израсходованного продукта.

Примечания:

1. У всех каналов
и у программ должен быть установлен при
редактировании одинаковый период 1— 3
секунды.

2.
Вычислять суммарный расход следует по
формуле:

Суммарный_расход
= Предыдущий_расход+Расход*Период_Обработки,
где

Суммарный_расход
— аргумент программы возвращающий
значение суммарного расхода входному
значению канала, который передает
значение суммарного расхода;

Предыдущий_расход
— глобальная переменная, содержащая
значение суммарного расхода, вычисленное
при предыдущем вызове программы;

Период_Обработки
— аргумент привязанный к аргументу
период пересчета канала, который передает
значение расхода.

3. После
вычисления суммарного расхода следует
глобальной переменной Предыдущий_расход
присвоить вычисленное значение
Суммарный_Расход, суммарную стоимость
продукта вычислить как произведение
вычисленного значения суммарного
расхода на стоимость продукта.

Теория

Язык Texno ST

В алфавит
языка входят:

1. прописные и
строчные буквы латинского алфавита;

2. цифры;

3.
специальные знаки: + — * / < = > ! : & | ^

% ( ) [ ] , ; #.

Идентификаторы
могут состоять из прописных и строчных
букв латинского алфавита, знака
подчеркивания «_», цифр. Идентификаторы
не
чувствительны
к
регистру.

Для
данного
языка
характерны
ключевые
слова:
and, array, bool, break, by, byte, case, constant, continue, date,
date_and_time, dint, do, dt, dword, else, elsif, end_case, end_for,
end_function, end_function_block, end_if, end_program, end_repeat,
end_struct, end_type, end_var, end_while, exit, false, for, function,
function_block, goto, handle, if, int, lreal, mod, not, of, or,
program, real, repeat, return, rol, ror, shl, shr, sint, string,
struct, time, time_of_day, to, tod, true, type, udint, uint, until,
usint, var, var_arg, var_global, var_inout, var_input, var_output,
while, word, xor.

В качестве
разделителей используются лексемы: +
— * ** / < <= <> << > >= >> !
!= = == : := & | ^ ∼
% ( ) [ ] . .. , ;.

Строчный комментарий
начинается с «//» и продолжается до конца
строки. Блочный комментарий начинается
с «/*» и продолжается до «*/».

В данном языке
вводятся понятие выражения и предложения.

Выражение—
последовательность операндов, разделителей
и символьных операторов, задающая
вычисление без присвоения результата.

Предложение—
последовательность лексем, определяющая
выполнение логически законченного
промежуточного действия. Предложениями
являются присвоение переменной результата
каких-либо вычислений, вызов функции,
операторы.

В конце предложения
обязательно должен стоять символ «;».
Исключением является определение
переменной.

Программа на языке
Texno ST можно представить в виде структуры:

PROGRAM

{описание
аргументов}

{список предложений}

END_PROGRAM

Переменные можно
задать, заполняя таблицу аргументов,
локальных и глобальных переменных.
Переменные определяются в разделе
описания аргументов автоматически в
соответствии с заполненными таблицами
аргументов и переменных.

Язык Texno ST позволяет
создавать константы. Рассмотрим их
представление. Можно создать числовые
и строковые константы.

Целочисленная
десятичная константа начинается с
цифры, отличной от нуля, после которой
располагаются любые цифры. Можно привести
следующие примеры целочисленных
десятичных констант: 123, 350, 498.

Двоичная целочисленная
константа начинается с префикса «2#»,
после которого приводится двоичное
представление целого числа. Примеры:
2#1011, 2#0111, 2#1001.

Восьмеричные
целочисленные константы начинаются с
префикса «8#», после которого записывается
восьмеричное представление числа.
Примеры: 8#145, 8#0277, 8#756.

Шестнадцатеричные
целочисленные константы начинаются с
префикса «16#», после которого приводятся
шестнадцатеричные представления чисел.

При записи
шестнадцатеричного представления числа
можно использовать как строчные символы
a…f, так и прописные A… F. Примеры: 16#149,
16#A145E, 16#a145e.

Вещественная
константа состоит из целой и дробной
части. Допустимо наличие только
целочисленной или дробной части. Примеры:
.123, 0.456, 489. . Возможно представление в
формате с плавающей точкой (используется
префикс е или E с указанием порядка).
Примеры: 1.23E-6, 6.7504E4, 6.798e-5.

Частным случаем
числовой константы является временной
интервал, дата, время дня. Временной
интервал записывается в виде:
t#<дни>d<часы>h<минуты>m<секунды>s<миллисекунды>ms

Возможна также
запись в виде:

time#<дни>d<часы>h<минуты>m<секунды>s<миллисекунды>ms

Любая составляющая
в приведенных представлениях временного
интервала может быть опущена. Временной
интервал равной 2 часам, 31 минута, 25
секундам и 10 миллисекунд может быть
записан как

t#2h31m25s10ms
или
в
виде
time#2h31m25s10ms.

Дата записывается
в виде d#<год>-<месяц>-<день>,
возможна также запись в виде
date#<год>-<месяц>-<день>. 25 сентября
2001 года может быть записано в виде
d#2001-9-2001 или date#2001-9-2001.

Время дня можно
записать в формате tod#<час>:<минута>:<секунда>
или time_of_day#<час>:<минута>:<секунда>.
Время 19 часов 15 минут 42 секунды может
быть записано как tod#19:15:42, так и
time_of_day#19:15:42.

Константа «дата
и время» может быть записана как
dt#<год>-<месяц>-<день>-<час>:<минута>:<секунда>,
так и
date_and_time#<год>-<месяц>-<день>-<час>:<минута>:<секунда>.
К примеру, 12 февраля 1995 года 13 часов 47
минут и 13 секунд можно записать в виде
dt#1995-2-12-13:47:13 или date_and_time#1995-2-12-13:47:13.

Помимо числовых
констант часто используются строковые
константы, которые представляют собой
набор символов заключенных в одинарные
или двойные кавычки. Пример: “Первая
строка символов”, `Вторая строка
символов`. В строках не могут присутствовать
управляющие символы, кавычки и символ
$. Для размещения в строке произвольного
символа, включая управляющие, используется
механизм эскейп-последовательностей.

Данный механизм
позволяет разместить в строке следующие
последовательности:

$r— возврат каретки;

$n— перевод строки;

$t— табуляция;

$uХХХХ— UNICODE символ,
где ХХХХ— шестнадцатеричный символ;

$х— символ х («х»—
любой символ).

Рассмотрим
символьные операторы. Под символьными
операторами понимают знаки операций,
выполняемых над операндами. В качестве
операндов могут выступать:

1. имена констант;

2. имена переменных;

3. имена массивов
с указанием индекса отдельного элемента;

4. вызов
пользовательских функций;

5. вызов библиотечных
функций;

6. выражения,
заключенные в скобки;

7. имена элементов
структур.

Арифметические
операторы приведены в таблице 2.6,
побитовые— в таблице 2.7, операторы
сравнения— в таблице 2.8, логические—
в таблице 2.9.

Ход работы

1.
Создание проекта. Сохраните проект,
созданный при выполнении работы 2 под
новым именем. Удалите генератор,
привязанный к каналу Уровень. Выделите
объект экран и вызовите контекстное
меню. Выберите редактировать. В открывшемся
окне редактирования канала выберите
период равным 1, единицу измерения—
сек. Аналогично измените период пересчета
канала, который хранит уровень продукта
в емкости.

2.
Создание необходимых каналов. Добавьте
каналы хранящие значение стоимости
продукта, расхода продукта, периода
генерации. Для лучшего восприятия
назовем канал, хранящий стоимость
продукта как стоимость, хранящий расход
продукта— расход, период генерации—
период генерации. Установите тип каждого
канала— Input (см. работу 1). Добавьте
каналы, хранящие результаты вычислений:
суммарный расход продукта, суммарная
стоимость продукта. Для удобства
восприятия назовем канал, хранящий
суммарную стоимость продукта, как
суммарная стоимость, а суммарный расход
продукта— суммарный расход. Установите
тип указанных каналов— Intput. Для всех
каналов установим одинаковый период
пересчета значения. Для этого вызовите
окно редактирования для каждого канала.
В поле период установите необходимый
период пересчета 1 и единицу измерения—
секунду (сек).

3.
Создание кнопок для задания необходимых
параметров. Щелкните левой кнопкой мыши
по иконке
.
Если данной иконки нет панели инструментов,
то щелкните правой клавишей мыши по
одной из иконок:

или
.
Разместите кнопки на экране. Для этого
задайте противоположные углы кнопок
щелчком левой кнопки мыши (рис. 1). Для
каждой кнопки откройте окно свойств. В
поле текст введите назначение кнопки.
Так, для кнопки, которая устанавливает
период генерации можно ввести «Установить
период», устанавливает расход продукта—
«установить расход», устанавливает
стоимость продукта— «Установить
стоимость», к примеру. Перейдите на
закладку действия
.
Выделите строку mousePressed и вызовите
контекстное меню (рис. 2). Выберите в
появившемся контекстном меню строку
передать значение. В появившемся поле
тип передачи установите ввести и
передать. В поле результат произведите
привязку к входному значению канала,
которому будет передаваться вводимое
значение (пример настройки кнопки—
рис. 3). В результате привязки будут
созданы четыре аргумента в таблице окна
свойств привязки (рис. 4).

Рис. 1
Размещение кнопок

Рис. 2 Создание
события

Рис. 3 Настройка
события

Рис. 4 Атрибуты для
ввода данных

4.
Создание объектов текст. Для вывода
значений, хранимых в ряде каналов,
создайте объекты текст. Пример создания
объектов текст изображен на рис. 5.
Объекты текст, расположенные слева,
выводят подсказку (где какой параметр
выведен), а справа — значения, хранимые
каналами. Привязку объектов текст,
расположенных в правом столбце,
производите к реальным значениям
соответствующих каналов. Для привязки,
при необходимости, создайте дополнительные
аргументы, как показано на рис. 6.

Рис. 5
Создание объектов текст

Рис. 6
Атрибуты экрана

5. Произведите
расчет множителя K и смещения С.

Масштабирование
сигнала в FBD программе будет производиться
по формуле:

Y = K·X + C, где

Y— результат
преобразования;

Х— входное значение
канала;

К— множитель;

C— смещение.

FBD блоки,
производящие генерацию сигнала возвращают
сигнал, изменяющийся в диапазоне [-1;
+1]. Найдите значение множителя K и смещения
Z, которые позволят получить требуемый
диапазон изменения результата
преобразования (диапазон сигнала).

Пример: необходимо
обеспечить диапазон сигнала [0; 1].
Множитель К составит 0,5, смещение Z—
0,5.

6.
Создание FBD диаграммы. Выделите группу
каналы RTM узла и вызовите контекстное
меню. В появившемся меню выберите создать
компонент. Среди предложенных вариантов
выберите программа (рис. 7). Выделив
созданную программу и, щелкнув левой
клавишей мыши, можете изменить имя
программы, например, на «синусоида».

Выделите
созданный объект-программу и вызовите
контекстное меню. В появившемся меню
выберите редактировать. Откроется окно,
аналогичное редактированию канала
float. В поле период выберите 1, выберите
единицу измерения— секунду (сек). После
настройки периода пересчета окно
редактирования канала можно закрыть.
Двойным щелчком левой клавиши мыши по
созданной программе или вызвав контекстное
меню и выбрав строчку редактировать
шаблон, вызовите окно для создания (или
редактирования) программы. Откроется
окно, представленное на рис. 8.

Рис. 7
Создание объекта программа

В
структуре программы выделите строчку
аргументы. Заполните появившуюся
таблицу. Каждая строка— аргумент
программы. Установите тип In для аргументов,
которые будут передавать данные в
программу, Out — которые будут передавать
данные из программы, In/Out — которые будут
передавать в программу и из нее. Пример
создания аргументов программы для
генерирования синусоидального сигнала
приведен на рис. 9.

Рис. 8
Окно редактирования шаблона программы

Рис. 9
Атрибуты программы на языке Texno FBD

Выделите
строку программа# в структуре программы.
Среди предложенных языков программирования
выберите FBD диаграмму (рис. 10).

Рис. 10
Выбор языка

Щелкните
левой клавишей мыши по иконке или
выберите строку палитра FBD блоков в меню
вид, если палитра FBD блоков (рис. 11) не
открыта.

Рис. 11
Окно выбора FBD блоков

Перейдите
на закладку сравнение. Нажмите левую
клавишу мыши на блоке больше или равно.
Переместите его на рабочее поле и
отпустите клавишу мыши. Аналогично
разместите на рабочем поле FBD блоки
(рис. 12): выбор из двух (закладка выбор),
синусоидальный сигнал (закладка),
масштабирование (закладка арифметические).

Произведите
привязку блоков между собой. Для привязки
выхода одного блока к входу другого
наведите курсор мыши на соответствующий
выход (вход) и нажмите левую клавишу
мыши. Не отпуская левой клавиши мыши,
наведите курсор на необходимый вход
(выход) и отпустите левую клавишу мыши.
Для привязки аргумента программы к
соответствующему входу(выходу) выделите
соответствующий вход (выход) и вызовите
контекстное меню. В появившемся меню
выберите привязать. Среди предлагаемых
аргументов выберите необходимый (рис.
12). Для создания константы выберите
вход, вызовите контекстное меню и
выберите привязать. В появившемся поле
вместо выбора аргумента программы
введите константу. На вход IN2 блока
больше или равно и IN0 блока выбора из
двух следует подавать константу 10,
согласно заданию. Вход IN2 блока больше
или равно и IN0 блока выбора из двух
следует привязать к аргументу, который
передает период генерации в программу.
Вычисленные ранее значения констант K
и С следует подать на соответствующие
входы блока масштабирование. Программа,
генерирующая сигнал, изменяющийся в
диапазоне от [0;1] примет вид, изображенный
на рис. 12. После создание программы
проверьте ее. Для этого щелкните левой
клавишей мыши по иконке «компиляция»
.
В окне «сообщения» будет выведен
результат компиляции. Если окно
«сообщения» закрыто, то следует щелкнуть
по иконке

или выбрать в меню «вид» окно сообщения.
При отсутствии ошибок будет написано:
«Программа#1.tms compiled successfully», к примеру.
При наличии ошибки будет написано:
«Е0011 Синтаксическая ошибка», к примеру.

Рис. 12
Программа на языке Texno FBD

7.
Создание ST программы. Создайте объект
программа в группе каналы RTM узла.
Название программы можно изменить на
«обработка», к примеру. Установите
период пересчета равным 1 секунде.
Откройте программу двойным щелчком
левой клавиши мыши по созданному объекту
программы. В структуре программы выберите
аргументы. Создайте аргументы, которые
будут передавать в программу расход
продукта, стоимость продукта, период
пересчета каналов, а также аргументы,
которые будут возвращать из программы
суммарный расход продукта и суммарную
стоимость всего израсходованного
продукта (рис. 13).

Рис. 13
Аргументы программы на языке Texno ST

Выберите
строку глобальные переменные. Аналогично
созданию аргументов создайте глобальную
переменную, которая будет хранить
значение суммарного расхода, вычисленного
при предыдущем вызове программы, указав
начальное значение равным нулю (рис.
14).

Рис. 14
Глобальная переменная

Выделите
строку программа#. В открывшемся окне
наберите STпрограмму. При указанных выше
именах аргументов и глобальной переменной
текст программы примет вид, указанный
на рис. 15.

Рис. 15
Программа на языке Texno ST

Проверьте
программу, щелкнув левой клавишей мыши
по иконке
.
8. Запустите проект. Запустите проект,
аналогично предыдущим работам (см.
работу 1). Пример результата запуска
приведен на рис. 16

Рис. 16
Пример результата запуска проекта

Помогаю со студенческими работами здесь

Ошибки при компиляции программы c++
Здравствуйте, написал программу по заданию
Составить программу, которая содержит текущую…

Ошибки при компиляции программы
Посмотрите пожалуйста, может быть вы поймете в чем ошибки тут? А то не пойму… Не знаю таких…

Ошибки при компиляции программы
Ошибки при компиляции !!! Помогите пожалуйста

unit Unit1;

interface

uses
Windows,…

ошибки при компиляции программы С++
Подскажите где я совершил ошибки.
Вот задача:Составить класс файл. Класс должен обладать…

Ошибки при компиляции программы
Сразу скажу что я чайник в этом деле)При компиляции выдает ошибки,кто сможет помочь исправить чтобы…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

Лабораторная
работа №3

Тема:
Программирование
на языках
Texno ST и Texno FBD.

Цель
работы: познакомиться с языками
Texno ST и Texno FBD среды Trace Mode, реализовать
систему АСУ ТП с использованием
программной обработки.

Задание:

1. Взять за основу
проект, созданный при выполнении
второй
лабораторной
работы (статическое и динамическое
изображение), добавить каналы, которые
передают значение стоимости продукта,
расхода, суммарного расхода, суммарной
стоимости продукта, периода генерации
сигнала, удалить использовавшийся во
второй лабораторной работе генератор.
У всех каналов следует снять флаг
использовать на панели обработка при
редактировании канала.

2. Добавить, кнопки,
при нажатии на которые будет вводиться
стоимость продукта, период генерации
уровня продукта в емкости, расход,
объекты текст для отображения
суммарного расхода продукта, стоимости
израсходованного продукта, стоимости
продукта, периода генерации уровня
продукта в емкости, расхода и стоимости.

3. Добавить FBD
диаграмму, генерирующую уровень
продукта в емкости. Если период
генерации меньше 10, то программа
должна установить период равный 10.
Программа должна возвращать
отмасштабированный сигнал, то есть
значения должны изменяться в заданном
диапазоне.

4. Добавить программу
ST, которая проверяет значение стоимости
и расхода и производит расчеты. Если
значение стоимости или расхода меньше
1, то устанавливает соответствующий
параметр равным 1. Производит расчет
суммарного расхода продукта и суммарной
стоимости израсходованного продукта.

Примечания:

1. У всех каналов
и у программ должен быть установлен при
редактировании одинаковый период 1— 3
секунды.

2.
Вычислять суммарный расход следует по
формуле:

Суммарный_расход
= Предыдущий_расход+Расход*Период_Обработки,
где

Суммарный_расход
— аргумент программы возвращающий
значение суммарного расхода входному
значению канала, который передает
значение суммарного расхода;

Предыдущий_расход
— глобальная переменная, содержащая
значение суммарного расхода, вычисленное
при предыдущем вызове программы;

Период_Обработки
— аргумент привязанный к аргументу
период пересчета канала, который передает
значение расхода.

3. После
вычисления суммарного расхода следует
глобальной переменной Предыдущий_расход
присвоить вычисленное значение
Суммарный_Расход, суммарную стоимость
продукта вычислить как произведение
вычисленного значения суммарного
расхода на стоимость продукта.

Теория

Язык Texno ST

В алфавит
языка входят:

1. прописные и
строчные буквы латинского алфавита;

2. цифры;

3.
специальные знаки: + — * / < = > ! : & | ^

% ( ) [ ] , ; #.

Идентификаторы
могут состоять из прописных и строчных
букв латинского алфавита, знака
подчеркивания «_», цифр. Идентификаторы
не
чувствительны
к
регистру.

Для
данного
языка
характерны
ключевые
слова:
and, array, bool, break, by, byte, case, constant, continue, date,
date_and_time, dint, do, dt, dword, else, elsif, end_case, end_for,
end_function, end_function_block, end_if, end_program, end_repeat,
end_struct, end_type, end_var, end_while, exit, false, for, function,
function_block, goto, handle, if, int, lreal, mod, not, of, or,
program, real, repeat, return, rol, ror, shl, shr, sint, string,
struct, time, time_of_day, to, tod, true, type, udint, uint, until,
usint, var, var_arg, var_global, var_inout, var_input, var_output,
while, word, xor.

В качестве
разделителей используются лексемы: +
— * ** / < <= <> << > >= >> !
!= = == : := & | ^ ∼
% ( ) [ ] . .. , ;.

Строчный комментарий
начинается с «//» и продолжается до конца
строки. Блочный комментарий начинается
с «/*» и продолжается до «*/».

В данном языке
вводятся понятие выражения и предложения.

Выражение—
последовательность операндов, разделителей
и символьных операторов, задающая
вычисление без присвоения результата.

Предложение—
последовательность лексем, определяющая
выполнение логически законченного
промежуточного действия. Предложениями
являются присвоение переменной результата
каких-либо вычислений, вызов функции,
операторы.

В конце предложения
обязательно должен стоять символ «;».
Исключением является определение
переменной.

Программа на языке
Texno ST можно представить в виде структуры:

PROGRAM

{описание
аргументов}

{список предложений}

END_PROGRAM

Переменные можно
задать, заполняя таблицу аргументов,
локальных и глобальных переменных.
Переменные определяются в разделе
описания аргументов автоматически в
соответствии с заполненными таблицами
аргументов и переменных.

Язык Texno ST позволяет
создавать константы. Рассмотрим их
представление. Можно создать числовые
и строковые константы.

Целочисленная
десятичная константа начинается с
цифры, отличной от нуля, после которой
располагаются любые цифры. Можно привести
следующие примеры целочисленных
десятичных констант: 123, 350, 498.

Двоичная целочисленная
константа начинается с префикса «2#»,
после которого приводится двоичное
представление целого числа. Примеры:
2#1011, 2#0111, 2#1001.

Восьмеричные
целочисленные константы начинаются с
префикса «8#», после которого записывается
восьмеричное представление числа.
Примеры: 8#145, 8#0277, 8#756.

Шестнадцатеричные
целочисленные константы начинаются с
префикса «16#», после которого приводятся
шестнадцатеричные представления чисел.

При записи
шестнадцатеричного представления числа
можно использовать как строчные символы
a…f, так и прописные A… F. Примеры: 16#149,
16#A145E, 16#a145e.

Вещественная
константа состоит из целой и дробной
части. Допустимо наличие только
целочисленной или дробной части. Примеры:
.123, 0.456, 489. . Возможно представление в
формате с плавающей точкой (используется
префикс е или E с указанием порядка).
Примеры: 1.23E-6, 6.7504E4, 6.798e-5.

Частным случаем
числовой константы является временной
интервал, дата, время дня. Временной
интервал записывается в виде:
t#<дни>d<часы>h<минуты>m<секунды>s<миллисекунды>ms

Возможна также
запись в виде:

time#<дни>d<часы>h<минуты>m<секунды>s<миллисекунды>ms

Любая составляющая
в приведенных представлениях временного
интервала может быть опущена. Временной
интервал равной 2 часам, 31 минута, 25
секундам и 10 миллисекунд может быть
записан как

t#2h31m25s10ms
или
в
виде
time#2h31m25s10ms.

Дата записывается
в виде d#<год>-<месяц>-<день>,
возможна также запись в виде
date#<год>-<месяц>-<день>. 25 сентября
2001 года может быть записано в виде
d#2001-9-2001 или date#2001-9-2001.

Время дня можно
записать в формате tod#<час>:<минута>:<секунда>
или time_of_day#<час>:<минута>:<секунда>.
Время 19 часов 15 минут 42 секунды может
быть записано как tod#19:15:42, так и
time_of_day#19:15:42.

Константа «дата
и время» может быть записана как
dt#<год>-<месяц>-<день>-<час>:<минута>:<секунда>,
так и
date_and_time#<год>-<месяц>-<день>-<час>:<минута>:<секунда>.
К примеру, 12 февраля 1995 года 13 часов 47
минут и 13 секунд можно записать в виде
dt#1995-2-12-13:47:13 или date_and_time#1995-2-12-13:47:13.

Помимо числовых
констант часто используются строковые
константы, которые представляют собой
набор символов заключенных в одинарные
или двойные кавычки. Пример: “Первая
строка символов”, `Вторая строка
символов`. В строках не могут присутствовать
управляющие символы, кавычки и символ
$. Для размещения в строке произвольного
символа, включая управляющие, используется
механизм эскейп-последовательностей.

Данный механизм
позволяет разместить в строке следующие
последовательности:

$r— возврат каретки;

$n— перевод строки;

$t— табуляция;

$uХХХХ— UNICODE символ,
где ХХХХ— шестнадцатеричный символ;

$х— символ х («х»—
любой символ).

Рассмотрим
символьные операторы. Под символьными
операторами понимают знаки операций,
выполняемых над операндами. В качестве
операндов могут выступать:

1. имена констант;

2. имена переменных;

3. имена массивов
с указанием индекса отдельного элемента;

4. вызов
пользовательских функций;

5. вызов библиотечных
функций;

6. выражения,
заключенные в скобки;

7. имена элементов
структур.

Арифметические
операторы приведены в таблице 2.6,
побитовые— в таблице 2.7, операторы
сравнения— в таблице 2.8, логические—
в таблице 2.9.

Ход работы

1.
Создание проекта. Сохраните проект,
созданный при выполнении работы 2 под
новым именем. Удалите генератор,
привязанный к каналу Уровень. Выделите
объект экран и вызовите контекстное
меню. Выберите редактировать. В открывшемся
окне редактирования канала выберите
период равным 1, единицу измерения—
сек. Аналогично измените период пересчета
канала, который хранит уровень продукта
в емкости.

2.
Создание необходимых каналов. Добавьте
каналы хранящие значение стоимости
продукта, расхода продукта, периода
генерации. Для лучшего восприятия
назовем канал, хранящий стоимость
продукта как стоимость, хранящий расход
продукта— расход, период генерации—
период генерации. Установите тип каждого
канала— Input (см. работу 1). Добавьте
каналы, хранящие результаты вычислений:
суммарный расход продукта, суммарная
стоимость продукта. Для удобства
восприятия назовем канал, хранящий
суммарную стоимость продукта, как
суммарная стоимость, а суммарный расход
продукта— суммарный расход. Установите
тип указанных каналов— Intput. Для всех
каналов установим одинаковый период
пересчета значения. Для этого вызовите
окно редактирования для каждого канала.
В поле период установите необходимый
период пересчета 1 и единицу измерения—
секунду (сек).

3.
Создание кнопок для задания необходимых
параметров. Щелкните левой кнопкой мыши
по иконке
.
Если данной иконки нет панели инструментов,
то щелкните правой клавишей мыши по
одной из иконок:

или
.
Разместите кнопки на экране. Для этого
задайте противоположные углы кнопок
щелчком левой кнопки мыши (рис. 1). Для
каждой кнопки откройте окно свойств. В
поле текст введите назначение кнопки.
Так, для кнопки, которая устанавливает
период генерации можно ввести «Установить
период», устанавливает расход продукта—
«установить расход», устанавливает
стоимость продукта— «Установить
стоимость», к примеру. Перейдите на
закладку действия
.
Выделите строку mousePressed и вызовите
контекстное меню (рис. 2). Выберите в
появившемся контекстном меню строку
передать значение. В появившемся поле
тип передачи установите ввести и
передать. В поле результат произведите
привязку к входному значению канала,
которому будет передаваться вводимое
значение (пример настройки кнопки—
рис. 3). В результате привязки будут
созданы четыре аргумента в таблице окна
свойств привязки (рис. 4).

Рис. 1
Размещение кнопок

Рис. 2 Создание
события

Рис. 3 Настройка
события

Рис. 4 Атрибуты для
ввода данных

4.
Создание объектов текст. Для вывода
значений, хранимых в ряде каналов,
создайте объекты текст. Пример создания
объектов текст изображен на рис. 5.
Объекты текст, расположенные слева,
выводят подсказку (где какой параметр
выведен), а справа — значения, хранимые
каналами. Привязку объектов текст,
расположенных в правом столбце,
производите к реальным значениям
соответствующих каналов. Для привязки,
при необходимости, создайте дополнительные
аргументы, как показано на рис. 6.

Рис. 5
Создание объектов текст

Рис. 6
Атрибуты экрана

5. Произведите
расчет множителя K и смещения С.

Масштабирование
сигнала в FBD программе будет производиться
по формуле:

Y = K·X + C, где

Y— результат
преобразования;

Х— входное значение
канала;

К— множитель;

C— смещение.

FBD блоки,
производящие генерацию сигнала возвращают
сигнал, изменяющийся в диапазоне [-1;
+1]. Найдите значение множителя K и смещения
Z, которые позволят получить требуемый
диапазон изменения результата
преобразования (диапазон сигнала).

Пример: необходимо
обеспечить диапазон сигнала [0; 1].
Множитель К составит 0,5, смещение Z—
0,5.

6.
Создание FBD диаграммы. Выделите группу
каналы RTM узла и вызовите контекстное
меню. В появившемся меню выберите создать
компонент. Среди предложенных вариантов
выберите программа (рис. 7). Выделив
созданную программу и, щелкнув левой
клавишей мыши, можете изменить имя
программы, например, на «синусоида».

Выделите
созданный объект-программу и вызовите
контекстное меню. В появившемся меню
выберите редактировать. Откроется окно,
аналогичное редактированию канала
float. В поле период выберите 1, выберите
единицу измерения— секунду (сек). После
настройки периода пересчета окно
редактирования канала можно закрыть.
Двойным щелчком левой клавиши мыши по
созданной программе или вызвав контекстное
меню и выбрав строчку редактировать
шаблон, вызовите окно для создания (или
редактирования) программы. Откроется
окно, представленное на рис. 8.

Рис. 7
Создание объекта программа

В
структуре программы выделите строчку
аргументы. Заполните появившуюся
таблицу. Каждая строка— аргумент
программы. Установите тип In для аргументов,
которые будут передавать данные в
программу, Out — которые будут передавать
данные из программы, In/Out — которые будут
передавать в программу и из нее. Пример
создания аргументов программы для
генерирования синусоидального сигнала
приведен на рис. 9.

Рис. 8
Окно редактирования шаблона программы

Рис. 9
Атрибуты программы на языке Texno FBD

Выделите
строку программа# в структуре программы.
Среди предложенных языков программирования
выберите FBD диаграмму (рис. 10).

Рис. 10
Выбор языка

Щелкните
левой клавишей мыши по иконке или
выберите строку палитра FBD блоков в меню
вид, если палитра FBD блоков (рис. 11) не
открыта.

Рис. 11
Окно выбора FBD блоков

Перейдите
на закладку сравнение. Нажмите левую
клавишу мыши на блоке больше или равно.
Переместите его на рабочее поле и
отпустите клавишу мыши. Аналогично
разместите на рабочем поле FBD блоки
(рис. 12): выбор из двух (закладка выбор),
синусоидальный сигнал (закладка),
масштабирование (закладка арифметические).

Произведите
привязку блоков между собой. Для привязки
выхода одного блока к входу другого
наведите курсор мыши на соответствующий
выход (вход) и нажмите левую клавишу
мыши. Не отпуская левой клавиши мыши,
наведите курсор на необходимый вход
(выход) и отпустите левую клавишу мыши.
Для привязки аргумента программы к
соответствующему входу(выходу) выделите
соответствующий вход (выход) и вызовите
контекстное меню. В появившемся меню
выберите привязать. Среди предлагаемых
аргументов выберите необходимый (рис.
12). Для создания константы выберите
вход, вызовите контекстное меню и
выберите привязать. В появившемся поле
вместо выбора аргумента программы
введите константу. На вход IN2 блока
больше или равно и IN0 блока выбора из
двух следует подавать константу 10,
согласно заданию. Вход IN2 блока больше
или равно и IN0 блока выбора из двух
следует привязать к аргументу, который
передает период генерации в программу.
Вычисленные ранее значения констант K
и С следует подать на соответствующие
входы блока масштабирование. Программа,
генерирующая сигнал, изменяющийся в
диапазоне от [0;1] примет вид, изображенный
на рис. 12. После создание программы
проверьте ее. Для этого щелкните левой
клавишей мыши по иконке «компиляция»
.
В окне «сообщения» будет выведен
результат компиляции. Если окно
«сообщения» закрыто, то следует щелкнуть
по иконке

или выбрать в меню «вид» окно сообщения.
При отсутствии ошибок будет написано:
«Программа#1.tms compiled successfully», к примеру.
При наличии ошибки будет написано:
«Е0011 Синтаксическая ошибка», к примеру.

Рис. 12
Программа на языке Texno FBD

7.
Создание ST программы. Создайте объект
программа в группе каналы RTM узла.
Название программы можно изменить на
«обработка», к примеру. Установите
период пересчета равным 1 секунде.
Откройте программу двойным щелчком
левой клавиши мыши по созданному объекту
программы. В структуре программы выберите
аргументы. Создайте аргументы, которые
будут передавать в программу расход
продукта, стоимость продукта, период
пересчета каналов, а также аргументы,
которые будут возвращать из программы
суммарный расход продукта и суммарную
стоимость всего израсходованного
продукта (рис. 13).

Рис. 13
Аргументы программы на языке Texno ST

Выберите
строку глобальные переменные. Аналогично
созданию аргументов создайте глобальную
переменную, которая будет хранить
значение суммарного расхода, вычисленного
при предыдущем вызове программы, указав
начальное значение равным нулю (рис.
14).

Рис. 14
Глобальная переменная

Выделите
строку программа#. В открывшемся окне
наберите STпрограмму. При указанных выше
именах аргументов и глобальной переменной
текст программы примет вид, указанный
на рис. 15.

Рис. 15
Программа на языке Texno ST

Проверьте
программу, щелкнув левой клавишей мыши
по иконке
.
8. Запустите проект. Запустите проект,
аналогично предыдущим работам (см.
работу 1). Пример результата запуска
приведен на рис. 16

Рис. 16
Пример результата запуска проекта

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Лабораторная
работа №3

Тема:
Программирование
на языках
Texno ST и Texno FBD.

Цель
работы: познакомиться с языками
Texno ST и Texno FBD среды Trace Mode, реализовать
систему АСУ ТП с использованием
программной обработки.

Задание:

1. Взять за основу
проект, созданный при выполнении
второй
лабораторной
работы (статическое и динамическое
изображение), добавить каналы, которые
передают значение стоимости продукта,
расхода, суммарного расхода, суммарной
стоимости продукта, периода генерации
сигнала, удалить использовавшийся во
второй лабораторной работе генератор.
У всех каналов следует снять флаг
использовать на панели обработка при
редактировании канала.

2. Добавить, кнопки,
при нажатии на которые будет вводиться
стоимость продукта, период генерации
уровня продукта в емкости, расход,
объекты текст для отображения
суммарного расхода продукта, стоимости
израсходованного продукта, стоимости
продукта, периода генерации уровня
продукта в емкости, расхода и стоимости.

3. Добавить FBD
диаграмму, генерирующую уровень
продукта в емкости. Если период
генерации меньше 10, то программа
должна установить период равный 10.
Программа должна возвращать
отмасштабированный сигнал, то есть
значения должны изменяться в заданном
диапазоне.

4. Добавить программу
ST, которая проверяет значение стоимости
и расхода и производит расчеты. Если
значение стоимости или расхода меньше
1, то устанавливает соответствующий
параметр равным 1. Производит расчет
суммарного расхода продукта и суммарной
стоимости израсходованного продукта.

Примечания:

1. У всех каналов
и у программ должен быть установлен при
редактировании одинаковый период 1— 3
секунды.

2.
Вычислять суммарный расход следует по
формуле:

Суммарный_расход
= Предыдущий_расход+Расход*Период_Обработки,
где

Суммарный_расход
— аргумент программы возвращающий
значение суммарного расхода входному
значению канала, который передает
значение суммарного расхода;

Предыдущий_расход
— глобальная переменная, содержащая
значение суммарного расхода, вычисленное
при предыдущем вызове программы;

Период_Обработки
— аргумент привязанный к аргументу
период пересчета канала, который передает
значение расхода.

3. После
вычисления суммарного расхода следует
глобальной переменной Предыдущий_расход
присвоить вычисленное значение
Суммарный_Расход, суммарную стоимость
продукта вычислить как произведение
вычисленного значения суммарного
расхода на стоимость продукта.

Теория

Язык Texno ST

В алфавит
языка входят:

1. прописные и
строчные буквы латинского алфавита;

2. цифры;

3.
специальные знаки: + — * / < = > ! : & | ^

% ( ) [ ] , ; #.

Идентификаторы
могут состоять из прописных и строчных
букв латинского алфавита, знака
подчеркивания «_», цифр. Идентификаторы
не
чувствительны
к
регистру.

Для
данного
языка
характерны
ключевые
слова:
and, array, bool, break, by, byte, case, constant, continue, date,
date_and_time, dint, do, dt, dword, else, elsif, end_case, end_for,
end_function, end_function_block, end_if, end_program, end_repeat,
end_struct, end_type, end_var, end_while, exit, false, for, function,
function_block, goto, handle, if, int, lreal, mod, not, of, or,
program, real, repeat, return, rol, ror, shl, shr, sint, string,
struct, time, time_of_day, to, tod, true, type, udint, uint, until,
usint, var, var_arg, var_global, var_inout, var_input, var_output,
while, word, xor.

В качестве
разделителей используются лексемы: +
— * ** / < <= <> << > >= >> !
!= = == : := & | ^ ∼
% ( ) [ ] . .. , ;.

Строчный комментарий
начинается с «//» и продолжается до конца
строки. Блочный комментарий начинается
с «/*» и продолжается до «*/».

В данном языке
вводятся понятие выражения и предложения.

Выражение—
последовательность операндов, разделителей
и символьных операторов, задающая
вычисление без присвоения результата.

Предложение—
последовательность лексем, определяющая
выполнение логически законченного
промежуточного действия. Предложениями
являются присвоение переменной результата
каких-либо вычислений, вызов функции,
операторы.

В конце предложения
обязательно должен стоять символ «;».
Исключением является определение
переменной.

Программа на языке
Texno ST можно представить в виде структуры:

PROGRAM

{описание
аргументов}

{список предложений}

END_PROGRAM

Переменные можно
задать, заполняя таблицу аргументов,
локальных и глобальных переменных.
Переменные определяются в разделе
описания аргументов автоматически в
соответствии с заполненными таблицами
аргументов и переменных.

Язык Texno ST позволяет
создавать константы. Рассмотрим их
представление. Можно создать числовые
и строковые константы.

Целочисленная
десятичная константа начинается с
цифры, отличной от нуля, после которой
располагаются любые цифры. Можно привести
следующие примеры целочисленных
десятичных констант: 123, 350, 498.

Двоичная целочисленная
константа начинается с префикса «2#»,
после которого приводится двоичное
представление целого числа. Примеры:
2#1011, 2#0111, 2#1001.

Восьмеричные
целочисленные константы начинаются с
префикса «8#», после которого записывается
восьмеричное представление числа.
Примеры: 8#145, 8#0277, 8#756.

Шестнадцатеричные
целочисленные константы начинаются с
префикса «16#», после которого приводятся
шестнадцатеричные представления чисел.

При записи
шестнадцатеричного представления числа
можно использовать как строчные символы
a…f, так и прописные A… F. Примеры: 16#149,
16#A145E, 16#a145e.

Вещественная
константа состоит из целой и дробной
части. Допустимо наличие только
целочисленной или дробной части. Примеры:
.123, 0.456, 489. . Возможно представление в
формате с плавающей точкой (используется
префикс е или E с указанием порядка).
Примеры: 1.23E-6, 6.7504E4, 6.798e-5.

Частным случаем
числовой константы является временной
интервал, дата, время дня. Временной
интервал записывается в виде:
t#<дни>d<часы>h<минуты>m<секунды>s<миллисекунды>ms

Возможна также
запись в виде:

time#<дни>d<часы>h<минуты>m<секунды>s<миллисекунды>ms

Любая составляющая
в приведенных представлениях временного
интервала может быть опущена. Временной
интервал равной 2 часам, 31 минута, 25
секундам и 10 миллисекунд может быть
записан как

t#2h31m25s10ms
или
в
виде
time#2h31m25s10ms.

Дата записывается
в виде d#<год>-<месяц>-<день>,
возможна также запись в виде
date#<год>-<месяц>-<день>. 25 сентября
2001 года может быть записано в виде
d#2001-9-2001 или date#2001-9-2001.

Время дня можно
записать в формате tod#<час>:<минута>:<секунда>
или time_of_day#<час>:<минута>:<секунда>.
Время 19 часов 15 минут 42 секунды может
быть записано как tod#19:15:42, так и
time_of_day#19:15:42.

Константа «дата
и время» может быть записана как
dt#<год>-<месяц>-<день>-<час>:<минута>:<секунда>,
так и
date_and_time#<год>-<месяц>-<день>-<час>:<минута>:<секунда>.
К примеру, 12 февраля 1995 года 13 часов 47
минут и 13 секунд можно записать в виде
dt#1995-2-12-13:47:13 или date_and_time#1995-2-12-13:47:13.

Помимо числовых
констант часто используются строковые
константы, которые представляют собой
набор символов заключенных в одинарные
или двойные кавычки. Пример: “Первая
строка символов”, `Вторая строка
символов`. В строках не могут присутствовать
управляющие символы, кавычки и символ
$. Для размещения в строке произвольного
символа, включая управляющие, используется
механизм эскейп-последовательностей.

Данный механизм
позволяет разместить в строке следующие
последовательности:

$r— возврат каретки;

$n— перевод строки;

$t— табуляция;

$uХХХХ— UNICODE символ,
где ХХХХ— шестнадцатеричный символ;

$х— символ х («х»—
любой символ).

Рассмотрим
символьные операторы. Под символьными
операторами понимают знаки операций,
выполняемых над операндами. В качестве
операндов могут выступать:

1. имена констант;

2. имена переменных;

3. имена массивов
с указанием индекса отдельного элемента;

4. вызов
пользовательских функций;

5. вызов библиотечных
функций;

6. выражения,
заключенные в скобки;

7. имена элементов
структур.

Арифметические
операторы приведены в таблице 2.6,
побитовые— в таблице 2.7, операторы
сравнения— в таблице 2.8, логические—
в таблице 2.9.

Ход работы

1.
Создание проекта. Сохраните проект,
созданный при выполнении работы 2 под
новым именем. Удалите генератор,
привязанный к каналу Уровень. Выделите
объект экран и вызовите контекстное
меню. Выберите редактировать. В открывшемся
окне редактирования канала выберите
период равным 1, единицу измерения—
сек. Аналогично измените период пересчета
канала, который хранит уровень продукта
в емкости.

2.
Создание необходимых каналов. Добавьте
каналы хранящие значение стоимости
продукта, расхода продукта, периода
генерации. Для лучшего восприятия
назовем канал, хранящий стоимость
продукта как стоимость, хранящий расход
продукта— расход, период генерации—
период генерации. Установите тип каждого
канала— Input (см. работу 1). Добавьте
каналы, хранящие результаты вычислений:
суммарный расход продукта, суммарная
стоимость продукта. Для удобства
восприятия назовем канал, хранящий
суммарную стоимость продукта, как
суммарная стоимость, а суммарный расход
продукта— суммарный расход. Установите
тип указанных каналов— Intput. Для всех
каналов установим одинаковый период
пересчета значения. Для этого вызовите
окно редактирования для каждого канала.
В поле период установите необходимый
период пересчета 1 и единицу измерения—
секунду (сек).

3.
Создание кнопок для задания необходимых
параметров. Щелкните левой кнопкой мыши
по иконке
.
Если данной иконки нет панели инструментов,
то щелкните правой клавишей мыши по
одной из иконок:

или
.
Разместите кнопки на экране. Для этого
задайте противоположные углы кнопок
щелчком левой кнопки мыши (рис. 1). Для
каждой кнопки откройте окно свойств. В
поле текст введите назначение кнопки.
Так, для кнопки, которая устанавливает
период генерации можно ввести «Установить
период», устанавливает расход продукта—
«установить расход», устанавливает
стоимость продукта— «Установить
стоимость», к примеру. Перейдите на
закладку действия
.
Выделите строку mousePressed и вызовите
контекстное меню (рис. 2). Выберите в
появившемся контекстном меню строку
передать значение. В появившемся поле
тип передачи установите ввести и
передать. В поле результат произведите
привязку к входному значению канала,
которому будет передаваться вводимое
значение (пример настройки кнопки—
рис. 3). В результате привязки будут
созданы четыре аргумента в таблице окна
свойств привязки (рис. 4).

Рис. 1
Размещение кнопок

Рис. 2 Создание
события

Рис. 3 Настройка
события

Рис. 4 Атрибуты для
ввода данных

4.
Создание объектов текст. Для вывода
значений, хранимых в ряде каналов,
создайте объекты текст. Пример создания
объектов текст изображен на рис. 5.
Объекты текст, расположенные слева,
выводят подсказку (где какой параметр
выведен), а справа — значения, хранимые
каналами. Привязку объектов текст,
расположенных в правом столбце,
производите к реальным значениям
соответствующих каналов. Для привязки,
при необходимости, создайте дополнительные
аргументы, как показано на рис. 6.

Рис. 5
Создание объектов текст

Рис. 6
Атрибуты экрана

5. Произведите
расчет множителя K и смещения С.

Масштабирование
сигнала в FBD программе будет производиться
по формуле:

Y = K·X + C, где

Y— результат
преобразования;

Х— входное значение
канала;

К— множитель;

C— смещение.

FBD блоки,
производящие генерацию сигнала возвращают
сигнал, изменяющийся в диапазоне [-1;
+1]. Найдите значение множителя K и смещения
Z, которые позволят получить требуемый
диапазон изменения результата
преобразования (диапазон сигнала).

Пример: необходимо
обеспечить диапазон сигнала [0; 1].
Множитель К составит 0,5, смещение Z—
0,5.

6.
Создание FBD диаграммы. Выделите группу
каналы RTM узла и вызовите контекстное
меню. В появившемся меню выберите создать
компонент. Среди предложенных вариантов
выберите программа (рис. 7). Выделив
созданную программу и, щелкнув левой
клавишей мыши, можете изменить имя
программы, например, на «синусоида».

Выделите
созданный объект-программу и вызовите
контекстное меню. В появившемся меню
выберите редактировать. Откроется окно,
аналогичное редактированию канала
float. В поле период выберите 1, выберите
единицу измерения— секунду (сек). После
настройки периода пересчета окно
редактирования канала можно закрыть.
Двойным щелчком левой клавиши мыши по
созданной программе или вызвав контекстное
меню и выбрав строчку редактировать
шаблон, вызовите окно для создания (или
редактирования) программы. Откроется
окно, представленное на рис. 8.

Рис. 7
Создание объекта программа

В
структуре программы выделите строчку
аргументы. Заполните появившуюся
таблицу. Каждая строка— аргумент
программы. Установите тип In для аргументов,
которые будут передавать данные в
программу, Out — которые будут передавать
данные из программы, In/Out — которые будут
передавать в программу и из нее. Пример
создания аргументов программы для
генерирования синусоидального сигнала
приведен на рис. 9.

Рис. 8
Окно редактирования шаблона программы

Рис. 9
Атрибуты программы на языке Texno FBD

Выделите
строку программа# в структуре программы.
Среди предложенных языков программирования
выберите FBD диаграмму (рис. 10).

Рис. 10
Выбор языка

Щелкните
левой клавишей мыши по иконке или
выберите строку палитра FBD блоков в меню
вид, если палитра FBD блоков (рис. 11) не
открыта.

Рис. 11
Окно выбора FBD блоков

Перейдите
на закладку сравнение. Нажмите левую
клавишу мыши на блоке больше или равно.
Переместите его на рабочее поле и
отпустите клавишу мыши. Аналогично
разместите на рабочем поле FBD блоки
(рис. 12): выбор из двух (закладка выбор),
синусоидальный сигнал (закладка),
масштабирование (закладка арифметические).

Произведите
привязку блоков между собой. Для привязки
выхода одного блока к входу другого
наведите курсор мыши на соответствующий
выход (вход) и нажмите левую клавишу
мыши. Не отпуская левой клавиши мыши,
наведите курсор на необходимый вход
(выход) и отпустите левую клавишу мыши.
Для привязки аргумента программы к
соответствующему входу(выходу) выделите
соответствующий вход (выход) и вызовите
контекстное меню. В появившемся меню
выберите привязать. Среди предлагаемых
аргументов выберите необходимый (рис.
12). Для создания константы выберите
вход, вызовите контекстное меню и
выберите привязать. В появившемся поле
вместо выбора аргумента программы
введите константу. На вход IN2 блока
больше или равно и IN0 блока выбора из
двух следует подавать константу 10,
согласно заданию. Вход IN2 блока больше
или равно и IN0 блока выбора из двух
следует привязать к аргументу, который
передает период генерации в программу.
Вычисленные ранее значения констант K
и С следует подать на соответствующие
входы блока масштабирование. Программа,
генерирующая сигнал, изменяющийся в
диапазоне от [0;1] примет вид, изображенный
на рис. 12. После создание программы
проверьте ее. Для этого щелкните левой
клавишей мыши по иконке «компиляция»
.
В окне «сообщения» будет выведен
результат компиляции. Если окно
«сообщения» закрыто, то следует щелкнуть
по иконке

или выбрать в меню «вид» окно сообщения.
При отсутствии ошибок будет написано:
«Программа#1.tms compiled successfully», к примеру.
При наличии ошибки будет написано:
«Е0011 Синтаксическая ошибка», к примеру.

Рис. 12
Программа на языке Texno FBD

7.
Создание ST программы. Создайте объект
программа в группе каналы RTM узла.
Название программы можно изменить на
«обработка», к примеру. Установите
период пересчета равным 1 секунде.
Откройте программу двойным щелчком
левой клавиши мыши по созданному объекту
программы. В структуре программы выберите
аргументы. Создайте аргументы, которые
будут передавать в программу расход
продукта, стоимость продукта, период
пересчета каналов, а также аргументы,
которые будут возвращать из программы
суммарный расход продукта и суммарную
стоимость всего израсходованного
продукта (рис. 13).

Рис. 13
Аргументы программы на языке Texno ST

Выберите
строку глобальные переменные. Аналогично
созданию аргументов создайте глобальную
переменную, которая будет хранить
значение суммарного расхода, вычисленного
при предыдущем вызове программы, указав
начальное значение равным нулю (рис.
14).

Рис. 14
Глобальная переменная

Выделите
строку программа#. В открывшемся окне
наберите STпрограмму. При указанных выше
именах аргументов и глобальной переменной
текст программы примет вид, указанный
на рис. 15.

Рис. 15
Программа на языке Texno ST

Проверьте
программу, щелкнув левой клавишей мыши
по иконке
.
8. Запустите проект. Запустите проект,
аналогично предыдущим работам (см.
работу 1). Пример результата запуска
приведен на рис. 16

Рис. 16
Пример результата запуска проекта

Лабораторная
работа №3

Тема:
Программирование
на языках
Texno ST и Texno FBD.

Цель
работы: познакомиться с языками
Texno ST и Texno FBD среды Trace Mode, реализовать
систему АСУ ТП с использованием
программной обработки.

Задание:

1. Взять за основу
проект, созданный при выполнении
второй
лабораторной
работы (статическое и динамическое
изображение), добавить каналы, которые
передают значение стоимости продукта,
расхода, суммарного расхода, суммарной
стоимости продукта, периода генерации
сигнала, удалить использовавшийся во
второй лабораторной работе генератор.
У всех каналов следует снять флаг
использовать на панели обработка при
редактировании канала.

2. Добавить, кнопки,
при нажатии на которые будет вводиться
стоимость продукта, период генерации
уровня продукта в емкости, расход,
объекты текст для отображения
суммарного расхода продукта, стоимости
израсходованного продукта, стоимости
продукта, периода генерации уровня
продукта в емкости, расхода и стоимости.

3. Добавить FBD
диаграмму, генерирующую уровень
продукта в емкости. Если период
генерации меньше 10, то программа
должна установить период равный 10.
Программа должна возвращать
отмасштабированный сигнал, то есть
значения должны изменяться в заданном
диапазоне.

4. Добавить программу
ST, которая проверяет значение стоимости
и расхода и производит расчеты. Если
значение стоимости или расхода меньше
1, то устанавливает соответствующий
параметр равным 1. Производит расчет
суммарного расхода продукта и суммарной
стоимости израсходованного продукта.

Примечания:

1. У всех каналов
и у программ должен быть установлен при
редактировании одинаковый период 1— 3
секунды.

2.
Вычислять суммарный расход следует по
формуле:

Суммарный_расход
= Предыдущий_расход+Расход*Период_Обработки,
где

Суммарный_расход
— аргумент программы возвращающий
значение суммарного расхода входному
значению канала, который передает
значение суммарного расхода;

Предыдущий_расход
— глобальная переменная, содержащая
значение суммарного расхода, вычисленное
при предыдущем вызове программы;

Период_Обработки
— аргумент привязанный к аргументу
период пересчета канала, который передает
значение расхода.

3. После
вычисления суммарного расхода следует
глобальной переменной Предыдущий_расход
присвоить вычисленное значение
Суммарный_Расход, суммарную стоимость
продукта вычислить как произведение
вычисленного значения суммарного
расхода на стоимость продукта.

Теория

Язык Texno ST

В алфавит
языка входят:

1. прописные и
строчные буквы латинского алфавита;

2. цифры;

3.
специальные знаки: + — * / < = > ! : & | ^

% ( ) [ ] , ; #.

Идентификаторы
могут состоять из прописных и строчных
букв латинского алфавита, знака
подчеркивания «_», цифр. Идентификаторы
не
чувствительны
к
регистру.

Для
данного
языка
характерны
ключевые
слова:
and, array, bool, break, by, byte, case, constant, continue, date,
date_and_time, dint, do, dt, dword, else, elsif, end_case, end_for,
end_function, end_function_block, end_if, end_program, end_repeat,
end_struct, end_type, end_var, end_while, exit, false, for, function,
function_block, goto, handle, if, int, lreal, mod, not, of, or,
program, real, repeat, return, rol, ror, shl, shr, sint, string,
struct, time, time_of_day, to, tod, true, type, udint, uint, until,
usint, var, var_arg, var_global, var_inout, var_input, var_output,
while, word, xor.

В качестве
разделителей используются лексемы: +
— * ** / < <= <> << > >= >> !
!= = == : := & | ^ ∼
% ( ) [ ] . .. , ;.

Строчный комментарий
начинается с «//» и продолжается до конца
строки. Блочный комментарий начинается
с «/*» и продолжается до «*/».

В данном языке
вводятся понятие выражения и предложения.

Выражение—
последовательность операндов, разделителей
и символьных операторов, задающая
вычисление без присвоения результата.

Предложение—
последовательность лексем, определяющая
выполнение логически законченного
промежуточного действия. Предложениями
являются присвоение переменной результата
каких-либо вычислений, вызов функции,
операторы.

В конце предложения
обязательно должен стоять символ «;».
Исключением является определение
переменной.

Программа на языке
Texno ST можно представить в виде структуры:

PROGRAM

{описание
аргументов}

{список предложений}

END_PROGRAM

Переменные можно
задать, заполняя таблицу аргументов,
локальных и глобальных переменных.
Переменные определяются в разделе
описания аргументов автоматически в
соответствии с заполненными таблицами
аргументов и переменных.

Язык Texno ST позволяет
создавать константы. Рассмотрим их
представление. Можно создать числовые
и строковые константы.

Целочисленная
десятичная константа начинается с
цифры, отличной от нуля, после которой
располагаются любые цифры. Можно привести
следующие примеры целочисленных
десятичных констант: 123, 350, 498.

Двоичная целочисленная
константа начинается с префикса «2#»,
после которого приводится двоичное
представление целого числа. Примеры:
2#1011, 2#0111, 2#1001.

Восьмеричные
целочисленные константы начинаются с
префикса «8#», после которого записывается
восьмеричное представление числа.
Примеры: 8#145, 8#0277, 8#756.

Шестнадцатеричные
целочисленные константы начинаются с
префикса «16#», после которого приводятся
шестнадцатеричные представления чисел.

При записи
шестнадцатеричного представления числа
можно использовать как строчные символы
a…f, так и прописные A… F. Примеры: 16#149,
16#A145E, 16#a145e.

Вещественная
константа состоит из целой и дробной
части. Допустимо наличие только
целочисленной или дробной части. Примеры:
.123, 0.456, 489. . Возможно представление в
формате с плавающей точкой (используется
префикс е или E с указанием порядка).
Примеры: 1.23E-6, 6.7504E4, 6.798e-5.

Частным случаем
числовой константы является временной
интервал, дата, время дня. Временной
интервал записывается в виде:
t#<дни>d<часы>h<минуты>m<секунды>s<миллисекунды>ms

Возможна также
запись в виде:

time#<дни>d<часы>h<минуты>m<секунды>s<миллисекунды>ms

Любая составляющая
в приведенных представлениях временного
интервала может быть опущена. Временной
интервал равной 2 часам, 31 минута, 25
секундам и 10 миллисекунд может быть
записан как

t#2h31m25s10ms
или
в
виде
time#2h31m25s10ms.

Дата записывается
в виде d#<год>-<месяц>-<день>,
возможна также запись в виде
date#<год>-<месяц>-<день>. 25 сентября
2001 года может быть записано в виде
d#2001-9-2001 или date#2001-9-2001.

Время дня можно
записать в формате tod#<час>:<минута>:<секунда>
или time_of_day#<час>:<минута>:<секунда>.
Время 19 часов 15 минут 42 секунды может
быть записано как tod#19:15:42, так и
time_of_day#19:15:42.

Константа «дата
и время» может быть записана как
dt#<год>-<месяц>-<день>-<час>:<минута>:<секунда>,
так и
date_and_time#<год>-<месяц>-<день>-<час>:<минута>:<секунда>.
К примеру, 12 февраля 1995 года 13 часов 47
минут и 13 секунд можно записать в виде
dt#1995-2-12-13:47:13 или date_and_time#1995-2-12-13:47:13.

Помимо числовых
констант часто используются строковые
константы, которые представляют собой
набор символов заключенных в одинарные
или двойные кавычки. Пример: “Первая
строка символов”, `Вторая строка
символов`. В строках не могут присутствовать
управляющие символы, кавычки и символ
$. Для размещения в строке произвольного
символа, включая управляющие, используется
механизм эскейп-последовательностей.

Данный механизм
позволяет разместить в строке следующие
последовательности:

$r— возврат каретки;

$n— перевод строки;

$t— табуляция;

$uХХХХ— UNICODE символ,
где ХХХХ— шестнадцатеричный символ;

$х— символ х («х»—
любой символ).

Рассмотрим
символьные операторы. Под символьными
операторами понимают знаки операций,
выполняемых над операндами. В качестве
операндов могут выступать:

1. имена констант;

2. имена переменных;

3. имена массивов
с указанием индекса отдельного элемента;

4. вызов
пользовательских функций;

5. вызов библиотечных
функций;

6. выражения,
заключенные в скобки;

7. имена элементов
структур.

Арифметические
операторы приведены в таблице 2.6,
побитовые— в таблице 2.7, операторы
сравнения— в таблице 2.8, логические—
в таблице 2.9.

Ход работы

1.
Создание проекта. Сохраните проект,
созданный при выполнении работы 2 под
новым именем. Удалите генератор,
привязанный к каналу Уровень. Выделите
объект экран и вызовите контекстное
меню. Выберите редактировать. В открывшемся
окне редактирования канала выберите
период равным 1, единицу измерения—
сек. Аналогично измените период пересчета
канала, который хранит уровень продукта
в емкости.

2.
Создание необходимых каналов. Добавьте
каналы хранящие значение стоимости
продукта, расхода продукта, периода
генерации. Для лучшего восприятия
назовем канал, хранящий стоимость
продукта как стоимость, хранящий расход
продукта— расход, период генерации—
период генерации. Установите тип каждого
канала— Input (см. работу 1). Добавьте
каналы, хранящие результаты вычислений:
суммарный расход продукта, суммарная
стоимость продукта. Для удобства
восприятия назовем канал, хранящий
суммарную стоимость продукта, как
суммарная стоимость, а суммарный расход
продукта— суммарный расход. Установите
тип указанных каналов— Intput. Для всех
каналов установим одинаковый период
пересчета значения. Для этого вызовите
окно редактирования для каждого канала.
В поле период установите необходимый
период пересчета 1 и единицу измерения—
секунду (сек).

3.
Создание кнопок для задания необходимых
параметров. Щелкните левой кнопкой мыши
по иконке
.
Если данной иконки нет панели инструментов,
то щелкните правой клавишей мыши по
одной из иконок:

или
.
Разместите кнопки на экране. Для этого
задайте противоположные углы кнопок
щелчком левой кнопки мыши (рис. 1). Для
каждой кнопки откройте окно свойств. В
поле текст введите назначение кнопки.
Так, для кнопки, которая устанавливает
период генерации можно ввести «Установить
период», устанавливает расход продукта—
«установить расход», устанавливает
стоимость продукта— «Установить
стоимость», к примеру. Перейдите на
закладку действия
.
Выделите строку mousePressed и вызовите
контекстное меню (рис. 2). Выберите в
появившемся контекстном меню строку
передать значение. В появившемся поле
тип передачи установите ввести и
передать. В поле результат произведите
привязку к входному значению канала,
которому будет передаваться вводимое
значение (пример настройки кнопки—
рис. 3). В результате привязки будут
созданы четыре аргумента в таблице окна
свойств привязки (рис. 4).

Рис. 1
Размещение кнопок

Рис. 2 Создание
события

Рис. 3 Настройка
события

Рис. 4 Атрибуты для
ввода данных

4.
Создание объектов текст. Для вывода
значений, хранимых в ряде каналов,
создайте объекты текст. Пример создания
объектов текст изображен на рис. 5.
Объекты текст, расположенные слева,
выводят подсказку (где какой параметр
выведен), а справа — значения, хранимые
каналами. Привязку объектов текст,
расположенных в правом столбце,
производите к реальным значениям
соответствующих каналов. Для привязки,
при необходимости, создайте дополнительные
аргументы, как показано на рис. 6.

Рис. 5
Создание объектов текст

Рис. 6
Атрибуты экрана

5. Произведите
расчет множителя K и смещения С.

Масштабирование
сигнала в FBD программе будет производиться
по формуле:

Y = K·X + C, где

Y— результат
преобразования;

Х— входное значение
канала;

К— множитель;

C— смещение.

FBD блоки,
производящие генерацию сигнала возвращают
сигнал, изменяющийся в диапазоне [-1;
+1]. Найдите значение множителя K и смещения
Z, которые позволят получить требуемый
диапазон изменения результата
преобразования (диапазон сигнала).

Пример: необходимо
обеспечить диапазон сигнала [0; 1].
Множитель К составит 0,5, смещение Z—
0,5.

6.
Создание FBD диаграммы. Выделите группу
каналы RTM узла и вызовите контекстное
меню. В появившемся меню выберите создать
компонент. Среди предложенных вариантов
выберите программа (рис. 7). Выделив
созданную программу и, щелкнув левой
клавишей мыши, можете изменить имя
программы, например, на «синусоида».

Выделите
созданный объект-программу и вызовите
контекстное меню. В появившемся меню
выберите редактировать. Откроется окно,
аналогичное редактированию канала
float. В поле период выберите 1, выберите
единицу измерения— секунду (сек). После
настройки периода пересчета окно
редактирования канала можно закрыть.
Двойным щелчком левой клавиши мыши по
созданной программе или вызвав контекстное
меню и выбрав строчку редактировать
шаблон, вызовите окно для создания (или
редактирования) программы. Откроется
окно, представленное на рис. 8.

Рис. 7
Создание объекта программа

В
структуре программы выделите строчку
аргументы. Заполните появившуюся
таблицу. Каждая строка— аргумент
программы. Установите тип In для аргументов,
которые будут передавать данные в
программу, Out — которые будут передавать
данные из программы, In/Out — которые будут
передавать в программу и из нее. Пример
создания аргументов программы для
генерирования синусоидального сигнала
приведен на рис. 9.

Рис. 8
Окно редактирования шаблона программы

Рис. 9
Атрибуты программы на языке Texno FBD

Выделите
строку программа# в структуре программы.
Среди предложенных языков программирования
выберите FBD диаграмму (рис. 10).

Рис. 10
Выбор языка

Щелкните
левой клавишей мыши по иконке или
выберите строку палитра FBD блоков в меню
вид, если палитра FBD блоков (рис. 11) не
открыта.

Рис. 11
Окно выбора FBD блоков

Перейдите
на закладку сравнение. Нажмите левую
клавишу мыши на блоке больше или равно.
Переместите его на рабочее поле и
отпустите клавишу мыши. Аналогично
разместите на рабочем поле FBD блоки
(рис. 12): выбор из двух (закладка выбор),
синусоидальный сигнал (закладка),
масштабирование (закладка арифметические).

Произведите
привязку блоков между собой. Для привязки
выхода одного блока к входу другого
наведите курсор мыши на соответствующий
выход (вход) и нажмите левую клавишу
мыши. Не отпуская левой клавиши мыши,
наведите курсор на необходимый вход
(выход) и отпустите левую клавишу мыши.
Для привязки аргумента программы к
соответствующему входу(выходу) выделите
соответствующий вход (выход) и вызовите
контекстное меню. В появившемся меню
выберите привязать. Среди предлагаемых
аргументов выберите необходимый (рис.
12). Для создания константы выберите
вход, вызовите контекстное меню и
выберите привязать. В появившемся поле
вместо выбора аргумента программы
введите константу. На вход IN2 блока
больше или равно и IN0 блока выбора из
двух следует подавать константу 10,
согласно заданию. Вход IN2 блока больше
или равно и IN0 блока выбора из двух
следует привязать к аргументу, который
передает период генерации в программу.
Вычисленные ранее значения констант K
и С следует подать на соответствующие
входы блока масштабирование. Программа,
генерирующая сигнал, изменяющийся в
диапазоне от [0;1] примет вид, изображенный
на рис. 12. После создание программы
проверьте ее. Для этого щелкните левой
клавишей мыши по иконке «компиляция»
.
В окне «сообщения» будет выведен
результат компиляции. Если окно
«сообщения» закрыто, то следует щелкнуть
по иконке

или выбрать в меню «вид» окно сообщения.
При отсутствии ошибок будет написано:
«Программа#1.tms compiled successfully», к примеру.
При наличии ошибки будет написано:
«Е0011 Синтаксическая ошибка», к примеру.

Рис. 12
Программа на языке Texno FBD

7.
Создание ST программы. Создайте объект
программа в группе каналы RTM узла.
Название программы можно изменить на
«обработка», к примеру. Установите
период пересчета равным 1 секунде.
Откройте программу двойным щелчком
левой клавиши мыши по созданному объекту
программы. В структуре программы выберите
аргументы. Создайте аргументы, которые
будут передавать в программу расход
продукта, стоимость продукта, период
пересчета каналов, а также аргументы,
которые будут возвращать из программы
суммарный расход продукта и суммарную
стоимость всего израсходованного
продукта (рис. 13).

Рис. 13
Аргументы программы на языке Texno ST

Выберите
строку глобальные переменные. Аналогично
созданию аргументов создайте глобальную
переменную, которая будет хранить
значение суммарного расхода, вычисленного
при предыдущем вызове программы, указав
начальное значение равным нулю (рис.
14).

Рис. 14
Глобальная переменная

Выделите
строку программа#. В открывшемся окне
наберите STпрограмму. При указанных выше
именах аргументов и глобальной переменной
текст программы примет вид, указанный
на рис. 15.

Рис. 15
Программа на языке Texno ST

Проверьте
программу, щелкнув левой клавишей мыши
по иконке
.
8. Запустите проект. Запустите проект,
аналогично предыдущим работам (см.
работу 1). Пример результата запуска
приведен на рис. 16

Рис. 16
Пример результата запуска проекта

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  1. Обязательно представиться на русском языке кириллицей (заполнить поле «Имя»).
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему — вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома — бан без предупреждения.
  5. Рекламу и частные объявления «куплю/продам/есть халтура» мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать — читать здесь и здесь.

RinatFat

здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 18 янв 2013, 08:16
Имя: Фаттахов Ринат Булатович
Страна: Россия
город/регион: ЯНАО


нужна помощь по TraceMode

Сообщение

RinatFat » 21 янв 2013, 07:24

Доброго времени суток. Только начинаю работать со SCADA и еще не во всем разбираюсь. Стоит задача в имеющейся системе написанной на TraceMode6 сделать архивные тренды по всем параметрам. Данные берутся с ОРС-сервера. Когда делаются тренды реального времени то привязка происходит непосредственно к нужному каналу. А в случае с архивными трендами к чему делать привязку? и если можно напишите порядок действий создания архивного тренда) Заранее спасибо))

RinatFat

здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 18 янв 2013, 08:16
Имя: Фаттахов Ринат Булатович
Страна: Россия
город/регион: ЯНАО

Re: нужна помощь по TraceMode

Сообщение

RinatFat » 21 янв 2013, 07:32

забыл написать… нужно чтоб архивные тренды показывали последнюю неделю

RinatFat

здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 18 янв 2013, 08:16
Имя: Фаттахов Ринат Булатович
Страна: Россия
город/регион: ЯНАО

Re: нужна помощь по TraceMode

Сообщение

RinatFat » 21 янв 2013, 20:53

Благодарю) скачал. завтра на работе попробую. а еще ссылки на подобные видео имеются?

Аватара пользователя

doza

завсегдатай
завсегдатай
Сообщения: 521
Зарегистрирован: 05 ноя 2012, 07:38
Имя: Дозморов Владимир Владимирович
Страна: Россия
город/регион: Северск
Благодарил (а): 1 раз
Поблагодарили: 14 раз

Re: нужна помощь по TraceMode

Сообщение

doza » 21 янв 2013, 22:58

это из собственного архива когда учился там и скачал а так на ютубе есть немного

Чебурашку видишь???? я тоже не вижу, а он есть.

Romcheg

SCADA+
SCADA+
Сообщения: 582
Зарегистрирован: 05 ноя 2009, 11:18
Имя: Бузинов Роман Анатольевич
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 30 раз

Re: нужна помощь по TraceMode

Сообщение

Romcheg » 22 янв 2013, 04:15

Для начала надо определиться — а поддерживает ли Ваш рантайм ТМ архивы? У них не все рантаймы поддерживают архивацию. Смотрите спецификацию того МРВ, который стоит в Вашей системе.

SCADA+

RinatFat

здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 18 янв 2013, 08:16
Имя: Фаттахов Ринат Булатович
Страна: Россия
город/регион: ЯНАО

RinatFat

здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 18 янв 2013, 08:16
Имя: Фаттахов Ринат Булатович
Страна: Россия
город/регион: ЯНАО

Re: нужна помощь по TraceMode

Сообщение

RinatFat » 22 янв 2013, 21:23

doza, а сколько копий архива в рассмотренном на видео примере будет создаваться? пока не закончится свободное место на жестком диске?

Аватара пользователя

doza

завсегдатай
завсегдатай
Сообщения: 521
Зарегистрирован: 05 ноя 2012, 07:38
Имя: Дозморов Владимир Владимирович
Страна: Россия
город/регион: Северск
Благодарил (а): 1 раз
Поблагодарили: 14 раз

Re: нужна помощь по TraceMode

Сообщение

doza » 22 янв 2013, 22:58

Программа обучения из 10 из которой 1 день посвящен архивированию в ТМ, вы хотите чтоб я вам все расписал, если коротко архивированием должен заниматься сервер или контроллер в котором предусмотрено втыкания флешки, в ТМ есть 3 вида архива, все зависит от компа скок каналов в архив и каким циклом запись, самой скаде не нужно архивирование и это правильно, но если вы забиваете тренд коих 2шт происходит резервирование оперативной памяти, все высчитывать надо, если у вас 1 тренд 20 каналов с записью 1с то вам и мудрить ничего не надо 1 файл будет перезаписываться постоянно, вполне его на неделю хватит.
А проще пройти обучение 80т.р. (обучение+ гостиница), самоучкой как-то сложновато там столько нюансов.

Чебурашку видишь???? я тоже не вижу, а он есть.

RinatFat

здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 18 янв 2013, 08:16
Имя: Фаттахов Ринат Булатович
Страна: Россия
город/регион: ЯНАО

Re: нужна помощь по TraceMode

Сообщение

RinatFat » 23 янв 2013, 15:32

doza, ясн. спасибо за видео) вроде разобрался. Теперь другая делема. Как сделать чтобы .dbb файл запускался с ярлыка на рабочем столе сразу в полноэранном режиме, без меню и автоматическим запуском проекта? пробывал в свойствах ярлыка прописать /fullscreen /hidemenu /run. никакого эффекта.(((

Аватара пользователя

doza

завсегдатай
завсегдатай
Сообщения: 521
Зарегистрирован: 05 ноя 2012, 07:38
Имя: Дозморов Владимир Владимирович
Страна: Россия
город/регион: Северск
Благодарил (а): 1 раз
Поблагодарили: 14 раз

Re: нужна помощь по TraceMode

Сообщение

doza » 24 янв 2013, 13:33

файл *.dbb нужен для мрв, для запуска профайлера нужен файл rtc.exe, где можете загрузить свой *.dbb или сделайте привязку в виндос открывать файл *.dbb с помощью rtc.exe, а там просто сбросьте ярлык на рабочий стол.

dbb.JPG

если вам нужен оперативно отчет создайте в узле ртм компонент документ, спрессуйте там что хотите.

??? Поделитесь как вы защищаете компьютер от оператора.

У вас нет необходимых прав для просмотра вложений в этом сообщении.

Чебурашку видишь???? я тоже не вижу, а он есть.

RinatFat

здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 18 янв 2013, 08:16
Имя: Фаттахов Ринат Булатович
Страна: Россия
город/регион: ЯНАО

Re: нужна помощь по TraceMode

Сообщение

RinatFat » 25 янв 2013, 06:50

doza, благодарю. все получилось. защиты никакой нет. на мнемосхеме только отображаются параметры установки и тренды пишутся. управления с компьютера не производится)

VaBo

частый гость
частый гость
Сообщения: 402
Зарегистрирован: 21 июл 2013, 19:32
Имя: Вадим
город/регион: Северодвинск
Благодарил (а): 8 раз
Поблагодарили: 29 раз

Re: нужна помощь по TraceMode

Сообщение

VaBo » 22 июл 2013, 08:08

Подниму подустаревшую тему про архивы вопросом новичка в ТМ…

Вопрос в следующем: есть несколько входных каналов FLOAT, данные с которых суммируются в ST-программе и также выводятся на экран. Но не могу записать просуммированные данные в СПАД. Данные с входных каналов пишутся без проблем.
И похожая ситуация, — забираю по MODBUS слово состояния устройства UINT, обрабатываю также ST-программой, затем визуализирую, но записать опять же не могу.
Как решается проблема, м.б. создавать промежуточные каналы между программой ST и экраном? Какие каналы? Или как-то по другому можно?

Аватара пользователя

doza

завсегдатай
завсегдатай
Сообщения: 521
Зарегистрирован: 05 ноя 2012, 07:38
Имя: Дозморов Владимир Владимирович
Страна: Россия
город/регион: Северск
Благодарил (а): 1 раз
Поблагодарили: 14 раз

Re: нужна помощь по TraceMode

Сообщение

doza » 22 июл 2013, 22:25

Я так понимаю вы вы впихали в ст там-же создали независимый аргумент в который запихали значение в аргументы экрана, создаете свободный канал флоат запихиваете в программу типом ин/аут утверждаете на нем нужное значение и все сам канал в архив спад.
Пример в базовой версии тм6

привязка.7z

У вас нет необходимых прав для просмотра вложений в этом сообщении.

Чебурашку видишь???? я тоже не вижу, а он есть.

Аватара пользователя

doza

завсегдатай
завсегдатай
Сообщения: 521
Зарегистрирован: 05 ноя 2012, 07:38
Имя: Дозморов Владимир Владимирович
Страна: Россия
город/регион: Северск
Благодарил (а): 1 раз
Поблагодарили: 14 раз

Re: нужна помощь по TraceMode

Сообщение

doza » 23 июл 2013, 12:31

Чебурашку видишь???? я тоже не вижу, а он есть.

VaBo

частый гость
частый гость
Сообщения: 402
Зарегистрирован: 21 июл 2013, 19:32
Имя: Вадим
город/регион: Северодвинск
Благодарил (а): 8 раз
Поблагодарили: 29 раз

Re: нужна помощь по TraceMode

Сообщение

VaBo » 23 июл 2013, 19:33

ОК, установил, слегка переделал вашу заготовку (зациклил счетчик в ST, разрешил в св-вах проекта СПАД1, поместил на экран архивный и реальный тренды).
Реальный работает, архивный — нет.
Что не так, объясните пожалуйста…

У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

doza

завсегдатай
завсегдатай
Сообщения: 521
Зарегистрирован: 05 ноя 2012, 07:38
Имя: Дозморов Владимир Владимирович
Страна: Россия
город/регион: Северск
Благодарил (а): 1 раз
Поблагодарили: 14 раз

Re: нужна помощь по TraceMode

Сообщение

doza » 24 июл 2013, 22:43

Чего-то в базовой версии с архивным трендом не получается, думал в про проверить на работе, ключ не дают, опробуйте все тоже самое в свей ТМ6.06 pro.

Чебурашку видишь???? я тоже не вижу, а он есть.

VaBo

частый гость
частый гость
Сообщения: 402
Зарегистрирован: 21 июл 2013, 19:32
Имя: Вадим
город/регион: Северодвинск
Благодарил (а): 8 раз
Поблагодарили: 29 раз

Re: нужна помощь по TraceMode

Сообщение

VaBo » 25 июл 2013, 10:09

Создал в ПРО-версии свой тест-проектик с использованием генераторов, вы знаете, архивирует!
Сейчас буду пробовать с дискретными сигналами…

У вас нет необходимых прав для просмотра вложений в этом сообщении.

lsr

здесь недавно
здесь недавно
Сообщения: 29
Зарегистрирован: 25 дек 2013, 14:19
Имя: Станислав
Страна: Россия

Re: нужна помощь по TraceMode

Сообщение

lsr » 24 янв 2014, 15:03

Коллеги, доброго времени суток!
Подскажите пожалуйста в чем может быть проблема:
Эмулятор codesys 2.3 и Trace mode.
Передача данных с эмулятора в тм по OPC без проблем, данные отслеживаю в матриконе. Обратное направление не работает (простой ввод значения и передача по OPC). Настройки переменной output, opc на output.
Может что элементарное упускаю?
Спасибо!

evgon18

новенький
новенький
Сообщения: 1
Зарегистрирован: 21 май 2014, 16:53
Имя: Кашин Евгений Михайлович
Страна: Россия

Re: нужна помощь по TraceMode

Сообщение

evgon18 » 21 май 2014, 17:01

Здравствуйте. Помогите кто может. Задача простейшая
Задача: создать пульт оператора на котором должен быть текстовый индикатор и 2 элемента управления «пуск» и «стоп».
При нажатии на кнопку «пуск» индикатор должен подсветиться зеленым и значение индикатора увелисится на еденицу.
При нажатии на кнопку «стоп» индикатор должен подсветиться красным а его значение не должно измениться.

P.S. сделал, только не получается подсветить красным при нажатии на стоп.
файл проекта: https://www.dropbox.com/s/inxo1db0p1mtfps/1.prj

Аватара пользователя

doza

завсегдатай
завсегдатай
Сообщения: 521
Зарегистрирован: 05 ноя 2012, 07:38
Имя: Дозморов Владимир Владимирович
Страна: Россия
город/регион: Северск
Благодарил (а): 1 раз
Поблагодарили: 14 раз

Re: нужна помощь по TraceMode

Сообщение

doza » 21 май 2014, 20:08

Пусть меняется, а все ваши хотелки в программе реализуйте, зачем кнопку мучить она не предназначена для этого.

Чебурашку видишь???? я тоже не вижу, а он есть.

lsr

здесь недавно
здесь недавно
Сообщения: 29
Зарегистрирован: 25 дек 2013, 14:19
Имя: Станислав
Страна: Россия

Re: нужна помощь по TraceMode

Сообщение

lsr » 06 авг 2014, 06:46

Добрый день, нужно по событию выводить всплывающее окно. Как это реализуется?

Romcheg

SCADA+
SCADA+
Сообщения: 582
Зарегистрирован: 05 ноя 2009, 11:18
Имя: Бузинов Роман Анатольевич
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 30 раз

Re: нужна помощь по TraceMode

Сообщение

Romcheg » 06 авг 2014, 10:22

А версия-то какая? Если 5-я, то никак, насколько я помню. В 6-й экран в окне делаете и управляете через канал его вызова в зависимости от события.

SCADA+

Вернуться в «Верхний уровень автоматизации (отображение)»


Перейти

  • Работа форума
  • База знаний (Knowledge Exchange)
  • ↳   Eplan Electric P8
  • ↳   Общий F.A.Q.
  • ↳   Общие вопросы
  • ↳   Новости
  • ↳   Ошибки
  • ↳   Проект
  • ↳   Изделия
  • ↳   Устройства
  • ↳   Соединения
  • ↳   Кабели
  • ↳   Клеммы
  • ↳   ПЛК
  • ↳   Компоновка 2D
  • ↳   Макросы
  • ↳   Eplan API
  • ↳   Сценарии (Только готовые решения)
  • ↳   Внешняя обработка
  • ↳   ProPanel
  • ↳   Инструкции ProPanel (Только готовые решения)
  • ↳   Прочие направления Eplan
  • ↳   FieldSys (Топология)
  • ↳   Preplanning
  • ↳   Harness proD
  • ↳   EEC One
  • ↳   Advantech
  • ↳   F.A.Q., Инструкции
  • ↳   Allen Bradley
  • ↳   Общие вопросы
  • ↳   ПЛК
  • ↳   Операторские панели
  • ↳   B&R Automation
  • ↳   F.A.Q.
  • ↳   Danfoss
  • ↳   DEIF A/S
  • ↳   Общие вопросы
  • ↳   UNI-LINE
  • ↳   MULTI-LINE
  • ↳   MULTI-LINE 300
  • ↳   Emerson
  • ↳   Общие вопросы
  • ↳   КИП и регуляторы
  • ↳   DeltaV
  • ↳   ОВЕН
  • ↳   Прософт-Системы
  • ↳   Общие вопросы
  • ↳   ПЛК REGUL
  • ↳   Schneider Electric
  • ↳   Общие вопросы
  • ↳   ПЛК
  • ↳   Панели оператора
  • ↳   SCADA
  • ↳   Электротехника
  • ↳   Приводная техника
  • ↳   SIEMENS
  • ↳   Общие вопросы
  • ↳   LOGO!
  • ↳   ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
  • ↳   Simatic Step7
  • ↳   Simatic TIA Portal
  • ↳   Simatic PCS 7
  • ↳   Операторские панели
  • ↳   WinCC
  • ↳   Приводная техника (Sinamics, Micromaster, Masterdrive, Simoreg, Simotics)
  • ↳   SmartGen
  • ↳   Общие вопросы
  • ↳   Промышленные (береговые) контроллеры
  • ↳   Морские контроллеры и устройства
  • ↳   WEINTEK (операторские панели)
  • ↳   F.A.Q., Инструкции
  • ↳   Архив
  • ↳   Микроконтроллеры и электроника
  • ↳   Arduino
  • ↳   Raspberry
  • ↳   Другие микроконтроллеры
  • ↳   Электроника
  • Общие вопросы АСУТП
  • ↳   Общие вопросы
  • ↳   Вопросы от студентов
  • ↳   Литература
  • ↳   Новости и отчётность
  • ↳   Нормативы, ГОСТы, стандарты
  • ↳   Информационная безопасность
  • ↳   Проектирование и САПР
  • ↳   Системная интеграция
  • ↳   Разбор полетов
  • ↳   Работа
  • ↳   Заготовки для базы знаний
  • ↳   Производство и технология
  • ↳   MES — Системы автоматизации управления производством
  • ↳   Метрология, КИП и датчики
  • ↳   Исполнительные устройства, регуляторы
  • ↳   Средний уровень автоматизации (управляющий)
  • ↳   Алгоритмы
  • ↳   Операторские панели
  • ↳   Верхний уровень автоматизации (отображение)
  • ↳   GE iFix
  • ↳   Wonderware Intouch
  • ↳   MasterScada
  • ↳   SCADA+
  • ↳   Альфа платформа
  • ↳   Интерфейсы, протоколы, связь
  • ↳   Радиосвязь
  • ↳   Полезное ПО
  • ↳   Электротехника, энергетика и электропривод
  • ↳   Генераторы, электростанции и силовые агрегаты
  • ↳   Теплотехника
  • ↳   Подбор аналогов
  • F.A.Q. (краткая выжимка из некоторых сообщений форума)
  • ↳   Документация (вариант 1)
  • ↳   Документация (вариант 2)
  • ↳   Электротехника и электроэнергетика
  • ↳   F.A.Q. по программируемым логическим контроллерам (PLC)
  • ↳   Обсуждение F.A.Q. по PLC
  • ↳   F.A.Q. по выбору PLC
  • ↳   F.A.Q. по аппаратной части PLC
  • ↳   F.A.Q. по языкам программирования
  • ↳   F.A.Q. по структуре программ
  • ↳   F.A.Q. по взаимодействию PLC с HMI
  • О жизни
  • ↳   Для дома, для семьи
  • ↳   Комната смеха
  • ↳   Электродвижение

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • E01 ошибка baxi после отключения газа
  • E001 форд фокус 1 ошибка
  • E001 ошибка на частотнике
  • E001 ошибка двигателя

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии