Вход на форум 
В начало e-Mail

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  
Smart Solutions VDT :: Просмотр темы - светофор(довольно,срочно!)
 FAQFAQ   ПоискПоиск   ГруппыГруппы   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

светофор(довольно,срочно!)

 
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Коллективный разум. Давайте посоветуемся!
Предыдущая тема :: Следующая тема  
Автор Сообщение
mak
Постоянный участник
Постоянный участник


Зарегистрирован: Nov 19, 2008
Сообщения: 66
Рейтинг: +1/-0

СообщениеДобавлено: Пн 15 Dec, 2008 20:03:52    Заголовок сообщения: светофор(довольно,срочно!) Ответить с цитатой

Я не волшебник, а тока учусь!! Делаю программку имитацию светофора!!! Когда загораются цвета сделал через TON,а вот как сделать мигание(зеленый цвет) не получается!!! Проблема,в том что плохо знаю инструкции! Но,кажется,что можно сделать через секвенсер... Confused
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
thgtif
Частый гость
Частый гость


Зарегистрирован: Nov 20, 2008
Сообщения: 26
Рейтинг: +0/-0

СообщениеДобавлено: Вт 16 Dec, 2008 8:46:59    Заголовок сообщения: светофор(довольно,срочно!) Ответить с цитатой

Да не мучайтесь так... пульсы проще сделать также через таймеры... только использовать функции OTL и OTU.
Общий вид примерно след. - условие в виде нормально закрытого контакта XIO(назовем его VAR_Puls50ms), + TON "Puls_50{0}"(с нужным интервалом в данном случае 50 мс) + нормальнооткрытый контакт XIC "Puls_50{0}.DN" = VAR_Puls50ms(OTL)
след строчка
VAR_Puls50ms(XIC) + TON Puls_50{1}+ XIO Puls_50{1}.DN =VAR_Puls50ms(OTU)

Работают строчки только в паре естественно. Время ставьте какое нужно, а остальную логику уж сами допишите. Извиняюсь за орфографию, но как понимаете - набросал на скорую руку Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DIMIOKS
Эксперт
Эксперт


Зарегистрирован: May 14, 2005
Сообщения: 290
Рейтинг: +9/-0
Откуда: г.Самара

СообщениеДобавлено: Вт 16 Dec, 2008 8:53:13    Заголовок сообщения: Ответить с цитатой

Привет всем!

Конечно, можно забить сенквесеры на Timer.ACC, маскировать несколько младших битов (для компенсации нестабильности время вызова и выполнения задачи относительно системного времени) и таким образом управлять 3 битами. Но не только у Вас наблюдается стремление сделать простейшие операции какими-то мощными инструкциями, особенно с труднопроизносимыми названиями. Сам себя иногда ловил на этом.
Светофор можно сделать и непосредственно обращаясь к тегам системного времени в 64-битном варианте, и непосредственно управляя временем вызова задачи, счетчиками и анализом времени выполнения и вызова задачи. Можно придумать также задачу по событию и еще 100 методов решения.

Но чтобы не использовать кучу тегов, достаточно циклический таймер и инструкциями сравнения Timer.ACC с какими-то значениями включать и выключать биты.
Можно непосредственно анализировать определенные биты в Timer.ACC и на основе простого анализа использовать это вместо инструкций сравнения, но тогда придется по клаве стучать подольше, а ведь клава-то не железная, да и руки не казенные...

Когда мне надо было тупо щелкать затвором в определенное время, но с настройкой временных диаппазонов, я использовал в LD такой вид:
CMP((Timer.ACC)MOD((Ustavki[30]+1)) <= Ustavki[30]*Ustavki[31]) OTE(Output.Data.9);
где:
Timer - таймер
Ustavki[30] - время цикла, мс
Ustavki[31] - коэффициент времени открытого состояния
Конечно, время выполнения этой конструкции на несколько мксек больше стандартного подхода, но зато все умещается в одной цепочке и удобнее читать код проги.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
thgtif
Частый гость
Частый гость


Зарегистрирован: Nov 20, 2008
Сообщения: 26
Рейтинг: +0/-0

СообщениеДобавлено: Вт 16 Dec, 2008 9:22:20    Заголовок сообщения: светофор(довольно,срочно!) Ответить с цитатой

Мнение и подход уважаемого DIMIOKSа заслуживает коленопреклонения Very Happy Сам бы до такого не додумался... Только вот одна деталь ушла от его внимания Smile Вопрос то задавал новичек, как я понял Cool А предложеный код на новичка помоему не тянет, скорее на высший пилотаж... Embarassed
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DIMIOKS
Эксперт
Эксперт


Зарегистрирован: May 14, 2005
Сообщения: 290
Рейтинг: +9/-0
Откуда: г.Самара

СообщениеДобавлено: Вт 16 Dec, 2008 9:54:44    Заголовок сообщения: Ответить с цитатой

Спасибо, учту Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Коллективный разум. Давайте посоветуемся! Часовой пояс: GMT + 1
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

Powered by phpBB © 2001, 2005 phpBB Group
Яндекс цитирования

Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany
Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de
Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна.
Открытие страницы: 0.130 секунды
/n