Что значит управлять потоком
управление потоком
3.6.15 управление потоком (flow control): Специфическая система управления производством, основанная в первую очередь на установлении производительности и ее обеспечении для выполнения запланированных норм и последующего проведения мониторинга и управления производством.
Смотри также родственные термины:
46. Управление потоком данных
Регулирование потока данных внутри или между смежными уровнями взаимосвязи открытых систем
Полезное
Смотреть что такое «управление потоком» в других словарях:
управление потоком — Методы, используемые для контроля за передачей данных между двумя точками сети и позволяющие избегать потери данных в результате переполнения приемных буферов. [http://www.lexikon.ru/dict/net/index.html] Тематики сети вычислительные EN flow… … Справочник технического переводчика
управление потоком — srauto valdymas statusas T sritis automatika atitikmenys: angl. flow control; traffic control vok. Ablaufregelung, f; Flußregelung, f; Flußsteuerung, f; Verkehrssteuerung, f rus. управление потоком, n pranc. commande de flux, f; régulation de… … Automatikos terminų žodynas
управление потоком данных — управление потоком Регулирование потока данных внутри или между смежными уровнями взаимосвязи открытых систем. [ГОСТ 24402 88] Тематики телеобработка данных и вычислительные сети Синонимы управление потоком EN flow control … Справочник технического переводчика
управление потоком нагрузки — управление трафиком — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы управление трафиком EN traffic flow control … Справочник технического переводчика
управление потоком данных с помощью окна — — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN window flow control … Справочник технического переводчика
управление потоком документов — Полная или частичная автоматизация бизнес процессов, при которой документы (сообщения) передаются от одного участника другому для выполнения определенных действий согласно своду процедурных правил [Упрощение процедур торговли: англо русский… … Справочник технического переводчика
Управление потоком данных — 46. Управление потоком данных Управление потоком Flow control Регулирование потока данных внутри или между смежными уровнями взаимосвязи открытых систем Источник: ГОСТ 24402 88: Телеобработка данных и вычислительные сети. Термины и определения … Словарь-справочник терминов нормативно-технической документации
Управление потоком данных — 1. Регулирование потока данных внутри или между смежными уровнями взаимосвязи открытых систем Употребляется в документе: ГОСТ 24402 88 Телеобработка данных и вычислительные сети. Термины и определения … Телекоммуникационный словарь
общее управление потоком — (МСЭ Т G.798). [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN generic flow controlGFC … Справочник технического переводчика
Управление — 2 Управление Совокупность целенаправленных действий, включающая оценку ситуации и состояние объекта управления Выбор управляющих воздействий и их реализация (ГОСТ 34.003 90). Применительно к персоналу (как объекту управления) под управлением… … Словарь-справочник терминов нормативно-технической документации
Потоки и работа с ними
Многопоточность позволяет увеличивать скорость реагирования приложения и, если приложение работает в многопроцессорной или многоядерной системе, его пропускную способность.
Процессы и потоки
Процесс — это исполнение программы. Операционная система использует процессы для разделения исполняемых приложений. Поток — это основная единица, которой операционная система выделяет время процессора. Каждый поток имеет приоритет планирования и набор структур, в которых система сохраняет контекст потока, когда выполнение потока приостановлено. Контекст потока содержит все сведения, позволяющие потоку безболезненно возобновить выполнение, в том числе набор регистров процессора и стек потока. Несколько потоков могут выполняться в контексте процесса. Все потоки процесса используют общий диапазон виртуальных адресов. Поток может исполнять любую часть программного кода, включая части, выполняемые в данный момент другим потоком.
Цели применения нескольких потоков
Используйте несколько потоков, чтобы увеличить скорость реагирования приложения и воспользоваться преимуществами многопроцессорной или многоядерной системы, чтобы увеличить пропускную способность приложения.
Представьте себе классическое приложение, в котором основной поток отвечает за элементы пользовательского интерфейса и реагирует на действия пользователя. Используйте рабочие потоки для выполнения длительных операций, которые, в противном случае будут занимать основной поток, в результате чего пользовательский интерфейс будет недоступен. Для более оперативной реакции на входящие сообщения или события также можно использовать выделенный поток связи с сетью или устройством.
Если программа выполняет операции, которые могут выполняться параллельно, можно уменьшить общее время выполнения путем выполнения этих операций в отдельных потоках и запуска программы в многопроцессорной или многоядерной системе. В такой системе использование многопоточности может увеличить пропускную способность, а также повысить скорость реагирования.
Наконец, можно использовать класс System.Threading.Thread, который представляет управляемый поток. Дополнительные сведения см. в разделе Использование потоков и работа с потоками.
Исключения следует обрабатывать в потоках. Необработанные исключения в потоках, как правило, приводят к завершению процесса. Дополнительные сведения см. в статье Исключения в управляемых потоках.
Управление денежными потоками предприятия на примерах из практики
Управление денежными потоками предприятия на примерах из практики
Опытный финансовый аналитик, бизнес-консультант, на экспертном уровне владеющий МСФО, имеет диплом DipIFR, более 10 лет руководящей работы. Возглавляла финансовые подразделения компаний с миллиардным оборотом и штатной численностью более тысячи сотрудников. Успешно с нуля внедряла управленческий учет на базе «1С:Управление производственным предприятием», осуществляла трансляцию РСБУ – МСФО, финансовый контроль (P&L, AR и AP, cashflow), отвечала за бюджетирование и прогнозирование, за прохождение внутренних и внешних аудитов, предоставляла отчетность лично учредителям компаний, неся полную ответственной за реализацию финансовой стратегии. В 2017 году открыла частную практику. Занимается консалтингом малого и среднего бизнеса, написанием бизнес-планов, white paper, привлечением финансирования на российском и международном рынках.
В чем суть управления денежными потоками?
В качестве вводного слова расскажу о том, что такое управление денежными потоками на предприятии с теоретической точки зрения.
Денежный поток – это самый ликвидный из оборотных активов предприятия. Управление денежными потоками вписано в цикл управления оборотным капиталом и тесно вязано с другими процессами (см. рисунок 1).
Рисунок 1. Цикл оборота оборотного капитала
Денежные средства на расчетном счету используются для оплаты поставщикам и подрядчикам за товары (сырье, материалы) и услуги. В процессе использования сырья возникает незавершенное производство, которое через некоторое время формирует готовую продукцию на складе отгрузки. Готовая продукция продается клиенту и образуется дебиторская задолженность, которая в итоге дает деньги на расчетном счете, увеличенные на сумму прибыли.
Чем дольше у предприятия операционный цикл, тем на более долгий промежуток времени денежные средства выводятся из оборота, больше кассовый разрыв. Но операционным циклом мы, финансисты, можем управлять лишь опосредованно и в незначительной мере. Куда большую пользу мы можем принести, управляя финансовым циклом предприятия.
Напомню взаимосвязь операционного и финансового циклов на рисунке 2.
Рисунок 2. Связь финансового и операционного циклов
То есть наша задача лежит в области максимального удлинения периода оборота кредиторской задолженности и максимального сокращения периода оборота дебиторской задолженности.
В теории все понятно, а вот на практике многие сталкиваются с трудностями. Разделим процесс управления фиинансовыми потоками на три вида деятельности:
Оперативное управление денежными потоками
Суть оперативного управления денежными средствами сводится к налаженному ежедневному процессу проверки поступлений и выполнения оплат. С одной стороны, не должен быть упущен ни один платеж. С другой, вся деятельность должна занимать как можно меньше рабочего времени.
На момент моего прихода в компанию проведением платежей занималась бухгалтерия, участок банк-касса (см. также подробнее про эквайринг, его виды и схему работы). Счета в оплату визировались у руководителя подразделения (виза проставлялась прямо на счете) и складывались бухгалтеру в специальный лоток. Те менеджеры, которым оплата счета требовалась срочно, постоянно звонили бухгалтеру с просьбой оплатить. Иногда менеджеры злоупотребляли несовершенством схемы и проводили срочные оплаты по договоренности с подрядчиками.
Контролем сроков поступления оплат от покупателей не занимался никто.
Быстро оценив ситуацию, я предприняла три важных шага:
Ежедневными обязанностями казначея стали:
В результате руководители подписывали в электронном виде заявки на расходование денежных средств, финансовый директор – итоговый реестр оплат на текущий день, а бухгалтер на участке банк-касса получал готовый реестр счетов в оплату не позднее 13 часов дня и успевал сделать всю ежедневную работу. Для увеличения эффекта отмечу, что ежедневно оплачивалось до 150 счетов.
Остановлюсь подробнее на автоматизации заявок на расходование денежных средств.
Заявка на расходование денежных средств – это документ, имеющий все атрибуты счета: дату оплаты, контрагента, назначение платежа, сумму. Но кроме этого заявка имеет такие атрибуты как:
Заявка может иметь алгоритм согласования, что важно для громоздких штатных структур.
Получив счет на оплату, менеджер проекта или сотрудник департамента закупок, или иной сотрудник, вводит в «1С:Управление производственным предприятием» новую заявку на расходование денежных средств и связывает ее с договором с заказом покупателя, по которому будет происходить расходование и с расходными документами от поставщика и с соответствующим бюджетом ЦФО.
Таким образом, всем участвующим в процессе пользователям видно, по какому ЦФО эта заявка, к какому конкретно Заказу покупателя она относится, была ли выполнена поставка товара (оказание услуг) если от этого зависят сроки оплаты и т.д. Заявка не будет поставлена в оплату, пока не подойдет срок оплаты.
Вероятность пропустить неправильный или намеренно ошибочный счет снижается в разы, а количество свободных денежных средств компании увеличивается.
Практикой многих зарубежных предприятий доказана эффективность «платежных дней». Один-два дня в неделю устанавливаются «платежными», соответственно во всех договорах оговариваются «платежные дни» например, вторник и четверг. Это приводит к лучшей структуризации работы сотрудников казначейства и бухгалтерии, экономится рабочее время.
Ввели чуть позже платежные дни и мы. Правда на это ушло еще около полгода, пока мы разобрались с безотказной работой платежной системы и подчистили просроченные платежи поставщикам.
Еще одной важной задачей для казначея стало управление денежными средствами дочерних компаний, находящихся в регионах и странах СНГ. Ранее каждая «дочка» управляла ДС самостоятельно, используя беспроцентное финансирование «мамы». Чаще всего это выглядело так: в регионах все платежи платились с опережением, счета от региональных «дочек» в сторону «мамы» выставлялись и оплачивались исправно, тем самым приводя к кассовому разрыву у «мамы».
В обязанности казначея было введено управление денежными средствами дочерних компаний и применение к ним те же принципов оплаты, что и в головной компании. Чуть позже мы объединили компании и выделили их в виде филиалов, что еще больше повысило управляемость, но уже другая история, расскажу ее в следующий раз.
Кроме того, еженедельно казначей формировал отчет «Дебиторская задолженность по срокам долга», в стандартном виде (таблица 1).
Таблица 1. Отчет «Дебиторская задолженность по срокам долга»
Управление потоком данных
Для управления потоком данных (Flow Control) могут использоваться два варианта протоко-
ла – аппаратный и программный. Иногда управление потоком путают с квитированием. Квитиро-
вание (handshaking) подразумевает посылку уведомления о получении элемента, в то время как управление потоком предполагает посылку уведомления о возможности или невозможности после- дующего приема данных. Зачастую управление потоком основано на механизме квитирования.
Аппаратный протокол управления потоком RTS/CTS (hardware flow control) использует сиг-
нал CIS, который позволяет остановить передачу данных, если приемник не готов к их приему.
Передатчик «выпускает» очередной байт только при включенной линии CTS. Байт, который уже начал передаваться, задержать сигналом CTS невозможно (это гарантирует целостность по- сылки). Аппаратный протокол обеспечивает самую быструю реакцию передатчика на состояние при- емника. Микросхемы асинхронных приемопередатчиков имеют не менее двух регистров в приемной части – сдвигающий, для приема очередной посылки, и хранящий, из которого считывается приня- тый байт. Это позволяет реализовать обмен по аппаратному протоколу без потери данных.
Аппаратный протокол удобно использовать при подключении принтеров и плоттеров, если они
его поддерживают. При непосредственном (без модемов) соединении двух компьютеров аппарат- ный протокол требует перекрестного соединения линий RTS – CTS. При непосредственном соеди- нении у передающего терминала должно быть обеспечено состояние «включено» на линии CTS (со- единением собственных линий RTS – CTS), в противном случае передатчик будет «молчать».
Применяемые в IBM PC приемопередатчики (8250) сигнал CTS аппаратно не отрабатывают, а только показывают его состояние в регистре MSR. Реализация протокола RTS/CTS возлагается на драйвер BIOS Int 14h, и называть его «аппаратным» не совсем корректно. Если же программа, пользующаяся СОМ-портом, взаимодействует с UART на уровне регистров (а не через BIOS), то обработкой сигнала CTS для поддержки данного протокола она занимается сама. Ряд коммуника- ционных программ позволяет игнорировать сигнал CTS (если не используется модем), и для них не требуется соединение входа CTS с выходом даже своего сигнала RTS. Однако существуют и иные приемопередатчики (например, 8251), в которых сигнал CTS отрабатывается аппаратно. Для них, а также для «честных» программ, использование сигнала CTS на разъемах (а то и на кабелях) обязательно. Преимущество протокола RTS/CTS во времени реакции (по сравнению с программ- ным методом XON/XOFF) остается лишь для буферированной (в режиме FIFO) передачи.
Программный протокол управления потоком XON/XOFF предполагает наличие двунаправ-
ленного канала передачи данных. Работает протокол следующим образом: если устройство, прини- мающее данные, обнаруживает причины, по которым оно не может их дальше принимать, оно по об- ратному последовательному каналу посылает байт-символ XOFF (13h). Противоположное устрой- ство, приняв этот символ, приостанавливает передачу. Когда принимающее устройство снова стано- вится готовым к приему данных, оно посылает символ XON (llh), приняв который противополож- ное устройство возобновляет передачу. Время реакции передатчика на изменение состояния при- емника по сравнению с аппаратным протоколом увеличивается, по крайней мере, на время переда- чи символа (XON или XOFF) плюс время реакции программы передатчика на прием символа.
Из этого следует, что данные без потерь могут приниматься только приемником, имеющим до- полнительный буфер принимаемых данных и сигнализирующим о неготовности заблаговременно (имея в буфере свободное место).
Преимущество программного протокола заключается в отсутствии необходимости передачи
управляющих сигналов интерфейса – минимальный кабель для двустороннего обмена может иметь только 3 провода. Недостатком, помимо обязательного наличия буфера и большего времени реакции (снижающего общую производительность канала из-за ожидания сигнала XON), является сложность реализации полнодуплексного режима обмена. В этом случае из потока принимаемых дан- ных должны выделяться (и обрабатываться) символы управления потоком, что ограничивает набор передаваемых символов.
Интерфейс RS-485
Стандарт RS-485 был совместно разработан двумя ассоциациями производителей: Амери- канскими Ассоциацией электронной промышленности (EIA – Electronics Industries Association) и Ассоциацией промышленности средств связи (TIA – Telecommunications Industry Associastion).
«Официальное» название стандарта – TIA/EIA-485 Electrical Characteristics of Generators and Receivers for Use in Balanced Digital Multipoint Systems (Электрические характеристики передатчи- ков и приемников, используемых в балансных цифровых многоточечных системах). Однако боль- шинство специалистов используют старое обозначение, RS-485.
Интерфейс RS-485 – широко распространенный достаточно высокоскоростной и помехо- устойчивый промышленный последовательный интерфейс передачи данных. Практически все со- временные компьютеры в промышленном исполнении, большинство интеллектуальных датчиков и исполнительных устройств, программируемые логические контроллеры наряду с традиционным интерфейсом RS-232 содержат в своем составе ту или иную реализацию интерфейса RS-485.
Традиционный интерфейс RS-232 в промышленной автоматизации применяется достаточно
редко. Сигналы этого интерфейса передаются несимметричными сигналами относительно общего провода, длина линии связи, как правило, ограничена расстоянием в несколько метров из-за низ- кой помехоустойчивости. Интерфейс RS-232 принципиально не позволяет создавать сети, так как соединяет только 2 устройства (соединение «точка-точка»). До недавнего времени RS-232 имелся в каждом PC-совместимом компьютере, где использовался в основном для подключения «мыши», модема, реже – для передачи данных на небольшое расстояние из одного компьютера в другой.
Интерфейс RS-485 позволяет создавать сети путем параллельного подключения многих уст- ройств к одной физической линии («мультиплексная шина»), обеспечивая обмен данными между несколькими устройствами по одной двухпроводной линии связи в полудуплексном режиме (раз- новидность RS-485 – RS-422 – в дуплексном). Сигналы интерфейса RS-485 передаются дифферен- циальными перепадами напряжения, что обеспечивает высокую помехоустойчивость и общую длину линии связи до 1 км (и более, с использованием специальных устройств – повторителей).
Протоколы. Стандарт RS-485 не нормирует формат информационных кадров и протокол обмена. Наиболее часто для передачи байтов данных используются те же фреймы, что и в интер- фейсе RS-232: стартовый бит, биты данных, бит паритета (если нужно), стоповый бит. Протоколы обмена в большинстве систем работают по принципу «ведущий»–«ведомый»: одно устройство на магистрали является ведущим (master) и инициирует обмен посылкой запросов подчиненным (ве- домым) устройствам (slave), которые различаются логическими адресами. Одним из популярных протоколов является протокол Modbus RTU.
Разъемы. Тип соединителей и их распайка также не оговариваются стандартом RS-485.
Встречаются соединители DB9, клеммные соединители и т.д.
В интерфейсе RS-485 используется принцип дифференциальной (балансной) передачи дан- ных, суть которого заключается в передаче одного сигнала по двум проводам, причем по одному проводу идет оригинальный сигнал, а по другому – его инверсная копия. Таким образом, между двумя проводами витой пары всегда есть разность потенциалов: при «1» она положительна, при
Такой способ передачи обеспечивает высокую устойчивость к синфазной помехе (дейст- вующую на оба провода линии одинаково). Так, электромагнитная волна, проходя через участок линии связи, наводит в обоих проводах потенциал. Если сигнал передается потенциалом в одном проводе относительно общего («земли»), как в RS-232, то наводка на этот провод может исказить сигнал относительно хорошо поглощающей наводки «земли». Кроме того, на сопротивлении
длинной «земли» будет падать разность потенциалов земель – дополнительный источник искаже- ний. При дифференциальной же передаче искажения не происходит, поскольку, если два провода пролегают близко друг к другу (к тому же перевиты), то наводка на оба провода одинакова. По- тенциал в обоих одинаково нагруженных проводах изменяется одинаково, при этом информатив- ная разность потенциалов остается без изменений.
Существуют два варианта интерфейса: RS-422 и RS-485.
RS-422 – полнодуплексный интерфейс. Прием и передача идут по двум отдельным парам проводов. На каждой паре проводов может быть только по одному передатчику.
RS-485 – полудуплексный интерфейс. Прием и передача идут по одной паре проводов с раз-
делением по времени. В сети может быть много передатчиков, так как они могут отключаются в
Стандартные параметры интерфейсов | RS-422 | RS-485 |
Допустимое число передатчиков / приемников | 1 / 10 | 32 / 32 |
Максимальная длина кабеля | 1200 м | 1200 м |
Максимальная скорость связи | 10 Мбит/с | 10 Мбит/с |
Диапазон напряжений «1» передатчика | +2. +10 В | +1.5. +6 В |
Диапазон напряжений «0» передатчика | –2. –10 В | –1.5. –6 В |
Диапазон синфазного напряжения передатчика | –3. +3 В | –1. +3 В |
Допустимый диапазон напряжений приемника | –7. +7 В | –7. +12 В |
Пороговый диапазон чувствительности приемника | ±200 мВ | ±200 мВ |
Максимальный ток короткого замыкания драйвера | 150 мА | 250 мА |
Допустимое сопротивление нагрузки передатчика | 100 Ом | 54 Ом |
Входное сопротивление приемника | 4 кОм | 12 кОм |
Максимальное время нарастания сигнала передатчика | 10% бита | 30% бита |
Аппаратная реализация интерфейса – микросхемы приемопередатчиков с дифференциаль- ными входами/выходами (подключаемыми к линии) и цифровыми портами (подключаемыми к портам UART микроконтроллера).
D (driver) – передатчик; A – прямой дифференциальный вход/выход;
R (receiver) – приемник; B – инверсный дифференциальный вход/выход; DI (driver input) – цифровой вход передатчика; Y – прямой дифференциальный выход (RS-422); RO (receiver output) – цифровой выход приемника; Z – инверсный дифференциальный выход (RS-422) DE (driver enable) – разрешение работы передатчика;
RE (receiver enable) – разрешение работы приемника;
Для работы приемопередатчика RS-485 с микроконтроллером цифровой выход приемника (RO) подключается к порту приемника UART (RX), а цифровой вход передатчика (DI) – к порту передатчика UART (TX). Поскольку на дифференциальной стороне приемник и передатчик со- единены, то во время приема нужно отключать передатчик, а во время передачи – приемник. Для этого служат управляющие входы – разрешение приемника (RE) и разрешения передатчика (DE). Так как вход RE инверсный, то его можно соединить с DE и переключать приемник и передатчик одним сигналом с любого порта контроллера. При уровне «0» – работа на прием, при «1» – на пе- редачу.
Приемник, получая на дифференциальных входах (AB) разность потенциалов (UAB) перево- дит их в цифровой сигнал на выходе RO. Чувствительность приемника может быть разной, но га- рантированный пороговый диапазон распознавания сигнала обычно составляет ± 200 мВ. То есть, когда UAB > +200 мВ – приемник определяет «1», когда UAB