PDA

Просмотр полной версии : Тренироваться на кошечках



drvlas
25.07.2014, 07:47
Чтобы проверить некую идею, которую хочу реализовать на (пока еще незнакомых мне) ПР110, решил пойти "простым путем в обход":

1) сначала сделать всю программу на привычном ПЛК100, причем не стесняя себя в выборе языка программирования (ибо надо реально поработать со связанными устройствами, с железом, отладить алгоритм, разобраться в целом и с нюансами - а это хочицца делать с удобным инструментом)
2) полученную программу (на связке ST-SFC) попробовать перевести в FBD на том же ПЛК100
3) если даст Бог удачу, то имеем готовую программу на приемлимом для ПР110 язіке. Ну, адаптировать ее, если чьо...

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

rovki
25.07.2014, 07:59
Сложно с "писателя" переквалифицироваться в "художники" .Конвертация с одного языка на другой в кодесис не делает наглядным проект .В принципе ,в "темную" можно делать таким образом проекты ,но тогда это вы навсегда останетесь "примитивистом" .С вашим пытливым мозгом лучше потихоньку освоить ОЛ ,тем более там есть свои "фишки" .3-5 уроков по ОЛ вам достаточно .Начните с реализации каких то универсальных модулей ,которые вам часто приходится использовать в проектах и которые потом можно оформить в виде макросов- кошечек .Ну а мы вам поможем в тренировке ....;)

drvlas
25.07.2014, 08:31
В принципе ,в "темную" можно делать таким образом проекты ,но тогда это вы навсегда останетесь "примитивистом"А ЩАС Я ХТО? "ШАБЛОНИСТ", вот слово для меня и найдено...

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

drvlas
25.07.2014, 08:51
ЩА попробую, проект-то готовОпаньки, а там ведь речь вовсе не о трансляции между МЭК-языками. Тю... Они только примечания-комменты всякие переводят. Или я не там ищу?
Пошел искать в ветку КДС...

Алексей Геннадьевич
25.07.2014, 11:36
Чтобы проверить некую идею, которую хочу реализовать на (пока еще незнакомых мне) ПР110, решил пойти "простым путем в обход":

1)
2)
3)

Просто берите owen logic и пробуйте делать на нём.
Прога обладает удивительной способностью под конец проекта дивно тормозить при прокладке связей - у меня рекорд 1,5 минуты:)
Но так-как у вас ПР110, то вам это не грозит: ФБ раньше кончатся;)
Комп 2ггц 2гб оперативы Win XP.

drvlas
25.07.2014, 11:53
Просто берите owen logic и пробуйте делать на нём.
... у вас ПР110Нет у меня ПР110. Могу купить, да. Но мне сначала нужно отработать довольно спорную идею. И отработать в железе, хоть и на столе. Там масса всяких нюансов может вылезть, которые либо будут успешно поборены (и настанет пора проверять все где-нить в поле, тогда да, мож и ПР110 есть смысл ставить), либо идея пойдет в утиль - зачем мне потом этот ПР?
А с ПЛК я уже кагбэ на короткой ноге. Отлаживать на нем умею. Так что это удобный инструмент. После которого переведу прогу в owen logic, чьо уж там. Интересно будет сначала превести с моих SFC-ST на FBD на ПЛК, а потом уже перенести почти готовый продукт в owen logic.

Что касается доступного к-ва ФБ и мощности компилятора owen logic - у меня достаточно простая программа. Ну, пара десятков корпусов, грубо говоря.

Алексей Геннадьевич
25.07.2014, 14:11
Нет у меня ПР110. Могу купить, да. Но мне сначала нужно отработать довольно спорную идею. И отработать в железе, хоть и на столе.
Тогда проверку в железе может помочь кто-нибудь из коллег по форуму устроить.
У меня только ПР 114 они быстрее, и для проверки могут не подойти.
И в чём интерес вашей идеи?

Что касается доступного к-ва ФБ и мощности компилятора owen logic - у меня достаточно простая программа. Ну, пара десятков корпусов, грубо говоря.
Тогда тормозов даже не заметите.

capzap
25.07.2014, 14:15
SFC-ST на FBD на ПЛК, а потом уже перенести почти готовый продукт в owen logic.

сильно обломитесь, конвертация с st как выдаст джампы вокруг каждого блока, не переживете переделок, лучше всего на плк начать изучние cfc, а там уже и в лоджик можно переходить

drvlas
25.07.2014, 15:08
Тогда проверку в железе может помочь кто-нибудь из коллег по форуму устроить.
...И в чём интерес вашей идеи?Та, это для меня интерес. У меня в разработке новый тензоконтроллер, штука, которая существенно мощнее тензоАЦП. Но я использую в своих стандартных проектах эту (мощную) штуку исключительно в качестве именно АЦП, в паре с ПЛК и так далее. Это все весовые дозаторы, в том или ином виде.
Ну, и все время возникает желание построить дозатор, в котором обойдусь без ПЛК. На релейной логике уже работает (хотя кто там сейчас работает, в многострадальном Луганске...), а вот на ПР110 было бы в самый раз. Ну, конечно, тут кое-что надо додумать-доделать-переосмыслить. Наперед заглянуть. Время пока есть. К сожалению. Лучше бы скорее... Но я не о политике. Так вот, мой любимый ПЛК100 прикинется ПР-ом и можно будет поиграться. Вполне себе в железе, со всеми нюансами, которые выплывают именно в момент, когда по полу плавает чьо-нить из-за невыключенного вовремя мотора подачи воды :) Я использую воду в качестве дозируемого продукта. Удобно.

2 capzap: а причем тут cfc? Я думал, в ПР только LD и FBD... Но палюбэ я не собираюсь прибегать к автоконверсии. Посмотрел уже - занятно, но нет. Так что ручками все буду переписывать. Пусть только все отладится.

smk1635
25.07.2014, 15:23
а причем тут cfc? Я думал, в ПР только LD и FBD... Но палюбэ я не собираюсь прибегать к автоконверсии. Посмотрел уже - занятно, но нет. Так что ручками все буду переписывать. Пусть только все отладится.

Потому что программы, в Овен лоджике, пишутся только на CFC. Одном. Других языков нет. :)

drvlas
25.07.2014, 15:37
А-а-а! Ясно. Я даже не разобрался, как это называется. А что-то уже ваял, плюясь и матерясь. Мож, знал бы название языка - получилось бы лучше?
А пока, так мне что FBD, что CFC - неразличимо. Вот SFC, да, это мегавещь...

В общем, ясно. Спасибо! Пошел тренироваться на кошечках.

AVF
25.07.2014, 16:17
У меня в разработке новый тензоконтроллер ... на ПР110 было бы в самый раз.
--- тензодатчики хотите подключить к ПР110?

drvlas
25.07.2014, 16:29
Нет. Их я подключаю к тензоАЦП. Хреновинка такая, которую люблю, которая постепенно развивается, теперь уже кое-что может делать и для организации дозирования. И потенциал там огромный, учитывая развитие микроконтроллеров и их дешевизну.
Вот это хреновинка сейчас работает с ПЛК. А его, во многих случаях, можно заменить на ПР.

rovki
25.07.2014, 16:46
А как планируете хреновину к ПР подключать ?

drvlas
25.07.2014, 17:04
А как планируете хреновину к ПР подключать ?Вот уж неожиданный интерес... :)
Да надо бы структуру нарисовать, чтобы понятней было. У меня бложок есть, где с коллегами перетираю свои безумные "мисли". Ща там поищу рисуночек подходящий
Ну вот, примерно так было (и есть в серийных сУрьезных дозаторах):
13751

А вот так будет (только вместо "релейная логика" читай "ПР110"
13752

rovki
25.07.2014, 18:33
Не понятно как вы дискретные сигналы с АЦП(контроллера) заведете на ПР ,их (входов) всего 12 ,а вам еще хочется другие дискретные датчики подключить .То есть меня интересовал интерфейс обмена данных между АЦП и ПРкой.Так может взять ПР114 с 4 аналоговыми входами +ПрМИ485 +ИП320 и убрать контроллер ?Или взять другой индикатор СМИ1 ,который позволяет брать данные из одного устройства(контроллер) и передавать другому(ПР110).

capzap
25.07.2014, 19:17
На этой неделе судя по новостям запретили ввозить свинину в Украину и молоко в Россию, а Вы решили в производство ПР-ки использовать, глядели бы сразу в сторону немецких товаров

rovki
25.07.2014, 21:06
Нет уж ,нет .Поставим ПР ....Зачем по больному то .Все будет ОК.Жизнь продолжается .

BETEP
25.07.2014, 21:59
Их я подключаю к тензоАЦП. Хреновинка такая
Что за хреновина?

rovki
25.07.2014, 22:14
Может такая МВ110-224.4ТД :rolleyes:;)

drvlas
25.07.2014, 23:14
Может такая МВ110-224.4ТД :rolleyes:;)Да куда ей... Скорострельность не та... Опять мы про то, про ТТХ...
Я произвожу ориентированные на дозирование "хреновины" уже лет 20. Ну, больше 15, точно. Вот именно то, что туда нужно, я знаю как делать (иногда думаю, что это последнее полезное знание в моей больной башке). А мальчишки тренируются - так это ж кльово! Они сделают лучше. Дети должны пойти дальше нас. Я только рад.

2 ВЕТЕР: мы тут дискутировали как-то, давно, когда я начинал осваивать мир ПЛК. Если у тебя хорошая память, то вспомнишь мои топики про АЦП, про сохранение информации, про ФРАМ и прочую чушь. Ну вот, в результате, в т.ч. и этих полезных срачей, народилася та хреновина. По сути - АЦП для работы с тензодатчиком, ориентированный на задачи быстрого весового дозирования. На основе техаского микроконтроллера, который я обожаю. Я вообще люблю маргинальные вещи, линукс, скромных женщин, честных мужчин, нувыпонели.

2 capzap: В Харькове есть производство ОВЕНовской продукции. Да и вообще, я верю в лучшее. Помните анекдот про высокую кремлевскую стену? Что такое беда... Вам впору совейские шутки оживлять.
Так что да, немецкие товары сильны, но я знаю еще многих дядек в украинских степях, которые мою хреновину ждут. В Мелитополь дорога уже открыта, слава Богу, скоро еду. Если повестка не придет. Я старлей ПВО СВ, хотя мои комплексы не воюют сейчас.

BETEP
26.07.2014, 12:20
т.е. самоделка....или всётаки что то интересное недорогое и серийное откопали?

drvlas
26.07.2014, 14:59
т.е. самоделка...Ну, да. Самоделка. С 96-го года мы всяких самоделок наделали тысячи. В состав дозаторов входили тензоАЦП, модули управления шаговыми двигателями, модули управления вибровитателем, ну и несколько вспомогательных плат, с релюшками и прочей лабудой. А управлял этим хозяйством самодельный же контроллер, пульт, как мы его называли, ПТ-3. Начинка у него развивалась, конечно, но где-то в начале века стабилизировалась на 16-разрядном контроллере Фуджи. И что вас сказать, коллеги... Если бы не некоторые административные обстоятельства, то и сейчас можно было бы продолжать...
Но я сделал ставку на ПЛК100, о чем ни грамма не жалею, несмотря на войну. Сейчас идет серия дозаторов на ПЛК100+ИП320+самодельная_хреновина, хотя масштабы очень скучные. Ну, развиваю и хреновину (очень классный будет новый модуль через месяц-два, там еще и аналоговый выход 4-20 мА добавил), и вот ПР110 хочу попробовать для простых дозаторов. В общем, играюсь, пока промышленность отдыхает. Придет же время. А у меня на Донбассе как раз довольно много заказчиков, наш Запад больше с Европы обеспечивается б.у.-шной техникой. Да и партнеры мои, которые подтолкнули меня к новой модели хреновины, много работают с Россией. Надеются вам поставлять, когда все перетрется.

drvlas
30.07.2014, 23:00
С вашим пытливым мозгом лучше потихоньку освоить ОЛ ,тем более там есть свои "фишки"
...Ну а мы вам поможем в тренировке ....;)
ОК, давайте так: вот я сейчас на кошечках потренировался, проектик сбацал, в котором ПЛК100 выполняет роль, отведенную ПР110. Не поленился даже снять видео, у меня на блогжке хотелось продемонстрировать (как сюда кинуть, там немного, дюжина метров всего, впрочем, ничьо особенного там нет...) Теперь вопрос к уважаемым знатокам: насколько просто и красиво это реализуется на ПР110? Может ли кто-нить глянуть одним глазком и сказать: этот простой проект и на ПР будет простым. Или: Э-э, нет, на ПР это сложновато будет. Для начинающего...
Проект прилагаю. Там можно посмотреть только программу DOZ, все остальное - мелочи.

