Главная   Downloads   Разное  
FAQ     Поиск   Регистрация   Вход 
Текущее время: Чт мар 28, 2024 14:48

Часовой пояс: UTC + 3 часа (Russia: MSK)




Начать новую тему Ответить на тему  [ 30 сообщений ]  На страницу 1, 2  Вперёд
Автор Сообщение
 Заголовок сообщения: Автоматное программирование
СообщениеДобавлено: Вт мар 09, 2021 11:40 
Не в сети

Регистрация: Вт фев 12, 2008 11:30
Сообщения: 324
Откуда: Cherepovets
ssv писал(а):
...
По поводу автоматного программирования, что ж будет запрос создавайте отдельную веточку, выложу кусочек кода, если до этого не забанят на посягнувшего нарушить табу магии волшебного знания написания кода))).


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


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Вт мар 09, 2021 13:02 
Не в сети
Аватара пользователя

Регистрация: Сб сен 30, 2006 14:07
Сообщения: 763
Откуда: Москва
Как правило мы не пишем код (и потом им любуемся), а автоматизируем некую систему.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Вт мар 09, 2021 13:44 
Не в сети

Регистрация: Вт фев 12, 2008 11:30
Сообщения: 324
Откуда: Cherepovets
Годится!
В понятие "автоматизируем" вкладывается определенный шаблон действий.
Кто-то рисует таблицу соответствий, то есть каждому набору входов определяют состояние выхода. Потом по матрице пишется уравнение.
У других парней имеется большая библиотека для каждого механизма на каждый случай его применения и программы они пишут просто состыковывая библиотеки при помощи Excel. Результат получается мгновенно, но код слишком избыточен и разбираться с ним весьма не легкое занятие.
Есть много формализованных подходов, в детали которых я не посвящен.
По автоматному программированию в литературе утверждается, что метод дает поразительную скорость написания кода. Хотел бы проверить.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Вт мар 09, 2021 15:07 
Не в сети
Аватара пользователя

Регистрация: Сб сен 30, 2006 14:07
Сообщения: 763
Откуда: Москва
В понятие "автоматизируем" по факту входит выдача электрические схемы щита управления (чтоб знать знать какие есть входы и выходы) и гидравлика. А дальше сам:) За все время работы не более 10 раз получал техзадание на автоматизацию, в остальных случаях пишу его сам себе:), часто после сдачи объекта:) Поэтому приходится досконально изучить объект автоматизации, обговорить что и как должно работать и т.д. Это вот так по жизни...Свежие программисты, которые умеют писать код:), сталкиваясь с действительностью просто в шоке, но такова жизнь. Конечно это мечта, когда тебе выдадут "словесный алгоритм" работы установки и ты его просто переводишь в понятный ПЛК код, но это (из опыта) мечты. Даже по окончании разговора о том, как и что должно работать, в конце звучит "пока вот так", где ключевое слово "пока". В процессе все может поменяться.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Ср мар 10, 2021 23:02 
Не в сети

Регистрация: Вт фев 12, 2008 11:30
Сообщения: 324
Откуда: Cherepovets
Пока пример кода для реализации "автомата Мили" задерживается, попробую изложить рациональную идею выделения состояний при программировании. Для примера, есть необходимость написать стандартный программный блок для механизма с гидроприводом (электроприводом). Это такой стандартный механизм, каких может быть достаточно много в проекте и программе контроллера. Краткое словесное описание такое:
Гидроцилиндр (эл.двигатель) может перемещать механизм в рабочее положение или в исходное с возможностью промежуточных остановок. Имеются две кнопки без фиксации, чтобы подать команды или "вперед" или "назад". Явной кнопки "стоп" нет. Механизм должен двигаться до крайнего положения или остановиться при нажатии кнопки, противоположной движению, либо от внешних блокировок для каждого направления движения. В крайних положениях имеются конечные выключатели.
Задача "максимум" стоит в том, чтобы сделать такое ядро, вокруг которого можно было бы накрутить множество "примочек" с небольшими внешними настройками. Например, можно было бы использовать в случае постоянного отсутствия какого-либо конечного выключателя, сделать диагностику механических и электрических неисправностей, где-то отображать состояние механизма, логировать последовательность действий.
Именно для понятной записи лога можно назвать устойчивые состояния для движения в каждую сторону: РАЗРЕШЕНИЕ, КОМАНДА ПРИНЯТА, ВЫПОЛНЕНИЕ, ВЫПОЛНЕНО, ОТКАЗ.
В каждом состоянии автомата возможен переход к другому состоянию, которое определяется набором входных сигналов. В каждом состоянии автомата включается свой строго определенный набор выходных сигналов. Таким образом, нет необходимости для каждого выходного сигнала писать длинную цепочку логики, определяя все возможные в любой момент реакции на все входные сигналы.
Вот примерно такой шаблон или идея, которой могли бы придерживаться инженеры-программисты при командной работе. Зная подобный шаблон, легко понять замысел коллеги, если увидишь в программе знакомые слова или названия цепочек.
Да и отладка собственного кода во многом упрощается, если помнишь что в какой последовательности должно пойти.
К шаблонному подходу "старичков" убедить точно не получится :) Да реализация шаблона у разных людей может быть очень разная.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Чт мар 11, 2021 00:22 
Не в сети
Аватара пользователя

