[Мысли]: Про всякую-технологию

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
unihom
Posts: 19
Joined: Wed Dec 17, 2008 9:05 pm
Location: Russia

[Мысли]: Про всякую-технологию

Post by unihom »

CoMod wrote:Выделил из темы про стендик http://plc.net.ru/viewtopic.php?t=9553
в эту отдельную филосовскую тему
--------------------------------------

Может быть и путаю.
Я не настаиваю.
Про switch-технологию я так неуважительно сказанул, т.к. мне не нравится, когда (по моему мнению) уж через чур замусоливают тему каким-то одним термином, показывая его "исключительность".
Свитч - то, свитч - сё, туда посмотри - свитч, назад прикинь - свитч.
Можно было б и по проще.
То, что я новичок в проектировании и программировании для ПЛК, вовсе не означает :), что я вообще новичок в программировании.
А посему, мне знакомы такие вещи как:
- жизненный цикл программы;
- конечные автоматы (и некоторые другие);
- с десяток языков программирования, включая машинный код для x86 ЦПУ и даже для МК61 калькуляторов;
- куча сред IDE
- ну и с нашими старинными ГОСТами мне встречаться приходилось и даже ТЗ писать и для программ, и для систем АСУТП;
- ...

В общем широк кругозор, а куда деваться?
Как снискать хлеб насущный?
Менеджером идти?
Неа, не охота. Заржавею.
Я тут не так давно мудрость вычитал, что мол все вещи нас старят, акромя учёбы.
То бишь, если будешь учиться всю жизнь, то мозги не заплесневеют и будешь всегда молодым.
Вот хочу проверить так это или не так?
Люблю экспериментировать. Учится, конечно, не только проектированию систем АСУ.

Я отвлёкся. Ну раз на Ваш взгляд путаю, то пускай.
Может я сказанул чего не так или лишнего, может не поняли меня правильно, кто его знает?
Потому видать надо мне точней изъясниться.
Я более практик нежели теоретик, потому покажу пример.

Итак, что я понимаю под методой итальянцев. Для начала вот обозрите один их участок:
http://i013.radikal.ru/0901/ed/54378a5e7aff.jpg

Сие - кадр из документального фильма "Делание катанки - вид со стороны операторов". InTouch 9.5, честно говоря, после визуальных сред ЯВУ или там 3DMax, или хотя бы Photoshop смотрится убого, но ведь это не главное. Картинка получена путём следующего шаманства:
1) Создана специальная виртуальная машина, где запущен проект с интачём
2) Виртуальная машина клонирована. Дело в том, что интач не может показать сразу два экрана на расширенном рабочем столе. Такое в голову им вряд ли приходило, хотя кто их знает. Доку я только начал читать.
3) Обе виртуалки запущены на одной машине и включены в промышленную сеть, т.е. показывают реальную картинку происходящего.
4) Запущена тулза удалённого управления DameWare в двух экземплярах, каждая подключена к "своей" вируалке. Это сделано для того, чтобы можно было менять размер окна интерфейса оператора (ИЧМ). Так просто ведь это не сделать, учитывая дефицит мониторного места.
5) К этому могучему компу подрублен второй монитор. Рабочий стол расширен. DameWare окна расположены рядом и показывают экран оператора - их там два. Поэтому и две виртуалки и всего по две.
6) Запускаем uvScreenCamera, задаём область этих двух виртуалок и снимаем кино "Делание катанки - вид со стороны операторов"

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

Я отвлёкся. Значит метода итальянцев. Всего шесть буков LANDEF. Если отбросить пока всю нужную документную последовательность, начиная с ТЗ и т.д. сквозь цикл, практически данная фирма проповедует набор файлов XLS формата, которые зовутся файлами описания сети. Как мне они сами сказали: "всё у нас начинается с формирования такого файла". Посмотрев на этот файл Вы сразу смекнёте в чём дело: http://slil.ru/26511488

Это проект в миниатюре, причём эти файлы сопровождают проект до самой наладки и включая её. Даже больше, они используются в процессе эксплуатации для быстрого ориентирования в коде. Вкладки каждая за что-то отвечает.
Сам файл за один ПЛК, за данные для связи с другими ПЛК, алармы, статусы для ИЧМ.
Также файл - есть своего рода ТЗ для составления программы для ПЛК и ТЗ для ИЧМ, т.к. в нём прописаны все необходимые теги.

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

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

Вообще, способ создания программы из дерева состояний или чего-то похожего не нов. Есть такая штука как АлгоритБилдер для AVR контроллеров. Там прямо рисуешь алгоритм программы в виде блок схемы и получаешь код на ассемблере. Есть другие вещи, например, по описанию классов можно получить шаблон программы на С++. Забыл как эти программные продукты называются.

