PDA

Просмотр полной версии : Макросы -- объясните немного....



tigdin
26.08.2014, 22:18
В общем-то несколько вопросов на эту тему...
1) Макрос -- это что-то типа подпрограммы (функции/процедуры)? То есть, создали макрос и везде его используем, а список (в конечном итоге) машинных команд логически один? Или "компилятор" просто вставляет "код" во все места программы и ничего особенно не экономится?

2) В некоторой части схемы понадобился мне некий "хитрый" мультиплексор на 12 входов. Он логически разбивается на 2-х входовые части с некоторой "обвязкой" (что более читаемо и понятно), или на три 4-х входовых, или даже на два 6-и входовых макроса. Но в последних двух нужно будет тупо скопировать кусок схемы 4 или 6 раз внутри самого макроса (не люблю макрос в макросе). Отдать предпочтение 6 макросам, трем или двум, но с учетом повторенного кода в них самих?

3) Что исполняется "в железе" быстрее: одноименные участки схемы или один-на-всех макрос?

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

Помогите, совсем запутался... еще и файл проекта растет как на дрожжах. Уже 14 мегабайт "натикало", хотя это только начало... (( Правда Стек - 1%, ПЗУ - 6% и ОЗУ - 3%. Страно как-то... (

PS: Схема в целом достаточно критична ко времени исполнения. То есть нужно как можно быстрее

rovki
26.08.2014, 22:28
Я не программист ,но думаю " "компилятор" просто вставляет "код" во все места программы и ничего особенно не экономится".
Макрос это самодельный ФБ .Поэтому хоть рисуйте сто элементов(ФБ) на рабочем столе ,хоть 10макросов по десять (ту же схему) -быстродействие не изменится .
"Помогите, совсем запутался... еще и файл проекта растет как на дрожжах. Уже 14 мегабайт "натикало", хотя это только начало... (( Правда Стек - 1%, ПЗУ - 6% и ОЗУ - 3%. Страно как-то... (
Так проект выкладывайте ,тогда и поговорим ....Какой ПР у вас ?
Просьба -не создавать новых тем ,потом не найти что нужно будет .....Есть же ЭКСПРЕСС ВОПРОС-ОТВЕТ.

zendo057
26.08.2014, 22:32
Макрос это либо готовый ФБ, который уже ктото создал, либо вы его можете сами создать и использовать в проекте.

Василий Кашуба
26.08.2014, 22:39
Макрос это либо готовый ФБ, который уже ктото создал, либо вы его можете сами создать и использовать в проекте.
Совершенно верно.

Павел Братковский
26.08.2014, 22:51
с таким подходом к делу лучше сразу в кодесис.

tigdin
26.08.2014, 23:24
Так проект выкладывайте ,тогда и поговорим ....Какой ПР у вас ?
ПР-114 без часов... С проектом небольшие сложности -- он пока из разрозненых кусков, которые допиливаются и переписываются, но в целом пока причинно-следственной связи не наблюдается.

Макрос это либо готовый ФБ, который уже ктото создал, либо вы его можете сами создать и использовать в проекте.
Эммм... я об этом почти догадался, речь идет о том, что макрос -- он один и к нему идет обращение по мере надобности или, как сказал Великий rovki, просто "впаивается" в нужном количестве во все фрагменты схемы при ее окончательной загрузке в устройство.

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

rovki
26.08.2014, 23:40
Видно ,что вы основательно подходите к проектированию .Но дело в том ,что на уровне схемотехнике можно реализовать одно и то же разными способами ,к тому же в ПР есть целочисленная арифметика ,со своими примочками ....Поэтому ,что бы не получилось у вас очень сложно и возможно не оптимально ,имеет смысл выкладывать куски схемы(да же без описания подробного) ,что бы вовремя встали на верный путь и быстрее реализовали задуманное ....Тем более если это у вас первый большой проект на ПР.:rolleyes:
Для уменьщения обьема проекта уберите старые (ненужные макросы) ...Побольше макросов и поменьше переменных для обозначения связей ..

tigdin
27.08.2014, 00:26
rovki Прилагаю макрос в шестивходовом варианте.
С меньшим количеством переменных для связей цепей.... там все плохо. ) Спасибо за ценное замечание. Буду избегать по возможности. Просто, это, конечно, удобно и экономит кучу времени, чтобы не вырисовывать схему.

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

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


Ну и в-третьих... Обычно есть тонкости в каждом "кодесисе" и чтобы не напортачить, нужно изучить систему досконально или "тренироваться на кошечках".
Не или, а тренироваться на кошечках всегда! Фиг вы помехи проэмулируете в симуляторе... И другие "ньюансы" конкретного типа контроллера которые не проэмулируешь.


В довершение ко всему оказалось, что был втюхнут обычный поршневой компрессор под видом винтового...
Логисты в своём репертуаре?

tigdin
27.08.2014, 13:24
Кодесис более удобен. ОЛ для самых простых и очевидных программ.
Дык ведь там простенький компрессор, Алексей Геннадьевич! Некогда сейчас вникать в Кодесис, хотя это неизбежно, как крах империализма... )

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

Логисты в своём репертуаре?
Не то слово. Господа втюхнули не только компрессор, но еще и бесперебойник на 3500 VA, на котором висит нагрузка 800 Вт пикового потребления. Но фишка в том, что эта машина остановится все равно при пропаже питания, поскольку вся линия не может сидеть на беспербойниках. Очень смешно питать тэны таким образом... В довершение ко всему впарили еще и ту смаую страшную фашистскую машину, которая при активации ключика (пятизначная сумма, совсем не в тугриках), выводит формат больше, но, как оказалось, максимальный формат пластин у нее 640 мм. Ну просто капельку не хватает до "настоящих" 720 мм. )

