분류 전체보기7 [Python] Snap7 ─ Siemens S7 PLC 통신 라이브러리 python-snap7: Snap7 라이브러리를 위한 Python wrapperTCP/IP 프로토콜을 통해 Siemens PLC에 대한 액세스를 제공Snap7 1.1.0과 Python 3.7+를 위해 개발 *Snap7: Siemens S7 PLC와 네이티브로 인터페이스하기 위한 오픈 소스, 32/64비트 멀티 플랫폼 이더넷 통신 스위트 Snap7 모듈 설치pip install python-snap7 Importimport snap71. Client1-1. Client 연결1) `snap7.client.Client` 클래스 : Snap7 Client 객체를 생성하고 사용하는 클래스 사용 예제import snap7client = snap7.client.Client()client.connect("127.0... 2024. 11. 22. [Python] asyncpg 비동기 함수 정리 쿼리 실행 함수함수목적반환값특징executeSQL 명령 실행마지막 명령의 상태 (`str`)1. 다수의 SQL 명령 실행 가능2. 결과 반환 Xexecutemany여러 인수로 같은 명령 반복 실행없음 (`None`)1. 동일한 SQL 명령을 여러 세트의 매개변수와 함께 실행2. 트랜잭션 원자성 보장fetchSELECT 쿼리 결과 전체 조회레코드 리스트 (`list[Record]`)쿼리 결과의 모든 행을 반환fetchmanySELECT 쿼리 결과 여러 행을 반복 조회레코드 리스트(`list[Record]`)1. 쿼리 반복 실행하며 여러 행 반환2. 매번 다른 매개변수 사용 가능fetchrowSELECT 쿼리 결과 첫 번째 행 조회첫 번째 행 (`Record` 또는 `None`)반환할 행이 없으면 `None.. 2024. 11. 21. [Python] asyncpg ─ PostgreSQL 비동기 연결 asyncpg : PostgreSQL과 Python/asyncio를 위해 특별히 설계된 데이터베이스 인터페이스 라이브러리Python 3.8 이상 필요, PostgreSQL 버전 9.5부터 17까지 지원다른 PostgreSQL 버전이나 PostgreSQL 프로토콜을 구현하는 다른 데이터베이스도 작동할 수 있지만, 현재는 적극적으로 테스트되지 않음1. PostgreSQL 연결1-1. asyncpg 설치pip install asyncpg 1-2. asyncpg 연결`asyncpg.connect()` : PostgreSQL 서버에 연결을 설정하는 코루틴연결 매개변수는 연결 URI(dsn) 형식으로 지정하거나, 구체적인 키워드 인수로 지정async connect(dsn=None, *, host=None, port.. 2024. 11. 21. [Python] asyncio ─ 비동기 방식 asyncio: `async/await` 구문을 사용하여 동시성 코드를 작성할 수 있게 해주는 라이브러리 단일 스레드 작업을 병렬로 처리고성능 네트워크 및 웹 서버, 데이터베이스 연결 라이브러리, 분산 작업 큐 등을 제공하는 여러 파이썬 비동기 프레임워크의 기반으로 사용종종 IO 병목이면서 고수준의 구조화된 네트워크 코드에 가장 적합파이썬 3.7 버전 이상부터 사용 가능 고수준 API파이썬 코루틴들을 동시에 실행하고 실행을 완전히 제어할 수 있음네트워크 IO와 IPC를 수행자식 프로세스를 제어큐를 통해 작업을 분산동시성 코드를 동기화저수준 API네트워킹 , 하위 프로세스 실행 , OS 신호 처리 등을 위한 비동기 API를 제공하는 이벤트 루프를 생성, 관리트랜스포트를 사용하여 효율적인 프로토콜을 구현콜.. 2024. 11. 18. [InTouch/Tag] Tag 개념, 유형 Tag: InTouch HMI 애플리케이션의 데이터 항목개체에 속성, 값을 지정프로그래밍 언어의 '변수'와 비슷(완전히 같진 않음)특정 구성 요소 속성을 제조 환경의 데이터 항목으로 접근e.g. PumpState 태그는 펌프 작동/중지를 나타내는 Boolean On/Off 값 반환Tag 유형1. Memory Tag: 시스템 상수, 계산될 변수 등에 지정해 줄 수 있는 유형가장 많이 쓰임InTouch 내에 내부적 존재다른 프로그램에서 접근할 수 있는 계산된 변수로도 작동할 수 있음 Memory Tag 종류1. Memory Discrete : 0(false, off)과 1(true, on)만의 값을 가지는 Tagname프로그래밍 언어의 Bool 유형과 비슷주로 스위치, 값의 전달 유무를 나타낼 때 사용2. .. 2024. 11. 11. [InTouch] 단축키 정리(241110) WindowMakerCtrl + T : Tagname Dictionary 열기Ctrl + E : 태그 정보 변경 또는 확인(Substitue Tag)Ctrl + A : Animation Link 열기Ctrl + L : 문자열 수정WindowViewerAlt + F4 : 현재 열려 있는 WindowViewer 창 닫기 2024. 11. 10. 이전 1 2 다음