Добрый день. И опять мы столкнулись с печальным фактом криворукости программистов Дельта Электроникс.
Присланные нам ПЧ С2000 (8 шт 22кВт и 2 шт 11кВт) имеют прошивку 1.04.
В данной версии прошивки в контроллере нормально не работают подпрограммы .
Внизу приведен скриншот программы в режиме он-лайн эмуляции с ПЧ.
Как видно не вызывается подпрограмма Р1, и после нее теряется и остальная часть ветки программы.
Счетчик С1 наглядно показывает, что условие выполняется.
Счетчик С2 и D1 показывает, что подпрограмма и то, что за ней не выполняется.
Из-за этого у нас возникли проблемы с новым объектом.
На рабочем объекте уже стоят ПЧ прошивкой 1.02 (там подпрограммы работают без всяких сбоев). На них установлена программа которая непосредственно связана с их работой. Кроме того возникает невозможность замены старых ПЧ на новые в случае выхода их из строя.
И наконец, если при включенном ПЧ прошить программу, то подпрограмма выполняется. При перевключении питания опять приплываем в ситуацию которая показана на скриншоте.
Также прикладываю программу которая изображена на скриншоте.
Работа подпрограмм VFD C2000 fw 1.04
Работа подпрограмм VFD C2000 fw 1.04
- Вложения
-
- Stan_VFD_1.2test.dvp.zip
- (8.18 КБ) 235 скачиваний
-
- Тест ПЧ ненорм.JPG (79.29 КБ) 8588 просмотров
Re: Работа подпрограмм VFD C2000 fw 1.04
В данном случае это все-таки "кривомозгость" юзера, а не вина вендора.TEH3OP писал(а):Добрый день. И опять мы столкнулись с печальным фактом криворукости программистов Дельта Электроникс.
Как Вы прогу написали, так она и выполняется.
Как только процессор дошёл до CALL P1, так он на метку P1 и ускакал, обходя все следующие за этой командой инструкции в 4-м нетворке .
А по команде SRET проц вернулся на следующий за вызывавшим нетворк, на 19-й.
Нумеруются не инструкции, а нетворки (логические цепи).
Так же как не получится поставить метку перехода не вначале, а внутри логической цепи, так и вернуться в середину нетворка не получится.
Хотите чтоб "нормально" (по-вашим понятиям) работало? Тогда поставьте CALL последней в 4-м нетворке.
__________________________
Помощь - понятие растяжимое, всяк трактует его в меру своего эгоизма...
Помощь - понятие растяжимое, всяк трактует его в меру своего эгоизма...
-
- Сообщения: 955
- Зарегистрирован: 31 окт 2011, 15:18
Re: Работа подпрограмм VFD C2000 fw 1.04
Видите-ли, уважаемый Ryzhij, до сих пор все работает нормально, и в середине нетворка, и в начале, и в конце. Независимо от того, где стоит CALL внутри нетворка. И возврат при этом происходит правильно, и туда, куда нужно. Не путайте команду CALL и CJ. CJ действительно пропустит все, что находится ниже по цепочке. В этом вся разница.
Re: Работа подпрограмм VFD C2000 fw 1.04
Где прирост D1? Почему не выполняется подпрограмма? В этом весь вопрос. Счетчик я добавил для наглядности, во всех контроллерах Дельта он работает несмотря на ваше замечание.Ryzhij писал(а):В данном случае это все-таки "кривомозгость" юзера, а не вина вендора.
Как Вы прогу написали, так она и выполняется.
Как только процессор дошёл до CALL P1, так он на метку P1 и ускакал, обходя все следующие за этой командой инструкции в 4-м нетворке .
Вы бы хоть потестили, прежде чем говорить. Вот скриншот при нормальной работе.
- Вложения
-
- Тест ПЧ норм.JPG (82.4 КБ) 8576 просмотров
Последний раз редактировалось TEH3OP 30 янв 2014, 14:57, всего редактировалось 1 раз.
Re: Работа подпрограмм VFD C2000 fw 1.04
Извините
__________________________
Помощь - понятие растяжимое, всяк трактует его в меру своего эгоизма...
Помощь - понятие растяжимое, всяк трактует его в меру своего эгоизма...