Алексей Геннадьевич
27.08.2014, 13:51
Вот я и начал с кошечек! Я с ПР, если честно, поизвращаться немного хочу. Выложу проект полностью, когда все будет готово. ПЛК -- вот думаю, какой купить для кошечек, чтобы потом в хозяйстве пригодилось.
ПЛК73, ПЛК110-60, ПЛК160. Но это мой выбор, в ваших условиях всё может быть по-другому, в зависимости от задач.

Не то слово.
Это печально.

tigdin
27.08.2014, 17:31
ПЛК73, ПЛК110-60, ПЛК160. Но это мой выбор, в ваших условиях всё может быть по-другому, в зависимости от задач.

Кхм... Вообще-то ситуация такова. Как говорил мой друг в армии: "Пойдем в чайник сочку попьем. А заодно и попьем.." То есть компрессор -- это как бы надводная часть айсберга. Там было бы неплохо сделать вообще что-то совсем другого калибра. А заодно и компрессор в комплексе. Только вот страшно. Хотя и ST прям Паскаль-Паскаль, и пальцы никому не прищемит в случае моей ошибки, да и вообще, поскольку ПЛК-100, например, работает с файлами, прямо чешется сделать на нем СКУД...
Неужели из всей литературы Петров? Где еще почитать что-нибудь умное? Как любил говаривать мой батюшка: "Сначала надо прочитать инструкцию, а потом уже ломать"... )
И, Алексей Геннадьевич, а для пресса его можно использовать? Для системы защиты барьерного типа + какие-то функции (моточасы, производительность и прочая статистика?)?

capzap
27.08.2014, 17:42
Где еще почитать что-нибудь умное?

Р. Грэхем, Д. Кнут, О. Паташник - Конкретная математика

rovki
27.08.2014, 22:11
rovki Прилагаю макрос в шестивходовом варианте.
С меньшим количеством переменных для связей цепей.... там все плохо. ) Спасибо за ценное замечание. Буду избегать по возможности. Просто, это, конечно, удобно и экономит кучу времени, чтобы не вырисовывать схему.
Вот уж удобство и экономия времени -вставить входную и выходную переменную ,обозвать ее ,написать комментарии.....
В вашем варианте при смене значения на любом входе ,если их не успеют прочитать ,то следующее значение потеряется ...надо организовывать стек (очередь) .....

tigdin
27.08.2014, 23:41
В вашем варианте при смене значения на любом входе ,если их не успеют прочитать ,то следующее значение потеряется ...надо организовывать стек (очередь) .....
Ну да... Это не критично, потому, что на входы поступают данные давления и температуры компрессора. Поскольку это медленно меняющиеся величины и давление нужно с точностью до 0.1 бар, а температура до 1 градуса, то в виду инерционности процессов, я думаю, что данные всегда будут прочитаны. Уж за десяток секунд реле обернется, чтобы что-то прочитать. Температура вообще нужна лишь для отключения при перегреве и включения при остывании. Просто там 4 мотора и они весьма инетртны в виду того, что там маленький, бесшумный поршенек дрыгается...

