Computer Science
7.92K subscribers
2 photos
17 links
По всем вопросам: @altmainf

Уважаемый менеджер: @altaiface
Download Telegram
Промышленная сеть

Промышленная сеть — сеть передачи данных, связывающая различные датчики, исполнительные механизмы, промышленные контроллеры и используемая в промышленной автоматизации. Термин употребляется преимущественно в автоматизированных системах управления технологическими процессами (АСУТП).

Устройства используют сеть для:
- передачи данных между датчиками, контроллерами и исполнительными механизмами;
- диагностики и удалённого конфигурирования датчиков и исполнительных механизмов;
- калибровки датчиков;
- питания датчиков и исполнительных механизмов;
- связи между датчиками, исполнительными механизмами, ПЛК и АСУ ТП верхнего уровня.

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

В сравнении с подключением периферийного оборудования к контроллеру отдельными проводами промышленная сеть имеет следующие достоинства:

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

Из недостатков выделяют:
- при обрыве кабеля теряется возможность получать данные и управлять не одним, а несколькими устройствами.
- для повышения надёжности приходится резервировать каналы связи или использовать кольцевую топологию сети.
Как программировать ПЛК (Программируемый логический контроллер)

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

Поэтому при программировании ПЛК используются флаги - булевые переменные признаков прохождения алгоритмом программы тех или иных ветвей условных переходов. Отсюда, при программировании ПЛК от программиста требуется определённый навык.

Например, процедуры начальной инициализации системы после сброса или включения питания. Эти процедуры нужно исполнять только однократно. Поэтому вводят булевую переменную (флаг) завершения инициализации, устанавливаемую при завершении инициализации. Программа анализирует этот флаг, и если он установлен, то обходит исполнение кода процедур инициализации.
Распределённая система управления. Требования и задачи.

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

Требования к современной РСУ:
- Отказоустойчивость и безопасность.
- Простота разработки и конфигурирования.
- Поддержка территориально распределённой архитектуры.
- Единая конфигурационная база данных.
- Развитый человеко-машинный интерфейс.

Задачи распределенных систем:
- Соединение пользователей с ресурсами.
- Прозрачность — свойство систем, которые представлены в виде единой компьютерной системы.
- Открытость — система, предлагающая службы, вызов которых требует стандартные синтаксис и семантику.
- Масштабируемость.
Протокол SOAP

SOAP - протокол обмена структурированными сообщениями в распределённой вычислительной среде. Первоначально SOAP предназначался в основном для реализации удалённого вызова процедур (RPC). Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур.

Сообщение SOAP выглядит так:
Envelope — корневой элемент, который определяет сообщение и пространство имен, использованное в документе.
Header — содержит атрибуты сообщения, например: информация о безопасности или о сетевой маршрутизации.
Body — содержит сообщение, которым обмениваются приложения.
Fault — необязательный элемент, который предоставляет информацию об ошибках, которые произошли при обработке сообщений.

Из недостатков выделяют, что при Использование SOAP для передачи сообщений увеличивает их объём и снижает скорость обработки. В системах, где скорость важна, чаще используется пересылка XML-документов через HTTP напрямую, где параметры запроса передаются как обычные HTTP-параметры.
Автоматизированная система управления технологическим процессом (АСУ ТП)

АСУ ТП - группа решений технических и программных средств, предназначенных для автоматизации управления Технологическим процессом. Может иметь связь с более общей автоматизированной системой управления предприятием(АСУП).

Составными частями АСУ ТП могут быть отдельные системы автоматического управления (САУ) и автоматизированные устройства, связанные в единый комплекс.

Как правило, АСУ ТП имеет единую систему операторского управления технологическим процессом в виде одного или нескольких пультов управления, средства обработки и архивирования информации о ходе процесса, типовые элементы автоматики: датчики, устройства управления, исполнительные устройства.

Главной особенностью АСУ ТП является периодическое либо регулярное участие человека-оператора в ее работе. Роль оператора состоит в периодическом либо регулярном контроле за системой операторского управления.
Функции автоматизированной системы управления

Функции АСУ устанавливают в техническом задании на создание конкретной АСУ на основе анализа целей управления, заданных ресурсов для их достижения, ожидаемого эффекта от автоматизации и в соответствии со стандартами, распространяющимися на данный вид АСУ. Каждая функция АСУ реализуется совокупностью комплексов задач, отдельных задач и операций.

Функции АСУ в общем случае включают в себя следующие элементы:
- планирование и прогнозирование;
- учет, контроль, анализ;
- координацию и регулирование.

Необходимый состав элементов выбирают в зависимости от вида конкретной АСУ. Функции АСУ можно объединять в подсистемы по функциональному и другим признакам.
Персональная сеть(PAN) и ее особенности

Персональная сеть — это сеть, построенная «вокруг» человека.

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

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

Особенности PAN:
- Малое число абонентов
- Небольшой радиус действия, до 30 метров
- Некритичность к наработке на отказ.
- Все устройства, входящие в PAN-сеть, можно контролировать.
- Отсутствие арбитража среды. Это означает, что встроенных средств контроля, как и кто может работать с этим типом сети — нет.
Сетевая топология

Сетевая тополо́гия — это конфигурация графа, вершинам которого соответствуют конечные узлы сети (компьютеры и коммуникационное оборудование (маршрутизаторы), а рёбрам — физические или информационные связи между вершинами.

Сетевая топология может быть:

1) физической — описывает реальное расположение и связи между узлами сети.

2) логической — описывает хождение сигнала в рамках физической топологии.

3) информационной — описывает направление потоков информации, передаваемых по сети.

4) управления обменом — это принцип передачи права на пользование сетью.
Полносвязная топология

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

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