А есть совсем старые вещи: компиляторы.
Увы, но на нашей Родине очень туго проникают в мозг эти знания, тогда как на западе уже вовсю практически полностью автоматически(!) создаются компиляторы, т.к. теория развита очень хорошо, американские математики постарались, совместно с программистами и Кнута тут стоит упомянуть хорошими словами, также как и других известных создателей языков и компиляторов, наравне с создателями первых осей.
Это всё взаимосвязано.
Практически все утилиты юникса созданы с использованием автоматного подхода, где входной язык (любой, тектовый, омысленный, упорядоченный ... там есть спец название - грамматика) разбирается при помощи конечного автомата.
Есть специальные компиляторы компиляторов, которым на вход даёшь описание языка, а на выходе получаешь программный код компилятора для этого языка - ЭТО ТО, что делает программа из одной из вышеупомянутых статей про SWITCH-технологию.
Там просто описан какой-то компилятор компилятора.
Тока и всего. Вещь уже лет 30 как обычная, разве что сейчас есть разновидности в связи с появлением графического интерфейса.

Во блин написал. Жду продолжения дискуссии.
Делитесь знаниями.
Я их люблю и мгновенно поглощаю.
CHANt, спасибо за ссылку, учту.
Это примерно то, что хотел сделать я.
Только мне пока нужно для квартиры, но с прицелом на будущее.

П.С. Надеюсь, я админа не слишком напрягаю своими познаниями в русском и опусами.
CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Re: [Мысли]: Про всякую-технологию

Post by CHANt »

unihom wrote: Может быть и путаю.
Я не настаиваю.
Про switch-технологию я так неуважительно сказанул, т.к. мне не нравится, когда (по моему мнению) уж через чур замусоливают тему каким-то одним термином, показывая его "исключительность".
Свитч - то, свитч - сё, туда посмотри - свитч, назад прикинь - свитч.
Можно было б и по проще.
Я о том и талдычу, что проще на вещи смотреть можно и применять данный подход для проектирования логики (опуская восторженные крики об уникальности методы, на то они и ученые, чтоб претендовать на свое место в истории, нам с этого то что? Жорес Алферов нобелевскую премию получил, а сливки сняла SONY, применив его в CD-ROM). Гораздо приятней при наладке, смотреть в алгоритм сделанный в графической форме, а не в программный код, и действительно видно где накосячил именно в алгоритме. Про эксплуатацию молчу уж, обычно разработчик сделал, в лучшем случае в поясниловке написал немного и свалил в туман. И все подробности тока за деньги. А при таком подходе - пусть валит хоть в чужую галактику...
У Сименса есть программный продукт HiGraph - те же автоматы в графической форме, можно понаблюдать в реал-тайме, как выполняются переходы и что делается в состояниях. Но вот усложено там все до безобразия и младшая линейка 300 данный продукт не поддерживает. Но очень наглядно!
unihom wrote:То, что я новичок в проектировании и программировании для ПЛК, вовсе не означает :), что я вообще новичок в программировании.
А посему, мне знакомы такие вещи как:
- жизненный цикл программы;
- конечные автоматы (и некоторые другие);
- с десяток языков программирования, включая машинный код для x86 ЦПУ и даже для МК61 калькуляторов;
- куча сред IDE
- ну и с нашими старинными ГОСТами мне встречаться приходилось и даже ТЗ писать и для программ, и для систем АСУТП;
Я под сомнение ваши способности не ставил вроде - был вопрос, где посмотреть, чем мог тем и поделился.
unihom wrote:В общем широк кругозор, а куда деваться?
Как снискать хлеб насущный?
Менеджером идти?
Неа, не охота. Заржавею.
Я тут не так давно мудрость вычитал, что мол все вещи нас старят, акромя учёбы.
То бишь, если будешь учиться всю жизнь, то мозги не заплесневеют и будешь всегда молодым.
Вот хочу проверить так это или не так?
Люблю экспериментировать. Учится, конечно, не только проектированию систем АСУ.
Я тут недавно, не помню уж какой по счету, вуз закончил, на менеджера гыгыгы... Куда денешься, инженеру платят меньше. Иначе никак не получается...увы...
unihom wrote:Итак, что я понимаю под методой итальянцев. Для начала вот обозрите один их участок:
http://i013.radikal.ru/0901/ed/54378a5e7aff.jpg
Сие - кадр из документального фильма "Делание катанки - вид со стороны операторов". InTouch 9.5, честно говоря, после визуальных сред ЯВУ или там 3DMax, или хотя бы Photoshop смотрится убого, но ведь это не главное. Картинка получена путём следующего шаманства:
1) Создана специальная виртуальная машина, где запущен проект с интачём
2) Виртуальная машина клонирована. Дело в том, что интач не может показать сразу два экрана на расширенном рабочем столе. Такое в голову им вряд ли приходило, хотя кто их знает. Доку я только начал читать.
3) Обе виртуалки запущены на одной машине и включены в промышленную сеть, т.е. показывают реальную картинку происходящего.
4) Запущена тулза удалённого управления DameWare в двух экземплярах, каждая подключена к "своей" вируалке. Это сделано для того, чтобы можно было менять размер окна интерфейса оператора (ИЧМ). Так просто ведь это не сделать, учитывая дефицит мониторного места.
5) К этому могучему компу подрублен второй монитор. Рабочий стол расширен. DameWare окна расположены рядом и показывают экран оператора - их там два. Поэтому и две виртуалки и всего по две.
6) Запускаем uvScreenCamera, задаём область этих двух виртуалок и снимаем кино "Делание катанки - вид со стороны операторов"
О как. Видно, что я не любитель проторенных путей-дорог. Мне просто нужно было освоить с десяток прог одновременно, вот я и придумал такой финт. Люблю бить сразу с десяток зайцев. Кроме хлеба насущного, мясца тож не помешало б, а потом, конечно, и икорки... но это пока только мечты.
Растровая графика в СКАДах (данном случае интач) вроде потихоньку уходит. Интач версии 10 уже идет с векторной графикой, соответственно с масштабированием окошек будет попроще. Про два окна на одном рабочем столе - в проекте можно задать размеры на два стола, а кадры операторов выводить всплывающими окошками с соотвествующими размерами и стартовыми координатами. Ваш вариант сложен, на мой взгляд. Хотя, может в Вашем случае более удобен. :) У нас интач выводится на 10 проекционных кубов разрешением 7000х2100 пикселов. Мнемосхемы объектов можно таскать по всему экрану. Но и тормозит вся эта хрень прилично - и тормозит Интач, а не сервер, то бишь видеоконтроллер. Превышено кол-во динамических объектов...
Ну, а WinCC мне больше по душе чем Интач, так как дает больше свободы в скриптах, документирован лучше и позволяет на ходу делать многое. А с Интачем мне приходится каждый раз у оперативного персонала разрешение получать на изменение проекта... Стока временеи и усилий...
unihom wrote:Я отвлёкся. Значит метода итальянцев. Всего шесть буков LANDEF. Если отбросить пока всю нужную документную последовательность, начиная с ТЗ и т.д. сквозь цикл, практически данная фирма проповедует набор файлов XLS формата, которые зовутся файлами описания сети. Как мне они сами сказали: "всё у нас начинается с формирования такого файла". Посмотрев на этот файл Вы сразу смекнёте в чём дело: http://slil.ru/26511488

