Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

OPC UA Taglet

OPC UA Taglet은 OPC UA Client 역할을 하며 OPC UA Server와 통신한다.

1) Taglet 등록

① taglet 등록 창에서 'OPCUA-CLIENT'을 선택한다

② Settings에서 아래의 값들을 입력한다.

항목설명비고Connection Address

엔드포인트라고도 불리며 이 엔드포인트에는 클라이언트와 서버 간의 연결을 설정하는 데 필요한 모든 정보가 저장된다.

서버는 각각 다음을 포함하는 여러 엔드포인트를 제공한다.

  • 엔드 포인트 URL (프로토콜 및 네트워크 주소)
  • 보안 정책 (보안 알고리즘 세트 이름 및 키 길이)
  • 메시지 보안 모드 (교환 된 메시지에 대한 보안 수준)
  • 사용자 토큰 유형 (서버에서 지원하는 사용자 인증 유형)
NodeIDs

데이터를 읽어 오고자 하는 node의 ID를 입력한다.

  • 여러 node를 읽어올 때는 Separator 값(기본값 : ",")으로 각 node를 구분해 준다.
    예) ns=3;s=Counter,ns=3;s=Sawtooth,ns=3;s=Square
  • 여러 node들을 담고 있는 상위 node가 있다.
    상위 node를 root node라고 부르며 root node를 통해 하위 node 전부를 가져올 수 있다.
use root node상위 node를 입력하면 하위 node 전부를 가져올 수 있다.기본값 : , (comma)Separator여러개의 node를 입력할 때 구분자를 설정할 수 있다.use subscription

subscription 기능을 사용할 수 있다.

해당 subscription 기능을 사용하지 않으면 read 기능만 사용한다.

read period

read 기능을 수행하는 주기를 설정한다.

millisecond 단위이며 주기를 설정하지 않으면 subscription 기능만 수행한다.

use time adjustment

read 주기값을 활용하여 정확한 시간에 값을 읽는다.

예) read 주기값이 10s 이라면 00:00:10, 00:00:20, 00:00:30, 00:00:40 주기값 10의 배수가 되는 시점에서 read를 시작한다.

  • None : 보안 기능을 사용하지 않는다.
  • Sign : 모든 메시지는 서명되지만 암호화되지는 않는다.
  • SignAndEncrypt : 모든 메시지는 서명되고 암호화된다.
Security Policy

사용할 보안 알고리즘 선택

Basic128Rsa15, Basic256, Basic256Sha256, Aes128Sha256RsaOaep, Aes256Sha256RsaPss

인증 방식을 선택한다. 인증이 미리 안되어 있을 경우 인증을 진행할 수 있으며 Server에서 신뢰할 수 있는 기기 등록은 직접해야 한다.

  • None : 이미 Client와 Server와 인증이 완료된 상태이며 인증 시 사용한 인증서와 개인키로 보안연결을 한다.
  • UserName : Server의 고유 username과 password 이용해 식별하여 인증한다.
  • Certificate : Server의 인증서로 식별하여 인증한다.
Certificate인증서 텍스트를 입력한다.개인키 인증서 텍스트를 입력한다.user ID or passwordServer의 user 정보와 password 정보를 입력한다.

③ Tags에 저장할 tag를 입력한다. Settings에서 입력한 nodeID와 1:1 매칭이 되기 때문에 nodeID와 tag의 갯수가 같아야 한다. 

2) 사용시 주의사항

① machbase에 저장되는 시간 값은 OPC UA Server의 시간 값이다.

② rootNode를 사용할 경우 nodeID의 string 혹은 int 값이 tag name으로 사용된다.
     nodeID가 'ns=3;s=Sawtooth'라면 'Sawtooth'가 tag name으로 사용되고 tag 추가시 name 설정도 'Sawtooth'로 해주어야 한다.

③ 보안 연결 시 필요한 인증서와 개인키는 사용자가 소유하고 있어야 한다.

④ value의 경우 숫자형 데이터여야 한다. ( int, float )

Table of Contents
maxLevel2

Modbus Taglet

