반응형

파이썬 68

파이썬으로 구현해 확인하는 OPCUA통신 - Server편

안녕하세요. Dibrary입니다. 이번엔 저번에 이어서 OPC통신 중에 Server를 만들어 보겠습니다. 역시 opcua모듈을 사용하며, 이번에도 간단합니다. (노드가 많아지면 약간의 노가다가 필요할 뿐 그 외에 나머지 원리는 같습니다.) 이번에도 저번과 비슷하게 IP만 달라지고 포트(4842)는 똑같이 해보았습니다. 우선 name은 그냥 제가 임의로 지었고, 노드는 테스트용으로 2개만 만들어보았습니다. add_variable이 중요한데, ns=1은 노드의 번호이고, s=로 시작하는 것이 실제 노드의 '이름'입니다. 그 옆에 "normal_operation"은 사람이 판단하는데 도움을 주는 이름이죠. 그리고 마지막으로 숫자는 '초기값'입니다. 0으로 했으니 0으로 처음에 쓰고 그 상태를 유지합니다. 밑에..

파이썬으로 구현해 확인하는 OPCUA통신 - Client편

안녕하세요. Dibrary입니다. 이번에는 OPC통신이라는 것을 파이썬으로 해보겠습니다. 먼저 OPC통신은 modbus통신처럼 산업현장에서 사용하는 프로토콜 중 하나인데요, 최근에는 OPC를 사용해서 장비별 구분 없이 데이터만을 주고받는데 초점을 두고 있습니다. 저 역시 OPC로 통신하는 프로그램을 만들어 보았고, slave역할의 장비에서 값이 바뀌는지, 써지는지 확인을 파이썬으로 진행했었습니다. 참고로 Client는 OPC서버의 값을 '읽어서 확인'할 수 있는 것을 말합니다. 저는 순간순간 확인하기 쉽게 jupyter를 사용하겠습니다. 혹시 설치가 안 되신 분들은 아래의 글 참고하시면 됩니다. Python으로 GUI(PyQt5) 구현하기! - 처음이니까 anaconda 설치부터 환경변수까지 한 번에~ ..

[이것이 코딩테스트다] 알고리즘 풀이 초보를 위한 가교

개발자라면 누구나 알고리즘과 친숙할거라는 일반적인 고정관념과는 다르게, 잘 할 수도 못 할 수도 있다. 특히나, 요즘은 산업지형이 바뀌어 가면서 개발을 직업으로 삼는 사람들이 늘어나고 있어서 더 그런 생각이 보편화 되는 경향이 있다. 안타깝게도 나는 그렇지 못한 사람 중 하나였다. 특히나 내가 하던 코딩이 정말 '무에서 유'를 만들어 내는 코딩인지 의문을 정말 많이 했다. 코드를 만들때 생각을 하고, 코드가 곧 내 생각을 반영할 뿐 아니라 코드라는 도구의 효율을 최고로 끌어내는가에 대한 의문을 많이 가지곤 했었다. 그 이후 부터 알고리즘을 풀어나가기 시작했다. 비전공자라서 더 부족함을 깨닫고 자료구조, 알고리즘, 컴퓨터과학, 클린코드, 객체지향 등 닥치는대로 공부해 나갔다. 하지만 알고리즘은 정말 어려웠..

독서/서평 2022.01.13

[PyQt5] 선택하는 또 다른 방법. 콤보박스 사용하기 - QComboBox

안녕하세요, Dibrary입니다. 선택하는 방법으로 checkBox, radioButton을 소개해 드렸었는데, 이번에는 콤보박스라는 것을 다뤄볼 것입니다. 콤보박스하니까 뭔가 영화관이 떠오르지 않나요? 네, 하나의 콤보박스에는 여러 음식이 구성되어 있죠. 이 콤보박스도 미리 여러 개의 요소를 담아둘 수 있습니다. 사용자가 선택만 하면 되는 것이죠. Qt Designer를 먼저 열고 화면을 구성합니다. 아주 심플하죠? 이번에는 2번째 화면을 만들지 않을 겁니다. 제가 구현하려는 것은 순서대로 콤보박스를 선택하고 버튼을 누르면 아래에 선택한 콤보박스의 글자가 뜨는 것 입니다. 코드를 구현하겠습니다. 제일 먼저 기본 템플릿을 가져와서 구성합니다. 언제 봐도 똑같죠? 클래스 이름이나 ui파일의 이름만 바뀌고 ..

