On-line: DmitriiP, гостей 0. Всего: 1 [подробнее..]
АвторСообщение



ссылка на сообщение  Отправлено: 06.04.20 15:38. Заголовок: Разъём I/O как реле


Не хватает реле для выполнения задачи. Можно ли использовать I/O как реле?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 10 [только новые]







ссылка на сообщение  Отправлено: 06.04.20 17:14. Заголовок: Если только найти пе..


Если только найти перекидное промежуточное реле с катушкой на 5VDC. Versiport будет управлять промежуточным реле, которое будет коммутировать оконечную нагрузку.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




ссылка на сообщение  Отправлено: 06.04.20 17:28. Заголовок: Не нужно на выход I/..


Не нужно на выход I/o вешать обмотку реле, даже самого миниатюрного.
Используйте классические решения, маломощные транзисторы, например КТ315 В качестве усилителей тока, что найдёте.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 14.04.20 17:29. Заголовок: Решили отдельный мод..


Решили отдельный модуль с реле сделать.
Еще такая беда - на I/O изначально "повесили" замкнутое устройство. Т.е. изначально сенсор должен выдавать сигнал. При размыкании выполняется степпер.
Однако, при отправке программы в процессор и рестарта процессор программа начинает работать раньше, чем реагирует I/O и начинает выполняться степпер.
Как можно сделать задержку выполнения программы после запуска процессора?

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 14.04.20 17:36. Заголовок: Если на simpl+ , то ..


Если на simpl+ , то в блоке MAIN опишите типа:
Function Main()
{
// TODO: Add code here
// Initialize declared global and local variables/arrays as needed.

WaitForInitializationComplete();

delay(10000); //10c
InitFunction(); //Пользовательская функция обработки состояния I/O

// If you are reading any Input or Output variables, uncomment
// the WaitForInitializationComplete statement above and read
// them afterwards. Input/Output variables will not have
// their correct values set until after the logic processor
// runs and propagates the values to them.
}

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 14.04.20 17:43. Заголовок: Нет, без Simpl+. Мож..


Нет, без Simpl+. Можно как-то без него?

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 14.04.20 17:47. Заголовок: Судя по Вашему коду ..


Судя по Вашему коду обработка I/O начнётся через 10 сек., но она и так с задержкой идёт, а мне надо сразу ДО выполнения кода. Чтобы Built-in Digital I/O уже был с сигналом.
Вот такая конструкция :
https://gyazo.com/cb042cf63455324df63028b682b5d088
Изначально Mikrik должен быть в 1, соответственно Mikrik_Invers в 0 и Степпер не выполняется.
Но IO не успевает подготовиться, код начинается раньше и Mikrik оказывается в 0 (хотя он сразу замкнут).

Спасибо: 0 
ПрофильЦитата Ответить





ссылка на сообщение  Отправлено: 14.04.20 19:21. Заголовок: Дак я вроде и предло..


Дак я вроде и предложил игнорировать в течении 10с любые состояния Mikrik поступающие на вход s+ модуля.
А через 10с выполнить функцию, которая посмотрит на текущее состояние I/O (Mikrik) и запустит Ваш степпер или не запустит его (по выходу s+ модуля).

Function InitFunction()
{
if(INPUT_mikrik=0){pulse(1,OUTPUT_START_STEPPER);}
}

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 14.04.20 21:54. Заголовок: Это я понял. Но, есл..


Это я понял. Но, если игнорировать состояния, то Mikrik изначально будет 0, а надо 1 )
Мне как раз надо, чтобы он сразу был 1, до выполнения остальных действий )
Или неправильно что-то понимаю?
В том и дело, что хоть игнорируй, хоть не игнорируй - его состояние 0. Позже модуль в своё рабочее состояние приходит, нежели начинается программа.
Надо всю программу как-то заигнорить при запуске хотя бы на секунду.
Процессор DIN-AP3

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 15.04.20 05:16. Заголовок: Можно проще. Добавит..


Можно проще.
Добавить модуль One shot. На вход "1".
Задержку те же 10 сек.
После с выхода отправить на NOT.
И потом на OR где вторым входом будет сигнал с микротика.
Таким образом по выходу всей этой конструкции будет "1" только когда с микротика придет "1" и пройдет 10 секунд после старта системы.
Время можно выбрать нужное вам.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 15.04.20 11:53. Заголовок: Courag1k, понял идею..


Courag1k, понял идею, но вот что забыл сказать. По сигналу Микрика 0 срабатывает ещё один Степпер, который должен срабатывать только после срабатывания первого, который на 1. Таким образом получается, что при перезапуске срабатывает не 1й (на 1), а 2й (на 0), потому что модуль задерживается и сразу 1 не выдаёт. Потому, какие задержки на сам модуль не ставь, смысла нет. Просто думал, что есть способ вообще задержку выполнения ВСЕЙ логики сделать. Ну, заложено так производителем, типа, сначала инициализация устройств, а только потом логика.
В Вашем предложении Степпер, который работает на 0 не будет ждать и сработает сразу.
В общем, ладно. Спасибо.
Courag1k, идею понял, не обязательно со входа брать, можно вообще с этого сигнала. Буду "костылять"

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 20
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет