Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Здравствуйте помогите, проблема с переменными

  1. #1

    По умолчанию Здравствуйте помогите, проблема с переменными

    Здравствуйте, возникла проблема с переменными, решил на ПР200 создать годовой журнал учета, создал его, но в макросе, потом создал экраны соответствующие каждому месяцу и в каждом экране создал строчки соответствующие дням месяца, дальше решил привязать строчки к переменным, которые находятся внутри макроса, а программа их не видит. Подумал и решил вывалить внутренности макроса в программу, всё он видит переменные, только вот чтобы создать эти переменные уйдёт очень много времени, потому что компьютер стал страшно тормозить, наверное из-за того что очень сложная и большая программа получилась. Вопрос такой могу ли я использовать внутренние переменные макроса не выводя их наружу в проект, или нет?

  2. #2

    По умолчанию

    решил на ПР200 создать годовой журнал учета,
    В ПР200 можно оперировать только 254 энергонезависимыми переменными типа INT 32
    Если по месяцам - берите мой макрос EEPROM и не мучайтесь.
    http://www.owen.ru/forum/showthread....l=1#post211086

  3. #3

    По умолчанию

    Извините за невежество, я новичок в программировании, посмотрел ваш макрос так и ничего не понял и как его использовать. И почему когда я создаю переменные, то в программе я могу назначить больше энергонезависимых переменных чем 254 путём выставления галочки в соответствующем месте, разве программа не должна мне запрещать этого делать и выводить какое нибудь сообщение, что превышен лимит использования энергонезависимой памяти для переменных типа INT 32. Да и в принципе мне не совсем наверное обязательно использовать энергонезависимые переменные, так как собираюсь запитать ПР200 через ИБП (источник бесперебойного питания, примерно такой как для компьютера) он 10 Ват потребления ПР200 продержит после пропажи основного питания, не знаю сколько времени, но думаю очень долго, я сам энергетик и ещё не видел чтобы питание пропадало больше чем на неделю, и то это при серьёзных аварийных ситуациях. Мне необходимо чтобы каждый день в определённое время суток происходила запись суммы заработанной прибыли в определённую переменную, после записи, сумма заработанной прибыли обнулялась и начинался подсчёт новой суммы прибыли за следующий день, далее запись и обнуление и так далее, а в конце года происходило обнуление всего года и так далее, программно я это всё реализовал, проблема в том что я написал логику работы журнала в макросе и создал переменные дней внутри макроса, выводить их в основное окно программы не хочется так как очень сильно начинает тормозить компьютер, а так как я создал 12 экранов для каждого месяца в которых по 31 строки, для каждого дня месяца, я хотел просто вывести значения этих переменных в строки на экране, но столкнулся с тем что когда назначаешь переменную на экране выводится список переменных которые можно назначить, а тех переменных которые отвечают за каждый день в нём нет, а они у меня прописаны внутри макроса. Заранее спасибо за любой ответ.

  4. #4

    По умолчанию

    И почему когда я создаю переменные, то в программе я могу назначить больше энергонезависимых переменных чем 254 путём выставления галочки в соответствующем месте,
    ОЛ дорабатывается. Поставят и это ограничение.

    Да и в принципе мне не совсем наверное обязательно использовать энергонезависимые переменные, так как собираюсь запитать ПР200 через ИБП (источник бесперебойного питания, примерно такой как для компьютера) он 10 Ват потребления ПР200 продержит после пропажи основного питания, не знаю сколько времени, но думаю очень долго, я сам энергетик и ещё не видел чтобы питание пропадало больше чем на неделю, и то это при серьёзных аварийных ситуациях.
    Используй энергонезависимые переменные. Мелкое обслуживание с отключением - и всё, пропали данные.

    А с макросом разберётесь.
    Wr - строб записи.
    Wadr -адрес (0-15 в единичном макросе)
    EN - старший ниббл байта адреса.
    Data - собственно данные
    Чтение - асинхронное, не зависит от записи.

  5. #5

    По умолчанию

    Вы извините ещё раз за невежество, дело в том что я вообще новичок в программировании, я неделю назад вообще в первые увидел программирование в глаза. А для чего предназначен ваш макрос, он расширяет возможности сохранения количества энергонезависимых переменных? А можете выложить краткое описание работы с макросом, я понимаю мне не обязательно сохранять переменные в INT 32, наверное мне достаточно сохранять переменные в INT 16 если это возможно, так как общая сумма прибыли за 1 день навлятри перевалит за 65000 руб. а возможно сохранять значения в переменных ну например типа не INT 16 а INT 18 или INT 20 их же можно больше сохранить, а цифра больше миллиона точно никогда не появится. И ещё по поводу использования внутри макросовских переменных в проекте возможно ли их использование или нет в прошлых коментах я описывал проблемму

  6. #6

    По умолчанию

    alek4322
    Внутренние переменные ПР114/200 имеют 32разряда. Именно поэтому INT32. (но на экран можно вывести только младшие 16разрядов)
    А для чего предназначен ваш макрос, он расширяет возможности сохранения количества энергонезависимых переменных?
    Для удобства работы.
    а INT 18 или INT 20 - не существует.
    И ещё по поводу использования внутри макросовских переменных в проекте возможно ли их использование или нет в прошлых коментах я описывал проблемму
    Переменные которые внутри макроса, используются только внутри макроса.

  7. #7

    По умолчанию

    Огромное спасибо за ответ, по переменным которые внутри макроса всё стало ясно, если я могу вывести на экран только младшие 16разрядов, значит ли это что я могу увеличить количество энергонезависимых переменных и создать энергонезависимый годичный журнал?

  8. #8
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    8,168

    По умолчанию

    Универсальный счётчик(CTN) - 16 бит(UINT); можно два 16 битные числа(диапазон:0-65535) хранить в одной 32 битной переменной!

  9. #9

    По умолчанию

    если я могу вывести на экран только младшие 16разрядов, значит ли это что я могу увеличить количество энергонезависимых переменных и создать энергонезависимый годичный журнал?
    Можно в одну 32 битную переменную записать 2 16 битных. Операции сдвига посмотрите в справке ОЛ по F1.
    И что за годичный журнал требуется вообще? посуточный? - тогда всё очень весело, в плане написания программы. (для новичка).
    Может имеет смысл архиватор МСД-200 подцепить?

  10. #10

    По умолчанию

    Да посуточный, я его уже написал мне только не хватило знаний что ПР200 может хранить только 254 энергонезависимые переменные и представляете облом, две ночи составлял алгоритм, прописывал 365 переменных соответствующих каждому дню года, выстовлял уставки включения и выключения часов реального времени для каждого дня, сделал экраны на ПР200 для каждого месяца, в каждом экране минимум по 31 строки, а тут на тебе, нельзя так сделать потому что не хватает памяти, а работы то осталось максимум на пол часа, для недельного новичка очень интересно, а про архиватор МСД-200 можно поподробней, что это такое. Чувствую очень интересное.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 11
    Последнее сообщение: 28.05.2014, 19:47
  2. Ответов: 1
    Последнее сообщение: 26.06.2009, 09:47
  3. Проблема с сетевыми переменными
    от Василий Куц в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 28.09.2007, 14:04

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •