Thật không may, câu trả lời sẽ phụ thuộc vào nhà cung cấp PLC mà bạn đang sử dụng. Hầu hết trong số họ lưu trữ mã của họ ở định dạng tệp độc quyền, do đó gây khó khăn khi sử dụng kiểm soát nguồn thông thường.
Rockwell cung cấp FactoryTalk AssetCenter nếu bạn đang sử dụng Allen-Bradley. Tôi đã không định giá nó, nhưng nó có thể đắt tiền. Nó làm nhiều hơn kiểm soát nguồn mặc dù.
Tôi đã sử dụng điều khiển nguồn (Mercurial) thường xuyên với các tệp PLC Beckhoff TwinCAT. Điều đó có vẻ hoạt động tốt, nhưng tôi không bao giờ phải hợp nhất với bất cứ ai. Phiên bản mới TwinCAT (3) của họ sẽ ra mắt vào cuối năm nay được cho là sẽ được xây dựng trên Visual Studio 2010, và tôi cho rằng sẽ có những dịch vụ vượt trội hơn nhiều để tích hợp kiểm soát phiên bản. Ngón tay đan chéo.
Đã bắt đầu
Tôi chỉ muốn thêm rằng hiện tại tôi đã sử dụng sản phẩm TwinCAT 3 mới và tôi đang sử dụng Mercurial (bổ trợ TortoiseHg và VisualHg cho Visual Studio). Nó đang hoạt động khá tốt. Trước hết, VisualHg tạo cảm giác rất tích hợp vào Visual Studio 2010 IDE mà TwinCAT 3 sử dụng. Tuy nhiên, mã nguồn cho các chương trình TwinCAT 3 thường được lưu trữ trong các tệp XML. Đây là một cải tiến lớn so với các định dạng nhị phân độc quyền của nhà cung cấp khác mà tôi đã sử dụng, nhưng nó vẫn không hợp nhất tốt. Một số tệp không có bất kỳ ngắt dòng nào trong XML (Tôi đã viết cho Beckhoff về điều này), điều đó có nghĩa là hệ thống kiểm soát nguồn từng dòng không làm được gì nhiều. Ngoài ra, vì là XML, nên thứ tự các nút trong tệp XML dường như thay đổi ngẫu nhiên, ngay cả khi bạn không thực hiện bất kỳ thay đổi nào. Cũng thế, Tôi nghĩ rằng đôi khi nó tạo ra ID mới cho một số nút khi không cần thiết, điều này tạo ra những thay đổi không cần thiết mà Hg chọn ra. Điều này có hiệu quả làm cho không thể thực hiện thay đổi chương trình TwinCAT 3 bởi 2 lập trình viên cùng một lúc, sau đó hợp nhất các thay đổi. Đây là một sự giám sát đáng tiếc của các nhà phát triển TwinCAT 3, người chắc chắn sử dụng kiểm soát nguồn thường xuyên trong công việc của họ và không thấy lợi thế cho chúng tôi lập trình viên tự động hóa thấp để có quyền truy cập vào các công cụ mạnh tương tự. : những người chắc chắn sử dụng kiểm soát nguồn thường xuyên trong công việc của họ và không thấy lợi thế cho chúng tôi lập trình viên tự động hóa thấp để có quyền truy cập vào các công cụ mạnh tương tự. : những người chắc chắn sử dụng kiểm soát nguồn thường xuyên trong công việc của họ và không thấy lợi thế cho chúng tôi lập trình viên tự động hóa thấp để có quyền truy cập vào các công cụ mạnh tương tự. :
Kết thúc chỉnh sửa
Bắt đầu chỉnh sửa # 2
Tôi muốn chỉ ra rằng TwinCAT 3.1 hiện có các định dạng tệp phù hợp hơn với kiểm soát nguồn, đặc biệt là các tệp ngôn ngữ văn bản có cấu trúc. Trên thực tế, sản phẩm hiện được xây dựng để hỗ trợ tích hợp với Team Foundation Server, tôi tin.
Kết thúc chỉnh sửa # 2
Một cách khác là hầu hết các chương trình PLC có thể được xuất sang tệp văn bản. Ví dụ, RSLogix 5000, xuất các dự án của mình sang tệp L5K, đây chỉ là văn bản. Tôi đã chạy các kịch bản đối với các tệp đó trước đây - chúng khá dễ phân tích. Họ sẽ làm việc tốt với kiểm soát nguồn. Tất nhiên điều đó có nghĩa là xuất khẩu mọi lúc, mà hút.
Nếu bạn thực hiện với bất kỳ điều khiển phiên bản tiêu chuẩn nào, tôi khuyên bạn nên sử dụng một VCS phân tán, như Git hoặc Mercurial, bởi vì với PLC, một nửa thời gian bạn tại chỗ và không thể kết nối với máy chủ gia đình của bạn, vì vậy khả năng thực hiện các cam kết cục bộ là một phần thưởng thực sự.
Một điều khác bạn phải nhận ra là một số môi trường lập trình PLC, như RSLogix, đã bao gồm một công cụ tìm khác biệt, do đó bạn có thể chạy khác biệt so với hai phiên bản dự án của bạn. Điều này, kết hợp với việc lưu một tệp mới với ngày hôm nay mỗi ngày, là điều mà hầu hết các cửa hàng tự động hóa dường như có được.