modbusTCP taglet은 modbus TCP /IP 연결을 지원하고 modbus client 역할을 하며 modbus server와 통신한다. 

1) Taglet 등록

① taglet 등록 창에서 'modbusTCP'을 선택한다.

② Settings에서 아래의 값들을 입력한다.

항목설명비고IP & PortModbus server의 IP 주소와 Port 번호server IDModbus server의 고유 아이디Device NameModbus server의 장치 이름readPeriod데이터를 읽어오는 주기(second)timeoutModbus server와 연결 시도 제한 시간ByteOrder바이트 배열 방법 (BIG Endian or LITTLE Endian)use EMC time데이터 발생 시간을 Modbus register에 저장된 값으로 사용할 것인지 EMC의 시간을 사용할 것인지 선택한다.Address데이터가 저장되어 있는 server의 주소size입력한 주소에서부터 몇 개의 word(2byte) 혹은 몇 개의 bit를 가져올 것인지 입력Function Code

값을 읽어오기위해 사용하는 Function Code 입력

예) 4개의 Function Code 지원
01 readCoils
02 readDiscreateInputs
03 readHoldingRegisters
04 readInputRegisters

value type데이터 type 선택
예) int16, uint16, int32, uint32, int64, uint64, float32, float64

③ Tags에 저장할 tag를 입력한다. Settings에서 입력한 modbus tag와 1:1 매칭이 되기 때문에 modbus tag와 tag의 갯수가 같아야 한다.

2) 사용시 주의사항

① modbus register에 저장된 시간값을 사용하는 경우 시간값의 type은 int64이고 nano timestamp로 저장되어야 한다.

MQTT Taglet

MQTT taglet은 MQTT Client 역할을 하며 MQTT broker 와 통신한다.

1) Taglet 등록

① taglet 등록 창에서 'mqtt'를 선택한다.

② Settings에서 아래의 값들을 입력한다.

항목설명비고Broker Address

broker의 주소를 입력한다.

예) 보안 옵션 없이 통신 : tcp://192.168.0.1:1883
      보안 통신 : ssl://192.168.0.1:1883

Security

보안 옵션

  • Anonymous : 보안옵션을 사용하지 않음
  • User : broker에서 설정한 UserID와 password로 보안 접속
    • User ID
    • password
  • Certificate : broker에서 설정한 인증서 정보로 보안 접속
    • CaCert : CA 인증서 경로
    • Cert : 위의 CA로 만들어진 인증서 경로
    • Private Key : 위 인증서의 개인키 경로
Topic
  • MQTT topic 설정.
    • 2개의 data type 사용 가능
    • 2개의 wildcard 사용 가능
  • QoS설정 : 서비스의 질을 보장해주는 레벨 (0, 1, 2)
  • Tag Name or Json Value Name
