다양한 PLC를 프로그래밍하기 위한 프로그램. PLC 프로그래밍의 작동 원리 및 기본 사항

컨트롤러는 제어 장치입니다. 그것을 사용하기 위해 프로그램을 만들고 실행할 때만 진정한 기능이 됩니다.

이것은 프로그래머블 로직 컨트롤러의 주요 작업인 프로세스를 관리하는 프로그램의 실행을 의미합니다.

PLC에 사용할 수 있는 프로그램 세트는 무엇입니까? 원칙적으로 모든 세트가 가능합니다. 가장 중요한 것은이 도구의 무료 리소스 크기가 방해가되어서는 안된다는 것입니다. 개발자는 프로그램을 작성할 수 있는 충분한 기회를 얻습니다.

컨트롤러를 프로그래밍하려면 무엇이 필요합니까? 첫째, 이 문제를 철저히 이해할 프로그래머가 필요합니다. 둘째, 컴퓨터 자체와 개발 패키지가 필요합니다.

개발 도구 기능

일반적으로 개발 패키지에는 추가 비용이 부과됩니다. 원칙적으로 이 패키지가 초기에 설치 소프트웨어에 이미 포함되어 있는 경우가 종종 있습니다.

개발 환경은 어떤 기능을 제공합니까?

  1. 대규모 라이브러리, 프로그램 블록, 특정 절차 및 기성 템플릿.
  2. 컨트롤러를 우회하는 컴퓨터에서 프로그램을 확인, 테스트 및 실행하기 위한 도구입니다.
  3. 승인된 표준 내에서 작성된 프로그램의 문서화를 자동화하기 위한 도구도 제안됩니다.

그리고 마지막으로 주요 이점에 주목해야 합니다. 약 6개의 프로그래밍 언어를 지원한다는 것입니다. 유일한 단점은 프로그램 호환성이 낮은 수준에서 구현된다는 것입니다. PLC 제조업체는 통합되지 않았으며 각 제조업체는 고유한 소프트웨어 환경으로 이 장치를 출시합니다.

PLC 용 프로그래밍 언어 유형

  • LD 언어

LD(래더)는 그래픽 기반의 개발 환경입니다. 어떻게 보면 일종의 릴레이 회로입니다. 이 표준의 개발자는 이러한 유형의 소프트웨어 환경을 사용하면 PLC에 대한 릴레이 자동화 엔지니어의 재교육이 크게 용이하다고 믿습니다.

이 프로그래밍 언어의 주요 단점은 이산 프로세스를 나타내도록 구축되었기 때문에 많은 수의 아날로그 변수가 있는 프로세스를 처리하는 데 있어 비효율적이라는 점입니다.

  • FBD 언어

FBD(Function Block Diagram) - 그래픽 프로그래밍도 여기에 사용됩니다. 비유적으로 말하면, FBD는 상호 연결(입력 및 출력)이 있는 기능 블록의 특정 다중성을 정의합니다.

링크 데이터는 가변적이며 블록 간에 전송됩니다. 각 블록은 개별적으로 특정 작업(트리거, 논리적 "또는" 등)을 나타낼 수 있습니다. 변수는 특정 블록을 사용하여 정의되며 출력 회로는 특정 컨트롤러 출력에 연결하거나 전역 변수에 연결할 수 있습니다.

  • SFC 언어

SFC(순차 함수 차트) - ST 및 IL 언어와 함께 사용할 수 있으며 그래프 기반이기도 합니다. 구성 원리는 유한 자동 장치의 이미지에 가깝습니다.이 조건은 가장 강력한 프로그래밍 언어를 나타냅니다.

이 언어에서 기술 프로세스는 특정 단계의 유형에 따라 구축됩니다. 계단 구조는 위에서 아래로 가는 수직으로 구성됩니다. 각 단계는 특정 작업입니다. SFC뿐만 아니라 ST와 IL의 도움으로 작업을 설명할 수 있습니다.

단계가 완료되는 즉시 다음 단계로 제어를 이전하는 조치가 있습니다. 단계 간의 전환은 두 가지 유형이 있습니다. 한 단계에서 어떤 조건이 충족되고 다음 단계가 다음 단계로의 전환인 경우 이는 조건부 전환입니다. 그러나 주어진 단계의 모든 조건이 완전히 충족되어야만 다음 단계로의 전환이 수행되면 이것이 무조건 전환입니다.

  • ST 언어

ST(Structured Text)는 고급 언어를 말하며 Pascal 및 Basic과 유사한 점이 많습니다.

ST를 사용하면 16가지 이상의 데이터 유형을 해석할 수 있으며 논리 연산, 순환 계산 등을 처리할 수 있습니다.

작은 단점은 그래픽 환경이 없다는 것입니다. 프로그램은 텍스트 형식으로 제공되며 이러한 조건은 기술 개발을 복잡하게 만듭니다.

  • 일리노이어

IL(명령 목록) - 일반적으로 블록을 개별적으로 인코딩하는 데 사용되는 어셈블러와 유사한 언어입니다. 이점은 이러한 블록의 속도가 빠르고 리소스 요구 사항이 낮다는 것입니다.

  • CFC 언어

CFC(Continuous Flow Chart) - 고급 언어를 나타냅니다. 원칙적으로 이것은 FBD 언어의 명시적인 연속입니다.

디자인 프로세스는 기성품 블록을 사용하여 화면에 배치하는 것으로 구성됩니다. 그런 다음 구성되고 이들 간의 연결이 배치됩니다.

각 블록은 특정 기술 프로세스를 제어합니다. 여기에 기술 프로세스에 대한 주요 편견이 있으며 수학은 옆으로 갑니다.

가장 간단한 작업을 예로 들어 보겠습니다. 작업자가 눌린 상태에서 두 개의 버튼을 동시에 누른 후 1초 후에 프레스를 켜야 합니다. 이러한 방식으로 작업자의 양손이 사용되도록 하고 기계의 준비 상태를 확인할 시간을 줍니다. 가장 간단한 해결책은 두 버튼의 접점을 직렬로 연결하고 전자 릴레이를 타이머와 연결하는 것입니다. 타이머가 지연 시간 조정을 허용하는 경우 이러한 방식은 시스템 유연성을 어느 정도 제공하지만 너무 많지는 않습니다.

버튼 누름 순서를 제어해야 하는 요구 사항과 같은 추가 조건은 어려운 상황에 처하게 될 것입니다. 추가 릴레이를 도입하여 회로를 변경해야 할 것입니다. 그러한 필요성이 극히 드물게 발생한다면 이것은 어려운 문제가 아닙니다.

그러나 경쟁이 치열한 제조 환경에서는 출시 시간이 매우 중요하므로 유연한 자동화 제조와 관련하여 전환을 빠르고 비용 효율적으로 수행해야 합니다.

추가적인 문제는 생산이 발전하고 추가 기능이 등장함에 따라 제어 시스템의 복잡성이 증가한다는 것입니다(작동 알고리즘의 복잡성).

모든 자동화 전문가는 또한 자신에게 익숙하지 않은 주제 영역에서 장비에 대한 제어 시스템을 구축하는 문제에 직면했습니다. 문제에 대한 명확한 설명이 없으면 장비가 도입될 때 새로운 조건의 출현으로 인해 장비를 제어하는 ​​것이 불가능할 수 있습니다. 프로젝트를 성공적으로 구현합니다.

