LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Watlow F4 and Modbus

I have a Watlow F4 Modbus RTU controller in a thermal chamber I am trying to talk to.  I downloaded the LV 7 Modbus libraries (sorry, no LV8 DSC).  I am able to write the setpoint to the controller, but cannot read it back (I get a 6101 timeout).  In fact, the setting produces a timeout as well, even though it sets the correct value.


Any thoughts?  This is my first walk in the world of Modbus!  Current test-app is attached.


Joe G.
Joe Gerhardstein
Viasat
Certified LabVIEW Architect
Certified TestStand Developer
Certified Professional Instructor
http://www.viasat.com
0 Kudos
Message 1 of 37
(10,366 Views)
I'm not sure of the timeout when you write, but I believe you want to be reading the holding registers, not the input registers.
Message 2 of 37
(10,342 Views)
Hi Joe,

For the read, try using the "Read Holding Registers" function. I am guessing you're trying to read-from and wite-to the same register. The "Write Single Register" is actually writing to a Holding register. Since the write is successful, you should try reading it as a Holding register as well.

Hope this helps.

-Khalid
Message 3 of 37
(10,340 Views)
I tried the "Read Holding Registers" and "Read Input Registers", and get a timeout with both and nothing returned.
Joe Gerhardstein
Viasat
Certified LabVIEW Architect
Certified TestStand Developer
Certified Professional Instructor
http://www.viasat.com
0 Kudos
Message 4 of 37
(10,338 Views)
the watlow website mentions a Comm6 program that you can download to test your instrument. Try this to make sure your cabling and everything else is ok.
0 Kudos
Message 5 of 37
(10,326 Views)
I've tried several of the other "free" libraries off the web (TestEquity has one as well, among others), and most are less functional than the NI one.  I can write the setpoint, so I'm pretty sure I have good cabling and have the serial settings correct.  I just cannot ready anything back.  It may be a bad controller, but I don't have another to compare.
Joe Gerhardstein
Viasat
Certified LabVIEW Architect
Certified TestStand Developer
Certified Professional Instructor
http://www.viasat.com
0 Kudos
Message 6 of 37
(10,314 Views)
Hi Joe,

You can download this little (non-LabVIEW) standalone utility to see if you can read the registers:

http://www.win-tech.com/html/modscan.htm

If that doesn't work either, then there's a hardware issue.

Hope this helps.

-Khalid
0 Kudos
Message 7 of 37
(10,306 Views)

try this website http://www.watlow.com/literature/pti_search.cfm and search 'watlow controls data communications'. You should get three manuals that explain the modbus communication.

what is the full part number of the instrument?? What modbus register value are you trying to read?? A single register or multiple registers?? What modbus function code are you using?? Are you sending the address as 40100 or just 100. You may even need to add one to the register value. Use portmon to snoop the communication. Is it using RS232 or RS485??

Message 8 of 37
(10,302 Views)
It's an F4S/D.  Right now, I'm playing with register 300, which is the Set Point for the controller, though I would like to read the actual temp (register 100?) as well.  I can set the Set Point by writing to 300, but cannot read it back.  I have tried registers 40301 and 400301 also, but all I get is timeouts.  PortMon sounds like a good idea.
Joe Gerhardstein
Viasat
Certified LabVIEW Architect
Certified TestStand Developer
Certified Professional Instructor
http://www.viasat.com
0 Kudos
Message 9 of 37
(10,296 Views)
You don't want to put the 40 part in the field for the starting address, just the 301. Try the attached .llb file. I use this for modbus serial reads.
Message 10 of 37
(10,291 Views)