Что такое ремонтантная память plc
Введение
Я занимаюсь автоматизацией зданий. Сложилось так, что в основном мы строим свои системы на базе ПЛК Beckhoff. Такой выбор был сделан прежде всего потому, что эти контроллеры являются свободно-программируемыми в полном смысле этих слов. Что это значит? Возьмите контроллер TAC Xenta, например, и попробуйте на нем реализовать обмен с внешним устройством через RS232 по собственному протоколу, на уровне «байт послал — байт принял». Не получится, эти контроллеры так не умеют — используйте только те протоколы, которые в них заложил разработчик. А Beckhoff умеет. Но прежде чем лезть в такие дебри, давайте посмотрим на среду разработки? На каком, собственно, языке, мы будем писать?
Стандарт МЭК 61131-3
Промышленные ПЛК программируются на языках стандарта МЭК 61131-3. Всего этих языков 5, некоторые производители добавляют свои. Языки друг на друга совсем не похожи, и, наблюдая за коллегами, могу предположить, что выбор того или иного языка связан прежде всего с тем, чем человек занимался до того, как он пришел в эту отрасль.
- IL, instruction list, список инструкций. Похож на ассемблер. Не видел никого, кто его использовал бы, но подозреваю, что олдскульные кодеры, пробивавшие перфокарты по памяти, оценят.
- LD, ladder diagram. Визуальный язык, для тех, кто занимался разработкой схем релейной автоматики.
- ST, structured text. Более всего напоминает «классические» языки программирования, чем-то похож на Паскаль. Оттого ценится теми, кто до ПЛК занимался программированием на других языках и платформах, в частности — мной.
- FBD, functional block diagram. Этакая блок схема, любим прежде всего технологами, решившими податься в программирование, за свою наглядность.
- SFC, sequential function chart. Графический язык, больше ничего не скажу. Ни разу не видел, чтоб его использовали.
Из не всеми поддерживаемых языков стоит отметить язык CFC (continuous flow chart), Beckhoff его поддерживает. Это дальнейшее развитие языка FBD, одним из наиболее существенных отличий, на мой взгляд, является поддержка явной обратной связи в схемах. Зачем это нужно? Например, вот такой генератор коротких импульсов на CFC будет работать, а на FBD – нет.
Блок TON — это стандартный блок, таймер с задержкой включения. Логика работы: выход Q становится TRUE, когда на входе IN сигнал TRUE в течение не менее времени PT.
Самая популярная, наверное, среда разработки под ПЛК — это CoDeSys. Многие производители берут ее за основу, и либо делают к ней библиотеку для работы со своим ПЛК, либо доделывают среду под себя.
Как работает ПЛК?
Программа ПЛК работает циклично. Время цикла может быть от единиц миллисекунд до единиц секунд, в зависимости от задач, которые на этот ПЛК возложены. Большинство ПЛК позволяют задавать время цикла разработчику программы, однако в некоторых моделях такой возможности нет. Многие ПЛК, в частности Beckhoff, позволяют в одной программе создать более одной циклически выполняемой задачи, и задать приоритет для этих задач. Что нам дает эта возможность?
Представим ситуацию: ПЛК управляет вентиляционной установкой, и к нему подключена панель управления через RS232. Температура в помещениях меняется не быстро, и запускать алгоритм управления вентиляцией чаще, чем раз в 50 — 100 мс просто нет смысла. Зато панель оператора опрашивает контроллер постоянно, и задержка ответа ПЛК более 10 мс уже выражается в «притормаживании» интерфейса пользователя, а при задержке 20 мс у нас переполнится аппаратный буфер COM-порта. Наличие нескольких задач позволяет нам решить эту проблему красиво: пусть «быстрая» задача работает с COM-портом, и вызывается каждые 2 мс, а «медленная» реализует логику работы вентиляции, и вызывается каждые 50 мс. Все работает хорошо, панель оператора не тормозит, пользователь доволен.
А что у этих железок внутри?
- Можно сделать «все в одной коробке» — голова, некий набор входов / выходов, несколько вариантов конфигурации — вот тут у нас входов побольше, тут поменьше, тут голова помощнее, тут послабее. Так делают, например, Carel, и много кто еще. На маленьком проекте такой подход себя в чем-то, может быть, и оправдывает.
- Но лично мне кажется, что большую гибкость дает другой подход. Голова отдельно, и к ней по шине подключается наборный «хвост» из модулей ввода-вывода. Мы ставим те модули, которые нам нужны, и в том количестве, которые нам нужно. Так делают Beckhoff и Siemens, например.
А вот другой вариант — голова Beckhoff серии CX9000 (слева на фото) с набором модулей ввода-вывода.
Помимо всего прочего, на голове еще имеется некая шина, позволяющая объединять ПЛК в сеть, а зачастую еще и менять его программу через эту же сеть. Какая это будет сеть — зависит от ПЛК. Это могут быть и незнакомые тем, кто не сталкивался с промышленными сетями EIA-485, Profibus, CAN, а может быть и вполне привычный Ethernet. Именно через эту сеть, называемую fieldbus, и осуществляется подключение ПЛК к верхнему уровню — к СКАДА-системе, например. На фото выше хорошо видны 2 разъема 8P8C на голове Beckhoff'а — это Ethernet, а у Carel сверху слева видны (плоховато, правда) 2 разъема 6P4C — так они сделали RS-485. У этого интерфейса, к сожалению, нет общепринятого разъема.
Так все же, как под него программы писать-то?
Вообще, это тема не статьи, а целой книги. Но расскажу то, что увидел на личном опыте, и пусть это будет ложкой дегтя.
Для профессиональных программистов освоение ПЛК во многом покажется деградацией. ООП? Их нет у нас, есть только структуры, перечисления, и некое подобие класса, которое называется «функциональный блок». Что такое Private, Public и прочее, тоже можно забыть сразу — не пригодится. Из любого места вашей программы можно получить доступ к любому другому месту.
Динамическое выделение памяти? Их нет у нас совсем. Не уверен, сколько тебе пришлют данных? Выделяй буфер с запасом, и забудь про эту память — освободить ее не получится. Либо проявляй чудеса скорости и обрабатывай данные на лету, если успеешь уложиться в заданное время цикла.
Исключения? Да что вы… видел я одно чудо, которое намертво висло при выполнении конструкции вида:
Понятно, что переполнение, не влазит foo * bar в 16 бит, но зачем же виснуть-то? Да еще так, что ничего, кроме сброса по питанию не помогает.
Среда разработки? Не у всех CoDeSys, многим хочется пооригинальничать и написать что-нить свое. Одна из таких самописных сред вылетала с runtime error при попытке записать число 86400 в 16-битный INT. А вы говорите, обработка исключений на ПЛК. Ее и в среде разработки-то не всегда нормально могут сделать.
НО! Зато для любителей той тонкой грани, которая отделяет железо от программного обеспечения, софта в просторечии — это очень интересная ветвь ай-ти, правда.
Надеюсь, что этот небольшой обзор будет полезен. Если хабрасообществу будет интересна эта тема, то расскажу про ПЛК подробнее.
Твердотельные накопители улучшают производительность устаревших компьютеров и превращают новые ПК в высокоскоростные. Но когда Вы выбираете SSD, Вас засыпают такими терминами, как SLC, SATA III, NVMe и M.2 . Что все это значит?
1.1 Загрузочная память
Память этого типа может состоять из RAM и EEPROM компонентов. Это первое место, куда попадает программа пользователя, конфигурация оборудования и данные о переменных, используемых в программе, после загрузки проекта через вашу среду разработки. В этой памяти данные являются энергонезависимыми и при перемещении карты памяти MMC, или отсутствия питания на ПЛК, данные не теряются, т.е. память здесь энергонезависимая, что является важной составляющей надежности ПЛК. Объем данной памяти составляет до 32Гбайт.
Рисунок 2. Карта памяти MMC
SSD с пятью уровнями ячеек (PLC)
SSD-контроллеры PLC, которые могут записывать 5 бит на ячейку, еще не существуют для потребителей, но они находятся в пути. Toshiba упомянула о дисках PLC в конце августа 2019 года, а Intel — в следующем месяце. Диски PLC должны быть в состоянии вместить в SSD еще больше емкости. Тем не менее, они будут иметь те же проблемы, что и TLC и QLC, когда речь идет о долговечности и производительности.
Мы рекомендуем Вам подождать, пока не появятся отзывы, прежде чем покупать ранний SSD PLC. Кроме того, проверьте рейтинги TBW, чтобы увидеть, насколько они долговечны.
Например, диск QLC, о котором мы упоминали выше, имеет более низкий рейтинг TBW, но он работает до 54 ГБ, записываемых в день в течение пяти лет. Никто не пишет так много данных дома, поэтому можно ожидать, что этот диск будет работать долго, несмотря на более низкий рейтинг TBW.
Заключение
Ключевым элементом памяти ПЛК серии S7 (ET200, S7-300,400,1500) является загрузочная внешняя флеш-память. И если ее не будет, то ваша программа никаким образом не попадет в ПЛК. На первый взгляд, кажется очень неудобно, покупать отдельную память для ПЛК, но иногда это достаточно полезная вещь. Например, чтобы передать версию программы, можно использовать карту памяти MMC, вместо того чтобы передавать вашу версию программы в чужие руки, тем самым оберегая себя от кражи интеллектуальной собственности.
TBW
Как правило, долговечность SSD выражается в TBW (запись в терабайтах). Это количество терабайт, которое можно записать на диск до того, как он выйдет из строя.
Модель Samsung 860 Evo на 500 ГБ (популярный SSD несколько лет назад) имеет рейтинг TBW 600; модель 1 ТБ — 1200 TBW. Это много данных, поэтому такой диск должен служить Вам долгие годы.
TBW также являются оценками «безопасного уровня»; SSD обычно превышают эти пределы. Однако, чтобы быть в безопасности, сделайте резервную копию, чтобы минимизировать потерю данных, особенно на старых дисках.
SSD с многоуровневой ячейкой (MLC)
Твердотельные накопители с многоуровневой ячейкой (MLC) не являются особенно точными. Они хранят только два бита на ячейку, что не очень «много», но иногда схемы именования технологий не всегда ориентированы на будущее.
MLC немного медленнее, чем SLC, поскольку для записи двух битов в ячейку требуется больше времени, чем одного. Они также менее долговечны и надежны, потому что данные записываются на флэш-память NAND чаще, чем с SLC.
Их емкость не такая высокая, как у других типов твердотельных накопителей, но Вы можете найти твердотельный накопитель MLC емкостью 1 ТБ.
Принципиальные отличия между SLC, MLC, TLC и QLC памятью SSD
Повышая емкость блока флеш-памяти, разработчики SSD могут снижать стоимость накопителей, но есть проблема. Нельзя просто наращивать число ячеек до 4, 6 или 10. Это существенно снижает ресурс диска, уменьшая количество циклов перезаписи, по истечении которого он уже не сможет ничего записывать (только читать).
С переходом на многоуровневые типы флеш-памяти сам транзистор, хранящий данные, принципиально не меняется. Он как был один, так и есть, просто инженеры научили его запоминать несколько уровней сигнала. При этом повышение их числа приводит к квадратичному росту количества уровней (комбинаций 0 и 1, записываемых в блок).
Для записи одного бита нужно всего 2 состояния (уровня) заряда: 0 и 1. Чтобы записать два бита – их уже должно быть 4: 00, 01, 10 и 11. Для трех бит требуется 8 уровней: 000, 001, 010, 011, 100, 101, 110 и 111. Для 4 бит на ячейку требуется 16 уровней сигнала. А чем больше уровней – тем «нежнее» сам транзистор, тем быстрее он изнашивается, деградирует.
Для SLC, если ячейки теряют чувствительность, можно просто слегка поднять подачу питания. Для других типов сделать это нельзя, так как при повышении накопленного заряда контроллер не сможет прочитать блок, например, приняв комбинацию 001 как 010. Вроде всего один бит сместился, но файл окажется поврежден. А чем больше уровней, тем ниже та самая граница по достижении которой элемент памяти выходит из строя.
Кроме того, что сами транзисторы становятся более чувствительными, частота обращения к ним тоже повышается. В итоге ресурс снижается в разы, а то и десятки или сотни раз. Если SLC в среднем выдерживает около 100 тыс. перезаписей, то MLC – около 10 тыс., TLC – 3-5 тыс., а самые дешевые чипы QLC переживают всего около 1 тыс. циклов. Инженеры прибегают к различным алгоритмам снижения нагрузки, но это лишь слегка улучшает износостойкость.
Третьей проблемой повышения плотности становится снижение скорости. Ведь чем больше уровней заряда может хранить транзистор, тем больше нагрузка на контроллер, который должен улавливать тончайшую разницу между схожими комбинациями бит. Чем больше состояний может поддерживать флеш-память SSD, тем она медленнее.
Другие термины SSD
Это основные типы флэш-памяти NAND, но вот еще несколько терминов, которые могут Вам помочь:
- 3D NAND: В какой-то момент производители NAND попытались расположить ячейки памяти NAND ближе друг к другу на плоской поверхности, чтобы уменьшить размер дисков и увеличить емкость. Это работало до определенного момента, но флэш-память начинает терять свою надежность, когда ячейки расположены слишком близко друг к другу. Чтобы обойти это, они поместили ячейки памяти друг на друга, чтобы увеличить емкость. Это обычно называется 3D NAND, а иногда и вертикальным NAND.
- Технология выравнивания износа: ячейки памяти SSD начинают разрушаться, как только они используются. Чтобы помочь накопителям оставаться в хорошей форме дольше, производители включают технологию износа, которая пытается записывать данные в ячейки памяти как можно более равномерно. Вместо того, чтобы постоянно записывать определенный блок в один раздел диска, он распределяет данные равномерно, поэтому все ячейки заполняются с одинаковой скоростью.
- Кэш: Каждый SSD имеет кэш, в котором данные кратко хранятся перед их записью на диск. Эти кэши имеют решающее значение для повышения производительности SSD. Как правило, они состоят из SLC или MLC NAND. Когда кэш заполнен, производительность имеет тенденцию к значительному падению — это особенно верно для некоторых TLC и большинства дисков QLC.
- SATA III: это наиболее распространенный интерфейс жесткого диска и SSD для ПК. В этом контексте «интерфейс» просто означает, как диск подключается к материнской плате. SATA III имеет максимальную пропускную способность 600 мегабайт в секунду.
- NVMe: этот интерфейс соединяет SSD с материнской платой. Нынешние потребительские накопители NVMe примерно в три раза быстрее, чем SATA III.
- M.2: Это форм-фактор (физический размер, форма и дизайн) накопителей NVMe. Их часто называют дисками Gumstick, потому что они крошечные и прямоугольные. Они вписываются в специальные слоты на большинстве современных материнских плат.
Теперь Вы хорошо подготовлены к тому, чтобы пойти дальше и выбрать лучший диск для своих нужд.
Программируемый логический контроллер (сокр. ПЛК; англ. programmable logic controller, сокр. PLC), программируемый контроллер — электронная составляющая промышленного контроллера, специализированного (компьютеризированного) устройства, используемого для автоматизации технологических процессов, энергетических и климатических систем. Очень часто качестве основного режима работы ПЛК выступает его длительное автономное использование, порой в неблагоприятных условиях окружающей среды, без серьёзного обслуживания и практически без вмешательства человека.
Иногда на ПЛК (PLC) строятся системы числового программного управления станков.
ПЛК — устройства, предназначенные для работы в системах реального времени.
ПЛК имеют ряд особенностей, отличающих их от прочих электронных приборов, применяемых в промышленности:
- в отличие от микроконтроллера (однокристального компьютера) — микросхемы, предназначенной для управления электронными устройствами — областью применения ПЛК обычно являются автоматизированные процессы промышленного производства в контексте производственного предприятия, комплексная автоматизация зданий и сооружений и.т.п;
- в отличие от компьютеров, ориентированных на принятие решений и управление оператором, ПЛК ориентированы на работу с машинами через развитый ввод сигналов датчиков и вывод сигналов на исполнительные механизмы;
- в отличие от встраиваемых систем ПЛК изготавливаются как самостоятельные изделия, отдельные от управляемого при его помощи оборудования.
В системах управления технологическими объектами логические команды, как правило, преобладают над арифметическими операциями над числами с плавающей точкой, что позволяет при сравнительной простоте микроконтроллера (шины шириной 8 или 16 разрядов), получить мощные системы, действующие в режиме реального времени. В современных ПЛК числовые операции в языках их программирования реализуются наравне с логическими. Все языки программирования ПЛК имеют лёгкий доступ к манипулированию битами в машинных словах, в отличие от большинства высокоуровневых языков программирования современных компьютеров.
Программирование ПЛК
Можно условно выделить 2 типа ПЛК по способу программирования.
Конфигурируемые: в ПЛК хранится несколько программ, а через клавиатуру ПЛК выбирается нужная версия программы;
Свободно программируемые: программа загружается в ПЛК через его специальный интерфейс с персонального компьютера используя специальное ПО производителя, иногда с помощью программатора.
При этом конечно надо понимать, что конфигурируемый контроллер изначально может быть свободно программируемым, в который для удобства или массового применения зашита одна или несколько типовых программ, которые конечный пользователь выбирает и/или настраивает по своему усмотрению. Для примера: в серии контроллеров Climatix от Сименс есть свободно программируемый ПЛК POL638.70/STD и наряду с ним присутствует конфигурируемый контроллер POL638.70/DH1, в котором запрограммирован ряд приложений для управления тепловыми пунктами, которые пользователь может выбрать и настроить под свою установку.
Удаленное управление и мониторинг
Как правило ПЛК обладают разнообразными и гибкими коммуникационными возможностями, которые обеспечивают возможность удаленного доступа и управления системами, а таже интеграцию в различные системы автоматизированного управления и сбора данных (SCADA системы). Ниже рассмтрим некоторые из них.
Панели оператора или HMI (от англ. Human Machine Interface) - устройства визуализации встроенные в контроллер или подключемые к нему кабелем или по шине данных. Существует множество различных типов HMI от простых цифровых с конопочным интерфейсом до интеллектуальных сенсорных ЖК панелей с воможностью отображения мнемосхемы установки и оперативного мониторинга и корректировки параметров.
SCADA системы (аббр. от англ. Supervisory Control And Data Acquisition — диспетчерское управление и сбор данных) — программный пакет, предназначенный для разработки или обеспечения работы в реальном времени систем сбора, обработки, отображения и архивирования информации об объекте мониторинга или управления. SCADA может являться частью АСУ ТП, АСКУЭ, системы экологического мониторинга, научного эксперимента, автоматизации здания и т. д. SCADA-системы используются во всех отраслях хозяйства, где требуется обеспечивать операторский контроль за технологическими процессами в реальном времени.
Веб-интерфейс - доступ интерфейсу контроллера через локальную (Intranet) или глобальную сеть Internet. В зависимости от оснащения контроллера и системы в целом это может быть простое управление на манер панели оператора, как например в контроллере Siemens Climatix POL638.00/STD, у которого нет встроенной панели оператора (как у POL638.70/STD), но благодаря наличию в контроллере интерфейса Ethernet, его можно настроить через Web-HMI с ноутбука или удаленно. Более продвинутое применение веб-интерфейса - это использование Web-сервера, который может быть встроенным или подключаться к контроллеру как внешний модуль (например POL909 для контроллеров серии Climatix POL6xx). В этом случае могут быть реализованы возможности мониторинга и управления системой (системами), мнемосхемы установок, архивирование информации отображение и обработка аварийных сигналов и.т.п. в зависимости от возможностей конкретного контроллера и поставленной задачи.
Благодаря активному развитию сетевой инфраструктуры в настоящий момент авктивно внедряется такая разновидность веб-интерфейса как облачные системы (технологии), подразумевающие обеспечение повсеместного и удобного сетевого доступа по требованию к общему пулу конфигурируемых вычислительных ресурсов, в нашем случае к серверам, устройствам обработки и хранения данных, приложениям и сервисам, которые обеспечивают мониторинг и управление системами клиента в режиме реального времени.
В качестве примера можно привести систему веб-диспетчеризации на базе облачных технологий через сеть Интернет – Synco IC от компании Сименс, которая позволяет осуществлять удаленный контроль и управление системами вентиляции и отопления зданий на базе контроллеров серии Synco 700 и Sigmagyr, которые дооснащаются Web-серверами OZW772 и OZW672 соотвественно.
Система Synco IC разработана для выполнения следующих функций:
наблюдение за состоянием объекта, контроль основных и вспомогательных технологических параметров;
- накопление и просмотр данных в архиве за заданный период в виде таблиц, сводок, графиков;
- экспорт архивных данных в файл MS Excel;
- управление объектами;
- сигнализация о выходе параметров за допустимые границы.
В финале данного обзора приведем ряд моделей ПЛК производимых компанией Siemens:
1. Siemens LOGO! - логический контроллер концерна Siemens AG или программируемое реле
2. Simatic S7 - семейство устройств автоматизации включающее в себя универсальные модульные программируемые контроллеры для решения задач различной степени сложности:
- S7-1200 - микро-ПЛК для решения простых задач промышленной автоматизации
- S7-300 - для построения систем автоматизации относительно низкой и средней степени сложности
- S7-400 - для построения систем автоматизации относительно средней и высокой степени сложности
3. Desigo - семейство контроллеров для комплексной автоматизации зданий
4. Climatix - линейка контроллеров для автомитизации систем отопления, вентиляции и кондиционирования.
Рынок твердотельных накопителей наполнен широким ассортиментом моделей разных ценовых категорий. Компаний, самостоятельно производящих и чипы памяти, и контроллеры, немного, поэтому десятки брендов продают плюс-минус одинаковое железо под разными вывесками. Из-за этого фирма на упаковке имеет мало значения, а главной характеристикой SSD является тип используемой памяти.
Флеш-память для SSD классифицируется по плотности записываемых данных, количеству уровней сигнала, поддерживаемых одной ячейкой. Чем их больше – тем выше плотность записи, тем дешевле обойдется диск в пересчете на единицу объема. Сегодня выпускаются и продаются SSD с памятью SLC, MLT, TLC, а недавно к ним прибавились еще и модели на QLC.
Дешево, быстро, надежно: сложный выбор
Чем больше бит хранит транзистор, тем память SSD будет дешевле в расчете на гигабайт, но тем ниже окажутся ее скорость и долговечность. Из-за этого накопители с разным типом чипов отличаются ценой, быстродействием и надежностью. SLC – самые быстрые и живучие, но дорогие. Из-за этого такие диски выпускаются, преимущественно, для корпоративного сегмента.
SSD с памятью MLC потихоньку уходит в прошлое. Все из-за того, что с переходом на 3D NAND чипы (содержащие транзисторы в несколько слоев), по мере устранения недостатков, ресурс TLC мало уступает MLC, но зато трехуровневая память обходится дешевле. Смысла платить больше почти нет, поэтому в потребительском сегменте новые модели на MLC выпускают только в верхнем сегменте.
Памятью MLC оснащаются, в основном, высокоскоростные модели вроде Samsung 970 PRO. Такие накопители можно смело использовать и в игровом, и рабочем, и развлекательном ПК или ноутбуке. Правда, чтобы иметь побольше места, придется заметно переплатить.
SSD на TLC 3D NAND занимают основную часть рынка. Большинство актуальных моделей содержат именно такие чипы. Хорошим примером твердотельного накопителя с такой памятью является Samsung 860 EVO, который и быстр, и достаточно надежен, но доступнее чем Pro.
QLC – вещь новая, еще не очень популярная, но уже встречающаяся в продаже. Популярные носители на ее базе – Samsung 860 QVO (не путать с EVO!). Также уже полно дисков от мелких китайских фирм, вроде KingSpec. Именно их и можно поискать по цене около $100 за терабайт. Правда, надежность подобных гаджетов пока не очень изучена, и брать их стоит только под файловое хранилище, установку игр, хранение мультимедиа. Но крайне не рекомендую качать на диски QLC торренты, писать потоковое видео (например, с IP-камеры) и подвергать иным активностям такого рода.
Подводя итоги, можно сказать, что SLC-память для SSD лучше во всем. Но она намного дороже, поэтому выпускается лишь для оборудования промышленного и серверного применения. MLC и TLC – оптимальный вариант по соотношению цены, скорости и надежности. Именно ее стоит брать для универсального компьютера, используемого и для работы, и игр.
Относительно QLC стоит быть осторожным. Да, это доступный вид памяти, который предлагает много гигабайт за немного денег. Но покупать такой диск под установку системы, а тем более, хранение ценных данных нежелательно ввиду малого числа отзывов и статистики.
Компромиссным вариантом является покупка нескольких накопителей разного типа. Взяв под систему и ценные файлы скоростную модель с NVME на 120-256 ГБ, можно быть спокойным и за сохранность файлов, и за быстродействие компьютера. А под хранение файлов, не подразумевающее частых перезаписей, для экономии можно взять тот же Samsung 860 QVO на 500 ГБ, 1 ТБ или больше.
Для решения промышленных задач на производстве используют ПЛК (промышленный логический контроллер), и часто для удовлетворения требований заказчика, приходится использовать ПЛК разных производителей со своими особенностями, таких как внешняя загрузочная флеш-память.
Для того чтобы понять ее назначение стоит знать всю структуру памяти ПЛК, об этом и пойдет речь.
SSD-накопители с трехслойной ячейкой (TLC)
Как следует из названия, SSD TLC записывают три бита в каждую ячейку. На момент написания этой статьи TLC являются наиболее распространенным типом SSD.
Они объединяют в себе меньшую емкость, чем диски SLC и MLC, но жертвуют относительной скоростью, надежностью и долговечностью. Это не означает, что диски TLC плохие. На самом деле, они, вероятно, являются Вашим лучшим вариантом сейчас.
1. Структура памяти ПЛК Siemens S7
Самым популярным решением в области АСУ ТП на сегодняшний день являютcя решения от компании SIEMENS. Надежные системы с S7-300, S7-400, S7-1200, ET-200 позволяют усовершенствовать технологический процесс во всех его аспектах.
В ПЛК S7 серии различают следующие виды памяти (рис.1) :
Загрузочная, обычно в виде карты памяти MMС;
Рабочая, является частью CPU;
Системная, конструктивно является частью CPU.
Виды памяти для SSD
SLC – исторически первый тип флеш-памяти, применяемый в твердотельных накопителях. Аббревиатура расшифровывается как «Single Level Cell» (одноуровневая ячейка), и, как следует из названия, поддерживает один уровень сигнала. Такой блок лишь записывает логический 0 или 1, в зависимости от положения транзистора, и может содержать только 1 бит информации.
MLC – развитие SLC, расшифруется как «Multi Level Cell», то есть, «ячейка со многими уровнями». Транзистор такой флеш-памяти уже может «помнить» не просто 1 или 0, а несколько уровней сигнала, благодаря чему содержит 2 бита информации. Это позволяет поднять плотность записи при том же техпроцессе вдвое, а значит снизить цену на гигабайт емкости до 2 раз.
TLC или «Triple Level Cell» (три уровня) – логичное продолжение MLC. За счет тонкого управления уровнем заряда ячейки, и повышением чувствительности считывания, один элемент флеш-памяти может хранить в себе 3 бита информации.
QLC – самый новый, на данный момент (2019), вид памяти для SSD. Она расшифровывается как «Quad Level Cell» и, соответственно, способна хранить 4 бита данных в ячейке одновременно. Такая флеш-память – самая доступная, бюджетный диск на терабайт с ней можно найти по цене около $100-120.
SSD с четырьмя уровнями ячеек (QLC)
Диски четырехъярусной ячейки (QLC) могут записывать четыре бита на ячейку.
QLC NAND может упаковать намного больше данных, чем другие типы, но прямо сейчас диски QLC сильно влияют на производительность дисков. Это особенно верно, когда кэш исчерпан во время передачи больших файлов (40 ГБ или выше). Это может быть краткосрочной проблемой, поскольку производители пытаются оптимизировать QLC.
Долговечность также вызывает беспокойство. Бюджетный накопитель Crucial P1 QLC NVMe имеет номинальную мощность 100 TBW на модели 500ГБ и только 200 TBW на 1ТБ. Это довольно мало по сравнению с TLC, но все еще достаточно для домашнего использования.
1.3 Системная память
Системная память содержит адреса (переменные), к которым вы обращаетесь в своей программе, это могут быть адреса дополнительных модулей ввода/вывода или адреса внутренней памяти ПЛК ( меркеры, таймеры, счетчики и т.д.). Системная память берет ответственность за низкий уровень ПЛК, общаясь с модулями ввода/вывода по внутренней шине и ялвяется последним звеном в выдаче команд на исполнительные устройства.
О ячейках памяти
1.2 Рабочая память
Представляет собой быструю RAM-память, в которую загружается необходимые для работы данные пользовательской программы из загрузочной памяти. Эта "быстрая" память используется для выполнения цикла программы с максимальной скоростью, и главной задачей использования этого типа памяти в выполнении алгоритма, является уменьшение времени цикла программы.
SSD с одноуровневой ячейкой (SLC)
Основным типом SSD является SSD с одноуровневой ячейкой (SLC). SLC принимают один бит на ячейку памяти. Это немного, но у него есть некоторые преимущества. Во-первых, SLC — это самый быстрый тип SSD. Они также более долговечны и менее подвержены ошибкам, поэтому считаются более надежными, чем другие твердотельные накопители.
SLC популярны в корпоративных средах, где потеря данных менее терпима, а надежность является ключевым фактором. SLC, как правило, дороже, и они, как правило, не доступны для потребителей.
Если Вы видите потребительский SSD SLC, он, вероятно, имеет другой тип NAND и кэш SLC для повышения производительности.
Читайте также: