Modbus configuration issues
Posted: Sat Oct 19, 2013 6:50 pm
First off, I'm new to most of this: iX, Modbus and PLCs. So any patience is greatly appreciated. Secondly I have poured over the documentation for just about everything related to what I'm doing and am still stuck.
I am currently working on my first HMI project for a small hydro site (family owned). My background is in software so the C# foundation in iX is what drew me to it. Here's my setup:
iX T12B (not that it's relevant at this point)
Ethernet Network
Koyo/DirectLogic DL06 with H0-ECOM100 Ethernet Adapter.
Since iX only communicates with Koyo via Serial, I have chosen to go with Modbus which the Koyo supposedly supports just fine.
As part of my debugging, I used two different utilities (Modscan64 and Simply Modbus TCP) to verify that I could retrieve register values via modbus over ethernet. I was concerned that the DL06 ECOM100 adapter was not being configured correctly. By pointing the utility at the PLC's IP address, setting the slave ID to 1 and using the modbus command 03 to access register 44106 (decimal) or V10011 on the DL06, I was able to retrieve the BCD value of 610 which was the current value set via the DirectSoft 5 debug tools.
Having verified that registers were available via Modbus I moved over to iX Developer. I set up the MODICON MODBUS MASTER controller in iX as shown in the attached screenshots (ModbusController). I proceeded assuming that the "node" value corresponds to the typical modbus slave ID. I set up the PLC IP as the station.
Under Tags I have 44106 set under the ModbusController Column. The data type is set to int16. It's BCD on the PLC but I figured it would come across as an unconverted INT and I could deal with it later if I got it working. It was my understanding that nothing else was needed. So to test I created a text field and bound it's Value to the TagId ("TestTag").
Unfortunately, when I run the project I get nothing. The text field reads "0". I'm not sure where to go from here. I've poured over the DL06 and ECOM100 documentation but that side seems to be working. I've also dug through the iX manual reading about controllers and tags. I've read the modbus driver documentation over and over but find that the driver does not seem to correspond to everything else I'm reading about modbus. For example, is the modbus command (03 for example) handled behind the scenes?
I've played with most of the settings in the modbus controller with no effect. I feel like I must be missing something small.
If anyone can provide any advice or suggestions I would be HAPPY to hear.
Thank you!
I am currently working on my first HMI project for a small hydro site (family owned). My background is in software so the C# foundation in iX is what drew me to it. Here's my setup:
iX T12B (not that it's relevant at this point)
Ethernet Network
Koyo/DirectLogic DL06 with H0-ECOM100 Ethernet Adapter.
Since iX only communicates with Koyo via Serial, I have chosen to go with Modbus which the Koyo supposedly supports just fine.
As part of my debugging, I used two different utilities (Modscan64 and Simply Modbus TCP) to verify that I could retrieve register values via modbus over ethernet. I was concerned that the DL06 ECOM100 adapter was not being configured correctly. By pointing the utility at the PLC's IP address, setting the slave ID to 1 and using the modbus command 03 to access register 44106 (decimal) or V10011 on the DL06, I was able to retrieve the BCD value of 610 which was the current value set via the DirectSoft 5 debug tools.
Having verified that registers were available via Modbus I moved over to iX Developer. I set up the MODICON MODBUS MASTER controller in iX as shown in the attached screenshots (ModbusController). I proceeded assuming that the "node" value corresponds to the typical modbus slave ID. I set up the PLC IP as the station.
Under Tags I have 44106 set under the ModbusController Column. The data type is set to int16. It's BCD on the PLC but I figured it would come across as an unconverted INT and I could deal with it later if I got it working. It was my understanding that nothing else was needed. So to test I created a text field and bound it's Value to the TagId ("TestTag").
Unfortunately, when I run the project I get nothing. The text field reads "0". I'm not sure where to go from here. I've poured over the DL06 and ECOM100 documentation but that side seems to be working. I've also dug through the iX manual reading about controllers and tags. I've read the modbus driver documentation over and over but find that the driver does not seem to correspond to everything else I'm reading about modbus. For example, is the modbus command (03 for example) handled behind the scenes?
I've played with most of the settings in the modbus controller with no effect. I feel like I must be missing something small.
If anyone can provide any advice or suggestions I would be HAPPY to hear.
Thank you!