PC 기반 제어 그리고 PLC 기반 제어 (1)(PC based control and PLC based control (1))

  Рет қаралды 14,004

Dorai-tek

Dorai-tek

Күн бұрын

Пікірлер: 25
@tedcho6153
@tedcho6153 3 жыл бұрын
목소리가 펭수 느낌 나서 굉장히 정겹고 좋네요 ㅎㅎ 자세한 설명 정말 감사합니다.
@dorai-tek3721
@dorai-tek3721 3 жыл бұрын
^^ 칭찬과 좋은 평가 감사합니다.
@gorliaths
@gorliaths 2 жыл бұрын
1. 최근 아진엑스텍, 커미조아에서 S/W EtherCAT master라고 RTOS 기반에서 사용할수 있는 제품이 있는것 같은데(하지만 S/W Master라면서 Intel 기반의 이더넷 카드인지 일수 없는 모듈을 장착해야지 동작) 이런제품은 어떻게 생각하시나요? 2. 모벤시스(구 소프트서보)는 예전부터 S/W EtherCAT master를 개발했다 하는데 CPU 코어중 하나를 할당해서 쓴다는데, 이것도 pc based controller라고 생각하시는지요?
@dorai-tek3721
@dorai-tek3721 2 жыл бұрын
안녕하세요. 큰 관점에서 PC 기반 제어는 "PC를 기반으로 하는 제어" 모두를 뜻한다고 할 수 있습니다. 그런데 제가 "Dorai-tek" channel에서 얘기하고 있는 PC 기반 제어는 "Real-time OS 기반의 PC 기반 제어소프트웨어"를 PC 또는 Embedded PC에 설치해서 "PC 기반 제어기(PC based controller)"로 만든 후 산업현장의 장비와 설비를 제어하는 것입니다. 특히 저는 "Dorai-tek" channel에서 Beckhoff TwinCAT Software 기반의 "Beckhoff PC 기반 제어기(Beckhoff PC Based Controller)를 이용한 산업현장의 장비와 설비 제어에 대해 얘기를 하고 있고 관련된 동영상을 올리고 있습니다. Beckhoff PC 기반 제어기(TwinCAT Software + IPC/EPC))는 TwinCAT Software(개발환경 + 실행환경)을 핵심으로 하고 있고, 산업현장의 장비와 설비를 제어할 수 있는 각종 Software Function들을 제공하고 있습니다. Beckhoff PC 기반 제어기는 특정 목적, 예를 들면 모션제어, 에 특화된 제어기가 아닙니다. Beckhoff PC 기반 제어기는 거의 모든 산업영역(반도체/OLED 장비 & 공장, 이차전지, 에너지(풍력발전기 포함), 식음료, 물류, 빌딩오토메이션, 자동차, 조선, 일반기계 등등)에 적용되고 있고 그리고 적용될 수 있도록 각종 Software Function들(HMI, Motion, Communication, Condition monitoring, Database server, Machine learning interface engine 등등)을 제공하고 있습니다. 이러한 저의 기준으로 "KOOIL CHUNG" 님의 질문에 말씀을 드리면, 1. 아진엑스텍과 커미조아에서 만든 "S/W EtherCAT master" 제품군들을 사용한 경험은 없지만 홈페이지를 통해 살펴본 봐로는 "좋은 제품들"이라고 생각합니다. 제가 직접 사용한 적이 없기 때문에 사실 "KOOIL CHUNG" 님의 질문에 대답을 하는 것 자체가 어렵습니다. 그렇지만 이렇게 질문에 대답을 하는 것은 아진엑스텍과 커미조아 개발자 분들이 시장의 수요가 있기 때문에 최선을 다해서 개발한 제품들이고 그렇다면 "좋은 제품들"이라고 말씀드리는 것이 옳을 것 같기 때문입니다. 2. 제 기준으로 모벤시스 제품은 모션제어에 특화된 "PC based controller"라고 말씀을 드릴 수 있습니다. 사실 "이것은 PC 기반 제어고 저것은 PC 기반 제어가 아니다" 라고 얘기하는 것, 그리고 제가 특정 회사의 제품에 대해 어떤 말씀을 드리는 것 자체가 저는 큰 의미가 없다고 생각합니다. 중요한 것은 내가 어떤 것을 제어하려고 하는데 "어떤 솔루션이 나에게 최선인가?"를 검토하고 나에게 최선인 것을 선택해서 사용을 하면 되는 것이라고 생각합니다. 감사합니다.
@gorliaths
@gorliaths 2 жыл бұрын
@@dorai-tek3721 답변 감사합니다!
@하하-j3d
@하하-j3d 2 жыл бұрын
안녕하세요 도라이텍님 저는 이번에 PC및 PLC직무 관련일을 하는 회사에 입사한 신입입니다 회사가 따로 교육프로그램을 진행하고있지 않아서 유튜브를 보면서 twincat을 공부하고 있는데 어려움이 있어요 PLC도 따로 교육기관을 통해서 3달정도 수련했지만 아직 부족함이 많은 상태이지만 그래도 PLC프로그램은 직관적이어서 어느정도 읽고 느낌잡을 수준만 간신히 되는 수준입니다. 이또한 완벽하진 않고 이해하는데 어려움이 있습니다 문제는 PC제어는 따로 배운적이 없는데 회사에 들어와보니 PC제어 TWINCAT 을 사용하고 있어요 서론이 길었습니다... 혹시 도라이텍님께 메일이나 sns 카카오톡 등의 방법으로 개인적인 상담 및 진로계획을 위해서 연락할 방법이 있을까요
@dorai-tek3721
@dorai-tek3721 2 жыл бұрын
안녕하세요. 하하 님, doraitek.20@gmail.com 으로 연락을 주시면 제가 도와드릴 수 있는 것은 도와 드리도록 하겠습니다.
@ofalv7546
@ofalv7546 3 жыл бұрын
RTX, InTime 같은 리얼타임 코어를 사용하지 않고, 윈도우즈10에 아진엑스텍이나 커미조아등의 보드와 모션 ,IO라이브리만 이용해서 개발하는 경우가 굉장히 많은데 왜 거의 없다고 설명하시는지요? 하드리얼타임이 꼭 필요한 장비는 물론 필요하지만 그렇게 필요하지 않은 장비들도 많습니다
@dorai-tek3721
@dorai-tek3721 3 жыл бұрын
PC 기반 제어 그리고 PLC 기반 제어 (1) 동영상에서 "PC 기반 제어는 PC 기반 제어기(PC + PC 기반 제어소프트웨어)를 이용해서 산업현장에 사용되는 장비와 설비를 제어하는 것이라고 말씀드렸고, 또한 실시간 제어가 필요한 산업현장의 장비와 설비 제어에 "Windows 운영체제만 이용해서 개발한 제어프로그램을 사용하는 경우는 거의 없다고 말씀을 드렸습니다. ofalv 님께 말씀드리고 싶은 것은 제가 동영상에서 언급한 것은"PC 기반 제어소프트웨어와 실시간 제어가 필요한 산업현장의 장비와 설비 제어"에 대한 것이라는 점입니다. 저는 1999년부터 국내에 SST 사의 DeviceNet Card를 반도체/LCD/OLED 장비 회사에 수 천장 공급했는데, 이때 고객들이 장비 제어를 위해 구성한 제어기는 "PC + Windows OS + DeviceNet Card + DeviceNet IO + Motion Card 또는 Motion controller"입니다. PC에서 IO를 제어할 때는 SST 사에서 제공한 API를 이용해서 제어프로그램을 만들었고, Motion 제어를 위해서는 Motion card를 공급한 회사에서 제공한 API를 이용해서 제어프로그램을 만들었습니다. 만약 Motion Controller를 사용했다면 이것과 Interface 하는 프로그램을 작성해서 모션 제어를 했습니다. 이 제어기 구성에서 IO 제어는 Windows OS 기반의 제어프로그램이 한 것이 맞습니다. DeviceNet IO 제어에는 실시간 제어가 필요없으니까요. 그런데 모션 제어는 제어프로그램이 한 것이 아니라 제어프로그램에서 지시를 하면 Motion card 또는 Motion controller에 서 실행을 했습니다. 관점에 따라서는 제어프로그램이 지시(명령)을 내리니까 제어프로그램이 모션제어를 직접 하는 것이라고 볼수도 있지만, 실제로 이 명령을 받아서 모션제어를 실행하는 것은 DSP가 장착되어 있는 Motion Card 또는 그 하나가 제어기 그 자체인 Motion Controller 입니다. PC 기반 제어소프트웨어는 IO 제어와 모션제어 및 기타 등등 제어에 대한 명령과 실행을 PC 기반 제어소프트웨어 그 자체에서 수행합니다. 모션제어는 실시간 제어입니다. Motion card 판매 회사에서 제공하는 API를 이용해서 Windows OS 상에서 모션제어 프로그램을 작성하지만 실제로 실행은 Windows OS 기반의 모션제어 프로그램이 하는 것이 아니라 DSP가 장착된 Motion Card가 하는 것입니다. 세계 10대 반도체 장비 공급업체들이 모두 EtherCAT을 사용하고 있습니다. 그리고 국내 반도체 생산 회사도 EtherCAT 통신을 선호하기 때문에 국내 반도체/FPD 장비 공급업체들도 EtherCAT을 사용하는 추세입니다. 그래서 IO 제어에 DeviceNet 통신을 사용하고 있던 많은 장비회사들이 EtherCAT 통신으로 변경을 하고 있습니다. 이러한 상황에서 많이 판매되고 있는 제품이 독일 힐셔(Hilscher)사의 EtherCAT Master Card 입니다. 이 Card에는 ARM CPU 기반의 Controller가 탑재되어 있어서 고속 EtherCAT 통신 관련된 부분을 EtherCAT Master Card에서 처리합니다. 아진엑스텍, 커미조아, RS Automation 등에서 판매하고 있는 Motion Card with EtherCAT Interface도 마찬가지입니다. Hardware에서 EtherCAT 통신과 모션제어에 대한 것을 처리합니다. 그런데 PC 기반 제어 소프트웨어는 다릅니다. 말그대로 소프트웨어에서 처리합니다. TwinCAT을 사용할 경우 EtheCAT Master Card나 Motion Card with EtherCAT Interface가 필요없습니다. Intel Chipset이 장착된 LAN Card가 EtherCAT Master Card 역할을 하고 IO 제어와 모션제어는 PC에 장착된 CPU에 의해 수행됩니다. 그런데 Windows OS는 이런 실시간 제어를 수행할 수 있는 능력이 없기 때문에 PC 기반 제어소프트웨에는 Real-time OS가 Runtime System으로 탑재되어 있다고 말씀을 드린 것입니다. 저는 동영상에서 PC 기반 제어"소프트웨어"에 대해 말씀을 드렸고, "실시간 제어가 필요한" 산업현장의 장비와 설비 제어에 대해 말씀을 드렸습니다. ofalv 님께서 예를 든 것은 Hardware를 이용해서 실시간 제어(모션제어)를 하는 것이고 제가 얘기한 것은 Software를 이용해서 실시간 제어를 하는 것을 말씀을 드린 것입니다. 그리고 ofalv 님께서 말씀하신 것처럼 실시간 제어가 필요없는 장비들도 당연히 엄청나게 많습니다. 지금까지 DeviceNet IO를 이용해서 IO 제어를 한 장비들은 당연히 실시간 제어가 필요없기 때문에 PC 기반 제어소프트웨어를 사용하지 않고 Windows OS 상에서 DeviceNet Card 공급 사에서 제공하는 API를 이용해서 제어프로그램을 만들어서 사용하고 있습니다. 앞에서 말씀드린 것처럼 최근 반도체/OLED 장비회사에서 EtherCAT 통신을 사용하는 것이 늘어나면서 DeviceNet IO를 EtherCAT IO(?)로 대체하는 곳이 늘어나고 있습니다. 단순히 IO만 대체할 경우, 이 회사들이 선택하는 것은 EtherCAT Master Card를 사용하거나 TwinCAT IO(Non Real-time Device Driver with Configuration Tool)를 사용해서 EtherCAT IO 제어를 하는 것인데, 이 경우에는 DeviceNet 보다는 성능이 뛰어나지만 실시간 성은 없습니다. 정리하면, ofalv 님께서 말씀하신 것처럼 PC에 Motion card 등을 장착해서 Hardware를 이용한 모션제어(실시간 제어)와 IO 제어를 하는 경우도 많습니다. 그런데 제가 동영상에서 언급한 것은 PC 기반 제어"소프트웨어"이고, "실시간 제어가 필요한 산업현장에 사용되는 장비와 설비제어"를 기준으로 말씀을 드렸기 때문에 Windows 운영체제만 이용해서 개발한 제어프로그램을 사용하는 경우는 거의 없다고 한 것입니다.
@ofalv7546
@ofalv7546 3 жыл бұрын
@@dorai-tek3721 자세한 설명 잘 들었습니다. 동영상 제목과 설명하시는 명칭등에 헷갈리게 만드는 요소가 있는것 같습니다. 동영상 제목이 PC기반 제어라고 하셨는데 실제 설명과 범위는 "트윈캣을 이용한 산업용 전용PC(벡호프 제품등)기반 제어"로 보이네요. 물론 RTX를 사용하고 RTX기반으로 이더캣 마스터를 올리면 비슷한 개념이겠지만요. "PC기반 제어 소프트웨어"라는 명칭도 "PC기반"은 하드웨어를 말하는 것이고 "제어소프트웨어"는 트윈캣 상용 소프트웨어인지 아니면 커스텀으로 개발가 비쥬얼스튜디오로 만든 소프트웨어인지 명확하지 않습니다. 따라서 모든 소프트웨어라고 생각할 수 밖에 없고요. PC기반이라고 하더라도 벡호프같이 인텔cpu사용하지만 전용 PC 시스템일 수도 있고, 일반 시중에서 구입할 수 있는 산업용 PC를 의미할 수도 있고요. 백호프와 트윈캣을 중심으로 설명하실 것이면 너무 일반적인 명칭으로 설명을 하시지는 않는 것이 듣는 사람의 혼란을 방지할 수 있을 것 같습니다. 그런데 일반 윈도우 PC + 아진보드등의 제어가 명령만 내리고 실제 모션 동작은 아진 모션 콘트롤러의 DSP에서 처리한다는것은 맞는데요. 그렇다면 이더캣 마스터는 이더캣을 지원하는 서보 드라이버에 명령만 내리는게 아니라 각 펄스 하나 하나까지 이더캣 통신으로 보낸다는 의미가 됩니까? 통신으로 모션 펄스를 튕긴다는게 말이되는건지 이해가 안되네요. 이더캣마스터도 서보 드라이버에 명령만 보내는 것이 아닐까요?
@dorai-tek3721
@dorai-tek3721 3 жыл бұрын
@@ofalv7546 ofalv 님께서 말씀하신 것처럼, 큰 개념에서 보면 PC 기반 제어는 "PC를 이용한 제어 모두"를 뜻하는 것이 맞습니다. PC에서 Serial 통신을 이용해서 제어 성능(통신 속도 + 프로그램 실행 성능)은 크게 고려 대상이 되지 않는 장비를 제어해도 큰 개념에서 보면 PC 기반 제어입니다. 제가 큰 개념이라는 표현을 사용한 것은, PC 기반 제어소프트웨어가 나오면서 PC 기반 제어를 PC 기반 제어소프트웨어를 사용하는 것과 그렇지 않은 것으로 구분할 필요가 생겼고(PC 기반 제어소프트웨어를 공급하는 업체 측면에서), 또 PC 기반 제어 자체가 PLC와 Motion Control을 대체 또는 경쟁하는 제품으로서 출시된 것이기 때문에 실시간 제어를 강조하게 되었고 그래서 일반 PC 기반 제어와 PC 기반 제어소프트웨어를 사용한 PC 기반 제어를 구분해서 얘기를 하게 되었습니다. 1998년에 처음 PC 기반 제어소프트웨어를 국내에 소개할 때는 큰 개념에서의 PC 기반 제어를 얘기를 하고 그리고 PC 기반 제어소프트웨어를 이용한 PC 기반 제어에 대해 설명을 했었는데, 점차 시간이 흐르면서 자연스럽게 "PC 기반 제어 = PC + PC 기반 제어소프트웨어"로 얘기를 하게 되었습니다. 제가 "DORAI-TEK" 채널에 올린 동영상과 설명 문구를 보시면 "이 동영상들은 PC 기반 제어와 PLC 기반 제어에 대한 DORAI의 주관적인 생각을 말씀드리는 동영상입니다"라고 말씀을 드리고 있습니다. 저의 기술적 배경은 INtime, VLC, Fieldbus(DevicNet, Profibus, Sercos 등), TwinCAT 및 EtherCAT 입니다. 그리고 이 채널의 정보란에도 "PC based control based on TwinCAT 3 and EtherCAT" 이라고 적어 놓았습니다. 이 채널은 저의 기술적인 배경을 바탕으로 TwinCAT과 EtherCAT을 사용하는 분들 또는 알고자 하는 분들에게 조금의 도움이라도 될 수 있었으면 좋겠다는 마음으로 만들었습니다. 그래서 앞으로도 이 채널에 올리는 동영상들은 TwinCAT Programming, TwinCAT과 EtherCAT의 활용 등에 대한 내용이 주를 이룰 것입니다. PC 기반 제어(PC + PC 기반 제어소프트웨어)는 그 제품이 어떤 회사 제품이든 제가 동영상에서 말한 기본 개념을 벗어나지는 않습니다. 여기서 PC 기반 제어소프트웨어는 개발 환경과 실행 환경을 모두 갖춘 상용 소프트웨어를 말합니다. 제가 만든 동영상들과 이 채널에 올린 질문에 대한 답글에 이 내용이 포함되어 있습니다. 최근에 독일 Phoenix Contact 사와 Bosch Rexroth 사에서 PLCnext control과 ctrlX Automation 솔루션을 출시하면서 인텔 Atom CPU와 Real-time Linux 기반의 Controller를 기본 제어기(Runtime System)로 제공하고 있고 개발환경은 PC + Windows OS에서 C/C++, Java, Python, IEC 61131-3 언어 등을 지원하면서 이 솔루션들이 PC 기반 제어인 것처럼 보이기는 하나, 제 관점에서 보면 PLC와 같은 개념(개발 환경은 Windows OS 기반의 PC에서, 그리고 실행은 자사에서 만든 제어기에서만)입니다. 물론 Beckhoff에서도 Linux 기반의 전용 제어기(Intel CPU 기반)를 출시하기는 했는데, 아직까지는 이러한 전용 제어기에서만 동작하는 제품을 제 관점에서는 PC 기반 제어라고 보지는 않습니다. 시간이 좀 더 흘러서 이러한 제품들이 시장을 주도하게 되면 그때는 PC 기반 제어에 대한 개념이 조금 바뀔 수도 있을 것 같습니다. 그리고 TwinCAT과 EtherCAT을 이용한 모션제어는 기본이 포지션(위치)제어입니다. ofalv 님이 말씀하신 것처럼, TwinCAT이 기본 2ms 정주기(최대 50us 정주기)로 Servo Drive와 통신을 하면서 위치 값을 확인하고 Servo Drive에 명령을 내리면 실행은 Servo Drive가 합니다.
@ofalv7546
@ofalv7546 3 жыл бұрын
@@dorai-tek3721 네~ "PC 기반 제어 소프트웨어는 개발 환경과 실행 환경을 모두 갖춘 상용 소프트웨어" 라고 정의하신 것이 주관적인 의견이시라니 각자 생각 하면 될 것 같습니다 ^^ 결국 Dorai님의 기술적인 배경에서 생각하시는 PC기반 제어의 범위는 벡호프의 트윈캣과 CodeSys정도가 되겠네요. 그렇게 이해하겠습니다. 그런데 벡호프의 트윈캣은 벡호프 전용 제어기(PC) 외의 일반 산업용 pc에서도 구동(개발)이 가능한가요? 질문은 여기까지만 하겠습니다. 즐거운 연휴되세요 ^^
@dorai-tek3721
@dorai-tek3721 3 жыл бұрын
@@ofalv7546 TwinCAT 3 Software의 Option에 Platform 90 ~ 94 항목이 있습니다. 이 Option이 Beckhoff IPC/EPC가 아닌 다른 회사의 컴퓨터에서 TwinCAT 3 Software Runtime System을 실행시킬 때 구매하는 License Option입니다. TwinCAT 3 Software를 이용해서 제어프로그램을 개발할 때 사용하는 개발 환경은 아무 컴퓨터에서나 설치해서 사용 가능합니다. 그런데 Platform 90 ~ 94 Option에 한 가지 함정이 있는데, 이 Option을 구매해서 Beckhoff에서 만든 컴퓨터가 아닌 다른 회사에서 만든 컴퓨터에 TwinCAT 3 Runtime System을 실행시킬 때 "Beckhoff Real-time Kernel 기반의 Runtime System"의 안정적인 운용(동작)을 Beckhoff에서 보장하지 않는다는 점입니다. 이것은 Beckhoff에서 문서를 통해 공개적으로 얘기를 하고 있는 것입니다. 제가 테스트하고 동영상을 만들고 있는 것이 있는데, Beckhoff가 만든 컴퓨터가 아닌 컴퓨터에서 TwinCAT 3 Software Runtime System을 안정적으로 운용(동작)하기 위한 설정에 대한 것입니다. 결론을 말씀드리면 CPU Core 한 개 또는 몇 개를 Real-time Kernel만 사용할 수 있도록 할당(Isolated)해서, 이 CPU Core에서 Runtime System을 실행시키면 다른 회사의 컴퓨터들에서도 Runtime System이 안정적으로 운용(동작)될 수 있습니다. 물론 컴퓨터에 따라서 발생하는 "System Latency"는 다룰 수 있기 때문에 100% 보장을 하지는 못합니다. 오랜만에 PC 기반 제어에 대해 이런 저런 얘기를 나눠본 것 같습니다. ^^ ofalv 님도 연휴 잘 보내십시오. 새해 복 많이 받으시구요.
@omission_J
@omission_J 3 жыл бұрын
영상 잘봤습니다. 지속적으로 pc제어의 성장이 보이는데, 앞으로 plc제어보단 pc제어의 영역이 더 커질까요?
@dorai-tek3721
@dorai-tek3721 3 жыл бұрын
단순하게 제어 영역으로 한정해서 생각하면 PLC 기반 제어가 더 큽니다. 그리고 PC 기반 제어는 계속해서 PLC 기반 제어 영역을 잠식해 가겠지만, 그래도 PLC 기반 제어가 7대3 정도로 더 클 것이라고 개인적으로 생각하고 있습니다. 그런데 2015년부터 많이 언급되고 있는 스마트 팩토리(자동화 기술과 정보통신 기술의 결합을 통해 획득한 "데이터를 활용"해서 생산성의 극대화를 추구하는 공장- 저의 개인적인 정의입니다.) 관점에서 본다면 PC 기반 제어의 영역을 제어 + 데이터 핸들링(확장하면 Edge Computing) + 계측/모니터링(Beckhoff에서는 이 영역을 Scientific Automation이라고 봅니다.) + 비젼 + 대용량 데이터를 활용한 모션제어(Beckhoff XTS/XPlana Solution) 등까지 확장할 수 있는데, 이러한 관점에서 본다면 PLC 기반 제어 보다 PC 기반 제어의 영역이 엄청 더 넓습니다. 데이터 핸들링, 계측/모니터링, 비젼, 대용량 데이터를 활용한 모션제어 등의 영역은 PLC 기반 제어가 접근할 수 없는 영역이기 때문입니다. 그런데 이렇게 PC 기반 제어를 활용할 수 있는 영역이 넓기 때문에 상대적으로 PLC 기반 제어에 비해 PC 기반 제어는 공부해야 할 것이 많이 있습니다. 그래서 PLC 기반 제어 보다 PC 기반 제어가 접근하기가 쉽지 않습니다. 그렇기 때문에 지금 현재 국내에서 PC 기반 제어 솔루션을 공급하는 회사나 사용하고 있는 회사들이 가지고 있는 가장 큰 문제가 엔지니어들이 부족하다는 것입니다.
@omission_J
@omission_J 3 жыл бұрын
@@dorai-tek3721 막연하게 생각하고있는 사실을 전문적 지식과 현재 상황의 모습을 구체적으로 말씀하시니 확 와닿네요. 어디서 쉽게 듣지 못할 정보라 생각하는데, 정말 감사합니다
@스즈스
@스즈스 4 жыл бұрын
반도체 검사장비들은 대부분 pc기반 제어인가요?
@dorai-tek3721
@dorai-tek3721 4 жыл бұрын
제가 아는 범위에서 말씀을 드리면, 지금까지 한국 회사에서 만든 반도체 검사장비에 상용 PC 기반 제어 소프트웨어를 사용한 사례는 거의 없는 것으로 알고 있습니다. 주로 Intel CPU 기반의 Computer(Embedded PC/Industrial PC)에 Real-time Linux, INtime, RTX 같은 Real-time OS 또는 Real-time extension for Windows OS를 사용해서 자체적으로 제어시스템을 개발해서 사용하거나, "PLC + Motion Controller + Vision Controller + User Interface PC" 조합으로 사용하는 경우가 많은 것으로 알고 있습니다. 그리고 최근에 상용 PC 기반 제어 소프트웨어와 EtherCAT 통신을 조합해서 테스트를 해보려고 하는 회사들은 조금 있는 것으로 알고 있습니다. 정리하면 PC를 이용해서 제어를 하고 있는 곳도 있고 아닌 곳도 있는데, 상용 PC 기반 제어 소프트웨어를 사용한 곳은 거의 없는 것 같습니다.
@orineoguri6285
@orineoguri6285 3 жыл бұрын
Pc나 plc를 배우려면 어느 학과가 가장 적합할까요? 전자과 희망중인데 전기과, 소프트,기계 어디가 맞는 건가요?
@dorai-tek3721
@dorai-tek3721 3 жыл бұрын
안녕하세요. 서승민 님께서 질문에서 말씀하신 "PC나 PLC"의 의미를 저는 "PC 기반 제어나 PLC 기반 제어"로 이해를 했습니다. 제가 이해한 것이 맞는다는 전제하에 제 경험을 바탕으로 서승민 님께서 질문하신 것에 대해 나름 말씀을 드리겠습니다. 저는 PC 기반 제어 그 중에서도 PC 기반 제어 소프트웨어(독일 Beckhoff 사의 TwinCAT, 미국 Steeplechase 사의 VLC)들을 이용한 PC 기반 제어 솔루션을 주로 사용했고, 지금도 사용하고 있습니다. 제가 "PC 기반 제어 그 중에서도 PC 기반 제어 소프트웨어를 이용한 PC 기반 제어"라고 표현한 이유는 큰 관점에서 보면 PC를 이용해서 무엇인가를 제어한다면, 그것이 Real-time 기반이든 아니든, 모두 PC 기반 제어라고 얘기를 할 수 있기 때문입니다. 그런데 PLC 기반 제어와 대응되는 개념의 PC 기반 제어라면 보통 "PC 기반 제어 소프트웨어를 이용한 PC 기반 제어"를 얘기한다고 말할 수 있습니다. 제가 얘기한 "PC 기반 제어소프트웨어를 이용한 PC 기반 제어"를 제대로 배울 수 있는 교육기관들(마이스터교, 공업계 고등학교, 폴리텍 대학, 인재개발원 등의 직업학교, 공과대학)은 거의 없는 것 같습니다. 대부분 PC 기반 제어 솔루션을 공급하는 회사들에서 소프트웨어를 전공한 학생들 또는 소프트웨어를 전공하지는 않았지만 독학으로 프로그래밍에 대한 기본적인 실력을 갖춘 학생들을 뽑은 후 가르쳐서 엔지니어로 키우는 편입니다. 그래서 "PC 기반 제어"를 배우려면 컴퓨터공학과에서 프로그래밍에 대한 기본 실력을 쌓은 후 관련 회사로 취업을 하는 것이 제일 좋습니다. 그런데 컴퓨터 프로그래밍을 꼭 컴퓨터공학과에서만 배울 수 있는 것은 아닙니다. 이번 주에 저와 미팅을 하기로 한 분은 기계공학과 대학원생인데 필요에 의해 "TwinCAT Software를 통한 데이터 수집/처리"를 공부하고 있고 관련해서 미팅을 하기로 한 것입니다. 기계공학과라고 해서 프로그래밍을 할 수 없는 것은 아닙니다. 그리고 제가 아는 아주 뛰어난 소프트웨어 개발자들 중에는 불어과 출신도 있습니다. ^^ 어쨌든 서승민 님께서 PC 기반 제어 엔지니어가 되고자 한다면 컴퓨터 프로그래밍 관련 학과로 진학을 하시는 것이 가장 좋을 것 같습니다. 그리고 그 다음으로 추천을 한다면 메카트로닉스 학과도 나쁘지 않을 것 같습니다. 그런데 다시 한 번 말씀을 드리지만 꼭 소프트웨어 전공 학과가 아니어도 소프트웨어 개발을 위한 프로그래밍은 얼마든지 공부하고 익힐 수 있습니다. 그리고 PLC 기반 제어를 공부하고 싶으시다면, 제가 PLC 기반 제어에 별로 관심이 없어서 잘 알지는 못하지만, 주로 메카트로닉스 학과에서 PLC 를 이용한 실습을 많이 하고 있는 것으로 알고 있습니다. 그래서 PLC 기반 제어를 공부하고 싶으시다면 메카트로닉스 학과를 살펴보시는 것이 좋을 것 같습니다. 그리고 한 가지를 더 말씀드리면, 이것은 순전히 제 경험이지만, PLC 기반 제어를 현업에서 3년 이상 한 엔지니어들에게 PC 기반 제어 솔루션을 이용해서 프로젝트를 진행하라고 하면 거의 대부분 포기/거부 하는 것 같습니다. 그렇지만 PC 기반 제어 엔지니어들에게 PLC 기반 제어 솔루션을 이용해서 프로젝트를 진행하라고 하면 웬만하면 수행을 하는 것 같습니다. 왜 그런지를 얘기하면 정말 많은 것들을 얘기해야 하기 때문에 글이 길어질 것 같아서 아주 간단히 말씀을 드리면, PLC 기반 제어에 비해 PC 기반 제어가 배워야 할 것도 많고 알아야 할 것도 많기 때문인 것 같습니다. 배울것도 많고 알아야 할 것도 많지만, 그래도 가능하면 PC 기반 제어를 배우는 쪽으로 학과 선택을 하시는 것이 좋을 것 같다고 말씀을 드리고 싶습니다. 이상 제 경험을 바탕으로 서승민 님께서 질문하신 것에 대해 말씀을 드렸습니다.
@킴킴쓰-r2f
@킴킴쓰-r2f 3 жыл бұрын
@@dorai-tek3721 안녕하세요 메카트로닉스공학과 3학년으로 다니고있는 학생입니다. 직무 결정에 깊은 고민 끝에 PC 기반 제어 직무쪽으로 관심있어서 질문드립니다. PC 기반 제어에 취업하고 싶은데 기본적인 실력을 갖춘 학생이 되기 위해서 c나 c++ 이외에 무슨 프로그램을 공부하면 좋을까요? 즉 신입에서 어떤 정도의 역량이 있어야 될까요?
@dorai-tek3721
@dorai-tek3721 3 жыл бұрын
@@킴킴쓰-r2f 안녕하세요. 킴영영님께서 하신 질문은 PC 기반 제어 엔지니어를 채용하려고 하는 회사들, 그리고 이 회사들이 주력으로 하고 있는 업종(분야)별로 다를 수 있기 때문에 제가 일반화를 해서 말씀드리기는 어려울 것 같습니다. 대신에 저의 사회생활 경험과 제가 근무했었던 회사에서 신입 동료들을 채용할 때 그리고 지금 근무하고 있는 회사에서 함께 일하고 싶은 신입 동료를 채용한다면 이런 정도의 지식과 경험이 있었으면 그리고 있으면 좋겠다는 지극히 저의 개인적인 기준으로 말씀을 드리겠습니다. PC 기반 제어를 크게 보면 "PC를 이용해서 어떤 것을 제어하는 모든 것"을 전부 PC 기반 제어라고 말할 수 있습니다. PC 기반 제어를 조금 세분화해서 얘기를 하면 C/C++, C# 등의 프로그래밍 언어와 Real-Time OS 또는 Windows OS + Hardware(모션컨트롤 보드 또는 필드버스/산업용 이더넷 마스터 카드 등)을 이용해서 제어를 하는 경우와 PC 기반 제어소프트웨어(TwinCAT, Codesys, Siemens S7-1500 등)를 이용해서 제어를 하는 경우로 나눌 수 있습니다. 저는 C/C++, C# 등의 프로그래밍 언어와 Real-Time OS 또는 Windows OS + Hardware(모션컨트롤 보드 또는 필드버스/산업용 이더넷 마스터 카드 등)을 이용해서 제어를 하는 분야에는 필드버스/산업용 이더넷 마스터 카드 + IO 등을 공급하고 기술지원을 했었고, PC 기반 제어 소프트웨를 이용해서 제어를 하는 분야에는 TwinCAT 기반의 제어솔루션(PC/EPC + PC based Control Software(TwinCAT) + Fieldbus/Industrial Ethernet + Motion 등)을 공급했고, 지금도 공급하고 있습니다. 만약 킴영영 님께서 C/C++, C# 등의 프로그래밍 언어와 Real-Time OS 또는 Windows OS + Hardware(모션컨트롤 보드 또는 필드버스/산업용 이더넷 마스터 카드 등)을 이용해서 제어를 하는 회사로 취업을 하려고 한다면 C/C++ 또는 C# 등의 프로그램 언어를 이용해서 제어 프로그램을 작성하는 능력을 키우면 좋을 것 같습니다. 만약 킴영영 님께서 PC 기반 제어 소프트웨어를 이용해서 제어를 하는 회사로 취업을 하려고 한다면, 국내 및 세계적으로 많이 사용하고 있는 PC 기반 제어 소프트웨어를 기반으로 한 프로그래밍 능력을 기르고 거기에 더해 C#, Python, JavaScript 중 한 개를 더 사용할 수 있으면 아주 좋을 것 같습니다. 제가 TwinCAT 기반의 제어 솔루션을 오랫동안 공급해왔고 Beckhoff 사 자체가 PC 기반 제어 분야에서는 세계적으로 강한 회사이다 보니, 저의 개인적 의견으로, 킴영영 님께서 PC 기반 제어 소프트웨어를 이용해서 제어를 하는 회사로 취업을 하려고 한다면 TwinCAT 기반의 제어 솔루션을 공급하고 있는 회사를 목표로 하는 것도 좋을 것 같습니다. 이런 회사로 취업을 하려고 한다면 TwinCAT 3 소프트웨어 기반의 제어프로그램 개발(IEC 61131-3 언어 중 특히 ST 언어 사용) 능력을 키우고 상위 시스템과의 통신, 데이터 핸들링, 사용자 인터페이스 개발 등을 위해 C#, Python, JavaScript 중 한 가지를 더 사용할 수 있으면 아주 좋을 것 같습니다. 그런데 제가 신입동료들을 채용할 때 정말 아쉬운 것이 있었습니다. 그것은 경험(실무 능력)에 대한 것입니다. 많은 입사 지원자들이 컴퓨터 프로그래밍 언어 또는 PLC 프로그래밍 언어(주로 Ladder Diagram)에 대한 지식은 가지고 있었으나 이것을 이용한 문제 해결 능력은 그렇게 뛰어나지 않았습니다 . 제 생각에 이것은 PC 기반 제어를 공부했던 학생이든 PLC 기반 제어를 공부했던 학생이든 학생들(신입 취업지원자들)의 문제가 아니라 교육기관의 문제라고 생각은 합니다. 교육기관에서 괜찮은 실습장비들을 갖추고 학생들이 이것을 이용한 다양한 실습을 통해 문제 해결 능력(제어프로그램 개발 능력)을 기를 수 있도록 해주면 좋겠는데 거의 그렇지 못한 것 같았습니다. 제어프로그램 개발 능력을 독학으로 기르기는 매우 어려운데, 이유는 실습장비들이 너무 비싸서 학생들이 개인적으로 실습장비를 갖추고 제어프로그램 개발 실습을 진행하기가 어렵기 때문입니다. (물론 좋은 실습장비를 갖추고도 제대로 가르치거나 활용할 수 있게 도와주는 곳도 그렇게 많지 않은 것 같았습니다.) IT 업종은 컴퓨터 한 대만 있으면 여러가지를 해볼 수 있지만, AT(Automation Technology) 업종은 제어 대상이 되는 장비가 있어야 제대로 여러가지 능력을 기를 수 있습니다. 그래서 킴영영 님께 말씀드리고 싶은 것은 프로그래밍 언어를 공부하는 것도 중요하지만 공부한 언어를 바탕으로 한 제어프로그램 개발 능력(문제 해결 능력)을 기르는 것이 어쩌면 더 중요할 수도 있다는 것입니다. 지금 킴영영 님께서 계시는 학교에 어떤 실습장비들이 있는지는 모르겠지만, 있는 실습장비들을 최대한 활용해서 알고 있는 프로그램밍 언어를 이용한 제어프로그램을 작성해 보시기를 권유 드립니다. 제가 올려놓은 동영상들 중에 MPS 장비를 이용한 프로그래밍에 대한 동영상들이 있습니다. MPS 장비는 단순한 것 같지만 이 장비를 제어하는 제어프로그램을 작성하고, 유저인터페이스 프로그램도 작성하고, 장비 제어를 통해 획득한 데이터를 활용하는 데이터베이스 연관 프로그램도 작성을 할 수 있다면 신입 동료로 매우 환영받을 수 있을 것 같습니다. 물론 MPS 장비 보다 더 복잡한 장비를 활용해서 제가 앞에 말씀드린 것을 구현할 수 있다면 더 좋습니다. 그리고 PC 기반 제어 엔지니어로 진로를 정했다면, 제어프로그램 개발을 위한 프로그램 언어들 뿐만 아니라 필드레벨 통신 방식(특히 산업용 이더넷(EtherCAT, ProfiNet, EtherNet/IP 등)), 제어시스템과 상위 시스템과의 통신 방식(OPC UA, TCP/IP 등), 제어시스템 분야에서 사용하는 각종 용어들에 대한 공부도 함께 하면 좋을 것 같습니다. 너무 많은 요구사항을 말씀드린 것 같은데, 지식이 깊은 것도 중요하지만 신입 동료라면 지식의 깊이 보다는 지식의 넓이를 더 살펴볼 것 같아서 제어시스템 개발 분야에서 필요로 하는 여러가지 사항들에 대해 말씀을 드렸습니다. 이상으로 제 개인적인 의견을 마치도록 하겠습니다.
@궁금궁금궁금
@궁금궁금궁금 3 жыл бұрын
안녕하세요. 자동화 설비에 관심이 많은 사람입니다. 관심에 비해 기초적 지식이 없어 질문을 좀 하려고 합니다. 혹시 C언어와 같이 프로그램 언어를 기반으로 한 자동화설비라면 PC제어인가요 PLC인가요? 아니면 그와 상관없이 C언어는 두 제어법에 모두 해당하는 것일까요..? 제조업에 사용되는 자동화설비가 어떤 것인지도 좀 궁금합니다 ㅠ
@dorai-tek3721
@dorai-tek3721 3 жыл бұрын
PC 기반 제어와 PLC 기반 제어를 구분하는 것은 C/C++, C# , Visual Basic, Delphi 등과 같은 High Level 프로그래밍 언어를 사용해서 제어프로그램을 개발했는지 또는 IEC 61131-3 (ST, LD, FBD,SFC) 언어를 사용해서 제어프로그램을 개발했는지를 가지고 구분하는 것이 아니고, PC를 이용해서 제어를 하는지 아니면 PLC를 이용해서 제어를 하는지를 가지고 구분합니다. 즉, 개발 언어를 가지고 PC 기반 제어 또는 PLC 기반 제어를 구분하는 것이 아니고 Hardware Platform(PC 또는 PLC)를 가지고 구분합니다. 큰 의미에서 PC 기반 제어는 "PC를 기반으로 한 제어" 모두를 뜻합니다. Real-time OS가 아닌 Windows OS만 설치된 PC에서 C/C++ , C# 같은 언어를 이용해서, 예를들면 Serial 통신 프로그램을 작성해서 장비를 제어해도 PC 기반 제어라고 할 수 있습니다. 그렇지만 일반적으로 PC 기반 제어라고 하면 Windows OS + Real-time OS를 기반으로 "실시간 제어"를 구현한 제어시스템을 말하며 이런 제어시스템에서 동작하는 제어프로그램을 개발할 때 보통 C/C++와 IEC 61131-3 언어를 사용합니다. 최근에는 Intel CPU + Real-time Linux를 조합한 Hardware Platform에 다양한 프로그래밍 언어(IEC 61131-3, C/C++, C#, Python, Java 등)를 사용해서 제어프로그램을 개발할 수 있는 제어시스템들도 시장에 출시되고 있습니다. 독일 Beckhoff 사에서도 FreeBSD(Unix 호환 오픈 소스 OS) Platform의 PC 기반 제어시스템을 새롭게 출시했습니다. 설명이 길어졌는데, 일반적으로 PLC에서는 C/C++ 언어를 이용해서 제어프로그램을 개발하지 않습니다. 다만 미쯔비시 같은 몇몇 PLC 업체들이 VxWorks 같은 Real-time OS를 장착한 "C언어 컨트롤러"라는 이름의 제품들(이런 제품들을 PAC(Programmable Automation Controller)라고 부릅니다.) 을 출시하기는 했는데, 그렇게 많이 사용되고 있지는 않는 것 같습니다. 따라서 궁금궁금궁금 님께서 C/C++ 언어를 이용해서 자동화 설비를 제어하는 제어프로그램을 작성했다면 그 제어프로그램은 PC에서 운용될 확률이 굉장히 높을 것 같습니다. 즉, "PC 기반 제어 "로 자동화 설비를 제어하는 것입니다.
@RassKim
@RassKim 6 ай бұрын
도망쳐 !! 이 길은 틀렸어! 워라밸이 없다고!
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
Правильный подход к детям
00:18
Beatrise
Рет қаралды 11 МЛН
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
Make中文教程:自动化基础
46:02
翔宇工作流
Рет қаралды 260
반도체 장비 모터제어 기술 PLC에서 SW로 무게이동
10:59
디일렉 THEELEC
Рет қаралды 59 М.
PLC 기초 설명
15:11
공학적인 사고방식
Рет қаралды 572 М.
PLC와 DDC에 대해 알려드립니다[설비자동제어]
3:24
자동제어김과장
Рет қаралды 38 М.
[041]자동제어+PLC(2)-PLC프로그램 짜기
14:53
티비마이
Рет қаралды 92 М.
LS PLC 입문 - PLC 종류와 차이
23:51
TECHFLEX 자동화교육채널
Рет қаралды 70 М.
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН