1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

разбираюсь с чужим кодом

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
san_75
здесь недавно
здесь недавно
Сообщения: 47
Зарегистрирован: 24 май 2021, 07:03
Имя: Александр
Благодарил (а): 13 раз
Поблагодарили: 1 раз

разбираюсь с чужим кодом

Сообщение san_75 »

Привет All.
Есть одна платформа для перевозки печных вагонеток под управлением s5 которую со временем надо перевести на s7.
программа благополучно слита конвертирована в проект под step7 и поскольку я еще параллельно изучаю программирование контроллеров то пытаюсь понять как это работает.
есть такой фрагмент . Может кто-нибудь обьяснить зачем такая мешанина и каково предназначение бита M0.0
Безымянный.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.

v0v
не первый раз у нас
не первый раз у нас
Сообщения: 343
Зарегистрирован: 12 дек 2018, 14:47
Имя: Влад
Благодарил (а): 1 раз
Поблагодарили: 44 раза

разбираюсь с чужим кодом

Сообщение v0v »

Это FBD вид не нравиться переведите в LAD или STL. Меркер m0.0 посмотрите куда идет контакт через Go To Location...

SMax
не первый раз у нас
не первый раз у нас
Сообщения: 320
Зарегистрирован: 17 июн 2016, 14:18
Имя: Максим
Благодарил (а): 7 раз
Поблагодарили: 113 раз

разбираюсь с чужим кодом

Сообщение SMax »

Возможно бит M0.0 раньше где-то использовался, потом за ненадобностью его обнулили, блокировкой элемента "И" этим же самым битом, использовав конструкцию "Всегда 0" (на элементах "ИЛИ" и "RS").

Отправлено спустя 2 минуты 54 секунды:
Наверное, на всякий случай, хотели сохранить вид старого фрагмента программы.

Автор темы
san_75
здесь недавно
здесь недавно
Сообщения: 47
Зарегистрирован: 24 май 2021, 07:03
Имя: Александр
Благодарил (а): 13 раз
Поблагодарили: 1 раз

разбираюсь с чужим кодом

Сообщение san_75 »

т.е. чтобы не переписывать код просто обнуляют бит
ну насколько я понял бит M0.0 это всегда 0.
в LAD оно не переводится , а стл я не понимаю особо по крайней мере такие большие конструкции

SMax
не первый раз у нас
не первый раз у нас
Сообщения: 320
Зарегистрирован: 17 июн 2016, 14:18
Имя: Максим
Благодарил (а): 7 раз
Поблагодарили: 113 раз

разбираюсь с чужим кодом

Сообщение SMax »

san_75 писал(а): 16 авг 2021, 08:02 в LAD оно не переводится
Упростите для понимания:
001.jpg
002.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Автор темы
san_75
здесь недавно
здесь недавно
Сообщения: 47
Зарегистрирован: 24 май 2021, 07:03
Имя: Александр
Благодарил (а): 13 раз
Поблагодарили: 1 раз

разбираюсь с чужим кодом

Сообщение san_75 »

A(
L 1
L "mb12 замедление"
==I
)
= "байт mb12 равен 1"
A "байт mb12 равен 1"

A(
A(
L 2
L "mb12 замедление"
==I
)
= "байт mb12 равен 2"
A "байт mb12 равен 2"

)
A(
A(
L 3
L "mb12 замедление"
==I
)
= "байт mb12 равен 3"
A "байт mb12 равен 3"
)

A(
A(
L 4
L "mb12 замедление"
==I
)
= "байт mb12 равен 4"
A "байт mb12 равен 4"

)
A(
A(
L 5
L "mb12 замедление"
==I
)
= "байт mb12 равен 5"
A "байт mb12 равен 5"

)
A(
A(
L 6
L "mb12 замедление"
==I
)
= "байт mb12 равен 6"
A "байт mb12 равен 6"

)
A(
A(
L 7
L "mb12 замедление"
==I
)
= "байт mb12 равен 7"
A "байт mb12 равен 7"

)
A(
A(
L 8
L "mb12 замедление"
==I
)
= "байт mb12 равен 8"
A "байт mb12 равен 8"

)
= M 0.0

