MergenHub Envest
Ana sayfa/Dokümanlar/Kullanıcı Kılavuzu (uygulama içi, tam)

JSON Property Referansı

Ortak Anahtarlar (common.*)

Her nesne (kanal/cihaz/tag) gövdesinde ortak alanlar. Property adları endüstriyel standartla birebirdir (interop).

common.ALLTYPES_NAMENesne adı (zorunlu). Kanal/cihaz/tag adı.
common.ALLTYPES_DESCRIPTIONAçıklama (opsiyonel).
PROJECT_IDİyimser eşzamanlılık damgası. Her GET yanıtında gelir; PUT'ta geri gönderilir. Uyuşmazsa 409.
FORCE_UPDATEtrue → PROJECT_ID kontrolü atlanır (zorla yaz). DataExchanger tipi istemciler kullanır.
Not servermain.CHANNEL_UNIQUE_ID, servermain.DEVICE_UNIQUE_ID, servermain.DEVICE_CHANNEL_ASSIGNMENT, PROJECT_ID server-yönetimli (read-only)'dir — POST/PUT'ta göndersen de sunucu belirler.

Kanal Property’leri

servermain.MULTIPLE_TYPES_DEVICE_DRIVERSürücü adı (bkz. Sürücü Adları). Kanal başına bir kez.
servermain.CHANNEL_UNIQUE_IDOtomatik benzersiz kimlik (read-only).
servermain.CHANNEL_WRITE_OPTIMIZATIONS_METHODYazma optimizasyon yöntemi (yinelenenleri ele / en son yaz).
servermain.CHANNEL_WRITE_OPTIMIZATIONS_DUTY_CYCLETur başına en fazla yazma sayısı.
servermain.CHANNEL_NON_NORMALIZED_FLOATING_POINT_HANDLINGNaN/Inf float işleme (ör. sıfırla).

Örnek — kanal oluştur

POST /config/v1/project/channels
{
  "common.ALLTYPES_NAME": "Modbus_1",
  "servermain.MULTIPLE_TYPES_DEVICE_DRIVER": "Modbus TCP/IP Ethernet"
}

Cihaz Property’leri

servermain.DEVICE_ID_STRINGCihaz adresi/kimliği — sürücüye özel (bkz. Sürücü Adları).
servermain.DEVICE_MODELModel (sürücüye özel; ör. S7-1200).
servermain.DEVICE_DATA_COLLECTIONtrue/false — cihaz taraması aç/kapa.
servermain.DEVICE_SIMULATEDtrue → sentetik veri (donanımsız).
servermain.DEVICE_SCAN_MODE / ..._RATE_MSTarama modu + hız (ms).
servermain.DEVICE_REQUEST_TIMEOUT_MILLISECONDSİstek zaman aşımı (ms).
servermain.DEVICE_RETRY_ATTEMPTSZaman aşımı öncesi deneme (bağlantı+istek).
servermain.DEVICE_INTER_REQUEST_DELAY_MILLISECONDSİstekler arası bekleme (ms).
servermain.DEVICE_AUTO_DEMOTION_*Başarısızlıkta geri-çekilme: ENABLE / DEMOTE_AFTER_SUCCESSIVE_TIMEOUTS / PERIOD_MS / DISCARD_WRITES.
servermain.DEVICE_TAG_GENERATION_*Otomatik tag üretimi: ON_STARTUP / DUPLICATE_HANDLING / GROUP / ALLOW_SUB_GROUPS.

Örnek — cihaz oluştur

POST /config/v1/project/channels/Modbus_1/devices
{
  "common.ALLTYPES_NAME": "1001",
  "servermain.MULTIPLE_TYPES_DEVICE_DRIVER": "Modbus TCP/IP Ethernet",
  "servermain.DEVICE_ID_STRING": "192.168.1.50.1",
  "servermain.DEVICE_DATA_COLLECTION": true,
  "servermain.DEVICE_REQUEST_TIMEOUT_MILLISECONDS": 1000,
  "servermain.DEVICE_RETRY_ATTEMPTS": 3
}

Tag Property’leri & Ölçekleme

servermain.TAG_ADDRESSCihaz adresi (sürücüye özel; ör. Modbus 400001).
servermain.TAG_DATA_TYPEVeri tipi (Boolean/Word/Short/DWord/Long/Float/Double/String…).
servermain.TAG_READ_WRITE_ACCESS0 = Read Only, 1 = Read/Write.
servermain.TAG_SCAN_RATE_MILLISECONDSTag tarama hızı (ms).
servermain.TAG_SCALING_TYPE0=yok, 1=lineer, 2=karekök…
..._RAW_LOW / _RAW_HIGHHam cihaz aralığı.
..._SCALED_LOW / _SCALED_HIGHMühendislik aralığı.
..._SCALED_DATA_TYPE / _CLAMP_LOW / _CLAMP_HIGH / _NEGATE_VALUEÖlçekli tip, sınırlama, negatifleme.

Örnek — tag'ler ekle (batch, dizi)

POST /config/v1/project/channels/Modbus_1/devices/1001/tags
[
  { "common.ALLTYPES_NAME": "Basinc", "servermain.TAG_ADDRESS": "400001",
    "servermain.TAG_DATA_TYPE": "Float", "servermain.TAG_READ_WRITE_ACCESS": 0 },
  { "common.ALLTYPES_NAME": "Setpoint", "servermain.TAG_ADDRESS": "400010",
    "servermain.TAG_DATA_TYPE": "Float", "servermain.TAG_READ_WRITE_ACCESS": 1 }
]
Uyarı TAG_READ_WRITE_ACCESS tersine çevirmeyin: 0=RO, 1=RW. Yanlış değer setpoint'leri salt-okunur yapıp yazmayı engeller.

Sürücü Adları & DEVICE_ID_STRING

Kanal MULTIPLE_TYPES_DEVICE_DRIVER ve cihaz DEVICE_ID_STRING değerleri:

Modbus TCP/IP Ethernet<IP>.unit ör. 192.168.1.50.1; unit'siz <192.168.1.50>
Modbus RTU Serial / Modbus ASCII SerialCOM portu + unit (kanal seri ayarları).
Siemens S7 TCP/IPIP; Rack/Slot model/ID'de. Ör. 10.0.0.5
OMRON FINS EthernetIP (+FINS SA1/DA1 ayarları).
OMRON NJ EthernetIP (EtherNet/IP CIP sembolik).
DNP Client EthernetIP:port,masterAddr,slaveAddr
IEC 60870-5-104 ClientIP:2404,commonAddr
IEC 61850 MMS ClientIP:102
MQTT Clientbroker host/port.
SimulatorID gerekmez.

Toplu İşlem & Durum Kodları

Tag'ler dizi olarak POST edilirse toplu (batch) işlenir. HTTP durum kodu sonuca göre:

201 CreatedHepsi başarılı.
207 Multi-StatusKısmi — bazıları başarılı, bazıları hatalı (gövdede tek tek sonuç).
400 Bad RequestHepsi hatalı.
409 ConflictPROJECT_ID uyuşmazlığı (FORCE_UPDATE ile atlanır).
İpucu Geçersiz tag'ler atlanır (lenient import); yanıt/olay günlüğünde atlananların nedeni raporlanır. Gerçek export'lar (binlerce tag) tek istekte içe aktarılabilir.
Ayrıca bkzREST APIYetkiler