Как передать значение из меркерного слова в перефирийное вхо

Инженерное программное обеспечение

Re: Как передать значение из меркерного слова в перефирийное

Сообщение SMax » 04 июн 2019, 14:30

Из FB110 вызывается FC129, эта функция опрашивает периферийный вход PIW304 (PIW [AR1,P#4.0], где AR1 = 300 + смещение на 4 байта). Далее функция умножает его на 1000 и делит на 40 (значение PIW304 максимально может быть равно 65, иначе будет переполнение IO3 = MW300). Результат функции FC129 сохраняется в переменной STAT21 в FB110 - (DB110.DBW50).
Опрос PIW300 и PIW302 не нашел.
SMax
Дилетант
 
Сообщения: 12
Зарегистрирован: 14 окт 2018, 09:28

Re: Как передать значение из меркерного слова в перефирийное

Сообщение mr_Frodo » 05 июн 2019, 06:49

Ну так пив304 это адрес этого энкодера. Возможно в нем передается скорость вращения.
Вот моя подпись...
Аватара пользователя
mr_Frodo
Профессионал
 
Сообщения: 530
Зарегистрирован: 22 июл 2016, 20:38

Re: Как передать значение из меркерного слова в перефирийное

Сообщение phantom » 25 июн 2019, 20:28

Продолжая тему по энкодерам, прошу помочь с функцией.
70 энкордер в FB110 в NT8 вызывает функцию 129, в этой функции в аккумулятор загружается то, что поступает от энкодера, далее идет смещение на 3 слова влево, далее загружается в адресный регистр 1 и тут значение из адресного регистра + 4 байта должно передаваться в аккумулятор 1, а не передается т.к RLO = 0.
После того как RLO будет положительным данные из аккумулятора 1 передадутся IO3 и после этого сработает Network2.

Теперь вопрос как он должен активироваться? При вызове функции 129, ей должно предается RLO от FB110? Или после оператора LAR1 прописать чтение какого-нибудь меркера положительного?

Изображение

Прописал положительный меркер, не помогло. При каком условии из адресного регистра должно передаться в аккумулятор?
Изображение

Не совсем пойму в строке: L PIW [AR1,P#4.0] - загружается в ACCU1 входное периферийное слово из адресного регистра 1 со смещением. Это входное периферийное слово берется от PIW300 (в моем случае IW80 я его подменил для отладки)?
Изображение
phantom
Любитель
 
Сообщения: 62
Зарегистрирован: 02 дек 2017, 18:56

Re: Как передать значение из меркерного слова в перефирийное

Сообщение mr_Frodo » 25 июн 2019, 21:58

phantom писал(а):должно передаваться в аккумулятор 1, а не передается т.к RLO = 0.
Изображение

а почему Вы решили, что для передачи необходимо условие? :smoke:
Вот моя подпись...
Аватара пользователя
mr_Frodo
Профессионал
 
Сообщения: 530
Зарегистрирован: 22 июл 2016, 20:38

Re: Как передать значение из меркерного слова в перефирийное

Сообщение mr_Frodo » 25 июн 2019, 22:01

загрузка и выгрузка аккумулятора - Load & Transfer - безусловные команды. Вот если бы для их обхода использовать условие и jamp, то тогда, можно , а так .... 8)
И просто, чтоб Вам было проще и понятней, выкиньте эту конструкцию и сделайте проще
NW1
L PIW304 (или какой там нужен?!?)
T #IO3

NW2 ......
Вот моя подпись...
Аватара пользователя
mr_Frodo
Профессионал
 
Сообщения: 530
Зарегистрирован: 22 июл 2016, 20:38

Re: Как передать значение из меркерного слова в перефирийное

Сообщение phantom » 26 июн 2019, 16:26

а как же смещение? оно для чего то нужно?! :)
phantom
Любитель
 
Сообщения: 62
Зарегистрирован: 02 дек 2017, 18:56

Re: Как передать значение из меркерного слова в перефирийное

Сообщение mr_Frodo » 26 июн 2019, 16:58

В данном случае с помощью его формируется число, необходимое для использования в адресном регистре и дальнейшего в качестве указателя на адрес. ВСЁ. Было бы это как-то рационально, если бы входящие данные для этого были сформированы динамически.... Но увы и ах на входе функции мы видим всё то-же статичный элемент - обычное число. И нахрена спрашивается весь огород?
Вот моя подпись...
Аватара пользователя
mr_Frodo
Профессионал
 
Сообщения: 530
Зарегистрирован: 22 июл 2016, 20:38

Re: Как передать значение из меркерного слова в перефирийное

Сообщение mr_Frodo » 26 июн 2019, 17:00

Чтобы спрятать от новичка адрес?!? - дурость такого же новичка.
Вот моя подпись...
Аватара пользователя
mr_Frodo
Профессионал
 
Сообщения: 530
Зарегистрирован: 22 июл 2016, 20:38

Пред.

Вернуться в Simatic TIA Portal / Step7

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0