2015. 11. 23. 11:00



Posted by 까망후니
2015. 11. 23. 10:30

PI 서버에 접속하기 위해서는 Trust라는 인증(?) 절차가 필요합니다. 즉 서버 접속이 안되면 가장 먼저 봐야 할 것도 Trust이겠죠?


개인적으로 Trust는 인증 설정 이라고 생각을 하고 있습니다.


설정하는 방법은 크게 2가지가 있습니다.

1. 계정명 검색

2. IP 검색


계정명은 해당 PC의 Windows 로그인 ID를 PI서버에 미리 등록을 해두어서

해당 PC가 로그인하는 것을 허용하는 것입니다.

IP 검색은 PI서버에 해당 IP 또는 IP 대역을 설정해 놓고

접속을 하면, 해당 IP 또는 IP 대역의 모든 PC가 접속이 가능하도록 하는 방법입니다.


이 두가지를 한번에 설정 할 수도 있고, 따로 설정할 수도 있는데, OSIsoft에서는 따로 하나씩 설정하기를 권고 하고 있다고 합니다.


위의 그림은 Trust 설정 창입니다.

해당 창은 PI SMT(Server Management Tool)에서 Trust 추가를 누르면 나오는 창입니다.

해당 창에 Turst Name은 알아서 보기 좋게 주면 되고,

먼저 사용자 계정으로 로그인 설정은 IP Information - Network Path 란에 해당 PC 계정 명을 입력하고

PI User에 권한을 주고 OK누르면 끝.

여기에 두번째, 다시 새로운  Trust 생성 창을 열고 똑같이 Trust Name은 다른 이름으로 하나 설정하고

이번에는 Network Path는 비워두고, IP Address 와 NetMask만 적어 줍니다.

이때, 주의해야 할 사항이 있습니다.


위의 그림과 같이 IP 설정을 함에 따라 접속 하는 PC를 조절 할 수 있습니다.


무슨 뜻인냐면,  위 그림의 Row 1은 IP에 0.0.0.0 을 주고 NetMask에 0.0.0.0을 주면 모든 PC에서 접속이 가능해 집니다.

Row 2는 IP를  192.168.169.0으로 설정하고 NetMask에 255.255.255.0 을 설정하면, 해당 네트워크에 192.168.168.x 의 모든 PC가 접속이 가능합니다.

즉 Net Mask 설정에 따라 IP 접속 대역을 조절 할 수 있다는 것이지요.

192 

168 

168 

255

255

255 

0 

Netmask가 255이므로 192만 접속 가능 

 Netmask가 255이므로 168만 접속 가능 

Netmask가 255이므로 168만 접속 가능  

 Netmask가 0이므로 모두 접속 가능 

위의 표처럼 netMask가 255로 되어 있는 자리는 해당 IP 자리가 고정이 되고, netMask가 0으로 설정되어 있는 부분은 모든 IP가 다 접속이 가능하다는 것입니다.


이렇게 해주면, PC 1대만 접속이 가능하게 할 수도 있고, 해당 망내에 모든 PC가 다 접속이 되도록 할 수도 있고,

windows 계정으로 접속을 관리할 수도 있는 것입니다.


networkPath와 IP Address를 한번에 설정할 수도 있지만 위에서 설명했다시피 OSIsoft에서 그렇게 설정하는것을 권장하지 않습니다.

제가 설명한것 처럼 따로 설정하는것을 권장합니다.(같이 설정하면 접속이 안될수도 있고 하는 문제가 있다고 합니다.)


PI 서버 접속이 안될 경우 가장 먼저 봐야 할 Trust 설정은 위에 설명과 같이 해주면 됩니다.

[참고: OSIsoft 강의 자료]



'4차산업혁명 > PI System' 카테고리의 다른 글

설치 license 관련  (0) 2015.11.24
PI 설치 순서  (0) 2015.11.24
PI system의 기본 구조  (0) 2015.11.20
OSIsoft  (0) 2015.11.20
PI system 공부 시작  (0) 2015.11.19
Posted by 까망후니
2015. 11. 20. 18:00