제어 시스템의 배선도를 변경하지 않고 작동 알고리즘을 변경할 수 있는 제어 장치를 만드는 것이 필요했으며 결과적으로 제어 시스템을 "하드" 작동 논리(a 릴레이, 레귤레이터, 타이머 등의 세트)를 프로그래밍 방식으로 지정된 작업 논리를 가진 자동 기계와 함께 사용합니다. 그렇게 태어났다 프로그래머블 로직 컨트롤러(PLC). 처음으로 PLC는 미국에서 자동차 산업의 조립 라인을 자동화하는 데 사용되었습니다(1969년).

"프로그래밍 가능한 로직 컨트롤러"의 정의에서 가장 중요한 것은 "프로그래밍 가능"이었기 때문에 거의 즉시 질문이 제기되었습니다. PLC를 프로그래밍하는 방법은 무엇입니까?

당시 알고리즘 컴퓨터 프로그래밍 언어는 계산 문제를 해결하는 데 중점을 두었습니다. 프로그래머의 직업은 극히 드물고 어려운 것으로 간주되었으며 어떤 생산에도 그러한 전문가가 없었습니다. 이상적인 옵션은 릴레이 오토마타의 회로도를 PLC용 프로그램으로 자동 변환하는 것입니다.

왜 안 돼? 그래서 PLC에 등장 릴레이 접점 다이어그램의 언어(영어 소스의 RKS 또는 LD 래더 다이어그램). 기술자는 PLC 프로그래밍 스테이션의 디스플레이에 제어 체계를 "다시 그릴" 수 있습니다. 당연히 이 계획은 그래픽으로 표시되지 않고 기존 기호를 사용하여 표시되었습니다.

예를 들어 위에서 설명한 작업은 다음과 같이 프로그래밍할 수 있습니다.

이러한 프로그램의 왼쪽과 오른쪽에는 수평 회로로 연결된 수직 전원 레일이 있습니다. 회로는 접점과 병렬 또는 직렬로 연결된 일부 추가 요소(예: 타이머)로 구성될 수 있습니다. 오른쪽에서 각 회로는 릴레이 권선으로 끝납니다. 이 릴레이의 접점은 차례로 다른 회로에 있을 수 있습니다. 따라서 실제 릴레이 회로와 기능면에서 유사한 다소 복잡한 회로를 구성하는 것이 가능합니다.

최초의 프로그래밍 스테이션은 여러 사람이 운반하는 매우 부피가 큰 장치였습니다. 그럼에도 불구하고 PLC는 훨씬 더 부피가 크고 가장 중요한 릴레이 자동화 캐비닛을 "하드" 로직으로 적극적으로 교체하기 시작했습니다.

물리적으로 PLC는 센서와 액추에이터를 연결하기 위한 특정 출력 및 입력 세트가 있는 하나 이상의 블록입니다(그림 1 참조).

작업의 논리는 소프트웨어에 의해 설명되고 내장 마이크로프로세서에 의해 실행됩니다. 결과적으로 완전히 동일한 PLC가 완전히 다른 기능을 수행할 수 있습니다. 작동 알고리즘을 변경하기 위해 하드웨어 수정이 필요하지 않습니다.

쌀. 1. PLC 작동 원리

전자공학의 발전은 PLC의 놀라운 소형화로 이어졌습니다. 오늘날에는 소형 디스플레이와 내장 프로그래밍 기능을 갖춘 소형 프로그래머블 컨트롤러가 있으며 이러한 컨트롤러를 프로그래머블 릴레이라고 합니다. 프로그래밍 가능한 릴레이의 일반적인 작업은 최대 12개의 입력과 여러 개의 전원 릴레이 출력이 있는 매우 간단한 로컬 시스템입니다.

내장된 콘솔을 사용하여 더 복잡한 프로그램을 작성하는 것은 쉽지 않습니다. 마찬가지로 휴대폰 키패드로 SMS 문자를 쉽게 입력할 수 있지만 많은 양은 물론 여러 페이지의 문자를 입력하는 것조차 문제가 되는 것 같습니다. 이를 위해 개인에게 훨씬 더 편안한 작업 조건을 제공하는 개인용 컴퓨터(PC)가 있습니다.

하나의 최신 PLC는 수십 개의 컨트롤러, 수백 개의 타이머 및 수천 개의 릴레이를 대체할 수 있습니다. PC를 사용하여 그러한 시스템을 프로그래밍하는 것은 전혀 어렵지 않습니다. PC를 PLC 프로그래밍 스테이션으로 사용하는 것은 오늘날 지배적인 솔루션입니다. 이것은 프로그래밍을 단순화할 뿐만 아니라 프로젝트 보관, 문서 준비, 시각화 및 모델링 문제를 해결합니다. 이 컴퓨터는 PLC와 APCS에서 가장 간단한 로컬 작업을 프로그래밍하기 위한 편리한 범용 도구를 제공합니다.

PLC 프로그래밍에 대해 이야기할 때 우리는 이 프로세스를 간단하고 인간 친화적으로 만드는 방법을 계속해서 언급합니다. 프로그래밍된 PLC가 몇 년 동안 작동하면 프로그램이 아름답게 보이는지 여부는별로 중요하지 않지만 가장 중요한 것은 잘 작동한다는 것입니다.

불행히도 이것은 그렇지 않습니다. PLC에서 프로그램을 변경해야 하는 필요성은 정기적으로, 때로는 예기치 않게 발생합니다. 따라서 저작자 뿐만 아니라 누구나 빠르게 이해하고 필요한 개선을 할 수 있도록 작성해야 합니다. 프로그램이 PLC용으로 작성되었다는 것은 완전히 정확하지 않습니다.

모든 프로그램은 사람이 작성했으며 사람이 읽도록 되어 있습니다. 모든 프로그래밍 도구는 궁극적으로 기계 코드로 마이크로프로세서에 명령을 제공합니다. 프로그램이 어떤 언어로 작성되었는지는 그에게 아무런 차이가 없습니다.

위에서 언급한 것은 릴레이 자동화 시대에 미국에서 발명되었습니다. PLC의 패션은 릴레이 캐비닛이 이미 논리 마이크로 회로가 있는 캐비닛으로 성공적으로 교체되었을 때 조금 후에 유럽에 왔습니다. 따라서 새로운 세대의 엔지니어가 이해할 수 있는 다른 프로그래밍 언어를 개발할 필요가 있었습니다.

그래서 독일에서는 어셈블러(IL)와 유사한 간단한 텍스트 지침의 언어가 등장했습니다. 프랑스에서는 전환의 단계와 조건을 설명하기 위한 그래픽 및 고급 다이어그램(Graphset, 현대 SFC)이 등장했습니다. 컴퓨터 프로그래밍에 사용되는 언어(Pascal, Basic)도 사용되었습니다. 70년대 후반에 극도로 어려운 상황이 발생했습니다.

각 PLC 제조사(USSR 포함)는 자체 프로그래밍 언어를 개발했기 때문에 다른 제조사의 PLC는 소프트웨어 비호환성, 하드웨어 비호환성 문제도 있었습니다. PLC를 다른 제조업체의 제품으로 교체하는 것은 큰 문제가 되었습니다. PLC 구매자는 한 회사의 제품만 사용하거나 다른 언어를 배우는 데 에너지와 적절한 도구를 구입하는 데 돈을 써야 했습니다.

그 결과 1979년 IEC(International Electrotechnical Commission)의 틀 내에서 PLC 문제에 대한 전문 기술 전문가 그룹이 만들어졌습니다. 그녀는 PLC 하드웨어, 소프트웨어, 설치 규칙, 테스트, 문서화 및 통신에 대한 표준 요구 사항을 개발하는 임무를 맡았습니다.