а может кто нибудь обьяснить зачем в коде нужны доп сравнения которые я выделил жирным ? тут байт mb12 последовательно сравнивается с 1 , 2 , 3 .. 8.

SMax
не первый раз у нас
не первый раз у нас
Сообщения: 320
Зарегистрирован: 17 июн 2016, 14:18
Имя: Максим
Благодарил (а): 7 раз
Поблагодарили: 113 раз

разбираюсь с чужим кодом

Сообщение SMax »

Что такое "байт mb12 равен 1" ... "байт mb12 равен 8" это биты?
Потому что (= "байт mb12 равен 1") или (A "байт mb12 равен 1") - это битовые операции.

Соответственно, в зависимости от значения MB12, каким-то битам (обозначенным "байт mb12 равен 1...8") присваиваются значения 0 или 1 и параллельно осуществляется проверка: если все эти биты равны 1, то M0.0 = 1.

Отправлено спустя 19 минут 46 секунд:
Вы пробовали переключить View на FBD?

Автор темы
san_75
здесь недавно
здесь недавно
Сообщения: 47
Зарегистрирован: 24 май 2021, 07:03
Имя: Александр
Благодарил (а): 13 раз
Поблагодарили: 1 раз

разбираюсь с чужим кодом

Сообщение san_75 »

не переключается . точнее так и остается в виде текста

SMax
не первый раз у нас
не первый раз у нас
Сообщения: 320
Зарегистрирован: 17 июн 2016, 14:18
Имя: Максим
Благодарил (а): 7 раз
Поблагодарили: 113 раз

разбираюсь с чужим кодом

Сообщение SMax »

Да, при MB12 (8 бит) не даст, т.к. сравнение целочисленное INT, WORD(16 бит).
Вместо "байт mb12 равен 1...8" поставил M112.0 ... M112.7.
001.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Автор темы
san_75
здесь недавно
здесь недавно
Сообщения: 47
Зарегистрирован: 24 май 2021, 07:03
Имя: Александр
Благодарил (а): 13 раз
Поблагодарили: 1 раз

разбираюсь с чужим кодом

Сообщение san_75 »

Безымянный2.png
а я правильно понимаю что биты 15.0 - 15.6 всегда равны 0 и в принципе все проверки с их участием можно спокойно выкинуть ?
в таблице Cross - Reference ссылок типа MB15 тоже нет ?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

SMax
не первый раз у нас
не первый раз у нас
Сообщения: 320
Зарегистрирован: 17 июн 2016, 14:18
Имя: Максим
Благодарил (а): 7 раз
Поблагодарили: 113 раз

разбираюсь с чужим кодом

Сообщение SMax »

Что за биты 15.0 - 15.6, приведите код с FC14, нетворки 3 и 4, экстрасенсов тут нет.

Автор темы
san_75
здесь недавно
здесь недавно
Сообщения: 47
Зарегистрирован: 24 май 2021, 07:03
Имя: Александр
Благодарил (а): 13 раз
Поблагодарили: 1 раз

разбираюсь с чужим кодом

Сообщение san_75 »

[+]
A(
A(
O M 14.1
O M 14.3
O M 14.5
O M 14.7
O M 15.1
O M 15.3
O M 15.5
)
A "m10.7 ïëàòô àâòîìàò"
O
A "m16.0 4 6 7 ïóòü âûáðàíû"
AN "m10.7 ïëàòô àâòîìàò"
)
= M 11.0
A M 11.0
A(
A(
A(
O M 14.2
O M 14.3
O M 14.6
O M 14.7
O M 15.2
O M 15.3
O M 15.6
)
A "m10.7 ïëàòô àâòîìàò"
O
A "m16.1 5 6 8 ïóòè âûáðàíû"
AN "m10.7 ïëàòô àâòîìàò"
)
= M 11.1
A M 11.1
)
= M 0.0
[+]
A(
A(
O M 14.4
O M 14.5
O M 14.6
O M 14.7
O M 15.4
O M 15.5
O M 15.6
)
A "m10.7 ïëàòô àâòîìàò"
O
A "m16.2 7à 7 8 ïóòü âûáðàí"
AN "m10.7 ïëàòô àâòîìàò"
)
= M 11.2
A M 11.2
A(
A(
A(
O M 15.0
O M 15.1
O M 15.2
O M 15.3
O M 15.4
O M 15.5
O M 15.6
)
A "m10.7 ïëàòô àâòîìàò"
O
A M 16.3
AN "m10.7 ïëàòô àâòîìàò"
)
= M 11.3
A M 11.3
)
= M 0.0
вот два неворка в котрых происходит опрос состояния битов.
Присвоения этим битам нигде нет.

