Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » разница между 6.08 и 6.09

   
Автор / Author Тема / Topic: разница между 6.08 и 6.09
merny
Active Forum Member / Активный участник форума
Участник № / Member № 2290


Icon 1 отправлено / posted      Профиль для / Profile for merny           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
составляю проект. работаю и дома, и на работе. дома стоит версия 6.08, на работе 6.09. компилирую проект и запускаю профайлер. под 6.08 проект работает, под 6.09 тот же самый проект (скопированный через флешку) не работает
содержание проекта:
производится выборка командных строк из пакета (файла), которые последовательно выполняются
как прявляется работа проекта:
6.08) файл загружается в канал call.string, через call.move строка (кадр) перегружается в виде байтов в канал call.chgroupreq. программа строку анализирует, разбивает на команды и выполняет команды, номер кадра инкрементируется для работы со следующей строкой.
на тестовом файле все функционирует: кадр загружается, выполняется (пока только на экране посредством динамизации гэ), номер кадра инкрементируется
6.09) зависает на нулевом кадре (номер кадра выводится в "текст")
первое впечатление, что программа не входит в структуру if {} then {} endif (там происходит инкрементация номера кадра) несмотря на выполнение условия (в версии 6.08 нормально входит)
другая версия состоит в том, что не работает перекачка из call.string, через call.move в канал call.chgroupreq. попытка вывести коды символов в гэ "текст" на экране дает только нули (пустые аргументы), в то время как этот же проект в версии 6.08 все прекрасно отображает
но даже в этом случае программа должна "проскочить" все функции (но без результата) и инкрементировать номер кадра. единственное предположение - в глобальных переменных задан массив команд от 1 до 10, а при отработке пустой строки (чего быть не должно, если работает перекачка) идет обращение к элементу массива с номером 0. если это событие вызывает аварийный выход из программы, то инкремента номера кадра действительно может не произойти

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

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

Сообщения / Posts 70 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Без последствий нельзя проект релиза 6.09 пересохранять в релиз 6.08. Используйте дома и на работе релиз 6.09. И только после этого, если проблема будет воспроизводиться, обращайтесь к нам в Техническую Поддержку на форуме.
Сообщения / Posts 17315 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
merny
Active Forum Member / Активный участник форума
Участник № / Member № 2290


Icon 1 отправлено / posted      Профиль для / Profile for merny           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
проблема разрешилась. дело было в типах аргументов. в канале call.move не только выходной, но и входной аргумент должен быть целочисленным. в версии 6.08 тип допускается любой, даже строковый

по поводу компилятора:
снова проблема. заменил типы переменных с dint на real. еще внес некоторые изменения в код. при компиляции сообщение о несоответствии типов. непонятно где, в каких строках, в каких переменных, в каких аргументах ошибка. у меня несколько сот строк кода, включая десяток функций. опять минимум 2 дня ковыряться в программе, чтобы найти неправильную букву или значечек
нельзя ли в будущих версиях системы решить вопрос поиска ошибки более удобно?

Сообщения / Posts 70 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Если при компиляции программы в специальном окне появляется сообщение об ошибке, двойной клик по этому сообщению вызывает в окне исходного текста индикатор, указывающий на место ошибки.
Сообщения / Posts 17315 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
merny
Active Forum Member / Активный участник форума
Участник № / Member № 2290


Icon 1 отправлено / posted      Профиль для / Profile for merny           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
в том то и дело, что не указывает
был случай, вызывался список функций и указатель указывал на определенную функцию. я удалял (комментировал) строчку за строчкой, пока не удалил весь код. указатель по-прежнему указывал на функцию, уже абсолютно пустую. после удаления самой функции из списка указатель стал указывать на другую функцию. тоже до момента ее полного удаления. ошибка, как потом выяснилось, была в теле самой программы и никакого отношения к удаляемым функциям не имела
в последнем случае менял тип аргумента, что вызвало соответствующую ошибку. хорошо, что я помнил все предшествующие корректировки и знал какая функция виновата в ошибке. с помощью ctrl-F прочесал все тексты и нашел все вызовы нужной функции. щелканье же на самой ошибке в окне сообщений компилятора пользы не приносило

что-то здесь не доработано

Сообщения / Posts 70 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Вы заменили тип переменных DINT на REAL. Естественно у Вас при компиляции появилось сообщение об ошибке.
При двойном клике на ошибку происходит центрирование курсора на функцию. У этой функции тип аргумента не соответствует типу аргумента программы, привязанного к данной функции.
А какой из этих двух типов аргументов правильный решать должен сам автор программы. С нашей стороны все возможное сделано - при двойном клике указывается функция с проблемным типом аргумента.

Сообщения / Posts 17315 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Чтобы локализовать проблему и в перспективе найти возможность устранить ее, надо выявить ее в конкретном случае.
Мы заинтересованы в выявлении и устранении возможных ошибок.
В дальнейшем желательно присылать примеры для воспроизведения подобных ситуаций на адрес технической поддержки.

Сообщения / Posts 17315 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2