Jump to content

VKU

Forum kullanıcıları
  • İçerik sayısı

    82
  • Katılım

  • Son ziyaret

  • Days Won

    3

VKU last won the day on 5 Nisan 2020

VKU had the most liked content!

Topluluk Puanı

6 Neutral

VKU Hakkında

  • Derece
    Rookie
    Rookie

Güncel Profil Ziyaretleri

Güncel ziyaretçiler bloku aktif değil. Diğer kullanıcılar son ziyaretçilerinizi aktif edene kadar göremezler.

  1. VKU

    L298N STEP DRİVER

    Merhabalar, L298N modülü Arduino modülü gibi sistemler için uygundur. IN1,2,3,4 ile Enable pinleri 5VDC giriş ile çalışır. PLC çıkışları ise 24VDC dir. Ayrıca, Bu modül amatör işlere uygundur. Devre bölücü ile deneme yapılır. Ancak tavsiye etmem.
  2. VKU

    DC Motor Sürülmesi

    Sayın wera, çalışma üzerinden zaman geçti. Kayıtlarımı kontrol ettim. PLC den direkt PWM çıkışı almak için aşağıdaki gibi bir bağlantı yaptım. Ancak bu deneme idi. Çünkü PLC çıkışı 24V, motor kontrol kartı girişi ise 5V idi. Bu nedenle önce kontrol kartı olmadan deneme yaptım PWM ürettiğini gördüm. Sonra bu çıkış (24V) ile hız kontrol kartını (5V) voltaj düşürücü bir devre ile irtibatladım. Ancak, voltajı sabit tutamadığım için aşağıdaki safhayı gerçekleştirmek zorunda kaldım. Kontrol kartı ile ilgili olarak STM32 kartını kullandım. Farklı sistemler arasındaki haberleşmeyi de Modbus ile gerçekleştirdim. Hız kontrolü de HMI ekranından seçildi, ancak STM32 nin PWM çıkışını kullandım. Bu uygulamada PLC PWM direkt olarak kullanmadım. Sanırım Konu açılış BAŞLIĞI ile gerçekleşen biraz farklı oldu.
  3. VKU

    Modbus RTU Çoklu Okuma Hatası

    Piyasada bulunan RS 485 MAX TTL modülü ile arduino kullanarak modbus haberleşmesi yapıyorsanız bir çok sorunla karşılaşabilirsiniz. ilk sorun bu modulün çabuk ısınması ve kendini kilitlemesidir. İkinci olarak Arduino Mega dan farklı bir kart kullanıyorsanız (Nano, UNO gibi) sıkıntı ile karşılaşacaksınız. En son da loop içinde 50-100 ms. gibi denenerek bulunacak bir delay gerekli olabilir. İlk çözüm olarak kendi uygulamalarımda arduino tarafında nrf24 alıcı/verici modülü kullandım. PC/laptop tarafında arduino Nano ya da bir nrf24 modülü taktım. PC üzerinden vb.net/c# ile kod yazıp PLC ile TCP modbus haberleştirdim. İkinci çözüm olarak bir HMI modbus master olarak kullanılır. RTU'lar bu hatta bağlanır. HMI - PLC için ayrı bir hat oluşturulur. HMI'de sorgulanan RTU değerleri timer lar ile PLC ye aktarılabilir.
  4. VKU

    GMT PLC connect to MQTT broker

    I could not make a success connecting 396T PLC via my own broker on my PC. As Hanifi Bey explained the PLC does not allow customer broker. But I may suggest another way to read/write Modbus addressed values between 396T PLC and PC. VS 2019 Community, NUGET EasyModbusTCP by Stefan Roßmann. Imports EasyModbus Public Class Form1 Public Mb(10) As Boolean = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} Public Mw(3) As Integer ' 04x0001 ... ' Use a radio button to connect PLC via local ethernet IP ' TbxPLC_IP.Text holds PLC IP Addr. Private Sub RB_F1_ON_Click(sender As Object, e As EventArgs) Handles RB_F1_ON.Click TcpClient_1 = New EasyModbus.ModbusClient(Convert.ToString(TbxPLC_IP.Text), 502) ' PLC TcpClient_1.Connect() End Sub ' use a Timer with 200ms interval Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick ' EasyModbus lib supports discrete connection. So, every time to read/write values make a new connection TcpClient_1 = New EasyModbus.ModbusClient(Convert.ToString(TbxPLC_IP.Text), 502) ' PLC TcpClient_1.Connect() If TcpClient_1.Connected Then ' for coils Mb = TcpClient_1.ReadCoils(0, 7) ' Coil 0 .. 6 -> adres 1..7 ' for holding Regs Mw = TcpClient_1.ReadHoldingRegisters(0, 2) End If End Sub End Class
  5. VKU

    C# and MODBUS RTU

    Adresin bir eksiğini yazarak deneyiniz. ReadHoldingRegister kullanıldığında, eğer Modbus 4X adresi 1 den başlıyor ve ardaşık iki adres bilgisi okunacak ise; ModbusClient.ReadHoldingRegister(0,2); 4X adres 2001 den başlıyor ise, ModbusClient.ReadHoldingRegister(2000,2);
  6. VKU

    Visual Basic ile Scada

    Laptop/desktop ile TCP aracılığı ile PLC oku/yazmak. VB:NET de iken; (Not : C# örneği tüm veri tiplerini içeriyor, daha detaylı.) Nudget dan EasyModbusTCP yükleyin. Form1 oluşturun. Bir Button ekleyin PLC de iki adet değişken tanımlayın BIT olarak. ve Modbus kısmını aktif yapın. PLC de RUN yapın. Simulasyonda iken bu iki değişken değerlerini SET veya RESET ile değiştirin. Aşağıdaki kodu deneyebilirsiniz. Aslında herhangi bir tanım yapmadan PLC IP ile bağlanıp veri oku/yaz yapıp işi bitiriyorsunuz. ----------------------- Imports EasyModbus Public Class Form1 Public TcpClient_1 As ModbusClient Public Mb(2) As Boolean Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click TcpClient_1 = New EasyModbus.ModbusClient(Convert.ToString("PLC IP nizi buraya yazın."), 502) ' PLC TcpClient_1.Connect() if TcpClient_1.Connected then Mb = TcpClient_1.ReadCoils(0, 2) ' Sıfırdan başla 2 kayıt oku. console.writeln(Mb) End if End Class
  7. VKU

    Visual Basic ile Scada

    vb.net ile linkteki örneği kullanarak Nudget dan EasyModbusTCP yükleyerek ihtiyacım doğrultusunda bir yazılım geliştirmiştim. Dikkat edilmesi gereken bir timer ile belirlenen tick aralığında HER SEFERİNDE yeniden bağlantı kurulmasıdır.
  8. VKU

    Real veri tipine sahip adres özellikleri

    Ali Bey, Merhabalar. Arkadaşa yardımcı olmak için için "toplamenerji" Real değerini 127.90 olarak başlattım. Toplama işlemi yapılıyor. Ancak 128 gelince artmıyor veya listelenmiyor gibi gözüküyor.
  9. VKU

    olasılığa göre bir aktif etme

    c alt programı kullanarak 0..5 (yani 6 adet rakam üret) /* Intializes random number generator */ srand(time(NULL)); /* bir sayı üret */ sayi=rand()%6; sayi değişkenini GMTSUITE Operandlar bölümünde WORD olarak tanımlayın. Aşağıdaki örnek 2 sn. de bir 0 ila 5 arasında random rakam üretiyor. Sonra tetiklemeyi nasıl yapılacak ise ardından bu alt programı çağırın. Her seferinde 0..5 arasında bir değer dönecek. IF cümlecikleri ile bu değer kullanılabilir. Not : Çevrim dışı Simulasyon ile denedim. ANSI C deki mod işlevinin gmtsuite de farklı bir kullanımı olabilir. Gerçek ortam denemesi yapmadım.
  10. VKU

    GMTSuite ile PT100 sıcaklık ölçüm Örneği

    Aşağıdaki linkdeki gibi çalıştırdım. Belki işinize yarar.
  11. VKU

    MQTT GMT PLC

    PC'de mosquitto broker çalışıyor. PLC IP 192.168.0.55, PLC adı PLC1 iken --varsayımsal topic adı ile-- cmd'de; mosquitto_sub -h 192.168.0.55 -p "1234" -t "START" (ayrıca PLC1/START ile de denedim) Error: Hedef makine etkin olarak reddetti­ğinden bağ­lantı kurulamadı. hatası döndü. Anaconda Sypder'da; from PyQt5 import QtCore, QtGui, QtWidgets import paho.mqtt.client as mqtt def on_connect(client, userdata, flags, rc): # The callback for when the client connects to the broker print("Connected with result code {0}".format(str(rc))) # Print result of connection attempt client.subscribe("PLC1/START") def on_message(client, userdata, msg): print("Message received-> " + msg.topic + " " + str(msg.payload)) # Print a received msg QtWidgets.QPlainTextEdit(Form).plainTextEdit_2.text=str(msg.payload) QtWidgets.QLabel(Form).label_2.setObjectName("str(msg.payload)") client = mqtt.Client("c1") client.on_connect = on_connect client.on_message = on_message client.connect('127.0.0.1') client.loop_start() çalışıyor. cmd'den; mosquitto_pub -t "PLC1/START" -m 1 veya -m 0 yapınca; phytonda; Message received-> PLC1/START b'1' Message received-> PLC1/START b'0' bilgisi yazdırılıyor. Bu durumda yerel PC de broker kullanıldığında; 396T PLC de örneğin START (bit, modbus addr 1) değişkeni için topic adının ne olduğu önem kazanıyor. Böylece PC'den ve phyton'dan bu isimle subscribe ve publish yapabileyim. Yardımlarınız için teşekkür ederim.
  12. VKU

    MQTT GMT PLC

    Hanifi Bey, yardım menüsünde işlemin nasıl yapılacağını buldum. 396T ve PC arasında zaman kısıtı olmadan kullanım mümkün müdür? Teşekkürlerimle.
  13. VKU

    MQTT GMT PLC

    Hanifi Bey, GMTSuite'de MQTT server adını PC deki ile nasıl değiştirebilirim. PLC'de subs./publ. tanımlama ve değişkeni pub. yapmak için hangi işlemleri yapmalıyım. Teşekkürlerimle.
  14. VKU

    MQTT GMT PLC

    Merhabalar, Mqtt protokolünü biraz inceledim. Kullanışlı gözüküyor. 396T'da bir subscribe/publish client oluşturup, Ethernet üzerinden PC deki Mosquito Broker aracılığı ile Pyton'da hazırladığım GUI'ye bir kaç veri aktarabilir miyim? Örneğin, motor ON/OFF, sensör değeri vb. Teşekkürlerimle.
×
×
  • Yeni Oluştur...