Главная   Downloads   Разное  
FAQ     Поиск   Регистрация   Вход 
Текущее время: Чт мар 28, 2024 12:01

Часовой пояс: UTC + 3 часа (Russia: MSK)




Начать новую тему Ответить на тему  [ 96 сообщений ]  На страницу 1, 2, 3, 4, 5 ... 7  Вперёд
Автор Сообщение
 Заголовок сообщения: Примеры задач cx-programmer
СообщениеДобавлено: Ср янв 15, 2020 03:43 
Не в сети

Регистрация: Пт авг 18, 2017 13:11
Сообщения: 2
Где в сети можно найти конкретные примеры программ, возможно с пояснениями использования блоков cx-programmer? И может подскажете: деталь проехала датчик, после задержки, скажем, 3 сек срабатывает пневмоцилиндр. Так вот после выключения линии, если таймер уже запущен, блоком IL я сбрасываю значения таймера, а хотелось бы сохранить, чтоб при повторном включении пневматика сработала через остаток времени.


Отредактировал dubasoff. Дата редактирования: Ср янв 15, 2020 08:42.

В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Ср янв 15, 2020 03:46 
Не в сети

Регистрация: Пт авг 18, 2017 13:11
Сообщения: 2
Уже целую кашу от отсутствия опыта намешал в программе, а наверняка есть простое решение. Если что, конечно подвину датчик и на минимальную задержку поставлю таймер, но для интереса.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Ср янв 15, 2020 09:28 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Цитата:
Если вход таймера включен, команда TTIM(087)/TTIMX(555) увеличивает
текущее значение. При выключении входа таймера отсчет
прекращается, но текущее значение не сбрасывается. После того как
вход таймера снова переходит во включенное состояние, отсчет
возобновляется. Флаг завершения таймера включается, когда текущее
значение достигает заданного значения.
По завершении работы таймера текущее значение и состояние флага
завершения остаются неизменными. Предусмотрено три способа
перезапуска таймера: путем изменения текущего значения таймера
(ввода ненулевого значения командой MOV(021) или другой аналогичной
командой), путем включения входа сброса или путем выполнения
команды CNR(545)/CNRX(547).


Если речь идёт о выключении питания контроллера, то придётся сочинять свой таймер, инкрементировать число, сравнивать и.т.д.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Чт янв 16, 2020 22:54 
Не в сети

Регистрация: Вт фев 12, 2008 11:30
Сообщения: 324
Откуда: Cherepovets
Идея понятна. Что-то подобное делал лет много назад. Я выкладывал пример Drive.zip
Там среди прочего есть подпрограмма управления задвижкой, где сохраняется предыдущее значение положения в процентах хода (или время хода? - не помню...) и передается в таймер в качестве уставки при команде на начало движения в ту или другую сторону. Сейчас бы переделать под функциональный блок для более удобного использования, но пока ленюсь.
В примере все данные хранятся во внешних переменных, доступ к которым осуществляется через индексные регистры - очень запутанный способ. Сейчас нет смысла таким образом составлять программы.
Стоит заметить, что для пневмопривода время движения будет иметь зависимость от нагрузки.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Вт фев 02, 2021 11:58 
Не в сети

Регистрация: Пт фев 08, 2019 06:46
Сообщения: 106
Откуда: кишлак около гор
Ребята я в печали.
Не могу придумать как заставить окаянную программулину сдвинуть слово D2065 нужное количество раз (14 раз)? Какую волшебную команду поставить перед командой сдвига, чтоб эта собака сутулая сделала мне сдвиг больше чем один раз! Извините меня за мои нервы.
Уже такую личную неприязнь я к ней испытываю, что даже кушать не могу!


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Вт фев 02, 2021 12:18 
Не в сети

Регистрация: Пт май 04, 2007 08:42
Сообщения: 255
Нужно 14 раз подряд сделать, или за один раз на 14 разрядов? Если 14 раз подряд, то организуйте цикл и сдвигайте по фронту бита. Но в любом случае бит нужно сбрасывать и взводить в следующем скане повторно, чтобы выделить фронт.
Если на 14 разрядов за одно выполнение то нужно использовать другие команды сдвига.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Вт фев 02, 2021 13:34 
Не в сети

