This is topic Обмен по протоколу Siemens S7 in forum TRACE MODE 7 бесплатная базовая версия / TRACE MODE 7 free basic version at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/60/t/000046.html

Posted by Starinsky Oleg (Участник № / Member № 9514) on :
 
Добрый день. Изучаю работу нового драйвера. Не могу разобраться какой адрес[91] в области S7AreaDB я должен указать, что бы прочитать переменную в DB 20.0 типа int?

Структура DB:
0.0 bool
0.1 bool
0.2 bool
20.0 int
40.0 int
60.0 int
 
Posted by Nico (Участник № / Member № 5342) on :
 
- задается номер DB области в 308
- номер переменной в 91, на 1 может отличаться
 
Posted by nav1978 (Участник № / Member № 7223) on :
 
Добрый день Nico! Подскажите пожалуйста (- номер переменной в 91, на 1 может отличаться) - это адрес смещается? Пытаюсь с S7-1200го вытащить на Трейс 7 real значение(аналог температуры-int при этом в адресе 8 -13тыщ с копейками) а с БД адрес 46 вместо пересчитанного значения 23градуса выдаёт 16648.
 
Posted by Nico (Участник № / Member № 5342) on :
 
так задайте еще несколько источников
с адресами больше/меньше на 1
 
Posted by nav1978 (Участник № / Member № 7223) on :
 
Добрый день. Взял на всякий случай другую базу(датчик температуры). Фокус не удался:
-DB 20 адрес 8 - Input(int) значение при 22.43 градусах-12305
-DB 20 адрес 46 - Output(real) --------------------------16818
-DB 20 адрес 45 - Output(real) --------------------------65
-DB 20 адрес 47 - Output(real) --------------------------45629
 
Posted by Nico (Участник № / Member № 5342) on :
 
.20.0 int - тип данных целое из 1сообщения
..для чтение целочисленных данных используется
канал TM типа дискрет
... канал должен соответствовать типу данных в области контроллера
 
Posted by Starinsky Oleg (Участник № / Member № 9514) on :
 
Добрый день , подскажите пожалуйста где можно почитать подробнее как работать с данным драйвером, а то не совсем понял как получить доступ к области меркерной памяти или области входов, выходов? Что означают области S7AreaDB, S7AreaPE, S7AreaPA, S7AreaMR, S7AreaСТ, S7AreaТМ?
 
Posted by Nico (Участник № / Member № 5342) on :
 
- последние 2 буквы мнемоника областей памяти контроллера
 
Posted by User_eda_1 (Участник № / Member № 9219) on :
 
Здравствуйте.
За основу взял проект из примера 'Подключаем ПЛК SIEMENS LOGO к SCADA TRACE MODE 7 по S7'. Получилось подключиться к контроллеру. Дискретные входные и выходные сигналы CPU считываются, остальные данные которые прописаны а ТМ6 считываются правдо со смещением, но главное считывается.
Пытаюсь разобраться с структурой/методикой прописки каналов в среде разработки. Тестируем бесплатную версию среды разработки. Имеется массив переменные в первой базе данных типа Uint (адрес 298). Задача считывать первые 4 переменных (начинаются по адресу 298,300,302,304) https://disk.yandex.ru/i/qPIcweARzycJNg
По шагам сделал следующее:
1. В 'Источниках->Протоколы Net/RS->uS7LOGO' создал точку ввода 'VisualStatus_Uint_1_0'. ПОДСКАЖИТЕ какой тип канала выбирать.
https://disk.yandex.ru/i/ptv09EKqdkCxJA
2. В 'Система->RTM_0->Канал_6' привязал 'VisualStatus_Uint_1_0'.
https://disk.yandex.ru/i/oB-RJ7L767Sd9A
3. В 'Система->RTM_0->ЧМИ->Экран' создал в 'Аргументов' 'Scr_DB1_VisualStatus_Uint_1_0' https://disk.yandex.ru/i/EfG5qYIgm2PtLA
4. На экране в привязал к окну вывода точку ввода https://disk.yandex.ru/i/EdMywWtuTf776g
5. Произвел 'Сохранить для МРВ', все скопмилтровалось без ошибок https://disk.yandex.ru/i/MNFw-qnEEqfaXw
6. Нажал 'Запустил профайлер', затем 'Запуск/Останов' но в переменной 0. https://disk.yandex.ru/i/MV5W7vCiD2tM8Q
7. На всякий случай в переменные рядом занес значения отличные от 0, но к сожалению в ТМ 0 https://disk.yandex.ru/i/6sSNBSwVCIMYhg
Подскажите что я делаю не правильно. Ссылка на сам проект https://disk.yandex.ru/d/hghJ5WZDW_oo4g
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Здравствуйте!

Вы пишите, что используете пример для ТМ7. В ТМ6 все работает (со смещением). В ТМ6 нет отдельного протокола опроса Siemens, опрос был либо по OPC, либо по ModBus.
Я правильно понимаю, что Вы работаете параллельно с двумя проектами?

Если да, то в проекте ТМ6 указанные переменные считываются?

[ 17.05.2024, 10:04: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
 
Posted by nav1978 (Участник № / Member № 7223) on :
 
День добрый! Есть SIMATIC S7-1200 где real значения сидят в MD (создать DB не возможно), каким образом можно считать в ТМ7?
 
Posted by User_eda_1 (Участник № / Member № 9219) on :
 
Работаю с ТМ7. Спасибо, получилось считать данные корректно с этих переменным. Надо было корректно прописать привязку:
1. В 'Источниках->Протоколы Net/RS->uS7LOGO' в прототип канала выбрать CHGR.
2. В 'Система->RTM_0->ЧМИ->Экран' прописать привязку к аргументам https://disk.yandex.ru/i/zrx2lwL-QYDTkQ
Буду дальше копать
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by nav1978:
День добрый! Есть SIMATIC S7-1200 где real значения сидят в MD (создать DB не возможно), каким образом можно считать в ТМ7?

Здравствуйте!
Если нет возможности данные передать в область DB, то можно использовать OPC или ModBus.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by User_eda_1:
Работаю с ТМ7. Спасибо, получилось считать данные корректно с этих переменным. Надо было корректно прописать привязку:
...
Буду дальше копать

Хорошо.
 
Posted by nav1978 (Участник № / Member № 7223) on :
 
quote:
Отправитель / Originally posted by Nico:
- задается номер DB области в 308
- номер переменной в 91

Добрый день! Как добавить источник с S7-1200 если адрес в DB с точкой(0.1, 2.1)? ТМ7 не даёт номер переменной в 91 вносить точку.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by nav1978:
Добрый день! Как добавить источник с S7-1200 если адрес в DB с точкой(0.1, 2.1)? ТМ7 не даёт номер переменной в 91 вносить точку.

Первое и второе сообщение (ссылка)

[ 13.06.2024, 12:16: Сообщение отредактировал / Message edited by АдАстра. Техподдержка ]
 
Posted by nav1978 (Участник № / Member № 7223) on :
 
quote:
Отправитель / Originally posted by АдАстра. Техподдержка:
quote:
Отправитель / Originally posted by nav1978:
Добрый день! Как добавить источник с S7-1200 если адрес в DB с точкой(0.1, 2.1)? ТМ7 не даёт номер переменной в 91 вносить точку.

Первое и второе сообщение (ссылка)
Для int всё понятно, а вот для bool адресация идёт в DB 2.0, 2.1, 2.2, а в 91 не возможно поставить точку. если по адресу 2.0 я просто ставлю 2, то всё считывается.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by nav1978:
Для int всё понятно, а вот для bool адресация идёт в DB 2.0, 2.1, 2.2, а в 91 не возможно поставить точку. если по адресу 2.0 я просто ставлю 2, то всё считывается.

"Всё" - имеется ввиду все биты int'а или только один бит?
 
Posted by nav1978 (Участник № / Member № 7223) on :
 
quote:
Отправитель / Originally posted by АдАстра. Техподдержка:
quote:
Отправитель / Originally posted by nav1978:
Для int всё понятно, а вот для bool адресация идёт в DB 2.0, 2.1, 2.2, а в 91 не возможно поставить точку. если по адресу 2.0 я просто ставлю 2, то всё считывается.

"Всё" - имеется ввиду все биты int'а или только один бит?
С int работает нормально т.к. адресация идёт без точек(20.0 записываем 20) и всё работает, bool адресация 2.2 и не понятно как справится без точки 2(.)2
 
Posted by nav1978 (Участник № / Member № 7223) on :
 
Считываю атрибут 4 FA
 
Posted by nav1978 (Участник № / Member № 7223) on :
 
Еще вопросик, можно ли с Сименса считать на прямую с адреса %Q ?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by nav1978:
С int работает нормально т.к. адресация идёт без точек(20.0 записываем 20) и всё работает, bool адресация 2.2 и не понятно как справится без точки 2(.)2

Вы пишите, что при адресе 2.0 (для bool) считывается "всё".
Это "всё" - значение одного бита или 8?

На примере адреса 2.2, Вы пробовали атрибуту 308 задать 2 (перед точкой), а атрибуту 91 задать 2 (после точки)?
 
Posted by nav1978 (Участник № / Member № 7223) on :
 
quote:
Отправитель / Originally posted by АдАстра. Техподдержка:
quote:
Отправитель / Originally posted by nav1978:
С int работает нормально т.к. адресация идёт без точек(20.0 записываем 20) и всё работает, bool адресация 2.2 и не понятно как справится без точки 2(.)2

Вы пишите, что при адресе 2.0 (для bool) считывается "всё".
Это "всё" - значение одного бита или 8?

На примере адреса 2.2, Вы пробовали атрибуту 308 задать 2 (перед точкой), а атрибуту 91 задать 2 (после точки)?

Одного бита. В 308 у меня адрес DB.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by nav1978:
Еще вопросик, можно ли с Сименса считать на прямую с адреса %Q ?

Уточните, что это за адрес? Какая область?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
quote:
Отправитель / Originally posted by nav1978:
С int работает нормально т.к. адресация идёт без точек(20.0 записываем 20) и всё работает, bool адресация 2.2 и не понятно как справится без точки 2(.)2

Судя по документации, адрес типа Х.У означает Х номер байта, а У - номер бита в Х байте.

Задавайте адресацию как для инта (т.е 2 до точки) и из discrete-канала используйте 2-ой (после точки) бит.

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


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2