реклама на сайте
подробности

 
 
> М-файл и Simulink
SledCom
сообщение Jun 23 2016, 09:07
Сообщение #1





Группа: Участник
Сообщений: 8
Регистрация: 17-05-16
Пользователь №: 91 755



Добрый день, уважаемые форумчане!

Извиняюсь, что не много не по озаглавленной в разделе теме, но очень нужна Ваша помощь. При моделировании в Simulink помимо стандартных блоков пришлось использовать собственно написанную m-функцию. Составленная модель напрочь отказывается работать, как выяснилось, из-за того, что работает с остальными симулинковскими блоками асинхронно, причем не смотря на выставленный у всех блоков схемы (в том числе в настройках m-функции) одинаковый Sample Time.
Вопрос: можно ли как-то заставить стандартные блоки Симулинка и написанную m-функцию любить друг друга????

Если нет, то тогда прошу помочь с реализацией следующего кода:

Код
function e = fcn(u,N)
persistent S, C, Count
if isempty (S)
   Count = 1;
end
if Count = 5 %Значение счетчика, после которого нужно все сбросить
   S = U^N;
   e = S;
   C = 1;
   S = 0;
else
   C = C+1;
   S = U^N
   e = S;
end


Вопрос в данном случае возникает в том, как в симулинке (используя только стандартные блоки) случае правильно сбросить счетчик?

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
petrov
сообщение Jun 23 2016, 10:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(SledCom @ Jun 23 2016, 12:07) *
Вопрос в данном случае возникает в том, как в симулинке (используя только стандартные блоки) случае правильно сбросить счетчик?


Записать в регистр(задержку) счётчика 0 вместо очередного значения с выхода сумматора.
Go to the top of the page
 
+Quote Post
SledCom
сообщение Jun 27 2016, 05:41
Сообщение #3





Группа: Участник
Сообщений: 8
Регистрация: 17-05-16
Пользователь №: 91 755



Цитата(petrov @ Jun 23 2016, 16:36) *
Записать в регистр(задержку) счётчика 0 вместо очередного значения с выхода сумматора.


Спасибо.

А по м-функции и стандартным блокам?
Go to the top of the page
 
+Quote Post
petrov
сообщение Jun 27 2016, 10:33
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(SledCom @ Jun 27 2016, 08:41) *
Спасибо.

А по м-функции и стандартным блокам?


М-функции не нужны. Сумматоры, задержки, логические функции, мультиплексоры, конечные автоматы являются стандартными блоками, реализуется всё как в жизни, автоматически HDL код получается.
Go to the top of the page
 
+Quote Post
SledCom
сообщение Jun 28 2016, 05:21
Сообщение #5





Группа: Участник
Сообщений: 8
Регистрация: 17-05-16
Пользователь №: 91 755



Цитата(petrov @ Jun 27 2016, 16:33) *
М-функции не нужны. Сумматоры, задержки, логические функции, мультиплексоры, конечные автоматы являются стандартными блоками, реализуется всё как в жизни, автоматически HDL код получается.


Тогда каким стандартным блоком можно реализовать инверсию? Например (в самом просто варианте), из последовательности [1 2 5 4 7] получить [7 4 5 2 1]?

А, вроде нашел. Судя по всему, это блок "Flip".
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 04:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016