Форум 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 » Пишу программу на st

   
Автор / Author Тема / Topic: Пишу программу на st
witcher237
Junior Member / Новичок
Участник № / Member № 2272


Icon 1 отправлено / posted      Профиль для / Profile for witcher237           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день.

Есть прога на st
PROGRAM
VAR_OUTPUT Тип_R_00 : REAL; END_VAR
VAR_OUTPUT Усиление_R_00 : REAL; END_VAR
VAR_OUTPUT Смещение_R_00 : REAL; END_VAR
VAR_OUTPUT Тип_R_01 : REAL; END_VAR
VAR_OUTPUT Усиление_R_01 : REAL; END_VAR
VAR_OUTPUT Смещение_R_01 : REAL; END_VAR
VAR_OUTPUT запись_800 : UINT; END_VAR
VAR_OUTPUT запись_801 : UINT; END_VAR
VAR counter : INT := 0; END_VAR
VAR block_adress : REAL := 291; END_VAR

запись_800 :=0x123;
запись_801 := 0x00;
Тип_R_00 := getAttributeI (12,140);
Усиление_R_00 := getAttributeI (12,141);
Смещение_R_00 := getAttributeI (12,142);

запись_800 :=0x123;
запись_801 := 0x01;
Тип_R_01 := getAttributeI (12,140);
Усиление_R_01 := getAttributeI (12,141);
Смещение_R_01 := getAttributeI (12,142);


END_PROGRAM

в ней прекрасно выполняются строчки, с последующим сбором цифирь
запись_800 :=0x123;
запись_801 := 0x00;

но вот напрочь игнорируется
запись_800 :=0x123;
запись_801 := 0x01;

всё это работает на MODBUS\RTU и по логам обмена, видно что запрос атрибутов сваливается в цикл. Есть подозрение что что-то делаю не так, но что не совсем понятно, может подскажите.

лог обмена
Запрос:09.03.2011 17:18:10.48764 (+740.0781 seconds)
C0 06 08 00 01 23 DB 32
Ответ:09.03.2011 17:18:10.48764 (+0.0000 seconds)
C0 06 08 00 01 23 DB 32
Запрос:09.03.2011 17:18:10.48764 (+0.0000 seconds)
C0 06 08 01 00 01 0B 7B
Ответ:09.03.2011 17:18:10.48764 (+0.0000 seconds)
C0 06 08 01 00 01 0B 7B
Запрос:09.03.2011 17:18:10.48764 (+0.0000 seconds)
C0 03 08 02 00 03 B6 BA
Ответ:09.03.2011 17:18:10.48764 (+0.0000 seconds)
C0 03 06 00 05 0E B1 13 8E 6F 7B
Запрос:09.03.2011 17:18:11.84664 (+0.3594 seconds)
C0 03 08 02 00 03 B6 BA
Ответ:09.03.2011 17:18:11.86264 (+0.0156 seconds)
C0 03 06 00 05 0E B1 13 8E 6F 7B
Запрос:09.03.2011 17:18:11.40964 (+0.5469 seconds)
C0 03 08 02 00 03 B6 BA

[ 06.06.2011, 11:55: Сообщение отредактировал / Message edited by AdAstra Technical Support ]

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



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Согласно стандарту МЭК ваша строка:
code:
запись_800 :=0x123;
запись_801 := 0x00;

должна бы выглядеть вот так:
code:
запись_800 := 16#123;
запись_801 := 16#00;


IP / IP: IP адрес / IP address | Report this post to a Moderator
witcher237
Junior Member / Новичок
Участник № / Member № 2272


Icon 1 отправлено / posted      Профиль для / Profile for witcher237           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
поправил согласно стандарту, лучше не стало ^_^

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

Сообщения / Posts 8 | Из / 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 
Из лога видно, что по адресу 0x800 успешно записано 0x123, а по адресу 0x801 успешно записано 0x1.
Затем резонно выполняются регулярные запросы 3-х регистров с адреса 0x802.
Никаких противоречий с текстом программы не видно.
Команды записи выполняются в соответствии с последними присвоениями в программе
запись_800 :=0x123;
запись_801 := 0x01;

Так и должно быть.

М.б., есть смысл более подробно разобрать задачу и пример проекта в непосредственном контакте? Обратитесть в службу техподдержки с файлом *.prj и разъяснениями по постановке задачи.

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


Icon 1 отправлено / posted      Профиль для / Profile for witcher237           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
"Команды записи выполняются в соответствии с последними присвоениями в программе"

спасибо это объясняет некоторые странности.
Есть, к сожалению, потребность изменения конкретной переменной дважды в одной программе.

Проекта как такового нет, есть набор кусков с помощью которых тестируется аппаратура, и которые в перспективе лягут в основу АРМа.

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