use "#" wildcarduse "+" wildcarduse not wildcardJSON
  • topic 설정 값이 /seoul/series/# 이고 발행되는 topic이 /seoul/series/sensor-1 일 때, 저장되는 tag name은 topic 설정시 입력한 tagName 유무에 따라 다르다.
    tagName 미입력 : _seoul_series_sensor-1
    tagName "S1" 입력 : S1_sensor-1
  • 값이 {"tagName" : "s1", "value" : 123} 일 때, "Json Value Name" 입력칸에 "${value}" 을 입력하여 해당 키의 값을 가져올 수 있다.
  • topic 설정 값이 /seoul/+/series 이고 발행되는 topic이 /seoul/seonsor-1/series 일 때, 저장되는 tag name은 "seonsor-1" 이다.
    "+" wildcard 에 들어오는 하나의 문자열이 tag name이 된다.
  • 값이 {"tagName" : "s1", "value" : 123} 일 때, "Json Value Name" 입력칸에 "${value}" 을 입력하여 해당 키의 값을 가져올
    수 있다.
  • topic 설정 값이 /seoul/sensor-1 이고 발행되는 topic이 /seoul/sensor-1 이고 설정한 tagName이 sensor1 일 때, tag name 은 sensor1 이다.
  • 값이 {"tagName" : "s1", "value" : 123} 일 때,

    OPC UA Taglet

    OPC UA Taglet은 OPC UA Client 역할을 하며 OPC UA Server와 통신한다.

    1) Taglet 등록

    ① taglet 등록 창에서 'OPCUA-CLIENT'을 선택한다

    ② Settings에서 아래의 값들을 입력한다.

    항목설명비고
    Connection Address

    엔드포인트라고도 불리며 이 엔드포인트에는 클라이언트와 서버 간의 연결을 설정하는 데 필요한 모든 정보가 저장된다.

    서버는 각각 다음을 포함하는 여러 엔드포인트를 제공한다.

    • 엔드 포인트 URL (프로토콜 및 네트워크 주소)
    • 보안 정책 (보안 알고리즘 세트 이름 및 키 길이)
    • 메시지 보안 모드 (교환 된 메시지에 대한 보안 수준)
    • 사용자 토큰 유형 (서버에서 지원하는 사용자 인증 유형)

    NodeIDs

    데이터를 읽어 오고자 하는 node의 ID를 입력한다.

    • 여러 node를 읽어올 때는 Separator 값(기본값 : ",")으로 각 node를 구분해 준다.
      ex) ns=3;s=Counter,ns=3;s=Sawtooth,ns=3;s=Square
    • 여러 node들을 담고 있는 상위 node가 있다.
      상위 node를 root node라고 부르며 root node를 통해 하위 node 전부를 가져올 수 있다.

    use root node상위 node를 입력. 입력하면 하위 node 전체를 가져와서 사용한다.
    Separator여러개의 node를 입력할 때 사용할 구분자를 입력한다.기본값 : 콤마(,)
    use subscription

    subscription 기능을 사용할 수 있다.
    해당 subscription 기능을 사용하지 않으면 read 기능만 사용한다.


    read period

    read 기능을 수행하는 주기를 설정한다.
    millisecond 단위이며 주기를 설정하지 않으면 subscription 기능만 수행한다.


    use time adjustment

    read 주기값을 활용하여 정확한 시간에 값을 읽는다.
    ex) read 주기값이 10s 이라면 00:00:10, 00:00:20, 00:00:30, 00:00:40 주기값 10의 배수가 되는 시점에서 read를 시작한다.


    • None : 보안 기능을 사용하지 않는다.
    • Sign : 모든 메시지는 서명되지만 암호화되지는 않는다.
    • SignAndEncrypt : 모든 메시지는 서명되고 암호화된다.

    Security Policy

    사용할 보안 알고리즘 선택


    인증 방식을 선택한다. 인증이 미리 안되어 있을 경우 인증을 진행할 수 있으며 Server에서 신뢰할 수 있는 기기 등록은 직접해야 한다.

    • None : 이미 Client와 Server와 인증이 완료된 상태이며 인증 시 사용한 인증서와 개인키로 보안연결을 한다.
    • UserName : Server의 고유 username과 password 이용해 식별하여 인증한다.
    • Certificate : Server의 인증서로 식별하여 인증한다.

    Certificate인증서 텍스트를 입력한다.
    개인키 인증서 텍스트를 입력한다.
    user ID or passwordServer의 user 정보와 password 정보를 입력한다.

    ③ Tags에 저장할 tag를 입력한다.

    2) 사용시 주의사항

    ① machbase에 저장되는 시간 값은 OPC UA Server의 시간 값이다.

    ② rootNode를 사용할 경우 nodeID의 string 혹은 int 값이 tag name으로 사용된다.
         nodeID가 'ns=3;s=Sawtooth'라면 'Sawtooth'가 tag name으로 사용되고 tag 추가시 name 설정도 'Sawtooth'로 해주어야 한다.

    ③ 보안 연결 시 필요한 인증서와 개인키는 사용자가 소유하고 있어야 한다.

    ④ Tags에 입력된 Tag는 Settings에서 입력한 nodeID와 1:1 매칭이 되기 때문에 nodeID와 tag의 갯수가 같아야 한다. 

    ⑤ value의 경우 숫자형 데이터여야 한다. ( int, float )


    Table of Contents
    maxLevel2

    Modbus Taglet

    modbusTCP taglet은 modbus TCP /IP 연결을 지원하고 modbus client 역할을 하며 modbus server와 통신한다. 

    1) Taglet 등록

    ① taglet 등록 창에서 'modbusTCP'을 선택한다.

    ② Settings에서 아래의 값들을 입력한다.

    항목설명비고
    IP & PortModbus server의 IP 주소와 Port 번호
    server IDModbus server의 고유 아이디
    Device NameModbus server의 장치 이름
    readPeriod데이터를 읽어오는 주기(second)
    timeoutModbus server와 연결 시도 제한 시간
    ByteOrder바이트 배열 방법 (BIG Endian or LITTLE Endian)
    use EMC time데이터 발생 시간을 Modbus register에 저장된 값으로 사용할 것인지 EMC의 시간을 사용할 것인지 선택한다.
    Address데이터가 저장되어 있는 server의 주소
    size입력한 주소에서부터 몇 개의 word(2byte) 혹은 몇 개의 bit를 가져올 것인지 입력
    Function Code

    값을 읽어오기위해 사용하는 Function Code 입력

    ex) 4개의 Function Code 지원
    01 readCoils
    02 readDiscreateInputs
    03 readHoldingRegisters
    04 readInputRegisters


    value type데이터 type 선택
    ex) int16, uint16, int32, uint32, int64, uint64, float32, float64

    ③ Tags에 저장할 tag를 입력한다.

    2) 사용시 주의사항

    ① modbus register에 저장된 시간값을 사용하는 경우 시간값의 type은 int64이고 nano timestamp로 저장되어야 한다.

    ② Tags에 입력된 Tag는 Settings에서 입력한 modbus tag와 1:1 매칭이 되기 때문에 modbus tag와 tag의 갯수가 같아야 한다.

    MQTT Taglet

    MQTT taglet은 MQTT Client 역할을 하며 MQTT broker 와 통신한다.

    1) Taglet 등록

    ① taglet 등록 창에서 'mqtt'를 선택한다.

    ② Settings에서 아래의 값들을 입력한다.

    항목설명비고
    Broker Address

    broker의 주소를 입력한다.

    ex) 보안 옵션 없이 통신 : tcp://192.168.0.1:1883
           보안 통신 : ssl://192.168.0.1:1883


    Security

    보안 옵션

    • Anonymous : 보안옵션을 사용하지 않음
    • User : broker에서 설정한 UserID와 password로 보안 접속
      • User ID
      • password
    • Certificate : broker에서 설정한 인증서 정보로 보안 접속
      • CaCert : CA 인증서 경로
      • Cert : 위의 CA로 만들어진 인증서 경로
      • Private Key : 위 인증서의 개인키 경로

    Topic
    • MQTT topic 설정.
      • 2개의 data type 사용 가능
      • 2개의 wildcard 사용 가능
    • QoS설정 : 서비스의 질을 보장해주는 레벨 (0, 1, 2)
    • Tag Name or Json Value Name


    use "#" wildcarduse "+" wildcarduse not wildcard
    JSON
    • topic 설정 값이 /seoul/series/# 이고 발행되는 topic이 /seoul/series/sensor-1 일 때, 저장되는 tag name은 topic 설정시 입력한 tagName 유무에 따라 다르다.
      tagName 미입력 : _seoul_series_sensor-1
      tagName "S1" 입력 : S1_sensor-1
    • 값이 {"tagName" : "s1", "value" : 123} 일 때, "Json Value Name" 입력칸에 "${value}" 을 입력하여 해당 키의 값을 가져올 수 있다."tagName" 입력칸에 "${tagName}" 을 입력하여 해당 키의 값을 tag name으로 사용할 수 있다.
    raw
    • topic 설정 값이 /seoul/+/series /# 이고 발행되는 topic이 /seoul/series/sensorseonsor-1/series 일 때, 저장되는 tag name은 topic 설정시 입력한 tagName 유무에 따라 다르다.
      tagName 미입력 : _seoul_series_sensor-1
      tagName "S1" 입력 : S1_sensor-1
    • topic 설정 값이 /seoul/+/series 이고 발행되는 topic이 /seoul/seonsor-1/series 일 때, 저장되는 tag name은 "seonsor-1" 이다.
      "+" wildcard 에 들어오는 하나의 문자열이 tag name이 된다.
    • topic 설정 값이 /seoul/sensor-1 이고 발행되는 topic이 /seoul/sensor-1 이고 설정한 tagName이 sensor1 일 때, tag name 은 sensor1 이다.

    ③ ALL TAG 선택 시 MQTT 설정탭에서 설정한 또는 설정된 tag name을 사용한다.

    ④ Warning 또는 Error Range 사용 시 MQTT 설정탭에서 설정한 또는 설정된 tag name을 Tags 탭에 설정해줘야 한다.

    2) 사용시 주의사항

    ① Subscribe 기능만 제공한다.

    RestAPI Taglet

    RestAPI는 Taglet을 사용하지 않고 EMC에 API를 이용하여 Data를 전송하여 Machbase에 저장하는 방법이다.

    1) Taglet 등록

    ① taglet 등록 창에서 'directAPI' 선택

    ② Date Format 입력. 입력하지 않으면 nano second timestamp를 사용하는 것으로 판단한다.

    ③ Tags에 저장할 Tag 입력. 등록되지 않은 Tag는 데이터를 전송해도 저장되지 않는다.

    2) 사용 방법

    • URL : 등록한 EMC의 host + "/api/v1/edge/direct" ( ex. http://192.168.0.1:50001/api/v1/edge/direct )
    • Method : POST
    • Data Format : json 형식
    Code Block{ "date_format"
    • "seonsor-1" 이다.
      "+" wildcard 에 들어오는 하나의 문자열이 tag name이 된다.
    • 값이 {"tagName" : "s1", "value" : 123} 일 때, "Json Value Name" 입력칸에 "${value}" 을 입력하여 해당 키의 값을 가져올
      수 있다.
    • topic 설정 값이 /seoul/sensor-1 이고 발행되는 topic이 /seoul/sensor-1 이고 설정한 tagName이 sensor1 일 때, tag name 은 sensor1 이다.
    • 값이 {"tagName" : "s1", "value" : 123} 일 때, "Json Value Name" 입력칸에 "${value}" 을 입력하여 해당 키의 값을 가져올 수 있다.
      "tagName" 입력칸에 "${tagName}" 을 입력하여 해당 키의 값을 tag name으로 사용할 수 있다.
    raw
    • topic 설정 값이 /seoul/series/# 이고 발행되는 topic이 /seoul/series/sensor-1 일 때, 저장되는 tag name은 topic 설정시 입력한 tagName 유무에 따라 다르다.
      tagName 미입력 : _seoul_series_sensor-1
      tagName "S1" 입력 : S1_sensor-1
    • topic 설정 값이 /seoul/+/series 이고 발행되는 topic이 /seoul/seonsor-1/series 일 때, 저장되는 tag name은 "seonsor-1" 이다.
      "+" wildcard 에 들어오는 하나의 문자열이 tag name이 된다.
    • topic 설정 값이 /seoul/sensor-1 이고 발행되는 topic이 /seoul/sensor-1 이고 설정한 tagName이 sensor1 일 때, tag name 은 sensor1 이다.

    2) 사용시 주의사항

    ① Subscribe 기능만 제공한다.

    ② All Tag를 선택하면 MQTT 설정탭에서 설정한 또는 설정된 tag name을 사용한다.
         단, Event(warnging, error)를 사용하려면 tag name을 Tags에 입력해야 한다.

    RestAPI Taglet

    RestAPI는 Taglet을 사용하지 않고 EMC에 API를 이용하여 Data를 전송하여 Machbase에 저장하는 방법이다.

    1) Taglet 등록

    ① taglet 등록 창에서 'directAPI' 선택

    ② Date Format 입력. 입력하지 않으면 nano second timestamp를 사용하는 것으로 판단한다.

    ③ Tags에 저장할 Tag 입력. 등록되지 않은 Tag는 데이터를 전송해도 저장되지 않는다.

    2) 사용 방법

    • URL : 등록한 EMC의 host + "/api/v1/edge/direct" ( ex. http://192.168.0.1:50001/api/v1/edge/direct )
    • Method : POST
    • Data Format : json 형식
    Code Block
    {
    	"date_format" : date Format ( ex. "YYYY-MM-DD HH24:MI:SS" ),
    	"data" : [
    			   {
    				"name": Tag명,
    				"time": datetime ( timestamp의 경우 문자열로 변환 ),
    				"value": value
    			   },
    			...
    			   {}
    		    ]
    }
    

    Json 예시

    Code Block
    titleDate Format 지정
    collapsetrue
    {
        "date_format": "YYYY-MM-DD HH24:MI:SS",
        "data": [
            {
                "name": "X1",
                "time": "2020-09-23 18:28:30",
                "value": 3125.5
            },
            {
                "name": "X1",
                "time": "2020-09-23 18:28:31",
                "value": 3125.3
            },
            {
                "name": "X1",
                "time": "2020-09-23 18:28:32",
                "value": 3126.1
            }
        ]
    }


    Code Block
    titleDate Format 미지정 (nano timestamp 사용)
    collapsetrue
    {
        "date_format": "",
        "data": [
            {
                "name": "X2",
                "time": "1599199851564",
                "value": 3631
            },
            {
                "name": "X2",
                "time": "1599199851565",
                "value": 3778
            },
            {
                "name": "X2",
                "time": "1599199851566",
                "value": 2453
            }
        ]
    }


    Code Block
    titleTime 값 미 포함 (API 도착시간 일괄 사용)
    collapsetrue
    {
        "date_format": "",
        "data": [
            {
                "name": "X3",
                "value": 3125
            },
            {
                "name": "X3",
                "value": 3126
            },
            {
                "name": "X3",
                "value": 3127
            }
        ]
    }

    2) 사용시 주의사항

    ① RestAPI Taglet은 하나의 EMC 당 1개씩만 사용 가능하다.

    ② name, value은 값이 반드시 존재해야 한다.

    ③ time의 경우는 없으면 등록할 때 저장한 Date Format에 맞춰 API가 도착한 시간으로 저장한다.

    ④ time 값은 반드시 문자열이어야 한다. timestamp 의 경우에도 문자열로 변환하여 전송해야 정상적으로 저장이 가능하다.

    ⑤ value의 경우 숫자형 데이터여야 한다. ( int, float )
      ]
    }

    3) 사용시 주의사항

    ① RestAPI Taglet은 하나의 EMC 당 1개씩만 사용 가능하다.

    ② name, value은 값이 반드시 존재해야 한다.

    ③ time의 경우는 없으면 등록할 때 저장한 Date Format에 맞춰 API가 도착한 시간으로 저장한다.

    ④ time 값은 반드시 문자열이어야 한다. timestamp 의 경우에도 문자열로 변환하여 전송해야 정상적으로 저장이 가능하다.

    ⑤ value의 경우 숫자형 데이터여야 한다. ( int, float )

    CSV TCP Taglet

    CSV TCP taglet은 EMC에 보낼 Data를 CSV 형식으로 처리하는 Taglet으로 TCP 통신을 통해 처리한다.

    1) Taglet 등록

    ① taglet 등록 창에서 'csvtcp' 선택

    ② General의 input을 작성

    항목설명비고
    SeparatorCSV Data의 구분자를 입력한다.기본값 : 콤마(,)
    Time Column

    Data에 Time Data가 들어있는 위치를 입력 (1부터 시작).

    Time의 Data가 맨 처음 column에 있다면 1, Time Data가 없으면 0을 입력한다.

    기본값 : 0
    Date Format

    Data에 Time Data가 있을 경우, Time Data에 맞도록 format을 작성한다.

    ex) YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn

    입력하지 않는 경우 Data 도착 시간 사용.

    기본값 : ""

    (Nano Timestamp로 인식)

    CSV Header

    CSV Data의 Header 입력. 각 column의 구분자는 ,로 작성한다.

    Data에 Header가 없어도 무조건 작성해야한다.

    ex) name,time,value


    Use First Line Header

    Data에 Header 값이 포함될 것인지를 선택.

    전송되는 Data의 첫 줄이 Header면 체크, 아니면 체크를 해제한다.

    기본값 : N

    ③ Settings의 input을 작성

    항목설명비고
    Ip센서와 TCP 통신을 할 때 사용하는 IP
    Port센서와 TCP 통신을 할 때 사용하는 PORT

    ④ Machbase에 저장할 Tag 정보를 입력

    2) 사용시 주의사항

    CSVTCP를 사용하기 위한 CSV Data는 다음과 같은 형식이어야 한다.

    timeZ1Z2Z3Z4Z5
    2020-01-01 01:01:011020304050
    2020-01-01 01:01:021121314151
    2020-01-01 01:01:031222324252

    ① CSV Header가 들어있는 첫번째 row를 제외하면 모든 데이터는 값이어야 한다. (시간값 or 해당 tag의 value)

    ② CSV Header는 time 혹은 Tag Name으로 이루어져야 한다.

    ③ Tag를 입력할 때 Machbase에 저장할 Tag만 등록하면 된다.

    ④ 위 데이터를 통한 Taglet 등록 예시 (Machbase에 저장할 Tag는 Z1,Z3,Z5로 가정)

    항목입력 값
    Separator,
    Time Column1
    Date FormatYYYY-MM-DD HH24:MI:SS
    CSV Headertime,Z1,Z2,Z3,Z4,Z5
    Use First Line Header체크
    TagsZ1, Z3, Z5만 등록

    CSV FILE Taglet

    CSV TCP taglet은 EMC에 보낼 Data를 CSV 형식으로 처리하는 Taglet으로 특정 디렉터리에 저장된 CSV File을 읽어서 처리한다.

    1) Taglet 등록

    ① taglet 등록 창에서 'csvtcp' 선택

    ② General의 input을 작성

    항목설명비고
    SeparatorCSV Data의 구분자를 입력한다.기본값 : 콤마(,)
    Time Column

    Data에 Time Data가 들어있는 위치를 입력 (1부터 시작).

    Time의 Data가 맨 처음 column에 있다면 1, Time Data가 없으면 0을 입력한다.

    기본값 : 0
    Date Format

    Data에 Time Data가 있을 경우, Time Data에 맞도록 format을 작성한다.

    ex) YYYY-MM-DD HH24:MI:SS mmm:uuu:nnn

    입력하지 않는 경우 Data 도착 시간 사용.

    기본값 : ""

    (Nano Timestamp로 인식)

    CSV Header

    CSV Data의 Header 입력. 각 column의 구분자는 ,로 작성한다.

    Data에 Header가 없어도 무조건 작성해야한다.

    ex) name,time,value


    Use First Line Header

    Data에 Header 값이 포함될 것인지를 선택.

    전송되는 Data의 첫 줄이 Header면 체크, 아니면 체크를 해제한다.

    기본값 : N

    ③ Settings의 input을 작성

    항목설명비고
    Directory Full PathFile이 저장되는 경로를 작성한다.
    File Name Rule

    파일 이름 규칙을 작성한다. 반복되는 문자 외에 변경되는 부분은 *로 표기한다.

    ex) fileName_*


    ④ Machbase에 저장할 Tag 정보를 입력

    2) 사용시 주의사항

    ① 기본적인 주의사항은 CSVTCP와 동일하다.

    ② Directory Full Path의 경우 /home/machbase/savefile 과 같이 전체 경로를 입력해야한다.

    ③ File Name Rule은 규칙있는 이름을 가진 파일만 읽어 데이터를 전송할 때 사용한다.
         지정한 디렉터리 내에 저장된 모든 파일을 읽어서 저장해야하는 경우는 규칙을 작성하지 않는다.