스프링 시큐리티에 관해 설명된 자료 입니다.

좋은 정보인것 같아 공유합니다.


http://www.slideshare.net/meadunhansa/ss-53303729





Posted by 까망후니
2015. 11. 20. 17:23


위의 그림은 PI Server의 전체 구조를 가장 잘 표현한, 아주 간단히 표현한 화면입니다.


먼저 Data Source는 우리가 수집하고자 하는 장비의 데이터 입니다. 예를 들어 공장이나, 발전소 같은 곳의 전압, 전류, 탱크의 유량, 장비의 현재 상태 등

여러가지 원천 데이터를 뜻하는 것이지요.


해당 데이터는 그냥 서버에 저장하는것이 아니고 PI Interface를 통해서 받게 됩니다.

이때, 여러가지 방법이 있는데, 제가 현재까지 경험한 건 OPC 서버를 통한 통신, 또는 모드버스 등의 프로토콜로 통신하는것을 보았습니다.

즉 장비 -> OPC 서버 -> PI Interface로 전달되는 형태인 것이지요.


Interface로 수신된 데이터는 버퍼를 통해서 PI Server로 전달되고요. 버퍼가 있는건 데이터 손실을 막기 위함인데요. 해당 내용은 차후에 자세히 설명하겠습니다.


PI Server로 들어온 데이터는 그대로 PI Server Archive란 곳에 저장이 됩니다.(그림에는 표현되어 있지 않습니다.)

여기까지가 데이터가 장비로부터 서버에 저장되는 범위 입니다.


그러면 이 데이터를 가지고 분석도 하고 모니터링도 해야겠죠?

그것을 편하게 할수 있도록 해주는 툴이 바로 PI AF(Asset Framework)라는 것인데요.

이는 그냥 막 중구난방으로 이름만 가지고 들어온 데이터를 구조적으로 보기 좋게 나누는 툴입니다.

예를 들어서 어떤 회사에 박지성, 기성용, 손흥민, 차범근, 차두리, 박주영, 이청용, 홍명보..이런 사람들이 있다고 예를 들면..

이들은 하나의 데이터로 볼수 있는 거죠. PI에서는 태그(Tag) 또는 Point라고도 씁니다.

이 태그들은 그냥 이대로 두면 보기가 좋지 않으니깐, 구조적으로 나누어 보는것이지요.

예를 들어 저 선수들을 공격수, 미드필더, 수비수, 감독 이렇게 나누면

공격수에는 박주영, 손흥민 이 들어갈 것이고, 미드필더에는 박지성, 기성용, 이청용, 수비수에는 차두리, 감독에는 차범근, 홍명보.. 이런식으로 나누는 것이죠.

그것을 트리 형식으로 볼수 있게 나누는 것이고요. 

이 예가 정확한건 아니지만 그런식으로 사용자가 보기 좋게 나누어 볼수 있도록 도와주는 툴이 PI AF입니다.


그리고 이 AF 툴은 따로 MSSQL(그림에서 Relational Database)과 연동되어 데이터를 따로 저장하기도 하고요.


사용자들은 이렇게 PI 서버에 직접 접속해서 데이터를 볼수도 있고, AF를 통해서 구조화된 데이터를 볼수도 있습니다.

또한 이런 데이터를 조합해서 다른 형태로도 볼 수 있고요.(ProcessBook이나 Coresight 등 PI에서 제공하는 툴을 사용해 모니터링 할 수도 있습니다.)


기본적인 흐름은 이렇게 흘러갑니다.


그림만 보면 처음에 뭔가 하는데, 저도 설명을 듣고 아~ 했습니다.


기본적인 장비 통신을 해보신 분이시라면 어렵지 않게 이해하실것 같습니다.

좀더 상세한 내용은 다음시간에 정리를 해야겠네요. 


[참고 : OSIsoft 교육 자료]


'4차산업혁명 > PI System' 카테고리의 다른 글

