Подтвердить что ты не робот

Обучение программированию ПЛК

Как узнать программирование ПЛК? Будет ли он сильно отличаться для разных брендов ПЛК? Является ли программирование лестницы таким же, как программирование ПЛК?

4b9b3361

Ответ 1

Я много программировал ПЛК, а теперь немного программирую .NET. Очень опасно делать переключатель в любом случае, потому что многие навыки, которые, по вашему мнению, должны быть переданы (шаблоны и т.д.), Очень сильно заблуждаются.

Самое большое различие, которое я говорю людям, заключается в том, что программный код ПК должен быть написан так, как если бы другие программисты были аудиторией, но программы ПЛК (лестничная логика) должны быть написаны так, как если бы люди обслуживания были аудиторией. Обслуживание большинства объектов (в частности, производство) часто связывается напрямую с ПЛК и в режиме онлайн, они могут наблюдать, как код выполняется графически, чтобы выяснить, что неправильно.

Например, если выход не включается, они будут вводить идентификатор выходного электрического устройства в функцию поиска программного обеспечения, находить эту катушку вывода и начинать трассировку оттуда искать проблемы. Одной из частых ошибок, которые делают некоторые программисты ПЛК, является "отображение" их ввода-вывода в структуру (в ПЛК это называемые пользовательские типы), и они используют инструкцию копирования для перемещения всех входов или выходов на структура сразу. Имеет смысл с точки зрения программирования ПК, но это заставляет человека, обслуживающего обслуживание, убить вас. Как правило, программное обеспечение для программирования предоставляет функцию перекрестной ссылки, где они могут указывать эту выходную катушку, и она будет сообщать им всюду в используемой программе. Если вы используете инструкцию копирования для перемещения 10 слов ввода-вывода в структуру данных из 10 слов, он должен сидеть там и подсчитывать биты, чтобы выяснить, какой бит в источнике копирует карты, на какой бит на стороне назначения копия. Правда, комментарии могут помочь, но проблема с этим тоже... ПЛК хранят всю программу и позволяют вам загружать программу из нее в чрезвычайной ситуации, если вам нужно устранить неполадки и у вас нет копии исходной программы, Проблема в том, что по соображениям пространства ПЛК не сохраняет комментарии. Поэтому, если линия не работает, она стоит 5000 долларов в минуту при простоях, а парень работает там с ноутбуком, ему, возможно, придется быстро загрузить без комментариев и попытаться устранить его. Имея эти инструкции по копированию там, тратя 10 минут своего времени, стоило компании $50,000 в режиме простоя. Это то, о чем вы должны знать при написании программ PLC.

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

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

В программировании на ПК, конечно, мы стараемся как можно больше использовать код. Однако в ПЛК и системах управления время простоя чрезвычайно дорогое, а оборудование дорого. Память дешевая, и на самом деле программисты ПЛК дешевы. Поэтому ожидалось, что если на вашей машине есть 10 одинаковых вещей (например, приводы конвейера или что-то еще), у вас будет 10 разных файлов (подпрограмм), по одному для каждого диска, и каждый диск будет иметь свои собственные переменные, связанные с ними: например. Drive1_Run, Drive2_Run, Drive3_Run и т.д. Это будет очень неприятно для вас, когда вы придете с фона программирования на компьютере, но это все из-за того, что я сделал выше. Когда вы находитесь в ситуации простоя, и кто-то говорит, что Drive 3 не работает, вы взламываете ноутбук, идите в файл для Диска 3, и вы смотрите на Run Run rung. Вы запускаете поиск и устранение неполадок, когда программа выполняется. Там нет точек останова (программа никогда не останавливается).

Удачи вам в ваших начинаниях. Я написал еще идеи из моих лет программирования ПЛК, если вы хотите проверить их.

Ответ 2

Вы можете узнать программирование ПЛК из разных источников в Интернете, одним из которых является this (wikibooks) или this

Программа, которую вы пишете, будет практически одинаковой для разных брендов ПЛК для LLD (Лестничные логические схемы), если вы не используете специальные функции PLC. Но будет намного больше различий, если вы используете какой-то язык, например, IL (список инструкций). Но как только вы написали программу, формат хранения и исполнения сильно отличается по брендам.