Регистрация: Сб сен 30, 2006 14:07
Сообщения: 763
Откуда: Москва
Как "старичок" скажу Вам, что примерно так и работаем, только делаем ФБ с набором входных и выходных параметров и даем четкое описание его работы. Потом используем при написании программ. Эти ФБ порой дорабатываются и в описание вносятся изменения. Если что-то не нравится, каждый вправе делать так, как ему удобно.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Чт мар 11, 2021 13:21 
Не в сети

Регистрация: Вт фев 12, 2008 11:30
Сообщения: 324
Откуда: Cherepovets
Алексей писал(а):
Как "старичок" скажу Вам, что примерно так и работаем, только делаем ФБ с набором входных и выходных параметров и даем четкое описание его работы. Потом используем при написании программ. Эти ФБ порой дорабатываются и в описание вносятся изменения. Если что-то не нравится, каждый вправе делать так, как ему удобно.

Функциональный блок - это хорошо. Кто делает, тот и прав - это тоже хорошо. Стили, традиции - замечательно. Как только Вам предложат что-то новенькое, Вы готовы будете порвать все в клочки.
Пожалуйста, не спугните автора, который сделал попытку рассказать это новое и для которого я открыл ветку. Мне действительно интересно не для того, чтобы покритиковать.
А пока автор соберется, дам затравку: А. А. Шалыто, Использование граф-схем и графов переходов при программной реализации алгоритмов логического управления. II, Автомат. и телемех., 1996, выпуск 7, 144–169


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Чт мар 11, 2021 14:17 
Не в сети

Регистрация: Вт май 27, 2008 11:41
Сообщения: 559
I1 писал(а):
А. А. Шалыто, Использование граф-схем и графов переходов при программной реализации алгоритмов логического управления. II, Автомат. и телемех., 1996, выпуск 7, 144–169

Введение
..."Выполнено сравнение предлагаемого подхода с основным методом структурного программирования - методом Ашкрофта и Манны"...

Оййй , бл.....ть ,за что так жестоко то,...аааааааа :evil:

Сидел, никого не трогал,примус починял и вот на те получите,графы какие то с Ашкрофтами. :roll:


Отредактировал DEFO. Дата редактирования: Чт мар 11, 2021 17:32.

В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Чт мар 11, 2021 14:53 
Не в сети

Регистрация: Вт фев 12, 2008 11:30
Сообщения: 324
Откуда: Cherepovets
:D
Я знал, что понравится! Круче только у Канта. Вы уже сдались, или прочитали пару станиц? Автор много такого написал. Но это все не он придумал.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Чт мар 11, 2021 17:04 
Не в сети

Регистрация: Вт май 27, 2008 11:41
Сообщения: 559
I1 писал(а):
Вы уже сдались, или прочитали пару станиц?


В книгах подобного содержания т.е в которых все страницы исписаны некими загадочными для меня словами "абракадабрами" состоящими из набора букв русского языка, напоминающие мне своей загадочностью набора букв первые слова ребенка или попытки не трезвого гражданина спросить, что то...
Испещренные среди текста не менее загадочными для меня петроглифами , иероглифами
и другими рисунками и изображениями подобие которых я видел по телику в передаче ВВС про древних инопланетян и других животных.
Так вот в таких книгах я читаю исключительно оглавление и заключение т.е там где буквы более менее сложены в понятные мне слова и предложения.
Оглавление я уже прочитал и был сильно ошеломлен но все же нашел в себе силы прочитать 14 раздел "Заключение".

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

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

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


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Чт мар 11, 2021 18:25 
Не в сети

