8월, 2021의 게시물 표시

[TwinCAT 매뉴얼] TwinCAT 3 EtherNet/IP 매뉴얼

이미지
이번 게시글에서는 EL6652 Terminal 과 TF6281 을 이용한 EtherNet/IP 연결에 대해 알려드리고자 합니다 .   1.       1.  개요 2     2.  EtherNet/IP Master 3.       3.  EtherNet/IP Slave 4.       4.  EtherNet/IP IO Connection 5.       5.  Quick Start   1.     개요 EtherNet/IP 는 ODVA (Open DeviceNet Vendor Association) 의 산업용 Ethernet 표준이다 . EtherNet/IP 는 Ethernet TCP/IP 와 UDP/IP 를 기반으로 한다 . 본 매뉴얼에서는 TwinCAT 3 을 이용하여 Beckhoff 의 EtherNet/IP Master 인 EL6652 와 TF6281 (TwinCAT 3 EtherNet/IP Scanner) 라이선스를 이용한다 . Slave 는 3 rd Party 장치를 이용하여 구성하였다 . 추가적으로 , Beckhoff 의 EtherNet/IP Slave 로는 EK9500, BK9105, BK9055 과 같은 Coupler 제품으로 구성할 수 있다 .   아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2899 ※ 본 문서의 무단전재 및 재배포를 금지합니다 . ※ 본 문서는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 원문에 대한 잘못된 이해와 해석이 있을 수 있습니다 . 정확한 내용은 Beckhoff Automation 에서 배포하는 설명서인 Infosys (https://infosys.beckhoff.com/) 를 기준으로 하며 불일치하는 내용이 있을 경우 Infosys 의 내용을

[Beckhoff 어플리케이션] 제약산업을 위한 디지털 패드 인쇄기의 핵심, XTS 이송 시스템

이미지
XTS 로 빠르고 유연해진 포장 공정의 디지털 인쇄 스웨덴 회사 Graniten 그룹은 새로운 디지털 패드 인쇄기로 최대 유연성 , 전환시간 없음 , 유지 보수 및 공간 요구사항 감소라는 성과를 달성했다 . 이는 Beckhoff 의 지능형 이송 시스템 XTS 를 핵심 요소로 탑재한 세계 최초의 그라비어 (gravure) 인쇄 시스템으로 달성한 성과들이다 . 이러한 방식으로 제약 업계의 높은 요구사항을 충족할 수 있으며 , 무엇보다도 제품 공급을 균일하게 전환할 수 있다 . 1990 년대 초 엔지니어들이 설립한 기술 중심 기업 Graniten 은 기계 , 엔지니어링 , 서비스 및 지원의 세 가지 비즈니스 분야를 운영 중이다 . Graniten 에 따르면 , 국가 전략 산업이라고 할 수 있는 전 세계의 제약산업은 인쇄 , 패키징 , 생산에서 자동화 프로세스에 최대 100% 까지 의존하고 있다 . 특히 탁월한 유연성과 결합된 초고속 , 효율성 , 위생 , 제어 , 추적성 , 최소의 유지보수 및 설치 공간이 요구된다 . Graniten 은 XTS 기반 디지털 패드 인쇄기를 도입해 이러한 모든 문제를 해결했다 .   Graniten 의 영업 , 마케팅 부사장 겸 상무 이사 Fredrik Sollenby 는 다음과 같이 설명했다 . " 지난 몇 년 동안 우리는 BFS(Blow, Fill, Seal) 시스템을 위한 상자 및 케이스 포장 , 적재 및 누출 감지를 위한 혁신적인 기계를 개발해왔습니다 . 이제 우리는 빠르고 유연한 디지털 인쇄를 도입해 전체 프로세스의 격차를 좁히고 있습니다 . 이를 통해 제약업계가 영리한 방법으로 전체 작업 흐름을 최적화할 것입니다”   유연성 향상을 위한 지능형 이송 시스템   디지털 인쇄는 이미 제약산업에서 널리 알려진 프로세스이다 . 그러나 지능형 이송 시스템 XTS 를 핵심 요소로 둔 새로운 디지털 패드 프린터는 제품 이송을 위한 무버를 개별적으로 제어할 수 있어 다양한 속도로 구동할 수

[TwinCAT 샘플자료] WinCE OS의 방화벽을 TwinCAT 2로 설정을 변경하는 샘플 코드

이미지
WinCE OS 를 사용할 경우 , 방화벽 (Firewall) 설정을 변경하여 원격 접속을 허용하게 만들 수 있습니다 . 이러한 기능을 TwinCAT 2 로 구현되어 있으며 , CX 시리즈 PC 안에 있는 *.reg 파일을 실행시키는 방식입니다 . 사용 방법은 TwinCAT 2 샘플 코드의 Visualization 에서 'Allow All Firewall' 버튼을 누른 후 , 우측 박스에 색상이 변경되었는지 확인하면 됩니다. 이 후 'Reboot' 버튼을 눌러 재부팅을 합니다 . WinCE 버전에 따라 레지스트리의 파일 위치나 이름이 다를 수 있으므로 , 프로그램에서 아래 부분을 수정하여 이용하면 됩니다. 이 샘플 코드는 TwinCAT 2 의 PLC 를 사용할 수 있는 환경에서 구동 가능합니다 . 아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2895   ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.09 Beckhoff Korea / Tommy

[TwinCAT 샘플자료] TwinCAT 3에서 부동 소수점을 변환하는 샘플 코드

이미지
  TwinCAT 3 에서 부동 소수점 데이터 타입인 LREAL 을 부동 소수점으로 변환하는 함수입니다 . F_LREALToFloatingPointNumber 이라는 Function 을 제공하고 있으므로 , 이 Function 을 추가한 후 구동할 수 있습니다 . 해당 샘플 코드는 TwinCAT 3 를 사용할 수 있는 환경에서 구동 가능합니다 . 아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2894   ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.12 Beckhoff Korea / Paul

[TwinCAT 샘플자료] TwinCAT 2에서 CoE 값을 읽는 샘플 코드

이미지
TwinCAT 2 PLC에서 사용할 수 있는 ADS Function Block 을 활용하여 EtherCAT I/O 혹은 드라이브 등의 CoE 값을 읽는 예제입니다 . CoE 의 인덱스를 통해서 값을 가져오며 , 이 예제를 활용해 실제로 CoE 에 값을 지정하거나 변경하여 I/O 의 세팅도 할 수 있습니다 . 이 샘플 코드는 TwinCAT 2 의 PLC 를 사용할 수 있는 환경에서 구동 가능합니다 . 아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2893     ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.12 Beckhoff Korea / Paul

[TwinCAT 샘플자료] EtherCAT Lost Frame을 외부 프로그램으로 읽는 샘플 코드

이미지
EtherCAT 통신 시 Lost Frame 발생할 경우 , 이를 C++ 로 작성된 예제 프로그램을 이용하여 읽는 예제입니다 . 이 때 외부 프로그램과 TwinCAT 3 의 통신은 TwinCAT 내부 인터페이스인 ADS 를 이용합니다 . 이 샘플 코드는 TwinCAT 3 가 설치되어 있는 환경에서 구동 가능합니다 . 아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2892   ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.12 Beckhoff Korea / Paul

[TwinCAT 샘플자료] CX2000 제품군의 스위치를 외부 프로그램으로 작동하는 샘플 코드

이미지
  TwinCAT 2 에서 CX2000 제품군의 스위치를 스캔한 후 , C++ 로 작성된 예제 프로그램을 이용하여 각 스위치에 Windows 종료 커맨드를 입력하여 종료 동작을 수행하는 예제입니다 . 이 때 외부 프로그램과 TwinCAT 2 의 통신은 TwinCAT 내부 인터페이스인 ADS 를 이용합니다 . 이 샘플 코드는 TwinCAT 2 가 설치되어 있는 환경에서 구동 가능합니다 . 실제 테스트를 위해서는 CX2000 제품군이 필요합니다 . 아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2891   ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.12 Beckhoff Korea / Paul

[TwinCAT 샘플자료] TwinCAT 2 PLC 변수를 ADS로 읽기

이미지
  TwinCAT 2 PLC 에서 작성된 Cnt 변수를 C++ 로 작성된 외부 프로그램을 이용하여 읽는 예제입니다 . 이 때 TwinCAT 내부 인터페이스인 ADS 를 활용하며 , PLC 변수를 이름 기반으로 읽습니다 . 이 샘플 코드는 TwinCAT 2 가 설치되어 있는 환경에서 구동 가능합니다 . 아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2890     ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.12 Beckhoff Korea / Paul

[TwinCAT 샘플자료] TwinCAT 3에서 변수를 파일로 저장하는 샘플 코드

이미지
TwinCAT 3 에서 변수나 구조체를 파일 형태로 저장합니다 . 일종의 Persistent 변수 같은 느낌으로 사용할 수 있습니다 . 저장매체에 저장하는 방식이기 때문에 수시로 변하는 값을 저장할 때에는 적합하지 않습니다 . 배열로 여러 개의 Function Block 를 선언하고 한 번에 여러 개의 File Read 가 실행될 때 Exception 이 발생하는 에러가 있기 때문에 변수단위로 저장하기에는 적합하지 않습니다 . 파라미터 같은 항목을 저장할 때 적합합니다 . 해당 샘플 코드는 TwinCAT 3 를 사용할 수 있는 환경에서 구동 가능합니다 . ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.12 Beckhoff Korea / Roy

[TwinCAT 샘플자료] TwinCAT 3에서 CSV 형식으로 로그를 저장하는 샘플 코드

이미지
  TwinCAT 3 에서 파일 입출력과 같은 Function Block 을 활용하여 CSV 형식으로 Log 를 저장할 수 있는 예제입니다 . CSV 파일을 이용하여 엑셀 등과 같은 프로그램에서 쉽게 데이터를 관리할 수 있습니다 . 이 샘플 코드는 TwinCAT 3 를 사용할 수 있는 환경에서 구동 가능합니다 . 아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2888   ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.09 Beckhoff Korea / Roy

[TwinCAT 샘플자료] TwinCAT 3에서 Modbus TCP를 사용하는 샘플 코드

이미지
  TwinCAT 3 에서 Modbus TCP 를 사용하는 샘플코드로 , Modbus TCP 의 데이터 구조 ( 기본 설정 값 ) 을 TwinCAT 3 에 맞게 작성되어 있습니다 . ADS 를 활용하여 작성되어 있으며 , Infosys 의 예제 [ 링크 ] 를 기반으로 되어 있습니다 . 이 샘플 코드는 TwinCAT 3 를 사용할 수 있는 환경에서 구동 가능합니다 . 아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2887   ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.09 Beckhoff Korea / Roy

[TwinCAT 샘플자료] TwinCAT 3 PLC State를 외부 프로그램으로 컨트롤하는 샘플 코드

이미지
  TwinCAT 의 State 인 Run/Config 모드 및 PLC 의 Start/Stop 을 C# 으로 작성된 외부 프로그램을 이용하여 컨트롤하는 예제입니다 . TwinCAT 의 상태를 읽고 쓰는 것을 확인할 수 있습니다 . 해당 예제는 Infosys 의 예제와 동일 [ 링크 ] 하지만 TwinCAT 3 에 맞는 ADS 포트번호 및 dll 파일을 업데이트 했습니다 . 이 샘플 코드는 TwinCAT 3 가 설치되어 있는 환경에서 구동 가능합니다 . 아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2886   ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.12 Beckhoff Korea / Roy

[TwinCAT 샘플자료] TwinCAT 3 PLC 변수를 ADS로 읽고 쓰기

이미지
  TwinCAT 3 PLC 에서 작성된 변수를 C# 으로 작성된 외부 프로그램을 이용하여 읽고 쓰는 예제입니다 . TwinCAT 내부 인터페이스인 ADS 를 활용하며 , PLC 변수를 이름 기반으로 읽고 씁니다 . 해당 예제는 Infosys 의 예제와 동일 [ 링크 ] 하지만 TwinCAT 3 에 맞는 ADS 포트번호 및 dll 파일을 업데이트 했습니다 . 이 샘플 코드는 TwinCAT 3 가 설치되어 있는 환경에서 구동 가능합니다 . 아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2885 ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.09 Beckhoff Korea / Roy

[TwinCAT 샘플자료] RT Ethernet을 이용하여 Safety 정보를 주고받는 샘플 코드

이미지
  두 개의 프로젝트에는 Safety 프로젝트가 구성되어 있으며 둘 다 이를 RT Ethernet 을 통해 정보를 주고받는 것을 확인할 수 있습니다 . 첫번째 프로젝트는 EL6900 으로 Logic 이 구성되어 있으며 , 다른 프로젝트의 EL1904 I/O 데이터를 가져옵니다 . 두번째 프로젝트는 두 시스템 다 EL6900 으로 Logic 이 구성되어 서로 간의 데이터를 주고받습니다 . 샘플 코드는 TwinCAT 3 를 사용할 수 있는 환경에서 구동 가능합니다 . 아래 링크의 첨부파일에서 다운로드 가능합니다. [링크] https://cafe.naver.com/twincat/2884   ※ 본 샘플코드의 무단전재 및 재배포를 금지합니다 . 개인 테스트용으로 사용 바랍니다 . ※ 본 샘플코드는 Beckhoff Automation 한국 지사에서 교육을 목적으로 제작되었으며 , 특정 환경에서는 구동되지 않을 수도 있습니다 . ※ 본 코드는 미완성본으로 추후 업데이트 내용이 있을 수 있습니다 .   2021.08.09 Beckhoff Korea / Paul

Beckhoff, TwinCAT Vision 기능과 편의성의 진화는 계속된다

이미지
제어 시스템을 위한 정교하면서도 원활하게 통합이 된 이미지 처리 환경설정부터 프로그래밍과 실시간 구 동에 이르기까지 , TwinCAT Vision 을 통해 이미지 처리 가 자동화 기술 에 완전히 통합된 다 . TwinCAT Vision 은 처음부터 Beckhoff 의 PC 기반 제어 시스템에 원활히 구축될 수 있도록 개발되었다 . 따라서 지금 이 시점에도 지속적으로 진화하고 있으며 , 특히 새로운 업계의 요구사항을 염두에 두고 있다 . 현재 시점에서는 다른 TwinCAT 제품 및 특성과의 통합 작업 외에 도 더불어 기능과 편의성 향상에 초점을 두고 있다 . TwinCAT Vision 은 기본적인 자동화 기술에 이미지 처리를 원활하면서도 간편하게 통합시켜준다 . 이에 따라 사용자는 카메라를 구성 후 설정하고 TwinCAT Engineering 에서 카메라에 대한 기하학적 보정을 직접 진행할 수 있으며 , 특별히 프로그래밍 언어를 배우지 않아도 IEC 61131-3 을 통해 이미지 처리에 대한 프로그래밍이 가능하다 . 나아가서 PLC 는 이미지 처리를 통해 얻는 결과에 직접 반응할 수도 있는데 , 사실상 다음 라인에 있는 제어 코드를 이용해서 해당 작업이 이루어진다 .   고정밀도의 동기화   이미지 처리 알고리즘을 TwinCAT 의 실시간 환경에서 가동하면 PLC, 모션제어 , 부품 측정 뿐만 아니라 비전 알고리즘이 모두 동일한 사이클 타임에서 작동하게 된다 . 다시 말하면 , 서로 간에 동기화가 긴밀하게 이루어지기 때문에 사용자는 결정적인 이점을 갖게 된다고 할 수 있다 . 이는 비실시간 어플리케이션과 실시간 PLC, 모션제어 또는 측정용 어플리케이션 간 통신 관리의 필요성이 없다는 것을 의미하므로 , 통신상의 오버헤드와 지터로 인한 일반적인 지연 현상을 피할 수 있다 .   이미지 처리를 PLC 와 통합하면 또 다른 이점이 있는데 , PLC 프로그래머는 이미지 처리 알고리즘이 보내온 결과를 마치 아날로그 센서로부터 온 결과