1982년에 IEC 1131이라는 표준의 첫 번째 초안 버전이 출판되었습니다. 결과 문서의 복잡성으로 인해 여러 부분으로 나누기로 결정했습니다. 표준 "PLC 프로그래밍 언어"의 세 번째 부분은 다음과 같습니다. 프로그래밍 문제에 전념.

1997년부터 IEC는 5개의 디지털 지정으로 전환했으며 현재 PLC 프로그래밍 언어 전용 표준 부분의 국제 버전에 대한 정확한 이름은 IEC 61131-3입니다. IEC 작업반은 다소 독창적인 결정을 내렸습니다. PLC 프로그래밍 언어 표준 개발 당시 존재했던 다양한 PLC 프로그래밍 언어 중에서 가장 널리 사용되는 5개 언어를 확인하였다.

이러한 언어로 작성된 프로그램에서 표준화된 요소 및 데이터 유형 세트를 사용할 수 있도록 언어 사양이 개선되었습니다. IEC의 이러한 접근 방식은 두 번 이상 비판을 받았지만 시간이 이 결정의 정확성을 입증했습니다.

이 접근 방식의 구현을 통해 동일한 PLC 프로그래밍에 다양한 지식 분야(그리고 가장 중요한 것은 다양한 자격)의 전문가를 참여시킬 수 있었습니다. 릴레이 자동화 전문가(및 전기 기술자) LD 프로그래밍, FBD 언어에 익숙한 반도체 회로 및 자동 제어, 어셈블리 언어(PLC용 IL 언어에 해당), 고급 언어(ST 언어), 심지어 컴퓨터용 프로그램 작성 경험이 있는 프로그래머 프로그래밍과 거리가 먼 기술자들은 자신의 프로그래밍 도구인 SFC 언어를 받았습니다.

IEC 프로그래밍 시스템의 도입이 전문 프로그래머의 서비스를 완전히 포기하지는 않았지만(그러나 그러한 목표는 설정되지 않았음) 자격 요건을 줄이고 그에 따라 PLC 프로그래머의 보수 비용을 줄이는 것을 가능하게 했습니다. 언어 표준화로 인해 PLC 사용자가 특정 제조업체에 의존하는 문제를 (적어도 부분적으로) 해결할 수 있었습니다.

모든 최신 PLC에는 IEC 61131-3 프로그래밍 도구가 장착되어 있어 컨트롤러 사용자의 작업을 단순화하고(재교육 비용 없이 다른 회사의 PLC를 사용할 수 있음) 동시에 PLC 제조업체의 여러 문제를 제거합니다(PLC를 사용할 수 있음 다른 제조업체의 구성 요소).

이 표준은 PLC 프로그래밍 전문가의 노동 시장 기회를 크게 확대했습니다. 표준 도구 세트를 갖춘 자동차 정비사가 모든 회사 자동차의 모든 구성 요소(비표준 제외)를 수리할 수 있는 것처럼 IEC 61131-3 언어를 공부한 전문가는 다음을 계산할 수 있습니다. 어떤 현대 PLC의 프로그램을 밖으로. 이를 통해 PLC 프로그래밍 전문가에 대한 회사의 의존도와 회사에 대한 전문가의 의존도를 모두 줄일 수 있었습니다.

현재까지 IEC 프로그래밍 시스템 시장의 선두 자리는 독일 회사인 3S-Smart Software Solutions GmbH가 차지하고 있습니다. 전 세계적으로 190개 회사에서 사용하고 있으며 이들 회사의 대부분은 장비 및/또는 산업 자동화 시스템의 선두 제조업체입니다.

러시아에서는 CoDeSys가 있는 PLC가 전문가에게 잘 알려져 있으며 이러한 PLC의 제어 하에 제조되는 제품의 범위는 엄청납니다.CoDeSys에는 각 표준 프로그래밍 언어에 대한 5개의 전문 편집기가 포함되어 있습니다

    지침 목록(IL),

    기능 블록 다이어그램(FBD),

    래더 다이어그램(LD),

    구조화된 텍스트(ST),

    순차 함수 차트(SFC).

편집기는 프로그램 입력 속도를 높이는 많은 보조 도구에 의해 지원됩니다. 이들은 입력 도우미, 변수의 자동 선언, 지능형 입력 수정, 입력 중 색상 강조 표시 및 구문 제어, 스케일링, 자동 배치 및 그래픽 요소 연결입니다.

하나의 프로젝트에서 여러 IEC 언어로 작성된 프로그램을 결합하거나 그 중 하나를 사용할 수 있습니다. 특별한 언어 요구 사항은 없습니다. 순전히 개인 취향에 달려 있습니다.

러시아에서 가장 인기 있는 언어는 ST입니다. Pascal에서 약간 변형된 텍스트 기반 언어입니다. 두 번째로 많이 사용되는 그래픽 언어는 FBD이고 LD가 그 뒤를 잇습니다. 프로그램 준비 도구 외에도 CoDeSys에는 내장 디버거, 에뮬레이터, 시각화 및 프로젝트 관리 도구, PLC 및 네트워크 구성기가 포함되어 있습니다.

CoDeSys 사용자가 집합적으로 형성한 또 다른 예상치 못한 아이디어는 비영리 조직인 CoDeSys Automation Alliance(CAA)에 CoDeSys를 지원하는 PLC 제조업체의 자발적 협회였습니다. 아이디어의 본질은 CoDeSys를 지원하는 산업 자동화 제품 제조업체를 파트너로 만들고(경쟁 시장에서 가능한 한) PLC 사용자에 대한 제조업체 간의 경쟁 효과를 무효화하는 것입니다.

사용자가 다른 회사의 제품을 쉽게 사용하는 것을 방지하는 기술적 장벽을 의도적으로 만드는 대신 CAA 회원은 의도적으로 제품이 호환되는지 확인하기 위한 조치를 취하고 있습니다.

사용자는 자신의 CoDeSys 응용 프로그램이 CAA 회원사의 모든 컨트롤러에서 작동할 것임을 확신할 수 있습니다. 사용자는 자신이 사용하는 도구(CoDeSys)가 전 세계 수천 명의 사용자에 의해 테스트되었음을 ​​확신할 수 있습니다. 사용자는 항상 자신의 어려움에 대해 논의하고 유사한 문제를 해결한 경험이 있는 다양한 동료로부터 실질적인 도움을 받을 수 있습니다.

Brokarev A.Zh., Petrov I.V. 회사 "PROLOG"