Алексей Геннадьевич
28.08.2014, 08:00
И, Алексей Геннадьевич, а для пресса его можно использовать? Для системы защиты барьерного типа
Защита барьерного типа, говорите? - не всегда её имеет смысл ставить вообще. На кривошипно-шатунных прессах она вообще бесполезна - механизм просто не успеет отработать... Только двуручное включение с удержанием кнопок до достижения безопасного состояния, чтобы руки у оператора были заняты. ГОСТ 12.2.17-93-в нём всё сказано.
Сделать КШП максимально безопасным для человека можно только с использованием механизма автоматической подачи заготовок.
Барьеры имеют свою нишу на медленно работающих механизмах, которые можно быстро и безопасно остановить. Гидропресс например.


+ какие-то функции (моточасы, производительность и прочая статистика?)?
Можно, только скаду получше изучить надо.

валерий59
28.08.2014, 09:26
ГОСТ 12.2.17-93-в нём всё сказано
Возможно ошибка в названии ,что то не могу найти его.

Алексей Геннадьевич
28.08.2014, 09:35
ГОСТ 12.2.017-93
http://vsegost.com/Catalog/97/9732.shtml

tigdin
28.08.2014, 14:33
Защита барьерного типа, говорите? - не всегда её имеет смысл ставить вообще. На кривошипно-шатунных прессах она вообще бесполезна - механизм просто не успеет отработать...
Алексей Геннадьевич, это вот такая штуковина. Желтая П-образная скоба, покоящаяся на двух осях, торчащих из стенок станины и желтая планка на передней части открытой "пасти" это и есть защита. Элементарно разрывается цепь электромагнитной тормозной муфты и она останавливает подвижную плиту. Как видите, защита срабатывает в самом конце захлопывания плиты. Плюс, если оператор окажется в нижней части этой скобы, то усилие на срабатывание будет очень большим, с учетом того, что там и подвижная плита уже очень близко. В лучшем случае отделается сломанными руками. Но, думаю, все будет куда гораздо хуже. Цикл подвижной плиты (открыть-закрыть) около 2-х секунд. Если срабатывает защита нажимного типа, то барьер успеет отработать? Проблема еще в том, что китайская защита дико мешает работать. А поскольку работа на прессе идет на тысячи штук в день, ее все спиливают... Я думал о двух руках, но я сам работал на этом прессе. Две руки -- это просто невероятно долго! Предыдущие хозяева пресса со спиленной защитой работали на нем вобще на полном ходу. то есть плита постоянно двигается. Есть в этом прессе кнопка, которая ТУПО запускает пресс в непрерывный режим работы... (первая зеленая кнопка слева на пульте) Смотреть, как работает при этом оператор -- зрелище не для слабонервных...
ПР в таком прессе отменяется точно, если я правильно понял?

Алексей Геннадьевич
28.08.2014, 15:07
Если срабатывает защита нажимного типа, то барьер успеет отработать?
Это от барьера зависит. Специализированные - от 50мс.


Две руки -- это просто невероятно долго!
А отстёгивать каждый месяц с зарплаты/пенсии Nное количество денег пострадавшему - быстрее и интереснее? (в лучшем случае).


ПР в таком прессе отменяется точно, если я правильно понял?
Нет, не отменяется. Сертификаты есть же. Наши спецы по ТБ прояснили ситуацию.

tigdin
28.08.2014, 15:18
Спасибо за информацию! Я вернусь к этому вопросу. Мне придется разбираться с проблемой пресса. Здесь будет неуместным экономить или колхозить что-то, поэтому я вернусь к теме использования именно ПЛК и барьера. Например. в этом прессе нельзя использовать ИК барьеры, потому, что пресс греется (может до 200 градусов). В общем-то все, что я делаю сейчас и есть тренировка на кошечках перед работой с прессом.
PS: Спасибо этому форуму и специалистам, которые здесь присутствуют и персонально Вам, Алексей Геннадьевич, за то, что от безоблачных радиолюбительских поделок меня опустили на грешную землю. Не хочу сказать, что радоилюбительские поделки работали бы хуже, а по возможностям они на три порядка лучше. Проблема в том, что любая махарайка не сертифицирована.