본문 바로가기

Programming15

[PLC + HMI] 클레이 사격 게임 구현 프로젝트 👇깃허브 바로가기👇https://github.com/choi-yeong/TrapShooting🛠환경설정카테고리PLCHMI프로그램XG5000XP-Builder3.90버전4.78 2024-12-243.90CPU 환경XGI-CPUEXGI(CPU Ethernet)XGT Panerl-IPC Serise(wXP)[1024x768]설치링크PLC설치HMI설치유튜브영상링크※업데이트 상황에 따라 설치링크에 변동이 생기면 링크로 접속이 안될 수 있습니다.🙋‍♂️구현한 기능1. 랜덤화 펑션블록 Randomize 구현시스템시간을 호출하는 TOD_TO_***을 사용하여 입력값에 _RTD_TOD라는 플래그변수를 사용.→ 시스템시간은 (ms)로 표기되어 UDINT로 출력값을 받으면 아주 빠르게 1의 자리 숫자가 변함.MOD를.. 2025. 3. 18.
[PLC] HMI 화면 구성 [개요]아직 PLC와 연동은 하지 못했지만 HMI 인터페이스를 구현해보았다.[배운점]도구 상자에 있는 다양한 오브젝트의 역할을 알았다.특히 그래프 오브젝트들의 기능을 하나씩 구현해보았고, 실무에서 구경했던 그래프도 보였다. (미터그래프) 숫자입력과 문자입력이 달라서 문자로 15를 입력해도 숫자표시기에는 15를 표시하지 않고 다른 숫자를 표기한다.다른 이유는 아마 메모리할당이나 ASCII 코드 관련으로 데이터값이 다르게 인식되기 때문이다. 화면전환은 모든 화면에서도 서로 공통되게 버튼이 있어야하므로 기본화면으로 미리 GUI를 만들어두고, '모든기본화면의 배경으로설정'을 설정해주면 된다. 워드램프/스위치에서 +와-를 조건값이 오버되지 않도록 동작조건,램프조건을 설정해주는데 헷갈릴 수 있다.동작/램프조건은 +.. 2025. 3. 11.
[PLC] 사용자 펑션/펑션블록 구현 실행으로 ,,를 'ON/OFF' 하여 LAMP1, LAMP2가 'ON/OFF'되는걸 0과 1로 표현되는걸 알 수 있다.PLC 연동시 메모리값만 할당하면 된다. 해석[1] 초기조건는 'OFF'상태로 되어있을 것.은 'OFF'상태로 되어있을 것.은 'OFF'상태로 되어 있을 것. [2] 동작1. 을 'ON'할 시, TP1.IN으로 전원값 1이 입력되어 설정된 PT=T#5s 동안 LAMP1이 'ON'된다.1-1. 이때, OR(병렬)연결된 TON1과 TON2는 반복되지만 TP1.Q와 TON1.Q가 OR연결되어있어 TP1.Q가 출력을 보내는 5초 동안은 의미가 없다.2. PT=T#5s가 지나면 TP1.Q는 'OFF'가 되지만, TON1과 TON2는 계속 동작하여 LAMP1이 'Flicker'된다.3. 을 'ON'.. 2025. 3. 10.
[Python] 데이터분석 순서, pandas vs. numpy 데이터 분석 순서1. 수집 (파일 불러오기, 웹스크래핑)2. 전처리 : 수집한 데이터를 사용하기 쉽게 처리 (Numpy, Pandas)Numpy : 수치데이터용Pandas : 다용도3. 시각화-2025.01.21 pandasnumpy인덱스 커스텀 가능인덱스 0부터 시작데이터타입 혼합 가능데이터타입 혼합 불가능 2025. 1. 21.
[Python] Numpy 배열 리스트 : 자료형이 달라도 함께 묶일 수 있음.배열 : 동일한 자료형의 요소로 구성되어야 함. arr= np.array([1,2,3],              [4,5,6],              [7,8,9])print(arr[0,1]) 리스트와 차이점words = [    [["마", "크"], ["구", "이"]],    [["피", "아"], ["림", "차"]],    [["스", "사"], ["나", "가"]],]icecream= words[1][0][1]+words[0][1][1]+words[2][0][0]+words[0][0][1]+words[1][1][0]print(icecream) 리스트로 배열 접근방법words[1][2][3] 이런식으로 차원마다 괄호를 넣어준다. 넘파이 배열 접근방.. 2025. 1. 21.
[Python] 이미지 다운로드, 폴더생성, 윈도우 스크롤, from selenium import webdriverfrom bs4 import BeautifulSoupfrom webdriver_manager.chrome import ChromeDriverManagerfrom selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By #By 사용하기 위한 모듈from selenium.webdriver.common.keys import Keys #Keys 사용하기 위한 모듈 (엔터, 리턴 등)from selenium.webdriver.support.ui import WebDriverWait #webdriverwait를 사용하0기 위한 모듈from selenium.. 2025. 1. 20.