TheNovice Posted September 12, 2018 Share Posted September 12, 2018 I am trying to read register value from Banner DXM 100 controller. I created COM port serial connection- 19200,8, none, 1, 1000ms. When I am trying to read register 2 using Channel # as 2(also tried 40003), I am getting P-ModbusRTU 0010: Timeout error on every read and P-ModbusRTU 0014: ID Mismatch error after several reads. I am trying to read every 2 seconds with offset 0. Port monitor and channel details look something like the image below: I have tried 'n number of ways to read the register value, by changing- modbus ID(on the device and Daqfactory), baud rate, channel#, timing, offset, I/O type, device timeout(to 2000ms) etc. but no luck. Has someone encountered such issue before and can help me? Thanks!! Link to comment Share on other sites More sharing options...
AzeoTech Posted September 12, 2018 Share Posted September 12, 2018 The device doesn't seem to be replying with Modbus. Are you: a) sure that the device is setup for Modbus RTU slave and not another protocol, b) sure you have all the comm settings right? Often Modbus uses Even parity. Link to comment Share on other sites More sharing options...
TheNovice Posted September 13, 2018 Author Share Posted September 13, 2018 I believe the comm setting are correct. (I have used it previously with parity none) I am trying to connect to a single device ie. Master, I don't have any type of network. Can you explain me what you mean by Modbus RTU slave? Thanks!! Link to comment Share on other sites More sharing options...
AzeoTech Posted September 13, 2018 Share Posted September 13, 2018 DAQFactory is the master because it is making the queries. The device is the slave because it only responds to queries. It won't say anything unless asked. That device supports several different protocols, and typically you have to configure the device for the protocol you want as you can't talk multiple protocols on the same port. Link to comment Share on other sites More sharing options...
TheNovice Posted September 13, 2018 Author Share Posted September 13, 2018 I am using the ModBusRTU protocol while making the connection. If I choose ModbusRTU Slave I don't have anything to choose in the I/O Type dropdown list. I believe I am doing everything correctly, can it be the device's radio communication problem? Link to comment Share on other sites More sharing options...
AzeoTech Posted September 13, 2018 Share Posted September 13, 2018 You don't want DAQFactory to be the slave. Possibly, but the radio isn't responding to DAQFactory queries except occasionally, and then the response doesn't look to me like a Modbus, that's why I think its either a comm setting issue, or the device isn't setup to be a Modbus slave, but instead a different protocol. Link to comment Share on other sites More sharing options...
TheNovice Posted September 14, 2018 Author Share Posted September 14, 2018 Even I think the problem is with the device protocol setup. Thank you for your help. I'll update the post once I am able to make it work, might help someone. Link to comment Share on other sites More sharing options...
TheNovice Posted September 17, 2018 Author Share Posted September 17, 2018 The problem was with my Controller I (stupid) was using. There are different type of DXM100 devices which can be found here- https://www.bannerengineering.com/us/en/products/wireless-sensor-networks/wireless-controllers/industrial-wireless-controller-dxm-series.html?pageNum=1&sort=4#all I was using DXM100 B1C1 which doesn't support Radio Communication. I switched to DXM100 B1R2 which supports Modbus Radio Communication and I am now able to read and write registers successfully using Daqfactory. Link to comment Share on other sites More sharing options...
AzeoTech Posted September 17, 2018 Share Posted September 17, 2018 Glad you got to the bottom of it, and thank you for sharing the result! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.