PLC 프로그래밍 시 꼭 기억해야 할 점!

Aug 13, 2024 메시지를 남겨주세요

(1).PLC 프로그래밍 설계 요구 사항
PLC 프로그램의 전체 세트는 시스템을 간단하게 실행할 수 있게 할 뿐만 아니라 완전한 주석, 정교한 아키텍처, 우수한 확장성, 완전한 경보 보호 시스템, 실행 전 시뮬레이션 시스템이 필요합니다.

 

1. 단순함
PLC 프로그램을 가능한 한 간단하게 만드십시오. 단순함의 의미는 가능한 한 표준화된 프로그램 프레임워크를 사용하고 가능한 한 간단한 명령을 사용하는 것입니다. 프로그램을 간단하게 만들려면 큰 관점에서 프로그램 구조를 최적화하고 흐름 제어 명령을 사용하여 프로그램을 단순화하고 작은 관점에서 명령의 단일 기능 대신 명령의 강력한 기능을 사용하고 명령의 배열 순서 등에 주의를 기울이십시오.


2. 가독성
설계된 프로그램의 가독성 요구 사항은 좋아야 합니다. 이는 프로그램 설계자가 프로그램에 대한 이해를 심화하고 디버깅을 용이하게 할 뿐만 아니라 다른 사람들이 프로그램을 읽고 이해하여 사용자 유지 관리를 용이하게 하는 데 도움이 됩니다. 필요한 경우 프로그램을 푸시할 수도 있습니다.
프로그램을 읽기 쉽게 만들기 위해, 프로그램은 가능한 한 명확하게 디자인되었습니다. 계층 구조에 주의하고 객체 지향 방식으로 설계할 정도로 모듈성을 구현합니다. 보다 표준적인 디자인을 사용합니다.
특별한 경우에 언어 프로그래밍을 사용하신다면, 대부분의 경우 읽기 쉬운 래더 프로그래밍을 사용하세요.


그러면 IO 할당은 규칙적이어야 하고, 기억하고 이해하기 쉬워야 합니다. 필요하다면 주석 작업도 해야 합니다. 내부 장치의 사용도 규칙적이어야 하며, 무작위로 사용해서는 안 됩니다.


프로그램 설계의 시작 부분에서 가독성을 주목해야 합니다. 이것은 쉬운 일이 아닙니다. 왜냐하면 프로그램 디버깅 과정에서 명령어의 증가 또는 감소, 내부 장치의 사용이 변경되어 원래 프로그램이 더 명확해지고 약간 혼란스러워질 수 있기 때문입니다. 따라서 디버깅의 증가 또는 감소를 설계할 때 약간의 여지를 남겨두고 디버깅을 완료한 다음 약간의 구성을 수행하여 프로그램 설계의 질을 높입니다!


프로그램 코멘트에는 최소한 다음과 같은 측면이 포함되어야 합니다.
A. 시스템 참고사항: 프로그램 회사 전체의 저작권과 이 프로그램 세트의 사용
B. 프로그램 블록 주석: 블록의 주요 목적과 프로그램 작성자
C. 문단 주석: 이 코드의 사용
D. 변수 주석 : / 0 주석, 중간 변수 주석을 포함하여 말할 필요성의 중요성

 

1

 

그리고 기밀성에 대한 고려사항이라면, 프로그램의 암호화 알고리즘이나 블록의 암호화에서 고려되어야 하며, 주석을 줄이는 것처럼 영리한 방식으로 고려되어서는 안 된다고 생각합니다.


3. 정확성
PLC 프로그램은 정확해야 하며 실제 작업을 통해 검증하여 올바르게 작동할 수 있음을 증명해야 합니다. 이것은 PLC 프로그램의 가장 기본적인 요구 사항이며, 이 지점을 수행할 수 없다면 다른 것은 좋고 쓸모가 없습니다.
프로그램을 올바르게 만들려면 명령어를 정확하게 사용하고 내부 장치를 올바르게 사용해야 합니다. 명령어를 정확하게 사용하고 명령어를 정확하게 이해하는 것은 명령어의 의미와 연결되며 조건의 사용은 명확해야 합니다. 필요한 경우 불분명한 명령어를 테스트하기 위해 작은 프로그램을 만들 수 있습니다.


동일한 지침이라 하더라도 공장에서 출고되는 PLC의 배치가 다르거나 PLC 시리즈의 모델이 다르기 때문에 지침의 세부 사항이 다를 수 있으므로 프로그래밍 매뉴얼을 주의 깊게 확인하는 것이 좋습니다.


내부 장치의 올바른 사용도 중요합니다. 예를 들어, 일부 PLC에는 전원 차단 보호 기능이 있는 반면 다른 PLC에는 없습니다. 전원 차단 보호 기능을 사용하여 장치를 보호해야 하며 그 반대의 경우도 사용할 수 없습니다.


간단히 말해서, 명령어를 정확하게 사용하고 내부 장치를 올바르게 사용하여 프로그램을 올바르게 작동하도록 프로그래밍하는 것이 PLC 프로그램의 가장 기본적인 요구 사항입니다. 간단한 예로, 지멘스는 상승 에지와 하단 렁을 변수의 저장 기능과 함께 중간 변수로 사용해야 합니다. 예를 들어 M 지점이나 DB 지점과 같은 경우, FC 임시 변수를 사용하면 문제가 됩니다.


4. 신뢰성
프로그램은 정확할 뿐만 아니라 신뢰할 수 있어야 합니다. 신뢰성은 PLC 프로그램의 안정성을 반영하며, 이는 PLC 프로그램의 기본 요구 사항이기도 합니다.


일부 PLC 프로그램은 정상적인 작동 조건 또는 합법적인 작동에서 올바르게 작동할 수 있지만, 비정상적인 작동 조건(예: 일시적인 정전, 그런 다음 빠르게 재충전) 또는 불법적인 작동(예: 일부 버튼이 누르는 순서를 따르지 않거나 동시에 여러 개의 버튼을 누르는 경우)이 발생하면 프로그램이 제대로 작동하지 않습니다. 이 프로그램은 매우 신뢰할 수 없거나 불안정하며 나쁜 프로그램입니다!


비정상적인 운영 조건의 출현에 대한 좋은 PLC 프로그램은 식별될 수 있으며, 정상적인 수렴 조건과 함께 만들 수 있으며, 프로그램이 다양한 상황에 적응할 수 있도록 만들 수 있습니다. 좋은 PLC 프로그램은 불법적인 운영으로 거부될 수 있으며, "흔적"을 남기지 않습니다. 합법적인 운영만 허용됩니다.


연동은 불법적인 동작을 거부하는 일반적인 수단이며, 릴레이 회로는 일반적으로 이런 방식으로 사용되며 PLC도 이 방법을 계승할 수 있습니다.

 

5. 수정의 용이성
프로그램을 변경하기 쉽게 만드는 것, 즉 수정하기 쉽게 만드는 것입니다. PLC의 특징 중 하나는 편리하고 다양한 상황에 유연하게 적응할 수 있다는 것입니다. 이를 수행하는 방법은 프로그램을 수정하거나 재설계하는 것입니다.
프로그램 재설계는 PLC 프로세스의 사용 요구 사항을 변경하는 경우에 사용되며, 프로그램을 재프로그래밍할 뿐만 아니라 !/0도 재할당합니다. 대부분의 경우 재프로그래밍이 필요하지 않으며 몇 가지 수정만으로 충분합니다. 이를 위해서는 프로그램을 쉽게 변경할 수 있어야 합니다.
수정의 용이성은 유연성을 의미하며, 몇 가지 변경 사항만 필요하더라도 매개변수를 변경하거나 작업을 합리화하는 목적을 달성할 수 있습니다.


6. 확장성
많은 프로그램은 현장에 들어가기 전에 이미 프로그래밍되었을 수 있지만, 현장에 다른 프로그램을 추가해야 할 수도 있습니다. 전체 시스템의 구조를 방해하지 않기 위해 각 기능 영역에 일정량의 공간을 백업으로 예약해야 합니다.
하드웨어는 충분한 여유를 두고, 소프트웨어는 수동, 자동, 반자동을 준비할 때 고려해야 할 위치를 제외했습니다.


