Текущий раздел:

Описания RDS

Описание пользователя

Глава 2. Интерфейс пользователя

§2.18. Настройки RDS

# Описание пользователя

## Глава 2. Интерфейс пользователя

### §2.18. Настройки RDS

Описываются общие настройки RDS и окно для их задания.

Настройки RDS управляют поведением всей программы в целом и не зависят от загруженной схемы. RDS ничего не записывает в реестр Windows, настройки хранятся в файле «rds.ini» в папке настроек. Чаще всего папка настроек совпадает с папкой установки RDS (то есть «rds.exe» и файл настроек «rds.ini» обычно находятся в одной папке), а все остальные важные для RDS папки с изменяемым содержимым (папку библиотек и панели блоков, папку шаблонов и т.п.) размещают внутри нее. В этом случае RDS становится переносимым приложением – всю папку установки можно свободно перемещать с места на место или даже с машины на машину без потери работоспособности, поскольку местоположение всех важных папок будет определяться относительно «rds.exe». Тем не менее, возможны и другие варианты установки.

Для настройки RDS необходимо вызвать пункт главного меню «сервис | настройки RDS», при этом откроется окно настроек с несколькими вкладками (рис. 282).

Рис. 282. Окно настроек: вкладка «общие»

На вкладке «общие» задаются общие параметры интерфейса пользователя RDS:

- Флажок «разрешить отмену последних действий» – включает запись всех действий пользователя при редактировании схемы. Число запоминаемых действий задается в отдельном поле ввода. Если отмена действий разрешена, пользователь может последовательно отменить указанное число выполненных операций при помощи пункта главного меню «система | отмена» или сочетания клавиш Ctrl + Z. По умолчанию этот флажок включен, и выключать его не рекомендуется: возможность отмены неправильного действия существенно облегчает редактирование.
- Поле ввода «размер предыстории» позволяет задать количество последних загружавшихся файлов схем, имена которых RDS будет запоминать и показывать в меню «файл» или в дополнительном меню, появляющемся при нажатии на правую часть кнопки загрузки на панели общего назначения в главном окне (рис. 283). В этих меню последняя загруженная схема будет находиться на первом месте, предпоследняя – на втором, и т.д. Если какая-либо схема загружалась недавно, найти ее в меню предыстории обычно проще, чем в обычном диалоге загрузки среди всех файлов на диске. Сам список загружавшихся файлов хранится в файле «history.dat» в папке настроек RDS.

(а)

(б)

Рис. 283. Список последних загружавшихся файлов в меню «файл» (а)
и в дополнительном меню кнопки загрузки (б)

