Просмотр полной версии : ПЛК110-30 и Weintek MT8100iE передача float
Linker1989
02.09.2014, 11:05
Добрый день. ПЛК110-30 и Weintek MT8100iE. Проблема с передачей аналоговых значений. В CoDeSys создали подэлемент Float в Modbus (slave), имеет вид MB_T AT %QD6.2.0:REAL; (* *) [CHANNEL (Q)]. Теперь в EasyBuilder необходимо написать адрес для MB_T из ПЛК. Но никак не поймем как из qd6.2.0 real получить этот самый адрес, что нужно прописывать. Скрины прилагаются.
1422814229
адрес 4 поставте
ЗЫ и кстати в параметрах цифрового индикатора точно стоит 32float ?
Linker1989
02.09.2014, 11:28
адрес 4 поставте
ЗЫ и кстати в параметрах цифрового индикатора точно стоит 32float ?
Не работает(( Поставил адрес 4х4. в плк значение есть (через CodeSys смотрим), на панель не передется. Да, 32бит FLOAT стоит.
Пантелеев Дмитрий
02.09.2014, 11:35
Адрес должен быть 2.
Linker1989
02.09.2014, 11:56
Адрес должен быть 2.
Не получается. Но уже стал показывать 00.00. При адресе 4 вообще пустота была. В кодесисе при подключении к плк видно что значение 47, т.е. точно не 0
Не получается. Но уже стал показывать 00.00. При адресе 4 вообще пустота была. В кодесисе при подключении к плк видно что значение 47, т.е. точно не 0
http://www.owen.ru/forum/showthread.php?t=11608&p=143281&viewfull=1#post143281
Linker1989
03.09.2014, 08:16
Никак не выходит :(
Сделайте индикатор читающий локальные данные, найдите в бильдере передачу данных,задайте время,откуда читать и куда писать и с помощью макроса переворачивайте слова/байты местами, последние версии среды разработки имеют возможность в настройках задавать порядок байт. Вот можно пойти таким сособом,если не получается перевернуть в конфигураторе плк
Linker1989
03.09.2014, 10:18
Поставили адрес 3 и прочиталось значение, по адресу %QD6.3.0. Но по адресу 4 значение %QD6.4.0 уже не считывается
Третий адрес вместо второго,это значит драйвер в панели Вы поставили не zero
А по четвертому адресу,не будет ни чего,потому что реал занимает два слова, тут два варианта либо в слейве нет столько слов, или вычитывать тогда надо по 5 адресу
FLOAT через модбас от немцев, это 5x в вайнтеке. читается через код модбаса 0x03 пишется через 0x10 и Меняет байты местами.
Гляньте описание в PLC_connection_guide.pdf от вайнтека
Не выравнены переменные при размещение в области памяти. Т.е. в CoDeSys в начале у Вас установлено 8 бит (половина регистра). Надо добавить еще 8 бит.
если не разобрался то надо выложить проэкт в проэкте укажи что твоя флоат равна переменной аналогового значения и будет тебе счастье а вам уважаемые ответчики скажу что не надо лезть в дебри человек простейшее спросил
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot