СПОСОБ ВЫПОЛНЕНИЯ ИЗМЕНЕНИЯ ПРОГРАММЫ В РЕЖИМЕ ОНЛАЙН В СИСТЕМЕ АВТОМАТИЗАЦИИ
METHOD FOR MAKING ONLINE PROGRAMME CHANGES IN AUTOMATION SYSTEM

Предпосылки изобретения
Изобретение относится к способу выполнения изменения программы в режиме онлайн в системе автоматизации.
Устройство для технологического процесса, применяемое, например, в установках электростанций, как правило, автоматизируется с помощью комплекса различных систем управления и регулирования. Эти системы соответствуют различным сферам промышленного оборудования. Несмотря на такое разделение на отдельные сферы автоматизации, нельзя полностью избежать взаимного влияния. Так, сбой одной системы автоматизации может повлечь за собой сбой всего устройства.
Кроме сбоев, вызываемых ошибками аппаратного обеспечения, которые до известной степени могут быть предупреждены за счет, например, соответствующей избыточности, изменения программы в режиме онлайн могут также привести к перегрузкам систем автоматизации.
В частности, изменения программы в режиме онлайн необходимы во время ввода в эксплуатацию или расширения устройства при работающем оборудовании. При этом необходимо снизить риск перегрузки ЦПУ до минимума при одновременном оптимальном использовании ресурсов ЦПУ.
Система автоматизации, как правило, функционирует циклически. Это значит, что прикладная программа выполняется по частям циклами разной длительности.
В этом случае, если время выполнения отдельных программных блоков превышает время соответствующего цикла, то происходит перегрузка ЦПУ. Последствия варьируют от сбоев в режимах регулирования или реального времени до останова всей системы автоматизации.
До сих пор, как правило, проверялась только статическая емкость ЦПУ перед процессом загрузки или в процессе его. Это значит, что потребность в памяти новых программных блоков сравнивалась с доступной памятью в ЦПУ. Однако для контроля динамической емкости требуются дополнительные мероприятия. Кроме того, загрузка ЦПУ может быть рассчитана в автономном режиме. При этом все отдельные функции прикладной программы суммируются с учетом циклов выполнения. Кроме того, учитываются такие величины, как системная и коммуникационная нагрузка. При этом могут возникать большие неточности, из-за чего необходимо планировать более высокий резерв с сопутствующим низким использованием ЦПУ. Кроме того, ручной расчет требует много времени и может приводить к ошибкам. Чтобы этого избежать, нужно разработать дополнительное решение по расчету и поддерживать его. Таким образом, например, необходимо определить типовую продолжительность новых или измененных прикладных функций и учесть ее в расчете.
Системная и коммуникационная нагрузка системы автоматизации также не может быть рассчитана достаточно точно, так как эти значения зависят от многих в большинстве случаев невидимых для пользователя параметров. Среди прочих типовые величины, оказывающие влияние, это:
- обновление отображения процесса входов и выходов,
- циклическая обработка оповещений,
- коммуникационные функции и
- обработка операционной системы.
Если все превентивные проверки, если такие имеются, прошли успешно, то в ЦПУ загружаются и выполняются новые программные блоки. При этом нельзя исключить, что это приведет к перегрузке ЦПУ вследствие слишком большого количества загруженных прикладных программ.
Это ведет к превышениям времени цикла, которые оповещаются, однако в большинстве случаев у пользователя не остается времени, чтобы отменить последнее изменение. Во многих случаях повторяющееся превышение времени цикла ведет к останову всей системы автоматизации.
В основе изобретения лежит задача предложить способ выполнения изменения программы в режиме онлайн в системе автоматизации, с помощью которого можно предотвратить сбои в режимах регулирования или реального времени из-за перегрузки ЦПУ, которые в худшем случае приводят к останову всей системы автоматизации.
Эта задача в соответствии с изобретением решается с помощью упомянутого в начале способа выполнения изменения программы в режиме онлайн в системе автоматизации, при котором изменение программы в режиме онлайн выполняется с помощью загрузки в ЦПУ системы автоматизации, в котором выполняется текущая прикладная программа, новых программных блоков для подготовки новой прикладной программы, и при котором для предотвращения перегрузки ЦПУ окончательное переключение на новую прикладную программу осуществляется только после того, как после контроля первой обработки всех программных циклов новой прикладной программы не определяются перегрузки ЦПУ.
С помощью способа в соответствии с изобретением изменение программы в режиме онлайн реализуется таким образом, что возможная ситуация перегрузки не возникает вообще. С помощью предусмотренного в соответствии с изобретением контроля над первой обработкой всех программных циклов новой прикладной программы возможная перегрузка ЦПУ может быть своевременно обнаружена непосредственно после первого временного переключения на новую прикладную программу, и может быть произведено обратное переключение на первоначальную версию программы так, что не требуется реакции пользователя. Контроль осуществляется предпочтительно операционной системой устройства автоматизации, причем продолжительность контроля предпочтительно определяется самым медленным циклом или циклом с наименьшим приоритетом.
В целом с помощью способа в соответствии с изобретением может быть значительно повышена устойчивость при изменении программы в режиме онлайн. Кроме того, могут оптимально использоваться ресурсы ЦПУ.
В случае практического варианта исполнения способа в соответствии с изобретением, что, в частности, является предпочтительным для систем, в которых система автоматизации сообщается с технической системой, которая, как правило, позволяет посредством графического интерфейса выполнять прикладной технологический процесс управления/регулирования системы автоматизации, при определении перегрузки ЦПУ посылается негативное подтверждение на техническую систему, что сигнализирует об обратном переключении на первоначальную прикладную программу. Итак, в соответствии с изобретением при определении перегрузки ЦПУ система автоматизации переключается обратно на первоначальную прикладную программу и сигнализирует об этом с помощью негативного подтверждения на техническую систему. Таким образом, в соответствии с изобретением можно координировано переключаться обратно на предыдущую версию программы. Таким образом, весь процесс изменения в режиме онлайн оценивается как неуспешный и сообщается об этом пользователю предпочтительно соответствующей реакцией. При этом в соответствии с изобретением предпочтительно убедиться в том, что сама функция контроля в случае перегрузки выполняется надлежащим образом, что может быть реализовано посредством присвоения функции контроля достаточно высокого приоритета.
В случае, когда не определяется перегрузка ЦПУ, система автоматизации посылает положительное подтверждение на сообщающуюся с системой автоматизации техническую систему, чтобы сигнализировать об окончательном переключении на новую прикладную программу и таким образом успешно завершить процесс изменения в режиме онлайн.
Далее способ в соответствии с изобретением разъясняется с помощью схем, причем на фиг.1 представлена схема режима работы системы автоматизации, а на фиг.2 - схема способа в соответствии с изобретением в виде блок-схемы.
На фиг.1 схематически изображен режим работы системы автоматизации в форме циклически функционирующей системы управления или регулирования. Он основывается на базовом цикле со следующими фазами в течение жестко заданного временного растра:
- обновить выходы/считать входы,
- прикладная программа в цикле 1,
- блок прикладной программы в цикле 2,
- блок прикладной программы в цикле 3,
-
…,
- блок прикладной программы в цикле n,
- свободный цикл и
- компонент операционной системы.
Прикладная программа в цикле 1 каждый раз проходится полностью. Прикладные программы в циклах более высокого уровня поделены на несколько по возможности одинаковых блоков, каждая из которых обрабатывается в течение базового цикла. Таким образом, прикладная программа в цикле 2 состоит из 2-х блоков, в цикле 3 из 4-х блоков и т.д.
К перегрузке это может привести только тогда, когда сумма продолжительностей всех компонент базового цикла больше, чем заданное для него время цикла.
Часть оставшегося времени, доступная после обработки прикладной программы во всех жестко заданных циклах, используется для свободного цикла, который обрабатывается с низшим приоритетом. Также и этот цикл подлежит временному контролю и должен учитываться при контроле перегрузке при изменении в режиме онлайн.
Другая часть оставшегося времени включает компонент операционной системы для связи с операционной системой.
Далее способ в соответствии с изобретением разъясняется с помощью представленной на фиг.2 блок-схемы.
Если в рамках изменения в режиме онлайн в ЦПУ системы автоматизации загружаются новые программные блоки через техническую систему, сообщающуюся с системой автоматизации (сравни шаг S1 на фиг.2), сначала происходит временное переключение на новую прикладную программу, подготовленную посредством загрузки новых программных блоков (сравни шаг S2 на фиг.2). При этом система автоматизации в соответствии с изобретением разработана с тем, чтобы загружать новые программные блоки вместе с выполняющейся в текущим момент прикладной программой и подготавливать выполнения программных блоков, но не выполнять их. Временное переключение служит для того, чтобы производить контроль (сравни шаг S3 на фиг.2) первой обработки всех программных циклов новой прикладной программы. При этом новая прикладная программа активна, причем предпочтительно дополнительно контролируется первый цикл. Кроме того, период контроля определяется предпочтительно самым медленным циклом или циклом с наименьшим приоритетом. Если в течение периода контроля операционная система системы автоматизации не определяет превышения времени, то технической системе может быть отправлено положительное подтверждение, чтобы сигнализировать ей о уже совершенном окончательном переключении на новую прикладную программу. Напротив, при определении ситуации перегрузки система автоматизации сначала переключается обратно на первоначальную прикладную программу и затем передает технической системе негативное подтверждение, чтобы сигнализировать ей об обратном переключении на первоначальную прикладную программу (сравни шаг S4 на фиг.2).
Способ в соответствии с изобретением может быть реализован с помощью методов программирования предпочтительно на языке программирования STEP7 и интегрирован в систему управления типа SPPA-T3000 V2.0, при этом в качестве платформы автоматизации может выступать платформа типа SIMATIC S7.