소개
저는 빌딩 자동화 분야에서 일하고 있습니다. 우리는 주로 Beckhoff PLC를 기반으로 시스템을 구축했습니다. 이러한 선택은 주로 이러한 컨트롤러가 완전한 의미에서 자유 프로그래밍이 가능하기 때문에 이루어졌습니다. 무슨 뜻인가요? 예를 들어 TAC Xenta 컨트롤러를 사용하여 "전송된 바이트 - 수신된 바이트" 수준에서 자체 프로토콜을 사용하여 RS232를 통해 외부 장치와 교환해 보십시오. 작동하지 않습니다. 이러한 컨트롤러는 방법을 모릅니다. 개발자가 설정한 프로토콜만 사용하십시오. 그러나 Beckhoff는 할 수 있습니다. 하지만 본격적으로 들어가기 전에 개발 환경을 살펴볼까요? 우리는 어떤 언어로 글을 쓸 것입니까?
IEC 61131-3 표준
산업용 PLC는 IEC 61131-3 언어로 프로그래밍됩니다. 이 언어 중 총 5개가 있으며 일부 제조업체는 자체 언어를 추가합니다. 언어는 서로 전혀 유사하지 않으며 동료를 관찰하면서 한 언어 또는 다른 언어의 선택이 주로 이 업계에 오기 전에 한 사람이 하고 있던 일과 관련이 있다고 가정할 수 있습니다.
  1. IL, 지침 목록 어셈블러와 비슷합니다. 아무도 그것을 사용하는 것을 본 적이 없지만 기억에서 카드를 펀칭한 구식 코더는 그것을 높이 평가할 것이라고 생각합니다.
  2. LD, 래더 다이어그램. 릴레이 자동화 회로 개발에 참여한 사람들을 위한 시각적 언어입니다.
  3. ST, 구조화된 텍스트. 무엇보다도 Pascal과 다소 유사한 "고전적인" 프로그래밍 언어와 유사합니다. 그렇기 때문에 PLC 이전에 다른 언어 및 플랫폼으로 프로그래밍에 종사했던 사람들, 특히 저에게 높이 평가됩니다.
  4. FBD, 기능 블록 다이어그램. 일종의 블록 다이어그램인 우리는 가시성 때문에 프로그래밍을 시작하기로 결정한 모든 기술자를 가장 좋아합니다.
  5. SFC, 순차 기능 차트. 그래픽 언어, 더 이상 말하지 않겠습니다. 사용하는 것을 본 적이 없습니다.

지원되는 모든 언어 중에서 Beckhoff가 지원하는 CFC 언어(연속 흐름도)에 주목할 가치가 있습니다. 이것은 FBD 언어의 추가 개발이며 가장 중요한 차이점 중 하나는 회로에서 명시적 피드백을 지원한다는 것입니다. 이것이 왜 필요한가? 예를 들어, 이러한 짧은 펄스 발생기는 CFC에서는 작동하지만 FBD에서는 작동하지 않습니다.

TON 블록은 표준 블록인 턴온 지연 타이머입니다. 연산 논리: 입력 IN이 최소한 시간 PT 동안 TRUE일 때 출력 Q는 TRUE가 됩니다.
아마도 가장 대중적인 PLC 개발 환경은 CoDeSys일 것입니다. 많은 제조업체가 이를 기반으로 하여 PLC와 함께 작동하도록 라이브러리를 만들거나 스스로 환경을 완성합니다.

PLC는 어떻게 작동합니까?
PLC 프로그램은 주기적으로 실행됩니다. 주기 시간은 이 PLC에 할당된 작업에 따라 밀리초 단위에서 초 단위일 수 있습니다. 대부분의 PLC에서는 프로그램 설계자의 주기 시간을 설정할 수 있지만 일부 모델은 그렇지 않습니다. 많은 PLC, 특히 Beckhoff를 사용하면 하나의 프로그램에서 주기적으로 실행되는 둘 이상의 작업을 생성하고 이러한 작업에 대한 우선 순위를 설정할 수 있습니다. 우리에게 이 기회를 주는 것은 무엇입니까?
상황을 상상해 보십시오. PLC는 환기 장치를 제어하고 제어 패널은 RS232를 통해 환기 장치에 연결됩니다. 방의 온도는 빠르게 변하지 않으며 환기 제어 알고리즘을 50 - 100ms마다 한 번 이상 실행하는 것은 의미가 없습니다. 반면에 운영자 패널은 컨트롤러를 지속적으로 폴링하고 10ms 이상의 PLC 응답 지연은 이미 사용자 인터페이스의 "slowdown"으로 표현되고 20ms의 지연으로 하드웨어 버퍼의 하드웨어 버퍼 COM 포트가 오버플로됩니다. 여러 작업이 있으면 이 문제를 아름답게 해결할 수 있습니다. "빠른" 작업은 COM 포트와 함께 작동하고 2ms마다 호출되고 "느린" 작업은 환기 작동 논리를 구현하고 50ms마다 호출됩니다. 모든 것이 잘 작동하고 조작 패널이 느려지지 않고 사용자가 만족합니다.
그리고 이 땀샘은 내부에 무엇을 가지고 있습니까?
그것은 모두 제조업체에 따라 크게 다릅니다. 누군가가 RISC 프로세서(예: 국내 "Aries")에서 임베디드 플랫폼을 만듭니다. 이 접근 방식은 매우 유명합니다. Beckhoff는 다른 경로를 택했습니다. PLC에는 Windows CE 5.0(공식 사이트에서 펌웨어를 업데이트하는 경우 6.0) 또는 Windows XP Embedded가 설치되어 있고 PLC 작업은 서비스로 실행됩니다. Windows의 불안정성에 대해 이야기하기를 좋아하는 사람들에게 매우 흥미로운 반론입니다.
그러나 이것은 컨트롤러의 "헤드"이며 외부 세계와 통신하려면 여전히 입력 및 출력이 필요합니다. 여기에는 두 가지 접근 방식이 있습니다.
  1. 헤드, 특정 입력/출력 세트, 여러 구성 옵션 등 "하나의 상자에서 모든 것"을 수행할 수 있습니다. 여기에는 더 많은 입력이 있고, 여기에는 더 적고, 여기에는 헤드가 더 강력하고, 여기서는 더 약합니다. 예를 들어 카렐과 다른 많은 사람들도 마찬가지입니다. 소규모 프로젝트에서 이 접근 방식은 어떤 식으로든 정당화될 수 있습니다.
  2. 그러나 개인적으로 다른 접근 방식이 더 많은 유연성을 제공하는 것 같습니다. 헤드는 분리되어 있으며 I/O 모듈의 유형 설정 "꼬리"가 버스를 통해 연결됩니다. 우리는 우리가 필요로 하는 수량만큼 모듈을 설치합니다. 예를 들어 Beckhoff와 Siemens가 하는 일입니다.

이것이 "올인원 박스" 접근 방식의 모습입니다. 사진은 Carel pCO3입니다.


그리고 여기에 또 다른 옵션이 있습니다. I / O 모듈 세트가있는 Beckhoff CX9000 시리즈의 헤드 (사진 왼쪽).

무엇보다도 헤드에는 PLC를 네트워크에 연결하고 종종 동일한 네트워크를 통해 프로그램을 변경할 수 있는 특정 버스가 있습니다. 어떤 종류의 네트워크가 될 것인지는 PLC에 따라 다릅니다. 산업용 네트워크 EIA-485, Profibus, CAN, 그리고 아마도 아주 친숙한 이더넷을 접해보지 않은 사람들에게는 생소할 수 있습니다. PLC가 상위 레벨(예: SCADA 시스템)에 연결되는 것은 필드버스라고 하는 이 네트워크를 통해서입니다. 위의 사진에서 Beckhoff의 머리에 있는 2개의 8P8C 커넥터가 명확하게 보입니다. 이것은 이더넷이고 Carel은 왼쪽 상단에 2개의 6P4C 커넥터가 있습니다. 이것이 RS-485를 수행한 방식입니다. 불행히도 이 인터페이스는 일반적으로 허용되는 커넥터가 없습니다.

그렇다면 프로그램을 작성하는 방법은 무엇입니까?
일반적으로 이것은 기사의 주제가 아니라 전체 책의 주제입니다. 그러나 나는 개인적인 경험에서 본 것을 말하고 연고에 날아가도록 할 것입니다.
전문 프로그래머에게 PLC를 마스터하는 것은 여러 면에서 성능 저하처럼 보일 것입니다. 앗? 우리는 그것들이 없고 구조, 열거 및 "함수 블록"이라는 일종의 클래스만 있습니다. 비공개, 공개 등이 무엇인지 바로 잊어버릴 수도 있습니다. 유용하지 않습니다. 프로그램의 어느 곳에서나 다른 장소에 액세스할 수 있습니다.
동적 메모리 할당? 우리는 그것들을 전혀 가지고 있지 않습니다. 얼마나 많은 데이터가 전송될지 확신이 서지 않습니까? 여백이 있는 버퍼를 할당하고 이 메모리를 잊어버리십시오. 해제할 수 없습니다. 또는 지정된 주기 시간을 충족하면 즉시 속도 및 프로세스 데이터의 기적을 보여줍니다.
예외? 당신은 무엇입니까 ... 양식 구성을 실행할 때 단단히 매달린 기적을 보았습니다.
foo, bar: int; 베이스: 진짜; foo:= 2000; 막대:= 2000; baz:= INT_TO_REAL(foo * bar);
오버플로가 foo * bar를 16비트에 맞지 않는다는 것은 분명하지만 왜 중단됩니까? 또한 전원 재설정 외에는 도움이되지 않습니다.
개발 환경? 모든 사람이 CoDeSys를 가지고 있는 것은 아니며 많은 사람들이 독창적이고 자신만의 것을 작성하기를 원합니다. 이러한 자체 작성 환경 중 하나는 16비트 INT에 숫자 86400을 쓰려고 할 때 런타임 오류로 충돌했습니다. 그리고 PLC에서 예외 처리를 말합니다. 개발 환경에서 항상 정상적으로 할 수 있는 것은 아닙니다.

하지만! 그러나 하드웨어와 소프트웨어를 구분하는 미세한 선을 좋아하는 사람들에게 구어체 소프트웨어는 정말 흥미로운 IT 분야입니다.

이 작은 리뷰가 도움이 되기를 바랍니다. 하브라 사회가 이 주제에 관심이 있다면 PLC에 대해 더 자세히 알려 드리겠습니다.

자동화의 주요 목적 중 하나는 개체 상태의 변화와 이 프로세스를 제어하는 ​​기능을 모니터링하는 것입니다. 변경 프로세스가 감소하면 생산성과 효율성이 향상됩니다. 머신 비전 및 모션 제어는 변경을 줄이고 오늘날의 자동화 시스템에 유연성을 추가하는 데 도움이 됩니다. 결과적으로 자동 제어 시스템의 유연성과 기능의 증가는 일부 구형 시스템을 처리 능력의 한계까지 밀어붙일 수 있습니다.

PLC 프로그래머블 로직 컨트롤러는 이제 자동화 시스템의 표준이 되었습니다. 종종 새로운 기술의 비용에 추가되는 것은 하드웨어를 업그레이드할 수 있는 능력 및/또는 새로운 운영 체제를 도입할 수 있는 추가 기회입니다. 그러나 PLC 프로그래머블 로직 컨트롤러에 모션 제어 장치 또는 사용자 입력 모듈을 추가하는 것도 전체 장비 비용에 상당한 영향을 미칠 수 있습니다.

상대적 비용, 확장성, 기능 및 맞춤형 옵션의 구현은 최신 산업용 컨트롤러의 요구 사항입니다. 최근 처리 속도, 메모리 및 전력에 대한 요구가 크게 증가함에 따라 PLC가 계속해서 생산 시스템 자동화의 주요 수단이 될 수 있습니까?

관리 프로세스

가장 간단한 형태의 제어 프로세스는 센서, 컨트롤러 및 액추에이터의 세 가지 주요 구성 요소로 구성됩니다. 센서는 제어 대상에 대한 정보를 수집하고 이를 컨트롤러에 전송하고 컨트롤러는 수신된 데이터를 처리하고 액추에이터에 제어 신호를 발행합니다. 이 설계를 폐쇄 루프 또는 피드백 시스템이라고 합니다.

예를 들어, 질소 퍼니스의 가스 및 온도 모니터링은 열처리에 중요할 수 있지만 실내 습도 또는 진동에 대한 데이터는 열처리 프로세스와 전혀 관련이 없을 수 있습니다. 자동 제어 시스템에 최신 데이터를 추가하는 것은 전혀 이점이 없으며 복잡하고 비용만 증가합니다. 복잡성은 설계, 프로그래밍 노드, 문제 해결 비용을 줄이고 실용적이지 않은 구성 요소 설치를 방지하기 때문에 중요해집니다.

센서에 의해 수집된 정보는 "뇌"의 역할을 하는 컨트롤러로 이동합니다. 프로그래머가 제공한 알고리즘과 프로그램을 기반으로 수신된 정보를 처리합니다. 값이 설정된 제한 범위 내에 맞지 않으면 컨트롤러는 오류를 수정하기 위해 액츄에이터에 신호를 보내고 오류가 허용 제한에 들어갈 때까지 계속됩니다. 액추에이터는 자동 제어 시스템(ACS)의 근육입니다. 통제된 시스템에 물리적 영향을 미칠 사람은 바로 그 사람입니다. ACS용 액추에이터는 다양한 전기 드라이브, 유압 드라이브, 공압 드라이브 및 기타 메커니즘이 될 수 있습니다.

“컨트롤러는 무슨 일이 일어나고 있는지 알고 있으며 결정을 내릴 수 있습니다. PLC는 산업 자동화의 확실한 리더입니다.”라고 Bosch Rexroth의 엔지니어인 Matteo Dariol은 말합니다. "약어에는 "프로그래밍 가능한 논리"가 포함되어 있습니다. 1960-1970년대 전자 혁명이 시작될 때 제어 장치가 개별 전자 부품을 사용하여 구축되기 시작했기 때문입니다. 이전에는 설계 사양을 변경하면 제어 장치의 물리적 요소가 변경되고 전체 제어 로직이 재설계되고 재설계되었습니다. PLC 프로그래머블 로직 컨트롤러의 출현으로 제어 알고리즘을 변경하려는 노력은 거의 전적으로 소프트웨어를 변경하는 것입니다.”

최신 PLC는 매우 안정적인 장치이며 프로그래밍 언어가 표준화되어 있습니다. 전자 부품 시장의 모든 주요 업체가 고유한 솔루션을 제공하기 때문에 프로그래머블 로직 컨트롤러를 위한 소프트웨어 개발 환경에는 아직 공통 표준이 없습니다. PLC의 프로그래밍 및 문제 해결은 우리 각자가 잘 알고 있는 개인용 컴퓨터 PC보다 훨씬 쉬울 수 있습니다. PLC 프로그래머블 로직 컨트롤러는 모듈식 구조를 가지고 있으며 프로젝트의 요구 사항에 따라 추가 I/O 포트, 안전 모듈 및 특정 통신 모듈과 같은 다양한 모듈을 연결할 수 있습니다.

모듈식 설계는 프로그래머블 로직 컨트롤러의 주요 이점인 확장성을 제공합니다. 비용, 장치의 단순성 및 구조적 강도와 같은 다른 이점이 있습니다. 계전기와 같은 ACS 요소는 주기적으로 검사하고 교체해야 하며 여기에 PLC의 또 다른 장점인 움직이는 기계 부품이 최소화됩니다. PC 컨트롤러와 같은 더 복잡한 시스템과 통합할 수 있는 기회가 있습니다.

PLC 한계

