PDA

Просмотр полной версии : Конфигурация через AT %



Alex_Z
19.02.2016, 12:10
Собственно вопрос: В чем недостатки конфигурации через AT% ? Пользуюсь, на форуме часто вижу сообщения, что это не есть хорошо. Мне кажется , что удобно, где я заблуждаюсь?

Валенок
19.02.2016, 14:45
В чем недостатки конфигурации
Фиолетовым цветом подсвечивается. Некрасиво.

Alex_Z
19.02.2016, 15:09
Фиолетовым цветом подсвечивается. Некрасиво.

У меня лиловым! Значит всё нормально?;)

Валенок
19.02.2016, 15:27
Так - лучше.

Представь город Н-ск. Улиц нет. Дороги вдоль и поперек. А все дома имеют сплошную нумерацию. И есть маленькая такая особенность - после сноса какого-нить дома, или постройки нового специальная команда из мэрии перенумеровывает все заново. Пойдешь в почтальоны ?

alex55
19.02.2016, 18:07
Валенок конечно гений(Моцарт), но между нами простыми смертными-вот так от говоря, если нет особенности удобрений (т.е. стремлениям к скорости доступа к переменным и бешеной засоренности проекта всякими бяками) то ваши мысли вслух потрачены не зря.. Результат один и тот же-- Сальери..Будьте проще - и народ к Вам потянется:)

Alex_Z
19.02.2016, 20:01
Так - лучше.

Представь город Н-ск. Улиц нет. Дороги вдоль и поперек. А все дома имеют сплошную нумерацию. И есть маленькая такая особенность - после сноса какого-нить дома, или постройки нового специальная команда из мэрии перенумеровывает все заново. Пойдешь в почтальоны ?

В почтальоны не пойду по любому, даже без перенумирации...:) Мысль в общем понятна. При SLAVE не актуально, ИМХО . При МАSTER да, могут быть некоторые сложности, но нефатально...

smk1635
19.02.2016, 21:05
В почтальоны не пойду по любому, даже без перенумирации...:) Мысль в общем понятна. При SLAVE не актуально, ИМХО . При МАSTER да, могут быть некоторые сложности, но нефатально...


Собственно вопрос: В чем недостатки конфигурации через AT% ? Пользуюсь, на форуме часто вижу сообщения, что это не есть хорошо. Мне кажется , что удобно, где я заблуждаюсь?

Забег по чужим граблям, любимый вид спорта?

Alex_Z
19.02.2016, 22:57
Забег по чужим граблям, любимый вид спорта?

Просто хочу понять, в чем грабли:) Переносил с такой конфигурацией с одного типа ПЛК на другой, показалось удобным.

Sergey666
20.02.2016, 00:44
Собственно вопрос: В чем недостатки конфигурации через AT% ? Пользуюсь, на форуме часто вижу сообщения, что это не есть хорошо. Мне кажется , что удобно, где я заблуждаюсь?

Вы не заблуждаетесь , все нормально с АТ ... Просто когда писали описаловки по работе с конфигуратором - писатель не знал про АТ и прописал именование переменных прям ... напрямую . Это просто ж...а , во всех примерах от немцев и др (не Овен) используется именно АТ и никто тут еще не сказал чем это плохо ...
Именование переменных ч-з конфигуратор - это убогое времяпровождение , для почтальонов , или людей не способных воспроизвести строчку AT%QW...
Тут еще навалом личностей с байтами в Модбас слэйве , для именования битовых переменных , а потом лоб с выравниванием морщат ...

Владимир Ситников
20.02.2016, 01:03
Вы не заблуждаетесь , все нормально с АТ ... Просто когда писали описаловки по работе с конфигуратором - писатель не знал про АТ и прописал именование переменных прям ... напрямую . Это просто ж...а , во всех примерах от немцев и др (не Овен) используется именно АТ и никто тут еще не сказал чем это плохо ...
Именование переменных ч-з конфигуратор - это убогое времяпровождение , для почтальонов , или людей не способных воспроизвести строчку AT%QW...
Тут еще навалом личностей с байтами в Модбас слэйве , для именования битовых переменных , а потом лоб с выравниванием морщат ...
Можете привести ссылку на 'правильный' пример?

_Mikhail
20.02.2016, 07:42
Тоже не вижу никаких проблем с АТ... У нас используется оборудование с контроллерами BECKHOFF и там все сконфигурировано через АТ... Теперь по аналогии делаем тоже самое и на ОВЕН 22757

capzap
20.02.2016, 07:57
Теперь по аналогии делаем тоже самое и на ОВЕН

поделитесь, как? заходите в конфигуратор, находите адрес кaнaлa, переключаетесь в файл настроек, прописываете имя переменной затем AT-команду ссылающуюся на адрес? Это вместо того чтоб сразу в конфигураторе записать имя переменной