drvlas
30.07.2014, 23:16
(как сюда кинуть, там немного, дюжина метров всегоКажется, я понял. Ща...


http://youtu.be/IwTcmPZ8Bjw

rovki
30.07.2014, 23:16
Так это нужно кодесис устанавливать ,хоть бы принскрин прилепили.Тут не всегда механическое копирование подходит ,было бы кратенькое ТЗ ,другое дело .Одно и то же часто можно сделать разными способами .Вроде вы не брезговали эпистолярным жанром ,напишите ТЗ ,кратенько .....
Стыдно мне ,но половина слов не понял с видео .

rovki
30.07.2014, 23:27
Давайте так ,вы не новичок в программировании ,поэтому пишите подробное ТЗ ,можно в личку .Я вам сделаю проект , гляньте на него ,разобравшись в нем вы научитесь самостоятельно потом делать .Это новичков нужно учить на простых, абстрактных примерах ,а для вас пойдем метод от обратного- есть проект готовый на ПР,нужно разобраться...
Судя по видео задача для ПР тривиальная .

drvlas
30.07.2014, 23:44
метод от обратногоШикарно. Но касательно приложенного проекта - да, был неправ.
Попробуем так: сначала я сделаю скриншот основной программы, если получится. И выкладу его здесь. Дело в том, что SFC-язык - это такая вещь! Наглядность удивительная. Просто предлагаю глянуть на это. А потом, если Вы не откажетесь от своей идеи, я с радостью уточню ТЗ.
Пошел терзать скриншоты

Василий Кашуба
30.07.2014, 23:57
Шикарно. Но касательно приложенного проекта - да, был неправ.
Попробуем так: сначала я сделаю скриншот основной программы, если получится. И выкладу его здесь. Дело в том, что SFC-язык - это такая вещь! Наглядность удивительная. Просто предлагаю глянуть на это. А потом, если Вы не откажетесь от своей идеи, я с радостью уточню ТЗ.
Пошел терзать скриншоты
А мне скриншоты не нужны, давайте ТЗ.

drvlas
31.07.2014, 00:11
Ну вот, из таких 2-х частей состоит программа. И очень кратко о ее работе
Ну, инициализация в шаге Init- ясен пень.
В начале петли Loop ждем разрешения работы. Фактически, опрашивается первый вход ПР, к которому прсобачен тумблер "СТОП-РАБОТА". Тумблер щелк - bRun стал активным. И каждый раз, закончив цикл дозирования, возвращаемся к этой проверке.
Дальше... не читать... Ага! Вот. Шаг WaitBottom ждет активного сигнала от датчика днища - вход номер 6 нашего ПР. Я его пропускаю через TON (ниже показал это), чтобы после всех там дребезгов прошло полсекунды. Ну, и просто звон какой - срезать.
Да-с, когда сигнал с выхода этого TON показывает, что днище закрыто - иду на шаг Fast, т.е. включаю быструю подачу. Жду по входу номер 3 сигнала о достижении уставки 1: Lev1_got. Как только достигли - ухожу с шага Fast, выключив режим быстрой подачи.
А в шаге Slow включаю досыпку - и жду входа 4 с сигналом о достижении уставки 2: lev2_got. Как тллько уставка 2 достигнута - выключаю питатель и перехожу к ожиданию специальной комбинации
13817
Эта комбинация выглядит как логическое выражение от входов 2 и 3 ПР. На рисунке это ADC_sig. Как только получим - уходми на шаг Unld_Enable, в котором всего-то выдаем активный уровень на выход 1 (ДОЗА ГОТОВА). У реальной ПР выходов только 4, поэтому как раз этим сигналом пожертвуем...
Ну, а потом по сигналу на входе 5 (разрешение разгрузки) открываем днище (выход 3), ждем, пока не исчезнет сигнал на входе 2 (Уровень 0) и при том пройдет не меньше полсекунды, потом просто подождем 2 секунды - да и на начало петли.
13818
13820

Это не ТЗ, это просто на ловах описание работы. Жду Вашего решения.

drvlas
31.07.2014, 00:13
А мне скриншоты не нужны, давайте ТЗ.Ну, при таком ажиотаже я уж и не смею спорить. Просто готовил свой ответ, не видел, что уже и не нужно.
ОК, но тоогда уж никаких личек, верно? Прямо тут и выкладу.

drvlas
31.07.2014, 02:25
Сопцтвенно, ТЗ.
Интересно, что пока его писал, вносил некоторые изменения в программу. Вродь как не должно порушить, а даже наоборот, улучшить в мелочах. Но проверять сейчас ночью не хочу.
Так что по результату проверки соответствия ТЗ работающему макету могуть быть мельчайшие уточнения. С утреца.

maximov2009
31.07.2014, 06:14
Добрый день.
С техзаданием стандартная напряжёнка. Если бы у нас не использовалось подобное, вообще бы ничего не понял.
У нас стоит аппарат по фасовке творога (Таурас - феникс) латвийского производства. У него принцип дозирования один в один, что описан у Вас. Там используется весовой контроллер "ВЕСОВОЙ ИНДИКАТОР С КОНТРОЛЛЕРОМ BDI-2002".
Вы написали не техзадание на ПР 110, а как бы уже алгоритм работы Вашей программы для контроллера. А надо просто описать порядок включения выходов ПР110 в зависимости от сигналов на дискретных входах и от внутренних переменных. Тогда можно составить программу, даже не вникая в суть процесса. А задача действительно достаточно тривиальна. Просто если действительно будете пускать в дело, тогда стоит возиться. Но тогда если исходить из практического применения, наверное лучше будет использовать ПР114 с её аналоговыми входами. Потому как измерительную балку напрямую Вы подключить к ПР110 не сможете. А городить внешний компаратор с дискретными выходами, потом цеплять его к дискретным входам ПР110, и потом это всё по отдельности настраивать. Да Вас любой заказчик потом проклянёт. В контроллере, который стоит у нас на станке измерительная балка подключается непосредственно к нему и все регулировки и настройки (доза на каждом участке, установка 0 и т.д. делается на нём).
С уважением.

drvlas
31.07.2014, 10:12
Попробую отстоять кое что.

Вы написали не техзадание на ПР 110, а как бы уже алгоритм работы Вашей программы для контроллера. А надо просто описать порядок включения выходов ПР110 в зависимости от сигналов на дискретных входах и от внутренних переменныхПосмотрим на таблицу фаз и обратим внимание: первый столбец - это значения внутренней переменной ФАЗА (у меня она Ph). Теперь давайте читать строки єтой таблиці так:
при переходе внутренней переменной Ph в значение PH_INIT следует сбросить все выходы, кроме алярма. По переходу _bBttmSensor в TRUE присвоить внутренней переменной Ph значение PH_STOP
Разве это не то, о чем Вы говорите? Ну, может форма не слишком привычна для вас, адептов ПР. Но я ее умышленно выбрал такую, как в конечных автоматах. Ибо стройность реализации мне тоже важна: это научит меня программированию ПР, так как будет прослеживаться связь с привычным программированием. Это же, кстати, гарантирует возможность внесения правок в алгоритм в будущем. Ибо, если вы накрутите формальный автомат, который да, выполняет ТЗ, но не алгоритмизирован, то как я потом буду развивать проект?


если исходить из практического применения, наверное лучше будет использовать ПР114 с её аналоговыми входами. Потому как измерительную балку напрямую Вы подключить к ПР110 не сможете. А городить внешний компаратор с дискретными выходами, потом цеплять его к дискретным входам ПР110, и потом это всё по отдельности настраивать. Да Вас любой заказчик потом проклянёт. Нет, уважаемый, Вы не правы. Не потянет ни одно изделие от ОВЕН (пока еще) тех требований, которые выполняет мой тензоАЦП (вот тот самый "внешний компаратор"). Это раз. Отдельная настройка - это благо, за которое меня заказчик готов целовать, а не проклинать. Вот, отдельная процедура: написание. отладка и сопровождение программы тензоАЦП. Программа там непростая, вся работа с ней - дома. На объект попадает изделие ТКМ98.05.04, которое можно только прокалибровать, да еще выбрать парочку параметров (номер фильтра, зона стабильности). Все с ним.
А вот изделие ПР110. Его программу вы видели. Фигнюшка. Ее и написать не сложно (я надеюсь на вас), ее и модифицировать легко. Прям на объекте и подпилили. Могу оставлять даже исходник грамотному КИПовцу, хотя мой опыт показывает, что это ой как редко сработает!
Вот эта разделенность: огромный айсберг работы дома и масенькая верхушка на объекте - это добро, а не зло.
А совмещенный АЦП и контроллер у нас был. Но еще в прошлом веке отказалиь. И ни разу не жалею. Поэтому вот это решеине:

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

maximov2009
31.07.2014, 11:42
Попробую отстоять кое что.
При всем уважении, конечно.
И снова здравствуйте. Сильно и доказывать ничего никто не собирался. Сколько людей, столько мнений. Хотите принимайте, хотите нет. Я просто поделился, что у нас стоит контроллер, выполняющий описываемые Вами функции.
А согласно поставленной Вами задачи техзадание должно составляться именно так, как я написал выше. А именно реакция выходов на изменение состояния либо внешних входов, либо внутренних переменных.
На ОВЕН ЛОЖИКЕ процесс написания программы сильно отличается от написания в КОДЕСИСЕ на языке ФБ Блоки конечно очень похожи. Он больше похож по логике на язык релейной логики в том же КОДЕСИСЕ, то есть процессы идут как бы пареллельно, главное, чтобы в нужный момент замкнулись соответствующие контакты. То есть например я с первого входа рисую подачу сигнала одновременно на несколько логических элементов и (или) функциональных блоков. И дальше мне без разницы, как программа будет их компилировать в текст и с какой задержкой они отработают на практике, для меня подача будет происходить ОДНОВРЕМЕННО. Поэтому что Вы вкладываете в понятие АЛГОРИТМИЗАЦИЯ мне не понятно, если строгую последовательность выполнения действий, то здесь это не интересно.
Этот язык лучше понимают те, кто раньше паял подобные схемы на логических микросхемах 155, 561 и пр. Огромное сходство.
И не обижайте КИПовцев их всё меньше. Не знаю как у Вас, а у меня в цехе многие КИПовцы уже успешно освоили программирование ПР и клепают проекты и для работы и в свободное время для своей пользы. А если Вы уж так не надеетесь на своих, то поставленная Вами задача решается на нескольких релюшках, у нас подобные релейные схемы ремонтируют электрики.
Судя по всему Вы работаете в частном порядке по отдельным заказам, а мы обслуживаем действующее производство, у нас все в связке.
С уважением.

rovki
31.07.2014, 12:10
Уважаемый drvlas ,методика составления ТЗ диктуется теми средствами ,которые вы собираетесь использовать .Научитесь сформулировать задание ,так как вас просят -это уже пол дела в освоении ПР(ОЛ) .Опуститесь на землю и по рабоче крестьянски опишите все входа ,выхода и причинно следственную связь их(задержки ,условия,,,,,.) -вот и все ТЗ .А остальное мы сделаем сами и при необходимости обьясним вам ,что ,да как.Можете не писать ,а нарисовать в виде временных эпюр .Или то и другое вместе .Чем быстрее мы поймем ,что вам нужно ,тем быстрее будет результат (освоение ОЛ) .

drvlas
31.07.2014, 12:59
Я в положении просящего, поэтому постараюсь убедить.
Дело в том, что логика работы ПЛК (а ПР - всего лишь несложный ПЛК) состоит в повторении циклов работы. Вы это знаете и без меня, но я к чему: я тоже это знаю. И знаю, что вы знаете :)
Поэтому удивлен, что колега maximov2009 не понял моей алгоритмизации. Я имею в виду, что (при одновременном существовании всех этих блоков) есть одна "особенная" внутренняя переменная, называемая ФАЗА (шаг выполнения цикла, состояние процесса, положение метки в циклограмме - по разному называют), которая сильно влияет на функционирование всех блоков. Грубо говоря, она "активизирует" определенную часть схемы и "деактивирует" все остальные. Прикиньте, как упрощается логика работы: ведь в данной ФАЗЕ мы занимаемся строго вот этим "куском" схемы, а остальные все равно не влияют ни на внутренние, ни на внешние переменные. Разобрались с данной ФАЗОЙ, позволили условию ее прекращения перевести переменную ФАЗА в следующее состояние - о-па! Теперь занимаемся другим "куском" схемы. Только о нем, голубчике, и беспокоимся...
С формальной точки зрения я тоже не вижу своей ошибки (хотя верю, что как-то я преступил...): скажите, чем таблица фаз не является описанием состояния всех внутренних переменных и выходов в зависимости от состояния всех входов и внутренних переменных? Просто форма (в виде описания конечного автомата) предполагает самое первое в любом выражении: "Если ФАЗА=..., то..."


И не обижайте КИПовцев их всё меньше.Помилуй Бог! Есть разные предприятия. На Луганскмлыне, например, из моего тензоАЦП и ИП320 сами сделали дозатор, там отличные спецы в КИПиА. Но у многих моих клиентов даже службы такой нет. Есть электрик (как правило, но не всегда!), есть механик. Ставлю дозатор, пытаюсь найти, кому же это передать в эксплуатацию, кого обучить. Ага! Ща! Реакция на мой вопрос может быть такая: "Эй, Вася, иди сюда! Слушай, что человек расскажет, будешь главным по этой машинке". А Вася - оператор-фасовщик, из тех, которые меняются каждые несколько недель. Или так говорят: "Я здесь хозяин, я буду отвечать, лично я, Иван Иванович". Ну да, И.И. прекрасный бизнесмен, образование подходящее, три класса церковно-приходской и курсы бухгалтеров в 94-м, КАРОЧИ, он да, отвечает :) Только звонит потом через месяц. когда нужно задать другую дозу, мол, х.з. как это делать (инструкция вполне качественная, но кто ж ее читает).
Так что, у каждого своя клиентура. Я работаю с разношерстной. И люблю ее такой, какую дал Бог. Но и вижу ее возможности.


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

2 rovki : "Научитесь сформулировать задание ,так как вас просят" - да Вы и не просили никак. Я ж не ловлю на слове, поймите. Специально разместил инфу, чтобы Вы могли посмотреть и решить, интересно ли Вам повозиться. Если не интересно - да и ладноньки. Никаких обид. Не пишите ту программу.
Все равно буду спрашивать. Ибо в моем колебании между очень наплохим ПР от Array (АРВ) и ПР110 главное, что склоняет в сторону ОВЕНа - наличие форума и хороших специалистов. Даже фанатов, если говорить лично о Вас. Так что - еще раз посмотрите то ТЗ, на которое у меня хватило силенок, и решайте. Тока мне скажите решение :)

maximov2009
31.07.2014, 16:25
Я в положении просящего, поэтому постараюсь убедить.
Тока мне скажите решение :)
Не в обиду будет сказано, но что то уж сильно напоминает одного моего коллегу. Его убедить в чём то невозможно, хоть сто человек будет говорить.
Уже вроде не один человек сказал про неправильное техзадание. Попробую ещё раз.
Скорее всего Вы начинали программировать что то типа AVR контроллеров на Ассемблере, со всеми стопами, флагами и прочими прерываниями, поэтому Вам и требуется такой алгоритм, что Вы описываете. И скорее всего Ваш тензокомпаратор собран именно на нём. Если я не прав - поправьте. При программировании же ПР требуется совсем другой подход, который я описывал выше и не хочу повторяться. И кстати вся схема весового контроллера на мой взгляд будет работать на ПР 114. Ничего уж там сверхъестественного нет и быстродействия хватит, просто никто пока этой задачей не занимался. Алгоритм то плёвый. Три раза достичь определённого веса, каждый раз уменьшая скорость подачи и в конце сбросить.
Кстати и ПВО уже там, наверное Вам не показывают.
С уважением.

rovki
31.07.2014, 17:48
Я в положении просящего, поэтому постараюсь убедить.
Дело в том, что логика работы ПЛК (а ПР - всего лишь несложный ПЛК) состоит в повторении циклов работы. Вы это знаете и без меня, но я к чему: я тоже это знаю. И знаю, что вы знаете :)
Поэтому удивлен, что колега maximov2009 не понял моей алгоритмизации. Я имею в виду, что (при одновременном существовании всех этих блоков) есть одна "особенная" внутренняя переменная, называемая ФАЗА (шаг выполнения цикла, состояние процесса, положение метки в циклограмме - по разному называют), которая сильно влияет на функционирование всех блоков. Грубо говоря, она "активизирует" определенную часть схемы и "деактивирует" все остальные. Прикиньте, как упрощается логика работы: ведь в данной ФАЗЕ мы занимаемся строго вот этим "куском" схемы, а остальные все равно не влияют ни на внутренние, ни на внешние переменные. Разобрались с данной ФАЗОЙ, позволили условию ее прекращения перевести переменную ФАЗА в следующее состояние - о-па! Теперь занимаемся другим "куском" схемы. Только о нем, голубчике, и беспокоимся...
С формальной точки зрения я тоже не вижу своей ошибки (хотя верю, что как-то я преступил...): скажите, чем таблица фаз не является описанием состояния всех внутренних переменных и выходов в зависимости от состояния всех входов и внутренних переменных? Просто форма (в виде описания конечного автомата) предполагает самое первое в любом выражении: "Если ФАЗА=..., то..."

Помилуй Бог! Есть разные предприятия. На Луганскмлыне, например, из моего тензоАЦП и ИП320 сами сделали дозатор, там отличные спецы в КИПиА. Но у многих моих клиентов даже службы такой нет. Есть электрик (как правило, но не всегда!), есть механик. Ставлю дозатор, пытаюсь найти, кому же это передать в эксплуатацию, кого обучить. Ага! Ща! Реакция на мой вопрос может быть такая: "Эй, Вася, иди сюда! Слушай, что человек расскажет, будешь главным по этой машинке". А Вася - оператор-фасовщик, из тех, которые меняются каждые несколько недель. Или так говорят: "Я здесь хозяин, я буду отвечать, лично я, Иван Иванович". Ну да, И.И. прекрасный бизнесмен, образование подходящее, три класса церковно-приходской и курсы бухгалтеров в 94-м, КАРОЧИ, он да, отвечает :) Только звонит потом через месяц. когда нужно задать другую дозу, мол, х.з. как это делать (инструкция вполне качественная, но кто ж ее читает).
Так что, у каждого своя клиентура. Я работаю с разношерстной. И люблю ее такой, какую дал Бог. Но и вижу ее возможности.

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

