Maalesef cevap kullandığınız PLC satıcısına bağlı olacaktır. Birçoğu kodlarını özel dosya biçimlerinde saklar, bu nedenle düzenli kaynak kontrolünü kullanmayı zorlaştırır.
Allen-Bradley kullanıyorsanız Rockwell, FactoryTalk AssetCenter'ı sunar . Ben fiyat değil, ama muhtemelen pahalı. Yine de kaynak kontrolünden daha fazlasını yapar.
Beckhoff TwinCAT PLC dosyalarıyla düzenli (Mercurial) kaynak kontrolü kullandım. Bu iyi çalışıyor gibi görünüyor, ama hiç kimseyle birleşmek zorunda kalmadım. Bu yıl içinde çıkacak olan yeni TwinCAT (3) sürümünün Visual Studio 2010 üzerine inşa edilmesi gerekiyor ve sürüm kontrolü entegrasyonu için çok daha iyi hazır tekliflere sahip olacağını varsayıyorum. Parmaklar geçti.
Düzenlemeye Başla
Sadece yeni TwinCAT 3 ürününü kullandığımı ve Mercurial (TortoiseHg ve Visual Studio için VisualHg eklentisi) kullandığımı eklemek istedim. Oldukça iyi çalışıyor. Her şeyden önce VisualHg, TwinCAT 3'ün kullandığı Visual Studio 2010 IDE ile çok entegre hissettiriyor. Ancak, TwinCAT 3 programlarının kaynak kodu genellikle XML dosyalarında saklanır. Bu, kullandığım diğer satıcının tescilli ikili biçimlerine göre büyük bir gelişme, ancak yine de iyi bir şekilde birleşmiyor. Bazı dosyaların XML'de herhangi bir satır sonu yok (bu konuda Beckhoff'a yazdım), bu da satır satır kaynak kontrol sisteminin fazla bir şey yapmadığı anlamına geliyor. Ayrıca, XML olduğu için, XML dosyasındaki düğümlerin sıralaması, herhangi bir değişiklik yapmasanız bile rastgele değişiyor gibi görünüyor. Ayrıca, Bazı düğümler için bazen gerekli olmadığında yeni kimlikler oluşturduğunu düşünüyorum, bu da Hg'nin aldığı gereksiz değişiklikleri yapar. Bu, aynı anda 2 programcı tarafından bir TwinCAT 3 programında değişiklik yapmayı ve ardından değişiklikleri birleştirmeyi imkansız hale getirir. Şüphesiz kaynak işlerini düzenli olarak kendi işlerinde kullanan TwinCAT 3 geliştiricileri tarafından talihsiz bir gözetim ve düşük otomasyon programcılarının benzer güçlü araçlara erişebilmesinin avantajını görmedik. :( hiç şüphesiz kendi çalışmalarında kaynak kontrolünü düzenli olarak kullanan ve düşük otomasyon programcılarının benzer güçlü araçlara erişebilmesinin avantajını görmeyen :( hiç şüphesiz kendi çalışmalarında kaynak kontrolünü düzenli olarak kullanan ve düşük otomasyon programcılarının benzer güçlü araçlara erişebilmesinin avantajını görmeyen :(
Düzenlemeyi Sonlandır
Düzenlemeyi Başlat # 2
TwinCAT 3.1'in artık kaynak kontrolüne, özellikle de yapılandırılmış metin dili dosyalarına daha uygun dosya formatlarına sahip olduğunu belirtmek isterim. Aslında, ürünün artık Team Foundation Server ile entegrasyonu destekleyecek şekilde üretildiğine inanıyorum.
Düzenlemeyi Sonlandır # 2
Diğer alternatif, çoğu PLC programının metin dosyalarına aktarılabilmesidir. Örneğin RSLogix 5000, projelerini sadece metin olan bir L5K dosyasına aktarır. Daha önce bu dosyalara yönelik komut dosyaları çalıştırdım - ayrıştırılması oldukça kolaydır. Kaynak kontrolü ile iyi çalışırlardı. Tabii ki bu her zaman ihracat anlamına geliyor, bu berbat.
Herhangi bir standart sürüm kontrolü ile giderseniz, Git veya Mercurial gibi dağıtılmış bir VCS öneririm, çünkü PLC'lerde, yerinde olduğunuz ve ev sunucunuza bağlanamadığınız sürenin yarısı, böylece yerel taahhütleri yerine getirme yeteneği gerçek bir bonus.
Fark etmeniz gereken diğer bir şey, RSLogix gibi bazı PLC programlama ortamlarının zaten bir fark aracı içermesidir, böylece projelerinizin iki sürümüne karşı diffs'ler çalıştırabilirsiniz. Bu, her gün bugünün tarihi ile yeni bir dosya kaydetmeyle birlikte, çoğu otomasyon mağazasının uğraştığı şeydir.