Controle de Medidores da API do Aimsun Next¶
Funções Relacionadas a Medidores de Rampa¶
Ler número de medidores de rampa¶
Em C++ e Python¶
Explicação¶
Ler o número de medidores de rampa presentes na rede viária.
Formato¶
int ECIGetNumberMeterings ()
Parâmetros¶
Nenhum parâmetro necessário.
Saída¶
Saída¶
- ≥ 0: O número de medidores de rampa na rede viária
- < 0: Erro
Ler informações de um medidor de rampa¶
Em C++ e Python¶
Explicação¶
Ler as informações do medidor de rampa elem-th.
Formato¶
structA2KMetering ECIGetMeteringProperties (int elem)
structA2KMetering ECIGetMeteringPropertiesById (int IdMetering)
Parâmetros¶
- elem: Deve estar entre 0 e o número total de medidores de rampa -1
- IdMetering: O identificador do medidor de rampa.
Saída¶
struct structA2KMetering {
int report;
int Id;
int IdSection;
int IdFirstLane;
int IdLastLane;
int Type;
double Distance;
const unsigned short* Name;
int Platoon;
};
em que:
- relatório: 0, OK, caso contrário código de erro.
- Id: Identificador do ramp meter.
- IdSection: Identificador da seção onde o medidor de rampa está localizado.
- IdFirstLane: Primeira faixa que o medidor de rampa cobre.
- IdLastLane: Última faixa coberta pelo medidor de rampa.
- Digite: Tipo de medidor de rampa: 1: GREEN, 2: FLOW, 3:DELAY, 4:FLOW ALINEA, 5:GREEN BY LANE.
- Distância: Posição do início do medidor de rampa, em relação ao início da seção.
- Nome: Nome do medidor de rampa.
- Pelotão: Em medidores de rampa por fluxo, o número de veículos por faixa que permitirão atravessar.
Ler o Identificador de Seção de um medidor de rampa¶
Em C++ e Python¶
Explicação¶
Ler o identificador da seção que contém o elem-ésimo medidor de rampa presente na rede viária.
Formato¶
int ECIGetMeteringIdSection(int elem)
Parâmetros¶
- elem: O índice do medidor de rampa dentro do intervalo 0 ≤ elem < número de medidores de rampa –1.
Saída¶
- > 0: identificador da seção que contém o elem-ésimo medidor de rampa.
- < 0: Erro
Ler o Identificador do Medidor de Rampa¶
Em C++ e Python¶
Explicação¶
Ler o identificador do medidor de rampa que contém o elem-ésimo medidor de rampa presente na rede viária.
Formato¶
int ECIGetMeteringIdByPosition (int elem)
Parâmetros¶
- elem: O índice do controlador de acesso à rampa dentro do intervalo 0 ≤ elem < número de controladores de acesso à rampa –1
Saída¶
- > 0: identificador do medidor de rampa.
- < 0: Erro
Ler o Identificador do Ramp Meter (Função obsoleta)¶
Em C++ e Python¶
Explicação¶
Lê o identificador do medidor de rampa a partir de uma seção. Esta função foi descontinuada na versão 6. Use a função ECIGetMeteringIdByPosition em seu lugar.
Formato¶
int ECIGetMeteringId (int idsection)
Parâmetros¶
- idsection: O identificador da seção para a seção onde o controlador de acesso à rampa está localizado
Saída¶
- > 0: identificador do medidor de rampa.
- < 0: Erro
Ler o Identificador do Medidor de Rampa¶
Em C++ e Python¶
Explicação¶
Lê o identificador do medidor de rampa a partir de uma seção e de uma posição dentro da seção (a partir do início da seção).
Formato¶
int ECIGetMeteringIdByPos (int idsection, double position)
Parâmetros¶
- idsection: O identificador da seção para a seção onde o controlador de acesso à rampa está localizado
- posição: A posição a partir do início da seção onde o medidor de rampa está localizado, nas unidades da rede (metros ou pés).
Saída¶
- > 0: identificador do medidor de rampa.
- < 0: Erro
Ler o Nome de um medidor de rampa¶
Em C++ e Python¶
Explicação¶
Leia o nome de um medidor de rampa presente em uma seção.
Formato¶
const unsigned short *ECIGetMeteringNameById(int idmetering);
const unsigned short *ECIGetMeteringName(int idsection) (Deprecated function)
Parâmetros¶
- idmetering: O identificador do medidor de rampa
- idsection: O identificador da seção para a seção onde o medidor de rampa está localizado.
Saída¶
- < > NULL: nome do medidor de rampa
- = NULL: Erro
Código de exemplo em Python:
nonChar = boolp()
name = AKIConvertToAsciiString(ECIGetMeteringNameById(idmetering), True, nonChar)
Ler o Tipo de controlador de rampa¶
Em C++ e Python¶
Explicação¶
Ler o tipo de medidor de rampa presente em uma seção. O tipo de um medidor de rampa pode ser 0: None; 1: GREEN METERING; 2: FLOW METERING; 3: DELAY METERING; 4: FLOW-ALINEA METERING; 5: GREEN BY LANE METERING.
Formato¶
int ECIGetTypeMeteringById(int idmetering);
int ECIGetTypeMetering (int idsection) (Deprecated function)
Parâmetros¶
- idmetering: O identificador do medidor de rampa
- idsection: Um identificador válido de uma seção.
Saída¶
- ≥ 0: Nenhum erro ocorreu.
- < 0: Erro
Ler os Parâmetros de Controle de um Medidor de Rampa por Verde¶
Em C++ e Python¶
Explicação¶
Ler os parâmetros de um medidor de rampa por verde definidos no controle atual.
Formato¶
int ECIGetParametersGreenMeteringById(int idmetering, double timeSta, double *amax, double *greenTime, double *amin, double *cycleTime, double *offset, double *yellowTime);
int ECIGetParametersGreenMetering (int idsection, double timeSta, double *amax, double *greenTime, double *amin, double *cycleTime, double *offset, double *yellowtime) (deprecated function)
Parâmetros¶
- idmetering: O identificador do medidor de rampa
- idsection: Um identificador de seção válido.
- timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
- amax: O valor retorna o tempo verde máximo atual em segundos.
- greenTime: Value retorna o tempo de verde atual, em segundos.
- amin: Value retorna o tempo verde mínimo atual, em segundos.
- cycleTime: Value retorna o tempo de ciclo atual, em segundos.
- offset: O valor retorna o offset, em segundos.
- yellowtime: O valor retorna o tempo de amarelo, em segundos.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Alterar os Parâmetros de Controle de um Green Ramp Meter¶
Em C++ e Python¶
Explicação:¶
Altera os parâmetros de um medidor de rampa por verde definidos no controle atual.
Formato¶
int ECIChangeParametersGreenMeteringById(int idmetering, double timeSta, double amax, double ngreenTime, double amin, double ncycleTime, double offset, double yellowTime, double currentTime, double currentTimeTrans, double cycle);
int ECIChangeParametersGreenMetering(int idsection, double timeSta, double amax, double ngreenTime, double amin, double ncycleTime, double offset, double yellowtime, double currentTime, double currentTimeTrans, double cycle)
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- idsection: Um identificador de seção válido.
- timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
- amax: O novo tempo máximo de verde, em segundos.
- ngreenTime: O novo tempo de verde, em segundos.
- amin: O novo tempo mínimo de verde, em segundos.
- ncycleTime: O novo tempo de ciclo, em segundos.
- offset: O novo offset, em segundos.
- yellowtime:O novo tempo de amarelo, em segundos.
- currentTime:O tempo atual da simulação.
- currentTimeTrans:O tempo atual de simulação sem o aquecimento.
- ciclo:O passo atual da simulação.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Ler os parâmetros de controle de um medidor de rampa Green by Lane¶
Em C++ e Python¶
Explicação¶
Lê os parâmetros de um medidor de rampa verde por faixa que estão definidos no controle atual.
Formato¶
int ECIGetParametersGreenMeteringByLaneById(int idmetering, double timeSta, double *amax, double *greenTime, double *amin,double *cycleTime, double *offset, double *yellowTime, double *laneOffset);
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
- amax: O valor retorna o tempo verde máximo atual em segundos.
- greenTime: Value retorna o tempo de verde atual, em segundos.
- amin: Value retorna o tempo mínimo de verde atual, em segundos.
- cycleTime: Value retorna o tempo de ciclo atual, em segundos.
- offset: O valor retorna o offset, em segundos.
- yellowtime: O valor retorna o tempo de amarelo, em segundos.
- laneOffset: Value retorna o atraso na ativação do verde entre faixas, em segundos.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Alterar os parâmetros de controle de um medidor de rampa verde por faixa¶
Em C++ e Python¶
Explicação¶
Altera os parâmetros de um medidor de rampa verde por faixa definidos no controle atual.
Formato¶
int ECIChangeParametersGreenMeteringByLaneById(int idmetering, double timeSta,double amax, double ngreenTime, double amin, double ncycleTime, double offset, double yellowTime, double laneOffset , double currentTime, double currentTimeTrans, double cycle);
Parâmetros¶
- idmetering: O identificador do medidor de rampa
- timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
- amax: O novo tempo máximo de verde, em segundos.
- ngreenTime: O novo tempo de verde, em segundos.
- amin: O novo tempo mínimo de verde, em segundos.
- ncycleTime: O novo tempo de ciclo, em segundos.
- offset: O novo offset, em segundos.
- yellowtime: O novo tempo de amarelo, em segundos.
- laneOffset: O atraso para ativar o verde entre faixas, em segundos.
- currentTime: O tempo atual da simulação.
- currentTimeTrans: O tempo de simulação atual sem considerar o aquecimento.
- ciclo: O passo de simulação.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Ler os Parâmetros de Controle de um Medidor de Rampa por Fluxo¶
Em C++ e Python¶
Explicação¶
Ler os parâmetros de um medidor de rampa de fluxo definidos no controle atual.
Formato¶
int ECIGetParametersFlowMeteringById(int idmetering, double timeSta, double *amax, double *flow, double *amin);
int ECIGetParametersFlowMetering (int idsection, double timeSta, double * amax,double *flow, double *amin) (Deprecated function)
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- idsection: Um identificador de seção válido.
- timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
- amax: Valor retornado para o fluxo máximo permitido.
- fluxo: Valor retornado para o fluxo permitido.
- amin: Valor retornado para o fluxo mínimo permitido.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Alterar os Parâmetros de Controle de um Medidor de Rampa por Fluxo¶
Em C++ e Python¶
Explicação¶
Altera os parâmetros de um medidor de rampa de fluxo definidos no controle atual.
Formato¶
int ECIChangeParametersFlowMeteringById(int idmetering, double timeSta, double amax, double flow, double amin , double currentTime, double cycle);
int ECIChangeParametersFlowMetering (int idsection, double timeSta, double amax, double flow, double amin, double currentTime, double cycle) (Deprecated function)
int ECIChangeParametersFlowMeteringResetById(int idmetering, double timeSta, double amax, double flow, double amin, double currentTime, double cycle, bool resetToGreen);
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- idsection: Um identificador de seção válido.
- timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
- amax: A nova vazão máxima permitida, em veículos por hora.
- newflow: O novo fluxo permitido, em veículos por hora.
- amin: A nova vazão mínima permitida, em veículos por hora.
- currentTime: O tempo atual da simulação.
- ciclo: A etapa atual da simulação.
- resetToGreen: Se true, ele redefinirá o estado do medidor de rampa. Se false, considerará as novas taxas após o próximo verde programado
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Ler os parâmetros de controle de um medidor de rampa Flow-ALINEA¶
Em C++ e Python¶
Explicação¶
Lê os parâmetros de um medidor de rampa flow-ALINEA que estão definidos no controle atual.
Formato¶
int ECIGetParametersFlowAlineaMeteringById(int idmetering, double timeSta, double *amax, double *flow, double *amin, double *kr, double *ostar, double *intervalUpdate);
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
- amax: Valor retornado para o fluxo máximo permitido.
- fluxo: Valor retornado para o fluxo permitido.
- amin: Valor retornado para o fluxo mínimo permitido.
- kr: Valor para o parâmetro do regulador para este medidor de rampa.
- ostar: Ocupação alvo na via principal.
- intervalUpdate: Intervalo no qual o fluxo é recalculado, em segundos.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Alterar os parâmetros de controle de um medidor de rampa Flow-ALINEA¶
Em C++ e Python¶
Explicação¶
Altera os parâmetros de um medidor de rampa flow-ALINEA que são definidos no controle atual.
Formato¶
int ECIChangeParametersFlowAlineaMeteringById(int idmetering, double timeSta, double amax, double flow, double amin, double kr, double ostar, double intervalUpdate, double currentTime, double cycle);
int ECIChangeParametersFlowAlineaMeteringResetById(int idmetering, double timeSta, double amax, double flow, double amin, double kr, double ostar, double intervalUpdate, double currentTime, double cycle, bool resetToGreen);
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
- amax: A nova vazão máxima permitida, em veículos por hora.
- newflow: O novo fluxo permitido, em veículos por hora.
- amin: A nova vazão mínima permitida, em veículos por hora.
- kr: O parâmetro do regulador.
- ostar: A ocupação-alvo na via principal.
- intervalUpdate: O intervalo no qual o fluxo será recalculado, em segundos.
- currentTime: O tempo atual da simulação.
- ciclo: O passo de simulação.
- resetToGreen: Se true, redefinirá o estado do controlador de rampa. Se false, considerará as novas taxas após o próximo verde programado.
Saída¶
- = 0: Nenhum erro ocorreu.
- <0: Erro
Ler os Parâmetros de Controle de um Medidor de Rampa por Atraso¶
Em C++ e Python¶
Explicação¶
Ler os parâmetros de um medidor de rampa por atraso definidos no controle atual.
Formato¶
int ECIGetParametersDelayMeteringById(int idmetering, double timeSta, double *avg, double *dev);
int ECIGetParametersDelayMetering (int idsection, double timeSta, double * avg, double *dev) (Deprecated function)
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- idsection: Um identificador de seção válido.
- timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
- avg: Valor retornado para o tempo médio de atraso.
- dev: Valor retornado para o tempo de atraso de desvio.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Alterar os Parâmetros de Controle de um Delay Ramp Meter¶
Em C++ e Python¶
Explicação¶
Altera os parâmetros de um medidor de rampa por atraso definidos no controle atual.
Formato¶
int ECIChangeParametersDelayMeteringById(int idmetering, double timeSta, double newavg, double newdev);
int ECIChangeParametersDelayMetering (int idsection, double timeSta, double newavg, double newdev) (Deprecated function)
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- idsection: Um identificador de seção válido.
- timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
- newavg: O novo tempo médio de atraso.
- newdev: O novo tempo de atraso por desvio.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Alterar os parâmetros de controle de um medidor de rampa com atraso para um tipo de veículo¶
Em C++ e Python¶
Explicação¶
Altera os parâmetros de um medidor de rampa por atraso que estão definidos no controle atual para um tipo de veículo específico.
Formato¶
int ECIChangeParametersDelayMeteringVehTypeById(int idmetering, double timeSta, double newavg, double newdev, int idVehPos)
int ECIChangeParametersDelayMeteringVehType(int idsection, double timeSta, double newavg, double newdev, int idVehPos) (Deprecated function)
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- idsection: Um identificador de seção válido.
- timeSta: O tempo de simulação no período estacionário, em segundos a partir da meia-noite.
- newavg: O novo tempo médio de atraso.
- newdev: O novo tempo de atraso por desvio.
- idVehPos: A posição do tipo de veículo.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Desativar o plano de controle fixo de um medidor de rampa¶
Em C++ e Python¶
Explicação¶
Desabilita o plano de controle fixo atual de um medidor de rampa, de modo que as mudanças de estado sejam totalmente controladas pelo Aimsun Next API Module.
Formato¶
int ECIDisableEventsMeteringById(int idmetering);
int ECIDisableEventsMetering(int idsection) (Deprecated function)
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- idsection: Um identificador de seção válido.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Habilitar o plano de controle fixo de um medidor de rampa¶
Em C++ e Python¶
Explicação¶
Ativa o plano de controle fixo atual de um medidor de rampa, de modo que as mudanças de estado sejam completamente controladas pelo Aimsun Next, levando em conta os parâmetros definidos no controle atual.
Formato¶
int ECIEnableEventsMeteringById(int idmetering)
int ECIEnableEventsMetering (int idsection) (Deprecated function)
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- idsection: Um identificador de seção válido.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Alterar o estado de um medidor de rampa¶
Em C++ e Python¶
Explicação¶
Altera o estado de um medidor de rampa. Se a estrutura de controle estiver habilitada, o Aimsun Next programa a próxima alteração, levando em conta os parâmetros que definem o controle. Em Medidores de Rampa Verde e de Fluxo, é possível mudar para verde e para vermelho, mas em medidores de rampa por atraso só é possível mudar para verde e é necessário definir em qual faixa.
Formato¶
int ECIChangeStateMeteringById(int idmetering, int aState, double time, double cycle, int identity, double timeProportion=0.0)
int ECIChangeStateMetering(int idsection, int aState, double time, double cycle, int identity) (Deprecated function)
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- idsection: Um identificador de seção válido.
- aState: Um estado válido( 0: RED 1:GREEN 2:YELLOW).
- tempo: Um tempo relativo de simulação em segundos.
- ciclo: A duração de cada etapa de simulação em segundos.
- identity: É o número da Faixa 1...N. Só precisa ser especificado em Medidores de Rampa por Atraso ou Medidores de Rampa por Tempo de Verde por Faixa.
Saída¶
- = 0: Nenhum erro ocorreu.
- < 0: Erro
Obter o Estado Atual de um medidor de rampa¶
Em C++ e Python¶
Explicação¶
Obtém o estado atual de um medidor de rampa.
Forma¶
int ECIGetCurrentStateofMeteringById(int idmetering, int idlane)
int ECIGetCurrentStateofMetering(int idsection, int identity) (Deprecated function)
Parâmetros¶
- idmetering: O identificador do medidor de rampa.
- idsection: Um identificador de seção válido.
- identity: É o número da Faixa 1...N. Somente em Delay Ramp Meters.
Saída¶
- ≥ 0: O Estado Atual ( 0: RED 1:GREEN 2:YELLOW)
- < 0: Erro