_Mikhail
20.02.2016, 08:45
Это вместо того чтоб сразу в конфигураторе записать имя переменной
Разработка начинается без привязки к железу. Каждый программист делает свой кусок программы не задумываясь над тем, какой контроллер будет использоваться и оперирует для своей части программы только переменными, которые себе объявил. А уже тот кто сводит это все в одну программу, выбирает контроллер и привязывает те переменные к конкретному железу. 2276022761

capzap
20.02.2016, 09:04
ага, другими словами, чтоб использовать в полной мере АТ% топикстартеру нужна команда разработчиков на один овеновский плк

Yegor
20.02.2016, 09:57
чтоб использовать в полной мере команду разработчиков на один овеновский ПЛК, топикстартеру нужна %AT, ага

приборист
20.02.2016, 10:22
поделитесь, как? заходите в конфигуратор, находите адрес кaнaлa, переключаетесь в файл настроек, прописываете имя переменной затем AT-команду ссылающуюся на адрес? Это вместо того чтоб сразу в конфигураторе записать имя переменной

Можно еще переписать на листочек, а с листочка записывать :)

Так все же, плюсы есть или нет?
Может тоже нужно переходить.
Или все дело в привычке?

ЗЫ
При смене ПЛК пользуюсь программой Yegor'а , за что ему огромное спасибо.

Валенок
20.02.2016, 11:00
Вы не заблуждаетесь , все нормально с АТ ...

Тоже не вижу никаких проблем с АТ...
Смешная дискуссия. Разве здесь кто-то говорил что абсолютная адресация не работает ?


Именование переменных ч-з конфигуратор - это убогое времяпровождение , для почтальонов ,
Я бы развил дальше. Само регулярное именование чего-либо сверяясь каждый раз с адресами - убого. Не, ну если кто-либо наизусть помнит адреса всех платформ - я преклоняюсь.


Именование переменных ч-з конфигуратор
А разве здесь кто говорил что это - единственная альтернатива 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) "Ваш вариант"

ОК/КО?

жекон
20.02.2016, 11:39
Развернули дискуссию, на 2 страницы вообще ни о чем, ну нравится АТ да пожалуйста, не нравиться ну то же хорошо.Мне например не понравилось.

Yegor
20.02.2016, 11:40
В3) "Ваш вариант"Табличка 3 попадает не на то железо: кровь, кишки, вечная память. Плата за ручную «линковку». В этом отношении конфигураторы безопаснее.

Надо брать лучшее из обоих решений и делать так, чтобы в конфигураторе можно было указывать только частично специфицированные переменные (AT %I*). Это вне рамок данной темы.

Владимир Ситников
20.02.2016, 12:17
Открыл тему конфигуратор мечты (http://www.owen.ru/forum/showthread.php?t=23447).

Честно говоря, непонятно какой смысл в частичной спецификации.
Да и неясно как вообще можно защититься от "заливки на не то железо".

Валенок
20.02.2016, 12:36
Проверьте, плз, ход мыслей:
1) .. 3)
Типа того.

Собсно неудобства абсолютных адресов (АА) проявляются не при сменах платформ - для каждой можно типа однократно заготовить готовые таблички и с АТ%
АА проявляется во все "красе" при свободном определении конфигурации. Например :
Заказчик на ходу попросил перетасовать параметры в пользовательском меню ПЛК63/73. С AT% очень удобно.

Yegor
20.02.2016, 15:00
Честно говоря, непонятно какой смысл в частичной спецификации.extern в Си.
как вообще можно защититься от "заливки на не то железо"«Таблица 3» должна иметь такую привязку с точки зрения средств заливки.

Валенок
20.02.2016, 18:37
Мужики ! Хватит фигней заниматся. Пятница (все равно пятница)
С наступающим !

rovki
20.02.2016, 18:41
Суббота:o....

Валенок
20.02.2016, 18:46
Все равно пятница !! Даже если суббота

rovki
20.02.2016, 19:07
Все равно пятница !! Даже если суббота
Да я сам узнал о том что сегодня суббота ,только в обед ;),думал пятница :rolleyes:А на самом деле воскресенье,только ни кому ни слова ..

capzap
20.02.2016, 19:17
Честно говоря, непонятно какой смысл в частичной спецификации.

кроме физических входов/выходов аналоговых/дискретных еще существуют области память модбас, как бы не менялись контроллеры, набивка модбас останется одной и той же, чтоб не городить новую визуализацию например

Alex_Z
20.02.2016, 22:23
Не ожидал ,что мой вопрос вызовет столько слов,причем некоторые мне не знакомы ;)

Sergey666
21.02.2016, 00:50
Табличка 3 попадает не на то железо: кровь, кишки, вечная память. Плата за ручную «линковку». В этом отношении конфигураторы безопаснее.

