Starinsky Oleg
Junior Member / Новичок
Участник № / Member № 9514
отправлено / posted
Добрый день. Изучаю работу нового драйвера. Не могу разобраться какой адрес[91] в области S7AreaDB я должен указать, что бы прочитать переменную в DB 20.0 типа int?
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
- задается номер DB области в 308 - номер переменной в 91, на 1 может отличаться
Сообщения / Posts 873 | Из / From: Россия
| IP / IP: IP адрес / IP address |
nav1978
Junior Member / Новичок
Участник № / Member № 7223
отправлено / posted
Добрый день Nico! Подскажите пожалуйста (- номер переменной в 91, на 1 может отличаться) - это адрес смещается? Пытаюсь с S7-1200го вытащить на Трейс 7 real значение(аналог температуры-int при этом в адресе 8 -13тыщ с копейками) а с БД адрес 46 вместо пересчитанного значения 23градуса выдаёт 16648.
Сообщения / Posts 18 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
nav1978
Junior Member / Новичок
Участник № / Member № 7223
отправлено / posted
Добрый день. Взял на всякий случай другую базу(датчик температуры). Фокус не удался: -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
Сообщения / Posts 18 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
отправлено / posted
.20.0 int - тип данных целое из 1сообщения ..для чтение целочисленных данных используется канал TM типа дискрет ... канал должен соответствовать типу данных в области контроллера
Сообщения / Posts 873 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Starinsky Oleg
Junior Member / Новичок
Участник № / Member № 9514
отправлено / posted
Добрый день , подскажите пожалуйста где можно почитать подробнее как работать с данным драйвером, а то не совсем понял как получить доступ к области меркерной памяти или области входов, выходов? Что означают области S7AreaDB, S7AreaPE, S7AreaPA, S7AreaMR, S7AreaСТ, S7AreaТМ?
Сообщения / Posts 4 | Из / From: Belarus
| IP / IP: IP адрес / IP address |
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342
User_eda_1
Junior Member / Новичок
Участник № / Member № 9219
отправлено / posted
Здравствуйте. За основу взял проект из примера 'Подключаем ПЛК 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Сообщения / Posts 2 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Вы пишите, что используете пример для ТМ7. В ТМ6 все работает (со смещением). В ТМ6 нет отдельного протокола опроса Siemens, опрос был либо по OPC, либо по ModBus. Я правильно понимаю, что Вы работаете параллельно с двумя проектами?
Если да, то в проекте ТМ6 указанные переменные считываются?
nav1978
Junior Member / Новичок
Участник № / Member № 7223
отправлено / posted
День добрый! Есть SIMATIC S7-1200 где real значения сидят в MD (создать DB не возможно), каким образом можно считать в ТМ7?
Сообщения / Posts 18 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
User_eda_1
Junior Member / Новичок
Участник № / Member № 9219
отправлено / posted
Работаю с ТМ7. Спасибо, получилось считать данные корректно с этих переменным. Надо было корректно прописать привязку: 1. В 'Источниках->Протоколы Net/RS->uS7LOGO' в прототип канала выбрать CHGR. 2. В 'Система->RTM_0->ЧМИ->Экран' прописать привязку к аргументам https://disk.yandex.ru/i/zrx2lwL-QYDTkQ Буду дальше копать
Сообщения / Posts 2 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by nav1978: День добрый! Есть SIMATIC S7-1200 где real значения сидят в MD (создать DB не возможно), каким образом можно считать в ТМ7?
Здравствуйте! Если нет возможности данные передать в область DB, то можно использовать OPC или ModBus.
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by User_eda_1: Работаю с ТМ7. Спасибо, получилось считать данные корректно с этих переменным. Надо было корректно прописать привязку: ... Буду дальше копать
nav1978
Junior Member / Новичок
Участник № / Member № 7223
отправлено / posted
quote:Отправитель / Originally posted by Nico: - задается номер DB области в 308 - номер переменной в 91
Добрый день! Как добавить источник с S7-1200 если адрес в DB с точкой(0.1, 2.1)? ТМ7 не даёт номер переменной в 91 вносить точку.
Сообщения / Posts 18 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by nav1978: Добрый день! Как добавить источник с S7-1200 если адрес в DB с точкой(0.1, 2.1)? ТМ7 не даёт номер переменной в 91 вносить точку.
nav1978
Junior Member / Новичок
Участник № / Member № 7223
отправлено / posted
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, то всё считывается.
Сообщения / Posts 18 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by nav1978: Для int всё понятно, а вот для bool адресация идёт в DB 2.0, 2.1, 2.2, а в 91 не возможно поставить точку. если по адресу 2.0 я просто ставлю 2, то всё считывается.
nav1978
Junior Member / Новичок
Участник № / Member № 7223
отправлено / posted
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
Сообщения / Posts 18 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
nav1978
Junior Member / Новичок
Участник № / Member № 7223
quote:Отправитель / Originally posted by nav1978: С int работает нормально т.к. адресация идёт без точек(20.0 записываем 20) и всё работает, bool адресация 2.2 и не понятно как справится без точки 2(.)2
Вы пишите, что при адресе 2.0 (для bool) считывается "всё". Это "всё" - значение одного бита или 8?
На примере адреса 2.2, Вы пробовали атрибуту 308 задать 2 (перед точкой), а атрибуту 91 задать 2 (после точки)?
Сообщения / Posts 17317 | Из / From: Россия
| IP / IP: IP адрес / IP address |
nav1978
Junior Member / Новичок
Участник № / Member № 7223
отправлено / posted
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 (после точки)?
quote:Отправитель / Originally posted by nav1978: С int работает нормально т.к. адресация идёт без точек(20.0 записываем 20) и всё работает, bool адресация 2.2 и не понятно как справится без точки 2(.)2
Судя по документации, адрес типа Х.У означает Х номер байта, а У - номер бита в Х байте.
Задавайте адресацию как для инта (т.е 2 до точки) и из discrete-канала используйте 2-ой (после точки) бит.