- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
разбираюсь с чужим кодом
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 47
- Зарегистрирован: 24 май 2021, 07:03
- Имя: Александр
- Благодарил (а): 13 раз
- Поблагодарили: 1 раз
разбираюсь с чужим кодом
Привет All.
Есть одна платформа для перевозки печных вагонеток под управлением s5 которую со временем надо перевести на s7.
программа благополучно слита конвертирована в проект под step7 и поскольку я еще параллельно изучаю программирование контроллеров то пытаюсь понять как это работает.
есть такой фрагмент . Может кто-нибудь обьяснить зачем такая мешанина и каково предназначение бита M0.0
Есть одна платформа для перевозки печных вагонеток под управлением s5 которую со временем надо перевести на s7.
программа благополучно слита конвертирована в проект под step7 и поскольку я еще параллельно изучаю программирование контроллеров то пытаюсь понять как это работает.
есть такой фрагмент . Может кто-нибудь обьяснить зачем такая мешанина и каково предназначение бита M0.0
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- не первый раз у нас
- Сообщения: 372
- Зарегистрирован: 12 дек 2018, 14:47
- Имя: Влад
- Благодарил (а): 1 раз
- Поблагодарили: 50 раз
разбираюсь с чужим кодом
Это FBD вид не нравиться переведите в LAD или STL. Меркер m0.0 посмотрите куда идет контакт через Go To Location...
-
- не первый раз у нас
- Сообщения: 325
- Зарегистрирован: 17 июн 2016, 14:18
- Имя: Максим
- Благодарил (а): 7 раз
- Поблагодарили: 118 раз
разбираюсь с чужим кодом
Возможно бит M0.0 раньше где-то использовался, потом за ненадобностью его обнулили, блокировкой элемента "И" этим же самым битом, использовав конструкцию "Всегда 0" (на элементах "ИЛИ" и "RS").
Отправлено спустя 2 минуты 54 секунды:
Наверное, на всякий случай, хотели сохранить вид старого фрагмента программы.
Отправлено спустя 2 минуты 54 секунды:
Наверное, на всякий случай, хотели сохранить вид старого фрагмента программы.
-
- здесь недавно
- Сообщения: 47
- Зарегистрирован: 24 май 2021, 07:03
- Имя: Александр
- Благодарил (а): 13 раз
- Поблагодарили: 1 раз
разбираюсь с чужим кодом
т.е. чтобы не переписывать код просто обнуляют бит
ну насколько я понял бит M0.0 это всегда 0.
в LAD оно не переводится , а стл я не понимаю особо по крайней мере такие большие конструкции
ну насколько я понял бит M0.0 это всегда 0.
в LAD оно не переводится , а стл я не понимаю особо по крайней мере такие большие конструкции
-
- не первый раз у нас
- Сообщения: 325
- Зарегистрирован: 17 июн 2016, 14:18
- Имя: Максим
- Благодарил (а): 7 раз
- Поблагодарили: 118 раз
-
- здесь недавно
- Сообщения: 47
- Зарегистрирован: 24 май 2021, 07:03
- Имя: Александр
- Благодарил (а): 13 раз
- Поблагодарили: 1 раз
разбираюсь с чужим кодом
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.
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.
-
- не первый раз у нас
- Сообщения: 325
- Зарегистрирован: 17 июн 2016, 14:18
- Имя: Максим
- Благодарил (а): 7 раз
- Поблагодарили: 118 раз
разбираюсь с чужим кодом
Что такое "байт mb12 равен 1" ... "байт mb12 равен 8" это биты?
Потому что (= "байт mb12 равен 1") или (A "байт mb12 равен 1") - это битовые операции.
Соответственно, в зависимости от значения MB12, каким-то битам (обозначенным "байт mb12 равен 1...8") присваиваются значения 0 или 1 и параллельно осуществляется проверка: если все эти биты равны 1, то M0.0 = 1.
Отправлено спустя 19 минут 46 секунд:
Вы пробовали переключить View на FBD?
Потому что (= "байт mb12 равен 1") или (A "байт mb12 равен 1") - это битовые операции.
Соответственно, в зависимости от значения MB12, каким-то битам (обозначенным "байт mb12 равен 1...8") присваиваются значения 0 или 1 и параллельно осуществляется проверка: если все эти биты равны 1, то M0.0 = 1.
Отправлено спустя 19 минут 46 секунд:
Вы пробовали переключить View на FBD?
-
- не первый раз у нас
- Сообщения: 325
- Зарегистрирован: 17 июн 2016, 14:18
- Имя: Максим
- Благодарил (а): 7 раз
- Поблагодарили: 118 раз
разбираюсь с чужим кодом
Да, при MB12 (8 бит) не даст, т.к. сравнение целочисленное INT, WORD(16 бит).
Вместо "байт mb12 равен 1...8" поставил M112.0 ... M112.7.
Вместо "байт mb12 равен 1...8" поставил M112.0 ... M112.7.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 47
- Зарегистрирован: 24 май 2021, 07:03
- Имя: Александр
- Благодарил (а): 13 раз
- Поблагодарили: 1 раз
разбираюсь с чужим кодом
в таблице Cross - Reference ссылок типа MB15 тоже нет ?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- не первый раз у нас
- Сообщения: 325
- Зарегистрирован: 17 июн 2016, 14:18
- Имя: Максим
- Благодарил (а): 7 раз
- Поблагодарили: 118 раз
разбираюсь с чужим кодом
Что за биты 15.0 - 15.6, приведите код с FC14, нетворки 3 и 4, экстрасенсов тут нет.
-
- не первый раз у нас
- Сообщения: 325
- Зарегистрирован: 17 июн 2016, 14:18
- Имя: Максим
- Благодарил (а): 7 раз
- Поблагодарили: 118 раз
разбираюсь с чужим кодом
А косвенной адресацией им нигде, ничего не присваивается?
Косвенная адресация в Cross - Reference не отобразится.
Косвенная адресация в Cross - Reference не отобразится.
-
- здесь недавно
- Сообщения: 47
- Зарегистрирован: 24 май 2021, 07:03
- Имя: Александр
- Благодарил (а): 13 раз
- Поблагодарили: 1 раз
разбираюсь с чужим кодом
панели тут нет. есть текстовое табло такое - DAA 144-120B . Управляется с помощью кучи проводов .
про косвенную адресацию я еще увы не прочитал .У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- здесь недавно
- Сообщения: 47
- Зарегистрирован: 24 май 2021, 07:03
- Имя: Александр
- Благодарил (а): 13 раз
- Поблагодарили: 1 раз
разбираюсь с чужим кодом
а как работает этот фрагмент ? Я понимаю как работает один таймер. А как такая связка не очень.
-
- не первый раз у нас
- Сообщения: 372
- Зарегистрирован: 12 дек 2018, 14:47
- Имя: Влад
- Благодарил (а): 1 раз
- Поблагодарили: 50 раз
разбираюсь с чужим кодом
При M49.0 =1 взводится T34 и через 50ms взводится T35 контакт его сразу включается и через 50ms выключается. Почему бы это все не просимулировать? Или нажать знак вопроса в Simatic Manager и на соответствующий таймер.
-
- здесь недавно
- Сообщения: 47
- Зарегистрирован: 24 май 2021, 07:03
- Имя: Александр
- Благодарил (а): 13 раз
- Поблагодарили: 1 раз
разбираюсь с чужим кодом
не могу победить симулятор - не отображает состояние
У вас нет необходимых прав для просмотра вложений в этом сообщении.