설치 license 관련  (0) 2015.11.24
PI 설치 순서  (0) 2015.11.24
Trust 관련  (0) 2015.11.23
OSIsoft  (0) 2015.11.20
PI system 공부 시작  (0) 2015.11.19
Posted by 까망후니
2015. 11. 20. 16:55

PI System을 만든 회사가 OSIsoft이다.

한국에는 여의도 IFC에 OSIsoft korea 라는 한국 지사가 있다.

자세한건 모르지만, 여기엔 영업하시는 분들과 기술지원팀이 있고,

기술지원문의 연락처는 02-6137-3633 이다.

24시간 기술지원하지만 한국어로 기술지원을 받고 싶다면 오전 9시에서 오후 5시까지만 통화가 가능하다.

그 외에 시간은 유럽이나 타지역의 외국 기술지원팀으로 전화가 넘어간다.(영어를 못하면..묻지도 못해요..ㅠㅠ)


이메일은 techsupportKR@osisoft.com 으로 보내면 기술지원팀에서 메일 확인후 답을 준다.

개인적으로 빠른 회신은 오지 않으니 가급적이면 유선으로 묻는게 더 빠른거 같다.


참고로 개인적으로 OSIsoft에 대해 조사한 바로는 이곳에 입사하려면 프리토킹은 아주 원어민 뺨치게 해야 하고,

면접을 외국 본사 인사 담당자가 전화로 영어 면접을 본다는 소문이..ㅠㅠ(저는 입사도 못해요..)


암튼..뭐랄까..여기는 개인 핸드폰 번호도 공개를 안하는(시스템적으로 모든 문의는 유선통화를 이용해서 기록에 남기기 위함이라는..)

시스템이라 영어가 약하신 분은 꼭 업무시간에 전화하셔야 합니다.



'4차산업혁명 > PI System' 카테고리의 다른 글

설치 license 관련  (0) 2015.11.24
PI 설치 순서  (0) 2015.11.24
Trust 관련  (0) 2015.11.23
PI system의 기본 구조  (0) 2015.11.20
PI system 공부 시작  (0) 2015.11.19
Posted by 까망후니
2015. 11. 20. 09:20

중고등학생 위주의 과외 선생으로서 중고딩 위주의 수학 공부법만 쓸 예정이다.


사실 초등학생 수학이 가르치기 쉽다고 생각하지만, 그건 수학이 쉬운거지 가르치기 쉬운건 아니다.

아무것도 모르는 아이에게 뭔가를 가르치게 한다는건 정말 어려운 일이기 때문이다.

그래도 수학의 사칙연산도 해보고, 뭔가 경험해본 중고등학생 정도 되는 이들이 가르치기 더 쉽다.


지난번에는 중고딩 수포자의 시작인 인수분해에 대해 강조했다. 인수분해만 잘해도 함수까지는 따라갈수 있다.

왜? 계산이 되니깐. 계산이 눈이 보이니깐.

인수분해를 그냥 할줄 아는데 그쳐서는 안된다. 그냥 식 보고 딱 답! 이 나올정도 연습해야 한다.

예를 들어 x² + 8x -20 이란 식이 있다. 인수분해가 1초만에 되는가? 최대 3초 안에 되어야 한다.

그래야 인수분해를 기본적으로 마스터했다고 할수 있다. (답은 (x+10)(x-2))

이정도는 할 수 있어야 학교든 학원이든 선생님이 풀어주는데 따라갈 수 있다.

그 속도를 못맞추면 어? 저거 왜 저래? 뭐지? 하고 막히는 순간 그 다음 풀이는 알아도 그 문제를 풀수 없다. 왜? 아는데까지 가질 못하니깐...

그래서 기본 문제 푸는게 아주 중요하다.


여기서 왜 인수분해를 하면 방정식에 함수까지 쉽다고 하는지 궁금하지 않은가? 그것은 풀이가 같기 때문이다.

예)

인수분해 : x² + 8x -20

방정식 : x² + 8x -20 = 0

함수 : y = x² + 8x -20


