From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
12-09-2013 04:57 AM
Why is Dasylab using the 0xxxx register instead of the 1xxxx register for modbus tcp/ip digital inputs
Tested on version 13
Thanks
12-09-2013 07:17 AM
I need more information to be able to assist.
What device are you talking to?
12-09-2013 07:44 AM
Digging into it... DASYLab is reading and writing the coil registers.
As for why... the developer is on holiday until January, and I cannot check with him until then.... I'm very sorry about the long delay before we can get a response.
12-09-2013 07:46 AM
The Help says:
The DASYLab modules support the following functions:Show functions
Function Code | Function | Module |
---|---|---|
0x01 | Read Multiple Coils | Digital Input |
0x03 | Read Holding Register 40000 | Analog Input |
0x04 | Read Input Register 30000 | Analog Input |
0x10 | Write Multiple Register | Analog Output |
0x0F | Write Multiple Coils | Digital Output |
12-09-2013 07:49 AM
We have a number of modules made by ICPDAS.com which we communicate with via modbus tcp.
We have a number of modules plugged into their 8000 series backplanes (freqency counters, analog I/O, thermocouple modules etc) all of which work fine with Dasylab.
Recently, we bought a digital I/O module - http://www.icpdas.com/products/Remote_IO/i-8ke/i-8063w.htm and it simply wouldn't work with Dasylab via modbus tcp.
I have been in contact with ICP who have confirmed that Dasylab seems to have implemented modbus tcp incorrectly.
Dasylab's modbus digital input module seems to be using the incorrect register (0xxxx)
My understanding is that digital inputs should use the 1xxxx register and digital outputs use the 0xxxx register.
12-09-2013 07:53 AM
I posted at the same time you were posting.
So, is am I correct in thinking that Dasylab is handling digital inputs incorrectly (via modbus)? Seems like someone else would've noticed it before me.
I'm happy to wait for a solution. I just wanted to check whether it was something I was doing wrong.
Thanks for your help.
12-09-2013 09:03 AM
I had some problem talking to a ModBus before due to not 100% compatible with DASYLab.
We solved the problem by using a simple OPC server from Automated Solution that is also very cost effective
http://www.automatedsolutions.com/products/opcmodbustcp.asp
12-09-2013 09:49 AM
Please pay attention to the fact, that DASYLab is not able to read/write single coils. You have to make sure to read/write a complete byte (=eight bits/coils), even if you just want to read/write one bit of that byte.