Работа подпрограмм VFD C2000 fw 1.04

Консультации специалистов.
Сайт:
https://www.delta-electronics.info
https://www.deltronic.ru
Матрикс Форум:
https://www.matrix-forum.ru
Ответить
TEH3OP
Сообщения: 42
Зарегистрирован: 03 июл 2012, 10:59
Откуда: Одесса

Работа подпрограмм VFD C2000 fw 1.04

Сообщение TEH3OP »

Добрый день. И опять мы столкнулись с печальным фактом криворукости программистов Дельта Электроникс.
Присланные нам ПЧ С2000 (8 шт 22кВт и 2 шт 11кВт) имеют прошивку 1.04.

В данной версии прошивки в контроллере нормально не работают подпрограммы :(.
Внизу приведен скриншот программы в режиме он-лайн эмуляции с ПЧ.

Как видно не вызывается подпрограмма Р1, и после нее теряется и остальная часть ветки программы.

Счетчик С1 наглядно показывает, что условие выполняется.
Счетчик С2 и D1 показывает, что подпрограмма и то, что за ней не выполняется.

Из-за этого у нас возникли проблемы с новым объектом.
На рабочем объекте уже стоят ПЧ прошивкой 1.02 (там подпрограммы работают без всяких сбоев). На них установлена программа которая непосредственно связана с их работой. Кроме того возникает невозможность замены старых ПЧ на новые в случае выхода их из строя.

И наконец, если при включенном ПЧ прошить программу, то подпрограмма выполняется. При перевключении питания опять приплываем в ситуацию которая показана на скриншоте.
Также прикладываю программу которая изображена на скриншоте.
Вложения
Stan_VFD_1.2test.dvp.zip
(8.18 КБ) 130 скачиваний
Тест ПЧ ненорм.JPG
Тест ПЧ ненорм.JPG (79.29 КБ) 6513 просмотров

Ryzhij
Сообщения: 1026
Зарегистрирован: 26 авг 2012, 19:25
Откуда: Россия Рязань

Re: Работа подпрограмм VFD C2000 fw 1.04

Сообщение Ryzhij »

TEH3OP писал(а):Добрый день. И опять мы столкнулись с печальным фактом криворукости программистов Дельта Электроникс.
В данном случае это все-таки "кривомозгость" юзера, а не вина вендора.
Как Вы прогу написали, так она и выполняется.
Как только процессор дошёл до CALL P1, так он на метку P1 и ускакал, обходя все следующие за этой командой инструкции в 4-м нетворке .
А по команде SRET проц вернулся на следующий за вызывавшим нетворк, на 19-й.
Нумеруются не инструкции, а нетворки (логические цепи).
Так же как не получится поставить метку перехода не вначале, а внутри логической цепи, так и вернуться в середину нетворка не получится.
Хотите чтоб "нормально" (по-вашим понятиям) работало? Тогда поставьте CALL последней в 4-м нетворке.
__________________________
Помощь - понятие растяжимое, всяк трактует его в меру своего эгоизма...

Alexander_I
Сообщения: 945
Зарегистрирован: 31 окт 2011, 15:18

Re: Работа подпрограмм VFD C2000 fw 1.04

Сообщение Alexander_I »

Видите-ли, уважаемый Ryzhij, до сих пор все работает нормально, и в середине нетворка, и в начале, и в конце. Независимо от того, где стоит CALL внутри нетворка. И возврат при этом происходит правильно, и туда, куда нужно. Не путайте команду CALL и CJ. CJ действительно пропустит все, что находится ниже по цепочке. В этом вся разница.

TEH3OP
Сообщения: 42
Зарегистрирован: 03 июл 2012, 10:59
Откуда: Одесса

Re: Работа подпрограмм VFD C2000 fw 1.04

Сообщение TEH3OP »

Ryzhij писал(а):В данном случае это все-таки "кривомозгость" юзера, а не вина вендора.
Как Вы прогу написали, так она и выполняется.
Как только процессор дошёл до CALL P1, так он на метку P1 и ускакал, обходя все следующие за этой командой инструкции в 4-м нетворке .
Где прирост D1? Почему не выполняется подпрограмма? В этом весь вопрос. Счетчик я добавил для наглядности, во всех контроллерах Дельта он работает несмотря на ваше замечание.
Вы бы хоть потестили, прежде чем говорить. Вот скриншот при нормальной работе.
Вложения
Тест ПЧ норм.JPG
Тест ПЧ норм.JPG (82.4 КБ) 6501 просмотр
Последний раз редактировалось TEH3OP 30 янв 2014, 14:57, всего редактировалось 1 раз.

Ryzhij
Сообщения: 1026
Зарегистрирован: 26 авг 2012, 19:25
Откуда: Россия Рязань

Re: Работа подпрограмм VFD C2000 fw 1.04

Сообщение Ryzhij »

Извините :oops:
__________________________
Помощь - понятие растяжимое, всяк трактует его в меру своего эгоизма...

Ответить