'STORY'에 해당되는 글 398건

 

다운로드는 이전 글 참고 하길 바란다

 

많은 설정을 할 수 있게 되었다,

이름좀 바꿔주고 편하게

껏다 키면 서버 이름이 바껴있다

이건 로그인 정보 설정하는 거 같음

 

X-SCADA 와 연동해보자

장치를 추가하자

이렇게 설정해준다

 

복사 해서 넣어준다

이제 URL 연동이 가능해 졋다

값을 한번 가져와보자

 

이렇게 주소를 가져와서 적어준다 

변수의 싸이즈는 같게 잘 찾아서 써준다

 

안된다...

컴터 이름을 바꿔준다

문제가 특수문자가 있으면 오류가 난다

아까전 통신 문제도 해결된듯 하다

통신 문제 확인 할때는 이것을 확인해본다

이렇게 해서 실행 확인을 해준다

 

일단 결과적으로

이렇게 3개 받아오는 것이 가능하다

'[ 충남인력개발원 ] (2019) > ┗SCADA' 카테고리의 다른 글

X-SCADA X-DAS 다운로드 1 1~ 5  (0) 2020.01.28
또다른 OPC KEP써버  (0) 2020.01.28
OPC 다운로드 2 6~11  (0) 2020.01.28
OPC 다운로드 1 1~5  (0) 2020.01.28
SDACA -X OPC 통신방식  (0) 2020.01.28
블로그 이미지

Or71nH

,

prosys-opc-ua-simulation-server-windows-x64-4.0.2-108.vol6.egg
10.00MB
prosys-opc-ua-simulation-server-windows-x64-4.0.2-108.vol7.egg
10.00MB
prosys-opc-ua-simulation-server-windows-x64-4.0.2-108.vol8.egg
10.00MB
prosys-opc-ua-simulation-server-windows-x64-4.0.2-108.vol9.egg
10.00MB
prosys-opc-ua-simulation-server-windows-x64-4.0.2-108.vol10.egg
10.00MB
prosys-opc-ua-simulation-server-windows-x64-4.0.2-108.vol11.egg
8.35MB

다운받고 첫번째 오픈

'[ 충남인력개발원 ] (2019) > ┗SCADA' 카테고리의 다른 글

또다른 OPC KEP써버  (0) 2020.01.28
X-SCADA OPC 실습  (2) 2020.01.28
OPC 다운로드 1 1~5  (0) 2020.01.28
SDACA -X OPC 통신방식  (0) 2020.01.28
SCADA 보고서 및 여러가지  (0) 2019.12.31
블로그 이미지

Or71nH

,

prosys-opc-ua-simulation-server-windows-x64-4.0.2-108.vol1.egg
10.00MB
prosys-opc-ua-simulation-server-windows-x64-4.0.2-108.vol2.egg
10.00MB
prosys-opc-ua-simulation-server-windows-x64-4.0.2-108.vol3.egg
10.00MB
prosys-opc-ua-simulation-server-windows-x64-4.0.2-108.vol4.egg
10.00MB
prosys-opc-ua-simulation-server-windows-x64-4.0.2-108.vol5.egg
10.00MB

다운 받고 2록ㄱ

'[ 충남인력개발원 ] (2019) > ┗SCADA' 카테고리의 다른 글

X-SCADA OPC 실습  (2) 2020.01.28
OPC 다운로드 2 6~11  (0) 2020.01.28
SDACA -X OPC 통신방식  (0) 2020.01.28
SCADA 보고서 및 여러가지  (0) 2019.12.31
SCADA 보고서 및 여러가지  (0) 2019.12.31
블로그 이미지

Or71nH

,

보안을 중심으로 만든 통신 방법으로서 

보안에 취약점을 보안하였다

 

 

 

상위 관제 시스템

 

스카다

 

PLC

 

das 

 

작동기기

 

 

 

1. OPC 서버와 연결 

 

2. OPC 그룹 추가

 

3. OPC item 

 

 

 

 

