불행히도 대답은 사용중인 PLC 공급 업체에 따라 다릅니다. 대부분 코드를 독점 파일 형식으로 저장하므로 정기적 인 소스 제어를 사용하기가 어렵습니다.
Allen-Bradley를 사용하는 경우 Rockwell은 FactoryTalk AssetCenter를 제공합니다 . 나는 가격을 책정하지 않았지만 비싸다. 그래도 소스 제어 이상의 기능을 수행합니다.
Beckhoff TwinCAT PLC 파일과 함께 일반 (수은) 소스 제어를 사용했습니다. 괜찮아 보이지만 다른 사람과 합병 할 필요는 없었습니다. 올해 후반에 출시 될 TwinCAT (3)의 새로운 버전은 Visual Studio 2010을 기반으로 구축 될 예정이며, 버전 제어 통합을위한 기본 제공 제품이 훨씬 더 우수 할 것으로 가정합니다. 손가락이 건. 다.
편집 시작
방금 새로운 TwinCAT 3 제품을 사용하고 Mercurial (TortoiseHg 및 VisualHg Visual Studio 용 추가 기능)을 사용하고 있다고 덧붙였습니다. 꽤 잘 작동합니다. 무엇보다도 VisualHg는 TwinCAT 3이 사용하는 Visual Studio 2010 IDE에 매우 통합 된 느낌을줍니다. 그러나 TwinCAT 3 프로그램의 소스 코드는 일반적으로 XML 파일에 저장됩니다. 이것은 내가 사용한 다른 공급 업체의 독점 바이너리 형식에 비해 크게 개선되었지만 여전히 잘 병합되지는 않습니다. 일부 파일에는 XML에서 줄 바꿈이 없습니다 (이에 대해 Beckhoff에 썼습니다). 이는 라인 별 소스 제어 시스템이 많은 작업을 수행하지 않음을 의미합니다. 또한 XML이기 때문에 XML 파일의 노드 순서는 변경하지 않아도 임의로 변경되는 것으로 보입니다. 또한, 필자는 때때로 필요하지 않을 때 일부 노드에 대해 새 ID를 생성하여 Hg가 선택하는 불필요한 변경을 초래한다고 생각합니다. 이렇게하면 2 명의 프로그래머가 동시에 TwinCAT 3 프로그램을 변경 한 다음 변경 내용을 병합 할 수 없습니다. 의심 할 여지없이 자신의 작업에서 소스 제어를 정기적으로 사용하고 자동화 자동화 프로그래머가 유사한 강력한 도구에 액세스 할 수있는 이점을 보지 못한 TwinCAT 3 개발자는 불행한 감독입니다. :( 의심 할 여지없이 자신의 작업에서 소스 제어를 정기적으로 사용하고 저 자동화 자동화 프로그래머가 유사한 도구에 액세스 할 수있는 이점을 보지 못했습니다. :( 의심 할 여지없이 자신의 작업에서 소스 제어를 정기적으로 사용하고 저 자동화 자동화 프로그래머가 유사한 도구에 액세스 할 수있는 이점을 보지 못했습니다. :(
편집 종료
편집 # 2 시작
TwinCAT 3.1에는 소스 제어에 특히 적합한 파일 형식, 특히 구조화 된 텍스트 언어 파일이 있습니다. 실제로이 제품은 이제 Team Foundation Server와의 통합을 지원하도록 구축되었습니다.
편집 편집 # 2
다른 대안은 대부분의 PLC 프로그램을 텍스트 파일로 내보낼 수 있다는 것입니다. 예를 들어 RSLogix 5000은 프로젝트를 텍스트 인 L5K 파일로 내 보냅니다. 이전에 해당 파일에 대해 스크립트를 실행했습니다. 파싱하기가 상당히 쉽습니다. 그들은 소스 컨트롤과 잘 작동합니다. 물론 그것은 매번 수출하는 것을 의미합니다.
표준 버전 제어를 사용한다면 Git 또는 Mercurial과 같은 분산 VCS를 사용하는 것이 좋습니다 .PLC를 사용하면 절반의 시간이 현장에 있고 홈 서버에 연결할 수 없으므로 로컬 커밋을 수행 할 수 있기 때문입니다. 진짜 보너스입니다.
RSLogix와 같은 일부 PLC 프로그래밍 환경에는 이미 diff 도구가 포함되어 있으므로 두 가지 버전의 프로젝트에 대해 diff를 실행할 수 있습니다. 이것은 매일 매일의 날짜와 함께 새로운 파일을 저장하는 것과 결합하여 대부분의 자동화 상점이 얻는 것 같습니다.