Bir süredir üzerinde çalıştığım GMT PLC (396T), GMT HMI (GOP40-070ET), max RS485 entegre, Freemodbus kütüphanesi, Modbus RTU aracılığı ve freeRTOS ile HMI'deki iki değeri STM32F103'den okutmayı tamamladım.
4x0001 adresine bir değer (örneğin 567 ) 4x0002 adresine bir başka değer (örneğin 100) atayabiliyorum.
Benzer çelışmalar için bir örnek olması için; (dikkat, rs485 entegre 5 V, stm32 3.3 v olduğu için 5 V tolerant pinleri kullandım)
CUBEMX, KEIL yazılımını, (USART3, TIM3, FreeRTOS, DE/RE için PB15) https://drive.google.com/open?id=1P21K4W03DZ4Q0urxO4UK5acKztGEWlDY
HMI ayarları, https://drive.google.com/file/d/1MQQaenEFbMeaaCsqCM0kZgBzkkU_SJfD/view?usp=sharing
PLC ayarlarını https://drive.google.com/file/d/1Y024KetIuNOPk0dsaZ-C5S3hmFesq-iY/view?usp=sharing
yazıma ekliyorum. Bu arada bir de sorum olacak.
STM32'den (aslında max485 A ve B) den HMI veri aktarabilmek için Modbus hattına
paralel olarak ayrıca bir USB/RS485 dönüştürücüyü de PC nin usb portuna irtibatlamam gerekiyor.
Oysa, HMI'den Modbus RTU özelliğini destekleyen bir sensörden direkt olarak değer okuyabiliyorum.
Soru : "USB/RS485 dönüştürücüyü kullanmadan da bu işlemi gerçekleştirilebilir miyim?"
Teşekkürlerimle.