2008-09-16 3 views
8

우리 모두는 OO 시스템을 테스트하는 다양한 방법을 알고 있습니다. 그러나 PLC Ladder 논리를 다루는 프로젝트를 진행할 것 같고 (/) 묻지 말고 시스템의 유효성을 테스트하는 좋은 방법이 있는지 궁금합니다.테스트 래더 논리

내가 지금까지 본 유일한 방법은 시스템의 모든 알려진 상태와 생성되는 출력 상태로 거대한 테이블을 간단하게 구성하는 것입니다. 이것은 '입력 A가 켜져 있고 출력 B가 켜지는 경우'의 경우 간단합니다. 나는 이것이 더 복잡한 구조를 위해 일할 것이라고 생각하지 않는다.

답변

4

IC 설계 분야의 "논리적"시스템의 검증은 "디자인 검증"으로 알려져 있습니다.이 검증은 하드웨어로 설계 한 시스템이 원하는 기능을 구현하도록 보장하는 프로세스입니다.

래더 로직의 Verilog와 같은 현대 HDL 년대 중 하나에 변환 할 수 ..

always @(*) R18 = !R16 && (R15 | R12); 

같은 식으로 각각의 사다리

|---|R15|---+---|/R16|---------(R18)--------| 
|   | 
|---|R12|---+ 

변환 또는 당신은 할당 문을 사용할 수

assign R18 = R16 && (R15 | R12); 

래칭 릴레이

assign R18 = (set condition) || R18 && !(break condition); 

그런 다음 Icarus과 같은 무료 Verilog 시뮬레이터를 사용하여 테스트 벤치를 개발하고 시스템을 테스트하십시오. 테스트 케이스가 로직의 CODE 커버리지를 잘 확인했는지 확인하십시오! 그리고 사다리 편집 소프트웨어가 Rnn이 아닌 적절한 네이밍 기능을 제공한다면이를 사용하십시오.

(참고 :., Xnn는 입력이고 신속하게 온라인 자습서 중 하나에서 수집 될 수 Ynn이 출력되는 동안 PLC 규칙에 대한 래더 로직에서, RNN은, 내부 릴레이입니다

의 Verilog 것 당신의 테스트 및 테스트 벤치를 개발하기 쉬운 언어를 할 수!

그것은 일부 단위 지연 프로그램에 도움이 될 수 있습니다.

미안 해요, 래더 로직을 찾았다 적이을 /를 Verilog 번역 ... 하지만 사다리에서 우리 시대의 논리는 단지 PLC를 프로그래밍하기위한 컴퓨터에 집어 넣었을뿐입니다. 내가 사용한 릴레이 시스템 캐비닛에 배선 된 REAL 릴레이!

행운을 빈다. 이 LogixPro라는 프로그램이

http://cq.cx/ladder.pl

+0

아주 좋습니다! 곧 시뮬레이터를 살펴 보겠습니다. –

0

있습니다 : JBD

무료로 사용할 수 (simultors와) 래더 로직 편집기의 몇 가지가 있습니다 .. 여기 는 아마도 윈도우에서 실행되는 하나입니다 래더 논리를위한 입출력 시뮬레이터를 사용해보십시오.

1

Rockwell Control Logix 컨트롤러를위한 테스트 커버리지 도구를 실험 해 보았습니다. 대부분의 절차 언어 테스트 커버리지 툴은 분기 커버리지 또는 일부를 수행합니다. 릴레이 래더 논리가 일반적으로 분기하지 않기 때문에, 이것은 잘 작동하지 않습니다.

로크웰 컨트롤러의 RLL 코드에 대해 프로토 타입을 작성한 것은 MC/DC입니다 (수정/조건/의사 결정 범위). 이것은 렁의 각 조건에 대해 해당 조건이 TRUE로 테스트되었는지, FALSE로 테스트되었는지 등을 알려줍니다 중요하게도, 어떤 조건 하에서 진위와 거짓 지시 모두에서 상황이 렁 (적어도 결정에 의해 통제되는 행동)에서 결정의 결과를 통제한다면,

이 작업은 필요한 데이터를 수집하기 위해 추가 논리가있는 RLL 코드를 계측하는 데 사용되는 DMS이라는 범용 프로그램 분석 및 변환 도구를 사용하여 수행됩니다.

여전히 단위 테스트를 작성해야합니다. 가장 쉬운 방법은 다른 PLC를 제어하려는 기계 하드웨어의 대체품으로 사용하고 다른 RLL 프로그램을 작성하여 첫 번째 PLC를 실행하는 것입니다.

0

가끔씩 작은 PLC 프로그램에서 테스트 프로그램 (또는 서브 루틴 또는 래더 파일)이 프로젝트에 쓰여지는 경우가 있습니다.이 프로그램은 프로젝트가 에뮬레이트 될 때만 실행됩니다. 이 파일에는 출력에 전원이 공급 될 때 피드백과 관련된 입력을 켜는 간단한 논리가 있습니다. 그런 다음 HMI가 연결되어있는 곳을 통해 PLC를 제어하고 코드가 예상대로 작동하는지 확인할 수 있습니다. 소프트웨어가 실제 사이트에 다운로드 될 때 테스트 프로그램을 사용 중지하거나 삭제하는 것이 매우 중요합니다. 실제로 소프트웨어가 실제 환경에서 매우 이상한 일을 할 수 있기 때문입니다.

큰 프로젝트의 경우 각 장치마다 약간 비슷한 시뮬레이션 모드가 있습니다. http://www.batchcontrol.com/s88/01_tutorial/06-modules.shtml

이것은 OO 언어 용 테스트 프레임 워크를 사용하는 것과는 다르지만 실제로 PLC 용 테스트 기반 개발이나 많은 자동화 테스트를 보지 못했습니다.