OPC Classic ---> OPC UA 

차이점

인터넷 을 접속 할수 있어서 이제 모든 통신이 가능하다

 

 

 

NODEL

NODELID 

 

NODEL ADDRESS

 

 

OPC UA Sercurity

1. 아이디로그인

2. 인증서 로그인

3. 서명 로그인

4. 페킷 암호화 스스로 만든 보안

 

 

'[ 충남인력개발원 ] (2019) > ┗SCADA' 카테고리의 다른 글

OPC 다운로드 2 6~11  (0) 2020.01.28
OPC 다운로드 1 1~5  (0) 2020.01.28
SCADA 보고서 및 여러가지  (0) 2019.12.31
SCADA 보고서 및 여러가지  (0) 2019.12.31
X-SCADA 게이지 만들기  (0) 2019.12.30
블로그 이미지

Or71nH

,

###단축키

list = [..., ..., ..., ...] ... 아무거나 넣으면됨 리스트의 구성도
list(data_str) data_str  스트링형 문자열 스트링형을 개별로 저장함
type(data_list)   클레스의 타입을 알려준다
list[ 숫자] 숫자는 위치를 불러온다 첫자리부터 불러옴
list[-숫자(인덱스 위치)] 마즈막으로부터 반대로 불러온다 마즈막부터 불러옴
list[시작 숫자:끝숫자 +1] 시작할 위치   끝날위치 시작 위치부터 끝숫자의 -1 까지 불러오니 +1 해야 내가 써놓은 값까지 출력
list.index(인덱스값) 인덱스값 이랑 같은거 찾을때 인덱스값과 같은 위치를 출력해준다
hex(id(리스트)) 주소 찾을 리스트 리스트의 주소를 16 징수로 반환
리스트 + 리스트 리스트를 붙혀서 합친다 리스트의 뒤에 이어서 붙힌다
리스트 * 숫자 리스트를 붙혀서 합치나 리스트의 뒤에 곱많큼 이어붙힌다
리스트.append(값) 값 리스트에 추가하고 싶은거 리스트에 값을 추가하여 넣는다
리스트.insert(위치,값)   위치에 값을 넣어 준다 다른건 한칸씩 밀린다
리스트.extend(리스트)   위치에 리스트를 넣어줄때 벼열안에 배열이아닌 값만 넣어준다
리스트 [시작위치 :끝위치 +1] =[바꿀값] 바꿀값은 크기를 바꾸니 주의해야한다 어느부분의 값을 바꾸어 준다
del 리스트[위치]   리스트의 값을 삭제한다
리스트.pop(위치)   리스트의 특정 위치를 제거한다
리스트.remove(값)   리스트의 특정값을 찾아 없엔다
리스트.clear()   리스트의 모든값을 지운다
값 in 리스트   리스트안에 값을 확인하여 있으면 True를 반환한다
값 not in 리스트   리스트안에 값을 확인하여 있으면 False를 반환한다
리스트.count(값) 찾을 값 같은 값을 세어준다
list(range(시작값, 끝값+1, 간격)) range === for문이랑 같음 리스트를 for문으로 만들어줌
for 변수명 in 리스트 :   변수명에 리스트 값을 넣어 끝날떄까지 돌린다
for idx, item in enumerate(리스트)

변수명1 = 리스트의 위치 

변수명2 = 리스트의 값

위치를 첫번째로 두번쟤로 값을 반환하여 끝날때까지 돌린다
리스트2 = [item for item in 리스트1]

 

리스트 1의 값을 2에 넣는다

### data_list.append(숫자)

 

data_list = [10, 20, 30, 40]

print("data_list: {0}".format(data_list))

data_list.append(50)  #성공시 반환값 None
data_list.append(60)
print("data_list: {0}".format(data_list))

 

 

### data_list.insert(위치,값)

data_list = [10, 20, 30, 40]

print("data_list: {0}".format(data_list))

data_list.append(50)  #성공시 반환값 None
data_list.append(60)
print("data_list: {0}".format(data_list))
data_list.insert(2,20)
print("data_list: {0}".format9data_list))

### data_list.extend(리스트)

data_list = [10, 20, 30, 40]

print("data_list: {0}".format(data_list))

data_list.append(50)  #성공시 반환값 None
data_list.append(60)
print("data_list: {0}".format(data_list))
data_list.insert(2,20)
print("data_list: {0}".format9data_list))

data_list.extend[70, 80]) # 되면 반환값 None
data_list.append([90, 100])
print("data_list: {0}".format(data_list))

///data_list: [10, 20, 20, 30, 40, 50, 60, 70, 80, [90, 100]]
///extend 는 리스트 ㅊ구사지 배열안에 배열이 아닌 값만 넣는다

### 리스트[시작: 끝 +1] =  리스트

data_list = [10, 20, 30, 40]

data_list[2] = 29
print("data_list: {0}".format(data_list))

data_list[1:3]= [12,15]
print("data_list: {0}".format(data_list))

data_list[1:3] = [12, 15, 20]
print("data_list: {0]".format(data_list)) 

### pop , remove, clear

data_list = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

data_list.pop(5)
print("data_list: {0}".format(data_list))

data_list.remove(100)
print("data_list: {0}".format(data_list))

data_list.clear()
print("data_list: {0}".format(data_list))

### 값 in data_list

data_list = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

print("50 in data_list => {0}".format(50 in data_list))   // True 반환

print("50 in data_list => {0}".format(50 in data_list))  // False 반환

### data_list.count(값)

data_list = [10, 20, 30, 50, 50, 50, 70, 80, 90, 100]

print("data_list.count(50) => {0}".format(data_list.count(50)))  //3반환

print("data_list.count(55) => {0}".format(data_list.count(55)))  // 0반환

### list(range(시작, 끝값 +1, 간격)

data_list = [10, 20, 30, 50, 50, 50, 70, 80, 90, 100]

print("data_list.count(50) => {0}".format(data_list.count(50)))  //3반환

print("data_list.count(55) => {0}".format(data_list.count(55)))  // 0반환

 

### for 리스트

 

data_list = list(range(0, 11, 2))

for item in ata_list:
print("{0}".format(item), end=" ")

print()

for idx, item in enumerate(data_list):
	print("data_list[{0}] => {1}".format(idx, item))

 

### 리스트 일정조건만 넣기

data_list = list(range(0, 11, 2))

data_list3 = []
for item in data_list:
	if item %2 == 1:
    	data_list3.append(item)
print("data_list3: {0} {1}".format(type(data_list3), data_list3

data_list5 = [item for item in data_list if item % 2 == 1]
print("data_list5: {0} {1}".format(type(data_list5), data_list5))

data_list6 = [item for item in data_list if item % 2 == 0]
print("data_list5: {0} {1}".format(type(data_list6), data_list6))

data_list7 = []
for x in data_list1:
	if x % 2 == 1:
    	for y in data_list1:
        	if y % 2 == 0:
            	data_list7.append(x * y)
                
print("data_list7: {0} {1}".format(type(data_list7), data_list7))

data_list8 = [x * y for x in data_list if x % 2 == 1 
		for y in data_list if y % 2 == 0]


print("data_list8: {0} {1}".format(type(data_list8), data_list8))

data_str = "Hello, Python!"
data_list9 = [item.lower() for item in data_str]
print("data_list9: {0} {1}".format(type(data_list9), data_list9))

// data_list8: <class 'list'> [2, 4, 6, 12, 10, 20]
// data_list9: <class 'list

 

'+++++SW 일일 공부+++++ > SW Expert Aademy' 카테고리의 다른 글

파이썬 한글 범위 주소 숫자로 알아내기  (0) 2020.01.31
Python 튜플  (0) 2020.01.28
Python 표준 모듈과 활용  (0) 2020.01.14
Python 구문오류와 예외  (0) 2020.01.11
가변함수에 대하여  (0) 2020.01.11
블로그 이미지

Or71nH

,