01
İlgili talimatlar:
(1) Modbus TCP istemcisi bir PROFINET bağlantısı üzerinden iletişim kurar.
"MB_CLIENT" talimatı aracılığıyla, istemci ve sunucu arasında bir bağlantı kurabilir, Modbus istekleri gönderebilir, yanıtları alabilir ve Modbus TCP istemcisinin bağlantı terminalini kontrol edebilirsiniz.
"MB_SERVER" komutu, Modbus TCP istemcisinin bağlantı talebini işleyecek, Modbus talebini alacak ve işleyecek ve yanıtı gönderecektir.
(2) S7-1200 aygıt yazılımı sürümü V4.0, "MB_CLIENT" talimatını ve sürüm V3.1'e kadar kitaplığı destekler. S7-1200 donanım yazılımı sürümü V4.1 ve üstü ve S7-1500, "MB_CLIENT" komutunun ve "MB_SERVER" talimatının tüm kitaplık sürümlerini destekler.
Bu talimatı kullanırken, başka hiçbir donanım modülüne gerek yoktur.
(3) Her bir istemci bağlantısını kullanırken, lütfen aşağıdaki kuralları unutmayın:
Her "MB_CLIENT" bağlantısı benzersiz bir örnek veri bloğu kullanmalıdır.
Her "MB_CLIENT" bağlantısı için benzersiz bir sunucu IP adresi belirtilmelidir.
02
MB_CLIENT talimatı
MB_MODE, MB_DATA_ADDR ve MB_DATA_LEN'in üç parametre kombinasyonu, tabloda gösterildiği gibi mevcut Modbus mesajında kullanılan fonksiyon kodunu tanımlar
03
Çalışmaya hazır
(1) Sunucu olarak S7-1200 kullanılıyorsa, port numarası 502 olmalı ve istemci olarak port numarası 0 olmalıdır;
(2)
Donanım tanımlayıcı genellikle 64'tür (16 # 40)
04
Programlama
(1) Müşteri
CONNECT iğnesinin işaretçi türü
Önce yeni bir global veri bloğu DB oluşturun, yeni oluşturulan DB bloğunu açmak için çift tıklayın, değişken adını "aa" ve veri türünü "TCON_IP_v4" olarak tanımlayın (TCON_IP_v4'ü bu iletişim kutusuna kopyalayabilirsiniz) ve ardından "Enter" tuşuna tıklayın buton. Veri türü yapısı oluşturulur ( Kimlik numarasının anlamı burada çok iyi değil, değer problemini, özellikle IP adresi iletişimi yoluyla görmezden gelebilirsiniz. )
Not: MB_DATA_PTR tarafından belirtilen veri arabelleği DB bloğu veya M depolama alanı adresinde olabilir. DB bloğu, optimize edilmiş bir veri bloğu veya standart bir veri bloğu yapısı olabilir. Optimize edilmiş bir veri bloğu yapısıysa, programlama sırasında sembolik adresleme yoluyla pimin doldurulması gerekir; standart bir veri bloğu yapısı ise ( DB bloğuna sağ tıklayabilir ve "Özellikler" de "Optimize Edilmiş Blok Erişimi" önündeki işareti kaldırabilirsiniz. P # biçimini yazmayı kolaylaştırmak için pimi mutlak bir adresle doldurmanız gerekir. )
(2) Sunucu tarafı
CONNECT iğnesinin işaretçi türü
Önce yeni bir global veri bloğu DB oluşturun, yeni oluşturulan DB bloğunu açmak için çift tıklayın, değişken adını "aa" ve veri türünü "TCON_IP_v4" olarak tanımlayın (TCON_IP_v4'ü bu iletişim kutusuna kopyalayabilirsiniz) ve ardından "Enter" tuşuna tıklayın buton. Veri türü yapısı oluşturulur ( Kimlik numarasının anlamı burada büyük değil, değer problemini, özellikle IP adresi iletişimi yoluyla görmezden gelebilirsiniz )
05
Programlama konuları:
(1) MODBUS-TCP iletişimi, her bir MB_CLIENT fonksiyon bloğunu kontrol etmek için zaman paylaşımı gerektirir.Aynı anda sadece bir MB_CLIENT fonksiyon bloğunda DISCONNET OFF olabilir (yani: bir bağlantı kurun), aksi takdirde iletişim anormal olur.
(2) Farklı MB_CLIENT fonksiyon bloklarının yazmaç adres aralığı aynı olmamalıdır (40001-49999), özellikle okuma ve yazma sırasında, bunlar aynı olmamalıdır, bu da kolaylıkla veri karışıklığına neden olabilir, çünkü 40001-49999 okuma ve yazma yazmaç adresleri aynı alandadır.
(3) "MB_SERVER" fonksiyon bloğu genellikle sunucu tarafında yalnızca bir kez çağrılır. Tüm müşteri okuma ve yazma verileri buna dahildir, bu nedenle aradaki farka dikkat edin.
(4) CONNECT pininin işaretçi parametrelerini veya port parametrelerini değiştirdikten sonra, genellikle PLC'yi yeniden başlatmak geçerlidir.
06
Gerçek vaka prosedürü:
(1) Müşteri programı
(2) Sunucu tarafı programı
(3) Parametre durumunun açıklaması
Kaynak: Xu Chen Shuang