Подскажите как вывести на экран СП307 значение регистра если оно удовлетворяет условию A<PSW[aaa]<B, если <A то строку текста например "<AAA", если >B то ">BBB"
Вид для печати
Подскажите как вывести на экран СП307 значение регистра если оно удовлетворяет условию A<PSW[aaa]<B, если <A то строку текста например "<AAA", если >B то ">BBB"
Как вывести на экран значение таймера в формате hh:mm:ss
Здесь пример с выводом таймера в формате hh:mm:ss ( hh:mm и mm:ss ). Можно скопировать себе в проект.
А так же ГМ (графические макросы) сравнения <, >, <=, >= . ГМ не видны и работают в эмуляции.
Все ГМ и много другого можно скачать у Petera в подписи https://owen.ru/forum/showthread.php...l=1#post474247
Пусть операнд PSW[aaa] будет в PSW256, а пределы A и B как константы будут в энергонезависимых регистрах PFW1000 и PFW1001
Вложение 86776
Используем два ГМ A>B, с результатом сравнения в PSB300
Вложение 86777
и A<B c результатом сравнения в PSB301
Вложение 86778
Теперь делаем "бутерброд", последовательно размещаем друг над другом - дисплей с PSW256, статический текст "> BBB" с битом видимости PSB300, статический текст "< AAA" с битом видимости PSB301
ВСЁ
Результат:
Дайте ссылочку , где почитать про ГМ
Petera, благодарю за ответ. С бутербродом удалось додуматься самому, а вот ГМ разобраться не могу. У вас вроде посты по этому поводу есть, дайте ссылочку п-та.
Состав библиотеки на 06.06.2024
Код:|---Закрыть эмулятор.xjt
|---Оптимизация связи.xjt
|---_СЛУЖЕБНЫЕ
| |---GM.xjt
| |---_Оболочка макроса 24х24.xjt
| |---_Оболочка макроса 32х24.xjt
| `---_Оболочка макроса.xjt
|---ВИЗУАЛЬНЫЕ ГМ
| |---TOD of-on Ex.xjt
| |---TOD of-on.xjt
| |---Шкала TOD.xjt
| |---ДАТА ВРЕМЯ
| | |---Дата.xjt
| | |---Дата_сим.xjt
| | |---Часы.xjt
| | `---UNIX TIME
| | |---h_m_s.xjt
| | |---M-D h_m.xjt
| | |---M-D h_m_s.xjt
| | |---Y-M-D h_m_s.xjt
| | |---Год.xjt
| | |---ДеньГода.xjt
| | |---ДеньМесяца.xjt
| | |---ДеньНедели.xjt
| | |---ДН.xjt
| | `---Месяц.xjt
| |---ИЗМЕНЕННЫЕ
| | |---КНОПКИ
| | | `---СКРЫТЬ
| | | `---Ввод.xjt
| | `---ЛИНЕЙКИ
| | |---A
| | | |---1.xjt
| | | |---2.xjt
| | | |---3.xjt
| | | |---4.xjt
| | | |---5.xjt
| | | |---6.xjt
| | | |---7.xjt
| | | `---8.xjt
| | `---B
| | |---10.xjt
| | |---11.xjt
| | |---12.xjt
| | `---9.xjt
| |---КЛАВИАТУРЫ
| | |---N_Клава.xjt
| | `---N_КлаваМ.xjt
| |---ЛАМПЫ
| | |---ДинЛампа_H.xjt
| | |---ДинЛампа_V.xjt
| | `---ПР200
| | |---DI.xjt
| | `---DO.xjt
| |---ПАРОЛИ
| | |---AutoClose.xjt
| | |---ИндДоступа.xjt
| | |---УровеньНужно.xjt
| | `---ИНСТРУМЕНТЫ
| | |---Битовая кнопка.xjt
| | |---Ввод.xjt
| | |---Записать в ПЛК.xjt
| | |---Кнопка открОкна.xjt
| | |---Кнопка открЭкран.xjt
| | |---Кнопка с подсветкой.xjt
| | |---Кнопка событий.xjt
| | |---Операции с данными.xjt
| | |---Текстовый ввод.xjt
| | |---Цифровой ввод.xjt
| | |---Цифровой вводVD2.xjt
| | `---Читать из ПЛК.xjt
| `---Ц_ИНДИКАЦИЯ
| |---i+1.xjt
| |---i+2.xjt
| |---i+3.xjt
| |---i+4.xjt
| |---i+5.xjt
| |---i+6.xjt
| |---Штамп времени ПР200.xjt
| |---Штамп времени.xjt
| |---Штамп времени_DT.xjt
| |---Штамп времени_Reg.xjt
| |---FLOAT_EXX
| | |---A.xjt
| | `---B.xjt
| |---БАЙТЫ
| | |---Дисп_2byte.xjt
| | |---Дисп_2byteA.xjt
| | |---Дисп_2byteB.xjt
| | |---Дисп_2byteC.xjt
| | |---Дисп_2byteD.xjt
| | |---Дисп_4byteA.xjt
| | `---В РАМКЕ
| | |---Дисп_2byteAr.xjt
| | |---Дисп_2byteBr.xjt
| | |---Дисп_2byteCr.xjt
| | |---Дисп_2byteDr.xjt
| | |---Дисп_2byte_r.xjt
| | `---Дисп_4byteAr.xjt
| `---ТАЙМЕРЫ
| |---ВремяНараб.xjt
| |---ВремяНараб_00.xjt
| |---ВремяНараб_Ex.xjt
| |---ВрНараб_Ex_Bl.xjt
| |---мм_сс.xjt
| |---мм_сс_Ex.xjt
| |---чч_мм.xjt
| |---чч_мм_bl.xjt
| |---чч_мм_bl_Ex.xjt
| |---чч_мм_Ex.xjt
| |---чч_мм_сс.xjt
| |---чч_мм_сс_Ex.xjt
| `---В РАМКЕ
| |---мм_сс_R.xjt
| |---мм_сс_R_Ex.xjt
| |---чч_мм_R.xjt
| |---чч_мм_R_blink.xjt
| |---чч_мм_R_Ex.xjt
| |---чч_мм_R_Ex_blink.xjt
| |---чч_мм_сс_R.xjt
| `---чч_мм_сс_R_Ex.xjt
|---ДЛЯ ПР200
| `---Дебаггер.xjt
|---МАКРО
| |---ABS(Float).xjt
| |---имитатор.xjt
| |---БАЙТЫ
| | |---DW_to_4byte.xjt
| | |---DW_to_byte.xjt
| | |---W_to_2byte.xjt
| | `---W_to_byte.xjt
| |---ДАТАВРЕМЯ
| | |---HMS to TOD.xjt
| | |---RTC
| | | |---dayOfWeek.xjt
| | | |---ddBCD_to_Int.xjt
| | | |---dWeek.xjt
| | | |---hhBCD_to_Int.xjt
| | | |---minBCD_to_Int.xjt
| | | |---mmBCD_to_Int.xjt
| | | |---ssBCD_to_Int.xjt
| | | |---yyBCD_to_Int.xjt
| | | `---СинхрЧасов.xjt
| | `---UNIX
| | |---ExtrDATE.xjt
| | |---ExtrMonth.xjt
| | `---ВЫЧИСЛЕНИЯ
| | |---DATE.xjt
| | |---DAY_OF_MONTH.xjt
| | |---DAY_OF_WEEK.xjt
| | |---DAY_OF_YEAR.xjt
| | |---LEAP_OF_DATE.xjt
| | |---MOD_7.xjt
| | |---MONTH_OF_DATE.xjt
| | |---TIME.xjt
| | `---YEAR_OF_DATE.xjt
| |---ДЕШИФРАТОРЫ
| | |---ПоРазрядам.xjt
| | `---ПОЗИЦИОННЫЕ
| | |---DC16_enbl.xjt
| | `---DC16_tmp.xjt
| |---ЛОГИКА
| | |---2-И-НЕ.xjt
| | |---2-И-НЕ_1.xjt
| | |---2-И.xjt
| | |---2-И_1.xjt
| | |---2-ИЛИ-НЕ.xjt
| | |---2-ИЛИ-НЕ_1.xjt
| | |---2-ИЛИ.xjt
| | |---2-ИЛИ_1.xjt
| | |---3-И-НЕ.xjt
| | |---3-И-НЕ_1.xjt
| | |---3-И-НЕ_2.xjt
| | |---3-И.xjt
| | |---3-И_1.xjt
| | |---3-И_2.xjt
| | |---3-ИЛИ-НЕ.xjt
| | |---3-ИЛИ-НЕ_1.xjt
| | |---3-ИЛИ-НЕ_2.xjt
| | |---3-ИЛИ.xjt
| | |---3-ИЛИ_1.xjt
| | |---3-ИЛИ_2.xjt
| | |---4-И-НЕ.xjt
| | |---4-И.xjt
| | |---4-ИЛИ-НЕ.xjt
| | |---4-ИЛИ.xjt
| | |---XOR.xjt
| | |---_2из3.xjt
| | `---НЕ.xjt
| |---МУЛЬТИПЛЕКСОРЫ
| | |---MUX_2.xjt
| | |---MUX_4.xjt
| | |---MUX_8.xjt
| | |---SWITCH_2.xjt
| | |---SWITCH_4.xjt
| | `---SWITCH_8.xjt
| |---СЕРВИС
| | |---2utilities-system-monitor_2873.png
| | |---UnsignegExt.xjt
| | |---Имитатор Dec с упр.xjt
| | |---Имитатор Dec.xjt
| | |---Имитатор Float.xjt
| | |---Имитатор Unsigneg.xjt
| | `---Экран.png
| |---СИСТЕМНЫЕ
| | |---Таймаут Download.xjt
| | `---Таймаут PLC.xjt
| |---СРАВНЕНИЕ
| | |---DEC
| | | |---intA_eq_0.xjt
| | | |---intA_eq_B.xjt
| | | |---intA_ge_0.xjt
| | | |---intA_ge_B.xjt
| | | |---intA_gt_0.xjt
| | | |---intA_gt_B.xjt
| | | |---intA_le_0.xjt
| | | |---intA_le_B.xjt
| | | |---intA_lt_0.xjt
| | | |---intA_lt_B.xjt
| | | |---intA_ne_0.xjt
| | | `---intA_ne_B.xjt
| | |---FLOAT
| | | |---fA_eq_0.xjt
| | | |---fA_eq_B.xjt
| | | |---fA_ge_0.xjt
| | | |---fA_ge_B.xjt
| | | |---fA_gt_0.xjt
| | | |---fA_gt_B.xjt
| | | |---fA_le_0.xjt
| | | |---fA_le_B.xjt
| | | |---fA_lt_0.xjt
| | | |---fA_lt_B.xjt
| | | |---fA_ne_0.xjt
| | | `---fA_ne_B.xjt
| | `---UNSIGNED
| | |---A_eq_0.xjt
| | |---A_eq_B.xjt
| | |---A_ge_B.xjt
| | |---A_gt_B.xjt
| | |---A_le_B.xjt
| | |---A_lt_B.xjt
| | |---A_ne_0.xjt
| | `---A_ne_B.xjt
| |---ТРИГГЕРЫ
| | |---F_TRIG.xjt
| | `---R_TRIG.xjt
| `---ФУНКЦИИ
| |---Abs(Dec).xjt
| |---Abs(Float).xjt
| |---B=notA.xjt
| |---Декремент.xjt
| |---Инкремент.xjt
| |---Корень.xjt
| |---Корень_куб.xjt
| |---Сумма16.xjt
| `---Сумма20.xjt
|---МЕНЮ
| `---МЕНЮ ДОСТУПА
| |---Вызов меню.xjt
| `---Окно меню 112х70.xjt
`---ОФОРМЛЕНИЕ
|---Кн Графика.xjt
|---Рамка группы.xjt
`---НЕВИДИМКИ
|---Для окна.xjt
|---Текст дуга.xjt
`---Текст.xjt
Коллеги добрый вечер прошу помощи, сам что-то не справляюсь, в RS 485 шесть ПР и панель СП 307 Б, одна ПР 103 мастер остальные пять ведомые, и работает всё хорошо, но есть но, в каждом приборе логика завязана на времени и в каждом ПР время убегает то в + то в -, и ходить каждые три месяца с ноутом корректировать время надоело. Решил считать с СП 307 системные регистры времени 30-35, и далее экспортировать в другие ПР. Чтоб в дальнейшем подкорректировал на панели время, и везде одинаково. Но и здесь не так, регистры считываются в формате HEX не совсем корректно, секунд 90, год тоже убежал 8229, ну и всё остальное тоже соответственно. В поддержку обратился подтвердили да есть такая проблема, блока, который преобразует говорят нету, пробовал сам макрос написать, но пока работает коряво. Наверняка кто-нибудь сталкивался с этой проблемой. Но не может быть чтоб я один с этим столкнулся))))).