7, 완벽한 알람 시스템
PLC 시스템은 종종 산업 환경에서 사용되며, 각 사고는 크거나 작은 손실을 초래합니다. 사고 사전 처리를 하거나 사고 발생 시 손실을 최소화하기 위해서는 PLC 알람 및 보호 기능에 주의를 기울여야 하며, 이는 시스템의 중요한 부분으로 간주되어야 합니다.


8, 프로그램 시뮬레이션
사이트 진행 또는 쇼의 커미셔닝을 보장하기 위해, 종종 현장에 들어가기 전에, 완전 자동화된 시뮬레이션을 위한 자체 프로그램을 고객에게 보여줍니다. 이러한 이유로, 프로그램의 시뮬레이션 프로그램 부분을 추가해야 하며, 일반 사이트의 시뮬레이션 프로그램 부분은 연결이 끊어진 후에 실행됩니다. 프로그램에 시뮬레이션 기능을 장착하려면 다음과 같은 작업이 필요합니다.
(1) 실제 PLC I/O 점수를 PLC 중간변수 또는 데이터 블록 변수로 변환합니다.
(2) 공정 요구사항에 따라 각 기기에 대한 시뮬레이션 프로그램을 작성한다. PLC 프로그램을 설계하는 과정에서 상기 측면의 요구사항을 충족하는 프로그램을 좋은 프로그램이라고 할 수 있다.

 

(2) PLC 프로그래밍 팁


(1) 적절한 PLC 모델과 I/0점 수를 선택하세요. 특수 기능 모듈을 선택하려면 특수 기능 요구 사항이 있습니다.


(2) 선택된 PLC 프로그래밍 명령어 및 컴파일 소프트웨어에 익숙해지세요.


(3) 내부 릴레이, 홀딩 릴레이, 데이터 레지스터, 타이머, 카운터 등을 포함한 소프트 컴포넌트 계획을 수행합니다.


(4) 프로그램 계획의 경우 일반적으로 오류 추출, 오류 처리, 수동 처리, 자동 처리, 출력 처리와 같은 일련의 프로그래밍입니다. 기능 단위 세분화, 블록 처리에 따른 대형 프로젝트 또는 장비, 예를 들어 자동화 생산 라인에는 호이스트, 이동, 회전 장치 보충 등이 있으며, 위의 단위 세분화 블록에 따라 프로그래밍해야 합니다.


(5) 청크로 작성된 프로그램의 하위 섹션은 짧은 단락 노트 앞에 추가되어야 하며, 이 프로그램 섹션의 기능을 설명해야 하며, 필요한 경우 해당 프로세스 흐름을 나타낼 수 있습니다. 프로그램의 청크 또는 하위 섹션과 전체 프로그램 위치 순서는 기본적으로 프로세스 흐름 순서에 따라야 하며, 프로그램의 가독성을 용이하게 합니다.


(6) 프로그램 설계 이전에 정지, 비상 정지, 과부하, 과부하, 타임아웃, 안전 라이트 커튼, 터치 정지, 도어 스위치 등의 공통적인 요소를 추출하여 시동 회로 또는 시동 주 제어, 연동 회로에 배치하여 전체 프로그램 구조의 전제 조건으로 삼고 이를 기준으로 자동, 수동 프로그램 기능 영역으로 구분한다.


(7) 수동기능영역의 프로그램 구조는 수동, 장비의 인명안전을 위협하는 요소 및 기타 요소를 추출하여 수동 마스터 제어, 연동회로, 수동제어 보호, 차폐, 경보 등에 활용한다.


(8) 자동 기능 구역의 프로그램 구조는 자동, 오버런, 타임아웃 및 기타 추출되는 요소와 같은 공통 요소를 자동 마스터 제어, 연동 회로, 보호, 차폐, 경보를 위한 장비의 자동 제어에 배치합니다. 일반적인 원칙은 안전을 보장한다는 전제 하에 장비 진입에 대한 엄격한 제한, 장비 종료에 대한 느슨한 제한입니다.


(9) 프로그램 설계는 전체 리셋 기능을 프로그래밍하도록 설계되어야 하며, 장비 고장 시 사용자가 장비의 정상 작업을 가능한 한 빨리 복구할 수 있도록 편리하게 할 수 있습니다. 전체 리셋은 리셋 프로세스 장비 및 인력 안전에서 충분히 고려되어야 합니다.


