Annonce

Réduire
Aucune annonce.

Annonce

Réduire
Aucune annonce.

Détection d'occupation dans les itinéraires prédéfinis.

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Détection d'occupation dans les itinéraires prédéfinis.


    Salutations à tous et merci d'avance pour vos réponses à ce mon premier message dans le forum. J'ai une plage de piste où sont garés des wagons de marchandises d'une capacité de 20 convois. L'accès à chacune des routes se fait par un itinéraire prédéfini. Afin de connaître les itinéraires qui sont gratuits et de pouvoir garer de nouveaux convois, j'ai besoin d'un type de code lua pour pouvoir déterminer quels itinéraires sont disponibles et lesquels sont occupés. Je le répète encore, merci beaucoup et désolé pour les fautes d'orthographe (Google Translate).

    Josep Miquel.

  • #2
    Hello Josep !

    Je te donne déjà une solution :
    1. Tu testes la section de voie devant le signal pour savoir si tu as au moins un wagon devant le signal,

    Dans l'encadré rouge, tu as les sections de voies à tester. Ici la 5, 6, 7 sont libres. Tu utilises les fonctions EEPRegisterRailTrack() et EEPIsRailTrackReserved(). Le mieux est de mettre tout ça dans une boucle MAIS avant ça, numéro des sections de voies dans l'ordre croissant. Ainsi avec ta boucle, tu peux toutes les tester de façon linéaire. Cela évite de faire autant de test que tu as de voies à tester.


    function xxxxxxx()
    local bool_Si_Occupe = nil

    for i = 1, 8 do
    result, bool_Si_Occupe = EEPIsRailTrackReserved(i)

    if bool_Si_Occupe == false then
    -- La voie est libre

    else

    -- La voie est occupée

    end

    end

    end -- Fin de la fonction xxxxxxxx

    Tu remplaces les chiffres 1 et 8 par les numéros ID de tes sections de voies. Avant, n'oublies pas d'enregistrer tes voies avec la fonction EEPRegisterRailTrack()


    for i = 1, 8 do
    ok = EEPRegisterRailTrack(i)
    end


    Il y a d'autres solutions, essayes d'abord celle-ci. Elle a l'avantage de prendre peu de place dans ton script lua.

    Amitiés

    Domi
    EEP16, 15, 14, 13, 11, MK, Home-Nos

    Commentaire


    • #3

      Merci Domi pour votre réponse rapide.

      J'étudiais déjà la solution que vous avez indiquée, mais elle ne répond pas pleinement à mon besoin. Je m'explique ..... Avec la technique que vous indiquez, je ne teste que le début de la route, mais pas le reste du tronçon total en plus des détours précédents depuis le début de l'itinéraire - qui peuvent parfois être utilisés par d'autres convois sur d'autres itinéraires -. Dans le reste des voies de cette section, j'ai parfois des wagons en vrac qui seront ensuite affectés par sélection à d'autres convois. J'étudie la possibilité de créer une multi matrice qui rassemble toutes les sections de chacun des 20 itinéraires de la plage au premier plan et si je vois que ce "tracking" tourne vite, voir pour ajouter les sections qui occupent les détours précédents , bien que cela compliquerait beaucoup le projet. En fin de compte, je vais essayer de créer une matrice multi avec les sections de piste des 20 pistes et voir comment elle se comporte. L'idéal aurait été de pouvoir utiliser la technique qu' EEP met en œuvre lorsque vous essayez de démarrer un itinéraire entre deux points, avec un wagon sur la piste, et que vous obtenez le message qu'il n'est pas possible de régler le rapport car la piste est occupée.

      Bon, en tout cas, merci beaucoup Domi. Je vais continuer à projeter la technique que j'ai exposée, et si entre-temps une autre solution sort…, tant mieux. Merci beaucoup, Cordialement.

      Commentaire


      • #4
        Bonjour Josep,

        J'ai du mal à comprendre ton problème, mais cela vient du traducteur. Essayes d'utiliser DeepL.com au lieu de google translate.

        A bientôt. Cordialement.

        Domi
        EEP16, 15, 14, 13, 11, MK, Home-Nos

        Commentaire


        • #5
          Merci encore Domi pour vos efforts et pour votre réponse rapide précédente.

          J'ai déjà étudié la solution que vous avez indiquée, mais elle ne correspond pas tout à fait à mes besoins. Laissez-moi vous expliquer ..... Avec la technique que vous indiquez, je ne vérifie que le début de l'itinéraire comme vous l'indiquez, mais pas le reste de la section, plus les aiguillages précédents du début de l'itinéraire - qui peuvent parfois être utilisés par d'autres convois sur d'autres itinéraires-. Sur le reste des voies de cette section, j'ai parfois des wagons dispersés qui sont ensuite affectés à d'autres convois. J'étudie la possibilité de créer une matrice multidimensionnelle qui inclut toutes les sections de chacune des 20 pistes de la plage. L'idéal aurait été de pouvoir utiliser la technique utilisée par l'EEP lorsque vous essayez de commencer un itinéraire entre deux points, avec un wagon qui occupe la voie, et que vous obtenez le message qu'il n'est pas possible de fixer l'itinéraire prédéfini parce que la voie est occupée.

          En tout cas, merci beaucoup Domi. Je vais continuer à programmer la technique que j'ai exposée, et si entre-temps une autre solution se présente, c'est la meilleure. Merci beaucoup, et j'insiste pour vous remercier de vos efforts pour me comprendre.

          Cordialement vôtre. Josep Miquel

          Traduit avec www.DeepL.com/Translator (version gratuite)

          Commentaire

          Chargement...
          X