Перейти к публикации

Программирование Макро


Viktor2004

Рекомендованные сообщения

Здравствуйте. В этой теме я буду задавать некоторые глупые вопросы по макропрограммированию, так как сталкиваюсь с ним редко. Буду благодарен за ответы

 

В макропеременной #3011 хранится текущая дата. Как написать программу что бы разделяла эту дату на 3 части и записать каждую в отдельную переменную, например

#500 - год

#501 - месяц

#502 - день

???

IMG_20210207_200031_4.jpg

Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...


UnPinned posts
19 минут назад, A_1 сказал:

В руководстве по эксплуатации FANUC не нашёл слово ENDIF

А оно есть

 

Снимок экрана от 2021-03-03 10-02-06.png

B-66264EN_Operator Manual.pdf

Ссылка на сообщение
Поделиться на других сайтах

Скажите только одно. То что оптимизатор поменял вместо

     IF [#1 LT 21] GOTO 500		;
     IF [#2 GT 25] GOTO 500		

поставил вот это

 IF[ #1 GE 21 && #2 LE 25 ]THEN

это нормально? Логика не поменялась?

Ссылка на сообщение
Поделиться на других сайтах
42 минуты назад, Viktor2004 сказал:

Скажите только одно. То что оптимизатор поменял вместо


     IF [#1 LT 21] GOTO 500		;
     IF [#2 GT 25] GOTO 500		

поставил вот это


 IF[ #1 GE 21 && #2 LE 25 ]THEN

это нормально? Логика не поменялась?

На первый взгляд вроде как поменялась. Не работал с макро, но предположу, что LT это LOWER THAN (меньше чем), GT - GREATER THAN (больше чем), т.е. эти два условия не предполагают равенство, значит переменная #1 должна быть строго меньше, например, 2, 5, 7, 20, чтобы выполнился переход на метку 500. Если #1 будет равна 21, то перехода не будет. А вот GE - GREATER or EQUAL (больше или равно) и LE - LOWER OR EQUAL (меньше или равно) уже подразумевают, что переход будет выполнен и при равенстве.

В вашем примере #1 LT 21, а в преобразованном почему-то уже #1 GE 21 и вообще не понятно, ещё и по логике "И" соединили, т.е. если первое сравнение, например, пройдёт, а второе нет, то перехода не будет. Хотя может я и ошибаюсь.

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, boomeeeer сказал:

Хотя может я и ошибаюсь.

Оптимизатор перевернул две ветви логики поменяв их местами, но по идее результат должен остаться тем же. Я с этими функциями не работаю, так что мне сложно отследить все это

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...