Как получить информацию о детекторе из 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, надеюсь, ответ будет полезным для вас:)