PLC는 개인용 컴퓨터(PC)에 비해 메모리, 소프트웨어 및 주변 장치 기능이 제한되어 있습니다. 모션 제어(예: 로봇 공학 또는 복잡한 자동화 시스템)에는 추가 PLC 제어 모듈 또는 외부 전자 장치가 필요한 엄청난 수의 입력/출력이 필요합니다. 그러나 컴퓨터가 훨씬 더 많은 정보를 더 빠르게 처리할 수 있으므로 물리적 크기를 크게 줄이고 머신 비전 시스템, 모션 제어 구현에 필요한 처리 능력을 제공하고 대용량 데이터의 빠른 처리를 제공할 수 있다는 점은 주목할 가치가 있습니다. 스트림. 처리된 정보의 지속적인 성장은 일부 회사에서 산업용 사물 인터넷 IIoT를 대규모 컴퓨팅 성능이 필요한 생산 라인 및 산업 시설에 점진적으로 도입하는 것과 관련이 있습니다.

OEM(Original Equipment Manufacturer)은 기계가 동시에 여러 작업을 수행할 수 있도록 하여 장비의 생산성을 높일 수 있습니다. 동시에 실행되는 중요한 프로세스에 대한 극도로 집중적인 AND/OR 계산은 프로그래머블 로직 컨트롤러에 과부하를 줄 수 있습니다. 기계는 여러 컴퓨팅 플랫폼을 사용하여 중요한 프로세스의 처리 시간을 줄일 수 있습니다. 여기에는 일반적으로 프로그래밍, 기계 작동 정보, 데이터 수집 및 지원 기능을 위한 작업자 인터페이스를 지원하는 하나 이상의 모션 컨트롤러와 하나 이상의 감독 프로세서가 포함됩니다. 그러나 다중 프로세서를 사용하는 것은 더 비쌉니다. PC 플랫폼을 대상으로 하는 새로운 소프트웨어는 이 문제를 해결하는 데 도움이 될 수 있지만…

PC는 먼지와 습기와 같은 산업 환경에서 생존하기 어렵고 안정적이지 않습니다. 더 복잡한 소프트웨어나 더 많은 소프트웨어 옵션이 있는 PC를 사용하면 유지 관리 직원을 교육하는 데 훨씬 더 오랜 시간이 걸립니다. 개선된 소프트웨어를 사용하려면 프로그래머가 유지 관리, 수리 및 업데이트를 수행해야 할 수 있습니다. PLC 소프트웨어는 기본적일 수 있지만 속도와 선형 특성에도 불구하고 장치의 수명을 보장할 수 있는 고유한 유서 깊은 표준 언어가 있습니다.

PLC는 일반적으로 LAD 다이어그램을 포함한 산업 표준 프로그래밍 언어 세트(IEC 61131-3)를 사용합니다. LAD 다이어그램은 전기 회로와 유추하여 작성되어 인력 교육, 유지 보수 및 수리를 크게 단순화합니다. 대부분의 경우 프로그래머 없이도 가능합니다. IEC 61131-3 표준의 또 다른 언어는 "고급" 언어와 유사한 구조화된 텍스트입니다. 그러나 C++ 또는 Visual Basic과 같은 다른 비표준 고급 언어를 사용하는 것은 PLC에서 어려울 수 있습니다. 최근에야 사용자가 일반 PC처럼 PLC와 통신할 수 있는 새로운 소프트웨어 도구가 등장했습니다.

PLC 직렬 프로그램은 모든 주기의 모든 명령을 스캔합니다. 스캔 주기는 약 10ms 또는 그 이상 걸립니다. 모든 지시가 완료되면 프로그램은 다음 스캔을 진행합니다. 명령이 지정된 시간 내에 실행되지 않으면 오류 메시지가 발생하고 프로그램 실행이 종료됩니다. 이 어려운 시간 소프트웨어는 프로그램 지속 시간과 100Hz 미만의 모든 입력 신호를 제한할 수 있습니다.

예를 들어 공칭 속도가 1200rpm(신호 주파수 1200/60 = 200Hz)인 속도 센서의 신호를 처리해야 하는 경우 PLC 기반 마이크로컨트롤러는 이 입력을 사용하여 속도를 올바르게 측정할 수 없습니다. 센서의 신호를 정상적으로 처리되는 마이크로 컨트롤러로 변환하는 집적 회로의 디코더 또는 카운터와 특수 모듈을 통합해야 합니다. 이러한 변환기 모듈은 종종 많은 시스템에서 사용됩니다. 예를 들어 PWM 주파수가 10kHz인 솔레노이드를 제어하는 ​​것과 같은 출력 모듈이 필요하다는 점도 주목할 가치가 있습니다. 이러한 장치를 PLC로 제어하려면 PWM 생성기가 있는 출력 모듈이 필요합니다. 이러한 모듈을 추가하면 시스템 비용이 2-3배 증가합니다.

차세대 PLC

새로운 시스템은 일부 PLC 문제를 해결할 수 있는 프로그래밍 가능한 자동화 컨트롤러(PAC)라고 합니다. 일부 전문가들은 프로그래밍 가능한 자동화 컨트롤러(PCA)가 더 상업적인 이름이라고 주장하지만 이는 완전히 사실이 아닙니다. 불행히도 그 정의에는 약간의 차이가 있으며 기술적인 관점에서 볼 때 근본적인 차이점을 찾기가 다소 어렵습니다.

PCA에는 일반적으로 PLC 기능이 포함됩니다. 둘 다 디지털 장치이지만 PCD는 향상된 프로그래밍 옵션을 제공하며 종종 고급 기능, 메모리 및 주변 장치 기능을 제공합니다. PCA는 더 많은 I/O 연결이 필요할 때 더 복잡한 아키텍처 시스템을 제공합니다. 또한 일반적으로 메모리에서 USB 드라이브로 데이터를 전송하는 기능이 내장되어 있으며 데이터베이스와 직접 상호 작용하는 기능도 있습니다.

추가 소프트웨어 기능은 훌륭하게 들리지만 모든 PCD가 표준 IEC 61131-3 언어를 지원할 수 있는 것은 아니므로 추가 프로그래밍 및 유지 관리 문제가 발생할 수 있습니다.

이러한 장치에는 다양한 모델이 있습니다. PCA는 머신 비전 시스템 또는 여러 프로세스를 동시에 제어하도록 설계된 기타 시스템에 중점을 둔 모델을 제공할 수 있습니다. 모델 또는 기술의 선택은 미래의 요구사항(현대화 및 생산 확장)과 표준(예: 안전)을 모두 고려해야 합니다. 계획은 미래의 요구 사항을 충족하여 컨트롤러의 수명을 연장할 수 있을 뿐만 아니라 산업용 IIoT 및 분산 제어의 기반을 마련할 수 있습니다.

PLC는 여전히 관련이 있지만 머신 비전 시스템, 동적 로봇 프로세스 및 모션 제어의 개발, IIoT를 사용한 더 많은 산업 자동화에 대한 요구는 프로그래밍 가능한 로직 컨트롤러로부터 훨씬 더 많은 처리 능력 또는 메모리를 필요로 하는데, 이는 제공할 수 없습니다. . 분산 기술은 센서 자체에서 직접 정보를 처리하는 SoC 및 FPGA와 같은 제품을 제공하여 레거시 라인업을 확장하는 데 도움이 될 수 있습니다. 즉, 기존 라인에 복잡한 프로세스를 추가하는 데 반드시 값비싼 PCA를 설치할 필요는 없지만 측정 데이터를 독립적으로 저장하고 처리할 수 있는 지능형 센서 그룹이 필요합니다.

두 가지 옵션을 모두 사용할 수 있습니까?

PLC와 PCA에 대한 논의를 더욱 혼란스럽게 만드는 것은 둘 중 하나 없이 제어 시스템을 구축할 수 있다는 것입니다. 스마트 센서 및 소프트웨어 네트워크를 결합하여 플랜트 전체에서 프로그래머블 컨트롤러를 제거하거나 더 분산시킬 수 있습니다. SoC는 프로세스를 분산시킬 수 있는 기술 중 하나입니다. 그러나 하나의 SoC에 너무 많은 프로토콜이 있으면 프로세스 또는 그 일부를 검사하는 데 필요한 검사 주기 수가 증가하여 프로그램 가능한 로직 컨트롤러에 과부하가 걸리는 것과 유사한 모드가 발생할 수 있다는 점을 잊지 마십시오.

또한 PLC, 분산화 기술, PLC 및 PLC가 함께 작동하여 기업의 효율성을 극대화할 수 있는 여러 기술이 있습니다. 어떤 기술이 필요한지 결정하려면 몇 가지 기본 단계를 거쳐야 합니다.

로크웰 오토메이션의 마케팅 매니저인 줄리 로빈슨(Julie Robinson)은 “먼저 성공적인 운영에 중요한 요소와 장치나 라인이 견딜 수 있는 노후화 수준을 이해해야 합니다. “위험이 식별되면 사용자는 해당 위험을 완화하고 궁극적으로 제거하기 위한 전략을 개발하고 첫 번째 셀 업그레이드를 계획해야 합니다. 이러한 변경 사항에 영향을 미치는 몇 가지 요인은 다음과 같습니다.

  • 미래의 생산 요구를 일치시키거나 현재의 성능을 개선합니다.
  • 최신 안전 요구 사항 및 규제 문서 준수
  • 효율적인 생산 확장 또는 장비 업그레이드를 위한 생산 시스템의 유연성 증대
  • 가동 중지 시간을 줄여 자산 활용 효율성을 개선합니다.
  • 생산 안전 조치 및 장비 안전 개선

사용자는 또한 몇 년 동안 공장이나 공장을 운영하는 동안 장비에 어떤 변경 사항이 있었는지 이해해야 하며 이를 다이어그램과 도면에 표시해야 합니다.

레거시 하드웨어에 대한 정확한 문서화는 새 하드웨어를 통합하는 데 큰 도움이 됩니다. 그리고 탈중앙화 플랫폼이 이미 통합되어 있다면 문서화가 훨씬 더 중요해집니다. 분산 컨트롤러는 새 장비를 설치할 때 더 적은 시간을 보였습니다. 기존의 중앙 집중식 시스템에서 엔지니어 또는 유지보수 담당자는 PLC에 연결하여 문제를 감지하고 필요한 경우 제어 프로그램을 점프해야 합니다. 잘 설계된 시스템은 작동, 유지 관리가 쉬우며 확장 가능해야 합니다.

분산 시스템에 연결하기 위해 전문가는 "장치 주변"을 물리적으로 걸어 다닐 필요가 없습니다. 이 문제를 해결하기 위해 장비 유지 관리 회사는 기술적으로 호환되는 여러 시스템을 연결하려고 합니다. 종종 이것은 오래된 시스템을 새로운 기술 및 소프트웨어와 통합하는 것을 의미합니다.

현재 매우 적은 비율이 운영 장비의 현대화에 투자하기를 원합니다. 또한, 향후 업그레이드에 대한 결정은 장비 설계에서 내려지며, 종종 하나 이상의 회사가 다양한 장비 설계에 관여하며, 향후 업그레이드 중에 충돌이 발생할 수 있습니다.

장비에 가장 적합한 기술을 선택하기 전에 기술이 현재뿐만 아니라 미래의 목표와도 호환되어야 하고 과도한 복잡성 없이 필요한 기능을 제공해야 한다는 점을 이해하는 것이 중요합니다. 많은 회사에서 모든 분야의 전문가를 유지하는 것이 어렵고 경우에 따라 무의미합니다. 이것이 최근 산업용 사물 인터넷(IIoT)이 추진력을 얻기 시작한 이유입니다.

용어 및 정의

PLC와 PCA의 차이점은 다른 기술에도 침투할 수 있습니다. 예를 들어 SoC(System on a Chip), SoC(System-on-a-Chip), 임베디드 컴퓨터(embedded PC) 및 FPGA(field programmable gate array)는 프로그래머블 로직 컨트롤러의 기능을 대체하거나 확장할 수 있는 몇 가지 기술을 제공합니다. . . . 그러나 일부 기술의 경우 아직 잘 정립된 정의가 없으며 과학자들은 이에 대한 보다 정확한 설명에 대해 논쟁하고 있습니다. 그러나 우리는 몇 가지 기본적인 정의를 제공하려고 노력할 것입니다.

PLC 프로그래머블 로직 컨트롤러

산업 시스템을 자동화하도록 설계된 디지털 컴퓨터입니다. 온도 범위, 압력, 전기 노이즈, 진동 및 기타 열악한 산업 환경과 같은 열악한 환경에서 작동하도록 특별히 설계되었습니다. 그것은 실제로 그를 그러한 인기로 이끌었던 가장 중요한 기능을 가지고 있습니다 - 하드 실시간 시스템.

실시간 모드

많은 사람들은 실시간을 "가능한 한 빨리" 작업의 실행으로 이해합니다. 하지만 그렇지 않습니다. 실시간 시스템은 모든 입력, 출력 및 계산 프로세스가 고정된 시간 내에 처리되도록 보장합니다. 이 기간은 기술 문헌에서 종종 마감일(영어 마감일부터 마감일까지)이라고 합니다. 하드 실시간 시스템에서 기한을 어기는 것은 시스템 오류와 동일합니다. 결과적으로 소프트 실시간 시스템은 기한을 약간 초과하는 것을 허용하지만 이것이 시스템 품질의 수용 가능한 저하로 이어지는 경우에만 가능합니다. 예를 들어 화상회의. 오디오 또는 비디오의 약간의 지연은 치명적인 결과로 이어지지 않습니다.

PLC 프로그램을 컴파일할 때 사용자 명령을 실행하는 데 필요한 자원이 있는지 계산하여 적시에 작업을 완료합니다.

프로그래밍 가능한 자동화 컨트롤러 PCA

PLC 기능이 포함된 디지털 컴퓨터입니다. 프로그래밍 가능한 자동화 컨트롤러는 2000년대 초반에 등장한 비교적 최근의 개념입니다. 대부분의 경우 PCA는 프로그래머블 로직 컨트롤러의 진화입니다. PLC는 릴레이 기반 전기 자동화와 전자 기계식 프로그래밍 가능 자동화 사이의 다리 역할을 하며 소프트웨어 운영에 중점을 둡니다(40년 전 정의).

소프트 실시간 시스템(softPLC)

위에서 언급했듯이 소프트 실시간 시스템은 작업의 적시 완료를 보장하지 않습니다. 따라서 모션 제어 시스템에는 사용되지 않습니다. 대신 softPLC는 공장 간 통신, 인간-기계 인터페이스, SCADA(감독 제어 및 데이터 수집) 시스템에 선호됩니다. 일부 PCA는 SoftPLC가 될 수 있습니다.

임베디드 PC

