2013-11-25 22 views
6

Son zamanlarda bir Simulink modeli üzerinde çalışıyordum ve çok yoğun bir sistemi tellerin bükülmüş bir karışıklığı haline getirmek için Goto ve From bloklarını kullanıyordum. Goto ve From bloklarını kullanmama konusunda bilgilendirildim çünkü kötü stil olarak kabul ediliyorlar (en azından işverene göre).Simulink'te, Goto ve From blokları genellikle kötü bir stil olarak kabul edilir mi?

Ben telleri manken aksi geçti tellerin sürü neden olacaktır eğer Goto ve From blok anlamlı bir sistemin/alt sistem okunabilirliği artırmak inanıyoruz mümkün olduğunca bağlı tutulması gerektiğini tutun ederken; özellikle bloklar renk kodlu olabilirse (örneğin, mor Goto blok tüm mor From bloklarına gider).

Çalıştığım alt sistemin bir görüntüsünü sağladım, ancak buraya yerleştirebileceğime emin değilim. Alt sistemin kendisi, her biri iki veri yolu tipi çıkışa sahip 12 alt sistem bloğuna (ve muhtemelen daha sonra) sahiptir. Her bir alt sistemin ilk çıkışı bir Bus Creator bloğuna gider ve her birinin ikinci çıkışı ikinci bir Bus Creator bloğuna gider. Alt sistem dikey olarak hizalandığından ve Bus Creator s sağa doğru olduğundan, bu çoğu çapraz kablo ile sonuçlanır. Sistemi temizlemek için Goto ve From blokları kullanıyordum.

Bu soru için bir araya getirdiğim daha küçük ama benzer bir modelin görüntüsünü sağlayabilirim. Small Simulink system depicting crossed wires. 12 alt sistem sırasındaki bir sistem için bu çok meşgul olur. Alt sistemleri ve Bus Creator s çapraz kablolar çok olmadan, Goto ve From blokları kullanıyordum.

benim işveren metin tabanlı dillerden goto ifadelerini kullanarak ve Simulink'de Goto/ From bloktan uygulamaya ilişkin stigma taşıyor olabilir inanıyoruz. Genel olarak, Goto ve From bloklarını bu şekilde (veya herhangi bir şekilde) kötü bir stil olarak mı kullanıyorsunuz?

+0

'Goto' blokları mutlaka kötü bir stil değildir. Otobüslerle birlikte, kablo karmaşasından kaçınmak için geçerli bir yaklaşımdırlar. – Karlo

cevap

7

Mathworks Automotive Advisory Board, Goto/From kullanımını içeren bazı modelleme guidelines (PDF) yayınlamıştır. onlar listelemek kurallar şunlardır:

  1. yani tüm girişler/çıkış portları Goto s üzerinden bağlanır yüzen alt sistemleri, yok mu. Simulink ile ilgili en önemli şeylerden biri, sadece akıl almaz görsel denetim ile sinyal akışını belirleme yeteneğidir, Goto s ile her şeyi birbirine bağlayarak yok etmeyin. En azından sinyal hatları ile bağlı alt sistemler arasında bir besleme ileri ve bir geribildirim döngüsü var. geribesleme sinyallerine

    • Benim kişisel görüşüm hepsi sinyal hatları ile bağlantılı gerektiğini, ancak hepsi clutters modelini çizim nerede sen durumlarda elde edebilirsiniz eminim.

  2. ikinci kılavuz Goto etiketin kapsamı ile ilgilidir; Görünürlüğü local mümkün olduğunca koruyun.

    • Sana aşağı Goto gelen seviyelerinin bir çift daha eşleşen From daha kullanmadığınız olarak scoped görünürlük ayarını sürece de kabul edilebilir hissediyorum. Genel bir Goto etiketi için meşru bir ihtiyaca rastlamadım.

Yani, tüm Goto kullanım fena değil ve bunu bazı durumlarda okunabilirliği artırmak sağ şeyiz. Yani, Gotos'un yukarıdaki resim için haklı olduğunu sanmıyorum. Bunun sadece bir örnek olduğunu anlıyorum, fakat yaratılan otobüslerin yaratıcının girdilerinin sırasının sanal olması fark etmez ve Bus Create ve Mux blok girişlerinin yeniden düzenlenmesi okunabilirlik için harikalar yaratabileceğine işaret etmeliyim.

Yukarıdaki yönergelerin sorunlarından biri, onları bükme yeri olmasıdır ve ekibinizdeki geliştiriciler bunu yapabilir. Herkes ilk başta onları takip etme konusunda gayretli olsa bile, bu kılavuzun bir gününü, bir süre sonra, işleyişin rafine edilmesi/eklenmesi için modelin bu bölümünü yeniden çizdiğinizde, çok uzun bir süre sonra çalıştırabilirsiniz. Yeniden düzenleme girişleri ve çıkışları, bazı yeni ve yeni özelliklerin uygulanmasının ortasında özellikle rahatsız edici olabilir. Bu, işvereninizin battaniye yasağı getirmeyi seçmesinin nedeni olabilir. Bazı durumlarda elverişsizdir, ancak uygulanması daha kolaydır.

+0

Giriş için teşekkürler! Goto ve From bloklarını kullanmadan sinyallerin yerden geçmesini önlemek için çok basit bir yol olduğunu anlamış oldum. – celestialorb

İlgili konular