자 눈에 보이는가? 저 문제들의 차이가?

인수분해는 그냥 말그대로 방정식과 함수가 잘 풀리도록 하기 위한 한가지 방법이다.

즉 인수분해는 x² + 8x -20 = (x+10)(x-2) 이렇게 풀면되고

방정식은 x² + 8x -20 이란 식이 0이란 값을 갖게 하는 x를 찾는 것이다.

그 0을 찾기 위해 인수분해를 해서 문제를 푼다. 왜 인수분해를 해야만 풀리느냐? 인수분해가 제일 쉬우니깐... 뭐 안되면 그때가서 근의 공식을 쓰는것이다.

0 x 100 =? 얼마일까? 0x1000000000000000000000000000000 =? 얼마일까?

즉 모든 어떤 수던지 0을 곱하면 답이 0이 되는것을 응용한 방법이다.

□ x ★ = 0 이 되려면 □가 0이든지 ★ 이 0이면 된다는 소리다.

그러면 x² + 8x -20 = (x+10)(x-2) 이렇게 인수분해 되므로

(x+10) 이라는 □와 (x-2) 라는 ★ 의 모양으로 바뀌게 되는 것이다.

x² + 8x -20 = (x+10)(x-2) = 0

                     x  = 0

보이는가? 그래서 □가 0이 되기 위해 x는 -10이 되어야 하고, ★이 0이 되기 위해 x는 2가 되어야 한다.

방정식이 이게 다이다.


단 응용문제에서는 저 식을 세우는게 문제인 것이다. 저 식만 세우면 푸는건 인수분해 연습한걸로 풀리니깐...(또는 근의 공식등..)


자. 그럼 모두 어렵다고 하는 함수는 어떠한가? 

함수도 방정식의 연장선이다. 단 방정식은 0이 되는 x를 찾는다는 개념이면 

함수는 y라고 생긴 어떤 수가 되게 하는 x를 찾고, 반대로 x가 얼마일때 나오는 y를 찾는 것이다


글로만 보면 이해가 안된다. 식을 보자

x² + 8x -20 = 0 이려면 x = -10, 2 이어야 한다.(위에 방정식 풀이 참조)

x² + 8x -20 = -36 이 되려면 x = 4이어야 한다.

x² + 8x -20 = -32 가 되려면 x = 2, 6 이어야 한다.

.....

이런식으로 저 식은 y 자리에 오는 수가 어떤 수냐에 따라 x값이 계속 바뀌게 된다.

이런 x를 찾고 y를 찾는게 함수인데, 풀이는 역시나 인수분해를 많이 사용한다. 물론 다른 관점의 문제는 다른 풀이 법을 쓰지만, 

특히 2차함수에서는 인수분해를 많이 사용한다.


뭐 저 내용은 각자 학원이나 과외 선생님, 또는 공부해보면 알것이고...


결국 요는 인수분해는 중요하다.

그리고 다 달라 보이지만 다 같은 맥락이다.


이 점에서 겁먹을거 없다는 것이다.

조금씩 발전해 갈뿐..


수포자들이여 겁먹지 말고 지금도 늦지 않았으니 인수분해부터 시작하라..

그러면 해답지만 봐도 이해가 가기 시작할 것이다.


'수학 > 공부법' 카테고리의 다른 글

기본 수험서..  (0) 2016.01.11
수학이 어려워요.  (0) 2015.11.27
수학 공부 방법  (0) 2015.11.19
Posted by 까망후니
2015. 11. 19. 18:25

새로 입사한 회사에서 PI system을 이용한 업무를 진행을 하기에 저도 열심히 PI에 대한 공부를 하고 있습니다. 


하지만 모두 영어...ㅠ.ㅠ.

영어가 약한 1인으로서.. 어떻게든 번역 번역..ㅋㅋ


오늘부터 그동안 공부하면서 이해한 내용을 여기에 정리해볼까 합니다.