2 rovki : "Научитесь сформулировать задание ,так как вас просят" - да Вы и не просили никак. Я ж не ловлю на слове, поймите. Специально разместил инфу, чтобы Вы могли посмотреть и решить, интересно ли Вам повозиться. Если не интересно - да и ладноньки. Никаких обид. Не пишите ту программу.
Все равно буду спрашивать. Ибо в моем колебании между очень наплохим ПР от Array (АРВ) и ПР110 главное, что склоняет в сторону ОВЕНа - наличие форума и хороших специалистов. Даже фанатов, если говорить лично о Вас. Так что - еще раз посмотрите то ТЗ, на которое у меня хватило силенок, и решайте. Тока мне скажите решение :)
в ПР БОЛЕЕ простой подход к программированию ,забудьте про циклы ,подпрограммы,прерывания,глобальные переменные и прочее ,что умело вы использовали ранее.Одна и та же беда ,когда человек не чего не знает (новичок) или человек очень много знает (но несколько в другой области). Неоднократно показывал на форуме ,что проект средней сложности делается в течении часа на ПР,а вот понять обьясняющего ,что ему нужно ,иногда отнимает до недели времени ....Мне любая задача интересна ,при условии ,что она сформулирована на языке понятным мне.Как именно я написал выше (вы это место не процитировали ,а оно самое важное) и то же самое говорит Максимов .Поэтому ждем ТЗ (входа\выхода ,взаимосвязь) -это часть курса освоения ОЛ.


Сразу не заметил ТЗ ,вот это уже ближе ...попозже сформулирую вопрос .....

drvlas
31.07.2014, 19:13
Не в обиду будет сказано, но что то уж сильно напоминает одного моего коллегу. Его убедить в чём то невозможно, хоть сто человек будет говоритьНу, 100 - это ведь и не много, верно?


Уже вроде не один человек сказал про неправильное техзаданиеКак оказалось, он его просто не увидел в моем постинге :)


При программировании же ПР требуется совсем другой подход, который я описывал выше и не хочу повторятьсяДа, верю. Если это ближе к проектированию цифровых схем, то я их еще на 155-й, 133-й, 134-й и далее сериях наваял некоторое количество. Но с трудом представляю, как многофазная машина реализуется без распределителя импульсов. А именно на такой основе (в виде счетчика и дешифратора или позиционного счетчика) я и предлагаю реализовать свою 10-фазную машину.
А какой-нить привычный Вам подход, в котором, то ли формальным образом, то ли по наитию, по опыту, с Божьей помощью или с пол-литрой вдруг Вы построите нерегулярную схему, строго выполняющую указанное ТЗ, но абсолютно непонятно как родившуюся... Что мне это даст? Печально вздохнуть и сказать: "Да-а, нужно создать 100500 проектов, как здешние аксакалы, вот тогда у меня тоже так получится..."
Не хочу так. Хочу делать (или кого-то из вас убедю сделать по-моему) так, чтобы у меня появился шаблон для проектирования конечных автоматов на ПР. Мало того, что это мне привычно и понятно (а ради кого я стараюсь, ребята?), так ведь есть и еще одно отличие между цифровой схемой и схемой, работающей по программе: в программном исполнении значительно проще избегать влияния ненужных в данный момент сигналов. Их программа просто не анализирует, да и весь хер до копейки! А когда нужно - посмотрит на тот сигнал, учтет его в своем поведении. Когда я это понял, лет сто назад, я аж прибалдел! "Недостаток" (впрочем, это и без кавычек недостаток) микроконтроллера, его последовательный анализ переменных (сигналов) - это недостаток, когда нам скорость нужна. А вот когда нам очень неспешно нужно реализовывать пошаговое исполнение алгоритма, то тут именно программирование на высоте - по сравнению с жесткой схемой.
Но... Все же в ПР применили подход, имитирующий жесткую логику. Что ж, теперь нужно изгаляться, чтобы этой имитацией сымитировать прохождение программы :)


вся схема весового контроллера на мой взгляд будет работать на ПР 114Не будет. Классический дозатор требует хотя бы в 10 раз большую точность, не говоря уже о чувствительности аналогового входа. Я утверждаю, что мой АЦП лучше даже специализированного тензоАЦП от уважаемой фирмы ОВЕН, а Вы мне о ПР114 с его "0-10В" говорите...

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

rovki
31.07.2014, 19:53
Вам командоаппарат в стиралках о чем то говорит ?Так вот ,аналогичные системы (многофазные ,как вы называете ) уже многократно реализовывались на ПР .
Поймите и поверьте ,способов реализации того или иного механизма гораздо больше ,чем вам сейчас видится.Поэтому мыслите стратегически -цель определите (поставьте задачу) ,а не тактически (указывая путь) к цели ,которую я пока не представляю .Может получится так ,что вы не узнаете возможно это реализовать или нет и не по причине слабости ПР (ОЛ),а просто вас не поймут те, к которым вы взываете ,с одной стороны ,а с другой говорите ,что не очень то и надо .....Если ВЫ готовы обучаться ,но не нужно учить в данный момент "учителей" ,которые искренне хотят вам помочь и ставить ультиматумы -или вы поймете меня (мой язык) или учите других...Лучше чем тратить столько времени на переперательства ,давно бы сделали несколько вариантов ТЗ.


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

amn
31.07.2014, 20:02
Как мне кажется, уважаемый drvlas хочет сделать на ПР проект, состоящий из макросов, у каждого из которых имеется вход, разрешающий работу макроса. Называет он эти макросы "фазами". То есть в любой момент времени активным может быть только один макрос. У всех остальных вход, разрешающий работу макроса в этот момент будет FALSE. Осталось написать ТЗ для каждого макроса (фазы) и логику переходов (включения разрешающего входа для каждого макроса).

drvlas
31.07.2014, 20:20
Вам командоаппарат в стиралках о чем то говорит ?Так вот ,аналогичные системы (многофазные ,как вы называете ) уже многократно реализовывались на ПРАга! Вот это радует. Пожалуй, стиралка похожа на то, что я хочу получить. И наверное Вы правы насчет того, что я могу даже не представлять многообразие реализаций алгоритмов на ПР.


Если ВЫ готовы обучаться ,но не нужно учить в данный момент "учителей"В точку, да...


К стати ,если о тактике ,то широко использую макросы ППЗУ Уже об этом я у Вас читал.
Вот и уважаемый amn интересно сформулировал... Даже мне понятно, что это подходящий вариант.

КАРОЧИ, убедили. Как же мне ПЕРЕписать ТЗ? В каком формате?

rovki
31.07.2014, 20:34
Очень просто ,есть входа (перечислить с названиями, отражающие суть их) ,которые идут с органов управления или с датчиков, или устройств ,есть выходы (соответствующие исполнительным механизмам) .Теперь самое главное-забываем о реализации (ранешней) и описываем или рисуем циклограмму (взаимосвязь входов\выходов или другими внутренними событиями) ,вот и все для начала.Потом пойдут уточнения ,вопросы ...и появится 1 вариант проекта .
в первом ТЗ почти все это уже есть ,просто нужно убрать "иностранщину" , при описании фаз ,оперируя номером выхода и(или) его русским названием .И оперировать лучше понятиями уровней "0","1" ,чем истина лож ,как в цифровых схемах ,ну что бы мозг не засе..ть.

drvlas
31.07.2014, 20:47
ОК, попробую. С учетом замечания amn. То есть, опишу все те входы-выходы-переменные, о которых Вы говорите, но сделаю это 10 раз. Ну, как-то так.
Ща малого отмоем, укладем - ну и работа начнется. Так что читайте завтра, коллеги.

rovki
31.07.2014, 21:50
не, переменные не надо,вы их потом наставите куда хотите .Самое наглядное и понятное это циклограмма или таблица ,пронумерованы входа и что (когда) должно быть на выходах .От момента понимания ,что нужно получить до реализации 30минут ,в вашем простом случае ....

drvlas
31.07.2014, 22:45
Ясно. Приступаю. Мне для ТЗ понадобится больше времени, чем 30 мин :)
Что-то нвавродь такого:
1 макрос: INIT.
Активизируется: а) по старту программы; б) если выход bAlarm_ = TRUE
Выход по условию: если вход _bBttmSensor = TRUE
Действие при начале работы: выходы bFast_, bSlow_, bUnld_ сбросить
Действие при выходе: Активизировать макрос STOP

2 макрос: STOP
Активизируется: из макроса INIT
Выход: если вход _bSSInput = TRUE
Действие при начале работы: выходы bFast_, bSlow_, bUnld_ и bAlarm_ (то есть все выходы) сбросить
Действие при выходе: Активизировать макрос WBTM

и так далее... Продолжать или это уже не то? Или то, но сделать таблицей? Или входы-выходы назвать тупо Di1...Di6, Do1...Do4?
Еще вопрос: могут ли в макросах запускаться процессы (ну. типа микромакросы), которые активны пока их не остановят в этом или другом макросе?

rovki
31.07.2014, 23:02
Опять вы на своем птичьем языке ...представьте что перед вами не программист в среде кодесис. Дайте таблицу вход2,3,4(уровни 0,1,2 )и датчика закрытия и выходы питателя для начала(1,2) и все.
можно делать макрос в макросе ...
Сигналы с компараторов у вас это импульс или потенциал ?

drvlas
31.07.2014, 23:04
OK. Ща сделаю таблицу

rovki
31.07.2014, 23:11
У вас схема ,проще не бывает ,понять бы только что вам надо .Забудьте на пол часа,что вы программист ,про все фазы и циклы
,....
затем опишите ,словами или таблицей условие открытия днища -как я понял от уровня 0 и педали .

drvlas
31.07.2014, 23:24
Нет. Я не против описать словами, но как приложение к таблице. Ибо получается много текста, запутаетесь. Ща, добъю таблицу, потом к ней пояснение.

rovki
31.07.2014, 23:31
1.Правильно ли я понял ,что днище открывается при условии уровень 0 в "1" и нажата педаль разрешения загрузки и есть пуск? .
2.у вас цикл засыпки-высыпки одиночный (дозирования),тоесть нужно каждый раз нажимать кнопку пуск или автоматический ,с перезапуском ?
3.нужно ли контролировать работу компараторов на предмет не существующей комбинации 10?

drvlas
31.07.2014, 23:50
ОК, давайте и так (хотя я все же опишу и в полном виде)

1.Правильно ли я понял ,что днище открывается при условии уровень 0 в "1" и нажата педаль разрешения загрузки и есть пуск? Если перед этим было Уровнь1 И НЕ Уровень0
И про ПУСК... Ну, да, был пуск. Но, понимаете, нельзя сказать, что в любой момент времени, когда "уровень 0 в "1" и нажата педаль разрешения загрузки и есть пуск" - открывать днище. До этого должны выполниться несколько шагов (грубо говоря, поймать сработку всех трех уровней), иначе днище откроется, например, в самом начале цикла дозирования, когда и Уровень0 есть, и разрешение разгрузки (это может быть вообще статический сигнал-перемычка), и ПУСК был...
В нужное время (фазу, мать ее..) нужно проверять "уровень 0 в "1" и нажата педаль разрешения загрузки и есть пуск"


2.у вас цикл засыпки-высыпки одиночный (дозирования),тоесть нужно каждый раз нажимать кнопку пуск или автоматический ,с перезапуском ?Если на входе 1 стоит "1", то по окончанию цикла нужно начать новый


3.нужно ли контролировать работу компараторов на предмет не существующей комбинации 10?Не обязательно. А вот несуществующая комбинация х10, т.е. Уровень2 - не важно, Уровень1 = 1, а (более низкий) Уровень0 = 0 - это как раз сигнал, по которому следует перестать беспокоиться о днище (выключить TOF) и начать следить за комбинацией "уровень 0 в "1" и нажата педаль разрешения загрузки"

Как-то так.

rovki
31.07.2014, 23:59
тогда в какой последовательности у вас меняются уровни 0,1,2 в зависимости от засыпки .?
по 3 уровням есть 8 состояний ,вы используете только 3 ,остальные состояния могут быть использованы для диагностики компараторов ,но это после сделаем.
Правильно ли я понял ,что цикл заканчивается закрытием днища после дозирования?И если стоп ,то остановка ,а если пуск ,то новый цикл дозирования ?

Пора баяньки ,завтра вечером продолжим ....

drvlas
01.08.2014, 00:36
тогда в какой последовательности у вас меняются уровни 0,1,2 в зависимости от засыпки .?
000 старт
001 началась подача
011 сработала уставка1, переход с ГРУБО на ТОЧНО
111 сработала уставка2, выключить подачу, ждать сообщения о фиксации дозы ("спецкод")
x10 "спецкод" - тензоАЦП говорит, что зафиксирован вес, можно идти дальше. Значение старшего бита МОЖЕТ быть любым
xх1 тензоАЦП увидел, что пошла разгрузка, вернул младший бит в нормальный режим
001 разгрузка продолжается
000 ковш пуст. Подождать не менее TUNLDMIN (ну, полсекунды) и закрыть ковш. Дождавшись сигнала о том, что он закрыт, подождать еще (типа, 2 сек) - и тогда уж вверх

А неплохое описание получилось с этими кодами... Надо будет еще раз все просмотреть. Пока пишу эти ТЗ, наблюдаю возможности для улучшения программы :)


Правильно ли я понял ,что цикл заканчивается закрытием днища после дозирования?И если стоп ,то остановка ,а если пуск ,то новый цикл дозирования ?Почти. Если иметь в виду, что "закрытие днища" - это не только снятие сигнала на его открытие, но и получение подтверждения от датчика днища


Пора баяньки ,завтра вечером продолжим ....О! А я только разгулялся :)

drvlas
01.08.2014, 03:05
А неплохое описание получилось с этими кодами... И я решил, давай-ка опишу словесами, а то какие таблички не делаю, все меня птичьим языком попрекают.
А уж если после этого нужны будут уточнения - ну, бум уточнять.

Итак, прилагаю картинку (которая, как нас учили, заменяте тысячу слов). А к ней еще тысячу слов - комментарий.
А кто не любит ПДФ - так повторю комментарий прямо здесь. Вот он:

Описание временнОй диаграммы работы. Это простой нормальный цикл без аварий и дополнительных задержек на ожидание разрешения разгрузки и ожидания днища.

Верхний график — вес продукта в грузоприемном ковше.
Графики Out0...Out2 — это дискретные выходы тензоАЦП, они же заходят в виде входов Di2...Di4 (_bLev0..._bLev2) на входы нашего ПР110.
Графики Подача и Unload — это выходы ПР110.
Первый из графиков условно показывает, что подача продукта идет (в режиме ГРУБО, потом ТОЧНО, что определяется комбинацией выходов Do1 bFast_ и Do2 bSlow_).
Второй график показывает состояние выхода Do3 bUnld_
В нормальном цикле остальные входы не интересны:
Di1 _bSSInput всегда “1”, то есть разрешает зацикливать дозирование,
Di5 _bUnldEn всегда “1”, то есть разгрузка разрешена сразу по готовности дозы,
Di6 _bBtmClsd с небольшой задержкой повторяет инвертированный сигнал Do3 bUnld_.

