래더 로직 프로그램의 소스 제어를위한 사실적이고 유용한 솔루션이 있습니까?


17

PLC (Programmable Logic Controllers) 용 래더 로직 (LL) 프로그램의 버전 제어는 사실상 존재하지 않는 것 같습니다. LL은 시각적 언어이고 이진 파일로 저장되는 경향이 있거나 프로세스 제어 엔지니어링 서클에서 소스 코드 제어가 "잡히지"않았거나 아마도 내 Google-Fu가 오늘 밤 약하기 때문일 수 있습니다.

그러한 시스템의 버전 ​​관리를위한 현실적이고 유용한 솔루션을 알고 있습니까?

정의 :

  • 현실적 = 프로그램 변경 사항은 사용자에 의해 추적되며 복귀 및 병합 대상
  • 유용하다 = 시스템은 비주얼 LL 디자이너와 통합되며 단일 PLC 제조업체의 LL로 제한되지 않으며, 엄청난 비용이 들지 않습니까?

참고 : 바이너리 파일을 추적하기 위해 SVN 또는 Mercurial 등을 사용하는 사람들에 대해 들었지만 diff / merge 기능은 읽을 수있는 차이점을 표시하지 않는다고 생각합니다.

추가:

처음에는 Allen-Bradley PLC 만 지원해야했습니다. 이제 Siemens 및 MicroLogix PLC도 있습니다. 아직 실행 가능한 솔루션을 찾고 있습니다 ...


1
이 질문은 당신에게 관련이있을 수 : stackoverflow.com/questions/4216619/plc-version-control
blueberryfields

안녕하세요 @Stevenalowe,이 주제에 대해 어떤 발전이 있었습니까?
Montag451

@ EnmosProje : 내가 아는 것은 아닙니다, 죄송합니다!
Steven A. Lowe

답변:


13

불행히도 대답은 사용중인 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를 실행할 수 있습니다. 이것은 매일 매일의 날짜와 함께 새로운 파일을 저장하는 것과 결합하여 대부분의 자동화 상점이 얻는 것 같습니다.


자동 저장을 사용한 적이 있습니까? wingtipllc.com/products/autosave-plc-version-control/…
blueberryfields

@ blueberryfields : 그렇습니다. 자동 저장 기능을 지원하는 대부분의 소프트웨어에서 자동 저장 기능을 사용했습니다. 예, 엉덩이가 몇 번 저장되었습니다. 그러나 버전 관리로 사용하는 것은 좋지 않습니다. 버전 관리에는 타임 스탬프 이상이 있어야하며 변경 사항에 대한 설명과 작성자가 있어야합니다. 부모 버전과 두 포크 사이에 3 방향 병합을 수행 할 수도 있습니다.
Scott Whitlock

Beckhoff의 TwinCAT 프로젝트는 텍스트 파일로 내보내거나 가져올 수 있습니다. 그것이 우리가 그것들을 버전 관리하에 두는 방법입니다. ST로 작성된 프로젝트에 적합합니다. LL과 같은 그래픽 언어로는 시도하지 않았습니다.
stmax

@stmax-방금 답변을 편집하여 최신 경험을 제공했습니다. 내가 말했듯이, 그것은 가능한 한 잘 작동하지 않습니다.
Scott Whitlock

텍스트 파일로 내보내고 SCC를 사용하는 것이 여러 PLC 공급 업체에서 유일하게 실행 가능한 솔루션 인 것으로 보이므로 이것을 '답변'으로 받아 들였습니다.
Steven A. Lowe

4

가능하면 B & R Automation을보십시오.

전체 공개 ... 저는 B & R Automation의 영업 파트너를 위해 일합니다.

최신 B & R 자동화 프로젝트는 버전 관리 소프트웨어와 매우 잘 작동합니다. 소프트웨어에서 SVN과 통합되어야하지만 현재는 GIT (통합되지 않음)를 사용합니다. 모든 HMI 소스는 XML로 저장되며 모든 PLC 언어 소스 (래더 포함)는 이진 (대부분 XML) 대신 텍스트를 기반으로 저장됩니다. 수동 병합을 수행해야하는 경우 XML을 어느 정도 "모방"해야하지만 그렇게 어려운 것은 아닙니다. 그리고 자동 병합은 일반적으로 불필요합니다.


3

방금이 질문 만 보았으며 실제로 모든 장소의 GE-IP에서 통조림 솔루션이 있습니다. 체크 아웃Proficy Change Management . 이 제품은 파일 관점의 순수한 버전 제어가 아니라 PLC 제어 시스템 관점에서 버전 제어를 수행합니다. VCS 위에있는 레이어로 작동합니다 (무서운 부분은 원래이 VCS는 Visual SourceSafe였습니다) 권한 관리,보고 및 체크 아웃 / 체크인을 처리합니다.

이 제품은 GE-IP 제품이지만 다양한 PLC 및 HMI 시스템을 기본적으로 지원하도록 설계되었습니다.

전체 공개, 나는 PCM을 판매하고 설치 한 회사 (7 년 전)에서 일했습니다. 그래서 당신이 나에게 어떤 모습인지 묻는다면 나는 그것이 어디에서 잘못되었는지 말할 것입니다!


1

이 소리가 끔찍한 것처럼, 어떤 경우에는 래더 로직 소프트웨어 (이 경우 Horner 's CScape)의 "PDF로 인쇄"기능을 사용한 다음 변경 사항을 비교 하는 무료 그래픽 PDF 차별화 프로그램 (예 : DiffPDF )을 사용했습니다. 소스 코드는 독점적 인 이진 형식으로 만 사용할 수있었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.