Проблема с вложенным циклом Timed Loop

Простейшие вопросы в области инженерной разработки

Re: Проблема с вложенным циклом Timed Loop

Postby ujin on 25 Jan 2020, 04:52

Вот не пойму зачем читать по одной точке и издеваться над железом?

Во внутреннем цикле автор 1000 раз в секунду куда-то через global variable передает данные о направлении вращения.
Плюс он упоминал, что по окончании цикла опроса должен знать угол поворота и точное время за которое этот угол достигнут. Но при неизменном времени цикла заранее известно (так как задано) за какое время будет достигнут угол поворота.
Плюс ему необходимо прервать цикл опроса в произвольный момент времени с точностью внутреннего цикла.
Если всего этого не нужно, тогда действительно. Т.е. если нет задачи максимально точного позиционирования и достаточно реакции 100 мс или 1 с.
ujin
beginner
beginner
 
Posts: 36
Joined: 28 Jul 2019, 13:16
LabVIEW Version: 15
Karma: 5

Re: Проблема с вложенным циклом Timed Loop

Postby rsv on 26 Jan 2020, 16:51

Рабочий режим: время интегрирования ~100 мс, контроль направления вращения ~1 мс. Да, это миллисекунды.
На таких периодах невозможно визуально отслеживать изменения значений, поэтому для отладки я использовал значения, более подходящие для визуального наблюдения (1 c и 5 c). Они и попали на скриншоты.

По поводу возможности оборудования.
Каждый прибор по-отдельности укладывается в требуемые параметры. А вообще уверенности в том, что всё это вместе удовлетворит требованиям нет ни у меня, ни у конструктора. У нас это первый проект на labVIEW, первый проект с использованием Real-Time и он оказался очень сильно экспериментальным. Сейчас главное сделать чтобы можно было в целом управлять оборудованием и снимать показания. По ходу реализации требования к быстродействию могут измениться как в большую, так и в меньшую сторону.

Направление нужно контролировать непрерывно. В том числе и для того, чтобы вовремя остановить движение при смене направления (подать сигнал на ПЧ).
rsv
junior
junior
 
Posts: 68
Joined: 18 Jul 2019, 13:53
LabVIEW Version: 2018
Karma: 0

Re: Проблема с вложенным циклом Timed Loop

Postby taras_33 on 26 Jan 2020, 20:53

Мое мнение - один while loop внутри другого это неизбежное зло! Исключения составляют FGV. Мне видятся минимум три параллельных цикла. Один собирает данные, второй рассчитывает управляющее воздействие, третий отвечает за коммуникацию с внешним миром (PC)
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
User avatar
taras_33
professional
professional
 
Posts: 323
Joined: 31 Oct 2009, 18:25
Medals: 1
Activity (1)
LabVIEW Version: 2019
Karma: 139
CLD VIP

Re: Проблема с вложенным циклом Timed Loop

Postby Artem.spb on 26 Jan 2020, 21:51

[quote=="rsv"]Каждый прибор по-отдельности укладывается в требуемые параметры. А вообще уверенности в том, что всё это вместе удовлетворит требованиям нет ни у меня, ни у конструктора.[/quote]

То, что на АЦП написано "1МГц" вовсе не означает, что у вас получится гонять цикл с такой частотой и брать по одной точке, т.к. накладные расходы всё сожрут.
А вот взять пачку точек за 100-1000 мс вполне реально
Artem.spb
expert
expert
 
Posts: 1731
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 270
CLD hardware I/O VIP freelance

Re: Проблема с вложенным циклом Timed Loop

Postby Blackman on 27 Jan 2020, 01:39

Features
Deterministic, software-based control—The real-time controller executes the control algorithm at rates exceeding 1 kHz.
User interface—The user interface VI interacts with the real-time controller and displays data from the control loop. This VI can disconnect from the device and reconnect at any time without affecting the control loop.
Error handling—The application reports and logs all errors from the real-time controller, shutting down on any critical error.
System Requirements
Attachments
Create Project.png
Blackman
leader
leader
 
Posts: 893
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 260
VIP

Re: Проблема с вложенным циклом Timed Loop

Postby rsv on 27 Jan 2020, 07:59

>>Мне видятся минимум три параллельных цикла. Один собирает данные, второй рассчитывает управляющее воздействие, третий отвечает за коммуникацию с внешним миром (PC)
Да, пожалуй в идеале так и надо сделать.

Blackman, спасибо за пример. Он для PXI, а у меня CompactRIO, но думаю что пригодится.
rsv
junior
junior
 
Posts: 68
Joined: 18 Jul 2019, 13:53
LabVIEW Version: 2018
Karma: 0

Re: Проблема с вложенным циклом Timed Loop

Postby Blackman on 27 Jan 2020, 10:59

Здесь главная фраза Real-Time, а на каком железе (Target) это вторично.
Blackman
leader
leader
 
Posts: 893
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 260
VIP

Previous

Return to Для чайников

Who is online

Users browsing this forum: Google and 4 guests

cron