Микросхемы флеш-памяти eeprom серии 25xxx широко применяются в микроэлектронике. В частности, в современных телевизорах и материнских платах в 25xxx хранится прошивка биоса. Перепрошивка 25xxx осуществляется по интерфейсу SPI, в чем и заключается отличие этих микросхем от флеш-памяти семейства 24xxx, которые шьются по i2c(квадратная шина).
Соответственно, для чтения/стирания/записи 25xxx нужен SPI-программатор. Одним из самых дешевых вариантов программаторов для этой цели является USBasp, который стоит смешные деньги- с доставкой всего около 2$ на ебее. В свое время я купил себе такой для программирования микроконтроллеров. Теперь мне понадобилось прошить не микроконтроллер, а SPI-флеш и решено было им воспользоваться.
Оказалось, что сам по себе USBasp с оригинальной прошивкой такую память не шьет, но отечественный программист с ником Tifa (низкий поклон ему и долгих лет жизни) модернизировал прошивку USBasp специально для обеспечения возможности работы с флеш-памятью. Постоянная ветка обсуждения альтернативной прошивки USBasp от Tifa, связь с автором и ссылки на файлы тут: http://forum.easyelectronics.ru/viewtopic.php?f=17&t=10947
Забегая вперед скажу, что прошивка от Tifa работает, микросхемы 25xxx шьются. Кстати, кроме 25xxx, модифицированный программатор рассчитан на работу с 24xxx и Microwire.
1. Перепрошивка USBasp
Сначала нужно замкнуть контакты J2:
В предыдущей части обзора американского программируемого контроллера Velocio Ace 3090v5 я рассматривал его аппаратную часть. Эта часть будет про его программирование.
Для программирования девайсов Velocio декларируется такая идея:
Посмотрим, так ли легко программировать на самом деле.
vBuilder
Программирование ПЛК осуществляется в бесплатной среде программирования vBuilder: http://velocio.net/vbuilder/ Актуальная версия на сегодня- 1.26.
Инсталляция vBuilder маленькая, всего 4.5 Мб.
Вместе с vBuilder устанавливается драйвер виртуального com-порта для подключения Ace к компьютеру через порт USB:
Начать изучение vBuilder лучше с просмотра видеоуроков http://velocio.net/tutorials/
Для более полного понимания- руководство по программированию «vBuilder manual» http://velocio.net/vbuilder/
В качестве «быстрого хэлпа» по программным блокам используется та же страница http://velocio.net/vbuilder/. Просто жмешь по пиктограммам соответствующих блоков vBuilder справа на странице и читаешь, как они работают:
Если с английским совсем туго, на помощь придет переводчик браузера Ghrome: правая кнопка мыши-> перевести на русский. Перевод технический, но смысл будет понятен.
Ace 3090v5 является полноценным контроллером и имеет следующие возможности для программирования:
- Программирование на языке релейной логики(Ladder Logic) и языке блок-схем(Flow Chart)
- Возможность использования подпрограмм
- Причем, подпрограммы являются объектами по типу функциональных блоков(FB) в Step-7 и Codesys
- Возможность создания внутренних переменных(тэгов) типа bit, unsigned int 8/16 bit, signed int 16/32 bit, float
- Возможность использования массивов
- Множество программных блоков, в т.ч. ПИД, ШИМ, фильтры сигналов, статистика и т.д.
- Использование часов реального времени(правда, часы без батарейки и при отключении питания время сбрасывается)
- Связь по Modbus с ПК, сенсорными панелями и др. по Modbus в режиме slave; возможно подключение по Modbus к 2-м мастер-устройствам одновременно
- Каждому входу/выходу и внутренним тэгам можно назначить адрес для передачи их значений по Modbus
- Возможность реализовывать собственные протоколы передачи данных по RS-232
Осенью я рассказывал про задачу для логического реле Zelio, которую я смог решить лишь частично: http://plc-blog.com.ua/zadacha-lr
Там я писал, что, по моему мнению, решить на Zelio указанную задачу в полном объеме невозможно. Был объявлен конкурс с призовым фондом в бутылку коньяка в награду тому, кто все-таки такую программу сможет сделать.
Что же, конкурс закрыт, его победитель- Алексей из Омска, РФ. Вот программа Алексея:
Программа в формате Zelio Soft 2 v.4.5
Блоки «MEM» и «CMP» здесь- макросы.
Алексей написал за 6 часов программу, которую я не смог придумать за неделю и это наводит на такую мысль:
При создании программы на «кубиках» FBD программируемых реле нужно и думать в стиле FBD. Моя ошибка была в том, что я принялся мастерить ячейки памяти на триггерах для реализации загрузки/выгрузки данных в очереди, перегрузил программу и не решил поставленных задач. Подход в стиле высоких языков программирования, для Zelio он оказался ложным. Алексей пошел по принципиально другому пути и сделал программу без единого триггера, на одних логических элементах.
Не то, что бы мысль «если хочешь быть крокодилом, то и думай как крокодил» является откровением, но часто забывается, что одни и те же приемы программирования не всегда одинаково эффективны в разных средах.
Ну а теперь о самом главном, о заслуженной награде.
Как я писал ранее, ко мне в руки попал интересный контроллер Ace 3090v5 американской компании Velocio. Прежде чем приступать к рассмотрению этой модели ПЛК, хочу рассказать вкратце о компании Velocio и выпускаемой ею продукции.
Контроллеры Velocio
Итак, компания Velocio из г. Хантсвилл, штат Алабама, разрабатывает и производит ПЛК для промышленной и домашней автоматизации. На фоне многочисленных конкурентов ПЛК Velocio выделяются следующими особенностями:
- Маленький размер контроллеров- 2.5″ x 2.5″ или 6.35см x 6.35см. Крошечный, как для ПЛК, размер это главная конкурентная фишка, я не знаю другого такого маленького контроллера. Для домашней автоматизации крошечный размер- несомненное преимущество.
- Питание процессорных модулей 5 V DC.
- Программирование через порт USB, т.е. не нужны специальные сверхдорогие кабели программирования, за что мы так «горячо любим» Zelio и т.д.
- Небольшая цена для конкуренции с мэтрами индустрии.
Что бы оценить малый размер контроллера, достаточно взглянуть на это фото:
Velocio выпускает 3 линейки контроллеров- ACE, Branch, Embedded:
ACE— контроллеры начального уровня, не поддерживают модули расширения. Общее количество аналоговых и дискретных входов/выходов- до 36. Цена от 49 $.
Branch— контроллеры для сложных задач. Единственное отличие от ACE состоит в возможности подключения модулей расширения и объединения нескольких контроллеров Branch в сеть через интерфейс vLink. Общее количество аналоговых и дискретных входов/выходов с учетом модулей расширения- до 450. Цена от 69 $.
Для расширения количества входов/выходов контроллеров Branch применяются модули расширения Exp:
Embedded— контроллер для встраивания в платы собственной разработки. По сути тот же Ace, только вместо разъемов для подключения сигналов, используются выводы на плату.
В начале декабря 2014 мне прислали американский ПЛК Velocio Ace3090v5:
К сожалению, из-за напряженной работы и командировок пока не было возможности его изучить. Это я исправлю в ближайшее время и скоро подготовлю обзор данного необычного контроллера.
А ведь контроллер очень интересен:
Ну а пока видео раскрытия посылки с Velocio Ace3090v5:
UPD1: подготовил, часть 1
UPD2: подготовил, часть 2
С любым ПЛК Овен в комплекте идет кабель с названием «Кабель прошивки КС1» для перепрошивки ПЛК и загрузки в него программ по интерфейсу RS-232:
Так вот, первое что нужно сделать, как только оригинальный КС1 попадет к вам в руки- выкинуть его нафиг. Предварительно можно оторвать разъем DB9F с корпусом, он стоит около доллара.
В кабеле КС1 применяется плоский телефонный провод:
Такой провод удобно обжимать коннекторами RJ-12 но очень неудобно припаивать к контактам разъема DB9F. Собственно, плоский телефонный провод предназначен только для обжимки, но никак не для пайки. Припаянный провод крепится к контактам DB9F на соплях из-за тоненьких волосяных жил и грозится оторваться при первой возможности. Кроме того, сам по себе кабель ломкий, особенно если наступить на него, когда он лежит ребром. Да что там наступить, как-то он перестал работать из-за того, что я на ребро кабеля положил сенсорную панель весом 1.5 кг.
Вместо плохого оригинального КС1 нужно сделать хороший самодельный КС1, о чем сегодняшняя история.
Недавно закончил проект, в котором впервые применил сенсорную панель Samkoon-070AE. Вообще-то я первоначально хотел использовать панель ОВЕН СП-270Т, с которой много работал до этого, но ради интереса на этот раз решил взять Samkoon. Впервые с этой панелью я столкнулся, когда разбирался с программируемыми реле xLogic: http://plc-blog.com.ua/obzor-xlogic-1 , но тогда знакомство было мимолетным. В этот раз я реализовал на SK-070AE реальный проект.
Характеристики
Название | Samkoon SK-070AE |
Назначение | Сенсорная панель |
Диагональ | 7″ |
Разрешение | 800×480 пикс. |
Кол-во цветов | 262144 |
Память ОЗУ/Флеш | 64 Мб/128 Мб |
Порты | 2 универсальных(RS232/485), 2 USB |
Протоколы передачи данных | Modbus, Advantech и еще целая куча |
Скорость передачи данных, bps | 1200… 187500 |
Питание | 24 V DC |
Габариты | 203х145х40 мм |
Температура эксплуатации | -10… 65°С |
Степень защиты IP | IP65 по фронту, IP0 с тыльной стороны |
Среда программирования | SK Workshop |
Макросы | Программирование на Си |
Цена | 236 $ |
Комплект поставки
1. Собственно панель
2. Кабель USB AM/BM для программирования
3. Крепеж
4. Руководство пользователя
5. Сертификат
6. Описание комплекта поставки
Как видно, документация на китайском, диска с ПО в комплекте нет. Кстати, русская панель ОВЕН СП-270Т тоже на самом деле китайская, не смотря на то, что представили ОВЕН утверждают, что все делают на отечественных заводах. Более того, овеновский софт хуже родного китайского.
Недавно я впервые столкнулся с датчиками температуры и влажности SM-100 и SM-200 украинского производства. Это девайсы с герметичным корпусом IP67, питанием 12 V и портом RS-485 с протоколом Modbus RTU:
Характеристики
Название | SM-100, SM-200 | ||
Назначение | SM-100 | датчик температуры воздуха | |
SM-100.W | датчик температуры воздуха/почвы/жидкости | ||
SM-200 | датчик температуры и влажности | ||
SM-100 | Диапазон и точность измерения температуры | -40… +60 °C, ±0.5 °C | |
SM-100.W | -55… +125 °C, ±0.5 °C | ||
SM-200 | Диапазон и точность измерения температуры | -40… +60 °C, ±0.5 °C | |
Диапазон и точность измерения влажности | 0… 100 %, ±4.5 % | ||
Интерфейс передачи данных | RS-485 | ||
Протокол передачи данных | Modbus RTU | ||
Скорость передачи данных | 2400 bps | ||
Питание | 12 V DC | ||
Габариты корпуса | 58 x 64 x 35 mm | ||
Степень защиты | IP67 | ||
Исполнение корпуса | крепление на стену | ||
Цена | SM-100 | 49 $ | |
SM-100.W | |||
SM-200 | 79 $ | ||
Сайт производителя | http://softron.com.ua/ |
Допустим, на ПК установлен Codesys с таргетами для ПЛК, в частности ОВЕН ПЛК. Нужно определить, какая именно версия таргета установлена. Как это сделать?
Пробовал я это обнаружить через меню Codesys, не получилось. Может оно там и есть, но я не нашел. Зато получилось вот так:
1. Допустим, нужно узнать установленую версию таргета для ПЛК110-60-М. Пишем в гугле «плк110-60 таргет»:
С ПЛК110-60 я впервые столкнулся в 2010 году. Тогда мы разрабатывали проект электропечи для одного монгольского ГОКа и собирались применить ПЛК Vipa. Но один из руководителей подсчитал, что если реализовать ту же задачу на оборудовании некой российской фрмы «Овен», то выйдет дешевле в 5 раз. С тех пор мы поставили на тот комбинат уже 4 различных печи, работой которых управляют ПЛК110-60.
Сейчас рассмотрим модель ПЛК110-220.60.К-М.
Характеристики
Название | ПЛК110-220.60.К-М |
Назначение | Программируемый Логический Контроллер |
Кол-во каналов DI(из них быстродействующих) | 36 (4) |
Кол-во каналов DQ(из них быстродействующих) | 24 (4) |
Тип DQ | Транзисторный,n-p-n |
Порты RS-485 | 2 |
Порты RS-232 | 2 (1 из которых RS-232 debug) |
Порт Ethernet | 1 |
Порт USB | 1 |
Протоколы передачи данных | Modbus-ASCII/RTU/TCP, Овен, DCON, GateWay |
Скорость передачи данных, bps | 4800 — 115200 |
Питание | 90…264 V AC |
Встроенный источник питания | 24 V DC, 0.62 A |
Аккумулятор | LIR2477 (срок службы до 5 лет) |
Потребляемая мощность | 35 W |
Габариты корпуса | 208 х 110 х 73 mm |
Исполнение корпуса | Крепление на DIN рейку, монтаж на стену |
Температура эксплуатации | -10…+50 °С |
Степень защиты IP | IP20 со стороны панели, IP00 со стороны клемм |
Среда программирования | Codesys 2.3 |
Оперативная память | 8 Мб |
Постоянная память | 4 Мб |
Постоянная память переменных | 16 Кб |
Цена | 4540 грн. (349 $) |
ПЛК110-60 бывают:
- С транзисторными выходами(литера «К» в индексе) или релейными(«Р»)
- С ограничением памяти ввода/вывода в 360 байт(«L») или без ограничения(«М»)
- С питанием 220 V AC(число «220» в индексе) или 24 V DC («24» в индексе) .
В моем случае ПЛК110-220.60.К-М это контроллер с питанием 220 вольт от обычной розетки, транзисторными выходами и без ограничения на количество памяти ввода/вывода. Но т.к. бесконечность понятие абстрактное, то неограниченная память в моделях с индексом «М» ограничена размером 16 Кб. Память переменных(не путать с памятью ввода/вывода) в моделях М и L одинакова и ограничена размером оперативной памяти.
ПЛК110 в отличии от Simatic, Vipa и других, не имеет модулей расширения, т.е. модулей, подключаемых по внутренней шине. Расширить кол-во DI и DQ можно только по Modbus через внешние модули ввода/вывода типа овеновских МВ110, МУ110 или девайсов других фирм.
Комплект поставки
Свежие комментарии