Чаще всего эта топология используется в многомашинных комплексах или глобальных сетях при малом количестве рабочих станций.

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

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

1) Шина
представляет собой общий кабель, к которому подсоединены все рабочие станции. На концах кабеля находятся терминаторы, для предотвращения отражения сигнала.

2) Звезда
В сети, построенной по топологии типа «звезда», каждая рабочая станция подсоединяется кабелем к концентратору, или хабу. Концентратор обеспечивает параллельное соединение ПК и, таким образом, все компьютеры, подключенные к сети, могут общаться друг с другом.

3) Кольцо
В сети с топологией типа «кольцо» все узлы соединены каналами связи в неразрывное кольцо, по которому передаются данные. Выход одного ПК соединяется со входом другого ПК. Начав движение из одной точки, данные, в конечном счете, попадают на его начало. Данные в кольце всегда движутся в одном и том же направлении.

4) Ячеистая топология
Получается из полносвязной топологии путём удаления некоторых связей. Допускает соединения большого количества компьютеров и характерна для крупных сетей.
Характеристики алгоритмов сжатия и их применимость

1) Коэффициент сжатия
Коэффициент сжатия — основная характеристика алгоритма сжатия. Она определяется как отношение объёма исходных несжатых данных к объёму сжатых данных. Чем выше коэффициент сжатия, тем алгоритм эффективнее.

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

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

DLL - динамическая библиотека, позволяющая многократное использование различными программными приложениями. Эти библиотеки обычно имеют расширение DLL, OCX или DRV.

Формат файлов для DLL такой же, как для EXE-файлов Windows, то есть Portable Executable (PE) для 32-битных и 64-битных приложений Windows. Так же, как EXE, DLL могут содержать секции кода, данных и ресурсов. В системах Unix аналогичные функции выполняют так называемые общие объекты.

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

Далее предполагалось улучшить эффективность разработок и использования системных средств за счёт модульности. Замена DLL-программ с одной версии на другую должна была позволить независимо наращивать систему, не затрагивая приложений.

В дальнейшем идея модульности выросла в концепции Component Object Model и System Object Model.
Языки программирования ПЛК (Программируемый логический контроллер)

Для программирования ПЛК используются стандартизированные языки МЭК.

Языки программирования (графические):
- LD (Ladder Diagram) — Язык релейных схем — самый распространённый язык для PLC
- FBD (Function Block Diagram) — Язык функциональных блоков — 2-й по распространённости язык для PLC
- SFC (Sequential Function Chart) — Язык диаграмм состояний — используется для программирования автоматов
- CFC (Continuous Function Chart) — Не сертифицирован IEC61131-3, дальнейшее развитие FBD

Языки программирования (текстовые):
- IL (Instruction List) — Ассемблеро-подобный язык
- ST (Structured Text) — Паскале-подобный язык
- C-YART — Си-подобный язык (YART Studio)
Преимущества динамического анализа

- Выявление ошибок и проблем, которые не могут быть легко обнаружены при статическом анализе кода.
- Предоставление возможности проверки программного продукта в реальной среде выполнения.
- Увеличение доверия к качеству и надежности программного продукта.

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

Тем не менее, анализ неотъемлемая часть процесса тестирования ПО, позволяющая обеспечить достаточный уровень качества и надежность программного продукта.
Что такое безусловная оптимизация?

Безусловная оптимизация - это процесс оптимизации, в котором улучшение производительности системы происходит без каких-либо ограничений и учета других факторов(безопасность, надежность, устойчивость)

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

Поэтому на практике, при разработке и оптимизации системы, часто используется условная оптимизация
Отличие условной от безусловной оптимизации

Условная оптимизация и безусловная отличаются по тому, имеется ли определенное ограничение или условие для оптимизируемой величины.

Безусловная оптимизация имеет только одну цель - найти глобальный экстремум функции без каких-либо ограничений на оптимизируемые переменные (позволяет находить самое оптимальное значение функции)

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

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

Итерационная формула метода: x_k+1 = x_k - α * grad(f(x_k)), где α - постоянный шаг, grad - градиент

Алгоритм можно описать следующим образом:
1. Определить начальную точку x_0
2. Вычислить градиент функции f(x_0)
3. Найти новую точку x_1 = x_0 - α * grad(f(x_0))
4. Повторять шаги 2 и 3 до тех пор, пока не будет выполнено условие остановки
Градиентный метод с дроблением шага

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

Итерационная формула метода: x_k+1 = x_k - α * grad(f(x_k)), где grad - градиент

Алгоритм :
1. Определить начальную точку x0
2. Вычислить градиент функции f(x0)
3. Посчитать оптимальный шаг α
4. Найти новую точку x1 = x0 - α * grad(f(x0))
5. Повторять шаги 2-4 до тех пор, пока не будет выполнено условие остановки

Чтобы посчитать оптимальный шаг на каждой итерации используются методы одномерной оптимизации, например, метод золотого сечения или метод Фибоначчи. Эти методы позволяют найти минимальное значение функции на отрезке, который соответствует направлению наискорейшего убывания функции.
Метод наискорейшего спуска

Метод численного оптимизации, используемый для поиска экстремума функции.

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

Итерационная формула метода: x_k+1 = x_k - α * grad(f(x_k)), где grad - градиент

В схеме метода вычисляется оптимальное значение шага на каждой итерации:
α_k = argmin f(x_k - α * grad(f(x_k))

Характерная черта метода: градиенты функции в соседних точках ортогональны
Достоинства и недостатки градиентного метода

Достоинства:
- Глобальная сходимость, т.е. слабые требования к исходным данным
- Слабые требования к f(x), используется только градиент функции f.
- Относительная простота вычислений

Недостатки:
- Медленная скорость сходимости