전체 글 485

[TIA Portal PLC] S7-1500 PLC TM Count 2x24V 카운트 모듈

안녕하세요. 훈츠 입니다. 금일은 Technical module TM Count 2x24V에 대해 설명 드리겠습니다. S7-1500, TM Count 2x24V counter module • 2-channel high-speed counter module • With comprehensive parameterization options for an optimum adaptation to the task and reduction of control load • Speed and time period measuring • Storage and comparison functions • Connection of 24 V encoders Card technical data https://support.indust..

[Kotlin] 코틀린 변수의 활용 (상수, 늦은 초기화,지연 대리자)const, lateinit, lazy by { }

안녕하세요. 훈츠 입니다. 이번 시간에는 변수에 선언에 대해 알아보도록 하겠습니다. 변수 관련해서 앞선 포스팅 2개를 했는데요. 오늘은 조금더 고급 스러운 변수 선언에 대해 알려 드리도록 하겠습니다. 바로 상수, 늦은 초기화, 초기화의 지연 입니다. 앞선 포스팅 한번씩 보시고 오셔도 도움이 될듯하여, 링크 붙였습니다. https://rain2002kr.tistory.com/62?category=361958 [Kotiln] 코틀린 변수와 자료형 안녕하세요. 훈츠 입니다. 이번 시간에는 코틀린의 자료형에 대해 설명 드리겠습니다. 코틀린은 자바를 대체할 목적으로 개발 되어 졌기 때문에, 자바에서 자주 발생하는 nullpointException 에러를 막는 방법도.. rain2002kr.tistory.com h..

[Kotlin] 코틀린 컬렉션 클래스 (collection)

안녕하세요. 훈츠입니다. 이번 시간에는 코틀린 에서 제공하는 List,Set,Map 을 사용하면 기본적으로 사용할수있는 컬렉션에 대해 이야기 해보겠습니다. 컬렉션 함수에 대해 설명한 이전 포스팅도 같이 한번 보시면 도움이 될것 같습니다. https://rain2002kr.tistory.com/91?category=361958 [Kotiln] 코틀린 컬렉션 함수 : 리스트, 셋, 맵(List, Set, Map) var list = listOf(1,2,3,4,5) var mutablelist :MutableList = mutableListOf() 안녕하세요. 훈츠 입니다. 오늘은 컬렉션 함수중 리스트에 대해 설명 드리도록 하겠습니다. 컬렉션 함수 리스트 (List) List.. rain2002kr.tisto..

[Kotlin] 코틀린 데이터 & 이늄 클래스 (data & enum class)