다만 제가 정리한 내용은 순전히 제 개인적으로 느끼고 파악한 내용이지, OSIsoft(PI개발사)의 뜻이거나 공적인 내용이 아니므로

잘못된 내용이 있다면 즉각적으로 알려주시면 수정하겠습니다..ㅎㅎ



'4차산업혁명 > PI System' 카테고리의 다른 글

설치 license 관련  (0) 2015.11.24
PI 설치 순서  (0) 2015.11.24
Trust 관련  (0) 2015.11.23
PI system의 기본 구조  (0) 2015.11.20
OSIsoft  (0) 2015.11.20
Posted by 까망후니
2015. 11. 19. 17:47

저는 수학을 10년 넘게 과외하고 가르쳐본 사람입니다.

지금은 직장을 다니고 있지만 지금도 직장 다니면서 퇴근 후에 짬짬이 과외도 하고 있지요.

과외 학생만도 30명이 넘습니다. 

다들 제각각의 유형의 학생들이었는데, 이 학생들의 공통점은 수학을 못한다. 어렵다. 라고 생각하는 것이었습니다.


왜?

뭐가 어려운가?

그런데 재밌는 사실은 이 어렵다고 하는 친구들이 어릴때, 즉, 초등학교때는 어렵지 않아 했다는 겁니다.

재미있는 사실이죠?

단지 어려워 하기 보다는 문제 풀기를 귀찮아 했죠. 덧셈 뺄셈 반복 반복 반복.....


빽빽한 문제 앞에서 모르는건 아닌데 풀기는 귀찮고, 또 고생해서 풀었는데 실수라도 하나 하면 짝대기 쭉~

맘 상하죠..ㅎㅎㅎ


그런 친구들이 어찌어찌 버디면서 중학교 올라와서부터는 큰 벽에 막힙니다.


바로 인수분해죠.

뭐 중1까지는 초딩때 배우던 '네모칸에 알맞는 숫자는?' 대신에 'x의 값은?' 으로 바뀐것만 잘해도 어찌어찌 버티는데,

중2 되면서 이차 방정식 들어가면서 한번 휘청하다가 인수분해 들어가면 그땐 GG!! 

그러다가 함수 나오면 그냥 수포자로....


하지만 인수분해만 잘해놔도 굉장히 쉬워집니다.

물론 인수분해를 잘하기 위해선 센스도 중요하지만 좋은 선생님을 만나는게 중요하다고 생각합니다.


혼자서도 잘하는 친구도 있지만, 대부분 혼자보단 누군가의 설명이 더욱 이해가 빠르게 되죠.


그런면에서 저는 철저히 인수분해를 가르치고 넘어가죠. 그래야 뭐라도 하거든요.

인수분해 못하면 땡입니다.


중1때부터 수학 잘하고 싶으면 인수분해 하세요. 절대적으로..충분한 시간을 할애해서..

모르겠으면 반복해서라도.. 인수분해는 꼭 하고 넘어가세요.


그러면 일단 한고비는 넘기는 겁니다.


그럼 1차 관문 통과...









'수학 > 공부법' 카테고리의 다른 글

기본 수험서..  (0) 2016.01.11
수학이 어려워요.  (0) 2015.11.27
수학 공부 방법 - 인수분해 예찬  (0) 2015.11.20
Posted by 까망후니
2015. 11. 18. 09:34
- Modbus RTU Frame Format
Name
Length(bits)
Function
Start
28
at least 3 12 character times of silence (mark condition)
Address
8
Station Address
Function
8
Indicates the function code, eg read coils / inputs
Data
n * 8
Data + length will be filled depending on the message type
CRC
16 bits
Error checks
End
28
at least 3 12 character times of silence between frames
 1. Start : 프로토콜 시작을 나타낸다.
 2. Address : 데이터 주소 번지이다.(입/출력 번지)
 3. Function : 해당 펑션 정보이다. 펑션은 일반적으로 6가지가 있고, 사용자별 맞춤 펑션코드도 사용한다.
 4. Data : 실제 입/출력할 데이터 이다.
 5. CRC : 데이터가 올바른 데이터인지 확인하기 위한 코드이다.
 6. End : 프로토콜 종료를 나타낸다.
 
