Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 29 из 29

Тема: Обработка нештатных ситуаций

  1. #21
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,678

    По умолчанию

    Так и понял Smith2007 - Делфушник.
    А , что нельзя зафиксить аварии в процессе ( они ведь разные могут быть и на разных устройствах) в глобальные переменные и уже отдельно (вообще в стороне от основной программы) сформировать тексты сообщений и организацию отправки?????
    На работе тоже есть хороший делфушный программист - потребовалось много времени , чтобы у него из головы всякую муть выбить ( тоже любитель при случае цикл замутить ), теперь нормальный стал.

    З.Ы Я , конечно извиняюсь, но то что вы делаете(как вы решаете проблемму) это интеллектуальный ананизм.
    Хоть , чисто теоретически , представьте : вы поменяли работу (организацию) , а там нет КДС , нет Овена , а есть что-либо любое другое устройство , а задачи те-же. Какие структуры ? Какие массивы из них?
    Хотя , конечно , нормальные герои идут в обход .
    Когда завершается то , что хочеш завершить и как шочеш , тоже нормально , но ... нафига козе баян , а зайцу стоп сигнал?
    Правильно , нет необходимости.
    Последний раз редактировалось Sergey666; 25.09.2013 в 00:39.

  2. #22
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Наверное я бы здесь с Вами согласился.
    Если бы мне платили за кол-во строк.

  3. #23
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    Сергей, я повторюсь...
    Моя работа ни коим образом не связана ни с IT ни с АСУТП ни с программированием и поэтому я не особо беспокоюсь о различных устройствах и КДС.
    9 месяцев назад достроил дом и въехали. Отопление смонтировали специалисты, но без какой либо автоматики. Включил насос - заработал теплый пол. Выключил - остыл. То же с радиаторами отопления.
    Как только приблизилась осень и температура на улице начала скакать, жена мне: "сделай потеплее в ванной". "Что-то жарко в ванной стало". "Холодно в детской", "Жарко в спальне" и т.д. и я как белка ношусь в котельную включаю-выключаю. Посмотрел штатные контроллеры к котлам (у меня пара Baxi 1300in, Baxi 1620 in) и разочаровался их возможностями. Мало того, что стоит баснословных денег так и алгоритм не поменять. Вот в тот момент, а это примерно пара месяцев назад, принял решение автоматизировать процесс. О ПЛК даже не слыхал ни когда. Пошел на соседний завод к асушникам и начал их пытать. Вот они мне ссылочку и дали на этот сайт прокомментировав, что продукция Овен довольно хороша и по цене доступна. Вот я начал с изучения форума и Codesys. Благодаря урокам Кирила я сделал первые шаги в Codesys и это оказалось для меня не сложно. Тогда я заказал ПЛК110-30м. Спустя неделю протянул провода, смонтировал шкафчик и упаковал в него кросс, ПЛК и пр. автоматику.
    Почему я начал тему с вопроса об "оптимальном алгоритме" обработки нештатных ситуаций. Да у меня ноль опыта в этом деле Стаж общения с живым ПЛК 2 недели
    Сейчас я научился управлять котлами в зависимости от температуры в бойлере. Следующий этап - ввести термодатчики на бойлер и улицу. Ну а потом добавить контроль ряда критических параметров, такие как давление в магистрали контура отопления, температура в контуре отопления и т.д.
    Мало управление написать подумал я, как я узнаю о нештатке? Я же на работе. Появилась следующая задача и т.д.

    Правильно ли я делаю создавая структуры, массивы? Я не знаю. Экспериментирую И слушаю рекомендации на форуме. Ну еще изучаю примеры. Очень интересно.
    Изучая - появляются новые идеи "как упростить жизнь в доме"

    Вобщем прошу сильно не пинать, я только учусь
    Вложения Вложения
    • Тип файла: pro SH1.pro (70.3 Кб, Просмотров: 11)

  4. #24
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    в продолжении темы....
    Модифицировал код. Подумал, что если я буду анализировать много параметров то затрачивать ресурсы ПЛК на постоянные операции присваивания при заполнении массива текущими значениями контролируемых параметров будет не экономно.

    Можно в качестве текущего значения использовать ссылку и тогда не нужно в каждом цикле программы производить лишние вычисления.

    Вопрос:
    Можно ли в секции объявления переменных, при инициализации массива из указателей сразу вычислить сам адрес переменной на которую ссылаемся?

    arr: ARRAY [1..4] OF POINTER TO INT := ADR(var_int1), ADR(var_int2), ....

    или только в теле программы можно ссылаться на функции?
    Последний раз редактировалось Smith2007; 25.09.2013 в 10:28.

  5. #25
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,678

    По умолчанию

    Вот вы , при обьявлении массива как бы резервируете область памяти для него . Потом вы для обращения к переменной вытаскиваете указатель на ее из массива .
    До этого вы структуру организовали - опять резервирование памяти , потом еще и массив структур - еще памяти хапнули. Еще понятно если вы какой-то журнал аварий-событий сделать хотите.
    В чем суть вашей оптимизации ??? Обращайтесь напрямую.(по имени) Хотите оптимизировать - запихайте флаги аварий в массив и делайте выборку по индексу , только не увлекайтесь операторами цикла , он и так есть .
    Навряд-ли вы напишете код , сильно грузящий ПЛК , поэтому не стоит парится по поводу ресурсов - считайте , что они бесконечны.
    Старый мультик был , где орел или стервятник учил летать страуса - типа лучше день потерять , потом за 5 минут долететь.

  6. #26
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    Возможно Вы правы, но вот опять же... Если запихать флаги в массив то: массив надо все равно и скорее всего как глобальный. Где хранить максимум и минимум при которых alert сработает?

    Мне нужно получить:
    1. В случае отклонения любого из контролируемых параметров за пределы нормы (нормы надо хранить) зажечь сигнальную лампу. Ожидается около 30 параметров на контроль.
    2. Сформировать и отправить СМС с обнаруженными ошибками.
    3. Отправить повторные СМС через опред. периоды времени в случае если параметр по прежнему вне диапазона нормы.
    4. Протоколирование значений параметров с возможностью изменения уровня детализации (все подряд - оно же отладка, некритичные изменения, критические параметры). Протоколирование необходимо обеспечить в сеть желательно по стандартным протоколам (из предположений - ftp), чтобы не заниматься еще и серверной частью.

  7. #27
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,678

    По умолчанию

    Потратить пару-тройку осенних вечеров на изучение фундаментального описания работы в КДС (для вас пару - там выборочно).
    Для хранения есть понятие "Ретэйн" (на любых ПЛК).

  8. #28
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    Сергей, линканите пожалуйста ссылочку на фундаментальную документацию описания работы в КДС.

    Я уже и сам прихожу к выводу, что не с того начал :

  9. #29

Страница 3 из 3 ПерваяПервая 123

Похожие темы

  1. Обработка исключений
    от const3 в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 26.06.2012, 06:43
  2. Ответов: 1
    Последнее сообщение: 19.05.2012, 11:21
  3. плк110+мв110 обработка данных
    от woffka в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 19.02.2010, 16:45

Ваши права

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