(10) 자동모드에서 수동모드로 전환할 경우 프로그램은 자동모드 출력과 중간상태를 지워야 하며, 특히 자동모드에서는 SET명령으로 지워야 하며, 수동모드에서는 RESET명령으로 지워야 한다.


(11) 프로그램 컴파일 시에 이중 출력을 사용하는 것은 엄격히 금지합니다. 즉, 동일한 출력문 또는 동일한 출력 코일이 프로그램 내에 2회 이상 나타나는 것입니다. 서로 다른 모드 조건에서 동일한 출력점의 출력은 중간 릴레이를 사용하여 릴레이하고 최종적으로 함께 중앙화하여 출력점에 나열합니다.


(12) 터치스크린을 사용하는 경우 터치스크린과 PLC 공통 제어영역 및 상태영역은 다른 프로그래밍 기능에 사용되어서는 안 된다.

 

(13) PLC의 특수 캠퍼 블록은 사용하기 전에 먼저 해당 제어 영역과 상태 영역이 작업 단어를 점유하고 있는지 확인해야 합니다. 점유되어 있는 경우 이러한 작업 단어를 프로그래밍하는 다른 측면을 수행해서는 안 됩니다.


(14) PLC 입력, 출력, 중간 릴레이, 타이머, 카운터, 데이터 레지스터 등은 중국어 주석에 추가해야 합니다. 입력 및 출력에는 구성 요소 이름 비트 번호도 있어야 합니다. 입력 지점에 따라 NO 접점에 연결된 주변 스위치의 일반 기본값은 NC 접점을 연결해야 하는 필요성에 대해 주석에 표시해야 합니다. 모든 주석은 명확해야 하며 오해하기 쉽지 않아야 하며 일반화된 참조의 사용을 최소화해야 합니다.


(15) 프로젝트 디버깅이 완료된 후, 시스템은 최종 소프트웨어 프로그램을 보관해야 하며, 파일 이름에는 프로젝트 번호/작성자/날짜 정보/버전 번호가 포함되어야 합니다.


(16) 프로그램 암호화에 대하여: 프로그램 비밀번호를 암호화하려면 특수파일에 저장하여야 하며, 해당 사용자명+비밀번호+권한을 명시하여야 하며, 최소 두 사람이 비밀번호를 이해하도록 하여 빈 코드의 분실로 인해 프로그램을 열 수 없는 상황을 방지하여야 한다.


(17) PLC와 호스트 컴퓨터(또는 터치 스크린)는 모니터링 시스템을 형성하는데, 화면에는 "수동", "자동" 및 기타 제어 모드가 필요한 경우가 많습니다(일반적으로 한 번 이상은 한 번에 한 번만 가능합니다). 프로그램 내부에서 "MOV" 명령을 사용할 수 있습니다. 예를 들어, "수동"을 선택하면 레지스터 VB10 내부에 1 MOV가 일정하게 유지되고, "자동"을 선택하면 동일한 음성 레지스터 VB10에 2 MOV가 유지됩니다. 레지스터 데이터의 판단이 얼마인지만 알면 시스템이 그런 종류의 제어 모드라는 것을 알 수 있습니다. 이 아이디어의 장점은 인터록 및 기타 번거로운 프로그램이 필요 없이 이해하기 쉽다는 것입니다.

 

2

 

(18) 프로그램에 아날로그 제어가 있을 때 아날로그 판독이 기본적으로 오류가 없으면 시간 필터링 방법을 취하고 일정 시간 동안 지연할 수 있습니다. 읽은 데이터 오류가 매우 큰 경우 평균값을 계산하는 것과 같은 다른 필터링 방법을 취해야 합니다. 관련 정보를 확인할 수 있습니다.


(19) 프로그램 디버깅 과정에서(특히 장비 변환 시, 원래 장비 프로그램에 프로그램을 추가할 때) 출력 코일을 만족하는 조건의 프로그램 명령문이 연결되지 않은 경우, 이 프로그램 섹션이 JMP \go to\와 같은 명령문과 다른 명령문 사이에 있는지 확인할 수 있습니다. 또 다른 가능성은 프로그램을 중단한 후 조건이 충족되고 출력이 켜지지 않으면 일반적으로 프로그램이 스캔되지 않는다는 것입니다.


