step 7 5.5 вопрос по stl

Инженерное программное обеспечение
Ответить
xapymam6ypoji
Дилетант
Сообщения: 10
Зарегистрирован: 04 апр 2013, 11:36

step 7 5.5 вопрос по stl

Сообщение xapymam6ypoji »

Здравствуйте. Пытаюсь разобраться с языком stl. Есть программа написанная на данном языке.

Код: Выделить всё

A(   
      A     M    267.5
      A     M    267.6
      A     M    306.3
      O     
      A     M    267.4
      A     M    267.5
      AN    M    306.3
      O     M    310.4
      )     
      AN    M    310.5
      =     M    310.4
      AN    M    267.5
      A     M    267.6
      A     M    306.3
      O(   
      AN    M    267.4
      A     M    267.5
      AN    M    306.3
      )     
      =     M    310.5
      AN    M    310.4
      AN    I      6.3
      AN    DB100.DBX   36.5
      O     DB100.DBX   36.4
      O     T     59
      =     Q     20.7
Вопрос по операции присвоения значения меркеру (например = M 310.5)- После присвоения учитывается ли он в дальнейшей операции and и or?

Код: Выделить всё

      AN    M    310.4
      AN    I      6.3
      AN    DB100.DBX   36.5
      O     DB100.DBX   36.4
      O     T     59
Тоесть в fbd это будет выглядеть как три отдельных нетворка оканчивающихся "=M 310.4", "= M 310.5" и "= Q 20.7"?
1.JPG
2.JPG
3.JPG
И еще, как узнать откуда берется значение меркеров (M269.0, M269.1, M268.7 и тд) которые не определены в данном блоке (FC)? В кроссреференсе ничего не нашел.
Спасибо заранее.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: step 7 5.5 вопрос по stl

Сообщение ward »

Вопрос по операции присвоения значения меркеру (например = M 310.5)- После присвоения учитывается ли он в дальнейшей операции and и or?
нет
Тоесть в fbd это будет выглядеть как три отдельных нетворка оканчивающихся "=M 310.4", "= M 310.5" и "= Q 20.7"?
Да
И еще, как узнать откуда берется значение меркеров (M269.0, M269.1, M268.7 и тд) которые не определены в данном блоке (FC)? В кроссреференсе ничего не нашел.
если в кроссреференсе нет, то они у вас видимо используются в панели оператора

В LAD/STL/FBD редакторе сверху нажимаем View--->LAD (или STL если хотите увидеть код в стл)

xapymam6ypoji
Дилетант
Сообщения: 10
Зарегистрирован: 04 апр 2013, 11:36

Re: step 7 5.5 вопрос по stl

Сообщение xapymam6ypoji »

Спасибо за ответ.
Почему то у меня не все нетворки конвертируются из Stl в ld и fbd. Как я понимаю, из-за того, что для возможности перевода из STL в нетворке должно быть не более одной логической ветки.
Про меркеры, похоже разобрался - они берут значения из байта меркеров (МВ) с аналогичным номером. А туда, в свою очередь, значения загружаются из датаблоков. Судя по этому:

Код: Выделить всё

      L     DB143.DBB    3
      T     MB   266
      L     DB143.DBB    2
      T     MB   267
      L     DB143.DBB    1
      T     MB   268
      L     DB143.DBB    0
      T     MB   269
      L     DB143.DBB    7
      T     MB   270
      L     DB143.DBB    6
      T     MB   271
      L     DB143.DBB    5
      T     MB   272
      L     DB143.DBB    4
      T     MB   273
      L     DB143.DBB   11
      T     MB   274
      L     DB143.DBB   10
      T     MB   275
      L     DB143.DBB    9
      T     MB   276
      L     DB143.DBB    8
      T     MB   277
      L     DB143.DBB   15
      T     MB   278
      L     DB143.DBB   14
      T     MB   279
      L     DB143.DBB   13
      T     MB   280
      L     DB143.DBB   12
      T     MB   281
      L     DB143.DBB   19
      T     MB   282
      L     DB143.DBB   18
      T     MB   283
      L     DB143.DBB   17
      T     MB   284
      L     DB143.DBB   16
      T     MB   285
Может я ошибаюсь?

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: step 7 5.5 вопрос по stl

Сообщение ward »

