5/2/2019 2:57 PM | |
Joined: 12/18/2014 Last visit: 8/6/2024 Posts: 33498 Rating: (4162)
|
The problem is that we do not know what value is transmitted. You've tried to access the value over 2 connections at the same time. That leads to conflicts. It can also be an offest in the registers. Try starting register IR 1548 or IR 1549. Observe with the data table the values displayed in VW0 and VW2. AttachmentTestProject_V2.zip (331 Downloads) |
This contribution was helpful to1 thankful Users |
5/2/2019 4:14 PM | |
Joined: 12/18/2014 Last visit: 8/6/2024 Posts: 33498 Rating: (4162)
|
Can't you make a contact to Moxa? Per Email or phone? |
5/3/2019 8:01 AM | |
Posts: 12 Rating: (0) |
I tried contacting them yesterday, so I hope I'll get an answer soon. In the meantime I'll trying to get some logic in the results I recieve. |
5/3/2019 8:58 AM | |
Posts: 12 Rating: (0) |
I'll let you know when this issue is solved. |
5/3/2019 3:18 PM | |
Posts: 12 Rating: (0) |
Hello I got answer from the Moxa guys, but that didn't really help me. Because I only have 4 different values, I used amplifiers to get the values I need. In attachement I added the program I use now, with the UDF I made to make the program a little nice to look at. AttachmentUDF.zip (336 Downloads) |
5/3/2019 5:46 PM | |
Joined: 2/22/2008 Last visit: 8/6/2024 Posts: 2698 Rating: (207) |
I don't know, what you exactly want to do with the temperature values. I guess that the Modbus registers will be used the way you can see in the attached Logo example program. There a 6 input registers beginning at 1537 in word format declared as unit 0.1, therefore i have used one decimal point in the analog amplifiers. Each register has 16 bits, then the mapping is VW0, VW2, VW4, VW6, VW8 and VW10 for maximal 6 channels, if the first register is mapped to VW0. If the registers are unsigned integer, then it may be to get negative values while the right value should be positive values, because the Logo only have signed integer arithmetic. The 12 input registers beginning at 1549 are 6 groups with 2 registers, which may be the 4 byte float format. Each double register has 32 bits, then the mapping is VW100, VW104, VW108, VW112, VW116 and VW120 for maximal 6 channels, if the first register is mapped to VW100. If the result seems to be a wrong dimension, then scale the value inside the float integer converter. Maybe the example is useful to simplify your program. Regards, Scorp AttachmentMoxa E1260 RTD.zip (410 Downloads) |
This contribution was helpful to1 thankful Users |
5/6/2019 10:03 AM | |
Posts: 12 Rating: (0) |
Hey Scorp Thanks for the reply, just found the same answer. It's indeed correct, I used the wrong input register. I need to use the one on 1537, then I get the exact value *10, so just a simple amplifier to divide it by 10 and I get the result I need. I added the correct program for those who are interested.
AttachmentC-all.zip (386 Downloads) |
Follow us on