RS 485 modbus RTU
Dear Tom,
I saw your blog where you connected the wind speed sensor with Arduino.
I have a similar application where I have a sensor which have RS 485 output.
I used same sketch with little modification but when I am trying to compile it is giving compiling error.
the error is as below:
Arduino: 1.8.5 (Windows 10), Board: "Industruino D21G"
Archiving built core (caching) in: C:\Users\Jagroop\AppData\Local\Temp\arduino_cache_568578\core\core_industruino_samd_industruino_d21g_1a7f4adcfc38261adc8385f1111cc5e2.a
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `construct_F15()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `processReply()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:184: multiple definition of `construct_F16()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:184: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `waiting_for_turnaround()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:205: multiple definition of `waiting_for_turnaround()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:205: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `processError()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:380: multiple definition of `processError()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:380: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `processSuccess()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:396: multiple definition of `processSuccess()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:396: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `process_F1_F2()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:315: multiple definition of `process_F1_F2()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:315: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `process_F3_F4()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:349: multiple definition of `process_F3_F4()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:349: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `process_F5_F6_F15_F16()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:368: multiple definition of `process_F5_F6_F15_F16()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:368: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_configure(HardwareSerial*, long, unsigned char, long, long, unsigned char, unsigned char, Packet*, unsigned int, unsigned int*)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:413: multiple definition of `modbus_configure(HardwareSerial*, long, unsigned char, long, long, unsigned char, unsigned char, Packet*, unsigned int, unsigned int*)'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:413: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:466: multiple definition of `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:466: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `calculateCRC(unsigned char)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:473: multiple definition of `calculateCRC(unsigned char)'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:473: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `processReply()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:268: multiple definition of `processReply()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:268: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `waiting_for_reply()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:212: multiple definition of `waiting_for_reply()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:212: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `sendPacket(unsigned char)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:497: multiple definition of `sendPacket(unsigned char)'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:497: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `constructPacket()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:101: multiple definition of `constructPacket()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:101: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `idle()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:76: multiple definition of `idle()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:76: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_update()':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:51: multiple definition of `modbus_update()'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:51: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `ModbusPort'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `register_array'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `packet'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `packetArray'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `total_no_of_packets'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `delayStart'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `frameDelay'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `T1_5'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `polling'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `timeout'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `buffer'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `frame'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `TxEnablePin'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `retry_count'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
libraries\SimpleModbusMasterV2rev2\SimpleModbusMaster.cpp.o: In function `modbus_construct(Packet*, unsigned char, unsigned char, unsigned int, unsigned int, unsigned int)':
C:\Users\Jagroop\Documents\Arduino\libraries\SimpleModbusMasterV2rev2/SimpleModbusMaster.cpp:150: multiple definition of `state'
sketch\SimpleModbusMaster.cpp.o:sketch/SimpleModbusMaster.cpp:150: first defined here
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board Industruino D21G.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Hi,
I have only one file in my sketch
Another file of same version in C:\users\arduino\libraries\...........
if I remove the file from libraries then it says compilation error
if i keep still it gives same above error
Hi, it seems you have multiple versions of the modbus library files on your system; maybe you have put an extra copy in your sketch folder? please check
Your answer
Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!
Keep Informed
About This Forum
This community is for professionals and enthusiasts of our products and services.
Read GuidelinesQuestion tools
Stats
Asked: 8/21/18, 11:41 AM |
Seen: 2674 times |
Last updated: 8/22/18, 6:33 AM |