Это проект в миниатюре, причём эти файлы сопровождают проект до самой наладки и включая её. Даже больше, они используются в процессе эксплуатации для быстрого ориентирования в коде. Вкладки каждая за что-то отвечает.
Сам файл за один ПЛК, за данные для связи с другими ПЛК, алармы, статусы для ИЧМ.
Также файл - есть своего рода ТЗ для составления программы для ПЛК и ТЗ для ИЧМ, т.к. в нём прописаны все необходимые теги.

Увы, но этот файл - лишь компиляция той технологии проектирования, которую я хотел бы освоить. Эти файлы используются на всех стадиях от самого начала до наладки и работы включительно. Это своего рода бухгалтерский баланс, который помогает удерживать в одном месте (в "самолётике" дебет-кредит) всю необходимую инфу по проекту.
Теперь понятно, что имелось в виду про технологию. :) Ответ - DCS. Например - PCS7. Ссылки можно найти на этом форуме. Спасибо модераторам, которые не жалея своего времени, который год тянут этот ресурс на энтузиазме!
DCS - это и есть система сквозного проектирования от полевого КИПиА до визуализации со всем всем всем, что только нужно для системы. Итальянцы по каким-то своим причинам, делают на разнородном обеспечении именно в таком ключе.
unihom wrote:Автоматный подход - это ниже по методике, на мой взгляд. Я для расширения кругозора прошёл курс создания компиляторов на интуит.ру. Хоть компилятор свой я ещё не написал, но общее представление о том, что такое автоматы и откуда они берутся я получил.

Вообще, способ создания программы из дерева состояний или чего-то похожего не нов. Есть такая штука как АлгоритБилдер для AVR контроллеров. Там прямо рисуешь алгоритм программы в виде блок схемы и получаешь код на ассемблере. Есть другие вещи, например, по описанию классов можно получить шаблон программы на С++. Забыл как эти программные продукты называются.

