SIEMENS S7 PLC 에서 자주 사용되는 Data Block 데이터 블록을 만드는 방법과 종류, 구조에 대해 알아보겠습니다.
SIEMENS S7 PLC에 사용할 DB(Data Block)을 만들고 사용하기 위해서는 SIMATIC Manager 프로그램 다운로드 및 설치가 선행되어야 합니다. 다운로드 받지 않은 경우 먼저 해당 소프트웨어를 Download 받아 실행하시기 바랍니다.
S7 PLC DB(Data Block) 종류
Data Block의 종류는 Shared DB, Instance DB, DB of type(UDT)로 구분됩니다.
Shared DB : 공유 데이터 블록
- Shared DB는 프로그래머가 직접 DB 구성을 만듭니다. 가장 많이 사용되는 DB이며, 보편적인 구조를 갖고 있습니다.
- DB of type(UDT)의 경우 Shared DB와 유사한 구조를 갖고 있으며, 동일한 구조의 DB를 중복, 대량 생성할 경우 사용됩니다. User Defined data Type의 약자입니다.
Instance DB : FB(Function Block)과 함께 이어진 구조의 데이터 블록
Instance DB는 FB(Function Block)을 생성할 때 참조 DB로 만들어지는 DB입니다. 해당 FB에 설정된 변수 선언부에 따라 구조가 확정되며, 내부 DB 구조를 직접 변경할 수 없습니다.
S7 PLC DB(Data Block) 만들기
SIMATIC Manager STEP7 PLC 프로그램 다운로드 및 설치가 이루어진 상태에서 Data Block 만들기를 해보겠습니다.
- SIMATIC Manager 실행, Project 내 “Blocks” 폴더 클릭
- 상위 메뉴탭 “Insert” 클릭
- “S7 Block” → “Data Block” 클릭
- “Properties – Data Block” 팝업창을 통해 신규 생성할 Data Block의 구조 설정
- “Name and type” 데이터 블록 종류 선택 및 DB 이름 입력
이름 형식 예시 : DB1000, DB 종류 예시 : Shared DB - 팝업창 하단 “OK” 클릭 시 DB 만들기 완료
데이터 블록 구조 입력 방법
생성된 Shared DB의 경우 초기 구조를 설정해주고 저장, 관리하고자 하는 데이터를 입력해주어야 합니다. 사용자가 직접 입력해야하는 항목들이 있으며, 직접 입력해야하는 영역의 경우 흰색 칸으로 구분되어 있습니다. 사용자가 직접 입력하지 않아도 되는 영역의 경우 회색으로 음영처리 되어 있습니다.
- Address : 데이터 블록에서 가장 처음 정의되는 변수 주소는 “0.0” 입니다. 이는 사용자가 입력하는 영역이 아닌, 자동 지정되는 영역이며, 이후 생성되는 Address는 Data의 크기 및 형태에 따라 자동 지정됩니다.
- Name : 사용자가 입력할 영역입니다. 해당 DB 내 address의 데이터 심볼, 이름을 입력할 수 있습니다.
- Type : 저장하고자 하는 Data의 형태를 지정합니다. 마우스 우클릭을 통해 Type 설정이 가능합니다. 16비트 정수일 경우 “INT”, 32비트 정수일 경우 “DINT”, 실수일 경우 “REAL” 등 데이터 형태에 따라 정의할 수 있습니다.
- Initial Value : 해당 DB를 PLC CPU에 다운로드 시 입력할 초기값을 지정합니다. 데이터 Type에 맞는 값을 입력해야합니다.
- Comment : 해당 데이터의 코멘트를 입력해둘 수 있습니다.
데이터 블록 만드는 방법에 대해 알아보는 시간을 가졌습니다. 데이터 블록을 만들고 Address를 추가해 가다보면 알 수 있는데, 항상 짝수 바이트 주소로 확장이 됩니다.
여기서 기인한 것인데, 데이터 블록을 만들 때에 PLC 사용자들 간의 암묵적인 룰, Tip이 있습니다.
Address에 지정될 주소를 항상 작은 데이터(예 : bool, byte…)부터 입력해둡니다. 이같이 작은 데이터가 DB 중간 중간에 위치할 경우 불필요한 데이터 영역을 잡아먹게 되는데, 이를 예방하기 위함입니다.
추가로 SIEMENS PLC Timer 값 입력 방법에 관한 글을 읽어보시기 바랍니다.