ЖУРНАЛ СТА №3/2025
дует запросы и отправку текущих и ар- хивных параметров, так что текущие всегда актуальны. Если связь с АРМ от- сутствует, то контроллер продолжает опрос только текущих параметров для нужд основных алгоритмов АСУ ТП. Для надёжного и последовательного диалога между АРМ и контроллером при запросах архивных данных тепло- вычислителей разработан алгоритм, упрощённо представленный на рис. 3. АРМ генерирует целое число SgnARM как вспомогательный сигнал, иденти- фицирующий данную транзакцию и не равный ни предыдущему, ни последую- щему значениям. Сигнал SgnARM пере- даётся в контроллер вместе с парамет- рами архивных запросов (если таковые заданы оператором). Контроллер после чтения формирует SgnPLC, равный полученному SgnARM, и направляет его в качестве подтвер- ждения в АРМ вместе с порцией архив- ных данных, полученной от тепловы- числителей. Передача между АРМ и контроллером выполняется непрерыв- но с использованием групповых ко- манд Modbus, которые передают ре- гистры подряд друг за другом. Чтобы контролировать консистент- ность данных, значения SgnARM и SgnPLC помещаются в начале и в кон- це передаваемой группы регистров (SgnARM1 и SgnARM2) или (SgnPLC1 и SgnPLC2), см. рис. 3. Функции обмена данными с тепло- вычислителями на низком уровне вы- полнены в контроллере с учётом опи- сания протоколов от их производите- лей [1–4]. Для СПТ961 это символьный протокол, где управляющие символы, значения, метки времени, единицы из- мерения передаются ASCII-кодами. Про- токол обмена с ВКТ-7 представляет дан- ные в двоичном коде, но требует про- граммирования вспомогательных про- межуточных запросов. Для обработки запросов к тепловычислителям реали- зован поэтапный циклический алго- ритм, причём каждый этап может за- нимать несколько повторений рабоче- го цикла контроллера. Краткое описание алгоритма для СПТ961 приведено в табл. 2. Последние прочитанные текущие и архивные данные выводятся в кадрах панели контроллера (рис. 4). Наряду с разработкой программ АРМ и контроллера для удобства отладки и доработки созданы программы-эмуля- торы, имитирующие работу ВКТ-7 и СПТ961 при их отсутствии. Эмуляторы СТА 3/2025 7 www.cta.ru ПРОЕ К ТЫ Передача по Ethernet регистров Modbus TCP Чтение данных от контроллера Формирование сигнала контроллера Формирование сигнала АРМ Запись данных контроллеру Запись данных для АРМ Чтение данных от АРМ адрес опрошенного ТВЧ номер последнего запроса параметры ТВЧ метка времени параметров SgnARM1 адрес ТВЧ для запроса номер запроса метка времени запроса SgnARM2 SgnPLC1 адрес опрошенного ТВЧ номер последнего запроса параметры ТВЧ метка времени параметров SgnPLC2 адрес ТВЧ для запроса номер запроса метка времени запроса Если SgnPLC1 изменился и SgnPLC1 равен SgnPLC1, SgnARM1 := SgnARM1 +1 SgnARM2 := SgnARM1 SgnPLC1 := SgnARM1 SgnPLC2 := SgnPLC1 Если SgnARM1 изменился и SgnARM1 равен SgnARM2, АРМ ПЛК то то Рис. 2. Диалоговое окно формирования архивных запросов в АРМ оператора Рис. 3. Упрощённое представление алгоритма передачи данных тепловычислителей (ТВЧ) от контроллера по запросам АРМ Таблица 2. Этапы алгоритма обработки запросов к тепловычислителям СПТ961 № Название Краткое описание алгоритма I Подготовка запроса В массив байтов запроса записывается адрес опрашиваемого СПТ961, номер запрашиваемого параметра, метка времени для случая архивного запроса и байты подсчитанной контрольной суммы II Отправка запроса В COM-порт, связанный с каналом RS-485, записывается последовательность сформированного массива байтов. Если отправка не прошла успешно, переходим к этапу IV III Ожидание и получение ответа Из входного буфера COM-порта выделяется массив байтов ответа. Если подсчитанная контрольная сумма совпадает с полученной, идентифицируется номер полученного параметра, выделяется и сохраняется его значение IV Окончание обработки запроса При необходимости вызывается функциональный блок передачи данных по Ethernet к АРМ и функция для изменения адреса опрашиваемого СПТ961 и/или номера запрашиваемого параметра. Переход к этапу I
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy