Как получить информацию о детекторе из COM-интерфейса VISSIM

Как узнать состояние детектора через COM-интерфейс VISSIM?

2 ответа

Решение

Детекторы, или, как называет это Vissim, измерения сбора данных могут быть получены из COM с помощью команды:

Detector = Vissim.Net.DataCollectionMeasurements.ItemByKey(detector ID) 

Затем вы можете проверить необходимые значения, если они есть, с помощью этой команды:

Speed = Detector.AttValue('Speed(Current,Avg,All)')

Это восстановит текущую среднюю скорость для всех полос движения.

Я не имею представления о C#, но знаю, как узнать состояние детекторов из COM-интерфейса VISSIM.

sim = CreateObject("VISSIM.Vissim.700")

Detector=sim.net.Detectors

Set deton = dets.itembykey(1)

если вы хотите знать, импульсный детектор или нет

a=deton.attvalue("Impulse")

если вы хотите знать, скорость транспортных средств, которая определяется с помощью этих детекторов, то

b=detup1.attvalue("VehSpeed")

Затем выведите результат

guiSheet.Range("a1").Value = a
guiSheet.Range("b1").Value = b

Пожалуйста, обратите внимание, вы должны определить guiSheet следующим образом

guiSheet = Worksheets("VISSIM")

Затем вы можете получить статус детектора в VISSIM. Помимо скорости и состояния импульса, вы также можете найти множество других состояний, например, занятость.

Я также новичок в VISSIM COM-Interface, надеюсь, ответ будет полезным для вас:)

Другие вопросы по тегам