у STL больше возможностей чем в LAD, и часть операций просто невозможно сделать в ладе, поэтому некоторые ветки не конверитируются.
Может я ошибаюсь?
нет, оттуда и берутся, но ты же сказал что в кроссреференс их нет=)

xapymam6ypoji
Дилетант
Сообщения: 10
Зарегистрирован: 04 апр 2013, 11:36

Re: step 7 5.5 вопрос по stl

Сообщение xapymam6ypoji »

Самое интересное, что их там действительно нет. Вручную нашел. STL конечно хорошо, но когда сам электрик, а не программист - мозг кипит.
А есть ли в step7 какая то таблица по таймерам, с их значениями?

xapymam6ypoji
Дилетант
Сообщения: 10
Зарегистрирован: 04 апр 2013, 11:36

Re: step 7 5.5 вопрос по stl

Сообщение xapymam6ypoji »

И последний вопрос:
Захожу в monitor/modify variables в таблице значений ввожу адрес выхода ПЛК (Q 20.6 например, ну или любое другое) но не могу вручную изменить значение. Установка activate modify values ничего не дает. Что я делаю не так?

Аватара пользователя
CHANt
Профессионал
Сообщения: 565
Зарегистрирован: 13 окт 2012, 15:24

Re: step 7 5.5 вопрос по stl

Сообщение CHANt »

Программа в контроллере выдает свое значение, твои действия ей противоречат.)
Если нужно менять из monitor/modify variables, то, тогда зайди в контроллер онлайн, и удали всю программу из контроллера (выдели все и нажми Del), после чего можно будет работать через monitor/modify variables...

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: step 7 5.5 вопрос по stl

Сообщение ward »

точно не помню, но вроде надо зайти в VAT и вверху Variable---->Enable periphiral Ouputs - нажать, и , кажется надо перевести его в стоп до этого))

xapymam6ypoji
Дилетант
Сообщения: 10
Зарегистрирован: 04 апр 2013, 11:36

Re: step 7 5.5 вопрос по stl

Сообщение xapymam6ypoji »

Продолжаю копать немецкую программу на STL, потребовалась помощь знающих людей.
наткнулся на вот это:

Код: Выделить всё

      A     M      0.0
      AN    M      0.0
      =     M      0.0

      AN    M      0.0
      =     M      0.1
имена меркерам даны "dummy_immer_0" и "dummy_immer_1"
Я уверен, что немецкие инженеры очень умные и неспроста это сделали. А теперь объясните пожалуйста что это и зачем? Вообще не могу разглядеть смысла...
Спасибо заранее.

Ryzhij
Любитель
Сообщения: 80
Зарегистрирован: 10 янв 2013, 11:35

Re: step 7 5.5 вопрос по stl

Сообщение Ryzhij »

Видимо, кое-где на этапе отладки программы полезно иметь бит (меркер), значение которого всегда гарантированно равно логическому нулю, это у нас M 0.0 с красноречивым названием "затычка_просто_0".
Другой меркер M 0.1 - "затычка_просто_1" - всегда равен логической единице. Тоже нужная в хозяйстве штука.

С уважением,
Ваш КО

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: step 7 5.5 вопрос по stl

Сообщение ward »

весьма полезная вещь для всяких системных блоков, запуска таймеров, да и вообще для отладки

xapymam6ypoji
Дилетант
Сообщения: 10
Зарегистрирован: 04 апр 2013, 11:36

Re: step 7 5.5 вопрос по stl

Сообщение xapymam6ypoji »

Спасибо.
Как то я не догадался. Хотя программируя zelio logic (ПЛК начального уровня) сам пользовался этим при отладке, замыкая еще не подключенные концевики. Там есть специальный блок с постоянными 1 или 0. Потом правда проблема в большой (по меркам зелио) программе найти все "затычки".

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: step 7 5.5 вопрос по stl

Сообщение ward »

в зелио есть хороший симулятор, так что там это не нужно)

xapymam6ypoji
Дилетант
Сообщения: 10
Зарегистрирован: 04 апр 2013, 11:36

Re: step 7 5.5 вопрос по stl

Сообщение xapymam6ypoji »

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

ward
Специалист
Сообщения: 415
Зарегистрирован: 12 ноя 2012, 08:44

Re: step 7 5.5 вопрос по stl

Сообщение ward »

не знаю, у зелио он все на свете учитывает по-моему) Ни одного косяка у зелио не нашел, за что эти штучки мне очень нравятся

Ответить