API를 통해 프로그램을 컴파일 / 다운로드 할 수있는 상용 PLC가 있습니까?


9

우리 팀은 최소한의 처리로 외부 장치에 대한 간단한 실시간 IO가 필요한 산업 프로세스를 제어하기 위해 PLC를 사용하기로 결정했습니다. 그러나, 우리는 정확한 출력이 런마다 다를 것으로 예상하고 (사실, 주어진 런은 거의 반복 될 수 없으며) 작업자는 PLC / 소프트웨어 프로그래밍 경험이 없을 것입니다.

실제 제품을 공개 할 수는 없지만 가장 좋은 비유는 PLC가 실시간으로 다른 밸브의 개폐를 정확하게 제어하는 ​​산업용 스무디 메이커를 설계하는 것입니다. 운영자는 당사의 소프트웨어를 사용하여 다양한 시약의 주문형 추가 순서 및 관련 중장비 (예 : 산업용 믹서)의 온 / 오프를 설계합니다.

당면 과제는 다음과 같습니다. 현재 접근 방식은 작업자가 제공하는 명령 (10ms 동안 밸브 A, 20ms 동안 밸브 B)을 래더 로직 및 PLC 기계 코드로 변환하는 자체 컴파일러를 작성하는 것입니다. 그런 다음 자체 컴파일 된 프로그램을 직렬을 통해 PLC로 직접 다운로드합니다. 이 모든 과정을 자동화해야 작업자가 일련의 단계를 수행 한 후 버튼을 클릭하기 만하면됩니다.

그러나 내 연구에도 불구하고 1) API가있는 컴파일러가 있거나 컴파일러를 작성할 수 있도록 PLC 기계 코드에 대한 충분한 정보를 게시하고 2) PLC로 프로그램을 직접 다운로드하는 것을 지원하는 단일 PLC 공급 업체를 찾지 못했습니다. 공급 업체의 프로그래밍 소프트웨어 (CX- 프로그래머, Atmel 스튜디오 등)를 사용하지 않습니다.

나는 우리가 잘못된 접근법을 취하고 있거나 적어도 어떤 제품을 찾아야할지 모릅니다. I / O는 자체 보드의 구축을 정당화 할 수있을만큼 단순하지만 우리가 찾고있는 기능, 즉 높은 수준의 PC 소프트웨어와의 PLC 상호 작용은 사용할 수없는 것 같습니다.

이상적으로는 전체 프로그램을 한 번에 PLC로 다운로드하고 한 번에 하나씩 명령을 보내지 않고 싶습니다. PLC (또는 우리가 사용하는 모든 장치)에서 모든 명령의 실행은 실시간이어야합니다.

더 큰 프로그램으로 전체 프로세스를 자동화 할 수 있도록 머신 코드의 컴파일 및 다운로드를 지원하는 상용 PLC가 있습니까? 고급 언어로 작성된 PC 소프트웨어로 작성된 PLC로 실시간 프로그램을 다운로드 할 수있는 다른 방법이 있습니까?


OS를 사용하는 경우 사용자가 GUI를 통해 사용자 정의 GUI를 통해 프로그램 코드를 편집하고 컴파일 한 다음 컴파일 된 프로그램을 "PLC"로 다운로드하게하십시오.
Eggi

RTOS 프로그래밍과 원리를 소개하는 자료 나 튜토리얼을 제안 할 수 있습니까? RT가 아닌 임베디드 개발과 전통적인 래더 로직에 가장 익숙하므로이 솔루션에 관심이 많지만 어디서부터 시작해야할지 잘 모르겠습니다.
Dragonsheep

@API 란 무엇입니까? "응용 프로그램 인터페이스"인 경우 어떻게 컴파일 / 다운로드합니까?
Dmitry Grigoryev

1
@Dragonsheep이 아이디어를 무시하는 것이 좋습니다. Henry Cun이 말한 것처럼 산업 증거가 아닌 측면이 너무 많습니다. 첫 번째 : 컴파일하기 전에 코드를 어떻게 변경합니까? 일반 텍스트로 어딘가에 넣습니까? 2 차 : OS를 통해 수십 년 동안 지원
Eggi

답변:


11

이를 위해 PLC를 명확하게 사용할 수 있습니다. 단, "스무디 레시피"마다 PLC 코드를 변경하고 싶지 않습니다.
SD 카드, 네트워크 스토리지, 내부 스토리지 또는 QR 코드와 같은 소스에서 레시피를 읽는 PLC 애플리케이션을 작성해야합니다.

종종 PLC는 이미있어 기능 을위한 조리법합니다 (HMI와 편집)를 사용하면로드 할 수있는 매개 변수의 집합입니다.

최소한의 처리로 외부 장치에 대한 실시간 IO

어떤 것을 사용하든 PLC를 발명하지 마십시오 . 아마 시간 가치가 없을 것입니다. 그리고 소프트웨어 또는 추가 모듈이 비싸다고 생각하지 마십시오. 해당 가격으로 쓸 수 없습니다.


5

나는 이것이 고급 산업용 PLC를 사용하는 것이 아니라 최소한의 PLC를위한 매우 간단한 작업이라고 가정합니다.

또한 이것은 산업적으로 유용하다고 가정합니다. 즉, 고객이 레시피를 10 년 후에 변경할 수 있어야합니다. 또한 그 유용성은 사업을 중단하거나 새로운 제품으로 나아가더라도 살아남 아야합니다.

많은 시스템은 당신이 말한 것처럼 다운로드 및 / 또는 컴파일을 위해 특별한 소프트웨어를 필요로합니다. 장기적으로 고객은 Windows 11,12,13이 더 이상 소프트웨어를 실행하지 않는다는 것을 알게 될 것입니다. 이를 피하기 위해 프로그램을 일반 ASCII 포트로 사용하고 일종의 직렬 포트를 통해 전송하려고합니다. 이것은 약 50 년 동안 진행되어 왔으며 사라질 징조는 보이지 않습니다.

Forth는 대상에서 "컴파일"될 수 있으므로 고객은 터미널에서 ascii 만 보내면됩니다. 결코 폐기되지 않습니다.

Forth ethos의 일부는 고객이 제품의 특정 언어로 취급하는 도메인 특정 기본 요소 ( "AddBanana", "Blend", "Pour")를 작성한다는 것입니다. Forth는 컴퓨터 사용자에게는 희귀 한 것으로 간주되지만 최종 사용자에게는 개념적으로 매우 사용하기 쉽습니다. 이는 유효한 프로그램입니다.

10 grams Thickener 500 grams Banana 15 seconds Hi Blend 50 grams Blueberry 5 seconds slow Blend Pour 5 seconds wait CleanCycle

예를 들어 작은 Arduino 기반 PLC를 사용 하고 FlashForth를 로드 할 수 있습니다. MPEForth 및 ARM -cortex 기반 PLC와 같은 다른 많은 선택 사항이 있습니다.

귀하의 소프트웨어는 이제 모든 편집기 및 일련의 프로그램이됩니다. 이를위한 표준 도구가 있으며 고객이 퇴근 한 지 얼마되지 않아 고객은 매우 간단하게 처음부터 작업 할 수 있습니다.

당신의 전체 아이디어에 실패하는 것은 고객이 제품을 프로그래밍하고 있으며 물론 당신이 취하는 모든 접근 방식에 따라 잘못된 일을함으로써 제품을 채울 수 있다는 것입니다.

그것은 단지 ascii 파일이기 때문에 고객을 위해 멋진 쉘을 만드는 것은 쉽지만 제품은 여전히 ​​파일없이 작동합니다.


답장을 보내 주셔서 감사합니다! 당신이 제안한 Controllino와 같은 것이 바로 우리가 찾고있는 것입니다! 소프트웨어를 직접 제어하고 직렬을 통해 프로그램을 다운로드 할 수있는 최소한의 PLC. "다른 많은 선택"이 있다고 말할 때 관련 검색어는 무엇입니까 / 다른 제품을 추천 하시겠습니까? 우리 팀은 중공업에 가장 익숙하기 때문에 일반적인 Siemens / Mitsubishi / Omron 카탈로그를 살펴본 후 찾고 있던 내용을 찾지 못한 후 아이디어가 떨어졌습니다.
Dragonsheep

@Dragonsheep : 답변을 수락하기 전에 하루나 이틀 정도 기다리는 것이 좋습니다. 이것은 다른 사람들이 글을 쓰도록 독려하며 더 많은 답글과 다른 관점을 갖게 될 것입니다.
트랜지스터

이것이 당신에게 흥미로운 접근법이고 도구, 전문 지식 및 지원에 돈을 지불하는 사람들이라면 MPEForth의 Stephen Pelc와 이야기하고 싶을 것입니다. 그는 이런 종류의 일을 상업적으로합니다. 반면에 자유 맥주 사용자라면 arduino 기반 모듈이나 plc 및 FlashForth를 찾으십시오.
Henry Crun

1
또한 @Transistor와 Jeroen의 답변에 동의합니다. 필요한 것이 산업용 PLC라면 필요한 것입니다. (그리고 임의의 Arduino plc 모듈은 공장 컨트롤러, 더 나은 내부 상자 컨트롤러가 될 정도로 견고하지 않습니다). "OS로 무언가를 얻고 GCC를 사용하는"유형 솔루션에 동의하지 않는 경향이 있습니다.
Henry Crun

이것은 실제로 고객에게 판매하려는 산업 응용 프로그램입니다. 우리는 대기업 벤더 (Mitsubishi 등)가 자사 제품으로 입증 한 20 년 이상의 신뢰성을 갖기를 희망하므로,이 새로운 오픈 소스 하드웨어 벤더 중 한 곳을 방문하는 데 약간의 우려가 있습니다. 동시에 소프트웨어와 현명한 오픈 소스는 우리가 찾고있는 제어 기능을 제공하는 것으로 보입니다. 스티븐은 연락하기 좋은 사람인 것 같습니다. 리드 주셔서 감사합니다.
Dragonsheep

