- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
WinCC V7.4 работа со структурными тэгами
-
- эксперт
- Сообщения: 1602
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 69 раз
- Поблагодарили: 185 раз
WinCC V7.4 работа со структурными тэгами
Добрый день. Решил воспользоваться структурными тэгами WinCC. У меня станция WinCC вяжется не с родной софтиной по Modbus. Идет от PLC слово состояние, в котором каждый бит несет определенную нагрузку. Таких слов состояний много, вот и решил создать структурный ТЭГ, а потом под ним сделать 64 слова состояния, которые у меня потом в 768 бинарных тэгов развернутся. Сказать что не работает, - не могу. Но наверно я чего то до конца не понял. Когда создаешь Strructure Type element, в поле AS offset bit заносишь смещение для соответствующего бита. Это смещение может быть от 0 до 15. После создания Экземпляра ТЭГа в Structure tags, Создаются в Structure tags element 16 битовых тэгов, и адрес у них генерится на основе поля Address в Structure tags + это самое смещение. Что ровно на 1 меньше, чем требуется для работы. Приходится пробегать по этим битовым тегом и прощелкивать их на 1 единицу в плюс, а их напоминаю 768 !! Что я не учел ? Какую птицу не щелкнул ? Или это просто издержки сумеречного индийского гения программиста ?
-
- эксперт
- Сообщения: 1602
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 69 раз
- Поблагодарили: 185 раз
WinCC V7.4 работа со структурными тэгами
Приспособился к этому глюку. Схема работы такая, 15 и 16 биту выставляешь в Structure Type element значение 15, а потом в Structure tags element 16 биту выставляешь 16. Делаешь это для 1-го экземпляра, потом выгружаешь в Excel и далее готовишь все остальные ТЭГИ, потом обратно в WCC. Нас не сломят кривые руки индийского программиста !!
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 65 раз
WinCC V7.4 работа со структурными тэгами
petr2off, подобное не только в 7.4, в 13 тоже был глюк :
Первое слово структуры имеет формат word, остальные real, , адреса расставлял точно как в структуре плк, но при присваивании тэга образовывалось смещение в 8 байт...потому пришлось вручную сдвигать начальный байт структурного тэга.
Первое слово структуры имеет формат word, остальные real, , адреса расставлял точно как в структуре плк, но при присваивании тэга образовывалось смещение в 8 байт...потому пришлось вручную сдвигать начальный байт структурного тэга.
-
- осмотрелся
- Сообщения: 187
- Зарегистрирован: 19 сен 2019, 10:09
- Имя: Макс
- Страна: Россия
- город/регион: Славянск-на-Кубани
- Благодарил (а): 5 раз
- Поблагодарили: 32 раза
WinCC V7.4 работа со структурными тэгами
В Wincc есть такой нюанс по отношению к Kepserver и Modbus Pool, может и с вашей родной софтиной Modbus. WinCC и вышеперечисленные ПО нумеруют биты в слове с разных сторон, + у Wincc нумерация бита с 1 до 8, тогда как в Kepserver и Modbus Pool с 0 до 7. Т.е. если в Modbus Pool выбранный бит будет иметь регистр 400201.6, В WinCC он должен иметь адрес 400201.2. + Если вы будете использовать двойное слово, возможно вам нужно будет свапать младшее и старшее слово.
Не понял как вы 768 битов в 64 слова уложили. 64*16=1024бит. Разве не хватит 48 беззнаковых слов?
Один регистр modbus - 16 бит = один элемент структуры в виде Unsigned 16-bit value = одно слово состояния. Структура создается без проблем, адреса назначаются автоматически, смысл ваших "приспособлений к глюку" не понял.
Не понял как вы 768 битов в 64 слова уложили. 64*16=1024бит. Разве не хватит 48 беззнаковых слов?
Один регистр modbus - 16 бит = один элемент структуры в виде Unsigned 16-bit value = одно слово состояния. Структура создается без проблем, адреса назначаются автоматически, смысл ваших "приспособлений к глюку" не понял.
У вас нет необходимых прав для просмотра вложений в этом сообщении.