Recent

Author Topic: Modbus RTU  (Read 7336 times)

BLL

  • Sr. Member
  • ****
  • Posts: 276
Modbus RTU
« on: October 08, 2016, 10:13:25 pm »
Hi, I need to read /write a device (EpSolar Tracer solar controller) which uses the Modbus RTU protocol. I have never used Modbus before.
Are there any libraries or tutorials already available to help?
I have read up on the protocol but can't as yet get my device to say anything!

Brian

molly

  • Hero Member
  • *****
  • Posts: 2330
Re: Modbus RTU
« Reply #1 on: October 08, 2016, 10:22:32 pm »
perhaps PascalSCADA is able to help you out there ?

tr_escape

  • Sr. Member
  • ****
  • Posts: 432
  • sector name toys | respect to spectre
    • Github:
Re: Modbus RTU
« Reply #2 on: October 08, 2016, 10:35:26 pm »
Have you got  modbus address list of this device?

As Molly mentioned pascalscada has got modbus driver you can read and write to device if supports.


BLL

  • Sr. Member
  • ****
  • Posts: 276
Re: Modbus RTU
« Reply #3 on: October 08, 2016, 10:59:03 pm »
Hi all, Thanks for the replies.
Yes, I have  downloaded the manufacturer's specification, which has all the commands for reading/writing the device.
I will look at pascalscada, which I don't know at all.
Thanks
Brian

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Modbus RTU
« Reply #4 on: October 11, 2016, 10:41:55 am »
Using PascalSCADA is nice, but might be an overkill if your needs are simple. For such cases you might want to just use mbutils lib:
http://forum.lazarus.freepascal.org/index.php?topic=11131.0

it is much better if you first establish a successful communication with your device using some modbus client like this free one: http://www.modbusdriver.com/modpoll.html

p.s. There is a search in forum, you know...
« Last Edit: October 11, 2016, 10:46:07 am by avra »
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

sadikacar60

  • Guest
Re: Modbus RTU
« Reply #5 on: February 22, 2019, 08:54:45 am »

friends pascal scada with plc say qp0 relay want to set. How can I do with pascalscada easily with the delphimodbus component.

Yours truly

Code: Pascal  [Select][+][-]
  1. procedure TForm1.Button3Click(Sender: TObject);
  2. begin
  3.   TCP_UDPPort1.Host:='169.254.230.191';
  4.   TCP_UDPPort1.Port:=502;
  5.   TCP_UDPPort1.WriteState(???);
  6. end;


windows also made with delphi modbus component
Code: Pascal  [Select][+][-]
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.     IdModBusClient1.Host := '169.254.230.191';
  4.   if IdModBusClient1.WriteRegister(1, 1) then   //register-deger  1-0
  5.   else
  6.     MessageDlg('PLC register write failed!', mtError, [mbOk], 0);
  7. end;
 

mig-31

  • Sr. Member
  • ****
  • Posts: 305
Re: Modbus RTU
« Reply #6 on: February 22, 2019, 09:55:27 am »
It's so easy.
Look in PascalScada component examples directory and you can do it.
Lazarus 2.2.6 - OpenSuse Leap 15.4, Mageia 8, CentOS 7

 

TinyPortal © 2005-2018