Просмотр полной версии : Конфигурация через AT %
Собственно вопрос: В чем недостатки конфигурации через AT% ? Пользуюсь, на форуме часто вижу сообщения, что это не есть хорошо. Мне кажется , что удобно, где я заблуждаюсь?
В чем недостатки конфигурации
Фиолетовым цветом подсвечивается. Некрасиво.
Фиолетовым цветом подсвечивается. Некрасиво.
У меня лиловым! Значит всё нормально?;)
Так - лучше.
Представь город Н-ск. Улиц нет. Дороги вдоль и поперек. А все дома имеют сплошную нумерацию. И есть маленькая такая особенность - после сноса какого-нить дома, или постройки нового специальная команда из мэрии перенумеровывает все заново. Пойдешь в почтальоны ?
Валенок конечно гений(Моцарт), но между нами простыми смертными-вот так от говоря, если нет особенности удобрений (т.е. стремлениям к скорости доступа к переменным и бешеной засоренности проекта всякими бяками) то ваши мысли вслух потрачены не зря.. Результат один и тот же-- Сальери..Будьте проще - и народ к Вам потянется:)
Так - лучше.
Представь город Н-ск. Улиц нет. Дороги вдоль и поперек. А все дома имеют сплошную нумерацию. И есть маленькая такая особенность - после сноса какого-нить дома, или постройки нового специальная команда из мэрии перенумеровывает все заново. Пойдешь в почтальоны ?
В почтальоны не пойду по любому, даже без перенумирации...:) Мысль в общем понятна. При SLAVE не актуально, ИМХО . При МАSTER да, могут быть некоторые сложности, но нефатально...
В почтальоны не пойду по любому, даже без перенумирации...:) Мысль в общем понятна. При SLAVE не актуально, ИМХО . При МАSTER да, могут быть некоторые сложности, но нефатально...
Собственно вопрос: В чем недостатки конфигурации через AT% ? Пользуюсь, на форуме часто вижу сообщения, что это не есть хорошо. Мне кажется , что удобно, где я заблуждаюсь?
Забег по чужим граблям, любимый вид спорта?
Забег по чужим граблям, любимый вид спорта?
Просто хочу понять, в чем грабли:) Переносил с такой конфигурацией с одного типа ПЛК на другой, показалось удобным.
Sergey666
20.02.2016, 00:44
Собственно вопрос: В чем недостатки конфигурации через AT% ? Пользуюсь, на форуме часто вижу сообщения, что это не есть хорошо. Мне кажется , что удобно, где я заблуждаюсь?
Вы не заблуждаетесь , все нормально с АТ ... Просто когда писали описаловки по работе с конфигуратором - писатель не знал про АТ и прописал именование переменных прям ... напрямую . Это просто ж...а , во всех примерах от немцев и др (не Овен) используется именно АТ и никто тут еще не сказал чем это плохо ...
Именование переменных ч-з конфигуратор - это убогое времяпровождение , для почтальонов , или людей не способных воспроизвести строчку AT%QW...
Тут еще навалом личностей с байтами в Модбас слэйве , для именования битовых переменных , а потом лоб с выравниванием морщат ...
Владимир Ситников
20.02.2016, 01:03
Вы не заблуждаетесь , все нормально с АТ ... Просто когда писали описаловки по работе с конфигуратором - писатель не знал про АТ и прописал именование переменных прям ... напрямую . Это просто ж...а , во всех примерах от немцев и др (не Овен) используется именно АТ и никто тут еще не сказал чем это плохо ...
Именование переменных ч-з конфигуратор - это убогое времяпровождение , для почтальонов , или людей не способных воспроизвести строчку AT%QW...
Тут еще навалом личностей с байтами в Модбас слэйве , для именования битовых переменных , а потом лоб с выравниванием морщат ...
Можете привести ссылку на 'правильный' пример?
_Mikhail
20.02.2016, 07:42
Тоже не вижу никаких проблем с АТ... У нас используется оборудование с контроллерами BECKHOFF и там все сконфигурировано через АТ... Теперь по аналогии делаем тоже самое и на ОВЕН 22757
Теперь по аналогии делаем тоже самое и на ОВЕН
поделитесь, как? заходите в конфигуратор, находите адрес кaнaлa, переключаетесь в файл настроек, прописываете имя переменной затем AT-команду ссылающуюся на адрес? Это вместо того чтоб сразу в конфигураторе записать имя переменной
_Mikhail
20.02.2016, 08:45
Это вместо того чтоб сразу в конфигураторе записать имя переменной
Разработка начинается без привязки к железу. Каждый программист делает свой кусок программы не задумываясь над тем, какой контроллер будет использоваться и оперирует для своей части программы только переменными, которые себе объявил. А уже тот кто сводит это все в одну программу, выбирает контроллер и привязывает те переменные к конкретному железу. 2276022761
ага, другими словами, чтоб использовать в полной мере АТ% топикстартеру нужна команда разработчиков на один овеновский плк
чтоб использовать в полной мере команду разработчиков на один овеновский ПЛК, топикстартеру нужна %AT, ага
приборист
20.02.2016, 10:22
поделитесь, как? заходите в конфигуратор, находите адрес кaнaлa, переключаетесь в файл настроек, прописываете имя переменной затем AT-команду ссылающуюся на адрес? Это вместо того чтоб сразу в конфигураторе записать имя переменной
Можно еще переписать на листочек, а с листочка записывать :)
Так все же, плюсы есть или нет?
Может тоже нужно переходить.
Или все дело в привычке?
ЗЫ
При смене ПЛК пользуюсь программой Yegor'а , за что ему огромное спасибо.
Вы не заблуждаетесь , все нормально с АТ ...
Тоже не вижу никаких проблем с АТ...
Смешная дискуссия. Разве здесь кто-то говорил что абсолютная адресация не работает ?
Именование переменных ч-з конфигуратор - это убогое времяпровождение , для почтальонов ,
Я бы развил дальше. Само регулярное именование чего-либо сверяясь каждый раз с адресами - убого. Не, ну если кто-либо наизусть помнит адреса всех платформ - я преклоняюсь.
Именование переменных ч-з конфигуратор
А разве здесь кто говорил что это - единственная альтернатива AT% ?
Один из вариантов альтернативы привели выше.
или людей не способных воспроизвести строчку AT%QW...
Каждый раз !!?? Лично я - не способен ввиду жуткого выворачивания при, звиняйте, обезъянней работе.
Даже не знаю что скажу, если таксёр при фразе "Трогай, милок, в большой_театр" спросит - "А кокой это адрес ?",
Я должен помнить что это Театральная, б-ь, один ?? Адрес, конечно, в данном конкретном случае соответствующий, но мне-то он зачем ?
(просьба навигаторщикам/втелефонекартам - мимо, други, мимо. не про то)
или людей не способных
Ну если перехватывать, было дело, вектор int13h - без абсолютной адресации сложно ))
Посмотрев возможности связки КДС-ОВЕН лично я пришел к выводу что AT% - атавизм. Если где без этого никак - это судьба в той связки.
Есть возможности X,Y,Z
Есть набор возможностей A{X,Y}
Есть набор возможностей B{X,Y,Z}
Если у меня есть B, лично мне на хрен не нужен А.
Владимир Ситников
20.02.2016, 11:17
Проверьте, плз, ход мыслей:
1) Задаём переменные и их типы. Грубо говоря: "главный_выключатель_типа_bool".
2) В программе ссылаемся на эти переменные. Т.е. "if главный_выключатель then ..."
3) Как узнаём на каком ПЛК придётся работать, <strike>ужасаемся и переписываем программу с нуля</strike> указываем соответствие между DI/DO/AI/AO конкретного ПЛК (ну или подключённых модулей, в зависимости от того, чем рулить нужно). Иными словами, заполняем табличку вида "главный_выключатель=DI01, красная_кнопка=ПР200.DI02" и т.п.
Варианты развития событий:
В1) "Перевес переменной на другой вход" (например, сгорел выход плк). Меняем соответствие переменной в табличке (с шага 3)
В2) "Смена ПЛК". Переделываем табличку №3
В3) "Ваш вариант"
ОК/КО?
Развернули дискуссию, на 2 страницы вообще ни о чем, ну нравится АТ да пожалуйста, не нравиться ну то же хорошо.Мне например не понравилось.
В3) "Ваш вариант"Табличка 3 попадает не на то железо: кровь, кишки, вечная память. Плата за ручную «линковку». В этом отношении конфигураторы безопаснее.
Надо брать лучшее из обоих решений и делать так, чтобы в конфигураторе можно было указывать только частично специфицированные переменные (AT %I*). Это вне рамок данной темы.
Владимир Ситников
20.02.2016, 12:17
Открыл тему конфигуратор мечты (http://www.owen.ru/forum/showthread.php?t=23447).
Честно говоря, непонятно какой смысл в частичной спецификации.
Да и неясно как вообще можно защититься от "заливки на не то железо".
Проверьте, плз, ход мыслей:
1) .. 3)
Типа того.
Собсно неудобства абсолютных адресов (АА) проявляются не при сменах платформ - для каждой можно типа однократно заготовить готовые таблички и с АТ%
АА проявляется во все "красе" при свободном определении конфигурации. Например :
Заказчик на ходу попросил перетасовать параметры в пользовательском меню ПЛК63/73. С AT% очень удобно.
Честно говоря, непонятно какой смысл в частичной спецификации.extern в Си.
как вообще можно защититься от "заливки на не то железо"«Таблица 3» должна иметь такую привязку с точки зрения средств заливки.
Мужики ! Хватит фигней заниматся. Пятница (все равно пятница)
С наступающим !
Все равно пятница !! Даже если суббота
Все равно пятница !! Даже если суббота
Да я сам узнал о том что сегодня суббота ,только в обед ;),думал пятница :rolleyes:А на самом деле воскресенье,только ни кому ни слова ..
Честно говоря, непонятно какой смысл в частичной спецификации.
кроме физических входов/выходов аналоговых/дискретных еще существуют области память модбас, как бы не менялись контроллеры, набивка модбас останется одной и той же, чтоб не городить новую визуализацию например
Не ожидал ,что мой вопрос вызовет столько слов,причем некоторые мне не знакомы ;)
Sergey666
21.02.2016, 00:50
Табличка 3 попадает не на то железо: кровь, кишки, вечная память. Плата за ручную «линковку». В этом отношении конфигураторы безопаснее.
Надо брать лучшее из обоих решений и делать так, чтобы в конфигураторе можно было указывать только частично специфицированные переменные (AT %I*). Это вне рамок данной темы.
Какая блин кровь ?
Не так попало - компилятор ругнется - нэмае такого адреса и все .
Валенок! Вы же копипастить умеете , так вот создание списка глобальных переменных с АТ привязкой - продукт чисто копипаста . И еще прикиньте (вообще весь народ!) в модбас слэйве вообще не требуется ничего кроме 2байт и 4 байт , а ваши многомудрые конфиги с извращенческими выпендросами , это да ... морщины лоб сломают . Ах ! простите вы же библиотэками пользуетесь.
Как представлю что мне в конфиге слэйва на 200 переменных надо 200 кликов сделать , а потом при отладке искать где ж это и кто это , а так вот они в одной папке с глобальными переменными , или в 2х,3х...10 папках .
Как представлю что мне в конфиге слэйва на 200 переменных надо 200 кликов сделать , а потом при отладке искать где ж это и кто это , а так вот они в одной папке с глобальными переменными , или в 2х,3х...10 папках .
а подскажите, если в конфигураторе не набить 200 регистров модбаса, будет ли что в глобальных переменных присваивать внутренним переменным через АТ% ?
zendo057
21.02.2016, 08:48
Плюс с АТ% один, если BOOL то переменная занимает 1bit,через объявление 1byte.
Валенок! Вы же копипастить умеете , так вот создание списка глобальных переменных с АТ привязкой - продукт чисто копипаста...
Сергей ! На всякий случай - я это уже сказал (Пост#22. Часть 1, после ответа)
..Как представлю что мне в конфиге слэйва на 200 переменных надо 200 кликов сделать.
И даже пример привел (Пост#22. Часть 2, про Заказчика)
И еще прикиньте (вообще весь народ!) в модбас слэйве вообще не требуется ничего кроме 2байт и 4 байт
Всеми руками за ! Но решил шагнуть чуть дальше. Достаточно и чего-то одного. 2байт или 4байт ))
Как представлю что мне в конфиге слэйва на 200 переменных надо 200 кликов сделать.
Дык я ж за то же ! Поэтому и выбрал - 100^500 x 4 byte - где то за 5..10 секунд. Буквально - как два пальца о .. . . Зажав двумя пальцами левой руки на Ctrl-V, пока правая рука размешивает сахар в чае. (Я уже писал про это)
Ведь мне от слейва нужен только кусок памяти нужного размера и начальный адрес (в смысле pointer а не регистр)
а ваши многомудрые конфиги с извращенческими выпендросами , это да ... морщины лоб сломают .
Мои конфиги ??!! Сергей, Вы о чем ? Я в этой ветке всего-лишь описал основную проблему абсолютной адресации.
Ах ! простите вы же библиотэками пользуетесь...
Ну да. И кокое щастье что библиотеки - есть ))
Например облегченно вздыхаю когда есть связка ПЛК-слейв + ПЛК-мастер. Просто сказка - и слейв и мастер работают с одной и той же структурой. Какие, на хрен регистры тут ?. Как представлю что мне придется иметь непонятно как связанные описания области обмена в двух проектах - вздрагиваю. Да еще комментарии писать в коде !! Ужос.
При любых новых слейвах открываю карту регистров (вот они, бр-р-р), описываю структуру в соответствии с ней, снова забываю о регистрах, структуру на диск - чтоб не возвращаться к этим регистрам в следующем проекте
Мне бы с логику техзадания делать а не с обменом трахатся - "ой-ой я добавил еше модуль/платформу поменял/.. и чой-то все встало.."
Штатный слейв в ПЛК - клевая вещь.
Штатный мастер в ПЛК - фигня недоделанная (для меня), но работоспособная.
а потом при отладке искать где ж это и кто это , а так вот они в одной папке с глобальными переменными , или в 2х,3х...10 папках .
Е-е-с !! Тоже бегу подальше от такого. Просто у нас разные направления. Я вот - "пойду на север" ))
По теме.
Абсолютная адресация - работает.
Ее минусы - описали. Плюсы - нет. (Работает - не плюс, а факт. Возможность однократно заготовить шкурки ПЛК - точно такая же как и в символьной)
Кто хочет применять абсолютную - применяйте. Платят не за способ адресации, а за работающие, гудящие, светящиеся механизмы.
PS
Плюс с АТ% один, если BOOL то переменная занимает 1bit,через объявление 1byte.
Вы о чем ? Если кто-то занимает один бит, то ему все равно как к нему обращаются. Где тут + AT% ?
zendo057
21.02.2016, 14:39
Вы о чем ? Если кто-то занимает один бит, то ему все равно как к нему обращаются. Где тут + AT% ?
В смысле о том что с АТ% занимает меньше памяти.
Sergey666
21.02.2016, 17:29
а подскажите, если в конфигураторе не набить 200 регистров модбаса, будет ли что в глобальных переменных присваивать внутренним переменным через АТ% ?
Кэп , я вот тут вас не понял . Вообще не понял , т.е слова в предложении все понятные , а смысл не понятен ! Для чего это делать: что-либо присваивать из списка глобальных переменных внутренним ч-з АТ ?
Переменные из списка глобальных "видны" и доступны для всего проекта , с помощью АТ адресации мы всего-лишь навсего присваиваем "Символу" адрес из области ввода-вывода ПЛК ,любезно предоставленный нам конфигуратором .
Товарищ Валенок при помощи библиотек напрямую присваивает адрес структуре блока данных и через указатели работает ... СИшник , что с него взять:rolleyes:... шютка.
Кэп , я вот тут вас не понял . Вообще не понял , т.е слова в предложении все понятные , а смысл не понятен ! Для чего это делать: что-либо присваивать из списка глобальных переменных внутренним ч-з АТ ?
Переменные из списка глобальных "видны" и доступны для всего проекта , с помощью АТ адресации мы всего-лишь навсего присваиваем "Символу" адрес из области ввода-вывода ПЛК ,любезно предоставленный нам конфигуратором .
Товарищ Валенок при помощи библиотек напрямую присваивает адрес структуре блока данных и через указатели работает ... СИшник , что с него взять:rolleyes:... шютка.суть проста, нет модбаса, нечего и присваивать через АТ, на овеновских контроллерах сперва всё равно придется набить модбас, а потом уже делать кучу манипуляций, чтоб появившиеся адреса через АТ присвоить переменным, вместо того чтоб создать структуру, озаглавить начальный регистр и через указатель всё это дело "оживить"
В смысле о том что с АТ% занимает меньше памяти.
Все таки лучше определится - об конфигурации стационарной или области сетевого обмена ?
1.Для стационарной просто имя Do1 прям там - и памяти столько же.
2.Если речь про упаковку где нибудь в модбасе - то среда позволяет замечательно (сравниваем с всякими сями) обращатся к битам через точку - а там хоть цифирка, хоть константа, хоть через индекс используя функции. Но это, конечно, дело привычки.
3.Еще интересней на нижнем уровне. Процы к битам не адресуются (обычно). И запись TRUE/FALSE в обычный BOOL - это просто запись 1/0 в байт. Тоже самое для бита - это неявное чтение целого байта, операция с OR/AND, а после запись обратно. Так что экономия даже не на спичках. Скорость опять же..
4.Ну и про экономию вообще - а кому память кроме проекта еще нужна ? Пока ПЛК пашет, мы на нем кино смотрим ?
Товарищ Валенок при помощи библиотек напрямую присваивает адрес структуре блока данных и через указатели работает ... СИшник , что с него взять:rolleyes:... шютка.
Так это не моя. Это ж инкапсуляция. "Slave.X" - на мой взгляд более наглядный чем глобальный "X_который_в_слейве". К тому же чаще не структуру, а ФБ подставляю. А там внутри - просто "X"
Владимир Ситников
24.02.2016, 01:11
Например облегченно вздыхаю когда есть связка ПЛК-слейв + ПЛК-мастер. Просто сказка - и слейв и мастер работают с одной и той же структурой.
Будьте добры, п-помедленнее! Я з-записываю.
Где можно посмотреть на пример "связки ПЛК-слейв + ПЛК-мастер"?
Где можно посмотреть на пример "связки ПЛК-слейв + ПЛК-мастер"?
Я обычно смотрю на моем ноуте ))
Ну про слейв тут уже рассказали, а в мастере - просто переменная : типа_та_структура, работающая как сетевой VAR_IN_OUT
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot