Форум 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 » ROC 809

   
Автор / Author Тема / Topic: ROC 809
Ляксей
Forum Member / Участник форума
Участник № / Member № 3098


Icon 1 отправлено / posted      Профиль для / Profile for Ляксей           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Скачал с вашего сайта пример настройки ROC 827 с примерами... Сделал как описано, настроил карту памяти, настроил сом-порты, файлы конфигурации. Связи с контроллером через проект нет. Только через конфигурационную программу. Связь по RS-485.
На нашей машине используется 8 сом-порт. Я так понял в файле конфигурации:
MDB_FLAG=2 - вместо 2 пишем 256 (2 в 8 степени)
MDB_FLOATCNV=101
MDB_AFCNV02=4096
END_OF_CNF

в других строках ничего не меняем?!

И непонятно, влияет ли положение модуля с интерфейсом связи на карту памяти или на обмен?! В инструкции сказано, что модуль с портом установлен в первый слот, а у нас во второй.
Модули AI, AO, DO.
При запуске проекта достоверность каналов _T. Но как только меняем значение DO (W_SingleCoil(5)), достовреность переходит в F, причем и на AI.
PortMon показывает timeout при ожидании ответа. В настройках каналов увеличивали таймаут до максимума - не помогло.
Подскажите, что делать?!

Сообщения / Posts 47 | Из / 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 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Gvenihvivar
Junior Member / Новичок
Участник № / Member № 5513


Icon 1 отправлено / posted      Профиль для / Profile for Gvenihvivar           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте.
У меня вопрос о ROC 809.
В обучающем видео при подключении контроллера к SCADA все просто. Необходимо ввести номер регистра переменной в памяти контроллера.
Где взять этот номер регистра? В нашей документации такого понятия как регистр входа или выхода нет.

Сообщения / Posts 7 | Из / 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 
Эти данные обязательно должны быть в документации на контроллер.
Возможно, Вам поможет пример проекта "EMERSON/MODBUS. Примеры организации связи с контроллерами ROC 827 и FloBoss 107 по протоколам MODBUS RTU и MODBUS TCP. Демонстрируется мониторинг данных различных форматов и считывание архивных данных.",
который выложен на сайте http://forum.adastra.ru/cgi-bin/ultimatebb.cgi?ubb=get_topic;f=31;t=000650;p=0

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


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

Сообщения / Posts 7 | Из / 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 
В разделе "Контроллеры ROC 827 и FloBoss 107" справочной системы описано, как считать архив вместе с временными метками из расходомера FloBoss 107.
Эта функция демонстрируется в соответствующем проекте, лежащем по http://www.adastra.ru/support/get_support/commer/get_support_tm6/TM6_commercial_proj_base/.

Мы не знаем, как выглядит формат "time" в контроллере ROC.
В общем случае придется, видимо, создавать необходимое количество точек ввода/вывода и каналов.

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


Icon 1 отправлено / posted      Профиль для / Profile for DimonVLZ           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
При считывании архива по Modbus в структуру DATE_AND_TIME как указано на рис 19.(описано в проекте, лежащем по http://www.adastra.ru/support/get_support/commer/get_support_tm6/TM6_commercial_proj_base/ ) получаем 09.12.2000 11:20:15 вместо 11.20.2015 09:00:00 (MMDDYYYY HHMMSS) восстановлено по значениям архивных параметров.

Разбираем 09.12.2000 11:20:15:
- 11:20:15 соответствует MM:DD:YY
- 09.12.2000 соответствует HH.??.????, где 2000 - это значение по умолчанию для года, судя по Form Number A6127, Part Number D301180X012, ROC Plus Protocol Specifications Manual, раздел 3.4.47 Point Type 136: ROC Clock

Правильно - в ответе используются 2 Real поля:
1 поле - дата, в формате MMDDYY
2 поле - время, в формате HHMMSS

фактически получили:
- для часовых архивов - время, в формате HHMM.
- для суточных архивов - время, в формате HH.

Как привести к формату DATE_AND_TIME ?

Сообщения / Posts 5 | Из / 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 
Скорее всего проблема в неправильной перестановке байтов Modbus. Проект создавался давно в старом релизе. С того времени перестановка байтов по умолчанию менялась. Необходимо для своего релиза ознакомиться со справкой и привести перестановку байтов в соответствие.
Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DimonVLZ
Junior Member / Новичок
Участник № / Member № 3339


Icon 1 отправлено / posted      Профиль для / Profile for DimonVLZ           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Приведете пример как правильно преобразовать данные дату время в Date_and_Time или string.
Приведённый http://forum.adastra.ru/cgi-bin/ultimatebb.cgi/ubb/get_topic/f/31/t/001453.html при отладке не работает

PROGRAM
VAR_INPUT D : USINT; END_VAR
VAR_INPUT M : USINT; END_VAR
VAR_INPUT Y : USINT; END_VAR
VAR_INPUT H : USINT; END_VAR
VAR_INPUT Mmin : USINT; END_VAR
VAR_INPUT Ssec : USINT; END_VAR
VAR_OUTPUT String_out : STRING; END_VAR

D := 30;
M := 12;
Y := 15;
H := 3;
Mmin := 26;
Ssec := 59;
VAR_string :='';
VAR_string := D + '-'+ M + '-'+ Y + ' ';
VAR_string := VAR_string + H + ':' + Mmin ;
String_out := VAR_string + ':' + Ssec;
END_PROGRAM

VAR_string - описано как глобальный String
на выходе получаем String_out = "30-12-15 3:￿6:59"
если Mmin=0 то String_out = "30-12-15 3:￿:59" - именно квадратик (не опечатка)
Результаты получены в 6.06.03 и 6.07.07.

Сообщения / Posts 5 | Из / 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 
В цитируемом Вами топике приведен
"Другой вариант."
Полученные каким-либо способом атрибуты даты/времени передайте программно в соответствующие атрибуты канала класса TIME.
Этот канал сам преобразует полученные данные в переменную формата Date&Time."
Это действительно надежно и достаточно универсально.
Если необходимо, можно привязать эту переменную к аргументу типа Date&Time CALL.SQL и передавать время в БД штатным образом.

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


Icon 1 отправлено / posted      Профиль для / Profile for DimonVLZ           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Возвращаясь к стабильности результатов на версии 6.10 Win 7 x64.
тестируем 2 программы.
PROGRAM "1"
VAR_INPUT D : USINT; END_VAR
VAR_INPUT M : USINT; END_VAR
VAR_INPUT Y : USINT; END_VAR
VAR_INPUT H : USINT; END_VAR
VAR_INPUT Mmin : USINT; END_VAR
VAR_INPUT Ssec : USINT; END_VAR
VAR_INPUT String_out : STRING; END_VAR
VAR VAR_string : STRING; END_VAR // Локальная переменная
D := 30;
M := 12;
Y := 15;
H := 0;
Mmin := 26;
Ssec := 0;

VAR_string := D + '-'+ M + '-'+ Y + ' ';
VAR_string := VAR_string + H + ':' ;
VAR_string := VAR_string + Mmin + ':';
String_out := VAR_string + Ssec;
END_PROGRAM

PROGRAM "2"
VAR_INPUT D : USINT; END_VAR
VAR_INPUT M : USINT; END_VAR
VAR_INPUT Y : USINT; END_VAR
VAR_INPUT H : USINT; END_VAR
VAR_INPUT Mmin : USINT; END_VAR
VAR_INPUT Ssec : USINT; END_VAR
VAR_INPUT String_out : STRING; END_VAR
VAR VAR_string : STRING; END_VAR // Локальная переменная
D := 30;
M := 12;
Y := 15;
H := 0;
Mmin := 26;
Ssec := 0;

VAR_string := D + '-'+ M + '-'+ Y + ' ';
VAR_string := VAR_string + H + ':' + Mmin ;
String_out := VAR_string + ':' + Ssec;
END_PROGRAM

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


Icon 1 отправлено / posted      Профиль для / Profile for DimonVLZ           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
результатом работы "Программы 1" - является строка содержащая дату.
результатом работы "Программы 2" - строка VAR_string := VAR_string + H + ':' + Mmin; является сбой Trace Mode IDE приводящей к закрытию среды разработки.

будем проверять "Другой вариант."

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