Skip to content

Commit

Permalink
Edit manual
Browse files Browse the repository at this point in the history
  • Loading branch information
KirillGutyrchik committed Aug 2, 2024
1 parent fb017c6 commit 5985c26
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 8 deletions.
51 changes: 45 additions & 6 deletions docs/user_manual/ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
+ [Добавление устройств в операции в табличном режиме](#718-Добавление-устройств-в-операции-в-табличном-режиме)
+ [Сохранение результатов редактирования](#719-Сохранение-результатов-редактирования)
+ [Использование параметров в объекте](#7110-Использование-параметров-в-объекте)
+ [Модификация названий устройств](#7111-модификация-названий-устройств)
+ [Описание действий](#72-Описание-действий)
+ [Использование функциональности базового объекта и базовой операции](#73-Использование-функциональности-базового-объекта-и-базовой-операции)
+ [Привязка базовых объектов друг к другу](#731-Привязка-базовых-объектов-друг-к-другу)
Expand Down Expand Up @@ -807,11 +808,11 @@ ProjectTestEnabled=True
| NONE | Подтип не определен. |
| V_DO1 | Клапан с одним каналом управления. |
| V_DO2 | Клапан с двумя каналами управления. |
| V_DO1_DI1_FB_OFF | Клапан с одним каналом управления и одной обратной связью (*выключенное состояние*). |
| V_DO1_DI1_FB_ON | Клапан с одним каналом управления и одной обратной связью (*включенное состояние*). |
| V_DO1_DI1_FB_OFF | Клапан с одним каналом управления и одной обратной связью (_выключенное состояние_). |
| V_DO1_DI1_FB_ON | Клапан с одним каналом управления и одной обратной связью (_включенное состояние_). |
| V_DO1_DI2 | Клапан с одним каналом управления и двумя обратными связями. |
| V_DO2_DI2 | Клапан с двумя каналами управления и двумя обратными связями. |
| V_MIXPROOF | Клапан противосмешивающий (*2 канала управления и 2 обратные связи*). |
| V_MIXPROOF | Клапан противосмешивающий (_2 канала управления и 2 обратные связи_). |
| V_IOLINK_MIXPROOF | Клапан противосмешивающий с **IO-Link**. |
| V_AS_MIXPROOF | Клапан противосмешивающий с **AS интерфейсом**. |
| V_BOTTOM_MIXPROOF | Клапан с промывкой и двумя обратными связями (донный). |
Expand All @@ -821,7 +822,7 @@ ProjectTestEnabled=True
| V_IOLINK_VTUG_DO1 | **IO-Link VTUG** клапан с одним каналом управления. |
| V_IOLINK_VTUG_DO1_FB_OFF | **IO-Link VTUG** клапан с одним каналом управления и одной обратной связью (*выключенное состояние*). |
| V_IOLINK_VTUG_DO1_FB_ON | **IO-Link VTUG** клапан с одним каналом управления и одной обратной связью (*включенное состояние*). |
| V_IOLINK_VTUG_DO1_DI2 | **IO-Link VTUG** клапан с одним каналом управления и двумя обратными связями (*включенное и выключенное состояния*). |
| V_IOLINK_VTUG_DO1_DI2 | **IO-Link VTUG** клапан с одним каналом управления и двумя обратными связями (_включенное и выключенное состояния_). |
| V_VIRT | Виртуальный клапан. |
| V_MINI_FLUSHING | Клапан с миниклапаном промывки и двумя обратными связями. |
| V_IOL_TERMINAL_MIXPROOF_DO3 | Противосмешивающий клапан с управление от пневмоострова IO-Link |
Expand Down Expand Up @@ -879,7 +880,7 @@ ProjectTestEnabled=True
| VC | Аналоговый клапан. |
| VC_IOLINK | **IO-Link** аналоговый клапан. |
| VC_VIRT | Виртуальный аналоговый клапан. |
| HLA | Дискретная сигнальная колонна (*4 DO сигнала на каждый из цветов и сирену*). |
| HLA | Дискретная сигнальная колонна (_4 DO сигнала на каждый из цветов и сирену_). |
| HLA_VIRT | Виртуальная сигнальная колонна. |
| HLA_IOLINK | IO-Link сигнальная колонна. |
| FS | Датчик наличия потока. |
Expand Down Expand Up @@ -1312,10 +1313,15 @@ ProjectTestEnabled=True
* Быстрое выделение элементов (выделяются все элементы одного типа относящиеся к одной группе, технологические объекты выделяются также по одному технологическому типу) – <kbd>Ctrl</kbd>+2x<kbd>ЛКМ</kbd>;
* При копировании – вставке/замене объекта копируются все поля исходного объекта необходимо учитывать следующие нюансы:
* Номер объекта меняется на номер объекта, на место которого вставляем объект
* Копируется полный список операций и происходит копирование устройств, которые используются в операции. При этом происходит корректная замена номера объекта на новый. Это происходит в случае совпадения у двух объектов поля ОУ. Так при копировании операций из объекта __Танк 1__ с устройством __TANK1V1__ и заменой в объекте __Танк 3__ устройство изменит свое имя на __TANK3V1__.
* Копируется полный список операций и происходит копирование устройств, которые используются в операции. При этом происходит корректная замена номера объекта на новый (Подробнее описано [здесь](#7111-модификация-названий-устройств)). Это происходит в случае совпадения у двух объектов поля ОУ. Так при копировании операций из объекта __Танк 1__ с устройством __TANK1V1__ и заменой в объекте __Танк 3__ устройство изменит свое имя на __TANK3V1__.
* При копировании операций происходит копирование ограничений, описанных в операции. Для ограничений, относящихся к данному объекту (_«Ограничения внутри объекта», «Ограничения на последующие операции»_), происходит замена старого номера объекта на новый.
* Можно копировать не только отдельные строки параметров, операций, а также целые группы параметров, ограничений, операций.

##### Модификация названий устройств #####




#### 7.1.1 Неопознанные объекты при загрузке описания проекта ####
<p align="justify">Если базовый объект будет не распознан системой, добавляемый при загрузке объект будет добавлен в группу "<em>Неопознанные объекты</em>". Пример на рисунке ниже.</p>

Expand Down Expand Up @@ -1455,6 +1461,39 @@ ProjectTestEnabled=True
<p align="center"><b>Рисунок</b> - <i>Пример отображения параметров в операции</i></p>


#### 7.1.11 Модификация названий устройств ####

<p align=justify> Модификация названий привязанных устройств выполняется при изменении названия или номера технологического объекта, которое происходит в следствии редактирования полей, вставке или замене объекта. Так же модификация проводится при открытии и сохранении проекта. </p>

В модификации привязаных устройств учавствуют следующие поля в технологическом объекта:
- Все поля дейтсвий;
- Параметры действий(если к ним привязано устройство);
- Элементы поля `Доп.свойства`(в операциях);
- Элементы поля `Оборудование`.

##### Правила модификации устройств #####

Устройства в поле оборудования всегда соответсвуют технологическому объекту, поэтому там правило простое: подставляется устройство с соответствующим объектом или удаляется;

Для остальных полей модификация устройств проводится по следующим правилам:
- Если у привязанного устройства объект совпадает с изменяемым тех.объектом, то устройство модифицируется в соответсвии с изменением имени/номера объекта (или остается прежним в случае отсутсвия такого устройства):
* (имя: "OBJ" => "OTHER") : `[OBJ]1V1` => `[OTHER]1V1`; [*][modify]
* (номер: 1 => 2) : `OBJ[1]V1` => `OBJ[2]V1`; [*][modify]
- В случае если совпадает название объекта, но номер **НЕ** совпадает и при этом он совпадает с новым номером объекта, то он изменяется на противоположный:
* (номер: 1 => 2) : `OBJ[2]V1` => `OBJ[1]V2`; [*][modify]
- Если устройства взяты из типового объекта, то в случае их отсутствия они удаляются;
- Модификация клапанов **MIXPROOF**-типов осуществляется в следующих условиях:
* Модифицируемый объкта - **Аппарат**;
* Имя устойства объекта не совпадат с ОУ тех.объекта;
* Устройство имеет тип **MIXPROOF** или похожий;

При этом модифицируется не номер объекта, а номер устройства (точнее, его часть свопадающая с номером тех.объекта), если такого устройства нет, оно удаляется из привязки:
* (номер: 1 => 2) : `NO_UNIT1V[1]` => `NO_UNIT1V[2]` [*][modify]
* (номер: 13 => 14) : `NO_UNIT1V2[13]` => `NO_UNIT1V2[14]` [*][modify]

[modify]: ## "В круглых скобках указывается изменение объекта, далее черех двоеточие результат модификации устройства, где в квадратных скобках указано, что именно изменяется."


### 7.2 Описание действий ####

Список реализованных действий:
Expand Down
4 changes: 2 additions & 2 deletions src/Device/DeviceManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1159,8 +1159,8 @@ private IDevice ModifyMixproof(IDevice device, IDevModifyOptions options)
var match = mixproofRegex.Match(device.Name);
if (match.Success)
{
var mixproofP = match.Groups[1].Value;
return GetDeviceByEplanName($"{mixproofP}{options.NewTechObjectNumber}");
var mixproofPart = match.Groups[1].Value;
return GetDeviceByEplanName($"{mixproofPart}{options.NewTechObjectNumber}");
}
else return device;
}
Expand Down

0 comments on commit 5985c26

Please sign in to comment.