- Modbus ASCII Frame Format
Name
Length
(char.)
Function
Start
1
starts with colon ( : ) (ASCII hex value is 0x3A)
Address
2
Station Address
Function
2
Indicates the function codes like read coils / inputs
Data
n
Data + length will be filled depending on the message type
LRC
2
Error checks
End
2
carriage return – line feed(CR/LF) pair (ASCII values of 0x0D & 0x0A)
 1. Start : 프로토콜 시작을 나타낸다.
 2. Address : 데이터 주소 번지이다.(입/출력 번지)
 3. Function : 해당 펑션 정보이다. 펑션은 일반적으로 6가지가 있고, 사용자별 맞춤 펑션코드도 사용한다.
 4. Data : 실제 입/출력할 데이터 이다.
 5. LRC : 데이터가 올바른 데이터인지 확인하기 위한 코드이다.
 6. End : 프로토콜 종료를 나타낸다.

- Modbus TCP Frame Format

Name
Length
(bytes)
Function
Transaction ID
2
For synchronization between messages of server & client
Protocol ID
2
Zero for Modbus/TCP
Length
2
Number of remaining bytes in this frame
Slave ID
1
Slave Address (255 if not used)
Function code
1
Function codes as in other variants
Start Address
2
Start Address

Count

2

Data Count

 1. Transaction ID : 서버와 클라이언트 간에 서로 번호를 증가함으로서 데이터 순서를 맞춰준다. 해당 정보는 길이가 2byte로 다 차면 다시                                           0부터 시작된다.
 2. Protocol ID : 프로토콜 ID이라고 하는데, 사실 뭐에 쓰는지 잘 모르겠다. 그냥 고정 코드 값 사용함(대부분 0)
 3. Length : 하위 데이터의 크기를 나타낸다.
 4. Slave ID : Slave ID이다. 해당 ID가 맞아야 데이터를 정상적으로 가져올 수 있다.
 5. Function code : 사용할 펑션 코드 정보이다.
 6. Start Address : 데이터를 가져올 시작 주소를 나타낸다.
 7. Count : Address로부터 가져올 데이터의 크기를 나타낸다.

 * Tx/Rx 가 데이터가 약간 상이하다. 위의 내용과 다를수 있다. 위의 내용은 제가 개발하면서 그냥 알게된 내용들입니다. 정확한 정보는 아니므로 오류사항이 있으면 알려주세요. 또한 궁금하신 사항이 있으시면 질문해 주시기 바랍니다. 저도 잘 알지 못하지만 같이 공부하는 차원에서..ㅎㅎ 

[참고. http://ymkimit.blogspot.kr/]

Posted by 까망후니
2015. 11. 18. 08:59

자바스크립트 용량을 줄이기 위해 압축해서 코드를 만드는  방법도 있다.

또는 코드를 못알아 보게 하는 경우도 있는데, 이건 복구하면 될거 같기도 하고..ㅋ

요지는 압축을 해주는 사이트가 있는데, 매우 유용하다.


http://javascriptcompressor.com/


해당 사이트에 들어가면 위에 입력창, 아래에 출력창이 나온다.

대충 보면 위에다가 내가 입력한 코드를 복사해서 입력하고 Compress 버튼을 클릭하면

압축된 코드가 아래칸에 나오게 된다.


물론 이 아래코드를 복사해다가 내 자바스크립트에 붙여서 사용하면 된다.

이러면 용량이 줄어들어서 좀더 가벼워 지는 효과가 있다.




'언어 > JAVASCRIPT' 카테고리의 다른 글

[JavaScript] 코드 압축  (0) 2018.06.08
JAVASCRIPT 날짜 관련 정리  (0) 2015.12.07
[Component] 웹에서 엑셀같은 SpreadSheet 써보기  (0) 2015.12.02
[펌]Memory leak 관리 방법  (0) 2015.12.01
Posted by 까망후니