Регистрация: Пт фев 08, 2019 06:46
Сообщения: 106
Откуда: кишлак около гор
Electric писал(а):
Нужно 14 раз подряд сделать, или за один раз на 14 разрядов?

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


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Ср фев 03, 2021 14:56 
Не в сети

Регистрация: Пт фев 08, 2019 06:46
Сообщения: 106
Откуда: кишлак около гор
Неа, не может моя голова придумать как подсчитать количество нулей до первой единицы (или наоборот - единиц до 1-ого нуля) в слове начиная с младшего бита. Всего меня интересует 14 бит считая от младшего. Пробую считать сдвиги вправо после команды ASR - не получается. Сдвиги есть, останавливаются там где нужно (на первом попавшемся нуле или единице), но вот счёт продолжает бежать. Помогите пожалуйста.
Желательно подсчитать в цикле, но можно и не только в нём.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Ср фев 03, 2021 22:39 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Контроллер то какой?
Некоторые в теле проги дружат с указателями массива переменной, некоторые только в ФБ.
т.е. слово для подсчёта битов определяете как массив битов.

Перед циклом обнуляете переменную которая будет указателем.
В цикле по условию "переменная[указатель]", брейк из цикла.
Перед некст указатель инкрементируете.
В указателе +1 нужное количество


Вроде очень просто.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Чт фев 04, 2021 11:54 
Не в сети

Регистрация: Пт фев 08, 2019 06:46
Сообщения: 106
Откуда: кишлак около гор
Олег писал(а):
Контроллер то какой?

Вроде очень просто.

Вам то просто, вы их вон, как орехи щёлкаете, без остановки, а я не знаю даже с чем такие фишки - "переменная[указатель]" едят.
И я не думал что такая засада будет.
Ну вот же пример в официальном справочнике, там проще некуда, а дальше мой пример, и что у меня не так то?
Да, контроллер CJ2M.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Чт фев 04, 2021 11:57 
Не в сети

Регистрация: Пт фев 08, 2019 06:46
Сообщения: 106
Откуда: кишлак около гор
.


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Чт фев 04, 2021 13:12 
Не в сети

Регистрация: Чт сен 26, 2013 18:49
Сообщения: 140
А вы счетчик обнуляете где-то?

Вот, вроде норм посчитал...


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Чт фев 04, 2021 14:07 
Не в сети

Регистрация: Пт фев 08, 2019 06:46
Сообщения: 106
Откуда: кишлак около гор
varnike писал(а):
А вы счетчик обнуляете где-то?

Вот, вроде норм посчитал...

Вот это чудеса!
А у меня он не останавливается собака серая.
Обнулял, но уже как вариантов 45 назад выключил обнуление.
И ещё интересная штука у меня выходит, поставил счётчик, ну он конечно тоже нихрена не считает, дак ещё и принудительно в мониторинге вход вкл/выкл - он тоже не реагирует.
И счётчик какой то подозрительно зелёный, как будто в прошлой жизни отработал и умер, во:


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Пт фев 05, 2021 06:09 
Не в сети

Регистрация: Чт сен 26, 2013 18:49
Сообщения: 140
У вас в чем хоть суть задачи? Для чего эти сдвиги и их счет?


В начало
 Профиль  
 
 Заголовок сообщения: Re: Примеры задач cx-programmer
СообщениеДобавлено: Пт фев 05, 2021 07:18 
Не в сети

Регистрация: Пт фев 08, 2019 06:46
Сообщения: 106
Откуда: кишлак около гор
varnike писал(а):
У вас в чем хоть суть задачи? Для чего эти сдвиги и их счет?

Спасибо, сделал этот участок с чистого листа и заработало!
Буду искать что я ранее где то обнулял.
Сдвиги у меня это наличие объекта по порядку считая от места выдачи.


В начало
 Профиль  
 
Показать сообщения за:  Сортировка  
Начать новую тему Ответить на тему  [ 96 сообщений ]  На страницу 1, 2, 3, 4, 5 ... 7  Вперёд

Часовой пояс: UTC + 3 часа (Russia: MSK)


Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Переход:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская документация по phpBB 3