|
def | __init__ (self, ServerSimulator ss=None, Subnetwork sn=None, msvCbRef=None, sim=True, **kwargs) |
| Инициализация экземпляра SVPublisher. Подробнее...
|
|
None | disable_all (cls) |
|
None | enable_all (cls) |
|
ServerSimulator | ss (self) |
| Получить экземпляр ServerSimulator, связанный с SVPublisher. Подробнее...
|
|
Subnetwork | sn (self) |
| Получить экземпляр Subnetwork, связанный с SVPublisher. Подробнее...
|
|
def | msvCbRef (self) |
| Получить ссылку на блок управления GOOSE. Подробнее...
|
|
def | enabled (self) |
|
def | enabled (self, bool enable) |
|
None | enable (self) |
| Включить SVPublisher. Подробнее...
|
|
None | disable (self) |
| Отключить GOOSEPublisher. Подробнее...
|
|
def | set_smpSynch (self, smpSynch) |
| Установить флаг синхронизации симулятора SVPublisher. Подробнее...
|
|
def | smpSynch (self) |
|
def | smpSynch (self, smpSynch) |
| Установить флаг синхронизации симулятора SVPublisher. Подробнее...
|
|
def | get_fcda_ref_list (self, ref_type=ReferenceType.ObjectReference) |
| Возвращает список ссылок на атрибуты данных из набора данных, на который ссылается указанный блок управления передачей SV. Подробнее...
|
|
Класс SVPublisher для имитации отправки сообщений SV.
Класс SVPublisher используется для имитации отправки сообщений Sampled Values (SV) в рамках определенной подсети. Каждый экземпляр связан с объектами ServerSimulator и Subnetwork. Класс гарантирует, что только один экземпляр SVPublisher будет создан для конкретной ссылки на управляющий блок SV. Если Subnetwork или ServerSimulator не предоставлены, создаются новые экземпляры. Этот класс позволяет моделировать различные состояния сигнала (например, доаварийное, аварийное и послеаварийное) с использованием класса SGSineWave для генерации сигналов и переключения между различными состояниями.
Пример использования класса SVPublisher:
try:
sp1 = SVPublisher()
TestEngine.log(f"{sp1} успешно инициализирован.")
Dialog.show_message(f"{sp1} успешно инициализирован. Нажмите ОК для включения")
sgSin1 = SGSineWave(sp1.ss.ied_name, sp1.ss.ap_name, 4)
TestEngine.log("Успешно инициализирован генератор сигналов с 4 группами")
sgSin1.set_signal_list(sp1.get_fcda_ref_list())
state1 = SG3PhaseState(cRms=1000, vRms=10000, cScale=1000)
state2 = SG3PhaseState(cRms=10000, vRms=7000, cScale=1000)
state3 = SG3PhaseState(cRms=100, vRms=10000, cScale=1000)
sgSin1.set_state(0, state1)
sgSin1.set_state(1, state2)
sgSin1.set_state(2, state3)
sgSin1.set_state(3, state1)
sgSin1.switch_to_state(1)
sp1.enabled = True
TestEngine.log(f"{sp1} успешно включен")
Dialog.show_message(f"{sp1} успешно включен. Нажмите ОК для переключения на состояние 2.")
sgSin1.switch_to_state(2)
Dialog.show_message(f"Генератор сигналов успешно переключен на состояние 2. Нажмите ОК для переключения на состояние 3.")
sgSin1.switch_to_state(3)
Dialog.show_message(f"Генератор сигналов успешно переключен на состояние 3. Нажмите ОК для завершения.")
del sp1
TestEngine.set_result(Result.SUCCESS)
except Exception as err:
TestEngine.log(f"Тест не выполнен: {err}")
TestEngine.set_result(Result.FAIL)