Регистрация: Вс фев 07, 2021 19:25
Сообщения: 25
всем привет. Вижу движуха пошла.
Только что пол часа описывал свои мытарства по автоматному программированию, но не отправились почему то...


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Чт мар 11, 2021 18:38 
Не в сети

Регистрация: Вт фев 12, 2008 11:30
Сообщения: 324
Откуда: Cherepovets
DEFO, спасибо! Я глубоко продвинулся в расшифровке текста книги с вашей помощью. Пробовал загнать в Google переводчик - не поддается. Что я делаю не так? Может у кого-нибудь есть перевод?


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Чт мар 11, 2021 18:44 
Не в сети

Регистрация: Вс фев 07, 2021 19:25
Сообщения: 25
Ну значит они были лишние.
Тогда сразу к делу.
Пример программы, как и обещал. Здесь один механизм (защитная линейка, CoverStrip). Она открывается и закрывается двумя пневмоцилиндрами с одним датчиком положения. По кнопочке CoverStip внизу слева в NA панели (включаем режим симуляции с NA панелью) можно в ручную открыть и закрыть. Расписаны состояния и переходы. Переходы осуществляются по TOF, мне так удобно время переходного состояния контролировать. Справа есть кнопки возможных состояний механизма (используется в программе модель объекта). Чтобы цикл открытие закрытие отработал в автомате переведите в LD во второй строке M1_State в состояние "работает". Потом на панели NA есть копка датчика S28. По его спаду линейка отрабатывает цикл.
Здесь вкратце все что нам пытаются рассказать про автоматное программирование.
Это и есть все автоматы)))).
Жаль не сохранилось предыдущее письмо, там подробно душу излил.
Короче есть сам автомат управления, а есть автомат модели...Он для моделирования поведения объекта и контроля. Можно использовать для симуляции поведения объекта управления. Потом его соответственно отключаем в Task, или удаляем.
В общем пишите, если что не понятно.
Да, в пропашем письме все описал, это программа для Sysmac Studio. Запускаем в режиме симуляции с NA панелью. У меня Sysmac Studio версия 1.44
Как в предыдущих пойдет не знаю. Дайте знать. Если что сделаю видео нарезку
Чтобы открыть в Sysmac: Faile/Import
https://dropmefiles.com/VItJh


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Последнее редактирование: ssv, дата: Чт мар 11, 2021 19:20, всего редактирований: 6.

В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Чт мар 11, 2021 18:45 
Не в сети

Регистрация: Вт фев 12, 2008 11:30
Сообщения: 324
Откуда: Cherepovets
ssv писал(а):
всем привет. Вижу движуха пошла.
Только что пол часа описывал свои мытарства по автоматному программированию, но не отправились почему то...

Здравствуйте! А я тут публику разогреваю...
Спасибо, что не забываете.
При отправке сообщения такое бывает. Я в буфер обмена всегда копирую текст.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Автоматное программирование
СообщениеДобавлено: Чт мар 11, 2021 18:47 
Не в сети

Регистрация: Вс фев 07, 2021 19:25
Сообщения: 25
I1 писал(а):
ssv писал(а):
всем привет. Вижу движуха пошла.
Только что пол часа описывал свои мытарства по автоматному программированию, но не отправились почему то...

Здравствуйте! А я тут публику разогреваю...
Спасибо, что не забываете.
При отправке сообщения такое бывает. Я в буфер обмена всегда копирую текст.

Вот сейчас не могу приложить саму программу. Увидел...Расширение smc запрещено
Попробуйте забрать отсюда
https://dropmefiles.com/VItJh
шесть дней будет лежать
Буду иметь ввиду что сообщения могут пропасть...Жаль почти повесть получилась бы
А это маленькая статья что не только у нас так все плохо


У вас нет необходимых прав для просмотра вложений в этом сообщении.


Последнее редактирование: ssv, дата: Чт мар 11, 2021 19:05, всего редактирований: 2.

В начало
 Профиль  
 
Показать сообщения за:  Сортировка  
Начать новую тему Ответить на тему  [ 30 сообщений ]  На страницу 1, 2  Вперёд

Часовой пояс: UTC + 3 часа (Russia: MSK)


Кто сейчас на конференции

Сейчас этот форум просматривают: в настоящее время на конференции нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Переход:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская документация по phpBB 3