andybdjuk Posted January 26, 2010 Share Posted January 26, 2010 Hi, I am trying to read data from an inverter, I have been using Quickmod. From the Attached info I have set the port ID to 0x0011- logical address 18, is this right? Communication runs at 9,600 bps with 8 data bits and no parity. I cannot get any communication with the divice, I know its working as it works on its own software. Below is text for somebodys experimenting. I am interested in the data from the 0xB6, ie voltages. Can you help me set up quickmod to read this stuff ************************* Serial Protocol Every packet has the following common fields: The first 4 bytes contain the packets source and destination: 0x0000: 16 bit destination address for the packet. 0x0000: 16 bit source address for the packet. 0x0000: 16 bit command ID. The master device (the computer) uses address 0x0000. In the probe command from the Windows software, the source and destination addresses are both set to 0x0000. This may indicate the packet is a broadcast packet intended for all non-master devices on the bus. All data is transmitted as big-endian (most significant byte first). 0x00: The last byte of every packet is a checksum. It is the lower 8 bits of the sum of all the previous bytes in the packet. I've included the responses to each command from my Soladin 600, address 0x0011. This appears to be the same address for all Soladin 600's. 0xC1: Probe The first packet transmitted seems to be a probe command. Note that the source and destination addresses are both set to 0x0000. TX: 00 00 00 00 C1 00 00 00 C1 RX: 00 00 11 00 C1 F3 00 00 C5 Other than the device address, the response from my Soladin 600 doesn't appear to contain any information. In cases where there are more than once device, will they all respond to this command? Can a devices address be changed? 0xB4: Firmware Information Returns version information about the firmware. TX: 11 00 00 00 B4 00 00 00 C5 RX: 00 00 11 00 B4 F3 00 00 00 00 00 00 00 E3 00 04 01 34 06 00 00 00 00 00 00 00 00 00 00 00 DA 0xE3: Firmware ID 0x0104: Firmware version (1.04) 0x0634: Firmware date 0xB6: Device Stats Returns statistics about the operation of the device. TX: 11 00 00 00 B6 00 00 00 C7 RX: 00 00 11 00 B6 F3 00 00 04 03 35 00 8A 13 F4 00 00 00 24 00 90 0B 00 1F DB BC 01 00 00 00 FD 0x06: 0x0000: Flags, normal operation in the response above 0x08: 0x0304: PV voltage * 10 = 77.2 V in the response above 0x0A: 0x0035: PV amperage * 100 = 0.53 A 0x0C: 0x138A: Grid frequency * 100 = 50.02 Hz 0x0E: 0x00F4: Grid voltage = 224 V 0x10: 0x0000: Unknown 0x12: 0x0024: Grid power output = 36 W 0x14: 0x000B90: Total grid power output * 100 = 29.60 kWh 0x17: 0x1F: Device temperature = 31 Link to comment Share on other sites More sharing options...
AzeoTech Posted January 26, 2010 Share Posted January 26, 2010 This is not modbus so would not work with QuickMod. It looks like you can use the B6 function to get the data you want. Create a new Serial device with a NULL protocol. Then open the monitor and type in: \x11\x00\x00\x00\xb6\x00\x00\x00\xc7 and see if you get a response. Link to comment Share on other sites More sharing options...
andybdjuk Posted January 29, 2010 Author Share Posted January 29, 2010 Thanks, i done as suggested and got the following:- Tx (18:37:58.718): \x11\x00\x00\x00\xB6\x00\x00\x00\xC7 Rx (18:37:58.730): \x00\x00\x11\x00\xB6\xF3\x00\x00\xC3\x01\x77\x00\x8A\x13\xE7\x00\x00\x00\x31\x00\x9F\x84\x01\x18\x8A\x64\x07\x00\x00\x00\xDB Can you give me some pointers as to how i get the usefull data from this string, Thanks Andy Link to comment Share on other sites More sharing options...
AzeoTech Posted January 29, 2010 Share Posted January 29, 2010 Well, PV voltage for example is the 8th and 9th byte of the string, so if you were to create a little sequence to poll with that string and get a string response, you can then parse out the necessary bytes. I recommend taking the string and converting it into an array of numbers using the asca() function. Then, PV voltage is simply (array[7] + array[8] * 256) / 10 Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.