임베디드 산업용 컴퓨터는 범용 컴퓨터가 아닙니다. 단일 사용자 응용 프로그램에 맞게 설계 및 최적화되었습니다. 모든 구성 요소는 원칙적으로 마이크로 컨트롤러 또는 마이크로 프로세서, I / O 버스, 메모리 및 기타 맞춤형 마이크로 회로를 포함하여 동일한 보드에 있습니다. 장치에는 소프트웨어나 펌웨어도 포함되어 있습니다(펌웨어는 일반적으로 ROM 또는 읽기 전용 메모리에 있음). 임베디드 PC는 실제로 하드웨어와 소프트웨어 사이의 교차점입니다. 두 부분 사이에는 밀접한 관계가 있기 때문입니다. 하나는 다른 하나 없이는 작동할 수 없습니다. 임베디드 PC 프로젝트는 하드 또는 소프트 실시간의 요구에 응답할 수 있습니다.

생산에서는 기술 인력이 수행하므로 일반적으로 허용되는 마이크로 프로세서 및 개인용 컴퓨터 프로그래밍 언어는 직원의 특별한 기술과 지식이 필요하기 때문에 산업용 컨트롤러를 프로그래밍하는 데 적합하지 않습니다. 프로그래밍에 제3자 엔지니어링 회사가 참여하면 최종 사용자가 특정 계약자에게 집착하게 되는 경우가 많습니다. 따라서 프로그래밍에는 일반 사용을 위해 열려 있는 보다 이해하기 쉽고 간단하며 시각적인 프로그래밍 언어가 필요합니다. 1979년에 국제 전기 기술 위원회(International Electrotechnical Commission, IEC 또는 영어 약어 IEC)의 틀 내에서 하드웨어, 설치, 테스트, 문서화 및 통신을 포함한 문제에 대해 특별한 기술 전문가 그룹이 만들어졌습니다. 이 위원회의 작업 결과 1982년에 IEC 1131 표준이 발표되었습니다. 이 표준의 현재 버전(1997년부터 IEC 61131이라고 함)에는 8개의 섹션이 포함되어 있습니다.

  1. 일반 정보.
  2. 장비 및 테스트 요구 사항.
  3. 프로그래밍 언어.
  4. 사용자 매뉴얼.
  5. 메시지 사양.
  6. 필드 네트워크.
  7. 퍼지 논리를 사용한 프로그래밍.
  8. PLC 언어의 적용 및 구현에 대한 지침.

이 IEC 표준(IEC 61131-3)의 섹션 3은 5가지 표준 PLC(산업 컨트롤러) 프로그래밍 언어의 사용을 규제합니다. (IL) 및 구조화된 텍스트 언어(ST). 이러한 언어의 선택은 도움을 받아 제어 알고리즘을 간단하고 명확하게 표현하기 때문입니다. IEC 61131 표준의 도입은 PLC 프로그래밍 분야의 훈련 전문가를 위한 통합 학교 설립의 기반을 제공했습니다. 또한 표준이 등장하면서 하드웨어 독립적인 라이브러리를 만드는 것이 가능해졌습니다.

산업용 컨트롤러(PLC)용 표준 프로그래밍 언어에 대한 간략한 설명

래더 언어(LD)

래더 논리 언어는 전기 기계 요소(릴레이 및 접점)를 사용하여 다양한 수준의 복잡성에 대한 논리적 표현을 설명하는 데 사용됩니다. 릴레이 논리의 언어에서는 AND, OR, NOT과 같은 논리 연산이 가장 쉽고 명확하게 구현됩니다. LD 프로그래밍 언어는 또한 프로그램 블록 간의 조건부 점프 실행을 제공합니다.

순차 함수 차트(SFC) 언어

일련의 절차적 단계와 조건부 점프를 구현합니다. 각 단계는 사용자가 프로그래밍한 특정 작업을 수행합니다. 단계 간 전환은 이러한 조건부 전환에 할당된 논리적 조건이 충족된 후에 수행됩니다.

지시어(IL)

저수준 텍스트 언어. 프로그래밍의 원리, 명령 및 명령 작성 구조는 어셈블리 언어와 동일합니다. 명령 언어(IL)는 표준화되어 있으며 사용되는 하드웨어 플랫폼에 의존하지 않습니다. 각 명령어는 공백이나 탭으로 구분된 4개의 필드를 포함할 수 있습니다. 명령 언어의 명령 구조는 다음과 같습니다.

<Метка> : <Оператор> + <Модификатор> <Операнд> <Комментарий>

지침 행의 레이블, 수정자 및 주석은 선택 사항이며 선택 사항입니다. 연산자는 항상 문자열에 있어야 하지만 때로는 피연산자가 없을 수도 있습니다. 레이블은 명령 목록에서 레이블로 표시된 행의 번호를 저장하는 일부 메모리 영역의 기호 이름(주소)입니다. 레이블 뒤에는 콜론이 와야 합니다. 레이블과 함께 조건부(특정 조건이 충족될 때 실행됨) 및 무조건부(항상 실행됨) 점프(각각 JMPC 또는 JMP 문) 명령이 사용됩니다. 무한 루프로 끝나지 않도록 전환을 주의해서 사용해야 합니다. 연산자는 피연산자에 대해 특정 작업을 수행하는 직접 명령입니다. 연산자와 함께 연산자를 필요한 형식으로 변환하도록 설계된 수정자가 있을 수 있습니다. 따라서 N 수정자는 명령어 자체를 실행하기 전에 피연산자를 반전하고 C 수정자는 누산기의 내용에 대한 검사를 추가하고 누산기의 값이 참(true)인 경우에만 연산자를 실행합니다.

구조화된 텍스트 언어(ST)

구조화된 텍스트 언어는 유연한 데이터 처리 절차를 만들기 위한 고급 텍스트 프로그래밍 언어입니다. 이 언어는 구조가 파스칼과 유사합니다. 구조화된 텍스트(ST) 언어는 표현식을 기반으로 하며 각 표현식은 세미콜론으로 끝나야 합니다. ":=" 연산자는 변수에 값을 할당하는 데 사용됩니다. 일반적인 기호는 수학 표현식을 설명하는 데 사용됩니다. +, *, /, (,),<, <=, >=, > 등. 식의 평가 순서는 대수와 동일합니다. 동작은 왼쪽에서 오른쪽으로 수행됩니다. 먼저 대괄호로 묶인 연산이 수행 된 다음 곱하기 또는 나누기 연산이 수행되고 그 후에 만 ​​더하기 또는 빼기가 수행됩니다. 구조화된 텍스트 언어의 기능을 향상시키기 위해 선택 문(IF ... THEN ... ELSE ... ENDIF), 객관식 문(CASE ... OF ... ELSE ... ENDCASE), 루프를 제공합니다. 명령문( WHILE ... DO ... ENDWHILE, REPEAT ... UNTIL ... ENDREPEAT 또는 FOR ... TO ... BY ... DO ... ENDFOR) .

이 기사의 끝에서 산업용 컨트롤러(PLC) 프로그래밍의 기능을 언급할 가치가 있습니다. PLC를 프로그래밍할 때 산업용 컨트롤러의 프로그램 실행은 주기적으로 수행되며 한 사이클의 실행 시간은 고정되거나 비동기식일 수 있다는 점을 항상 기억해야 합니다(새 사이클은 이전 사이클 종료 직후에 시작됨). 프로그램 실행 알고리즘은 다음과 같습니다. 첫 번째 단계에서 PLC는 처리에 필요한 제어 개체의 상태에 대한 정보를 수신합니다. 입력 변수를 읽습니다(아날로그 및 개별 입력 모듈의 입력). 또한 수신 된 정보의 직접 처리가 수행됩니다. 주 PLC 프로그램이 실행됩니다. 정보 처리의 결과로 제어 명령이 형성되며, 이는 다음 단계에서 출력 변수를 업데이트하는 절차인 산업용 컨트롤러의 출력으로 전송됩니다.



관련 기사: