산업 연결 예
ThingWorx에서 산업 연결 엔티티를 사용하면 ThingWorx Kepware Server에 연결하여 ThingWorx Kepware Server에 있는 태그를 모델링 및 구성하고 ThingWorx 모델의 사물로 바인딩할 수 있습니다.
|
이 예에서는 ThingWorx 8.0 이상이 설치되어 실행 중이라고 가정합니다.
|
ThingWorx에서 응용 프로그램 키 및 사물 만들기
ThingWorx Kepware Server에 연결하려면 IndustrialGateway 사물 템플릿을 사용하는 사물과 응용 프로그램 키를 만들어야 합니다.
1. ThingWorx에서 응용 프로그램 키를 생성합니다. 나중에 사용하기 위해 키 ID를 복사합니다.
2. ThingWorx에서 사물을 생성합니다. 나중에 ThingWorx Kepware Server에서 사용하므로 이 사물의 이름을 기록해 두십시오.
|
이 예에서 사물의 이름은 ThingWorxKepwareServer입니다.
|
3. 기본 사물 템플릿 필드에서 IndustrialGateway를 선택합니다.
4. 저장을 클릭합니다.
ThingWorx Kepware Server 설치
1. ThingWorx Kepware Server에 대한 설치 관리자를 다운로드하고 시작합니다.
2. 시작 페이지에서 Next를 클릭합니다.
3. 라이선스 협약을 수락하고 Next를 클릭합니다.
4. 설치 위치를 수락하거나 변경하고 Next를 클릭합니다.
5. 데이터 위치를 수락하거나 변경하고 Next를 클릭합니다.
6. ThingWorx Kepware Server의 바탕 화면에 바로 가기를 설치하는 기능을 수락하거나 비활성화하고 Next를 클릭합니다.
7. 제품군(해당되는 경우)을 선택하고 Next를 클릭합니다.
8. Full Installation 왼쪽에 있는 아이콘을 클릭하고 Entire feature will be installed on local hard drive를 선택하거나 환경에 적합한 기능을 활성화합니다.
9. 선택을 확인하고 Next(또는 개정하려면 Back)를 클릭합니다.
10. 동적 주소 지정(원하는 경우)을 활성화하고 Next를 클릭합니다.
11. 강력한 관리자 암호를 설정하거나 지금은 건너뛰고 다음을 클릭합니다.
12. 설치를 클릭합니다.
13. 마침을 클릭합니다.
ThingWorx Kepware Server 아이콘이 바탕 화면에 나타납니다.
ThingWorx Kepware Server 구성 및 ThingWorx에 연결
1. 바탕 화면 아이콘에서 ThingWorx Kepware Server 구성을 실행합니다. Configuration 창이 열립니다.
2. Project를 마우스 오른쪽 버튼으로 클릭하고 Properties를 선택합니다.
3. Property Editor에서 ThingWorx를 선택합니다.
4. 다음과 같이 구성합니다(여기에 나열되지 않은 설정은 기본값으로 유지될 수 있음).
◦ Enable을 Yes로 설정합니다.
◦ Host - ThingWorx 인스턴스에 대한 IP 또는 전체 도메인 이름입니다.
◦ Port - ThingWorx가 응답하는 포트(대개 80 또는 443)입니다.
◦ Application Key - 이전에 만든 응용 프로그램 키의 Key ID입니다.
◦ Trust self-signed certificates - 플랫폼에 자체 서명된 인증서가 있는 경우 Yes로 변경합니다. 최대 보안의 경우 No로 설정합니다.
◦ Trust all Certificates - 일부 자체 서명된 인증서에 필요할 수 있는 엄격한 인증서 확인을 비활성화하거나 활성화합니다. 최대 보안의 경우 No로 설정합니다.
◦ Disable encryption - 플랫폼에서 SSL 암호화를 사용하지 않는 경우 Yes로 설정합니다. 최대 보안의 경우 No로 설정합니다.
| 암호화되지 않은 통신은 보안에 위험을 주므로 소규모 테스트 중에만 사용하거나 경계에 다른 수단을 취해 환경이 적절히 보호되는 경우에만 사용해야 합니다. |
◦ Thing name - 위의 ThingWorx에서 만든 IndustrialGateway 사물의 이름입니다.
| 사물 이름은 IndustrialGateway 사물의 이름과 정확하게 일치해야 합니다(대/소문자 구분). |
5. 적용을 클릭합니다. ThingWorx Kepware Server는 ThingWorx에 대한 연결을 시도합니다.
| 확인하는 동안 ThingWorx Kepware Server와 함께 Simulator Driver를 사용하여 샘플 데이터 및 태그를 확인하면 도움이 될 수 있습니다. Simulator Driver 안내서를 참조하십시오. |
ThingWorx Kepware Server의 태그를 ThingWorx의 속성에 바인딩
이제 ThingWorx Kepware Server가 ThingWorx에 연결되어 ThingWorx Kepware Server에 연결된 IndustrialGateway 사물을 찾고 ThingWorx Kepware Server의 태그를 ThingWorx의 속성에 바인딩합니다.
1. Composer를 엽니다.
2. 찾아보기 > 산업 연결을 클릭합니다.
| 아무 것도 연결되지 않은 경우 산업 연결이 표시되지 않습니다. ThingWorx Kepware Server가 설치되었지만 연결되지 않은 경우 바탕 화면 도구 모음의 ThingWorx Kepware Server 아이콘에서 Start Runtime Service를 클릭합니다. |
3. ThingWorx Kepware Server가 실행 중이면 산업 연결 사물이 표시됩니다. 데이터베이스 아이콘을 포함하는 열에 확인 표시가 없으면 해당 사물이 지속되도록 사물을 저장합니다.
a. 엔티티 이름을 클릭합니다.
b. 저장을 클릭합니다.
4. 산업 연결 머리글 드롭다운에서 검색을 클릭합니다. 플러스 기호(+)를 클릭하여 ThingWorx Kepware Server에 있는 채널 및 장치를 확장합니다.
5. 개별 장치를 클릭하면 사용 가능한 태그가 아래에 나열됩니다. 새 자산에 추가할 태그 옆에 확인 표시하고 새 엔티티에 바인딩을 클릭합니다.
6. 사물 템플릿을 선택하고 확인을 클릭합니다.
7. 새 사물 생성 화면이 표시됩니다. 새 사물이 ThingWorx Kepware Server를 통해 자동으로 연결되도록 구성 및 바인딩 정보가 구성됩니다. 사물에 대한 이름을 제공합니다.
8. 저장을 클릭합니다.
| 저장하면 사물에 의해 IndustrialThingShape가 구현되며 사물에서 제거할 수 없습니다. 기본 사물 템플릿이 IndustrialThingShape가 구현된 원격 사물에서 파생된 사물을 저장하면 태그 주소 기반으로만 원격 바인딩이 허용됩니다. |
| • ThingWorx는 IndustrialThingShapes에서 속성 상속을 지원하지 않습니다. • 속성이 사물에서 재정의되면 속성 바인딩과 관련하여 사물 형태에 적용된 모든 변경 내용이 반영되지 않습니다. 이는 바인딩과 관련된 측면에만 국한됩니다. 인스턴스에 대한 속성 기본 유형이 변경되는 경우 해당 변경 사항이 전파됩니다. • 사물에서 재정의된 속성을 삭제(본질적으로 재정의 작업 취소)해야 하며, 사물 형태에 적용된 모든 바인딩 관련 변경 내용이 사물에 반영됩니다. |
9. 산업 사물 머리글 드롭다운에서 속성 및 경고를 선택합니다. 새로 고침을 클릭합니다. 값은 ThingWorx Kepware Server의 현재 데이터를 기반으로 변경됩니다.
10. 속성을 보거나 편집하려면 이름 열에서 속성을 클릭합니다.
| Infotable-type 속성에는 항상 푸시됨으로 설정된 푸시 유형이 있어야 합니다. |
| 다음은 산업 연결 사물에 고유한 속성입니다. • 태그 주소: ThingWorx Kepware Server에 존재하는 태그의 주소입니다. 속성 이름 및 바인딩된 태그 주소는 동일할 필요가 없습니다. • 산업 데이터 유형: ThingWorx Kepware Server에 존재하는 데이터 유형입니다. 이는 ThingWorx의 기본 유형에 해당합니다. • 푸시 유형: 기본 푸시 유형은 값 변경을 기준으로 푸시됨입니다. 데드 밴드를 기준으로 푸시됨은 값 변경을 기준으로 푸시됨과 비슷하지만, 푸시되는 값에 약간의 차이가 있습니다. 예를 들어, 장치의 값이 1, 2, 3 및 4이고 푸시 유형이 값 변경을 기준으로 푸시됨이고 푸시 허용치가 2이면 에지에서 위로 푸시될 값은 1입니다. 그러나 이 값은 1만큼만 변경되므로 다시 위로 푸시되지 않습니다. 이 동일한 예에서 푸시 유형이 데드 밴드를 기준으로 푸시됨으로 설정된 경우 에지의 마지막 값 대신 푸시된 마지막 값 사이에서 변경되었으므로 1 및 3의 값을 푸시합니다. | 데드 밴드를 기준으로 푸시됨 푸시 유형은 ThingWorx Kepware Server 산업 연결에 대해서만 사용할 수 있습니다. |
|
11. 기존 엔티티에 추가 태그를 바인딩하려면 추가를 클릭하여 새 속성 속성에 액세스합니다. 바인딩에서 원격으로 바인딩됨을 선택하여 이름과 기타 원하는 속성을 지정합니다. 태그 주소에서 추가를 클릭하여 선택한 엔티티에 바인딩할 추가 태그를 선택합니다.
| 또는 완료를 클릭하기 전에 동적 태그 옵션을 선택하고, 동적 태그 주소를 입력하고, 산업 데이터 유형을 선택합니다. |
산업 게이트웨이 진단 속성
IndustrialGateway에는 ThingWorx Kepware Server에 대한 상태 정보를 가져오는 데 사용할 수 있는 여러 가지 진단 속성이 있습니다.
• ActiveTagCount - 플랫폼의 속성에 바인딩된 태그의 수입니다. ThingWorx Kepware Server가 연결된 모든 클라이언트에 능동적으로 제공하는 태그의 수입니다.
• ClientCount - ThingWorx Kepware Server에 연결된 모든 OPC DA Client의 수입니다.
• DateTime - 지역 시간대에 맞춰서 조정된 현재 날짜 및 시간입니다.
• DroppedUpdates - 플랫폼으로 전달되는 대신 ThingWorx Kepware Server에 의해 드롭된 업데이트의 수입니다.
| 이 값은 드롭된 이 업데이트일 수 있으므로 연결을 확인하는 데 사용해서는 안 됩니다. |
• ExpiredFeatures - 만료된 ThingWorx Kepware Server 기능(예: 드라이버 또는 플러그인)의 이름이며, 이러한 기능은 서버 런타임이 중단되고 재시작하거나 기능에 라이선스가 허여될 때까지 더 이상 데이터를 제공하지 않습니다.
• FullProjectName - 현재 실행 중인 ThingWorx Kepware Server 프로젝트 파일의 전체 이름과 위치입니다.
• Hostname - ThingWorx Kepware Server가 실행 중인 컴퓨터의 호스트 이름입니다.
• IndustrialThingCount - 이 IndustrialGateway를 사용하여 플랫폼에 데이터를 제공하는 원격 사물의 수입니다.
• isConnected - ThingWorx Kepware Server 서버의 연결 상태입니다.
• lastConnected - ThingWorx Kepware Server 서버의 마지막 양호한 연결 시간입니다.
• LicensedFeatures - 이 ThingWorx Kepware Server 인스턴스에 대해 라이선스가 허여된 ThingWorx Kepware Server 기능(예: 드라이버 또는 플러그인)의 이름입니다.
• OpcClientNames - 제공된 경우 연결된 OPC DA Client의 이름입니다.
• ProductName - 산업 게이트웨이 사물 템플릿을 사용하는 소프트웨어의 이름입니다.
• ProductVersion - 산업 게이트웨이 사물 템플릿을 사용하는 소프트웨어의 버전입니다.
• ProjectName - ThingWorx Kepware Server에서 사용 중인 프로젝트 파일의 이름입니다.
• ProjectTitle - ThingWorx Kepware Server에서 사용 중인 프로젝트 파일의 제목입니다.
• PropertyCount - 플랫폼의 원격 사물과 연관된 속성의 수입니다.
• TimeLimitedFeatures - 이 ThingWorx Kepware Server 인스턴스에 대해 라이선스가 허여되지 않았지만 데이터를 제공하는 ThingWorx Kepware Server 기능(예: 드라이버 또는 플러그인)의 이름입니다.
• TotalTagCount - 모든 클라이언트에 지정된 태그의 수입니다.
• UpdatesPerSecond - ThingWorx Kepware Server에서 ThingWorx로 푸시되는 업데이트의 평균 수입니다.
서비스
이러한 서비스 중 하나를 사용하여 산업 연결을 관리합니다.
서비스 | 설명 |
BrowseItems | 입력은 path 및 filter입니다. 필터는 선택 사항입니다. 반환: SourceType(예: Word 또는 Word Array)은 ThingWorx Kepware Server에서 정의된 데이터 유형이며, ThingWorx의 기본 유형과 상호 관련됩니다. 이 서비스는 필터를 인수로 사용하므로 특정 태그 이름을 검색할 수 있습니다. 이 필터 필드에서 사용할 수 있는 필터 기술은 다음과 같습니다. * 와일드카드 - 임의의 문자 세트와 일치시킵니다. ? 단일 문자 와일드카드 - 임의의 단일 문자와 일치시킵니다. [...] 포함 문자 세트 - 괄호 안에 포함된 임의의 단일 문자와 일치시킵니다. 문자 범위는 대시로 나타낼 수 있습니다('c-j'). [!...] 제외 문자 세트 - 괄호 안에 포함되지 않은 임의의 단일 문자와 일치시킵니다. 문자 범위는 대시로 나타낼 수 있습니다('c-j', '). # 숫자 - 임의의 숫자 문자와 일치시킵니다. |
BrowseGroups | 입력은 path 및 filter입니다. path가 정의되지 않으면 모든 그룹이 반환됩니다. |
GetIndustrialThings | IndustrialGateway 사물 템플릿을 통해 연결된 모든 사물을 반환합니다. 이 정보를 보기 위해 ThingWorx에서 원격 사물 매쉬업을 볼 수도 있습니다. |
GetPropertySubscriptions | 원격 사물에서 이 서비스를 사용하여 측면(ThingWorx Kepware Server에서 정의된 속성)을 반환할 수 있습니다. | 양상의 예: { "industrialDataType": "Word", "tagAddress": "Channel2.Device1.Tag11", "scanRate": 1000 } |
|
GetBoundItems | maxItems에 대해 숫자를 입력합니다. 서비스가 실행되는 사물에 바인딩된 모든 태그를 반환합니다. | 바인딩된 태그 정보는 산업 게이트웨이 사물의 바인딩된 태그 영역에서도 찾을 수 있습니다. |
|
GetPropertyDiagnostics | 원격 사물에 대해 사용 가능하며 IndustrialThingShape를 사용할 때 추가됩니다. 이 서비스는 서비스가 실행되는 사물에 현재 바인딩된 속성의 로컬 이름을 사용하고 다음 정보를 반환합니다. • Description: ThingWorx Kepware Server의 설명 필드입니다. • Valid - 부울입니다. 해당 속성이 ThingWorx Kepware Server에 유효한지 여부입니다. • DriverFriendlyName: 태그를 생성하는 데 사용되는 드라이버로, 사용자에게 표시되는 이름입니다. • Model - 태그를 생성하는 데 사용할 드라이버의 장치 모델입니다. • Error - 부울입니다. 장치에 오류가 있는지 여부입니다. • Name - ThingWorx Kepware Server의 주소 이름입니다. • DriverPersistedName - 태그를 생성하는 데 사용되는 드라이버의 ThingWorx Kepware Server 이름입니다. • Address: ThingWorx Kepware Server의 태그에 대한 물리적 주소입니다. • DataType - ThingWorx Kepware Server에서 보는 산업 데이터 유형입니다. • ReadOnly - 부울입니다. true인 경우 태그가 읽기 전용입니다. • CurrentValue - 서비스가 실행되었을 때 태그의 값입니다. • CurrentQuality - 서비스가 실행되었을 때 태그의 품질입니다. • CurrentTimestamp - 서비스가 실행되었을 때 태그를 읽은 시간입니다. |
GetDiagnosticDigest | 산업 게이트웨이 사물에서 사용할 수 있습니다. 이 서비스는 모든 태그 주소를 사용하며 ThingWorx Kepware Server에서 해당 태그의 진단 정보를 반환합니다. ThingWorx Kepware Server 인스턴스에서 정적 또는 동적 주소를 사용하여 정보를 제공할 수 있는 유일한 진단 서비스입니다. 즉, 이 서비스가 결과를 반환하기 위해 플랫폼의 속성에 태그를 바인딩할 필요가 없습니다. 반환된 각 필드의 정의는 GetPropertyDiagnostics 서비스에 대한 정의와 동일합니다(위 참조). |
CSV 파일을 통해 사물 가져오기
CSV 가져오기 확장을 사용하여 사물을 ThingWorx로 가져올 수 있습니다. 이 확장에는 ImportRepository, ImportHelper, ImportMashup 및 TestImport.csv 샘플 파일이 포함됩니다.
1. 확장을 얻고 ThingWorx로 가져옵니다.
2. ImportMashup를 엽니다.
| Import Format 링크를 클릭하면 파일 형식이 표시됩니다. |
3. Choose File을 클릭하고 가져올 CSV 파일로 이동합니다. 플랫폼이 파일을 읽을 수 있도록 해당 파일이 해당 플랫폼으로 업로드됩니다.
4. 업로드를 클릭합니다
5. 필요한 경우 My CSV file has a header row를 클릭합니다.
6. 가져오기를 클릭합니다.
7. Composer에서 CSV 파일을 통해 가져온 모든 사물이 표시되어야 합니다.