для того чтобы макро фб мог сушествовать самостоятельно лучше по входам поставить повторители (2"не"),тогда его входы не потеряются при работе с входами.тогда входа макро фб можно будет подключать хоть ко входам пр хоть к выходам других фб внутри пр.пример будет позже,бегу.приеду сделаю красиво.
привожу пример организации библиотеки макросов.в примере макрос"передатчик"-работает,а ткже макрос "дешифратор"
не пытайтесь запускать библиотеку созданную вами ,это может привести к
зависанию пр(переполнению стека.)с появление сервиса копирования -вставка процесс написания и использования библиотеки резко упростится.
таким образом вы храните как подробные схемы макросов(обычный проект),так и сжатую сжему(макрос) в отдельном проекте" библиотека макросов" с кратким описанием.и используя сервис копирование\вставка макрос перетаскиваете в новый проект и добавляете то что нужно еще или несколько макросов.
Последний раз редактировалось rovki; 22.04.2010 в 20:12.
стек не покорен ,пока, схема из трех макро фб общим числом элементов 120 шт.-живет.правда не до конца понимаю механизма,заполнения стека,в данном случае ,буду рад если спецы напомнят мне .что важней для переполнения стека- количество элементов или определенных связей,или то и другое.каким образом просто оценить глубину стека ,глядя на схему?
оценить - никак. придумаете методику - нобелевка обеспечена.
проблема оценки глубины стека так академически и не решена.
как работает стек.
пусть у вас есть элемент с 2 входами.
если этот элемент без памяти (и, или, Add), например, оба операнда помещаются в стек, вызывается фб, один операнд выталкивается, а на место второго - результат.
если фб с памятью - первый операнд в стек, остальные через память. результаты аналогично.
входы могут быть и неявными с т.з. пользователя, например уставки таймеров или счетчиков, но вводятся они аналогично.
соответственно, чем больше промежуточных результатов надо хранить для обработки в последствии - тем больше размер стека, поэтому желательно сокращать число "промежуточных" связей.
Перенесено.
--------------------------
To rovki.
Вот есть такая задачка.
Если на входе ПР110 есть уровень "1", то нужно реализовать на его выходе последовательность с инкрементально нарастающей длительностью импульса типа: импульс 1 сек - пауза 1 мин - импульс 2 сек - пауза 1 мин - импульс 3 сек - пауза 1 мин - импульс 4 сек - пауза 1 мин..... и т.д. пока на входе 1 не будет "0", который все остановит и сбросит.
Смогешь сотворить такой автомат на ПР?
rovki:
а скоко будет "1" ,час,день,год,вечность?на входе.потому как инкременатально растет не только длительность,но и декрементатьльно частота.все разговоры о пр лучше вести на соответствующей странице.
To rovki.
Теоретически сколь угодно долго. Но можно ввести ограничение с выводом alarm на второй вывод ПР.
если,"сколь угодно долго", ну тогда -это вечный двигатель ,тогда не по адресу.и решаю я задачи с практическим применением,пусть даже фрагментарно.делая цикл,хоть на чем, не указывая количество циклов не правильно.по существу-приращение уставки счетчика , генератора,формирователей,средствами по овен логик не предусмотрено.а на плк ограничено разрядностью и формой представления числа.
Последний раз редактировалось rovki; 08.04.2010 в 10:13.