Итак, при наличии Di1 _bSSInput начинаем дозирование. Проверяем состояние днища, видим, что там все чики-пики (Di6 _bBtmClsd = 1) и включаем подачу (момент времени t1).
При поступлении сигнала о достижении уставки1 переключаем подау на ТОЧНО.
При достижении уставки2 выключаем подачу.
В это время (после t3) все 3 входа Di2...Di4 (_bLev0..._bLev2) в состоянии “1”, ибо уставка2 — наибольшая из всех трех. ТензоАЦП начинает ловить стабильность, а наша задача — поймать “спецкод” в виде: уставка1 есть, а уставка0 упала в ноль. С учетом реальных значений этих двух уставок это нонсенс. Но именно он и нужен, чтобы перейти к разгрузке.
Итак, в момент t4 наш ПР110 получает “спецкодом” по голове и у него отваливается днище :)
Нет-нет, это была шутка. На самом деле в момент t4 возникает искомый “спецкод” (на рисунке обозначен как sig1), а ПР110 еще проверит разрешение разгрузки (вход Di5 _bUnldEn). И только по его “1” наш ПР110 включает выход открытия днища. Отобразил на рисунке это как некий сигнал sig2, чтобы вы смотрели, куда надо.
Уменьшение веса (sig3) ловит бдительный тензоАЦП и сразу понимает — его “спецкод” получен и разгадан! Ясен пень, он тут же возвращает свой выход Out0 (наш вход Di2 _bLev0) в нормальное для этой фазы состояние “1” (sig4 на рисунке). Это есть обязательный сигнал для ПР110, чтобы понять одну важную вещь: вход Di2 _bLev0 вообще-то может и подниматься. Замечу, что до этого нам было как-то по барабану, может ли этот вход переходить в “1”. Так что стоим, открыв днище, ждем “1” на втором входе.
Ну, а получив “1”, тут же начинаем ждать там же, но уже “0” (это произойдет в момент времени t6) . Ибо это показывает, что ковш разгрузился. Ну, на всякий случай ограничиваем сами себе, что меньше, чем какое-то минимальное время, мы сигнал разгрузки не обрезаем, даже если уже увидели, что Di2 _bLev0 = 0. И в момент t7 сигнал открытия днища снимаем.
Вот и все. На новом цикле обязательно проверим состояние днища до того, как включить подачу.

Аварийная ситуация связана с недержанием днища: если во время подачи ГРУБО, ТОЧНО или при попытке АЦП зафиксировать вес мы вдруг увидим, что днище точно съехало (мы проверяем это блоком TOF с полусекундной задержкой после окончательного пропадания сигнала на входе Di6 _bBtmClsd), то бросаем все и идем на начало цикла, в точку проверки днища. Сразу при этом сбросив все выходы управления подачей, естесственно. А там еще моментик: если в этом состоянии мы проторчим более 5 сек, то вообще взбесимся: включим выход Do4 bAlarm_ и уйдем в начало программы, где стоим, лампочкой светим и ждем закрытого днища. Когда дождемся, то проверим разрешение работы Di1 _bSSInput (при устранение аварии с днищем оператор мог и выключить тубмлер РАБОТА) и уж потом начнем новый цикл.
13858

maximov2009
01.08.2014, 06:30
Добрый день.
Прям пока спал такая дискуссия развернулась, аж с утра читать устал. И всё с мертвой точки сдвинутся не можем.
Задачка то выеденного яйца не стоит. То что Вы привели на картинке один в один в инструкции на наш весовой дозатор. Так что не надо уж так сильно гордится своим детищем, принцип работы у ВСЕХ одинаков. А то так себя расхваливаете, аж временами неудобно себя чувствуешь. Прям такой уж гениальный изобретатель к нам обращается и нас учит как правильно жить. Ваше описание устаешь читать и забывается смысл. Опять Вы на свои операторы слазите и вроде как шутками разбавляете.
Наверное предпоследнюю попытку сделаю достучаться.
В приложении 2 описания - техзадания. Сразу говорю тоже не идеал, но что удавалось в конечном счёте добиться, и вот такую табличку с работой выходов и условиями перехода на следующий шаг и надо. В первой (лесоруб) переход осуществляется от срабатывания соответствующих датчиков по переднему или заднему фронту. Они подцеплены к соответствующим входам. Во втором переход осуществляется по достижении определённой температуры и выдержки по времени. Вот это есть то что называется внутренние условия или внутренние операторы.
Ну а если уж и дальше гордыня не позволит перейти на другой режим общения, лично я умываю руки. Не так уж к сожалению много свободного времени.
Проекты по этим техзаданиям выкладывал ранее на форуме, можете посмотреть, лесоруб в разделе ПР110, коптильни в разделе ПР114.
С уважением ко всем.

rovki
01.08.2014, 07:33
Ну вот уже почти то что надо .на выходных не отходите от компа ,возможно появятся вопросы .Хорошее ТЗ -это уже пол дела в разработке и еще четверть в деле написания инструкций по эксплуатации(пояснений) .

drvlas
01.08.2014, 08:57
Прям пока спал такая дискуссия развернулась, аж с утра читать устал. И всё с мертвой точки сдвинутся не можем.Сначала дискуссия, потом вы с коллегой rovki меня убедили, что нужно попробовать изложить задачу иначе. И я пробовал, разве нет? Делал табличку, схожую на приведенные Вами, но rovki начал задавать вопросы - как не ответить? Попутно возникла идея описать словами.
На вкус и цвет... Вам не понравилось то, что я до сих пор предлагаю, но ведь видно, что другим это может показаться сносным описанием. Но Вы как будто обиделись.

Задачка то выеденного яйца не стоит. То что Вы привели на картинке один в один в инструкции на наш весовой дозатор. Так что не надо уж так сильно гордится своим детищем, принцип работы у ВСЕХ одинаков. Не совсем один в один, но Вы не дочитали (признаю, стиль мой тяжелый, многословный, да). Но главное ведь не то. Выбросьте мой фокус со "спецкодом", выбросьте слежение за днищем и отработку аварии - останется совершенно банальная циклограмма. Но реализуйте хотя бы ее! В конце концов, если все так схоже на ваш дозатор - ну так и реализуйте его именно! Мне-то что - я посмотрю Ваш шаблон, пойму, как делать проги на ПР и доделаю свои нюансы. Понимаете? Не гениальному изобретателю (уж не знаю, с какого Вы такой-то вывод делаете, но Бог с ним, с выводом), а просто пацану с улицы - покажите реализацию "ВСЕХ" или хоть одного стандартного простого дозатора на ПР110. Для этого и мое ТЗ, с которым я никак не могу угодить Вам, не нужно. Верно?


Ваше описание устаешь читать и забывается смысл. Опять Вы на свои операторы слазите и вроде как шутками разбавляете.Знаю свой грешок. Но лучше шутками, чем матюками, а то у вас тут мониторят, по голове могут надавать :)


Ну а если уж и дальше гордыня не позволит перейти на другой режим общения, лично я умываю рукиНе надо умывать. Если Вас не убедил мой нынешний постинг и Вы не хотите сделать программу кагбэ вообще без ТЗ (стандартный "свой" дозатор с "моими номерами входов-выходов) - ну, отвлекитесь, не следите пол-дня. Я же продолжаю составлять табличку. Изучу Ваши примеры ТЗ. Я стараюсь. Мне интересно не готовое решение (иначе ждал бы rovki, да и делов-то), а варианты подходов. Вот потому и прошу не сердиться, а продолжить конструктивно. Ок?

maximov2009
01.08.2014, 09:20
а продолжить конструктивно. Ок?
Хорошо. Дозатор не мой, лично я никогда дозаторы не конструировал, я сказал что у меня стоит на работе. Марка дозатора написана выше. Мы просто обслуживаем и настраиваем, поэтому я знаю принцип его работы, может мне и будет легче понять Вашу задачу. Но ещё раз напомню, что мне просто нужна таблица, как в примерах и всё. (Последнюю колонку для ППЗУ не надо). Потому что в нашем дозаторе весовая балка непосредственно подцеплена к контроллеру у Вас же сигналы берутся с выхода Вашего компаратора на ПР.
И Вы уж извините, но на работе завал, лето, отпуска, работаю за троих, поэтому вникать в словесное описание просто нет времени, а помочь человеку всегда хочется, мне в своё время также помогали разбираться. Поэтому отдельная благодарность ВСЕМ кто мне помогал начинать.

drvlas
01.08.2014, 09:53
Тогда я уж в неспешном режиме доделаю-переделаю ту табличку, что вчера начал. С минимумом словесного шума.

Василий Кашуба
01.08.2014, 09:54
000 старт
001 началась подача
011 сработала уставка1, переход с ГРУБО на ТОЧНО
111 сработала уставка2, выключить подачу, ждать сообщения о фиксации дозы ("спецкод")
x10 "спецкод" - тензоАЦП говорит, что зафиксирован вес, можно идти дальше. Значение старшего бита МОЖЕТ быть любым
xх1 тензоАЦП увидел, что пошла разгрузка, вернул младший бит в нормальный режим
001 разгрузка продолжается
000 ковш пуст. Подождать не менее TUNLDMIN (ну, полсекунды) и закрыть ковш. Дождавшись сигнала о том, что он закрыт, подождать еще (типа, 2 сек) - и тогда уж вверх

А неплохое описание получилось с этими кодами... Надо будет еще раз все просмотреть. Пока пишу эти ТЗ, наблюдаю возможности для улучшения программы :)

Почти. Если иметь в виду, что "закрытие днища" - это не только снятие сигнала на его открытие, но и получение подтверждения от датчика днища

О! А я только разгулялся :)
Добавте к таблице которую я сделал по вашему ТЗ, какие ещё есть входы для включения или блокировки выполнения программы.

drvlas
01.08.2014, 10:49
Добавте к таблице которую я сделал по вашему ТЗОтлично! Я воспользуюсь этой таблицей. Вот мой вариант. Он может и коллеге Максимову подойти, мне кажется... На деревообрабатывающий станок схоже, как 2 капли перцовки. Не?
13864

maximov2009
01.08.2014, 12:26
Он может и коллеге Максимову подойти, мне кажется...
13864
Уже очень близко, не идеал конечно, но теперь уже гораздо понятнее. К сожалению до понедельника не смогу принять участия, уезжаю на выходные в места где (как ни странно это звучит) нет интернета. В понедельник постараюсь добавить свой вариант, если не устроит вариант коллег. На деревяшку конечно похоже. Пошаговые программы по алгоритму схожи. Так что можете уже и сами что нибудь набросать. Принцип ППЗУ Владимир объяснит, а принцип дешифратора я думаю Вы сами понимаете. Всё остальное в основном блокировки взаимной сработки входов, что в Вашем случае можно исключить.
С уважением.

rovki
01.08.2014, 18:55
Отлично! Я воспользуюсь этой таблицей. Вот мой вариант. Он может и коллеге Максимову подойти, мне кажется... На деревообрабатывающий станок схоже, как 2 капли перцовки. Не?
13864
Вы да же в таблице умудряетесь навязать способ реализации ,выделяя семь фаз .В вашем случае "генератором" фаз выступают уставки 0,1,2 ,точнее их состояние .Причем в работоспособном варианте код изменяется только так 0,1,3,7,6,3,1(уровень2,1,0)....состояния 2,4,5 являются аварийными.
Что за сигнал ДОЗА ,он по сети приходит? После выключения подачи грубо и точно ,у вас идет увеличение массы за счет инерционности привода или как?
При разгрузке у вас падает в ноль (кратковременно) уровень0 из-за открытия днища или так компаратор извещает об окончании взвешивания?

drvlas
01.08.2014, 19:35
Ща, по порядочку.
Насчет "навязывания" опускаю, не будем спорить.


в работоспособном варианте код изменяется только так 0,1,3,7,6,3,1(уровень2,1,0)....состояния 2,4,5 являются аварийными..Нет. После кода 7 весовая система успокаивается и в стабильном состоянии может дать код 3, а не 7. Поэтому, как минимум, в строке 5 "крестик" по входу Уставка2 должен быть.


Что за сигнал ДОЗА ,он по сети приходит? не знаю, где я писал о ДОЗЕ. По сети НИЧЕГО не приходит, это точно. Возможно, я имел в виду, что по достижению стабильного результата (строка 4) можно выдать на индикатор сигнал ДОЗА ГОТОВА? Так у меня в ПЛК сейчас есть 6 выходов, а в ПР110 - только 4... Считайте, что это внутренний сигнал, в данном случае не обязательный к рассмотрению.


После выключения подачи грубо и точно ,у вас идет увеличение массы за счет инерционности привода или как?Да, есть несколько факторов, по которым вес изменится после отключения питателя. Это и "столб" продукта в воздухе, и инерционность весоприемного ковша, и динамические свойства тензоАЦП.


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

rovki
01.08.2014, 19:49
Ща, по порядочку.


Нет. После кода 7 весовая система успокаивается и в стабильном состоянии может дать код 3, а не 7..
у меня написано -после 7 идет код 6 ,а вы про что?Про то что уровень2 может стать нулем ,когда есть доза ?
А как же временная диаграмма ,которую вы привели?Тогда нужно поставить TOF на уровень 2 ,что бы не дергался .

rovki
01.08.2014, 20:14
Правильно ли я понял ,что по сигналу пуск (частный случай) ,при условии ,что закрыто днище включаем подачу Грубо ,по сигналу уровень 1 ,подача ТОЧНО.
По приходу сигнала уровень2-прекращаем подачу(0,0 на выходах) .Это только то что касается Питателя .

drvlas
01.08.2014, 20:14
у меня написано -после 7 идет код 6 ,а вы про что?Про то что уровень2 может стать нулем ,когда есть доза ?Не-не. После 7 может быть, а может и не быть код 3. Как раз это - в резултате того, что уровень2 НЕ ОБЯЗАН стоять. Его роль простая: прокукарекал, что уставка достигнута, нужно остановить подачу. И всьо... Потом он вполне может упасть. Наши действия не должны от этого зависеть.
А код 6 или 2 - это "спецкод", когда младшенького (уставка0) принудительно кинули в ноль. А средненький при этом стоит в "1". А старший - может быть каким угодно (см.выше).
То есть, я утверждаю, что после достижения кода 7 мы должны игнорить дальнейшее состояние Уставка2. Аж до следующего цикла дозирования.

drvlas
01.08.2014, 20:17
включаем подачу Грубо ,по сигналу уровень 1 ,подача ТОЧНО.
По приходу сигнала уровень два -прекращаем подачу(0,0 на выходах) .Это только то что касается Питателя .?Да, это касается именно управления питателем. Он включается на ГРУБОЮ потом на ТОЧНо и потом отключается.
Единственный нюанс - если во время работы питателя пропадет сигнал закрытого днища - питатель резко выключим.

rovki
01.08.2014, 20:25
Ну тогда держите управление питателем дозатора ,по частям врубаюсь в описание (ТЗ) ,по частям и делать будем :D

drvlas
01.08.2014, 20:32
Ща посмотрим :) Я даже не понял еще как в симуляторе работать. Но при успешном "совместном" проекте в понедельник покупаю ПР110. И к нему еще кабель программирования, верно? Там вродь есть такой, что с ЮСБ работает.

rovki
01.08.2014, 20:43
Ща посмотрим :) Я даже не понял еще как в симуляторе работать. Но при успешном "совместном" проекте в понедельник покупаю ПР110. И к нему еще кабель программирования, верно? Там вродь есть такой, что с ЮСБ работает.
нужен еще ПР-КП .
В симуляторе нажимаем треугольничик ,потом еще один ,задаем комбинации по входам и смотрим ,что на выходе и в середине .Пойду шашлычка откушу ,потом продолжим...
А симулятор -КРАСОТА ,как и весь ОЛ.:D

rovki
01.08.2014, 21:41
Поехали дальше (потихоньку ,пиво жмет;)
Управление открытием задвижки днища .Открываем при условии ,что есть уровень1(была загрузка прежде) ,по заднему фронту уровня 0.вопрос- на какое время или по каким сигналам закрываем?По второму заднему фронту уровня0 ,когда уровень1 уже в нуле , закрываем днище и с задержкой ,если есть ПУСК пере запускать -так?

rovki
01.08.2014, 22:04
Ответа не дождался ,поеду дальше -добавил разгрузку ,проверяйте .Осталась отработка АВАРИЙ .

rovki
01.08.2014, 22:10
АУ ,куда пропали ,в симуляторе закопались или фазы ищите :D .....

drvlas
01.08.2014, 22:17
Ответа не дождалсяМалому 3 месяца, вечерние процедуры. то да сьо...
Ответ - да, все правильно.

drvlas
01.08.2014, 22:23
или фазы ищите :D .....Гы-гы :)

Запустил в симуляторе, ибо понять это теоретически я не в состоянии. Что удивительно - пока все работает. Симулирую дальше...

ДОБАВЛЕНО. Ага! Есть проблемка: когда все включено на режим ГРУБО, т.е. дозирование уже пошло, сброс входа1 (разрешение работы) аккуратно сбрасывает подачу. А так не должно быть. Вход 1 опрашивается только в конце цикла - на предмет того, начинать ли новый.

ЕЩЕ ДОБАВЛЕНО: Неточность моего ТЗ: когда набираем вес и сработала уставка1 (то есть питатель перешел на ТОЧНО), то в этот момен пропадание сигнала Уставка1 НЕ ДОЛЖНО вновь включать подачу ТОЧНО. Почему я про фазы все время торочу: раз уже фаза подачи ГРУБО прошла, то возвращаться к ней нельзя, даже если Уставка1 вдруг дернется вниз (а такое бывает при переключении питателя на ТОЧНО).

rovki
01.08.2014, 22:42
Гы-гы :)

Запустил в симуляторе, ибо понять это теоретически я не в состоянии. Что удивительно - пока все работает. Симулирую дальше...

ДОБАВЛЕНО. Ага! Есть проблемка: когда все включено на режим ГРУБО, т.е. дозирование уже пошло, сброс входа1 (разрешение работы) аккуратно сбрасывает подачу. А так не должно быть. Вход 1 опрашивается только в конце цикла - на предмет того, начинать ли новый.

ЕЩЕ ДОБАВЛЕНО: Неточность моего ТЗ: когда набираем вес и сработала уставка1 (то есть питатель перешел на ТОЧНО), то в этот момен пропадание сигнала Уставка1 НЕ ДОЛЖНО вновь включать подачу ТОЧНО. Почему я про фазы все время торочу: раз уже фаза подачи ГРУБО прошла, то возвращаться к ней нельзя, даже если Уставка1 вдруг дернется вниз (а такое бывает при переключении питателя на ТОЧНО).
Исправим ,главное в Тз все описать (втч нещтатные ситуации).Я думал что стоп должен все отключить ,раз не надо уберем .

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

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

rovki
01.08.2014, 22:59
вот ,изменил .

rovki
01.08.2014, 23:02
завтра добавим \АВАРИИ\ и усе ,почти ,потом оформим ввиде 2-3 макросов

drvlas
01.08.2014, 23:14
ОК, я сегодня тоже не могу долго сидеть.
Спасибо!

drvlas
02.08.2014, 09:12
... да. Нужно расти и расти.Пробую разобраться с полученным подарком.
Вот практичкеский пример: а как уважаемый коллега rovki собирается добавить выход АВАРИЯ?
Втыкаю в схему. В голову приходит выражение примерно такого плана:

АВАРИЯ = Выход TON (5сек), на вход которого приходит: (~Q1) & (~Q2) & (была начата подача, но еще не было дозы)

(знак ~ использую для инверсии)
Ищу это выражение "была начата подача, но еще не было дозы". В схеме всего 3 триггера, которые хранят то, что можно назвать остатками моих фаз: RS1, RS2, RS3. На искомую роль легко идет именно RS1 - он взводится в начале подачи и падает при получении Уставки2.
Значит ли это, что вот берем схему И на 3 входа:

~Q1
~Q1
RS1.Q

подаем с нее на вход 5-секундного TON - а его выход на АВАРИЮ - и всьо?

Попробую проверить, если меня редактор не выведет из себя :)

ДОБАВЛЕНО: Я в шоке... Работает! Удивительно. Самое смешное, что с редактором не проблема, я просто таскал связи, которые мне были нужны, не обращая внимания на красоту полученного рисунка. То есть, добавление всего, что я описал, заняло... ну, две минуты, если не меньше (сначала забыл об инверсиях). То есть - удобство на высоте.
Но. Но как же в этой каше разбираться потом?
Вспоминаю, что коллега rovki говорил о переработке схемы, разбиении на макросы или что там еще... Только это может спасти кашу. Иначе это шаманство.

rovki
02.08.2014, 10:17
держите на макросах .Разбираться нужно по функционально законченным блокам (макросам) .Да и что потом разбираться то ,если меняется логика ,то вносим изменения в макрос или делаем новый .Тоны и Тофы специально вынес за макросы ,но можно и внутрь засунуть.

rovki
02.08.2014, 10:29
В ОЛ совсем другой подход к программированию ,чем на ST .Запоминаем события на триггерах(если события могут быть кратковременные) ,используем логику ,таймеры ,,,ну и все для данного ,простейшего проекта.
Ну а дальше сами... будут вопросы ,обращайтесь ....

drvlas
02.08.2014, 10:32
Шикарно!
Спасибо огромное!
Я понимаю, что нужно много научиться, чтобы самому синтезировать такие схемы. Ибо вот этот магический момент, от обсуждения ТЗ до появления первого варианта, остался для меня загадкой. Ну, ничьо, разберемси.

В ходе игр с последним вариантом увидел, что снятие сигнала РАЗРЕШЕНИЕ РАЗГРУЗКИ во время самой разгрузки приводит к закрытию днища. Так не должно быть. Если уж в момент анализа этого разрешения мы получили "добро", то дальше нам по барабасику, ибо разгрузку не остановишь.
Будем считать, что это мое домашнее задание :)

Хорошего выходного!

P.S. Другие варианты реализации мне тоже интересны, есличьо...

rovki
02.08.2014, 10:36
ставим триггерочик ,который взводится по фронту разрешения ,а сбрасываем в конце цикла .....Можно засунуть внутрь макроса ,а можно поставить снаружи .
Да уж пообсуждали на 9 листах ,,,на схему саму затратил около часа (с переделками)

drvlas
03.08.2014, 20:16
Уважаемые коллеги,
Я действительно глубоко благодарен Вам, ососбенно коллеге rovki, за введение в мир программирования ПР. Во-первых, я понял (кажется), как принято составлять ТЗ для любителей классического FBD. Действительно, все не так, как я привык.
Во-вторых, взяв щедрый дар от нашего уважаемого пропагандиста ПР, я изучил проект, понял, как это выглядит и как работают макросы. Я даже начал править проект, вполне успешно.

Но остались 2 "но".

1) Асболютно непонятно, как это создать. Да, с шаблона коллеги rovki можно и слепить что-то. Но КАК он это получил... У меня нет столько мозгов.
2) Отладка такого проекта для меня очень сложна. И дело не только в малом опыте, он у меня все же не нулевой. Принципиально дело в том, что вы строите все на логических выражениях, если нужно, поддержаных элементами памяти (триггеры) и задержек. Угадать, в какой точке нашего процесса (циклического) внезапно (или "запно") сработает то или иное условие - сложно. Ососбенно, когда что-то изменил, а оно вдруг выскочит совершенно неожиданно в другом месте...

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

Проект прилагаю. Конечно, в ходе разработки и отладки (завтра покупаю железо, будем отлаживать нипадецки) я кое-что изменил и в ТЗ. Но не существенное.

rovki
03.08.2014, 20:32
where the project is :cool:
Требуется не много мозгов ,а по другому устроенные .Есть искусство программирования и есть искусство схемотехники .
Что бы повернуть мозги нужно решить десяток простеньких задач (проектов) .После того как повернете начнется процесс самосовершенства ;) бесконечный
Если вы поняли как составлять (подробное) ТЗ для ПРки(ОЛ) ,то это уже пол дела .Как слышим (читаем ТЗ) ,так и пишем (рисуем) проект .Естественно используем нужные ФБ и макросы .Например бегущая единица -используем нужные ФБ или макросы (соответствующие) .....
Если необходимо выявить(зафиксировать) во времени какое то состояние(событие) ,то используем триггер (флаг) ,которые не забываем сбрасывать в нужное время ....

drvlas
03.08.2014, 23:40
where the project isВ момнт времени, когда уже надо было отсылать, пришел мой дркг Гоча и сказал:и Пива холодного хочешь?
И всьо... Это пароль. Ща пришел, понял свою легкомысленностть.
Прикладываю прорект

rovki
03.08.2014, 23:48
Прикладываю прорект В холодильник что ли ?:p

drvlas
03.08.2014, 23:51
Завтра?с1234

drvlas
03.08.2014, 23:54
В холодильник что ли ?:pОй, ни нада. Мне и так хорошо. Ну, у нас тут так дущевно.
КАРОЧИ, вродь отправил. Если не, то таки завтра. Ох уж это пароль!

rovki
04.08.2014, 00:23
Конструкция понятна ,но не оптимальная .Для вашего простейшего случая она избыточна ,но полезна для изучения ОЛ .Заметил что либо логика изменена либо ошибки .

drvlas
04.08.2014, 08:17
Добрейшего всем утречка!

Уффф. Не стал править свой вчерашний пьяненький бред. Смешно получилось, не мог приаттачить проект, хоть убейся. А похвастаться же хотелось, аж руки чесались!


Конструкция понятна ,но не оптимальная .Для вашего простейшего случая она избыточна ,но полезна для изучения ОЛЭтот совершенно сознательно. Я же не скрывал, что учусь и мне было важно понять, что можно получить в йентом самом ОВ. Кроме того, сам подход с привычными мне фазами - получится или нет.
Боюсь дискутировать с вами, ибо я в данной области "от горшка два вершка", но с этой высоты все же мне видится очень перспективным использование вот такого "степпера", как я придумал. Скажем так: мне лично удобно. На каждом шаге (фазе) я анализирую те и только те переменные, которые имеют значение с учетом текущего шага. Скажем, когда идет насыпка продукта, я "ловлю" сигнал Уставка1, не забывая следить за сигналом ДНИЩЕ ЗАКРЫТО. И пофик в это время погода в Гонолулу! Она не влияет, как не влияет и Уставка0, как не влияет РАЗРЕШЕНИЕ РАЗГРУЗКИ и даже Уставка2. Ибо мы в этой фазе не случайно: мы в нее попали в результате предыдущих анализирований и действий.


Заметил что либо логика изменена либо ошибки .У меня "на ходу" упрощалось ТЗ. Поэтому и поведение программы отличается от того, которое я расписывал раньше. Более того. Отладка в железе обещает дальнейшие коррективы. Ну, я же сам себе пишу ТЗ, сам и отступаю. Мелитопольцы уже заплатили аванс по работе, в которой я рискну все же поставить ПР вместо ПЛК. "Аннушка уже разлила масло". Вот там и посмотрим, что это за фрукт, ваше ПР110. Мне очень интересно.
(Хотя редактор схем все же вызывает большое раздражение. Вы-то уже притерпелись, ясен пень, а я все еще хотел бы подержать за кадык того пацана, что это писал!)

maximov2009
04.08.2014, 09:03
а я все еще хотел бы подержать за кадык того пацана, что это писал!)

День добрый. А вот пацанов наших лучше не трогайте. Они стараются как могут, и поправляют огрехи.
За выходные смотрю дело сдвинулось. Если хотите попробовать пошаговый алгоритм, то попробуйте разобраться в "лесорубе". Там на самом деле достаточно просто, и именно так как вы и хотите, всё по шагам. Стоит счётчик, который перещёлкивается в зависимости от входных условий и на выходе Дешифратор в двоичный код, что соответствует включаемым входам. А между ними ППЗУ, в который Вы закладываете код для каждого шага.
Просто там конечно много блокировок нацеплено, может это помешало Вам разобраться. Но там всё таки опасный станок. Представьте что две больших фрезы могут столкнуться, ужас, поэтому и налепил. А так в основе то как раз и лежит три элемента (счётчик, ППЗУ, дешифратор).

drvlas
04.08.2014, 10:00
Если хотите попробовать пошаговый алгоритм, то попробуйте разобраться в "лесорубе"

"Хорошо, я посмотрю внимательнее" написал я и полез смотреть. Еще и удивился, мол, как же я не обратил внимание на то, что меня больше всего интересовало...
Хэх, так там же только описание, проекта нет. Потому и не связал ту реализацию со "своим" подходом :) Я тогда упирался в то, чтобы сделать ТЗ, приемлимое для знатоков ОЛ.

Мне интересно, как реализуется ПЗУ.
И еще у меня возникла трудность с временнЫми параметрами при перещелкивании CTN. Наступление следующего состояния у него как-то странно: есть такт, в котором у меня срабатывают 2 соседних компаратора, как будто на выходе счетчика присутствует и код 5, к примеру, и 6. В общем, не разобрался, а наставил задержек по 0,2 с в макросах. Коряво, надо будет понять, что за фигня.
И еще один стремный момент. Я был вынужден выбросить из цепей сброса счетчика входной сигнал от тумблера СТОП-РАБОТА. Иначе счетчик не уходил из состояния "0". Короче говоря, я полагаюсь на то, что при включении питания этот счетчик обнулен. Не слишком приятно, хотелось бы явно сбрасывать, но в симуляторе работает.

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

maximov2009
04.08.2014, 11:13
"
Хэх, так там же только описание, проекта нет. Потому и не связал ту реализацию со "своим" подходом :
Я же тогда сказал, что уже выкладывал на форуме, надо было пошарится в архиве. Выкладываю ещё раз. Основное я пометил на схеме.
Что не понятно, переспросите. В ППЗУ (блок 16мем) в свойствах макроса справа внизу задаётся число десятичное, которое появляется на выходе при соответствующем шаге. Шаги идут снизу вверх от 0 до 15. Задаваемое число для соответствующего шага соответствует двоичному коду выходов в данный момент.

rovki
04.08.2014, 20:26
Можно и по другому чуть-чуть реализовать управление по событиям (фазам) .Для начала сделаем макрос ,который запоминает событие(переход из "0" в "1) и формирует короткий импульс ,причем последовательно во времени .То есть ,например событие по входу № 3,сформирует импульс при условии ,что были последовательно события по входу 1 ,потом входу2, это позволит упростить логику по входам .В макросе есть вход R-сброс всех событий ,для организации нового цикла.:rolleyes:

rovki
04.08.2014, 20:47
Затем добавляем счетчик ,пзу , экстрактор и получаем "синхрофазатрон";):rolleyes::o потом все засовываем в один макрос

drvlas
04.08.2014, 20:54
я пока не понял, как это использовать. Но подумаю.
Во всяком случае, я хотел бы решить все вопросы организации "степпера" неким единым и стройным образом. Чтобы получился шаблон, в который начиняешь всего 2 множества: условия переходов по фазам и (полезные) действия в самих фазах. Последнее вполне можно закатать в ПЗУ, хотя меня смущает такой момент: как быть с выходами, которые не изменяются в данной фазе?
В общем, еще много нужно допилить.
О, еще есть инфо! Бум смотреть, спасибо!

rovki
04.08.2014, 21:01
на входа макроса заводится как информация со входов ,так из любой точки схемы ,в том числе с выхода макроса-(условия переходов) .Главное -нужно заводить события ,так как они располагаются во времени .С выходами будет ,то что вы запишите в ПЗу(макрос)
Исправьте в макросе свойство в макросе ПЗУ ,на использование в макросе -ДА ..
Ну вот например ваш дозатор ,цикл начинается с закрытия крышки ,потом пуск ,потом уровень1,потом уровень2 ,потом уровень ноль ,потом еще уровень0
в предышущем посте макрос SF был с ошибкой ,исправил (старая версия) и тут исправил старую версию

rovki
04.08.2014, 22:59
Вот пример как на базе этого макроса сделать бегущую единицу .в пзу пишем значения "картинки" 1,2,4,8,16,32,64,128 ...Входа все в кучу и все .:rolleyes:Ясно что можно проще ,но это пример как пользоваться макросом .

rovki
05.08.2014, 06:57
В данном макросе(способе) есть 7 шагов (интервалов) во времени(произвольной длины) .Шаг -любое последовательное во времени событие (переход из "0 в "1") ,в соответствии которого ставится любая комбинация на выходе макроса ,путем записи констант во внутреннее ПЗУ макроса .Он рассчитан для работы в циклических алгоритмах .
Следующим будет макрос ,позволяющий увеличивать количество событий (шагов) .

drvlas
05.08.2014, 08:05
Следующим будет макрос ,позволяющий увеличивать количество событий (шагов) .Я как раз проснулся с тоскливым обдумыванием ограниченности количества входов-выходов в макросах этой вашей хваленой ОВ :)
И решил, что есть такие пути:
1) максимально прятать внутрь те части схемы, в которых "позиционный код". Возможно, проводить границу разделения макросов по целочисленным аргументам. Ну, например, текущую фазу из макроса, где она создается и модифицируется, выносить для других макросов в виде числа. А в тех макросах, где она юзается, разворачивать число в позиционный код. Например, ставить блоки EQ и получать все интересующие нас значения в виде булевых переменных (равно или не равно, скажем, 5)
2) наращивать макросы в макросах (это то, что Вы собираетесь делать?)

Мне еще надо время понять полеты Вашей мысли, я так быстро не умею. Но наперед закину вот что: наш сиквенсер (степпер, фазовый управитель, как его назвать?) должен иметь такие параметры:

1) Реагирование не только на события, но и на постоянно существующие условия. Это значит, вот что. Допустим, в фазе 5 анализируется некое "событие". Так вот, нужно реагировать на это "событие" не только в случае, когда оно происходит (условие начинает выполняться) непосредственно в фазе 5. Нужно также реагировать на это событие, если оно произошло еще до наступления фазы 5.
Пример: вместо сигнала "Разрешение разгрузки" я ставлю перемычку. И хочу, чтобы в нужной фазе ПР увидел эту перемычку и пошел дальше "мгновенно", пусть там и прощелкает несколько циклов работы контроллера. Если же перемычки не будет, то ПР постоит в фазе ожидания разрешения разгрузки и по получению "события" пойдет дальше.
Я для реализации такого поведения наставил кучу таймеров по 0,2 с - это ужасное решение

2) "Произвольный условный переход"
В любой фазе мы можем принять решение о переходе не к следующей фазе, а к какой-то иной. Теоретически, можно требовать, чтобы из любой фазы при некоторых условиях можно было улетать на любую другую. Но практически это громоздко и трудно. Поэтому я бы рассмотрел чуть менее универсальное умение: в каждой фазе есть одно условие "нормального" выхода (к следующей фазе) и одно условие выхода к произвольной фазе. Скажем, у нас есть сигнал "Днище закрыто". Его исчезновение в некоторых фазах должно вызывать отработку аварийной ситуации. Сейчас я тупо сбрасываю счетчик фаз. И в состоянии INIT должен побеспокоиться о сбросе всего что нужно и переходе или не переходе в фазу BottomWait. А можно было бы зарезервировать некую фазу 8, предназначенную для отработки аварии "Днище упало во время подачи или ожидания фиксации результата дозирования". И именно туда направлять степпер (теперь уже джампер?) в случае такой аварии. Тогда в системе есть место и для других аварий - заведу фазу 9 для аварии "Слишком долго идет насыпка", фазу 10 для аварии "Не могу дождаться разргрузки" и т.д....
Одним словом, добавить условный переход, как в обычных программах, есличьо...

3) Конечно же, хотелось бы иметь масштабируемый степпер, чтобы фаз могло быть больше, чем 8. Мне просто повезло с моим первым проектом, но расширяться уже некуда. А может понадобиться.

Я не слишком размечтался?

capzap
05.08.2014, 08:41
Я не слишком размечтался? хотел узнать, дошло ли до сознания, что в отличии от плк в ПРке выполняется весь код, который разместили в проекте

drvlas
05.08.2014, 09:37
Да, я понимаю, что в каждом цикле работы ПР (равно как и в случае ПЛК) производится отработка всех возможных блоков. Но степпер для того и создан, чтобы "разнести" по разным фазам анализ и отработку определенных комбинаций входов и внутренних переменных. Поэтому меня, как разработчика, не волнует "выполнение" тех частей, тех блоков, которые в данной фазе не важны. Я их все равно блокирую, на работу схемы (программы) в данной фазе они не влияют.
Вот это разделение схемы на несколько частей, важдая из которых "играет" в положенной фазе - главное отличие предлагаемого (здесь мною, но вообще это совсем не мое изобретение) подхода.

capzap
05.08.2014, 09:48
Я не про то, что Вы грамотно или нет производите селекцию, а про то что от "раздувания" кода, время исполнения, трата ресурсов и т.п. будет увеличиваться

drvlas
05.08.2014, 10:09
Если мне не хватит производительности ПР, я буду работать с другой моделью. Но код должен быть понятным, отлаживаемым, пригодным для модифицирования в дальнейшем. Иначе лично я (за других не могу расписываться) работать с программой (схемой) не могу.

maximov2009
05.08.2014, 11:05
Мне еще надо время понять полеты Вашей мысли, наш сиквенсер (степпер, фазовый управитель, как его назвать?) должен иметь такие параметры:

Я не слишком размечтался?

Как в книжке "12 стульев" "И тут Остапа понесло.
По моему вы хотите решить две взаимоисключающие задачи пошаговое управление или свободно реагирующее на ситуацию.

amn
05.08.2014, 19:45
Предлагаю свой вариант. Правда у меня 5-й вход оказался лишним :). Руководствовался заданием в посте 55. Сделал частично с макросами. Если нужно, то можно и остальное убрать в макросы. Там кое-где есть комментарии (для этого надо навести курсор на блок или переменную).

rovki
05.08.2014, 23:07
Я как раз проснулся с тоскливым обдумыванием ограниченности количества входов-выходов в макросах этой вашей хваленой ОВ :)
И решил, что есть такие пути:
1) максимально прятать внутрь те части схемы, в которых "позиционный код". Возможно, проводить границу разделения макросов по целочисленным аргументам. Ну, например, текущую фазу из макроса, где она создается и модифицируется, выносить для других макросов в виде числа. А в тех макросах, где она юзается, разворачивать число в позиционный код. Например, ставить блоки EQ и получать все интересующие нас значения в виде булевых переменных (равно или не равно, скажем, 5)
2) наращивать макросы в макросах (это то, что Вы собираетесь делать?)

Мне еще надо время понять полеты Вашей мысли, я так быстро не умею. Но наперед закину вот что: наш сиквенсер (степпер, фазовый управитель, как его назвать?) должен иметь такие параметры:

1) Реагирование не только на события, но и на постоянно существующие условия. Это значит, вот что. Допустим, в фазе 5 анализируется некое "событие". Так вот, нужно реагировать на это "событие" не только в случае, когда оно происходит (условие начинает выполняться) непосредственно в фазе 5. Нужно также реагировать на это событие, если оно произошло еще до наступления фазы 5.
Пример: вместо сигнала "Разрешение разгрузки" я ставлю перемычку. И хочу, чтобы в нужной фазе ПР увидел эту перемычку и пошел дальше "мгновенно", пусть там и прощелкает несколько циклов работы контроллера. Если же перемычки не будет, то ПР постоит в фазе ожидания разрешения разгрузки и по получению "события" пойдет дальше.
Я для реализации такого поведения наставил кучу таймеров по 0,2 с - это ужасное решение

2) "Произвольный условный переход"
В любой фазе мы можем принять решение о переходе не к следующей фазе, а к какой-то иной. Теоретически, можно требовать, чтобы из любой фазы при некоторых условиях можно было улетать на любую другую. Но практически это громоздко и трудно. Поэтому я бы рассмотрел чуть менее универсальное умение: в каждой фазе есть одно условие "нормального" выхода (к следующей фазе) и одно условие выхода к произвольной фазе. Скажем, у нас есть сигнал "Днище закрыто". Его исчезновение в некоторых фазах должно вызывать отработку аварийной ситуации. Сейчас я тупо сбрасываю счетчик фаз. И в состоянии INIT должен побеспокоиться о сбросе всего что нужно и переходе или не переходе в фазу BottomWait. А можно было бы зарезервировать некую фазу 8, предназначенную для отработки аварии "Днище упало во время подачи или ожидания фиксации результата дозирования". И именно туда направлять степпер (теперь уже джампер?) в случае такой аварии. Тогда в системе есть место и для других аварий - заведу фазу 9 для аварии "Слишком долго идет насыпка", фазу 10 для аварии "Не могу дождаться разргрузки" и т.д....
Одним словом, добавить условный переход, как в обычных программах, есличьо...

3) Конечно же, хотелось бы иметь масштабируемый степпер, чтобы фаз могло быть больше, чем 8. Мне просто повезло с моим первым проектом, но расширяться уже некуда. А может понадобиться.

Я не слишком размечтался?
Как обещал новые макросы фазатрона .Первый макрос (2шт) фиксатор событий ,второй- счетчик событий с преобразованием в код целочисленный ,третий экстрактор .Если в счетчик поставить 2ППзу ,то можно отрабатывать 32 события ,но тогда нужно ставить 5фиксаторов .Данный способ(абстракционизм;)) имеет право на существование ,но я предпочитаю классику ,когда смотришь на картину(проект) и понимаешь ,что хотел сказать автор....

drvlas
05.08.2014, 23:26
Ребята, я сегодня запустил на своем первом ПР110 первый проект в железе. Уф. Работает! Ваши варианты не рассматривал. Не потому, что не интересно, просто пекло другое :)
Завтра...

rovki
06.08.2014, 06:25
Лиха беда начало .Удачи в освоении .

drvlas
06.08.2014, 07:46
Удачи в освоении .Спасибо! Но фраза звучит так, что мне уж и спрашивать вродь не полагается... А вопросы еще есть и будут. Просто я стараюсь пощупать-поиграться для получения своих шишек - без этого какое же обучение. Потому лишь постепенно осваиваю то, что предлагают уважаемые коллеги.

Очень понравилась реализация от amn. Да, она выполнена в том подходе, который я бы назвал "нерегулярный фазовый автомат". Или, иначе говоря, более традиционный для схем на ПР. Но все же фазы выделены (даже визуально) и при моей реально простой задаче это решение, которое можно было бы считать более удачным, чем мои навороты. Но, сами понимаете, охота пуще неволи. Я хочу работать с регулярной структурой.
А советы коллеги rovki как раз звучат в унисон с моими хотелками. Я наконец-то понял, как "программировать" ПЗУ :) То есть, по сути, было ясно, что при наличии счетчика фаз установка ПЗУ на выходы (это раз!) и на отработку событий для следующего шага (это два!) придает системе фантастическую регулярность и стройность. Но я сразу тупо не въехал, "куда ж коней впрягают". Поэтому проигнорил ПЗУ как класс. Теперь буду думать. Правда, у меня вся схема такая простая, что кодировать состояние 4-х выходов (АВАРИЯ рождается из фазы 0 и таймера 5 сек) вроде уж совсем помпезно... Но. Но ради будущих проектов могу попробовать и здесь ПЗУ заюзать.
А вот сам синхрофазотрон как-то меня "не вставил". Мож тут как с ПЗУ, я просто не понял. Но "отработчик событий для перехода на следующую фазу" (так я понимаю официальную функцию СФТ) должен работать как с событиями, возникающими в текущей фазе, так и с событиями, фронт от которых уже не получишь (например, перемычка, которая "произошла" еще на этапе монтажа шкафа). Поэтому подавать "события" на входы С триггера... Не то. При этом хочу прдчеркнуть: именно реализация СФТ у меня представляет ИМХО самое слабое место. То есть, я буду копать именно в данном направлении, поизучаю проект коллеги rovki.

А чтобі вам было удобнее следить за полетом моей фантазии, ща причешу чуток проект (который работает на железке, йо-майо!) и приаттачу.

drvlas
06.08.2014, 10:57
Ну, слегка причесал, добавил макрос RANGE и парочку переменных (разгружают рисунок). Ввел все же возможность перезапуска с произвольной фазы по перепаду на тумблере СТОП-РАБОТА. Ибо иногда на железе сам заводил систему в раскаряку (нереальными, в принципе, действиями, но все же может быть) - и выводить приходится передергом питания. Оно-то и не страшно, но как-то тумблером хотелось с самого начала...
Конечно, главный фокус по сравнению со старой версией - использование целочисленной переменной для передачи номера фазы из счетчика в схему (2 макроса, UPPER и UpLo) генерации импульсов перехода ("СФТ" по терминологии от rovki). Это позволило ввести 9-ю фазу и сделать красивые UPPER и UpLo.

maximov2009
06.08.2014, 13:29
Добрый день.
Если развернуть все макросы больно уж громоздко для такой задачи. Ощущение, что к звёздам через большие тернии. Или по принципу "Мы не ищем лёгких путей". Покажем программу заказчику, он напугается и заплатит побольше. При таком раскладе ваша попытка отдать исходники заказчику заранее обречена на то, что никто не разберётся и всегда будут звать Вас. А через несколько лет возможно они захотят перейти на другое аппаратное решение. Вот у меня полетел контроллер, где программа на зелио ложике была представленна просто напечатанной на бумажке и всё понятно, переделать можно и на ПР. А у Вас такой фокус не пройдёт. Больно уж вы замудрёвываете. Универсальные есть макросы, но создать универсальную программу нельзя. Возьмётесь решать посерьёзнее задачу и с Вашим подходом у Вас просто банально не хватит памяти. Обратите внимание на показания внизу окошка ОЛ с используемыми ресурсами. Коллеги не дадут соврать, что особенно помню при создании первых универсальных макросов вылазили такие трудности.
С уважением.

drvlas
06.08.2014, 14:56
Покажем программу заказчику, он напугается и заплатит побольше. При таком раскладе ваша попытка отдать исходники заказчику заранее обречена на то, что никто не разберётся и всегда будут звать Вас. А через несколько лет Не-не, тут Вы не правы. Я исходники не передаю, да и некому, как правило. Сопровождаю свои изделия еще 99-го года выпуска. Ну, мы уже говорили об особенностях моих клиентов.
Так что нагромождать ради объема - смысла нет никакого. Исключительно для того, чтобы я сам лучше видел логику работы и потом легче сопровождал.


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


Возьмётесь решать посерьёзнее задачу и с Вашим подходом у Вас просто банально не хватит памятиЗначит не возьмусь. У меня же джокер в рукаве: я сюда пришел с ПЛК. Чуть запахнет жареным - я не принципы написания программ буду ломать, а сменю контроллер :)
Хотя... Вредность не позволяет мне не упомянуть такие цифры (раз уж речь пошла об используемых ресурсах): беру ту строчку снизу для трех вариантов:

27 19 33 08 15 мой (полностью работающая программа)
27 24 40 06 10 rovki (его программа, допиленная мною)
19 22 27 05 07 amn (программу нужно чуток подпилить)

Я бы не сказал, что мое решение очень "жрущее".

Василий Кашуба
06.08.2014, 17:25
Ну, слегка причесал, добавил макрос RANGE и парочку переменных (разгружают рисунок). Ввел все же возможность перезапуска с произвольной фазы по перепаду на тумблере СТОП-РАБОТА. Ибо иногда на железе сам заводил систему в раскаряку (нереальными, в принципе, действиями, но все же может быть) - и выводить приходится передергом питания. Оно-то и не страшно, но как-то тумблером хотелось с самого начала...
Конечно, главный фокус по сравнению со старой версией - использование целочисленной переменной для передачи номера фазы из счетчика в схему (2 макроса, UPPER и UpLo) генерации импульсов перехода ("СФТ" по терминологии от rovki). Это позволило ввести 9-ю фазу и сделать красивые UPPER и UpLo.
Пока причёсывал ваши макросы, увидел, что нет связи с четвёртого входа внутри UPPER. Сразу не обратил внимания, и теперь не знаю, толи я её потерял, толи её и не было.

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

melky
06.08.2014, 17:55
Пристрелил бы тех, кто заказчику не передает исходники... :(
Вот сейчас сижу ломаю голову, как вытянуть данные из контроллера Carel. Подрядчик обанкротился или еще что, исходников НЕТ.
Хоть программу переписывай, да только денег у зака под это не предусмотрено.

drvlas
06.08.2014, 19:02
нет связи с четвёртого входа внутри UPPERЭто моя ошибка. Вход лишний.


Пока причёсывал ваши макросыСпасибо, учту!
Верно ли я понял, что Вы:
1) подправили линии связи
2) в макросе LoUps вынесли в конец общий для всех случаев TON
3) в макросе RANGE изменили логику обработки (наверное, чтобы не было дурацкого прибавления "1")

Или есть еще что-то? Трудно все увидеть :)

drvlas
06.08.2014, 19:13
Для того ,что бы сравнивать разные проекты по весу ,нужно удалить из бибки макросов лишниеО, спасибо, удалю. Не для сравнения, а просто чтобы мусора поменьше было. Кстати, воспользовался макросами, которые в ОНЛАЙН библиотеку набросали, в том числе, и Вы.

2 melky: да не надо путать божий дар с яичницей! Грубо говоря, не учите меня бизнесу. Ну, это грубо, извините. Просто прошу учесть, что очень все по-разному бывает. Я заказчику отдаю продукт, а не разработку. Она (разработка) ему и не впилась - говорю же, там некому принять документацию. Вот, пример: эту первую ПР-прогу я ставлю на модернизацию своих же дозаторов выпуска начала века. Там на мельнице вообще никогда за эти годы не было ни одного КИПовца! Вся поддержка дозаторов осуществляется начальником мельницы, хорошим мужиком, но не электриком даже. Скажем, замена 12-вольтового блока питания - это (внимание!) приглашение из города его знакомого, чтобы он за разовое вознаграждение открутил старый и прикрутил новый. И никакие аргументы собственника мельницы не ипут! Он знает свой бизнес, я свой. Все довольны.
А ты говоришь, купаться... :)
(А, вспомнил случай: я там был на ремонте, а в это время сломался дозатор моих конкурентов. Ну, там нужно было параметр подправить. И что? Начальник падает мне в ноги, помоги! Я беру у него тлф фирмы-изготовителя, звоню туда, расспрашиваю, устраняю проблему. Вот так у нас, в степях Украины, мелют пшеничку.)

Василий Кашуба
06.08.2014, 19:22
1) подправили линии связи
2) в макросе LoUps вынесли в конец общий для всех случаев TON
3) в макросе RANGE изменили логику обработки (наверное, чтобы не было дурацкого прибавления "1")

Совершенно верно.

drvlas
06.08.2014, 19:56
Спасибки, ща внесу. Мне понравилось.
Еще решил вогнать в макрос все. что управляет выходами

rovki
06.08.2014, 21:05
О, спасибо, удалю. Не для сравнения, а просто чтобы мусора поменьше было. Кстати, воспользовался макросами, которые в ОНЛАЙН библиотеку набросали, в том числе, и Вы.

[
Не, набросал не я ,у меня их под сотню ,это разработчики позаимствовали ,по своему усмотрению ...

capzap
06.08.2014, 21:56
Анатолий, взгляните на мой макрос, удалось ли мне сократить ресурсы и повторяет ли он точно Ваш генератор

rovki
06.08.2014, 22:08
Не совсем ,у меня как бы динамический ,а у вас статический генератор .То есть под событием я понимаю изменение состояния,а не само состояние .Ну и сброс не приводит к изменению выхода .
можно убрать ФБ и сделать д триггера и р триггер на элементах http://www.owen.ru/forum/showthread.php?t=7023&page=267&p=94408&viewfull=1#post94408 .При таком ,как у автора поста подходе ,говорить о минимизации проекта нет смыла ....(надеюсь пока ) Как задачка для обучения ,очень да же хороша .Такие способы больше подходят для автоматов ,станков ,механизмов ,где есть последовательность действий ,выполняемых в цикле .

capzap
06.08.2014, 22:32
Блин,чего то непонимаю я, вроде гонял Ваш макрос-в эмуляторе, добился такого же эффекта как мне кажется да и судя по сотому посту все учтено. Про сброс вообще в тупик поставили,если на выходе короткий импулсь равный циклу,то как его сбросом успеть уронить

Зы может я не тот вариант выложил

rovki
06.08.2014, 23:02
Все дело в методике испытания ....:D поставьте на первом входе 0 ,а на3, 4,5 единицы .Подайте единицу на 1 вход ,сформируется импульс на выходе ,потом на 2 вход подайте единицу ,так же импульс сформируется ,но вот на 3,4.5 единицы были ранее ,поэтому импульсов на выходе не будет ,будет только когда придет единица на 6 вход .То есть события 3,4,5 не будут посчитаны .В моем макросе единица на 6 входе не приведет к формированию импульса ,пока не произошли последовательно события на входах 3,4,5 -в данном случае нужно установить сигнал на входе 3 в ноль ,а потом снова в единицу ,и так далее.
Уточнение - мой макрос считает только события которые изменяют уровни с нуля на единицу (передний фронт) ,если нужен другой фронт ,то ставим инвертор...
На счет сброса ,может я чего не понял ,но когда я ставлю единицу на вход8 ,на выходе постоянно единица ....

drvlas
06.08.2014, 23:53
Анатолий, взгляните на мой макросПонимаю, что это не ко мне, но все же... Что за тип файла TPL? Чем его смотреть?

Василий Кашуба
07.08.2014, 00:00
Понимаю, что это не ко мне, но все же... Что за тип файла TPL? Чем его смотреть?
Смотреть этот файл можно, вставив его в ваш проект командой "Вставить макрос из файла" Это такое расширение у макроса.

drvlas
07.08.2014, 00:07
Ну, пока остановился на таком варианте. Особо не гонял, завтра еще поиграюсь, может даже сделаю киношку. Дальше шлифовать нужно после более качественной проверки работы ПР в условиях реального дозирования.
Самое главное: благодаря вашей поддержке я разобрался с приемами работы с ПР110, научился создавать (неоптимальные, но рабочие) программы и вовсе не страшусь запустить это на объекте. Есть некоторые идеи, но для них я открою новую версию 1.0. Эта же будет считаться последней из бета-версий.

Еще раз спасибо всем!

maximov2009
07.08.2014, 06:59
Не-не, тут Вы не правы. Я исходники не передаю, да и некому, как правило. Сопровождаю свои изделия еще 99-го года выпуска. Ну, мы уже говорили об особенностях моих клиентов.
.

Доброе утро. Насчёт передачи исходников, во первых в первых постах Вы сами говорили о передаче. А во вторых как уже заметил другой коллега, не передавать исходники это абсолютно не правильно. Я на этом уже сломал много зубов. Перечислять примеры, рука устанет, несколько приведу. Фирма ваших коллег "Укрпак" станок наклейки этикеток на бутылку. Контроллер альфа мицубиси, по сути та же ПР110, тоько с экранчиком программа плёвая по функционалу. Накрылся один выход. Звоню на завод-дайте программу или хотя бы циклограмму работы, чтобы проще было свою разработать. Залепили что то насчёт интелектуальной собственности как всегда и понеслось. В результате только добился высылки запрограммированного контроллера, теперь подсчитайте время и стоимость доставки с украины в Алтайский край, я уже не говорю о цене. И это было год назад, а при нынешней ситуации вообще вряд ли чего добился вообще.
Другой пример, местный Алтайский разработчик ПАСТЕРИЗАТОРА. Контроллер ПЛК 100, сдохла батарейка. Исходников нет, 2 недели искал фирму разработчика, 2 месяца выковыривал с них исходник программы, чтобы перезалить, после этого выяснилось, что именно этой программы нет, есть что то похожее, пришлось на ходу переделывать. А представьте стоимость простоя линии на это время.
А вот как я писал выше был исходник на зелео лоджике на бумаге, и переделали за полдня.
Так что не надо лепить про интеллектуальную собственность и безграмотность других. Исходники ОБЯЗАНЫ передавать ВСЕ, а Вы просто пользуютесь юридической безграмотностью тех кому продаёте свой труд. Я после таких ожогов не подписываю договора, в которых не предусмотрена передача ВСЕГО программного обеспечения.
Это всё таки большое но отступление от темы. А по теме, хочется сказать, что Вы всё таки гнёте свою линию, мотивируя тем, что в любой момент соскочу на контроллер.

drvlas
07.08.2014, 09:21
Вы всё таки гнёте свою линиюДа ладно Вам.... Кто из нас гнет-то?

1) По сути темы: был вопрос о проверке алгоритма на ПЛК100 ("кошечки") - решен успешно.
Я убедился, что мой тензоАЦП прекрасно взвешивает, работает с ИП320, фиксирует результат дозирования (новая фича) и на отдельно стоящем ПЛК, используемом исключительно в виде ПР, можно создать рабочую программу дозирования.

2) По развитию темы: Одновременно с обучением работе с ОЛ я предложил коллегам построить программу, ориентированную на пошаговую суть алгоритма.
Считаю, что есть задачи, в которых логика связи входов и выходов преимущественно основана на логических функциях, а есть задачи, в которых наблюдается сильная зависимость от положения автомата в своей циклограмме. Вот для такой сильной зависимости есть смысл завести внутреннюю переменную (ФАЗА, ШАГ) - и ее использовать в логических выражениях.
Созданные вместе с вами примеры показали, что в случае простого дозатора на основе умного тензоАЦП оба подхода к построению программы примерно эквиваленты по потребляемым ресурсам ПР. Мне лично вариант с фазами понравился больше. Из аргументов против "фазной структуры" я вижу только вопрос по "избыточности" - который снимается с учетом отмеченной сопоставимости размеров программ. На более же сложных пошаговых алгоритмах применимость фазного подхода только возрастет, ибо в нем сложность схемы будет расти линейно, а не снежным комом, как в традиционных структурах.
Вот эту линию я и гну. Даже готов продолжить дискуссию, если хотите.

3) О закрытости-открытости исходников. Все еще не хотите признать, что есть разные изделия, разные маркетинг-стратегии, разные потребители? Тогда - пожалста, считайте меня жлобом. Вместе с компанией ОВЕН. Или они вам раскрыли прошивку ПЛК? Или какой-нить адвантек-ампликон-адлинк публикует схемы и прошивки своих модулей? Мне такое соседство только льстит.
Фирма Texas Instruments размещает в открытых источниках подробнейшие схемы, разводку плат и прошивки (вместе с исходниками) готовых, по сути устройств - счетчиков электроэнергии, весовых устройств, устройств для работы по радиоканалам и т.п. Но не забывайте, что TI выпускает микросхемы. Таким образом, разработав у себя все те устройства, фирма побуждает нас покупать огромное количество своих микросхем. Труд разработчиков этих устройств оплачен, таким образом, продажами микрух.
Так что, глубокоуважаемый коллега maximov2009, прошу не приплетать сюда пацанов из Ваших примеров, которые разработали что-то, установили и не смогли (не захотели, какая разница?) поддерживать свой продукт - или, может быть, даже не задумывались о маркетинговой стратегии. У них свои обстоятельства, у Вас свои, у меня свои. И проекты разные. Вот этот наш, который сейчас рассмотрели - он же мною опубликован на форуме? А какие-то другие свои проекты я публиковать не буду.
Передача исходников заказчику. Хэх! Брать деньги с заказчика за то, что ему не нужно - это не доблесть "высокопорядочного" разработчика. Отдавать ему даже даром, то, что ему не нужно - тоже не слишком умно. Я отдаю изделие: дозатор, систему или модуль. Я обслуживаю это. Вы бы удивились, как много у меня бесплатного или условнобесплатного сервиса. Но это мой бизнес, мои правила.
Все. По п.3 я больше не дискутирую, это уже в срач может перерасти. Принимаю все ваши дальнейшие замечания молча. И с уважением.

melky
07.08.2014, 12:55
drvlas все равно исходники необходимо отдавать с документацией. Просто потому, что сегодня вы обслуживаете мельничку, а завтра, послезавтра, через несколько лет последователям придется переписывать проект.
Время оно такое, не щадит никого, а железяка может еще работать и работать... как-то так.

drvlas
07.08.2014, 23:52
Да, ребята... Еще раз порадовался за "свой" фазовый подход и за решение вывести номер фазы в виде целочисленной переменной, а не в виде позиционного кода.
Решил добавить автоматическое взятие тары. Самое долгое было решить, каким же из выходов пожертвовать. Когда решил - все, конец мукам творчества: добавил 9-ю фазу в макросе CNT (изменение константы), добавил в схему формирования переходов (макрос LoUps) счетчик пропуска циклов дозирования (чтобы не каждый раз брать тару, а только раз на несколько доз), добавил управление выходом в макрос OUTS. Вот и вся недолга. Схема заработала через 20 минут. Завтра посмотрю на предмет украшательства, комментирования.
Быстро и легко. Я бы так не смог в той сложнозавязанной схеме от уважаемого коллеги rovki, с которой все началось. Лично мои мозги плавились бы полдня. Потому - пойду выпью пива за свою стойкость и за вашу помощь в доведении до рабочего проекта идеи с фазовой организацией :)

Василий Кашуба
09.08.2014, 00:01
Да, ребята... Еще раз порадовался за "свой" фазовый подход и за решение вывести номер фазы в виде целочисленной переменной, а не в виде позиционного кода.
Решил добавить автоматическое взятие тары. Самое долгое было решить, каким же из выходов пожертвовать. Когда решил - все, конец мукам творчества: добавил 9-ю фазу в макросе CNT (изменение константы), добавил в схему формирования переходов (макрос LoUps) счетчик пропуска циклов дозирования (чтобы не каждый раз брать тару, а только раз на несколько доз), добавил управление выходом в макрос OUTS. Вот и вся недолга. Схема заработала через 20 минут. Завтра посмотрю на предмет украшательства, комментирования.
Быстро и легко. Я бы так не смог в той сложнозавязанной схеме от уважаемого коллеги rovki, с которой все началось. Лично мои мозги плавились бы полдня. Потому - пойду выпью пива за свою стойкость и за вашу помощь в доведении до рабочего проекта идеи с фазовой организацией :)
Можете показать, что у вас в итоге получилось?

drvlas
09.08.2014, 08:12
Конечно покажу. Но тут такая мотня получается... Превый вариант ТЗ я сделал для некоего условного дозатора с двумя режимами работы питателя (ГРУБО-ТОЧНО). Когда все заработало, настало время оценить ресурсы - и я понял, что с 4 выходами ПР не все так красиво, как хотелось бы. А хотелось бы разного. Избалованый ПЛК100, в котором у меня вообще одна программа на 100500 разных дозаторов (и порционные, и учетные, с питателями и "статического" управления, и старт-стопного, и даже пульсирующего, как мы делаем в дозаторах цемента, для дозаторов нетто и брутто со своим встряхивателем, и т.д. и т.п.) - я все еще не могу приучиться, что простые дозаторы на ПР110 должны проектироваться под конкретную задачу.
Поэтому оставил в стороне общетеоретические изыски и решил, что сегодня мне нужен дозатор с однорежимным питателем статического типа, учетный. В связи с этим взятие тары является обязательной операцией, а вот 2 выхода управления питателем нафик не нужны.
В результате очень быстро (как я и писал) схема преобразилась - и теперь она вовсе не соответствует исходному ТЗ. В ходе запуска я еще немного перекроил макросы и, ИМХО, сейчас все выглядит более стройно. На главной схеме все можно свести вообще к 4 макросам:

CNT - хранение и наращивание номера фазы
NEXT - анализ входных сигналов и решение о переходе к следующее фазе
OUTS - анализ входных сигналов (чрезвычайно упрощенный вследствие наличия ФАЗЫ) и управление выходами
ALARMS - анализ входных сигналов и решение о наступлении аварийной ситуации

Пока мне в облом делать 4-й из названых. Да и "не стоИт" у меня на эту задачу - в первую очередь, из-за того, что я так и не решил пока вопрос организации ухода с произвольной фазы на произвольную фазу. Мой сброс счетчика в ноль при наличии одной аварии - это детский лепет. Станет 2 разные аварии - что делать? Некогда додумывать, пора делать схему да смотаться на объект, пока не началась напряженка с возвращением детей с каникул. Ехать-то придется поездом, машиной в прифронтовую зону лучше не соваться.

Так что - смотрите "как есть". Это другой дозатор, по сути. Но решения по макросам могут вам понравиться - или вызвать конструктивную критику. Обращу внимание на макрос дешифратора со смещением - один и тот же макрос при разном оффсете работает либо с кодами 0-7, либо с кодами 8-15. Второе решение, которым могу похвалиться - решил таки задачу выдачи импульса NEXT как при статическом условии (существующим уже на момент начала фазі), так и с динамическим - которое возникает в ходе фазы. Это см. TP2 в макросе NEXT.

Не по теме: коллеги, у вас тут бешенный опыт в автоматике и силовых схемах. Подскажите, плз, какие есть решения по включению питания на маломощную трехфазную схему. Вот, у меня электрошкаф. Мощность питания всего дозатора - гулькин хер, меньше 1 кВА. На входе ставлю автомат на 3 фазы на ДИН-рейку, это ясно. Потом мне надо организовать выключатель питания, доступный оператору. Мы всегда делали так: магнитный пускатель, 2 кнопки (ВКЛ и ОТКЛ), схема самоблокировки. Сто лет такое работало. Но если, скажем, я не хочу лепить туда МП, не обязательно и самоблокировка. Меня устроил бы обычный выключатель, поворотный, например. Но он должен быть "изящный". Ну - сами же видите, мощность пустяковая.
В однофазных шкафчиках я уже перешел на 22-мм поворотные выключатели. Чисто теоретически я понимаю, что могу наростить на него и 3 конткктные группы. Но! Это же глубина шкафа! А у меня ее нет.
Я-то поговорю с поставщиками, пороюсь в каталогах. Но мож у вас решение прям под рукой - подскажите, плз!

melky
09.08.2014, 09:08
drvlas не стоит питание силовых цепей выводить на дверь, даже пустяковых
1. Если вам удаленно необходимо только обесточить шкаф - независимый расцепитель, а цепь грибковой кнопки к оператору (на дверь шкафа), при ручном пуске необходимо будет не только отжать грибок, но и открыть шкаф, чтобы взвести автомат
2. Если надо вкл/выключать то контактор с блокировкой на удержание, тригерное реле еще можно (управление одной кнопкой) или подобные реле, но с двумя кнопками управления
3. Если вообще ручной, есть кулачковые переключатели на двери, только неправильно это.
4. мотор привод на автомат

drvlas
09.08.2014, 09:54
Так, давай кушать этот пирог по кусочкам.

Сначала вводная: шкаф(чик) установлен возле дозатора. Дозатор размещен на высокой площадке, куда лазить каждый раз не особо охота. То есть, запускается линия, должен включиться и дозатор, пусть даже некоторое время он тарабанит шнеком и без продукта (муки). Поэтому-то я отбрасываю вариант с кнопкой и самоблокировкой, столь любимый мною в серийных дозаторах.
Сейчас мы говорим о включении питания на шкафчик. Автомат внутри - то святое, то вырубил и совершай на дозаторе ЧТОХОШ, техника безопасности. А потом вопрос: рабочее выключение питания - оно зачем? Если исключительно для включения-выключения работы, то достаточно вырубать блок питания 24 В - обесточиваются все цепи управления (и ПР110), все модули, в т.ч. и цепь управления твердотельного 3-фазного реле, включающего привод шнека. Если оборудование исправно, то и мотор шнека, и мотор разгрузки ковша (24В-питание) - все выключено железно. Если оборудование неисправно - открывай шкафчик, отключай автомат и занимайся ремонтом.
Если я прав в своих измышлизмах, то ставлю на шкаф 2 поворотных однополюсных переключателя:

ВКЛ-ОТКЛ - включает 220В на БП 24В.
РАБОТА-ОСТАНОВ - заводится в ПР110 и представляет собой разрешение начать и продолжать циклы дзирования

При этом в реальных условиях оба эти переключателя повернуты в ВКЛ и РАБОТА и подача внешнего 3-ф питания на дозатор приводит к немедленному старту его работы, снятие питания - грубо обрывает на "полуслове", что не есть плохо, ибо, как правило, маршрут выключается так: сначала прекращается подача продукта, а через некоторое время, когда дозатор уже реально "молотит" впустую, вырубается и дозатор. Ну, на крайняк, останется в ковшике немного продукта - кого это пилит?
Если подойти к дозатору и повернуть РАБОТА в ОСТАНОВ, то дозатор окончит текущую дозу и остановится. Питание на всех модулях есть. Можно что-то поделать на нем и запустить дозирование снова.
Если возникла ситуация, что нужно просто вырубить дозатор (например, тракт подачи уже пуст и текущую дозу не закончит никогда) - поворачиваем ВКЛ в ОТКЛ. Обесточивается 24В и все модули вырубаются. Но высокое напряжение подано на 3-ф твердотельное реле, и вообще, в шкафу есть напруга. Но в шкаф лезть и нельзя, по правилам. А если нужно - открываем шкаф и выключаем автомат.
Вот, вроде как логично все. Я пока так думаю :)
А теперь перейдем к пирогу.


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


1. Если вам удаленно необходимо только обесточить шкаф - независимый расцепитель, а цепь грибковой кнопки к оператору (на дверь шкафа), при ручном пуске необходимо будет не только отжать грибок, но и открыть шкаф, чтобы взвести автоматТо есть - вести куда-то у пультовую дополнительные цепи, верно? Вряд ли это захотят делать на данном объекте.


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


3. Если вообще ручной, есть кулачковые переключатели на двери, только неправильно это.Ладно, бум считать, что я должен знать, что такое кулачковые переключатели. Это здоровая такая круглая штука, у которой 3+3 клеммы по кругу? Вопрос в соответствии ее размеров моей задачи. Есть ссылка на самые маленькие из таких?


4. мотор привод на автоматТо есть, открыв шкаф, я могу дополнительно отрубить автоматом все цепи питания мотора? В моем конкретно случае это пости то же самое, что отрубить весь шкаф - там в схеме всего-то управление приводом мотора шнека и БП на 24 В. Все остальное - на 24 В.

Поправьте меня, если не так, но мне кажется допустимой система из 3-ф автомата и 2-х однополюсных выключателей на дверце, описанная выше. Если найдется компактный выключатель на 3 фазы, то поставлю его, но пока не вижу - и вы не ткнули.

Павел Братковский
09.08.2014, 13:06
а чем магнитный пускатель плох????

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

Павел Братковский
09.08.2014, 13:15
уважаемый drvlas на какой версии ов написана программа

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

лет 10 занимаюсь дозированием муки повидал не мало автоматов (в основном 5-10кг и 25-50кг ) сам собрал и модернизировал не один автомат правда из готовых блоков управления

жизнь конечно сильно может удивить, но сделать качественный дозатор на пр110 мне лично кажется не реально маловато ресурсов

drvlas
09.08.2014, 13:18
а чем магнитный пускатель плох????Он хорош. Если, например, говорить о включении нескольких двигателей, то я и выбрал бы МП (что и делаю всегда). Но в данном случае двигатель АС всего один, я готов раскошелиться на твердотельное реле.
А вот если речь идет о МП в качестве основы для самоблока по питанию - то здесь совсем другое. Кроме нежелания ставить (в небольшой бокс) единственный МП, у меня главный аргумент: не хочу, чтобы включение питания производилось только нажатием кнопки возле дозатора (или проброской этого провода до пультовой). Хочу, чтобы была возможность оставить переключатель ВКЛ-ОТКЛ в положении ВКЛ - и тогда, при подаче (издалека) питания на линию и на дозатор тот сразу включался.

drvlas
09.08.2014, 13:22
на какой версии ов написана программа1.7 сборка 50 бета.


жизнь конечно сильно может удивить, но сделать качественный дозатор на пр110 мне лично кажется не реально маловато ресурсовУдивит :) Я так ду-у-маю. У меня очень хороший тензоАЦП, в котором (в силу того, что я автор) все заточено на задачу создания простых дозаторов на ПР. Кроме, естественно, его основной задачи: быть просто тензоАЦП под управлением ПЛК.
Конечно, "скажешь гоп, когда перепрыгнешь". Давайте оставим мои оптимистические прогнозы до запуска хотя бы парочки дозаторов и их работы в течение нексольких недель. Но я надеюсь. Все же занимаюсь доазторами тоже немало времени.

Павел Братковский
09.08.2014, 13:37
Хочу, чтобы была возможность оставить переключатель ВКЛ-ОТКЛ в положении ВКЛ - и тогда, при подаче (издалека) питания на линию и на дозатор тот сразу включался.

а что мешает поставить вместо кнопок вкл и откл простой тумблер????

Павел Братковский
09.08.2014, 13:38
у меня стоит такая же версия ол, а проект к сожалению не хочет открываться

drvlas
09.08.2014, 13:45
вместо кнопок вкл и откл простой тумблер????Не внимательны, коллега. Ничего не мешает. Я так и хочу сделать - тумблер или поворотный выключатель, не суть важно. Но однополюсный, выключающий только блок питания 24В (общий для всей системы управления). Остается (почти теоретический) вопрос: хорошо ли, плохо ли, что в шкафу остаются цепи под напряжением 220 В? Подходящие, скажем, ко входным клеммам 3-полюсного реле...
В общем, раз меня тапками не закидали, то решение такое имеет право на жизнь. Так и сделаю.

Про версии ОЛ - не знаю. Я неделю, как его осваиваю...

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

drvlas
09.08.2014, 15:50
А, понял. Отличная идея, спасибо!

melky
09.08.2014, 18:27
ИМХО. Автоматы защиты должны стоять ВНУТРИ шкафа - в данном случае 3-х полюсник всей силовой части шкафа.
1-но фазный автомат защиты на 24В так же должен стоять внутри шкафа, вот к нему вы ставите обычное реле (по сути оно же МП с блокировкой али без) - тумблер на дверцу для управления этим реле и режима ВКЛЮЧЕН/ВЫКЛЮЧЕН (то, что вы описали как обесточивание по 24В всего ПР и цепей управления) - так будет правильнее, хотя конечно для экономии можно без реле и через тумблер пустить 24В на цепи управления.
Что касается работа - пауза(останов), так это тот же переключатель на 2 положения на дверце, или грибок с задействованием входа ПР.

Силовую цепь вообще можете не дублировать никак на дверце.

Маленькие галетники можете посмотреть у ABB.

drvlas
09.08.2014, 19:29
Спасибо!

Тумблер питания на дверцу поставлю в цепь 24 В - не надо будет тянуть туда 220 В вообще. Это хорошая идея.

По поводу отдельного автомата на БП 24 В... Не подумал об этом (да и не делал так раньше никогда). Хотя да, мощности у основного птребителя (мотор) и у БП уж очень разные. Но какой же маленький (по току) автомат следует лепить на БП мощностью 45-60 ВА? На 1 А?
В моем обычном подходе я поставил бы 10-амперный автомат на все (двигатель 0,75 или 0,55 кВА) и считал бы, что К.З. в том же БП все же заставит сработать автомат. Это в корне неверно?

melky
09.08.2014, 20:02
drvlas от КЗ защитит, но может с одновременным сгоранием ПР. Можно ставить автомат на 2А, 4А, да хоть 10А, а после него плавкий предохранитель для питания ПР. Да и обслуживать если что удобнее. В шкафу обесточил линии 24В (или 220В, питание БП 24В) и все цепи, даже на двери без питания.

Павел Братковский
09.08.2014, 20:45
автоматом для силовой цепи и для цепей управления пренебрегать категорически нельзя ставить их просто необходимо

а вот плавкий предохранитель уже стоит в пр 110 и в блоках питания на 24в в овеновских стоит смысла их дублировать я лично не вижу

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

capzap
09.08.2014, 20:53
а так щелк по тумблеру и копайся сколько влезет)

забыли видимо, на тумблер еще табличка вешается: "РАБОТАЮТ ЛЮДИ" :)

drvlas
09.08.2014, 21:12
drvlasа после него плавкий предохранитель для питания ПРЯ выбрал ПР110-24, так что он запитывается от общего БП.

2 Братковский: Речь идет о том, так ли уж необходимо ставить два автомата. У меня схемы гулькин хер, нет тут такого, что десятки кВА идут в силу, а десятки ватт - в управление. Всего 2 исполнительных мех-зма, шнек (движок 0,75 кВА) и шаговый двигатель управления днищем (24 В), вся схема состоит из ПР110-24, ИП320, TSR-25DA для включения шнека да 3 маленьких плат. Ну, вот не прет меня от раздельных автоматов в корпусе 300х300х160...
Поэтому так (уже начал рисовать):

вход 3 ф - автомат 10А - (БП и TSR-25DA)
выход БП - тумблер на передней панели) - все цепи 24 В.

Увидел заметку от capzap: и у меня этот пластиковый бокс вешается практически на дозатор, то есть все рядом. Обходимся без талички.

Павел Братковский
09.08.2014, 21:28
забыли видимо, на тумблер еще табличка вешается: "РАБОТАЮТ ЛЮДИ" ][/QUOTE]

да спасибо за добавку весьма актуально

Павел Братковский
09.08.2014, 21:30
drvlas это всего лишь мое мнение решать то вам !!!!

melky
09.08.2014, 21:41
человеческий фактор никто не отменял. Лезешь в шнек, открыл щиток, клацнул автоматом, закрыл щиток и забрал с собой ключ и полез ковыряться.
А вот тумблером какой-нить даун всегда невовремя воспользуется, хоть при работе, хоть при ее отсутствии

Павел Братковский
09.08.2014, 21:51
наверное стоит согласиться с вами melky

игорь68
10.08.2014, 21:58
drvlasа а фото ваших дозаторов где можно посмотреть.

drvlas
11.08.2014, 00:29
Ну, где-то вот здесь (http://www.dozator.com.ua/products/equipment_package/batchers.html) посмотрите. Я-то документацию и авторские права на дозаторы продал заводу в Кировограде, теперь они, наряду со своими бетонными узлами выпускают и "мои" дозаторы. Вот то, что в разделе "Фасовочное оборудование" - это разработка фирмы ТОКОМ, т.е. моя.
Но я сопровождаю это производство. Разрабатываю и поставляю всю электронику на дозаторы. В последние годы - на основе ПЛК100. А предмет нашей темы здесь - это "упрощенные" дозаторы, которые мне иногда приходится поставлять старым клиентам. Не так поставлять, как менять старые системы управления (в том числе и производства ТОКОМ 10-15-летней давности) на новые. Вот на ПР я и обратил внимание. С моим тензоАЦП получился симпатичный тандем.
И вообще, ПР110 - таки да, классная вещь в своем ценовом диапазоне! Я даже кума заинтриговал, он сейчас строит дом (умный, конечно), так посмотрел сегодня мой макет с ПР110 и живенько поинтересовался ценой. А кум у меня грамотный, полноправный соавтор (если не сказать больше) всех ТОКОМовских дозаторов.
Спасибо коллеге rovki за то, что постоянно дежрит факел славы ПР-ам! Я долго присматривался. Можно сказать, что его факел меня и запали, в конце-концов :)

игорь68
11.08.2014, 15:06
Объём работы проделан большой. Успехов вам