(20) 순차 제어 프로그램에서 즉, 한 동작이 완료된 후 다음 동작으로 넘어가는 것과 같은 순차 제어에서 +10 +10 제어 모드를 사용하면 매우 편리하다고 생각합니다. 레지스터를 미리 설정하고 초기화 시 값을 0으로 하면 시스템이 시작될 때 +10이 되는데 이때 레지스터는 10이 되고 레지스터는 10과 같아지면 첫 번째 동작에서 수행할 수 있습니다. 첫 번째 동작이 완료된 후 첫 번째 동작이 완료된 후 레지스터 +10, 레지스터가 20과 같아지면 두 번째 동작을 수행할 수 있고 두 번째 동작이 완료된 후 +10, 레지스터가 30과 같아지므로 레지스터에 얼마나 많은 데이터가 있는지 판단하는 한 해당 동작이 완료될 것임을 알 수 있으며 동작을 점프해야 할 때 더 이상 +10할 수 없으므로 +20 \ +30를 추가할 수 있습니다..., 실제 눈에 따라 결정됩니다. 10을 추가하는 대신 10을 추가하는 이유는 10을 추가한 후 단락을 삽입하면 이 10개의 빈 공간에서 무작위로 위치를 선택하기 때문입니다.


(21) 프로그램 설계에서 프로세스 실패(비제어 시스템 제어)가 있을 때, 실패 현상을 유지하는 것이 가장 좋으며, 경고음을 가볍게 울립니다. 운영자가 재설정할 때까지 시스템이 오작동했음을 알리기 위해, 그렇지 않으면 다운타임이 발생하여 다른 사람들이 여전히 프로그램 문제를 생각합니다. 일반적으로 새로운 시스템을 설계할 때 이러한 사실을 알고 있어야 합니다.


(22) 자주 호출되는 서브루틴의 경우 서브모듈을 만들어서 자주 호출할 수 있습니다.


(23) 작업 사이클의 각 단계 동작에서 생산 기계는 특정 시간 동안 실행되고 이러한 시간에는 특정 제한이 있으므로 이러한 시간을 기준으로 작업 단계 동작의 시작과 동시에 타이머를 시작하여 감지할 수 있으므로 타이머의 시간 설정 값은 정상적인 상황에서 동작이 지속되는 시간보다 20%~30% 더 길고 타이머의 출력 신호는 알람 또는 자동 정지 장치에 사용할 수 있습니다. 생산 기계의 단계 동작 시간이 지정된 시간보다 길어 해당 타이머 사전 설정 시간에 도달하고 타이머가 오류 신호를 발행했을 때 다음 단계 동작으로 전송되지 않으면 신호는 정상적인 작업 사이클 프로그램을 중지하고 알람 또는 종료 프로그램을 시작하며 이를 종종 과도 보호라고 합니다.


(24) 일부 안전 감지 스위치(비상 정지 버튼, 안전 광커튼, 리미트 스위치 등)는 실제적으로는 NC(상시 닫힘) 입력입니다.


(25) 안전 및 에너지 절감을 고려하여, 일반적으로 출력이 끊어졌을 때 출력이 멈추도록 설계하는 것보다는 동작이 필요할 때만 출력이 동작하도록 설계하는 것이 좋습니다.


(26) 집행 요소의 작용 원리는 혼돈스럽기보다는 오히려 고정적이어야 합니다!


(27) 단일 장치 제어: 단일 장치는 소프트 수동/자동 전환이 있어야 하며 소프트 수동은 시작/중지 기능을 가질 수 있습니다. 소프트 수동으로 자동 전환하면 장치를 멈출 수 없습니다. 소프트 수동 전환으로 자동으로 전환하면 자동 프로그램에 따라 장비를 시작/중지합니다.


(28) 24시간 동안 작동하는 단일 장비(펌프, 팬 및 기타 대형 장비).

문의 보내기

whatsapp

전화

이메일

문의