ZuElecRu
освоился
освоился
Сообщения: 290
Зарегистрирован: 09 авг 2016, 13:49
Имя: Чистилин Андрей Анатольевич
Страна: Россия
город/регион: Малоярославец
Благодарил (а): 31 раз
Поблагодарили: 35 раз

разбираюсь с чужим кодом

Сообщение ZuElecRu »

Биты могут менятся из панели оператора.

SMax
не первый раз у нас
не первый раз у нас
Сообщения: 320
Зарегистрирован: 17 июн 2016, 14:18
Имя: Максим
Благодарил (а): 7 раз
Поблагодарили: 113 раз

разбираюсь с чужим кодом

Сообщение SMax »

А косвенной адресацией им нигде, ничего не присваивается?
Косвенная адресация в Cross - Reference не отобразится.

Автор темы
san_75
здесь недавно
здесь недавно
Сообщения: 47
Зарегистрирован: 24 май 2021, 07:03
Имя: Александр
Благодарил (а): 13 раз
Поблагодарили: 1 раз

разбираюсь с чужим кодом

Сообщение san_75 »

панели тут нет. есть текстовое табло такое - DAA 144-120B . Управляется с помощью кучи проводов .
Безымянный2.bmp
про косвенную адресацию я еще увы не прочитал .
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Автор темы
san_75
здесь недавно
здесь недавно
Сообщения: 47
Зарегистрирован: 24 май 2021, 07:03
Имя: Александр
Благодарил (а): 13 раз
Поблагодарили: 1 раз

разбираюсь с чужим кодом

Сообщение san_75 »

[+]
A M 49.0
L S5T#50MS
SD T 34
NOP 0
NOP 0
NOP 0
A T 34
L S5T#50MS
SP T 35
NOP 0
NOP 0
NOP 0
NOP 0
а как работает этот фрагмент ? Я понимаю как работает один таймер. А как такая связка не очень.

v0v
не первый раз у нас
не первый раз у нас
Сообщения: 343
Зарегистрирован: 12 дек 2018, 14:47
Имя: Влад
Благодарил (а): 1 раз
Поблагодарили: 44 раза

разбираюсь с чужим кодом

Сообщение v0v »

При M49.0 =1 взводится T34 и через 50ms взводится T35 контакт его сразу включается и через 50ms выключается. Почему бы это все не просимулировать? Или нажать знак вопроса в Simatic Manager и на соответствующий таймер.

Автор темы
san_75
здесь недавно
здесь недавно
Сообщения: 47
Зарегистрирован: 24 май 2021, 07:03
Имя: Александр
Благодарил (а): 13 раз
Поблагодарили: 1 раз

разбираюсь с чужим кодом

Сообщение san_75 »

Безымянный2.png
не могу победить симулятор - не отображает состояние
У вас нет необходимых прав для просмотра вложений в этом сообщении.

v0v
не первый раз у нас
не первый раз у нас
Сообщения: 343
Зарегистрирован: 12 дек 2018, 14:47
Имя: Влад
Благодарил (а): 1 раз
Поблагодарили: 44 раза

разбираюсь с чужим кодом

Сообщение v0v »

Скорее всего не сделан вызов функции FC13 в OB1 или в другом месте.
Ответить

Вернуться в «Simatic Step7»