А есть совсем старые вещи: компиляторы.
Увы, но на нашей Родине очень туго проникают в мозг эти знания, тогда как на западе уже вовсю практически полностью автоматически(!) создаются компиляторы, т.к. теория развита очень хорошо, американские математики постарались, совместно с программистами и Кнута тут стоит упомянуть хорошими словами, также как и других известных создателей языков и компиляторов, наравне с создателями первых осей.
Это всё взаимосвязано.
Практически все утилиты юникса созданы с использованием автоматного подхода, где входной язык (любой, тектовый, омысленный, упорядоченный ... там есть спец название - грамматика) разбирается при помощи конечного автомата.
Есть специальные компиляторы компиляторов, которым на вход даёшь описание языка, а на выходе получаешь программный код компилятора для этого языка - ЭТО ТО, что делает программа из одной из вышеупомянутых статей про SWITCH-технологию.
Там просто описан какой-то компилятор компилятора.
Тока и всего. Вещь уже лет 30 как обычная, разве что сейчас есть разновидности в связи с появлением графического интерфейса.
Я уже выше привел свое мнение, ничто не мешает использовать для части задач этот подход, опуская то что Вам не нравится. Я для себя шаблон для STL сделал и если попадается разработка, то перевожу разработанный алгоритм (автомат) по своему шаблону, не заморачиваясь на создание конвертера (или компилятора). Нет у меня таких объемов работ, чтоб была необходимость автоматизировать этот процесс. :) А при наладке или необходимости что-то изменить, действительно проще и можно обсудить с технологами, они как-то легче воспринимают кружочки автоматов на бумаге чем схему LAD или FBD.
unihom
Posts: 19
Joined: Wed Dec 17, 2008 9:05 pm
Location: Russia

Post by unihom »

DCS - тут у меня пробел (другое основное образование). Тут нашёл инфу о какой-то дискуссии:
http://iprog.pp.ru/forum/read.php?f=1&i=403&t=403

Хорошо бы саму дискуссию, а на ПО гляну. Мне бы практическую какую книженцию ещё по методике проектирования для ПЛК.
CHANt
Posts: 501
Joined: Tue Jun 27, 2006 5:52 am
Location: Russia

Post by CHANt »

unihom wrote:DCS - тут у меня пробел (другое основное образование). Тут нашёл инфу о какой-то дискуссии:
http://iprog.pp.ru/forum/read.php?f=1&i=403&t=403

Хорошо бы саму дискуссию, а на ПО гляну. Мне бы практическую какую книженцию ещё по методике проектирования для ПЛК.
Оф. дока по PCS7 - http://www.automation-drives.ru/as/prod ... l2=&l3=doc
Ссылки на ПО, видеокурсы, обучающие курсы найдете на этом форуме. Инфы много :) в том числе и по ПЛК. Книжка - И.В. Петров "Программируемые контроллеры. Стандартные языки и прикладные приемы проектирования" http://narod.ru/disk/4817765000/pplc2.pdf.html
формат *.pdf, size - 9,03 Mb
Dfcz
Posts: 878
Joined: Tue Dec 26, 2006 5:21 am
Location: Russia

Post by Dfcz »

unihom wrote:P.S. По аналогии АСКУЭ Аметист и Пульсар, только я хочу более общую систему. Мне светом управлять, розетками, мощными нагрузками, слаботочными сетями, пожарка, затопление (НЕПТУН), охрана и т.д. Машину хочу с gps привязать к квартире, систему управления машиной пусть квартира управляет.

Так вот. Вкратце.
Классные у тебя мечты - семь футов под килем!

Тема-то очень современная: лет через -надцать у нас это будет актуально, мне так кажется. Я имею ввиду "умный дом".

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

Потом, это очень сильно зависит от руководства, а оно у нас пока руководит по-азиатски. Поэтому я, лично, засунул свои мысли подальше, что бы они мне не мешали выполнять задания руководства.
Это я свои [мысли] мыслю.

Однако-же расскажу свежевыжатый пример отшибания охоты "глубоко" автоматизировать. Программировал я тут один автомат с нуля, что бывает не часто в моей практике: чаще приходится дорабатывать чужие (иносраные) проекты. Ну на радостях я разошелся и воплотил давнишнюю мечту осблуживающего персонала: сделал проверку и диагностику чего только можно, и создал кучу сообщений, которые в случае чего выводятся на панель оператора. (Типа: укладчик приехал на место, а выталкиватель не вышел - проверь такой-то параметр выталкивателя). Скажу только чем все это закончилось: автоматов таких уже работает 4 штуки, выпускают они классную продукцию (для Америки). Все довольны, кроме обслуживающего персонала, так как теперь операторы, вместо того, что бы читать сообщения и сразу исправлять свои ляпы, зовут обслугу: Приходите скорее, а то тут мигает красная лампочка и что-то на панели выскочило. Косят под дуриков: пока обслуга придет, 10 минут перекура есть.