- Флажок «предупреждать об изменении параметров библиотечных блоков», включенный по умолчанию, разрешает предупреждение пользователя (см. рис. 97 и 237) о том, что неправильное изменение параметров библиотечных блоков может привести к их неработоспособности. Библиотечным в RDS считается блок, к которому подключена работающая функция модели, не компилируемая автоматически.
- Флажок «перемещать конечные точки связей вместе с блоками и шинами», включенный по умолчанию, управляет тем, как будут перемещаться точки соединения связей с блоками и шинами при перемещении этих блоков и шин пользователем. При включенном флажке перемещение блока или шины будет приводить к тому, что все конечные точки присоединенных к перемещаемому объекту связей будут перемещаться вместе с ним, а при перемещении связи ее конечные точки будут оставаться на месте (см. рис. 58). Таким образом, внешний вид связи при перемещении будет искажаться, но все точки подключения будут сохранять свое положение относительно изображений блоков и шин. При выключенном флажке RDS будет стараться сохранить внешний вид связи, оставляя точки в покое при перемещении блоков или перемещая их вместе со связями, до тех пор, пока это возможно (если дальнейшее перемещение приведет к тому, что точка «оторвется» от изображения блока или связи, эта точка начнет перемещаться). Установка этого флажка не влияет на связность схемы, соединения связей с блоками и шинами при их перемещении никогда не разрываются. Пользователю имеет смысл подобрать такую установку этого флажка, при которой редактирование схемы будет для него более удобным.
- Флажок «разрешить перемещение отдельных отрезков связей», включенный по умолчанию, позволяет пользователю в режиме редактирования перемещать отдельные отрезки выделенной связи: для этого используются специальные маркеры в форме ромбов (см. рис. 60). В ранних версиях RDS перемещение отрезков не было предусмотрено, и маркеры на отрезках не изображались, поэтому этот режим сделан отключаемым, чтобы пользователи могли вернуть привычный им внешний вид выделенных связей.
- Флажок «всегда запоминать изменения в конфигурации слоев», сброшенный по умолчанию, отключает возможность внесения в конфигурации слоев (см. §2.12.1 временных изменений. При этом в окне редактора слоев не будет флажка «запоминать состояние», и все изменения в параметрах слоев будут всегда запоминаться (так вели себя старые версии RDS).
- Флажок «использовать ранее запущенные копии RDS при загрузке схем», сброшенный по умолчанию, позволяет при запуске RDS с именем файла схемы в параметре командной строки загружать эту схему в одну из уже работающих копий «Rds.exe» или «Rds64.exe», не находящихся в режиме расчета. Если, например, в «Проводнике» Windows настроен запуск RDS по двойному щелчку на файле с расширением «.rds», то включение этого флажка приведет к тому, что каждая новая открываемая таким образом схема будет заменять предыдущую в одной и той же работающей копии RDS.
- Флажок «завершать RDS при закрытии последнего окна загруженной схемы», включенный по умолчанию, разрешает закрытие главной программы RDS, если пользователь закрыл все окна подсистем загруженной схемы (т.е. если на экране осталось только главное окно и служебные окна.

На вкладке «внешний вид» (рис. 284) задаются параметры внешнего вида интерфейса пользователя RDS:

Рис. 284. Окно настроек: вкладка «внешний вид»

- Выпадающий список «язык интерфейса пользователя» позволяет выбрать из списка доступных языков тот, который будет использоваться в окнах RDS. На данный момент поддерживаются русский и английский языки. После изменения языка в списке необходимо будет перезапустить RDS.
- Флажок «не показывать заставку» позволяет отключить окно заставки RDS, появляющееся на экране при запуске программы. Окно заставки не блокирует действия пользователя и само пропадает с экрана через несколько секунд, его отключение никак не влияет на работу RDS.
- Поле «шаг масштабирования…» позволяет задать шаг в процентах, с которым будет изменяться масштаб схем в подсистемах прокруткой колеса мыши при удерживаемой клавише Ctrl.
- Флажок «изменить шрифт в окнах» позволяет задать шрифт всех надписей, заголовков, полей ввода и т.п. в окнах RDS. Можно выбрать только название шрифта, размер шрифта жестко заложен в программу. Менять шрифт окон имеет смысл только в том случае, если шрифт по умолчанию по каким-либо причинам отображается неправильно (например, при работе в Linux из-под Wine). Следует учитывать, что шрифты пунктов меню и системных сообщений изменить таким образом нельзя, эти шрифты определяются настройками операционной системы.
- Флажок «изменить шрифт всплывающих подсказок» позволяет задать шрифт, используемый в подсказках к элементам интерфейса пользователя RDS (кнопкам, блокам в схемах и т.п.). Можно выбрать имя шрифта и масштаб его размера относительно размера по умолчанию. Ниже полей ввода располагается прямоугольник, на который можно навести курсор мыши для тестирования выбранных параметров подсказок.

На вкладке «сохранение» окна настроек (рис. 285) задаются параметры сохранения схем в файлы.

Рис. 285. Окно настроек: вкладка «сохранение»

- Флажок «использовать отступы в текстовом формате схем» – разрешает выделять в файлах схем группы данных при помощи начальных пробелов. RDS сохраняет схемы (файлы с расширением «rds») в собственном текстовом формате с иерархическими блоками данных, ограниченными словами «begin»…«end». Такой файл может быть открыт разработчиком моделей блоков в любом текстовом редакторе для анализа и поиска возможных ошибок: например, если схема с созданной разработчиком моделью загружается неправильно, можно открыть ее файл в текстовом редакторе и разобраться, как модель сохранила данные блока внутри этого файла. По умолчанию блоки данных в файле записываются с иерархическими отступами от левого края для облегчения чтения человеком (на загрузку данных эти отступы не влияют): содержимое каждого блока «begin»…«end» сдвинуто на один пробел вправо относительно содержащего его блока. Для уменьшения объема файлов схем можно отключить использование этих отступов.
- Флажок «создавать резервные копии схем при сохранении» позволяет при сохранении схемы не стирать ее старый файл, а переименовывать его, присваивая ему другое расширение. Число таких хранимых резервных копий и их расширение задается в отдельных полях ввода. Самая последняя резервная копия получает указанное в настройках расширение, более старые – это же расширение с добавлением числа тем большего, чем старше копия. Допустим например, что в настройках задано хранение трех резервных копий с расширением «~rds». Загрузим файл «Dynamic.rds», внесем в него первое изменение и сохраним схему. Теперь у нас в одной и той же папке есть файлы:
  - «Dynamic.rds» (измененная схема) и
  - «Dynamic.~rds» (резервная копия исходной схемы).
  Внесем в схему второе изменение и снова сохраним ее – теперь в папке находится три файла:
  - «Dynamic.rds» (схема после второго изменения),
  - «Dynamic.~rds» (схема после первого изменения) и
  - «Dynamic.~rds01» (схема до редактирования).
  После внесения третьего изменения и сохранения схемы появится четыре файла:
  - «Dynamic.rds» (схема после третьего изменения),
  - «Dynamic.~rds» (схема после второго изменения),
  - «Dynamic.~rds01» (схема после первого изменения),
  - «Dynamic.~rds02» (схема до редактирования).
  При следующих сохранениях схема до редактирования будет потеряна, поскольку уже есть три резервных копии, а в трех файлах с расширениями «~rds», «~rds01» и «~rds02» будут находиться три последние по времени резервные копии схемы.
- Флажок «автоматически сохранять схему с заданным интервалом» включает автосохранение схемы через заданное время после внесения в нее последнего изменения. Использовать этот флажок следует с осторожностью: при его включении пользователь может лишиться возможности выхода из RDS без сохранения изменений в схеме, изменения могут автоматически сохраниться в любой момент. Кроме того, сохранение очень больших схем занимает заметное время, в течение которого действия пользователя блокируются. Следует учитывать, что в режиме расчета автосохранение не работает.

На вкладке «папки» окна настроек (рис. 286) можно просмотреть расположение основных папок RDS.

Рис. 286. Окно настроек: вкладка «папки»

Все папки RDS можно условно разделить на две группы: папки с редко изменяемым и с часто изменяемым содержимым. Файлы в папках с редко изменяемым содержимым изменяются только при установке в RDS новых программных модулей или при обновлении существующих. К этим папкам относятся:

- папка установки RDS, в которой находится главный файл «rds.exe» и все необходимые для работы RDS файлы (для этой папки принято условное обозначение «$RDS$»);
- папка стандартных DLL, в которой находятся динамически подключаемые библиотеки с моделями стандартных блоков и модулями расширения (всегда находится внутри папки установки);
- папка с файлами заголовков для написания моделей блоков на языках C и C++ (всегда находится внутри папки установки);
- папка с документацией и файлами справки RDS (всегда находится внутри папки установки).

Файлы в папках с часто изменяемым содержимым добавляются, стираются и переписываются в результате действий пользователя при работе с RDS. К ним относятся:

- папка настроек, в которой находится главный файл настроек «rds.ini» и все дополнительные файлы, создаваемые моделями блоков и модулями расширения для хранения общих параметров (условное обозначение «$INI$»);
- папка панели блоков, в которой располагаются файлы блоков, составляющие содержимое указанной панели (см. §2.16.5, всегда находится внутри папки настроек);
- папка библиотеки блоков, в которой хранятся блоки библиотеки (всегда находится внутри папки настроек);
- папка общих моделей, в которую модули автоматической компиляции могут записывать какие-либо модели, общие для всех схем (RDS не обрабатывает содержимое этой папки, модули автокомпиляции работают с ней самостоятельно, эта папка всегда находится внутри папки настроек);
- папка шаблонов, в которую записываются шаблоны схем и исходных текстов моделей блоков, если таковые имеются (всегда находится внутри папки настроек);
- папка временных файлов, используемых при работе RDS.

Справа от имени каждой папки находится кнопка, позволяющая открыть эту папку в «Проводнике» Windows.

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

На вкладке «обновление окон» (рис. 287) задаются параметры используемого в RDS алгоритма подстройки частоты обновления окон в режиме расчета, позволяющего снижать нагрузку на систему за счет временного уменьшения этой частоты.

Рис. 287. Окно настроек: вкладка «обновление окон»

Если флажок «уменьшать частоту обновления» на этой вкладке выключен, алгоритм подстройки частоты использоваться не будет, и в режиме расчета все окна подсистем будут обновляться с частотой, указанной в их параметрах. Если же флажок включен, можно задать для алгоритма интервал корректировки в миллисекундах (на рисунке – 1000 мс, то есть одна секунда) и два граничных значения затрат процессорного времени на обновление окон в процентах: максимально допустимые (на рисунке – 50%), и неснижаемые (на рисунке – 30%) затраты. При значениях, указанных на рисунке, алгоритм будет работать следующим образом: в режиме расчета каждую секунду будет измеряться общее время, затраченное RDS на рисование содержимого всех открытых окон. Если это время будет занимать более 50% прошедшей секунды, частоты обновления всех окон будут пропорционально снижены так, чтобы уложиться в 50% времени. Частоты обновления останутся низкими до тех пор, пока в очередную секунду суммарное время обновления окон не станет ниже 30% (это может произойти, например, если закрылось несколько окон со сложными изображениями). В этом случае RDS попытается вернуть сниженные частоты обратно к их исходным значениям.

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

На вкладке «совместимость и быстродействие» (рис. 288) можно изменить поведение RDS для устранения некоторых редко встречающихся ошибок.

Рис. 288. Окно настроек: вкладка «совместимость и быстродействие»

Флажок «производить расчет в главном потоке программы» переводит RDS из стандартного двухпоточного режима в однопоточный. В двухпоточном режиме интерфейс пользователя обслуживается в главном потоке, а циклический вызов моделей блоков в режиме расчета – в дополнительном. В однопоточном режиме циклический вызов моделей выполняется в главном потоке, прерываясь время от времени для обслуживания интерфейса (отработки реакции на клавиатуру и мышь и т.п.). Однопоточный режим может дать небольшой прирост производительности на старых машинах, но его не следует включать без крайней необходимости: он может приводить к задержкам расчета при различных действиях пользователя.

Флажок «запретить потоку расчета переходить в режим ожидания» не дает потоку расчета останавливаться и ждать внешнего события в тех случаях, когда в течение нескольких тактов расчета ни один блок не сработал (в однопоточном режиме этот флажок игнорируется). Переход в режим ожидания позволяет снизить нагрузку на систему, но, при неправильно написанных моделях блоков, он может привести к периодическим остановкам расчета. Модель блока, написанная согласно всем требованиям руководства программиста, не требует включения этого флажка.

Флажок «использовать только стандартные курсоры Windows», как следует из его названия, отключает все используемые в RDS формы курсора мыши, кроме стандартных, встроенных в Windows. Его следует включать только в том случае, если в каких-либо режимах курсор пропадает с экрана.

Флажок «запретить масштабы, в которых возможно некорректное отображение» ограничивает допустимые масштабы окон подсистем так, чтобы длина и ширина рабочего поля с учетом масштаба не превышали 32767 точек экрана – иногда при этом изображение схемы может искажаться. На практике такое встречается редко – избыточно крупный масштаб 1000% при рабочем поле 2000 на 2000 точек (это размер рабочего поля по умолчанию) делает видимую ширину и длину поля равными 20000 точкам, то есть ниже указанного порога.

Флажок «проверять схему при загрузке», включенный по умолчанию, разрешает RDS выполнять проверку структуры каждого загружаемого файла схемы. Файлы схем в RDS имеют текстовый формат и могут редактироваться как программами, созданными сторонними разработчиками, так и, при желании, самим пользователем в любом текстовом редакторе, поддерживающем кодировку UTF8. Такие отредактированные файлы весьма желательно проверять при загрузке, поскольку нарушения в их формате могут привести к неожиданным ошибкам. Проверка при загрузке, включенная по умолчанию, может замедлить загрузку очень больших файлов (более пяти тысяч блоков), поэтому если пользователь работает с такими схемами и не редактирует файлы вручную или сторонними программами, эту проверку можно отключить. При работе с файлами нормального размера проверка не дает заметного замедления работы, и ее лучше оставить включенной.

На вкладке «сеть – TCP» окна настроек (рис. 289) задаются общие параметры встроенного в RDS сетевого модуля.

Рис. 289. Окно настроек: вкладка «сеть – TCP»

Схемы, загруженные в RDS на разных машинах, могут обмениваться данными по сети, если одна из запущенных копий RDS возьмет на себя функции сервера и будет управлять обменом данными между остальными. Для этого на выбранной в качестве сервера машине можно либо запустить «rds.exe» с параметром командной строки «/server», либо добавить в схему, загруженную на этой машине, специальный блок, делающий сервером тот «rds.exe», в котором загружена эта схема. В любом случае, в настройках RDS на всех остальных машинах необходимо указать адрес этого сервера и порт, к которому на этом сервере нужно обращаться. Таким образом, если необходимо создать распределенную схему, части которой будут находиться на разных машинах, следует выполнить следующие действия:

1. Выбрать самую слабо загруженную машину в сети, которая станет сервером. Установить на ней RDS, в настройках RDS разрешить обмен данными по сети и ввести порт, который будет использовать этот сервер (свободный номер порта можно узнать у системного администратора).
2. Запустить на машине-сервере «rds.exe» с параметром командной строки «/server», или запустить на ней RDS обычным способом и загрузить схему со специальным серверным блоком.
3. Установить RDS на остальные машины сети, которые будут использоваться для распределенной схемы, в настройках RDS разрешить обмен данными по сети и указать адрес выбранного сервера (его тоже можно узнать у системного администратора) и введенный в его настройках порт. Теперь блоки в схемах на этих машинах смогут общаться друг с другом через сервер.

Чтобы правильно настроить параметры сети в RDS, необходимо иметь общее представление о работе сетей, IP-адресах, портах и т.п. Здесь сетевые настройки будут перечислены очень кратко – в большинстве случаев, для успешной настройки сети в RDS достаточно выполнить три указанных выше шага.

Флажок «разрешить блокам обмениваться данными по сети» на вкладке «сеть – TCP» управляет общим разрешением сетевых функций RDS: если он не установлен, стандартные библиотечные блоки не смогут ни передавать данные по сети, ни принимать их (это может не касаться специально разработанных блоков, модели которых работают с сетью напрямую, минуя RDS). Стандартные сетевые функции RDS используют для работы протоколы TCP и UDP, причем TCP используется в качестве основного протокола – если запретить сетевые функции на вкладке «сеть – TCP», вкладка «сеть – UDP» автоматически отключится (UDP используется только для передачи самих данных, вся управляющая информация всегда передается по TCP).

В поле ввода «сервер по умолчанию» вводится имя или IP-адрес сервера, к которому будут обращаться блоки в схеме, если в их параметрах явно не указан другой сервер. Как правило, конкретный сервер в параметрах блоков не указывают, что позволяет вводить адрес сервера только в настройках RDS, не трогая настройки каждого блока при смене сервера. В поле ввода «порт по умолчанию» вводится номер порта сервера. Этот номер используется двумя способами. Во-первых, блоки в схеме, загруженной в эту копию RDS, будут обращаться к этому порту на указанном сервере, если в их настройках явно не указан другой номер порта. Во-вторых, если запустить данную копию RDS с параметром командной строки «/server», она станет выделенным сервером, работающим через этот порт (параметры командной строки RDS подробно описаны в приложении Б).

Флажок «передавать мелкие пакеты немедленно» запрещает системе собирать небольшие пакеты данных вместе, чтобы потом передать их одним большим пакетом. Сборка пакетов вместе улучшает работу сети, но при этом пакеты данных передаются неравномерно, что может быть критично в распределенной схеме, в которой в этих пакетах постоянно передаются текущие значения каких-либо изменяющихся со временем переменных.

Поле ввода «ожидать ответа сервера не более…» позволяет ввести интервал времени в секундах, по истечении которого RDS перестает ждать ответ от сервера и продолжает передачу данных. Обычно RDS не ждет ответа от сервера, передав ему данные, но модель блока сетевого обмена может запросить такой ответ – при этом дальнейшая передача данных прекращается до получения этого ответа. Если ответ не пришел в течение указанного времени, передача будет продолжена несмотря на это.

Поле ввода «восстанавливать разорванное соединение через…» задает интервал в секундах, по истечении которого RDS предпримет повторную попытку соединения с сервером, если предыдущая попытка не удалась. При разрыве уже установленного соединения RDS будет пытаться восстановить его с заданной периодичностью. Отключить это поведение нельзя: пока в схеме есть хотя бы один блок, требующий обмена данными по сети, RDS будет пытаться связаться с сервером.

Флажок «сервер может устанавливать связь только с указанными клиентами» влияет на поведение RDS только в режиме сервера: если флажок включен, сервер будет отклонять соединения со всеми машинами, адреса которых не находятся в списке под флажком. Для добавления и удаления адресов в списке служат кнопки справа от него.

Установка последнего флажка вкладки, «открывать окно сетевых соединений при установке связи», приведет к тому, что при соединении с сервером автоматически откроется информационное окно с параметрами этого соединения. Это окно полезно при отладке схем – в нем видно, с каким именно сервером установлено соединение, какие каналы передачи данных используются и т.п. Его всегда можно открыть вручную пунктом меню «окна | сетевые соединения», поэтому, если схема отлажена и работает без проблем, этот флажок можно сбросить.

Вкладка «сеть – UDP» (рис. 290) позволяет включить или выключить использование протокола UDP для передачи данных между блоками схем на разных машинах. Этот протокол используется в RDS только вместе с TCP, поэтому, если на вкладке «сеть – TCP» запрещена передача данных, эта вкладка тоже будет не активна.

Рис. 290. Окно настроек: вкладка «сеть – UDP»

Флажок «разрешить использование UDP», как и следует из его названия, разрешает RDS использовать протокол UDP для ускоренной передачи данных (в некоторых случаях он работает быстрее TCP).

Флажок «фиксированный порт UDP» позволяет назначить для данного протокола жестко зафиксированный номер порта (свободный номер порта можно узнать у системного администратора). Если он не установлен, номер порта будет выбран автоматически. В большинстве случаев флажок можно не устанавливать, однако если какие-либо порты на машине заблокированы (или, наоборот, разрешено использование только нескольких портов), номер порта лучше задать вручную так, чтобы он попал в разрешенный список или диапазон.

Поле ввода «максимальный размер блока» позволяет ограничить размер пакета данных, передаваемого через UDP: если требуется передача большего объема данных, RDS автоматически разобьет эти данные на несколько пакетов.

Нажатие кнопки «OK» запишет измененные параметры в файл «rds.ini» и закроет окно настроек. Отменить изменение параметров нельзя.

Следует иметь в виду, что если папка настроек не совпадает с папкой установки RDS (см. рис. 286), в системе будет сразу два файла «rds.ini»: один – в папке установки (в нем будет указан путь к папке настройки), а другой – в папке настройки (в нем будут записаны все остальные параметры).

На вкладке «загрузка 1.x» (рис. 291) настраиваются параметры загрузки в RDS версий 2.x старых схем, сохраненных версиями 1.x.

Рис. 291. Окно настроек: вкладка «загрузка 1.x»

В поле ввода «кодовая страница для загрузки схем версий 1.x» указывается номер кодовой страницы, используемой при обнаружении в загружаемой схеме символов национальных алфавитов для перекодировки в UTF8. По умолчанию используется страница 1251 (русская кодировка Windows). Можно вместо номера страницы указать ноль, тогда будет использоваться страница, заданная в настройках операционной системы.

Флажок «заменять при загрузке … шрифт Symbol на символы Unicode» включает специальный режим перекодировки текстов с математическими символами, набранных шрифтом «Symbol» в старых схемах. Ниже в выпадающем списке можно выбрать ширфт, который будет использоваться для этих перекодированных символов (это должен быть шрифт с поддержкой Unicode).