Ortak Anahtarlar (common.*)
Her nesne (kanal/cihaz/tag) gövdesinde ortak alanlar. Property adları endüstriyel standartla birebirdir (interop).
common.ALLTYPES_NAME | Nesne adı (zorunlu). Kanal/cihaz/tag adı. |
common.ALLTYPES_DESCRIPTION | Açı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_UPDATE | true → 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_DRIVER | Sürücü adı (bkz. Sürücü Adları). Kanal başına bir kez. |
servermain.CHANNEL_UNIQUE_ID | Otomatik benzersiz kimlik (read-only). |
servermain.CHANNEL_WRITE_OPTIMIZATIONS_METHOD | Yazma optimizasyon yöntemi (yinelenenleri ele / en son yaz). |
servermain.CHANNEL_WRITE_OPTIMIZATIONS_DUTY_CYCLE | Tur başına en fazla yazma sayısı. |
servermain.CHANNEL_NON_NORMALIZED_FLOATING_POINT_HANDLING | NaN/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_STRING | Cihaz adresi/kimliği — sürücüye özel (bkz. Sürücü Adları). |
servermain.DEVICE_MODEL | Model (sürücüye özel; ör. S7-1200). |
servermain.DEVICE_DATA_COLLECTION | true/false — cihaz taraması aç/kapa. |
servermain.DEVICE_SIMULATED | true → sentetik veri (donanımsız). |
servermain.DEVICE_SCAN_MODE / ..._RATE_MS | Tarama modu + hız (ms). |
servermain.DEVICE_REQUEST_TIMEOUT_MILLISECONDS | İstek zaman aşımı (ms). |
servermain.DEVICE_RETRY_ATTEMPTS | Zaman 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_ADDRESS | Cihaz adresi (sürücüye özel; ör. Modbus 400001). |
servermain.TAG_DATA_TYPE | Veri tipi (Boolean/Word/Short/DWord/Long/Float/Double/String…). |
servermain.TAG_READ_WRITE_ACCESS | 0 = Read Only, 1 = Read/Write. |
servermain.TAG_SCAN_RATE_MILLISECONDS | Tag tarama hızı (ms). |
servermain.TAG_SCALING_TYPE | 0=yok, 1=lineer, 2=karekök… |
..._RAW_LOW / _RAW_HIGH | Ham cihaz aralığı. |
..._SCALED_LOW / _SCALED_HIGH | Mü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 Serial | COM portu + unit (kanal seri ayarları). |
| Siemens S7 TCP/IP | IP; Rack/Slot model/ID'de. Ör. 10.0.0.5 |
| OMRON FINS Ethernet | IP (+FINS SA1/DA1 ayarları). |
| OMRON NJ Ethernet | IP (EtherNet/IP CIP sembolik). |
| DNP Client Ethernet | IP:port,masterAddr,slaveAddr |
| IEC 60870-5-104 Client | IP:2404,commonAddr |
| IEC 61850 MMS Client | IP:102 |
| MQTT Client | broker host/port. |
| Simulator | ID gerekmez. |
Toplu İşlem & Durum Kodları
Tag'ler dizi olarak POST edilirse toplu (batch) işlenir. HTTP durum kodu sonuca göre:
| 201 Created | Hepsi başarılı. |
| 207 Multi-Status | Kısmi — bazıları başarılı, bazıları hatalı (gövdede tek tek sonuç). |
| 400 Bad Request | Hepsi hatalı. |
| 409 Conflict | PROJECT_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.