Bu rehber en yaygın kullanıcı sorunlarını kapsar: protokol adres formatları ve veri tipi uyuşmazlıkları.
Hızlı Tanı
Yanlış veya eksik değerler alıyorsanız önce şunları kontrol edin:
| Belirti | Olası Neden | Git |
|---|---|---|
| Tüm değerler 0 | Yanlış adres formatı | Adres Sözdizimi |
| Çok büyük/küçük sayılar (örn. 1.234e+38) | Byte sırası uyuşmazlığı | Byte Sıralaması |
| Pozitif beklenen değerde negatif | Signed/Unsigned tipi | Veri Tipi Uyuşmazlığı |
| Rastgele görünen değerler | Yanlış veri tipi boyutu | Veri Tipi Uyuşmazlığı |
| "Invalid address" hatası | Söz dizimi hatası | Adres Sözdizimi |
| Timeout hataları | Bağlantı sorunu | Gateway Bağlanmıyor |
Adres Sözdizimi (Protokole Göre)
Modbus TCP
Datasheet adreslerinden 1 çıkarmayı unutmak. Modbus 0 tabanlı adresleme kullanır.
| Datasheet | Function Code | Proxus Adresi |
|---|---|---|
40001 | FC03 (Holding Register) | x=3;0 |
40100 | FC03 (Holding Register) | x=3;99 |
30001 | FC04 (Input Register) | x=4;0 |
30050 | FC04 (Input Register) | x=4;49 |
00001 | FC01 (Coil) | x=1;0 |
10001 | FC02 (Discrete Input) | x=2;0 |
Dönüşüm Formülü:
Proxus Address = Datasheet Address - Base - 1
40001 serisi → Base = 40000, x=3
30001 serisi → Base = 30000, x=4Örnek: Cihaz manual'i "Speed at register 40201" diyorsa
- 40000 çıkar → 201
- 1 çıkar (0-taban) → 200
- Sonuç:
x=3;200
Siemens S7
Word offset yerine Byte offset kullanmak. Siemens byte tabanlı adresleme kullanır!
| TIA Portal | Proxus Adresi | Veri Tipi |
|---|---|---|
DB1.DBX0.0 | DB1.0.0 | Bool |
DB1.DBB10 | DB1.10 | Byte |
DB1.DBW10 | DB1.10 | Short/UShort |
DB1.DBD10 | DB1.10 | Int/Float |
M0.0 | M0.0 | Bool |
MW100 | MW100 | Short |
I0.0 | I0.0 | Bool |
Q0.0 | Q0.0 | Bool |
Yaygın Hatalar:
| Yanlış | Doğru | Sorun |
|---|---|---|
DB1.DBD0 | DB1.0 | DBD ön ekini kaldırın |
DB1.W10 | DB1.10 | Byte offset kullanın, tipi Short yapın |
DB1.10.8 | DB1.11.0 | Bitler 0-7 arasıdır, 8 için bir sonraki byte |
OPC UA
Namespace index (ns=) eklemeyi unutmak.
| Format | Örnek |
|---|---|
| String NodeId | ns=2;s=Channel1.Device1.Tag1 |
| Numeric NodeId | ns=3;i=1001 |
| Hierarchical | ns=2;s=PLC/Temperature |
İpucu: Doğru Node ID'leri kopyalamak için UaExpert kullanın.
Allen-Bradley
| Adres Tipi | Format | Örnek |
|---|---|---|
| Tag Name | Doğrudan isim | Program:MainProgram.MyTag |
| Array Element | [index] | MyArray[5] |
| UDT Member | .member | Motor1.Speed |
Veri Tipi Uyuşmazlığı
Yaygın Belirtiler ve Çözümler
| Belirti | Neden | Çözüm |
|---|---|---|
| Değer beklenenin yarısı/iki katı | Yanlış tip boyutu (16 vs 32-bit) | Short ↔ Int değiştirin |
| Pozitif beklenen değer negatif | Signed/Unsigned | Short yerine UShort kullanın |
| Ondalık kaybolur (10.5 → 105) | Integer yerine Float kullanılmalı | Tipi Float yapın |
| Çok büyük sayılar (3.4e+38) | Int yanlışlıkla Float okunuyor | Float yerine Int |
| Değer 65535 veya -32768'e takılı | Yanlış tipten taşma | Short yerine Int |
Tip Boyut Referansı
| Proxus Tipi | Boyut | Aralık |
|---|---|---|
| Bool | 1 bit | true/false |
| Byte | 8 bit | 0 - 255 |
| Short | 16 bit | -32,768 - 32,767 |
| UShort | 16 bit | 0 - 65,535 |
| Int | 32 bit | -2.1 milyar - 2.1 milyar |
| UInt | 32 bit | 0 - 4.3 milyar |
| Float | 32 bit | ±3.4e38 (7 hane) |
| Double | 64 bit | ±1.7e308 (15 hane) |
Modbus Register Sayısı
| Tip | Kullanılan Register |
|---|---|
| Short/UShort | 1 register (16 bit) |
| Int/UInt/Float | 2 register (32 bit) |
| Long/Double | 4 register (64 bit) |
Cihaz manual'lerinde "2 registers" veya "32-bit" gibi ifadeler olur. Proxus tipini buna göre seçin.
Byte Sıralama Sorunları
Çok baytlı değerler (Int, Float, Double) üreticiye göre farklı byte sıralarıyla saklanabilir.
Yanlış Byte Sırası Belirtileri
- Float değerler aşırı büyük (örn.
1.234e+38) veya çok küçük (1.4e-45) - Integer değerler anlamsız (örn. 16777216 yerine 1)
- Küçük değişimlerde değerler aşırı dalgalanır
Byte Sırası Seçenekleri
| Ayar | İsim | Byte Dizilimi | Yaygın Cihazlar |
|---|---|---|---|
ABCD | Big Endian | 12 34 56 78 | Çoğu PLC, Siemens |
DCBA | Little Endian | 78 56 34 12 | Bazı sensörler |
BADC | Mid-Big | 34 12 78 56 | Bazı enerji sayaçları |
CDAB | Mid-Little | 56 78 12 34 | ABB, bazı VFD'ler |
Doğru Ayarı Bulma
- Bilinen bir değer yazın (örn. register'a
1.0) - Proxus yanlış okursa byte sırası ayarını değiştirin
1234.5678gibi ayırt edici değerlerle doğrulayın
Proxus'ta Byte Sırası Ayarı
Device Profile bağlantı parametrelerinde DataFormat alanını ayarlayın:
- Veri Yönetimi > Device Profiles
- Profilinizi seçip Connection Parameters bölümüne gidin
- DataFormat değerini
ABCD,DCBA,BADCveyaCDAByapın
Modbus TCP cihazlarında DataFormat doğrudan bağlantı ayarlarında bulunur. isStringReverse gibi diğer seçenekler de string byte sıralamasını etkileyebilir.
Protokol Bazlı Hatalar
Modbus Hataları
| Hata | Anlamı | Çözüm |
|---|---|---|
Illegal Function (01) | Function code desteklenmiyor | Doğru FC kullanın (x=1,2,3,4) |
Illegal Data Address (02) | Register yok | Manual'daki register numarasını kontrol edin |
Illegal Data Value (03) | Değer aralık dışı | Register için min/max kontrol edin |
Gateway Path Unavailable (0A) | Yanlış Slave ID | Station parametresini doğrulayın |
Timeout | Yanıt yok | IP, port ve ağı kontrol edin |
Siemens S7 Hataları
| Hata | Anlamı | Çözüm |
|---|---|---|
Connection refused | PUT/GET kapalı | TIA Portal'da etkinleştirin |
Address not found | DB yok | DB oluşturun veya numarayı doğrulayın |
Access denied | Block korumalı | TIA'da korumayı kaldırın |
Invalid slot | Yanlış rack/slot | S7-300/400: Slot 2, S7-1200/1500: Slot 1 |
OPC UA Hataları
| Hata | Anlamı | Çözüm |
|---|---|---|
BadNodeIdUnknown | Node bulunamadı | UaExpert ile Node ID'yi doğrulayın |
BadCertificateUntrusted | Sertifika reddedildi | Trusted klasörüne ekleyin |
BadUserAccessDenied | Yanlış kimlik bilgisi | Kullanıcı adı/şifreyi kontrol edin |
BadSecurityModeRejected | Güvenlik uyumsuzluğu | Sunucu güvenlik modu ile eşleştirin |
Hata Kodu Referansı
Aşağıdaki kodlar Proxus loglarında görebileceğiniz gerçek hata kodlarıdır. PLC iletişimiyle ilgili belirli sorunları ifade eder.
Modbus Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
ModbusCRCCheckFailed | CRC checksum uyuşmazlığı | Kablo, baud rate ve parity ayarlarını kontrol edin |
ModbusLRCCheckFailed | LRC checksum uyuşmazlığı (ASCII) | ASCII mod ayarlarını doğrulayın |
ModbusAsciiFormatCheckFailed | Geçersiz ASCII çerçevesi | Cihazın Modbus ASCII kullandığını kontrol edin |
ModbusTcpFunctionCodeNotSupport | Function code desteklenmiyor | Doğru FC kullanın (FC01-04) |
ModbusTcpFunctionCodeOverBound | Register adresi aralık dışı | Adresin cihazda var olduğunu doğrulayın |
ModbusBitIndexOverstep | Bit index 0-15 sınırı aşıldı | Word içi bit index kullanın |
ModbusAddressMustMoreThanOne | Geçersiz başlangıç adresi | Offset açıkken adres > 0 olmalı |
Siemens S7 Hata Kodları {#s7-errors}
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
SiemensError000A | Nesne mevcut değil | DB bloğu yok; TIA'da oluşturun |
SiemensDataLengthCheckFailed | Blok uzunluğu uyuşmuyor | PUT/GET açın; "Optimized block access" kapatın |
SiemensReadLengthOverPlcAssign | Okuma PLC limitini aşıyor | Okuma uzunluğunu azaltın veya bölün |
SiemensReadLengthMustBeEvenNumber | Byte uzunluğu tek sayı | Word tipleri için çift olmalı |
SiemensDBAddressNotAllowedLargerThan255 | DB numarası > 255 | S7-300/400 için 1-255 kullanın |
SiemensWriteError | Yazma hatası | Yazma yetkisi ve adresi kontrol edin |
SiemensError0006 | Desteklenmeyen veri tipi | Desteklenen tipleri kullanın (Bool, Int, Real vb.) |
Mitsubishi/Melsec Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
MelsecError02 | Geçersiz cihaz aralığı | PLC'de adresin varlığını doğrulayın |
MelsecErrorC056 | Maksimum adres aşıldı | Adresi azaltın veya geniş bellek kullanın |
MelsecErrorC05F | PLC isteği reddetti | Network number ve PC number'ı kontrol edin |
MelsecErrorC051_54 | Okuma/yazma noktası aralık dışı | Nokta sayısını azaltın |
MelsecErrorC05E | İletişim timeout | Timeout artırın veya ağı kontrol edin |
MelsecFxCrcCheckFailed | CRC kontrolü başarısız | Serial ayarlarını (baud/parity) doğrulayın |
MelsecFxReceiveZero | PLC'den yanıt yok | Bağlantı ve PLC gücünü kontrol edin |
MelsecCurrentTypeNotSupportedBitOperate | Bit işlemi desteklenmiyor | Bu veri tipi için word kullanın |
Omron FINS Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
OmronStatus20 | Bağlantı limiti aşıldı | Eş zamanlı bağlantıları azaltın |
OmronStatus21 | Düğüm zaten bağlı | Mevcut bağlantıyı kapatın |
OmronStatus22 | Korunan network düğümü | CX-Programmer'da düğümü yapılandırın |
OmronStatus23 | Düğüm adresi aralık dışı | 1-126 arası geçerli adres kullanın |
OmronStatus24 | Düğüm zaten kullanımda | Farklı düğüm adresi seçin |
OmronStatus25 | Tüm düğümler kullanımda | Network'te bağlantıları boşaltın |
OmronReceiveDataError | Veri alma hatası | FINS portu (9600) ve DA1/SA1'i kontrol edin |
Allen-Bradley Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
IOI could not be deciphered | Tag yolu geçersiz | Tag adı ve yol sözdizimini kontrol edin |
Tag does not exist | Tag PLC'de yok | Studio 5000'de tag yazımını kontrol edin |
Insufficient memory | Yanıt buffer taşması | Okuma boyutunu azaltın veya bölün |
Forward Open failed | CIP bağlantısı reddedildi | Slot, IP ve bağlantı limitlerini kontrol edin |
Panasonic Mewtocol Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
PanasonicMewStatus40 | BCC hatası (checksum) | Serial kablo ve kablolamayı kontrol edin |
PanasonicMewStatus41 | WACK hatası - buffer dolu | İstek sıklığını düşürün |
PanasonicMewStatus60 | Parametre hatası | Komut formatı ve değerleri kontrol edin |
PanasonicMewStatus61 | BCD taşması | Veri formatını doğrulayın (BCD/HEX) |
PanasonicMewStatus63 | PLC mod hatası | PLC'yi doğru moda alın |
PanasonicMewStatus65 | Koruma hatası | Yazma korumasını kapatın |
Keyence Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
KeyenceNanoE0 | Cihaz/adres aralık dışı | Cihaz numarası ve bankayı kontrol edin |
KeyenceNanoE1 | Komut desteklenmiyor | Desteklenen CPU komutlarını kullanın |
KeyenceSR2000Error00 | Tanımsız komut | Komut formatını kontrol edin |
KeyenceSR2000Error20 | Mevcut mod hatası | Uygun moda geçin |
KeyenceSR2000Error21 | Buffer dolu | Bekleyip tekrar deneyin |
Yokogawa Link Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
YokogawaLinkError01 | CPU numarası aralık dışı | CPU 1-4 kullanın |
YokogawaLinkError02 | Komut yok | Komut yazımını kontrol edin |
YokogawaLinkError03 | Cihaz adı yok | Programdaki cihazı doğrulayın |
YokogawaLinkError42 | Checksum farkı | Kablo ve bağlantıları kontrol edin |
YokogawaLinkError44 | Yanıt timeout | Timeout artırın; kablolamayı kontrol edin |
Beckhoff ADS Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
ADS Error 1793 | Servis desteklenmiyor | TwinCAT sürümünü kontrol edin |
ADS Error 1808 | Sembol bulunamadı | PLC değişken adını doğrulayın |
Target machine not found | Hedefe rota yok | AmsNetId ve route'u kontrol edin |
Symbol download required | TPY dosyası eski | Sembolleri yeniden indirin |
Delta DVP Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
Illegal address | Adres geçersiz | Cihaz bellek haritasını kontrol edin |
Receive check failed | Checksum hatası | Serial ayarları doğrulayın |
Response format error | Yanlış response | Protokol modunu kontrol edin |
XINJE Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
Address format error | Adres formatı hatalı | D100, M0 gibi doğru format kullanın |
Protocol type error | Yanlış protokol modu | Protokolü PLC serisiyle eşleştirin |
GE SRTP Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
Not support bit read/write | Bit operasyonu engelli | Word operasyonu kullanın |
Address cannot be 0 | Başlangıç adresi geçersiz | Adres 1'den başlamalı |
Length must be even | Tek byte uzunluğu | Çift byte uzunluğu kullanın |
Fuji SPB Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
FujiSpbStatus01 | ROM'a yazma denemesi | Bellek alanını kontrol edin |
FujiSpbStatus02 | Tanımsız komut | Komut formatını doğrulayın |
FujiSpbStatus03 | Veri çelişkisi | Parametre değerlerini kontrol edin |
LSIS Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
LsisCnet0003 | Blok sayısı 16'yı aşıyor | İstekleri bölün |
LsisCnet1232 | Max 60 word aşıldı | Word sayısını azaltın |
LsisCnet0007 | Veri tipi geçersiz | X, B, W, D, L tiplerini kullanın |
YASKAWA YRC Robot Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
YRC1010 | Komut istisnası | Komut sözdizimini kontrol edin |
YRC2120 | Veri okunamıyor | Değişken erişimini doğrulayın |
YRC3010 | Servo gücü kapalı | Servo gücünü açın |
YRC5110 | Sözdizimi hatası | Komutu kontrol edin |
Robot in action | Robot meşgul | Hareket bitmesini bekleyin |
Hold is stopping | Hold durumunda | Hold sinyalini kaldırın |
Fanuc CNC Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
Protocol error | İletişim hatası | FOCAS kütüphanesini kontrol edin |
Invalid parameter | Parametre aralık dışı | Parametre değerlerini doğrulayın |
CNC not ready | Makine meşgul | Hazır durumu bekleyin |
Kuka Robot Hata Kodları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
Variable not found | KRL değişkeni yok | Programda değişken oluşturun |
Robot not ready | Doğru modda değil | EXT/AUTO moduna geçin |
Program error | Submit hatası | KRL sözdizimini kontrol edin |
Genel Bağlantı Hataları
| Hata Kodu | Anlamı | Çözüm |
|---|---|---|
ConnectTimeout | Bağlantı zaman aşımı | IP, port ve firewall ayarlarını kontrol edin |
ReceiveDataTimeout | Yanıt alınamadı | Timeout artırın; cihazın yanıt verdiğini doğrulayın |
ConnectionIsNotAvailable | Bağlantı koptu | Ağ sorunu; otomatik yeniden bağlanır |
SocketContentReceiveException | Soket alım hatası | Ağ kararlılığını kontrol edin |
IpAddressError | IP formatı hatalı | 192.168.1.100 formatını kullanın |
Remote host forcibly closed | Cihaz bağlantıyı kesti | Cihaz gücü ve kabloları kontrol edin |
Sistem loglarını Category = Proxus.ProtocolDrivers filtresiyle süzerek protokol hatalarını tam bağlamıyla görebilirsiniz. Orijinal hata detayları log mesajında korunur.
Doğrulama Araçları
Cihaz Simülatörleri
Gerçek donanıma bağlanmadan önce simülatörlerle test edin:
- Modbus: ModRSsim2
- OPC UA: Prosys OPC UA Simulation Server
- Siemens: PLCSIM Advanced
Protokol Analiz Araçları
- UaExpert (OPC UA) - Node gez, oku, yaz
- Modbus Poll - Modbus iletişimi test
- Wireshark - Ağ trafiğini yakala ve analiz et
Ayrıca Bakın
- Modbus TCP Rehberi - Tam Modbus referansı
- Siemens S7 Rehberi - S7 adresleme
- OPC UA Rehberi - Node ID formatları
- Cihaz Profilleri - Veri tipi konfigürasyonu
- Veri Akışı Sorunları - Veri gelmiyorsa