Sayangnya jawabannya akan tergantung pada vendor PLC yang Anda gunakan. Sebagian besar dari mereka menyimpan kode mereka dalam format file berpemilik, sehingga membuatnya sulit untuk menggunakan kontrol sumber reguler.
Rockwell menawarkan FactoryTalk AssetCenter jika Anda menggunakan Allen-Bradley. Saya belum memberi harga, tapi kemungkinan mahal. Itu lebih dari kontrol sumber.
Saya telah menggunakan kontrol sumber (Mercurial) biasa dengan file Beckhoff TwinCAT PLC. Tampaknya berhasil, tetapi saya tidak pernah harus bergabung dengan siapa pun. Versi baru mereka dari TwinCAT (3) yang keluar akhir tahun ini seharusnya dibangun di Visual Studio 2010, dan saya berasumsi akan memiliki penawaran out-of-the-box yang jauh lebih baik untuk integrasi kontrol versi. Semoga saja.
Mulai Edit
Saya hanya ingin menambahkan bahwa saya sekarang menggunakan produk TwinCAT 3 yang baru, dan saya menggunakan Mercurial (TortoiseHg dan add-in VisualHg untuk Visual Studio). Ini bekerja dengan cukup baik. Pertama-tama VisualHg membuatnya terasa sangat terintegrasi ke dalam Visual Studio 2010 IDE yang menggunakan TwinCAT 3. Namun, kode sumber untuk program TwinCAT 3 umumnya disimpan dalam file XML. Ini adalah peningkatan besar dibandingkan format biner milik vendor lain yang telah saya gunakan, tetapi masih belum tergabung dengan baik. Beberapa file tidak memiliki jeda baris dalam XML (saya sudah menulis kepada Beckhoff tentang ini) yang berarti sistem kontrol sumber garis-demi-garis tidak banyak membantu. Juga, karena ini XML, pemesanan node dalam file XML tampaknya berubah secara acak, bahkan ketika Anda tidak membuat perubahan apa pun. Juga, Saya pikir kadang-kadang menghasilkan ID baru untuk beberapa node ketika tidak harus, yang membuat untuk perubahan berlebihan yang diambil Hg. Ini secara efektif membuat tidak mungkin untuk membuat perubahan pada program TwinCAT 3 oleh 2 programmer pada saat yang bersamaan, dan kemudian menggabungkan perubahan. Ini adalah pengawasan yang disayangkan oleh para pengembang TwinCAT 3, yang tidak diragukan lagi menggunakan kontrol sumber secara teratur dalam pekerjaan mereka sendiri, dan tidak melihat keuntungan bagi kami para pemrogram otomasi rendah untuk memiliki akses ke alat yang sama kuatnya. :( yang tidak diragukan lagi menggunakan kontrol sumber secara teratur dalam pekerjaan mereka sendiri, dan tidak melihat keuntungan bagi kami programmer otomasi rendah untuk memiliki akses ke alat yang sama kuatnya. :( yang tidak diragukan lagi menggunakan kontrol sumber secara teratur dalam pekerjaan mereka sendiri, dan tidak melihat keuntungan bagi kami programmer otomasi rendah untuk memiliki akses ke alat yang sama kuatnya. :(
Akhiri Edit
Mulai Edit # 2
Saya ingin menunjukkan bahwa TwinCAT 3.1 sekarang memiliki format file yang lebih cocok untuk kontrol sumber, terutama file bahasa teks terstruktur. Bahkan, produk ini sekarang dibangun untuk mendukung integrasi ke Server Team Foundation, saya percaya.
Akhiri Edit # 2
Alternatif lain adalah sebagian besar program PLC dapat diekspor ke file teks. RSLogix 5000, misalnya, mengekspor proyeknya ke file L5K, yang hanya berupa teks. Saya telah menjalankan skrip terhadap file-file itu sebelumnya - mereka cukup mudah diurai. Mereka akan bekerja dengan baik dengan kontrol sumber. Tentu saja itu berarti mengekspor setiap waktu, yang menyebalkan.
Jika Anda menggunakan kontrol versi standar, saya sangat menyarankan VCS terdistribusi, seperti Git atau Mercurial, karena dengan PLC, separuh waktu Anda berada di lokasi dan tidak dapat terhubung ke server rumah Anda, jadi kemampuan untuk melakukan komitmen lokal adalah bonus nyata.
Hal lain yang harus Anda sadari adalah bahwa beberapa lingkungan pemrograman PLC, seperti RSLogix, sudah menyertakan alat diff, sehingga Anda dapat menjalankan diff terhadap dua versi proyek Anda. Ini, dikombinasikan dengan menyimpan file baru dengan tanggal hari ini setiap hari, adalah hal yang tampaknya dimiliki oleh sebagian besar toko otomasi.