Форум 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 7 » TRACE MODE 7 профессиональная версия / TRACE MODE 7 professional version » Ошибка Неверная привязка в трансляции

   
Автор / Author Тема / Topic: Ошибка Неверная привязка в трансляции
vector1980
Junior Member / Новичок
Участник № / Member № 8211


Icon 1 отправлено / posted      Профиль для / Profile for vector1980           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Доброго дня.
Тестовая программка. В шаблонах программ создал FBD программу с одним блоком PB,
использую вход IB0, IB1 и выход O. В аргументах программы создал два входа тип - bool, выход тип - int16.
Создал дискретный канал, в настройках канала число бит 16, привязываю (либо руками, либо перетаскиванием из шаблонов) "вызов программы", тут же во вкладке "Аргументы"
привязываю аргументы программы (типы данных совпадают). Запускаю "сохранить для МРВ" - ошибка "EMS_ARG_LINK_ATTR,.....,Неверная привязка в трансляции".
Причём если перетащить шаблон этой программы в дерево узла, и привязать аргументы созданного канала класса Call вызова этого шаблона также, как и в случае выше, то всё будет работать.
Ни в хелпе (ох, больная тема, почему нет хотя бы поиска?), ни в видеоуроках, объяснения не нашёл. Возможно, не внимательно смотрел?
В 5-й, в 6-й версии ТМ всё прекрасно работает. У меня 226 каналов после конвертации проекта из ТМ6 с такой ошибкой, трансляция (вызов программы) поломан. (
В чём проблема? Спасибо.

Сообщения / Posts 23 | Из / 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 
quote:
Отправитель / Originally posted by vector1980:
Доброго дня.
... Запускаю "сохранить для МРВ" - ошибка "EMS_ARG_LINK_ATTR,.....,Неверная привязка в трансляции"...

Здравствуйте!
Вы не правильно сделали привязку.
Ознакомьтесь с описанием Трансляции в Справочной Системе - Каналы - Числовые каналы - Числовые каналы


quote:
Отправитель / Originally posted by vector1980:
...
Ни в хелпе (ох, больная тема, почему нет хотя бы поиска?), ни в видеоуроках, объяснения не нашёл. Возможно, не внимательно смотрел?

Смотрите. При компиляции сообщение "неверная привязка в трансляции". Открываем канал, у которого проблема (в данном случае discrete) и нажимаем F1. Должна открыться Справочная система на разделе "Канал класса DISCRETE". В нем (аналогично для каналов Analog) есть описание трансляции и ссылка на раздел "Числовые каналы".


quote:
Отправитель / Originally posted by vector1980:
Спасибо.

Пожалуйста. Успехов в работе.
Сообщения / Posts 17336 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
vector1980
Junior Member / Новичок
Участник № / Member № 8211


Icon 1 отправлено / posted      Профиль для / Profile for vector1980           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо за скорый ответ. К сожалению, он не помог.
Перед тем как написать сюда, я до "мух в глазах" зачитал те разделы что вы советуете. Кстати, они почти точно скопированы с помощи в TM6, раздел "Числовые каналы" полностью.
Ответа в них на описанную мной проблему я не нашёл, примеров тоже нет. В ТМ5 и ТМ6 я много лет делал те же операции с трансляцией и привязкой, ни каких проблем не было.
Пожалуйста, внимательно прочитайте моё первое сообщение. Я привязываю аргументы в вызове программы так же, как и делает встроенный конвертер из TM6 в TM7, собственно по другому и не сделаешь. И это не работает, ошибки.
Создал другую FBD программу, с единственным блоком MOVЕ, два аргумента real, один in, другой out. Подключаю его к этому же каналу в трансляцию, так же привязываю аргументы и всё работает.
Почему не работает программа в трансляции с единственным FBD-блоком типа PB?
Где я (и встроенный конвертер проектов из ТМ6 в ТМ7) не так делаю? Спасибо.

Сообщения / Posts 23 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
vector1980
Junior Member / Новичок
Участник № / Member № 8211


Icon 1 отправлено / posted      Профиль для / Profile for vector1980           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте.
Прошло три дня, вопрос оказался сложный и ответов у тех.поддержки пока нет... Опишу проблему проще.
1. Создаю новый проект.
2. В шаблонах программ создаю FBD программу с единственным блоком НЕ(!X).
3. Создаю два аргумента, тип bool, один IN, другой OUT.
4. В программе на вход указываю аргумент IN, на выход аргумент OUT.
5. Компилирую программу, ошибок нет.
6. Создаю узел RTM_0
7. Создаю единственный канал Discrete, тип IN, кол-во бит 16.
8. Методом drag-and-drop перетаскиваю программу из шаблонов программ в поле "вызов программы" в окне свойств канала.
9. Во вкладке Аргументы окна свойст канала привязываю аргументы, аргумент IN программы к биту 0 дискретного канала, аргумент OUT к биту 1 этого канала.
10. Сохраняюсь, жму "Сохранить для МРВ", получаю:
ERR-LOAD:EMS_ARG_LINK_ATTR,1,Discrete_1,неверная привязка в трансляции
CER-FCNV:EMS_ECANCELED,node_0.dbb,операция отменена
11. ?????
Менял тип аргументов, уже перебором, для эксперимента, то же самое. Менял направление пердачи с in на out, то же самое.
Как это исправить???
Я не знаю как ещё проще и подробнее расписать проблему.

P.S. Заказчик купил ТМ7 (лучше, актуальнее, новее и пр...), нужно переписать программу с ТМ6. Переписал. Теперь в 226 каналах где в трансляции программа в FBD с битовыми привязками, хоровод таких ошибок.
И думаю, это ещё не все сюрпризы... Правда, хочу ошибиться.

Сообщения / Posts 23 | Из / 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 
quote:
Отправитель / Originally posted by vector1980:
Спасибо за скорый ответ. К сожалению, он не помог.
Перед тем как написать сюда, я до "мух в глазах" зачитал те разделы что вы советуете...

Здравствуйте!
В указанный параграфах есть описание какие атрибуты используются "перед" трансляцией, а какие "после".
Например, для канала Analog с направлением input в трансляцию необходимо, как вход, передать Аппаратное значение, а, как выход, использовать Реальное значение.
Для Вашего случая (какой тип канала и какое направление) проверьте в Справочной Системе какие атрибуты необходимо использовать.

quote:
Отправитель / Originally posted by vector1980:
...
Создал другую FBD программу, с единственным блоком MOVЕ, два аргумента real, один in, другой out. Подключаю его к этому же каналу в трансляцию, так же привязываю аргументы и всё работает.
Почему не работает программа в трансляции с единственным FBD-блоком типа PB?
Где я (и встроенный конвертер проектов из ТМ6 в ТМ7) не так делаю? Спасибо.

Потому, что Вы не привязали необходимые атрибуты.
Давайте разберем пример.
Канал Discrete. Блок PB и так далее, как Вы указали в первом сообщении.
Предположим, канал Discrete будет input (атрибут 81, редактирование узла).
В справочной системе написано "Аппаратное -> Трансляция -> Реальное".
Очевидно, выход программы привязываем к Реальному значению.
Привязка двух аргументов к атрибутам 10 и 11 (bit0 и bit1) некорректна, так как нет привязки к Аппаратному значению.
Согласно Справочной Системе, один из входов программы трансляции должен быть привязан к Аппаратному значению.


В Вашем случае, в шаблоне программ создайте дополнительный входной аргумент и, в канале Call.Program этот аргумент привяжите к атрибуту Аппаратное значение Вашего канала.

[ 05.03.2024, 09:09: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]

Сообщения / Posts 17336 | Из / 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 
quote:
Отправитель / Originally posted by vector1980:
...
Как это исправить???
Я не знаю как ещё проще и подробнее расписать проблему.

Спасибо за подробное описание процедуры настройки канала трансляции.

В Trace Mode 7, для корректной работы процедуры трансляции, необходимо использовать указанные в Справке атрибуты как входные и выходные.

Сообщения / Posts 17336 | Из / 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