안녕하세요. 훈츠 입니다. 오늘은 데이터 클래스와 이늄 클래스에 대해 설명 드려보도록 하겠습니다. 데이터 클래스 (data class) 일반 클래스에 data 를 붙이면 data 클래스가 됩니다. data 클래스는 코틀린에서 데이터를 저장할 목적으로 만들어진 클래스로 데이터클래스로 선언하면 5가지 기능의 함수가 자동적으로 생성됩니다. equals() hashcode() toString() copy() component() x1 는 key값 , x2는 value값을 가져올수 있습니다. data class Data(var name:String,var hobby:String, var age:Int){} fun main() { var data = Data("은서", "공부",13) println(data.equ..

[Kotiln] 코틀린 중첩 클래스와 내부 클래스

안녕하세요. 훈츠 입니다. 금일은 중첩 클래스와 내부클래스에 대해 알아보도록 하겠습니다. 중첩 클래스 외부 클래스와 내부에 다른 클래스와 강하게 연결되어 있다는 의미를 전달하기 위해 만들어진 클래스 입니다. 하지만 외부 클래스와 내부 클래스는 내용을 공유 할수 없다는 특징도 있습니다. 외부 클래스와 내용을 공유 할수 없습니다. 사용시에는 중첩 클래스에 인스턴스를 만들어서 사용해야 합니다. var nested = Outer.Nested() class Outer(){ var text = "Outer class" class Nested(){ fun introduce(){ println("nested class") } } } fun main() { var outerNested = Outer.Nested() ou..

[C#] C# 컬렉션 함수 List

안녕하세요. 훈츠 입니다. 금일은 List 사용법에 대해 알아보도록 하겠습니다. Console app 으로 만들었을때 바로 종료되는것을 방지 하기 위해서는 다음 명령어를 추가해야 합니다. Console.ReadKey(); 컬렉션 함수 리스트 (List) List 는 Generic이나 구조체로 간주합니다. 그래서 사이에 자료형을 선언 해야합니다. List list = new List(); add, Count, Clear, AddRange, ForEach, ToArray, remove, revmoveat..etc 함수를 사용 할수 있습니다 String.Join 을 이용해서 단어 사이에 ';'가 찍히는 문자열을 만들수 있습니다. List에서 문자열을 추출할 때는 , ToArray를 이용 합니다. 인수에 대한 ..

컴퓨터 언어/C# 2020.02.20

[Kotiln] 코틀린 함수의 활용 Vararg

안녕하세요. 훈츠 입니다. 금일은 함수에 대해 알아보겠습니다. 코틀린에서 함수를 사용할때 유용한 사항에 대해 정리 해보겠습니다. 함수 오버로딩 (Overloading) 함수의 이름이 같더라도, 속성값의 자료형이 다르거나 속성값의 갯수가 다르다면 오버로딩이 가능합니다. fun main(){ userPrint("testString") userPrint(100) } fun userPrint(data:String) { println("userPrint String : ${data}") } fun userPrint(data:Int) { println("userPrint Value : ${data}") } //출력화면 userPrint String : testString //오버로딩 확인 userPrint Valu..

[지멘스 PLC SIEMENS PLC] CP 와 CM 카드 차이 및 통신

지멘스 PLC CP(Commuincation Processor) CM(Commuincation Module) 모듈에 대한 차이를 설명드립니다. CP와 CM 의 차이와 PLC 제품별 통신 지원 방식에 대한 설명을 드리도록 하겠습니다. 물론 두카드 사이에 금액차이가 있고, CP 가 조금더 비쌉니다. SIEMENS 통신 종류 이더넷 프로피넷 IO 프로피버스 DP 이더넷 프로피넷 IO 프로피버스 DP 비주기적 통신 주기적 통신 주기적 통신 시간이 중요하지 않은 app 시간이 중요한 app 시간이 중요한 app 제어기 - 제어기 간 통신 제어기 - 장치 간 통신 마스터 - 슬레이브 간 통신 S7-1500 CPU 인터페이스 X1, X2 포트는 프로피넷을 지원합니다. X3 포트는 이더넷을 지원하며, X1,X2 포트로..

[Kotiln] 코틀린 nullable 변수 처리

안녕하세요. 훈츠 입니다. 금일은 nullable 변수에 대한 처리에 대해 알아보도록 하겠습니다. Nullable 연산자 종류 [ ?. null safe , ?: 엘비스 , !! null 어소션] ?. null safe 연산자 (마치 if 문 처럼 동작합니다.) 스코프 함수와 같이 사용하면 편리합니다. ?: 엘비스 연산자 null이면 대체 되어서 동작 합니다. !!. 논 null 어소션 연산자 (일부러 null값이 오면 익셉션 에러를 발생 시킵니다.) val a : String? = "test" a?.run {println(a)} // null safe 연산자 a?:println("null입니다.") // 엘비스 연산자 println(a!!.toUpperCase()) // null 어소션 연산자 //출력..

[Kotlin] 코틀린 String 문자 클래스 객체 활용

안녕하세요. 훈츠 입니다. 오늘은 문자열 클래스에 대해 알아보도록 하겠습니다. 문자열 : 나누기, 대체하기, 합치기 val telnumber ="010-9898-8989" var telSplite = telnumber.split("-") //split 나누기 println(telSplite) println(telSplite.joinToString("-")) //joinToString 합치기 var tel = telnumber.replace("-","") //replace 대체하기 println(tel) println(tel.substring(3..10)) //원하는 영역 보기 //출력화면 [010, 9898, 8989] //split 나누기 010-9898-8989 //joinToString 합치기 01..