Так давайте наконец(я уже такое предлагал) выясним сколько вам памяти требуется для одного шага!
У Вас в каждом шаге две переменные, первая: выбор из четырёх вариантов(пропуск, вода, химия_1 и химия_2) займёт два бита и вторая переменная уставка времени - Вы так и не удосужились написать требуемый Вам диапазон и минимальную ступеньку изменения! Приведу пример по аналогии со школьными звонками(ранее и такое делал), так вот там минимальная ступенька изменения - 5 минут, так как звонки происходят только при минутах кратными пяти, этим сразу достигается уменьшение диапазона уставок в пять раз, по сравнению с минимальной ступенькой в минуту! И разумеется памяти для хранения меньшего диапазона требуется меньше, если требуется её рациональное использование, когда её не хватает.
И ещё, надеюсь, Вы внимательно смотрели мои проекты, там введённые настройки "подтягиваются" на экран, что удобно при редактировании и можно просто просмотреть установленные настройки, если возникли какие сомнения в их правильности! Короче, это требует сохранения промежуточных(оперативных) переменных, которые мы можем использовать и для предварительного набора уставок для одной ячейки памяти, надеюсь, смысл понятен и можно посмотреть как это у меня выполнено!
Последний раз редактировалось Сергей0308; 15.07.2022 в 10:49.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
В самом начале я про 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(насколько смог понять)!
Короче, пробуйте, должно получиться!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.