Страница 1 из 1
step 7 5.5 вопрос по stl
Добавлено: 04 июл 2013, 10:15
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)? В кроссреференсе ничего не нашел.
Спасибо заранее.
Re: step 7 5.5 вопрос по stl
Добавлено: 04 июл 2013, 11:22
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 если хотите увидеть код в стл)
Re: step 7 5.5 вопрос по stl
Добавлено: 04 июл 2013, 12:24
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
Может я ошибаюсь?
Re: step 7 5.5 вопрос по stl
Добавлено: 04 июл 2013, 12:30
ward
у STL больше возможностей чем в LAD, и часть операций просто невозможно сделать в ладе, поэтому некоторые ветки не конверитируются.
Может я ошибаюсь?
нет, оттуда и берутся, но ты же сказал что в кроссреференс их нет=)
Re: step 7 5.5 вопрос по stl
Добавлено: 04 июл 2013, 12:39
xapymam6ypoji
Самое интересное, что их там действительно нет. Вручную нашел. STL конечно хорошо, но когда сам электрик, а не программист - мозг кипит.
А есть ли в step7 какая то таблица по таймерам, с их значениями?
Re: step 7 5.5 вопрос по stl
Добавлено: 04 июл 2013, 13:06
xapymam6ypoji
И последний вопрос:
Захожу в monitor/modify variables в таблице значений ввожу адрес выхода ПЛК (Q 20.6 например, ну или любое другое) но не могу вручную изменить значение. Установка activate modify values ничего не дает. Что я делаю не так?
Re: step 7 5.5 вопрос по stl
Добавлено: 04 июл 2013, 13:34
CHANt
Программа в контроллере выдает свое значение, твои действия ей противоречат.)
Если нужно менять из monitor/modify variables, то, тогда зайди в контроллер онлайн, и удали всю программу из контроллера (выдели все и нажми Del), после чего можно будет работать через monitor/modify variables...
Re: step 7 5.5 вопрос по stl
Добавлено: 04 июл 2013, 15:22
ward
точно не помню, но вроде надо зайти в VAT и вверху Variable---->Enable periphiral Ouputs - нажать, и , кажется надо перевести его в стоп до этого))
Re: step 7 5.5 вопрос по stl
Добавлено: 12 июл 2013, 15:09
xapymam6ypoji
Продолжаю копать немецкую программу на STL, потребовалась помощь знающих людей.
наткнулся на вот это:
имена меркерам даны "dummy_immer_0" и "dummy_immer_1"
Я уверен, что немецкие инженеры очень умные и неспроста это сделали. А теперь объясните пожалуйста что это и зачем? Вообще не могу разглядеть смысла...
Спасибо заранее.
Re: step 7 5.5 вопрос по stl
Добавлено: 12 июл 2013, 19:20
Ryzhij
Видимо, кое-где на этапе отладки программы полезно иметь бит (меркер), значение которого всегда гарантированно равно логическому нулю, это у нас M 0.0 с красноречивым названием "затычка_просто_0".
Другой меркер M 0.1 - "затычка_просто_1" - всегда равен логической единице. Тоже нужная в хозяйстве штука.
С уважением,
Ваш КО
Re: step 7 5.5 вопрос по stl
Добавлено: 13 июл 2013, 10:03
ward
весьма полезная вещь для всяких системных блоков, запуска таймеров, да и вообще для отладки
Re: step 7 5.5 вопрос по stl
Добавлено: 15 июл 2013, 09:58
xapymam6ypoji
Спасибо.
Как то я не догадался. Хотя программируя zelio logic (ПЛК начального уровня) сам пользовался этим при отладке, замыкая еще не подключенные концевики. Там есть специальный блок с постоянными 1 или 0. Потом правда проблема в большой (по меркам зелио) программе найти все "затычки".
Re: step 7 5.5 вопрос по stl
Добавлено: 15 июл 2013, 10:06
ward
в зелио есть хороший симулятор, так что там это не нужно)
Re: step 7 5.5 вопрос по stl
Добавлено: 15 июл 2013, 10:52
xapymam6ypoji
Симулятор хороший, жалко у сименса нет такого. Но симулятор виртуальный и многое из того что будет в реальности не учесть. Так что отладку я производил на подключенном к линии контроллере, благо ни к чему страшному это бы не привело. А зачем бегать туда сюда ставить перемычки? Легче блок с единичкой поставить). Кстати, есть режим управления, но там , по-моему, не читаются состояния физических входов.
Re: step 7 5.5 вопрос по stl
Добавлено: 15 июл 2013, 15:18
ward
не знаю, у зелио он все на свете учитывает по-моему) Ни одного косяка у зелио не нашел, за что эти штучки мне очень нравятся