Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
В самом начале я про 1-600 минут писал, но это много 1-255 с шагом 1 минута за глаза. Плюс режим выбор из четырёх вариантов(пропуск, вода, химия_1 и химия_2).
Но памяти хватает даже если все в переменные загнать как у меня было, здесь я просто количество переменных уменьшить пытаюсь, что бы можно было с панелей оператора настраивать.
Так я же приложил проект, как раз в нем же дисплей как у Вас реализован:
Screenshot_7.jpg
Screenshot_6.jpg
1111.owl
Получается для второй уставки достаточно 8 бит(диапазон 0-255). В сумме получается надо 10 бит памяти на один шаг программы, короче, в одну ячейку(32 бита) матрицы памяти можно уставки для трёх шагов программы записать, 32 ячейки хватит на 96 шагов или 12 таких программ как у Вас поместится в одну матрицу памяти, а Вы говорите одной матрицы хватит на вашу программу!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Ну я имел ввиду на весь проект, 8 программ, даже если в настройку шагов держать в 8 битах.
Расширять до 12 особо смысла нет, хотя там я жестко прописал 8, а можно настраиваемый параметр на экран вынести и будет настраиваться максимальное количество.
Вот реально рабочая таблица, утвержденная технологом, в ней два шага придумать не смогли)
изображение_2022-07-15_155206992.png
Но вопрос открытый остается как в один блок памяти за раз писать 10 бит, потом следующие 10 и так 8 раз) и самое страшное я еще не придумал как в процессе их читать из памяти, даже при теперешней реализации записи.
Так какие проблемы с чтением из матрицы памяти, мне кажется там проблем нет в принципе! У Вас же все шаги последовательно выполняются и таймер один потребуется, я вроде приводил пример по верхней ссылке!
Тем более Вы говорите, что когда Вы заходите в меню для редактирования уставки у Вас ранее установленное значение "подтягивается" на экран, значит на экран Вы можете значение вывести(ранее установленное в матрицу памяти), а в программу для таймера не можете, неужели нельзя поступить аналогично?!
И ещё, если целочисленная переменная 32 битная, как у нас в матрице памяти, то в слейве её придётся разбить на два регистра!
И ещё что хотелось сказать на форуме не одна тема была как продублировать экраны, чтобы можно было редактировать значения из двух мест(например экраны ПР200 и ИПП120), так вам намного проще надо, просто перенести экран на ИПП120(насколько смог понять)!
Короче, пробуйте, должно получиться!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Только конкретно и по одному пункту спрашиваете. Я просто не вижу проблем, даже совсем наоборот, в смысле, несколько вариантов решения обычно возникает!
Я обычно сначала делаю по первому пришедшему в голову варианту, когда всё работает, как хотелось, тогда пробую другие, более оптимальные и простые, короче, обычно сразу не получается сделать идеально!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Сформировать сигнал первого включения ПР, была не одна тема по инициализации при первом включении, где это можно подсмотреть, короче по этому сигналу взводить триггер и последовательно записывать значения во все 32 ячейки матрицы памяти из констант с помощью мультиплексора.
У меня и ПЗУ имеется на 257 ячеек, можно и из ПЗУ данные взять для инициализации, Вам конечно этого многовато будет, в смысле, сможете 8 разных уставок(программ) в памяти ПЗУ иметь!
Короче, я не понял, у Вас уставки будут с экрана меняться(редактироваться) или просто надо менять 8 постоянных уставок(программ), второе намного проще!
Вот проект с макросом ПЗУ:
Тельфер.owl
Если затрудняетесь как сформировать импульс первого включения ПР(сразу после заливки программы) можно сделать немного проще, добавить в меню(программу) пункт заводские установки, при его активации происходит запись значений из ПЗУ в матрицу памяти(EEPROM), плюс в том, что можно всегда к ним вернутся и используя мой ПЗУ можно иметь 8 вариантов заводских установок, тогда перед активацией этого пункта нужно будет сделать выбор нужного варианта из восьми.
Вот заводские установки нарисовал(вариант механизма), с экрана активируете переменную "Старт" и процесс пошёл:
Заводские установки.PNG
Заводские установки.owl
Последний раз редактировалось Сергей0308; 22.07.2022 в 10:39.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.