Надо брать лучшее из обоих решений и делать так, чтобы в конфигураторе можно было указывать только частично специфицированные переменные (AT %I*). Это вне рамок данной темы.

Какая блин кровь ?
Не так попало - компилятор ругнется - нэмае такого адреса и все .
Валенок! Вы же копипастить умеете , так вот создание списка глобальных переменных с АТ привязкой - продукт чисто копипаста . И еще прикиньте (вообще весь народ!) в модбас слэйве вообще не требуется ничего кроме 2байт и 4 байт , а ваши многомудрые конфиги с извращенческими выпендросами , это да ... морщины лоб сломают . Ах ! простите вы же библиотэками пользуетесь.
Как представлю что мне в конфиге слэйва на 200 переменных надо 200 кликов сделать , а потом при отладке искать где ж это и кто это , а так вот они в одной папке с глобальными переменными , или в 2х,3х...10 папках .

capzap
21.02.2016, 06:41
Как представлю что мне в конфиге слэйва на 200 переменных надо 200 кликов сделать , а потом при отладке искать где ж это и кто это , а так вот они в одной папке с глобальными переменными , или в 2х,3х...10 папках .

а подскажите, если в конфигураторе не набить 200 регистров модбаса, будет ли что в глобальных переменных присваивать внутренним переменным через АТ% ?

zendo057
21.02.2016, 08:48
Плюс с АТ% один, если BOOL то переменная занимает 1bit,через объявление 1byte.

Валенок
21.02.2016, 12:35
Валенок! Вы же копипастить умеете , так вот создание списка глобальных переменных с АТ привязкой - продукт чисто копипаста...
Сергей ! На всякий случай - я это уже сказал (Пост#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:... шютка.

capzap
21.02.2016, 18:07
Кэп , я вот тут вас не понял . Вообще не понял , т.е слова в предложении все понятные , а смысл не понятен ! Для чего это делать: что-либо присваивать из списка глобальных переменных внутренним ч-з АТ ?
Переменные из списка глобальных "видны" и доступны для всего проекта , с помощью АТ адресации мы всего-лишь навсего присваиваем "Символу" адрес из области ввода-вывода ПЛК ,любезно предоставленный нам конфигуратором .
Товарищ Валенок при помощи библиотек напрямую присваивает адрес структуре блока данных и через указатели работает ... СИшник , что с него взять:rolleyes:... шютка.суть проста, нет модбаса, нечего и присваивать через АТ, на овеновских контроллерах сперва всё равно придется набить модбас, а потом уже делать кучу манипуляций, чтоб появившиеся адреса через АТ присвоить переменным, вместо того чтоб создать структуру, озаглавить начальный регистр и через указатель всё это дело "оживить"

Валенок
22.02.2016, 03:14
В смысле о том что с АТ% занимает меньше памяти.
Все таки лучше определится - об конфигурации стационарной или области сетевого обмена ?
1.Для стационарной просто имя Do1 прям там - и памяти столько же.
2.Если речь про упаковку где нибудь в модбасе - то среда позволяет замечательно (сравниваем с всякими сями) обращатся к битам через точку - а там хоть цифирка, хоть константа, хоть через индекс используя функции. Но это, конечно, дело привычки.
3.Еще интересней на нижнем уровне. Процы к битам не адресуются (обычно). И запись TRUE/FALSE в обычный BOOL - это просто запись 1/0 в байт. Тоже самое для бита - это неявное чтение целого байта, операция с OR/AND, а после запись обратно. Так что экономия даже не на спичках. Скорость опять же..
4.Ну и про экономию вообще - а кому память кроме проекта еще нужна ? Пока ПЛК пашет, мы на нем кино смотрим ?

Валенок
22.02.2016, 03:26
Товарищ Валенок при помощи библиотек напрямую присваивает адрес структуре блока данных и через указатели работает ... СИшник , что с него взять:rolleyes:... шютка.
Так это не моя. Это ж инкапсуляция. "Slave.X" - на мой взгляд более наглядный чем глобальный "X_который_в_слейве". К тому же чаще не структуру, а ФБ подставляю. А там внутри - просто "X"

Владимир Ситников
24.02.2016, 01:11
Например облегченно вздыхаю когда есть связка ПЛК-слейв + ПЛК-мастер. Просто сказка - и слейв и мастер работают с одной и той же структурой.
Будьте добры, п-помедленнее! Я з-записываю.

Где можно посмотреть на пример "связки ПЛК-слейв + ПЛК-мастер"?

Валенок
24.02.2016, 10:51
Где можно посмотреть на пример "связки ПЛК-слейв + ПЛК-мастер"?
Я обычно смотрю на моем ноуте ))

Ну про слейв тут уже рассказали, а в мастере - просто переменная : типа_та_структура, работающая как сетевой VAR_IN_OUT