Преобразование программы MD29AN с Mentor II в программу SM-Applications Plus с Mentor MP

Сайт:
https://www.control-techniques.com.ru
Ответить
  • Автор
  • Сообщение
Не в сети
Сообщения: 5
Зарегистрирован: 18 авг 2018, 05:57

Преобразование программы MD29AN с Mentor II в программу SM-Applications Plus с Mentor MP

Сообщение Юра »

Всем добрый день !
Откликнитесь, у кого есть опыт по преобразованию (конвертацию) программы MD29AN с Mentor II в программу SM-Applications Plus с Mentor MP.

AND

Re: Преобразование программы MD29AN с Mentor II в программу SM-Applications Plus с Mentor MP

Сообщение AND »

Здравствуйте!
инженер пишет:

Мы делали несколько проектов.
Переписывали программу модуля UD70 на модуль SМ-Apps для привода дозирования шоколадной массы на шоколадной фабрике.
Из вашего вопроса не до конца понятно что хотите узнать.

AND

Re: Преобразование программы MD29AN с Mentor II в программу SM-Applications Plus с Mentor MP

Сообщение AND »

Инженер также пишет:

Мы можем помочь с конвертацией, но сначала необходимо взглянуть на программу, т.к. конвертация не всегда возможна.

Не в сети
Сообщения: 5
Зарегистрирован: 18 авг 2018, 05:57

Re: Преобразование программы MD29AN с Mentor II в программу SM-Applications Plus с Mentor MP

Сообщение Юра »

Здравствуйте, AND !
Дело в том, что используя Convert to Mentor MP, инструмент Porting tool предлагает в некоторых случаях неадекватные вещи.
Например, в исходном файле для Mentor II имеется:
IF Ctrl_bit_drive_enable% = TRUE THEN
IF Ctrl_bit_run% = TRUE OR Bit_jog_memory% = TRUE THEN
// Normal Run
#01.11 = TRUE // Run sequencing bit
#01.12 = FALSE // Jog sequencing bit
#01.13 = FALSE // Reverse sequencing bit
ELSEIF Ctrl_bit_run% = FALSE AND Bit_jog_memory% = FALSE THEN
// Stop the drive
#01.11 = FALSE // Run sequencing bit
#01.12 = FALSE // Jog sequencing bit
#01.13 = FALSE // Reverse sequencing bit
ENDIF
ELSE
// Stop
#01.11 = FALSE // Run sequencing bit
#01.12 = FALSE // Jog sequencing bit
#01.13 = FALSE // Reverse sequencing bit
ENDIF
В результате конвертации необходимо параметры привода Mentor II: #01.11 - #01.13 типа RW (Read-Write) преобразовать в параметры привода Mentor MP.
И вот что предлагает Porting tool:
Parameter #01.11M2 - Reference ON
Mentor MP parameter #01.11 - Reference enabled indicator
The following formula is used to convert to Mentor MP units from Mentor II units when writing:
#1.11MP = #1.11M2
То же самое, и для #01.12, и #01.13.
Но в MP эти параметры - статусные индикаторы типа RO (Read-only).
И если тупо следовать за рекомендациями Porting tool, после конвертации в этом случае получаем Run-time Error 42 - Попытка записи в параметр чтения.
Тогда как надо, пожалуй, для MP заменить на #06.34: #06.31 и #06.32.
Т.е. нет доверия к этому инструменту, и каждый параметр надо вручную тщательно просматривать.
Встречались ли Вы с такими вещами при конвертации UD70 в SM-Appls+ ? Есть ли какие другие инструменты, методики ?
Да и с масштабированием небитовых переменных тоже, наверняка, имеются свои трудности ? Т.к. параметры MII отличаются от параметров MP.

AND

Re: Преобразование программы MD29AN с Mentor II в программу SM-Applications Plus с Mentor MP

Сообщение AND »

Здравствуйте!
Инженер пишет:

Да, встречались.
Porting Tool дает только рекомендации, всю адаптацию нужно делать вручную, т.к. многие параметры поменялись и сама логика работы поменялась. Ведь программа не умеет анализоровать Ваш код, и поэтому она не может знать какую логику вы завязываете на тот или иной параметр. Поэтому даются только общие рекомендации - по масштабированию, по наличию параметров, по изменению значений(если это список значений) и т.п.
Просто взять и прогнать старую программу через Porting Tool и надеяться что она заработает в новом приводе нельзя. У меня еще ни разу такой прием не срабатывал. Каждый раз это отдельный проект, который в зависимости от сложности проекта занимает от 1 до 8 недель, с учетом тестирования.
Других инструментов нет, т.к., как я уже писал, никто кроме человека не может оценить логику работы программы. Все нужно делать вручную, вычитывать строку за строкой.
В вашем случае ничего удивительного нет. В менторе 2 не было sequencer и 1.11 по сути означал 6.34 в менторе мп.

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