[PyQt5] 하나만 선택하는 라디오버튼 - QRadioButton

안녕하세요, Dibrary입니다. 앞선 글에서 여러 개를 선택할 수 있는 체크박스 코드를 살펴보았습니다. 2021.08.11 - [프로그래밍/PyQt5] - [PyQt5] 체크박스를 써보자 - QCheckBox [PyQt5] 체크박스를 써보자 - QCheckBox 안녕하세요, Dibrary입니다. GUI에는 여러가지 볼 수 있는 버튼, 박스 들이 많죠. 이번에는 체크박스를 다뤄볼 겁니다. 체크박스는 여러 개 항목을 미리 입력 해두고, 그 범주 내에서 사용자가 선택 dibrary.tistory.com 이번에는 여러 선택지 중에 단 한 개만 선택이 가능한 라디오버튼을 구현할 것입니다. Qt Designer를 열어서 똑같이 2개의 화면을 만듭니다. 간단하게 1번째 화면에는 radioButton을 3개, 2번째..

[PyQt5] 체크박스를 써보자 - QCheckBox

안녕하세요, Dibrary입니다. GUI에는 여러가지 볼 수 있는 버튼, 박스 들이 많죠. 이번에는 체크박스를 다뤄볼 겁니다. 체크박스는 여러 개 항목을 미리 입력 해두고, 그 범주 내에서 사용자가 선택할 수 있게 하는 것입니다. 구현할 기능 순서로는 체크박스 안에 들어갈 값을 코드로 지정하고 체크박스의 값을 하나 정한후에 버튼을 누르면 해당 값이 다음 화면에 나타나게 할겁니다. 선택된 값이 다음화면에 나온다는 느낌은 앞전에 제가 쓴 글을 참고하시면 되겠죠? 2021.08.09 - [프로그래밍/PyQt5] - [PyQt5]다중화면 값 전송 - MultiWindow [PyQt5]다중화면 값 전송 - MultiWindow 안녕하세요, Dibrary입니다. 앞전 시간에, 다른 화면을 띄우는 것을 해 보았습니다..

[PyQt5] 다중 화면을 띄워보자! - ModalWindow

안녕하세요, Dibrary입니다. 이번에는 화면을 여러 개 띄우는 것을 해 볼 겁니다. 그동안은 한 개의 화면만 가지고 이벤트 처리를 했었죠. 먼저 여느때와 다름없이 Qt Designer를 켜서 이번에는 '두 개'의 화면을 만들었습니다. 하나는 버튼을 놓았고, 다른 하나는 그냥 아무 글자나 넣었습니다. 제가 동작 시킬 방법은 이렇습니다. 버튼을 누르면 두 번째 화면이 나타나게 그리고 기본 소스코드 템플릿도 다시 사용합니다. 우선 한 개만 화면을 띄워 봅니다. 잘 나오죠? 이제 버튼을 눌렀을 때, 2 번째 화면을 띄워야 합니다. 잘 생각 해 보시면, 화면 띄울 때 우리 기본 코드는 class로 시작하고, ui파일을 불러왔죠? 두 번째 화면도 결국 '화면'이기 때문에 class로 시작하고, ui파일을 불러올..

[PyQt5] 테이블에 값 넣어보기 - QTableWidget

안녕하세요, Dibrary입니다. 데이터가 여러 개일 경우에는 표로 보면 한 눈에 들어오는 경우가 많죠. 엑셀이 대표적이죠. GUI도 데이터를 표로 나타낼 수 있습니다. 단순히 값을 넣는 것 뿐 아니라, 특정 위치 셀의 값을 가져와서 코드로 처리를 한 후에 다시 띄우는 것들도 가능하죠. 이렇게 보기 편한 테이블을 사용해 보겠습니다. 여느때와 마찬가지로 Qt Designer를 열어놓은 상태 입니다. 간단히 버튼으로 값을 띄워볼 생각이므로, 버튼 하나와 Table Widget 하나를 올려놓았습니다. 네 완전 심플한 화면이죠? 이제 소스코드를 편집 해 보겠습니다. 어느정도 제가 올린 글을 보신 분들은 아시겠지만, 소스코드의 '기본 골격'은 똑같습니다. 위 코드 역시 단순히 Qt Designer로 만든 ui파일..

반응형