Node-RED Modbus TCP Handling Errors – Video Modbus RTU (RS485) Serial Network SQL Database Spreadsheet Connection – Videoĭo-More PLC Node-RED HTTP Request – Video
In this series we used Node-RED in some of the following ways: An SV value will then be read from the Click PLC and if it has changed, the value will be written to the SV of the Solo controller.
We will be reading the PV (present value) and SV (set value) of the Solo temperature controller and then writing these values into the Click PLC. This will be done on the same serial network so the devices will be daisy-chained together on the two wires.
Please submit any technical issue into our forum.Node-RED will be used on the Raspberry Pi 4 to communicate serial Modbus RTU to a Solo process temperature controller and Click PLC using twisted pair RS485. Now, you should be able to see the Raspberry's Pi System info on Wio Terminal's LCD Screen. Once uploaded it should be in a starting screen.Ĭonnect Wio Terminal to the Raspberry Pi via USB Type-C Cable.
Please make sure to put this header file in the same location as the Arduino Sketch.ĭownload the complete code here.
Install the LCD screen Library Seeed_Arduino_LCD, please visit Wio Terminal LCD for more information.ĭownload the Free_Fonts.h header file so that can use abbreviations for the free fonts included in the LCD library. close () Arduino Code ¶ Arduino libraries needed ¶ sleep ( 2 ) print ( '' ) print ( 'CPU Temperature = ' + CPU_temp ) print ( 'CPU Use = ' + CPU_usage ) print ( '' ) print ( 'RAM Total = ' + str ( RAM_total ) + ' MB' ) print ( 'RAM Used = ' + str ( RAM_used ) + ' MB' ) print ( 'RAM Free = ' + str ( RAM_free ) + ' MB' ) print ( '' ) print ( 'DISK Total Space = ' + str ( DISK_total ) + 'B' ) print ( 'DISK Used Space = ' + str ( DISK_used ) + 'B' ) print ( 'DISK Used Percentage = ' + str ( DISK_perc )) if _name_ = '_main_' : try : main () except KeyboardInterrupt : if ser != None : ser. encode ( CPU_temp + ' ' + CPU_usage )) data = ser. split ()) def main (): while True : # CPU informatiom CPU_temp = getCPUtemperature () CPU_usage = getCPUuse () # RAM information # Output is in kb, here I convert it in Mb for readability RAM_stats = getRAMinfo () RAM_total = str ( round ( int ( RAM_stats ) / 1000, 1 )) RAM_used = str ( round ( int ( RAM_stats ) / 1000, 1 )) RAM_free = str ( round ( int ( RAM_stats ) / 1000, 1 )) # Disk information DISK_stats = getDiskSpace () DISK_total = DISK_stats DISK_used = DISK_stats DISK_perc = DISK_stats temp = ser. popen ( "df -h /" ) i = 0 while 1 : i = i + 1 line = p. strip ())) # Return information about disk space as a list (unit included) # Index 0: total disk space # Index 1: used disk space # Index 2: remaining disk space # Index 3: percentage of disk used def getDiskSpace (): p = os. split ()) # Return % of CPU used by user as a character string def getCPUuse (): return ( str ( os. popen ( 'free' ) i = 0 while 1 : i = i + 1 line = p. replace ( "'C \n ", "" )) # Return RAM information (unit=kb) in a list # Index 0: total RAM # Index 1: used RAM # Index 2: free RAM def getRAMinfo (): p = os. sleep ( 2 ) # Return CPU temperature as a character string def getCPUtemperature (): res = os.
Serial ( serialPort, baudRate, timeout = 0.5 ) time. Import os import time import serial # Settings for reading from Arduino Serial serialPort = "/dev/ttyACM0" #Change it to your Serial Port, Check in Arudino IDE baudRate = 115200 ser = serial.