오늘은 직접 STEP7 프로그램인 SIMATIC Manager를 구동하여 프로젝트를 생성해 보겠습니다.
Simatic Manager프로그램 설치는아래 포스팅을 확인해 주세요.
Window10 Siemens STEP7 Simatic Manager Install. (윈도우 10 지멘스 스텝7 설치 방법 및 과정)
오늘부터 Siemens step7으로 S7 시리즈 PLC를 공부해 보겠습니다. 지멘스(Siemens) PLC는 뭐 워낙에 유명하죠? 전 세계 PLC시장에서 40% 이상의 점유율로 점유율만으로는 1위를 유지하고 있습니다. 이
mech19.tistory.com
이제 윈도우 바탕화면을 확인해 보도록 합니다.
![](https://blog.kakaocdn.net/dn/b4A9Lc/btrqujtKO6i/A7kvReLCwVc5fspEhjxKwk/img.png)
프로그램을 설치완료 하고 나면
위와 같은 아이콘이 생성되어 있을 겁니다.
없거나 못찾으시겠다면 시작메뉴에서
![](https://blog.kakaocdn.net/dn/crOTXq/btrqujmZ3TM/CJMKfkyvgbKADKpXbU7SUK/img.png)
위와 같은 프로그램을 찾아서 실행하셔도 됩니다.
그럼 아래와 같이 프로그램이 실행됩니다.
![](https://blog.kakaocdn.net/dn/bLPqrB/btrqnkHwn9w/mX9qeF9ORN5uGMyctoBFvk/img.png)
자세히 보면 아래와 같이 "새 프로젝트 마법사" 창이 뜬것을 볼 수 있습니다.
![](https://blog.kakaocdn.net/dn/dDcDyR/btrquiaxcnH/19NrN7BeCqKd5LkdXolQ6k/img.png)
새 프로젝트를 생성할 때는 위와 같이 초기 생성창을
이용해도 되고, 아니면 상단 탭에서
[File]-[New]를 선택하여도 됩니다.
일단 여기서 "Next" 버튼을 눌러주도록 합니다.
![](https://blog.kakaocdn.net/dn/ch7gwx/btrqn96LCEh/wJkfjBn8fGokMAG3Ldwi2K/img.png)
그럼 위와 같이 CPU를 선택하는 창이 실행됩니다.
나중에 변경이 가능하긴 하지만 되도록이면 실제로 설치되어 있는
CPU를 선택해 주도록 합니다.
왜냐하면 실제 모델에 따라 기능과 성능이 조금씩 다르기 때문에
프로그램을 다 짜놓고 CPU를 바꾸려고 하면
안되거나 오류가 발생할 수도 있으니,
꼭 실제 설치된 모델을 확인하여 반영하도록 합니다.
우리는 실물 PLC가 있는것은 아니니 적당히 선택하도록 합니다.
저는 CPU 315-2 DP를 선택하도록 하겠습니다.
CPU name은 원하는걸로 입력해도 됩니다.
프로젝트에 맞게 알아보기 쉬운 이름을 써도 되고
그냥 둬도 됩니다.
MPI adress도 그냥 둬도 됩니다.
이제 "Next" 버튼을 눌러주도록 합니다.
![](https://blog.kakaocdn.net/dn/b2vt34/btrqsGptzjC/9GseyYwaEvNcJ1AoaV0aa0/img.png)
이제 추가할 Block을 선택하라고 나오네요.
Block이라는 것은 우리가 프로그램을 작성하는 공간이라고 생각하면 됩니다.
자세한 내용은 뒤에서 설명하겠습니다.
그리고 언어를 선택하라고 되어 있습니다.
각 언어별 차이점을 간단히 언급하자면 아래와 같습니다.
===========================================
STL은 Struct Text Language의 약자로 쉽게 얘기하면 C나 C++같은
기계어 형태라고 보시면 됩니다.
프로그래밍 언어가 능숙한 사람들에게는 좋은 선택지 입니다.
LAD는 래더 다이어그램으로 회로도와 매우 유사한 방식입니다.
아마 가장 흔하게 사용하는 PLC언어일 것이며,
접점 및 코일과 같은 기호가 사용되기 때문에 접근이 용이합니다.
FBD는 Function Block Diagram으로 개별 기능을 박스형태로
나타내어 프로그래밍 할 수 있습니다.
비 프로그래머도 접근이 더 용이하도록 LAD에 비해
좀 더 시각적으로 표현된 언어입니다.
===========================================
우리는 아무래도 LAD가 좀 더 익숙하기 때문에 LAD를 선택하도록 합니다.
이제 "Next"버튼을 눌러주도록 합니다.
![](https://blog.kakaocdn.net/dn/bB05sb/btrqpsE2XfL/zrKpoo8khNzPdNT9Nunf0K/img.png)
마지막으로 "Project name"을 설정하는 창이 나타났습니다.
프로젝트 이름은 프로그래머가 편하게 지으면 됩니다.
보통 맡은 프로젝트 이름을 쓰는 경우가 많습니다.
그 밑에는 기존에 이미 사용된 프로젝트 이름들이 나와 있습니다.
프로젝트 이름은 중요하지 않으니 저는 그대로 두고 넘어가겠습니다.
이제 "Finish" 버튼을 눌러 마무리를 짓도록 하겠습니다.
![](https://blog.kakaocdn.net/dn/bgALbq/btrqobwKhJ4/hkcgaiQqTOqDqim2tlzEcK/img.png)
짠~ 이제 프로젝트 파일이 생성되었습니다.
여기서 이제 프로그램을 작성할 수 있습니다.
그럼 프로젝트 계층구조를 하나하나 차근차근 알아보겠습니다.
1) 첫번째 레벨
![](https://blog.kakaocdn.net/dn/DLtNg/btrquQx4Fuu/SrKTMg6MH9TZ0HPuDWC9x1/img.png)
제일 첫번째 레벨은 프로젝트 이름( S7_Pro3 )이 붙어 있으며,
클릭을 해보면 내부에 "SIMATIC 300 Station"과 "MPI" 폴더(?)가
들어 있는 것을 알 수 있습니다.
먼저 "MPI"폴더는 더블클릭해보면 아래와 같은 창이 실행되는데
![](https://blog.kakaocdn.net/dn/yY3Ak/btrqyrYDDIs/ch6HZRsnqc55fnkKcgLehk/img.png)
네트워크 설정창이라고 생각하시면 됩니다.
네트워크는 추후에 자세히 따로 설명하도록 하겠습니다.
2) 두번째 레벨
그리고 2번째 레벨에 있는 SIMATIC 300 Station이 의미하는 것은
하드웨어 입니다. 클릭을 하여 실행시켜 보겠습니다.
![](https://blog.kakaocdn.net/dn/q4k4U/btrqyrj1DgY/AF9DpR1mwS8BKhwl9SCH61/img.png)
위 화면에서 보시다시피 "Hardware" 와 "CPU315-2 DP" 폴더가 보입니다.
여기서부터가 프로젝트 계층구조의 카테고리에서 두번째 레벨이라고 생각하시면 됩니다.
"Hardware"를 더블클릭하여 실행해 보면
아래와 같은 Hardware Configuration 편집창이 실행됩니다.
![](https://blog.kakaocdn.net/dn/bQyC79/btrqysJ0L37/0yr2mj9mJGQ2O5QeMkBIyK/img.png)
여기서 실물 PLC의 "Hard ware"를 선택하여 SLOT에 꽂거나
각 카드(DI, DO, AI, AO같은 SM(Signal module) 혹은 FM(Function module))의 설정을
할 수 있습니다.
이건 추후 다른 포스팅에서 상세히 다루도록 하겠습니다.
3) 세번째 레벨
그리고 이제 3번째 레벨의 "CPU315-2 DP"를 더블클릭하여 실행하면
아래와 같이 프로그램을 저장하는 "S7 Program"과 Connections" 폴더가 나옵니다.
![](https://blog.kakaocdn.net/dn/beQiPT/btrqvAaHX3e/ATM1ptK8yBdDR5R4nTLX4K/img.png)
"S7 Program"폴더는 간단히 얘기하자면
작성한 프로그램 블록이나 심볼등이 저장되는 공간이라고 생각하면 됩니다.
"Connections" 폴더는 아래와 같은 창이 실행됩니다. (아까 위에서 MPI폴더를 더블클릭할때와 같죠?)
![](https://blog.kakaocdn.net/dn/bApB1p/btrqptYeXyr/fPj5MJH8f8JYiiZVuAjDm0/img.png)
즉 네트워크 설정창!!! 이 실행되었습니다.
이제 실제 프로그램 작성은 아래 화면에서 보이는 "S7 Program" 에서 할 수 있습니다.
![](https://blog.kakaocdn.net/dn/7z63T/btrqoaxPEYr/9RKIwzEjp6tncTmZcpRvnK/img.png)
Sources : 소스파일에는 우리가 작성한 프로그램이 STL형태로 저장되어 실행파일의 역할을 하도록
저장되어 집니다. 실제 프로그래머는 STL말고도 다른 언어로 프로그래밍을 하지만
그걸 하드웨어가 알아먹을 수 있도록 STL로 변환되어 저장되는 것입니다.
Blocks : 블록파일은 우리가 실제로 프로그램을 하는 공간입니다. 여기다가 실제 프로그램을 하게 됩니다.
곧 실제 프로그램을 작성하여 실행해 보겠습니다.
Symbols : 모든 심볼데이터를 관리하는 심볼테이블입니다. Export/Import가 가능합니다.
그럼 정말 간단하게 프로그램을 하나 작성하여 실행해 보겠습니다.
Bolocks 폴더에 가보면 아래와 같이 OB1이라는 Block이 있습니다.
![](https://blog.kakaocdn.net/dn/XPsLk/btrqwth6vAq/VBs1qFR4WfPkARIKBEkXKK/img.png)
이 OB1을 더블클릭하여 실행시켜 주도록 합니다.
![](https://blog.kakaocdn.net/dn/bbsmE5/btrqvzv6bl3/DP36Skw6nmh0ytJUNOAr70/img.png)
그럼 위와 같이 프로그램편집창이 실행됩니다.
그 중에서 아래영역에서 프로그램 작성을 하면 됩니다.
![](https://blog.kakaocdn.net/dn/bkNEjY/btrqvz3V45Q/hdzuz9Jewyhrh2hKFJG59k/img.png)
간단하게 자기유지 프로그램을 만들어 보겠습니다.
![](https://blog.kakaocdn.net/dn/bivOhh/btrqoaYVqsb/WZCuJXIR4yx8DHt3FfEoG0/img.png)
먼저 왼쪽의 "Program elements" 탭에서 Bit logic을 선택하여
하위카테고리를 열어보도록 합니다.
![](https://blog.kakaocdn.net/dn/twhoB/btrqobKhh5R/YJYTSAgbZP6ngvBhbAOOiK/img.png)
그럼 위와 같이 Bit Logic 기호들이 나오게 됩니다.
여기서 A접점 기호를 선택하여 아까 프로그램 편집창 쪽으로 드래그&드롭 해주도록 합니다.
![](https://blog.kakaocdn.net/dn/xqpIV/btrqtVzTV1n/yzUI83ui1ZiUMO8h0KFguk/img.png)
A접점 기호
![](https://blog.kakaocdn.net/dn/GKsMd/btrqnju22Bh/enQJDnCSUuZUJ12kDMaDEk/img.png)
그럼 위와 같이 빈창이 뜰텐데 거기에 M0.0이라고 입력해 주도록 합니다.
그럼 아래와 같이 "address M0.0" 인 "A접점"이 완성됩니다.
![](https://blog.kakaocdn.net/dn/bl6B7V/btrqsFKSZx3/MU1QfMsq6TncO7B8oUCpI0/img.png)
그 다음은 출력코일 기호를 선택하여 A접점을 드래그했던 곳 보다 더 오른쪽으로
드래그&드롭을 해주도록 합니다.
![](https://blog.kakaocdn.net/dn/cgOQSL/btrqpuitxNJ/dkN8xRVvz69jlz6SIOU6HK/img.png)
출력 코일 기호
![](https://blog.kakaocdn.net/dn/sCGpT/btrqnjPnMlm/XTvovVPu2LYdy5CxNoKkVK/img.png)
그럼 또 위와 같이 빈창이 뜰텐데 거기에 M1.0이라고 입력해 주도록 합니다.
그럼 아래와 같이 "address M1.0"인 "출력코일"이 완성됩니다.
![](https://blog.kakaocdn.net/dn/ZSrdt/btrqysDfe9O/rgb4fTtvvRBCyKKcoJvOu1/img.png)
이제 대충 어떻게 짜야하는지 감이 오시나요?
자기유지 회로니까 M1.0 출력코일의 자기유지 접점도 만들어야 겠죠?
아래와 같이 제일 앞쪽 세로 라인을 클릭하여 선택한 뒤
![](https://blog.kakaocdn.net/dn/dEwAAY/btrqyta4FGa/UkHMUlCkF0QtAAW2RAZAak/img.png)
F8을 누르시거나
![](https://blog.kakaocdn.net/dn/bZ6fSH/btrqnk1PyxT/kyDZMHdUyvkZlkU7pwZIn0/img.png)
상단 메뉴에서 위와 같은 아이콘을 클릭하면
![](https://blog.kakaocdn.net/dn/bHEEuN/btrqwunNYt9/rtnelAeRlLKDc3ey6V52i0/img.png)
이렇게 한줄이 더 생깁니다.
여기다가 아까와 같이 A접점 기호를 추가하고 M1.0을 입력하면 됩니다.
![](https://blog.kakaocdn.net/dn/bv32dq/btrquQdNpXa/ieiUil3w9hEGdLnIlItdbK/img.png)
그러면 위와 같은 상황이 되는데 여기서
![](https://blog.kakaocdn.net/dn/PqFrt/btrquPeQUsV/AxnODnkn52fRSMkxpx4c01/img.png)
위와 같은 아이콘을 클릭해주면 아래와 같이 프로그램이 완성됩니다.
![](https://blog.kakaocdn.net/dn/NqVwz/btrqsGiFQ5F/50JT13KPYL4cU3M771tljk/img.png)
짠 자기유지 프로그램을 완성하였습니다.
한가지 더 말씀드리자면 아까 위에서 A접점기호나 출력코일을 선택했던 방법 말구
상단 메뉴바에서 아래와 같은 기호들을 찾아서 사용하셔도 되고,
![](https://blog.kakaocdn.net/dn/bfxba6/btrqvziyIle/3ohfZyJKYlNqy7FKr50sYK/img.png)
각 기호에 올려 보면 나오는 단축키를 사용하셔도 됩니다.
다만 나중에 배우겠지만 아래와 같이 Bit Logic기호말고도 엄청 나게 많은 기호들이 있기 때문에
그걸 "Program elements" 탭에서 찾아서 쓰는 버릇을 들여놓아야 합니다.
![](https://blog.kakaocdn.net/dn/vO7Hm/btrqythQ7xf/xrYZKk5zQzgkGMniKjSN91/img.png)
나중에 능수능란한 프로그래머가 되고 나면 자주 사용하는 기호들은
단축키 지정을 해두고 쭉~ 편하게 사용하 실 수 있게지만요.
오늘은 정말 간단하게 프로그램 사용법을 알아보았습니다.
다음시간에는 위에서 언급했던 하드웨어 셋팅 방법에 대해서 알아보도록 하겠습니다.
아래 포스팅을 참조해 주십시오.
https://mech19.tistory.com/105
SIEMENS STEP7 Programing 기초 #3 ( 지멘스 S7 PLC 프로그래밍 기초, Simatic Manager HW Config )
오늘은 Simatic Manager에서 HW Config( Hardware Configuration )에 대하여 알아보겠습니다. HW Config는 우리가 소프트웨어에서 프로젝트를 생성하여 프로그래밍을 할 때 이 생성한 프로젝트를 집어넣을 실제 P
mech19.tistory.com
도움이 되셨다면 공감버튼과
이웃추가를 부탁드려요~
퍼가실땐 퍼가요 댓글 부탁드리구,
댓글쓰기는 다른 사람에게도 좋은 정보일 수 있으니 공개로~ 부탁드립니다.
여러분의 작은 정성이 좋은 포스팅을 생산해내는 힘이 된답니다.
댓글