Всех приветствую! Прошу помощи с разработкой алгоритма работы сушильной камеры для бумажных изделий, на пр200 и датчике влажности и температуры пвт100(подключен по rs485). Принцип работы такой- при запуске цикла- печь плавно набирает температуру до необходимой( изменяемая величина), к примеру 50 градусов, и работает необходимое количество часов(изменяемая величина)- затем, после выделения из изделия максимально количества влаги(по датчику), печь немного остывает -до 37-38 градусов, включается осушитель, а температура поддерживается далее, до перезапуска цикла. В идеале: хотелось бы ещё сделать ручное управление пускателями тэнов, вентиляторов и осушителя( для отладки и ремонта). Сейчас всё работает на овен 2трм1 с двумя выносными датчиками, но хочется как то оптимизировать данный процесс, в планах у руководства ещё поставить шлюз и контролировать и управлять процессом по сети.
Здравствуйте, коллеги.
Сломал голову с самодельным макросом. В эмуляторе битовую маску преобразует в набор номеров аварий корректно: при наборе аварий 0011 1110 (62 dec на вход) выдает коды аварий "23456", а на ПР200 отображает "23452". Далее при наборе аварий 0010 1110 (46 dec на вход) на ПР200 отображает "2343" (ожидалось "2346").
Не пойму где я ошибся, уже несколько раз макрос пересобирал.
Снимок экрана 2022-12-24 154143.png
код_аварии.zip
Весь проект не могу выложить, заказчик не позволит. Этот макрос выходом подключен к переменной, выводимой на экран. В режиме онлайн отладки и в режиме эмуляции на вход приходит в обоих случаях одинаковое значение, а на выходе получаются разные. То есть алгоритм на ПР200 работает совсем не так, как в OL.
Последний раз редактировалось kondor3000; 24.12.2022 в 17:10.
1.Здесь всем на..рать на Вашего заказчика, тем более что решается Ваша проблема.Весь проект не могу выложить, заказчик не позволит.
2.Какая-то дичь : целочисленные преобразуемые во флоаты, возведение в степени, флоаты обратно во целые. Там что угодно потеряете.
Изначально стояла задача вывести на экран номер аварии цифрой, соответственно, если несколько аварий включаются одновременно - на экран выводятся несколько цифр подряд. Сходу кроме пошагового умножения на степени 10 ничего не придумал.
Возможно стоит возводить в степень целые, а не флоаты. Тут согласен, попробую.
Кусок проекта во вложении, спасибо за помощь.
образец.zip
Передавайте на ИПП120(по сети) битовой маской в панели уже преобразуете как надо!
Я бы писал сразу название аварии, например с помощью динамического текста, чтобы голову не морочить и если аварий больше одной выводил их по очереди, кстати было много подобных тем!
И хочу Вас поздравить, такое впечатление, что Вам не дают форум смотреть и даже саму программу ОЛ, в смысле, там уже есть функция вставки бит и многое другое, зачем что-то придумывать, их заменяющее, тем более у Вас это не получается, в смысле, на много сложней!
Посмотрите эти темы, может чего почерпнёте:
https://owen.ru/forum/showthread.php?t=31076&page=2
https://owen.ru/forum/showthread.php?t=31113&page=7
https://owen.ru/forum/showthread.php?t=29865&page=8
Короче, если решите по очереди аварии выводить, я и проект выкладывал(по верхней ссылке), то и битовую маску даже не придётся на биты обратно разбивать, в смысле, там такой алгоритм, он данные сразу из битовой маски берёт!
И, вот здесь выкладывал макрос поиска максимального значения из 16 и номера входа с максимальным значением:
https://owen.ru/forum/showthread.php?t=25067&page=70
Так если на нескольких входах максимальные значения, то все номера таких входов отображаются по очереди, начиная с самого маленького входа по числовому значению, короче, как у Вас в макросе, но он проще вашего на порядок при большей функциональности.
MAX_3_2.PNG
Можно его использовать, в смысле, булевы сигналы преобразовать в целочисленные и подать на входа 1-10 макроса!
Вот, немного поправил старый проект(были небольшие косяки):
MAX_6.owle
Но все десять входов одновременно активировать нельзя, переменная переполнится, нужно ограничиваться девятью, в остальном вроде всё нормально работает:
MAX_6.PNG
Последний раз редактировалось Сергей0308; 25.12.2022 в 12:02.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.