Метод переменных состояния расчета переходных процессов. Описание системы в переменных состояния. Контрольные вопросы и задачи
А б в
Накопителем энергии - емкостью
Расчет переходных процессов в цепях с одним
Электромагнитные процессы при переходном процессе в таких цепях обусловлены запасом электрической энергии в емкости С и рассеиванием этой энергии в виде тепла на активных сопротивлениях цепи. При составлении дифференциального уравнения следует в качестве неизвестной функции выбрать напряжение u C на емкости. Следует отметить, что при расчете установившихся режимов, т. е. при определении начальных условий и принужденной составляющей, сопротивление емкости в цепях постоянного тока равно бесконечности.
Пример 6.2. Включение последовательной цепи R,C на постоянное напряжение.
Цепь (рис. 6.3, а ), состоящая из последовательно соединенных сопротивления R = 1000 Ом и емкости С = 200 мкФ, в некоторый момент времени подключается к постоянному напряжению U= 60 В. Требуется определить ток и напряжение емкости в переходном процессе и построить графики u C (t ), i (t ).
R i R i, A u, B
U C U C t = 0.02,c
0 t 2t 3t t , с
Решение. 1. Определяем начальные условия. Начальное условие u C (-0) = 0, так как цепь до коммутации была отключена (полагаем достаточно длительное время).
2. Изображаем электрическую цепь после коммутации (рис. 6.3, б ), указываем направления тока и напряжений и для нее составляем уравнение по второму закону Кирхгофа
или .
3. Преобразуем уравнение п.2 в дифференциальное. Для этого, подставив вместо тока i известное уравнение , получим:
4. Решение уравнения (искомое напряжение на емкости) ищем в виде:
.
5. Определяем . Так как в цепи постоянного тока в установившемся режиме сопротивление емкости равно бесконечности (при этом ), то все напряжение будет приложено к емкости. Поэтому
u C пр =U= 60 В.
6. Составляем однородное дифференциальное уравнение
решением которого будет функция
7. Составляем характеристическое уравнение RC l + 1= 0, корень которого равен
Постоянная времени
8. Запишем решение .
9. Согласно второму закону коммутации и начальным условиям
10. Определим постоянную интегрирования А путем подстановки t =0 в уравнение п.8
Напряжение на емкости в переходном процессе
11. Ток в цепи можно определить по уравнению
или по уравнению п. 2
Графики u C (t ) и i (t ) представлены на рис. 6.3, в .
Мгновенные значения токов и напряжения, определяющие энергетическое состояние электрической цепи, называются в данном методе переменными, а сам метод назван методом переменных состояния.
Этот метод основан на составлении системы дифференциальных уравнений и, как правило, численном их решении с помощью ЭВМ.
В качестве неизвестных здесь следует принимать переменные, которые не имеют разрывов, т.е. за время не должно быть скачкообразного изменения этих величин. Такими переменными, следовательно, должны быть ток i и потокосцепление в индуктивности, напряжение и заряд на емкости. В противном случае при численном решении производных в точках, где имеется разрыв, возникает бесконечно большая величина, что недопустимо.
Существуют различные численные методы расчета дифференциальных уравнений. Это методы Эйлера, Рунге-Кутта и другие, которые отличаются друг от друга точностью расчета, объемом и временем вычислений. При этом, чем больше точность вычислений, тем больше требуется времени для решения.
1. Определить начальные условия.
2. Составить систему дифференциальных уравнений.
3. Все переменные в уравнениях п.2 выразить через токи или потокосцепления в индуктивностях и напряжения или заряды на емкостях.
4. Все уравнения п.3 свести к нормальной форме Коши.
Анализ и синтез систем управления во временной области основан на понятии состояния системы. Состояние системы-это совокупность таких переменных, знание которых, наряду со входными функциями и уравнениями, описывающими динамику системы, позволяет определить ее будущее состояние и выходную переменную. Для динамической системы ее состояние описывается набором переменных состояния [ЛГ[(?), X2(t) Х„(0]- Это такие переменные, которые определяют будущее поведение системы, если известно ее текущее состояние и все внешние воздействия. Рассмотрим систему, изображенную на рис. 3.1, где^,^) иy2(t) есть выходные переменные, a ux(t) и u2(t)- входные переменные. Для ЭТОЙ системы переменные (*[, х2,..., хп) имеют следующий смысл: если в момент времени t0 известны начальные значения [^(fo), x2(t0), ...,xn(tQ)] и входные сигналы щ(і) и u2(f) для t > t0, то этой информации достаточно, чтобы определить будущие значения всех переменных состояния и выходных переменных.
Переменные состояния описывают поведение системы в будущем, если известны текущее состояние, внешние воздействия и уравнения динамики системы.
Общий вид динамической системы приведен на рис. 3.2.
Простым примером переменной состояния может служить положение выключателя электролампочки. Выключатель может быть в одном из двух положений - «включено» или «выключено», поэтому его состоянию соответствует одно из двух возможных значений. Если мы знаем, в каком состоянии (положении) находится выключатель в момент времени t0, и если мы прикладываем к нему воздействие, то мы всегда можем определить будущее состояние элемента.
xx(t)=y(i) И x2(t) = -
Дифференциальное уравнение, описывающее поведение системы, обычно записывается в виде
Эти уравнения по сути описывают поведение системы в терминах скорости изменения каждой переменной состояния. Другим примером системы, которую можно описать переменными состояния, является ТЛС-цепь, изображенная на рис. 3.4. Состояние системы характеризуется двумя переменными (Х[, х2) где хх есть напряжение на конденсаторе vc(/), и х2 - ток через индуктивность //(/). Выбор этих переменных интуитивно понятен, т. к. общая энергия, запасенная в цепи, непосредственно зависит от них, как E=(l/2)Z,/£ +(1/2)Cvc2. (3.5) Таким образом, Х](/0) и x2(t0) несут информацию о полной начальной энергии в цепи и, следовательно, о состоянии системы в момент t = /0. Для описания пассивной ЛіС-цепи число необходимых переменных состояния равно числу независимых элементов, накапливающих энергию. Используя закон Кирхгофа для токов, запишем дифференциальное уравнение первого порядка, определяющее скорость изменения напряжения на конденсаторе: іс ~С - у - = u(t)~ і і (3.6) |
Источник4^ тока |
Рис. 3.4. RLC-цепь |
Закон Кирхгофа для напряжений, примененный к правому контуру, дает уравнение, определяющее скорость изменения тока через индуктивность:
L^=-Ri, + vc. (3.7)
Выход системы определяется линейным алгебраическим уравнением:
Уравнения (3.6) и (3.7) мы можем переписать в виде системы двух дифференциальных уравнений относительно переменных состояния хх и х2:
*L-lx --Х Г3 9Ї
Тогда выходной сигнал будет равен
^i(0 = v0(0 = R х2. (3.10)
Используя уравнения (3.8) и (3.9), а также начальные условия , мы сможем определить будущее поведение системы и ее выходную переменную.
Переменные состояния, описывающие систему, не являются единственными, и всегда можно выбрать альтернативную комбинацию таких переменных. Например, для системы второго порядка, такой как масса-пружина или RLC-цепь, в качестве переменных состояния можно выбрать любые две линейно независимые комбинации xx{t) и x2(t). Так, для RLC-цепи мы могли бы принять за переменные состояния два напряжения, vc(/) и v; (/), где vL - напряжение на индуктивности. Тогда новые переменные состояния, х, их"2, будут связаны со старыми переменными хх и х2 соотношениями:
х =vc =х, (3.11)
х* = Vj =vc - RiL =х, - Rx2. (3.12)
Уравнение (3.12) связывает напряжение на индуктивности со старыми переменными состояния vc и iL. В реальной системе всегда можно образовать несколько комбинаций переменных состояния, которые определяют энергию, запасенную в системе, и, следовательно, адекватно описывают ее динамику. На практике в качестве переменных состояния часто выбирают такие физические переменные, которые легко могут быть измерены.
Альтернативный метод получения модели в переменных состояния основан на использовании графа связей. Такие графы могут быть построены для электрических, механических, гидравлических и тепловых элементов или систем, а также для комбинаций элементов различных типов. Графы связей позволяют получить систему уравнений относи
тельно переменных состояния.
Переменные состояния характеризуют динамику системы. Инженера в первую очередь интересуют физические системы, в которых переменными являются напряжения, токи, скорости, перемещения, давления, температуры и другие аналогичные физические величины. Однако понятие состояния применимо к анализу не только физических, но также биологических, социальных и экономических систем. Для этих систем понятие состояния не ограничивается рамками представлений об энергии и подходит к переменным состояния в более широком смысле, трактуя их как переменные любой природы, описывающие будущее поведение системы.
Эта процедура описывает, как определить переменную пакета, в которой хранится информация состояния CDC.
Переменная состояния CDC загружается, инициализируется и обновляется с помощью задачи «Управление CDC» и используется компонентом потока данных «Источник CDC» в целях определения текущего диапазона обработки для записей с данными об изменениях. Переменная состояния CDC может быть определена в контейнере, который является общим для задачи «Управление CDC» и источника CDC. Такое определение может быть сделано на уровне пакета, а также в других контейнерах, таких как контейнер цикла.
Изменять вручную значение переменной состояния CDC не рекомендуется, но выполнение этой операции может оказаться полезным для ознакомления с содержимым переменной.
В следующей таблице приведено общее описание компонентов значения переменной состояния CDC.
Компонент | Description |
---|---|
Это имя текущего состояния CDC. | |
CS | Это обозначает точку начала текущего диапазона обработки (Current Start). |
Это последний регистрационный номер транзакции в журнале, обработанный во время предыдущего запуска CDC. | |
CE | Это обозначает конечную точку текущего диапазона обработки (Current End). Наличие компонента CE в состоянии CDC указывает на то, что пакет CDC обрабатывается в данный момент или что произошел сбой пакета CDC до полного завершения обработки всего диапазона CDC. |
Это последний номер LSN, который должен быть обработан во время текущего выполнения CDC. Всегда предполагается, что последний последовательный номер, который должен быть обработан, является максимальным (0xFFF…). | |
IR | Это обозначает начальный диапазон обработки. |
Это номер LSN изменения прямо перед началом первоначальной загрузки. | |
Это номер LSN изменения непосредственно после завершения первоначальной загрузки. | |
TS | Это обозначает отметку времени последнего обновления состояния CDC. |
> | Это десятичное представление 64-разрядного свойства System.DateTime.UtcNow. |
ER | Оно отображается в случае сбоя последней операции и содержит краткое описание причины ошибки. При наличии этого компонента он всегда отображается последним. |
Это краткое описание ошибки. |
Номера LSN и последовательные номера кодируются в виде шестнадцатеричной строки длиной до 20 знаков, представляющей значение LSN Binary(10).
В следующей таблице описаны возможные значения состояния CDC.
Состояние | Description |
---|---|
(INITIAL) | Это исходное состояние до выполнения какого-либо пакета в текущей группе CDC. Это состояние также имеет место, если состояние CDC пусто. |
ILSTART (запуск начальной загрузки) | Это состояние, когда запускается начальная загрузка пакета после вызова задачи «Управление CDC» операцией MarkInitialLoadStart . |
ILEND (завершение начальной загрузки) | Это состояние, когда начальная загрузка пакета успешно завершается после вызова задачи «Управление CDC» операцией MarkInitialLoadEnd . |
ILUPDATE (обновление начальной загрузки) | Это состояние после выполнения пакета обновления тонкого канала после начальной загрузки во время продолжения обработки диапазона начальной обработки. Это происходит после вызова задачи «Управление CDC» операцией GetProcessingRange . |
TFEND (завершение обновления тонкого канала) | Это состояние, ожидаемое для регулярного выполнения CDC. Оно показывает, что предыдущее выполнение завершилось успешно и можно начинать новое выполнение с новым диапазоном обработки. |
TFSTART | Это состояние, которое возникает при последующем выполнении пакета обновления тонкого канала после вызова задачи "Управление CDC" операцией GetProcessingRange
. Оно показывает, что регулярное выполнение CDC начато, но еще не завершено или завершено неверно (MarkProcessedRange ). |
TFREDO (повторная обработка обновления тонкого канала) | Это состояние операции GetProcessingRange
, наступающее после TFSTART. Оно показывает, что предыдущее выполнение не завершилось успешно. Если используется столбец __$reprocessing, он получает значение 1, чтобы показать, что пакет может повторно обрабатывать строки, уже находящиеся в целевой базе данных. |
ERROR | Группа CDC находится в состоянии ERROR. |
Ниже приведены примеры значений переменной состояния CDC.
ILSTART/IR/0x0000162B158700000000//TS/2011-08-07T17:10:43.0031645/
TFEND/CS/0x0000025B000001BC0003/TS/2011-07-17T12:05:58.1001145/
TFSTART/CS/0x0000030D000000AE0003/CE/0x0000159D1E0F01000000/TS/2011-08-09T05:30:43.9344900/
TFREDO/CS/0x0000030D000000AE0003/CE/0x0000159D1E0F01000000/TS/2011-08-09T05:30:59.5544900/
Определение переменной состояния CDC
В SQL Server Data Toolsоткройте пакет SQL Server 2016 Integration Services (SSIS) , в котором имеется поток CDC, где необходимо определить переменную.
Щелкните вкладку Обозреватель пакетов и добавьте новую переменную.
Присвойте переменной имя, которое поможет обозначить ее как переменную состояния.
Назначьте переменной тип данных String .
Не присваивайте переменной значение в составе ее определения. Значение должно быть задано задачей «Управление CDC».
Если намечено использовать задачу «Управление CDC» с параметром Автоматическое сохранение состояния , то переменная состояния CDC будет считываться из указанной таблицы состояния в базе данных и после обновления снова записываться в ту же таблицу при изменении ее значения. Дополнительные сведения о таблице состояния см. в разделах и .
Если не используется задача «Управление CDC» с параметром автоматического сохранения состояния, то необходимо загружать значение переменной из постоянного хранилища, в котором это значение было сохранено в последний раз при прогоне пакета, а затем снова записывать его в постоянное хранилище после завершения работы с текущим диапазоном обработки.