Лестничная логика является одним из 5 языков программирования для ПЛК, другие - FBD (функциональная блок-схема), ST (структурированный текст, аналогичный языку программирования Pascal), IL (список инструкций, аналогичный ассемблеру) и SFC (Последовательная функциональная диаграмма). Это просто различные представления языка программирования, различные вкусы, если хотите. Но обычно данный бренд поддерживает только один из них. В США широко используются LLD, в то время как в Европе популярны IL.

Ответ 3

Лестница, часто вызывающая LD - это один из нескольких языковых стилей, определенных в стандарте программирования автоматизации ISO 61131. Другие - SFC (последовательная блок-схема), FBD (функциональная блок-схема), ST (структурированный текст) и IL (список инструкций). IL похож на ассемблер, и очень немногие его используют. ST - это текстовое программирование, подобное ранним версиям BASIC. Он не часто используется. LD спроектирован так, чтобы напоминать контакты реле с электрической панели управления (которая заменена многими ПЛК). FBD больше похожа на схему. SFC - это в основном блок-схема.

Некоторые ПЛК поддерживают все, другие только некоторые или даже одно. Хотя LD является наиболее распространенным, FBD и SFC набирают популярность.

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

Ответ 4

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

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

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

Несмотря на эти недостатки, они отлично подходят для упрощения сложных электрических систем. Если вы работаете с другими участниками проекта, вы обнаружите, что ваши знания программирования помогут проекту решить сложные программы. Я смог взять 100-ступенчатую лестничную логическую программу и переписать ее в третью ступеньку. Как только я смог изучить язык логики лестницы, я смог реализовать различные оптимизации, которые уменьшили сложность программы.

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

Ответ 5

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

При этом в качестве основы среда программирования ПЛК, как правило, основана на стандарте IEC61131, гарантированном времени цикла, "упреждающем" режиме реального времени, нет необходимости обрабатывать проблемы, связанные с ОС в реальном времени, непрерывное сканирование кода, не-программный указатель, различную концепцию от типичных компьютерная задача нерестилирует многозадачность. Выполнение кода естественно атомарно, не нужно использовать мониторы между задачами.

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

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

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

  • Literal очень похож на BASIC, но только синтаксис; выполнение по-прежнему просматривается. Литературный язык хорош для математических вычислений. Для реализации на высоком уровне методы или вывод атрибутов внутри объекта могут быть проще с использованием Literal. Государственное машинное программирование с использованием представления или констант в виде английского языка делает программу очень читаемой.

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

  • SFC или последовательная блок-схема являются дополнительным языком для реализации последовательности. SFC имеет встроенные правила активации блока действий, переходы состояний, активацию и слияние последовательности parellel. Однако сложное разветвление исключений или одновременное управление действиями может затруднить выполнение задачи, а блок-схему трудно прочитать.

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

Ответ 7

Вы можете использовать Структурированный текст (ST), который состоит из серии инструкций, которые, как определено на языках высокого уровня ( "IF..THEN..ELSE" ) или в циклах (WHILE..DO).

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

Ответ 8

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

Я считаю, что у вас должен быть драйвер ПЛК, но я сначала буду искать симуляторы и больше узнать об этом, прежде чем покупать.

Ответ 9

Allen-Bradley имеет бесплатное программное обеспечение PLC, специально предназначенное для обучения. Вероятно, вы можете найти его, если вы зайдете на их сайт или в Google. Он использовал для обучения программированию ПЛК в школах.

Ответ 10

Для новичков, пытающихся изучить лестничную логику, лучший способ - посещать бесплатное онлайн-обучение в http://plcs.net

Ответ 11

PLC - это термин, используемый для устройств, использующих лестничную логику. Устройства, которые запрограммированы на более типичных языках программирования, обычно называются микроконтроллерами. Тем не менее, есть некоторые из нас, которые иногда объединяют их под именем ПЛК.:-) Не знаете, сколько логики работает, но код микроконтроллера может значительно различаться.