2

산업용 애플리케이션을 위해 Arduino 등을 혼동하지 마십시오. PLC는 신뢰성, 견고성, 표준 및 장기 지원을 염두에두고 설계되었습니다. 내가 일하고있는 회사는 1987 년부터 하나 이상의 Texas Instruments PLC를 운영하고 있으며 1990 년대 초부터는 여러 대를 운영하고 있습니다. eBay 등의 산업 소스에서 예비 부품을 계속 사용할 수 있습니다.

필요한 작업을 수행하기에 충분한 전력을 공급하는 PLC 및 산업용 HMI를 사용하십시오. 최근에 자동 및 수동 단계로 레시피 유연성을 원했던 믹서 작업을 완료했습니다. 순서는 HMI를 통해 프로그래밍 된 어레이를 단계별로 제어하여 제어합니다.

  • 단계 번호 예 : '5'.
  • 기술. 예 : '자동 계량 바나나', '수동로드 체리', '스크랩 다운'.
  • 혼합 속도 (RPM). 예 : '25'.
  • 혼합 시간. 예 : '120'.
  • 단계 종료시 폐기가 필요합니까? (Y / N) 예 : 'Y'
  • 열이 필요합니까? (Y / N) 예 : 'N'.
  • 온도 (° C). 예를 들어 '0'.

우리는 예측 가능한 미래에는 충분하지만 필요한 경우 쉽게 확장 할 수있는 20 단계의 배열로 시스템을 설계했습니다. 모든 세팅은 HMI 어플리케이션에서 설정된 최소 및 최대 값을 갖습니다.

이것은 시스템을 매우 유연하고 편집 가능하게 만듭니다. 우리는 수많은 회사에서 친숙하고 지원할 수있는 PLC 및 HMI를 갖춘 강력한 시스템을 보유하고 있습니다.


답장을 보내 주셔서 감사합니다. 우리가 보유한 특정 응용 분야는 자동화 된 생화학을위한 것이므로 자동화하는 공정에 수백 가지의 시약과 잠재적으로 수백 개의 단계가 포함되어 있기 때문에 모든 종류의 HMI 디바이스 프로그래밍은 절망적으로 복잡 할 것입니다.
Dragonsheep

1

개발 하드웨어 및 소프트웨어 또는 배포 된 하드웨어의 단위당 비용에 대한 예산을 지정하지 않았지만이를 감당할 수있는 경우 내쇼날 인스트루먼트 CompactRIO 하드웨어 및 LabVIEW Real-Time 소프트웨어를 사용하여 요구 사항을 확실히 충족시킬 수 있습니다 .

CompactRIO 컨트롤러는 업계 표준 인증을받은 견고하고 안정적인 고성능 산업용 등급 임베디드 컨트롤러입니다.

컨트롤러 섀시에 연결되는 다양한 I / O 모듈을 사용할 수 있거나 설계가 고정되어 있고 단품 당 비용을 줄이려면 컨트롤러와 I / O를 하드웨어와 통합하기 위해 단일 보드로 사용할 수 있습니다 . LabVIEW Real-Time에서 소프트웨어를 작성하여 컨트롤러에서 실행하고 프로세스 컨트롤을 수행 할 수 있으며, 이는 프로세스 단계를 편집하기위한 웹 기반 UI를 제공하거나 LabVIEW 또는 다른 언어로 작성된 UI 프로그램과 통신 할 수 있습니다 호스트 PC에서 실행 중입니다. PLC에 대한 경험이 제한적이지만이 솔루션이 훨씬 더 강력하고 유연하지만 비용이 더 많이 든다고 말하는 것이 공정하다고 생각합니다.

cRIO 컨트롤러는 온보드 FPGA와 함께 제공되지만 실제로 FPGA 코드를 작성하지 않으면 LabVIEW FPGA 모듈을 구입할 필요가 없습니다. 마치 실시간에 맞는 것처럼 들립니다.


0

내 제안은 LabVIEW를 살펴 보는 것입니다. 귀하의 게시물에 나열된 요구 사항을 충족시킬 것이라고 생각합니다. 컴파일러를 작성하지 마십시오. 그것은 당신이해야 할 것보다 더 많은 일입니다. 그들은 법안에 맞는 많은 상용 PLC입니다. 저는 NI가 다루기 쉬운 것 중 하나라고 생각합니다. 사용자 프로그램을 다운로드하려면 응용 프로그램을 만들어야합니다.

http://www.ni.com/en-us/shop/labview.html

NI는 AtoD, 디지털 출력, 아날로그 출력, CAN 인터페이스 등 광범위한 모듈을 보유하고 있습니다.이 소프트웨어는 멋진 사용자 인터페이스를 생성하는 데 매우 유용합니다. 단점은 싸지 않다는 것입니다. 텍스트 기반 프로그래밍과 매우 다른 경우. 약간의 훈련이 필요할 것입니다.

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