$ sudo find / -name "modbus\.h" /usr/include/modbus/modbus.h |
$ ll /usr/lib/x86_64-linux-gnu/libmodbus.so* lrwxrwxrwx 1 root root 18 12월 4 01:53 /usr/lib/x86_64-linux-gnu/libmodbus.so -> libmodbus.so.5.0.5 lrwxrwxrwx 1 root root 18 12월 4 01:53 /usr/lib/x86_64-linux-gnu/libmodbus.so.5 -> libmodbus.so.5.0.5 -rw-r--r-- 1 root root 39256 12월 4 01:53 /usr/lib/x86_64-linux-gnu/libmodbus.so.5.0.5 |
$ cat Makefile all: gcc modbus_tcp_server.c -o modbustcp -I/usr/include/modbus -lmodbus -L/usr/lib/x86_64-linux-gnu clean: rm modbustcp |
$ pkg-config --libs --cflags libmodbus -I/usr/include/modbus -lmodbus |
[링크 : https://github.com/stephane/libmodbus/issues/123]
+
modbus_mapping_new_start_address()가 없고 modbus_mapping_new() 있긴 하다..
$ readelf -Ws /usr/lib/x86_64-linux-gnu/libmodbus.so | grep "modbus_" 48: 0000000000004ce0 222 FUNC GLOBAL DEFAULT 12 modbus_report_slave_id 49: 0000000000005320 208 FUNC GLOBAL DEFAULT 12 _modbus_rtu_check_integrity 50: 0000000000005050 86 FUNC GLOBAL DEFAULT 12 modbus_get_byte_from_bits 51: 0000000000004400 102 FUNC GLOBAL DEFAULT 12 modbus_read_bits 52: 0000000000004fd0 38 FUNC GLOBAL DEFAULT 12 modbus_set_bits_from_byte 53: 00000000000057e0 183 FUNC GLOBAL DEFAULT 12 modbus_rtu_set_serial_mode 54: 00000000000047a0 14 FUNC GLOBAL DEFAULT 12 modbus_write_register 55: 00000000000047b0 470 FUNC GLOBAL DEFAULT 12 modbus_write_bits 56: 0000000000004470 102 FUNC GLOBAL DEFAULT 12 modbus_read_input_bits 57: 0000000000003040 2825 FUNC GLOBAL DEFAULT 12 modbus_reply 58: 0000000000004690 94 FUNC GLOBAL DEFAULT 12 modbus_read_input_registers 59: 00000000000060d0 490 FUNC GLOBAL DEFAULT 12 modbus_tcp_pi_listen 60: 0000000000005ab0 3 FUNC GLOBAL DEFAULT 12 _modbus_tcp_check_integrity 61: 00000000000059f0 97 FUNC GLOBAL DEFAULT 12 _modbus_tcp_build_request_basis 62: 0000000000005000 69 FUNC GLOBAL DEFAULT 12 modbus_set_bits_from_bytes 63: 0000000000006370 150 FUNC GLOBAL DEFAULT 12 modbus_tcp_pi_accept 64: 0000000000005a90 13 FUNC GLOBAL DEFAULT 12 _modbus_tcp_prepare_response_tid 65: 0000000000004780 24 FUNC GLOBAL DEFAULT 12 modbus_write_bit 66: 00000000000050d0 15 FUNC GLOBAL DEFAULT 12 modbus_set_float 67: 00000000000050f0 6 FUNC GLOBAL DEFAULT 12 _modbus_rtu_prepare_response_tid 68: 0000000000005ae0 13 FUNC GLOBAL DEFAULT 12 _modbus_tcp_recv 70: 0000000000005190 11 FUNC GLOBAL DEFAULT 12 _modbus_rtu_recv 71: 0000000000208ce0 128 OBJECT GLOBAL DEFAULT 19 _modbus_tcp_pi_backend 72: 0000000000005de0 115 FUNC GLOBAL DEFAULT 12 _modbus_tcp_pre_check_confirmation 73: 00000000000042e0 10 FUNC GLOBAL DEFAULT 12 modbus_receive_confirmation 74: 0000000000208c60 128 OBJECT GLOBAL DEFAULT 19 _modbus_rtu_backend 75: 00000000000058e0 258 FUNC GLOBAL DEFAULT 12 modbus_new_rtu 76: 0000000000005b70 26 FUNC GLOBAL DEFAULT 12 _modbus_tcp_close 77: 0000000000004df0 4 FUNC GLOBAL DEFAULT 12 modbus_set_debug 78: 0000000000002dd0 9 FUNC GLOBAL DEFAULT 12 modbus_set_response_timeout 80: 0000000000006410 205 FUNC GLOBAL DEFAULT 12 modbus_new_tcp 81: 0000000000002730 261 FUNC GLOBAL DEFAULT 12 modbus_strerror 82: 00000000000028d0 78 FUNC GLOBAL DEFAULT 12 modbus_flush 83: 0000000000005c20 209 FUNC GLOBAL DEFAULT 12 _modbus_tcp_select 84: 0000000000002dc0 9 FUNC GLOBAL DEFAULT 12 modbus_get_response_timeout 85: 00000000000051a0 31 FUNC GLOBAL DEFAULT 12 _modbus_rtu_close 86: 0000000000002de0 9 FUNC GLOBAL DEFAULT 12 modbus_get_byte_timeout 87: 0000000000005aa0 12 FUNC GLOBAL DEFAULT 12 _modbus_tcp_send_msg_pre 88: 0000000000006f30 4 OBJECT GLOBAL DEFAULT 14 libmodbus_version_micro 89: 0000000000005ac0 3 FUNC GLOBAL DEFAULT 12 _modbus_tcp_filter_request 90: 0000000000002db0 4 FUNC GLOBAL DEFAULT 12 modbus_get_socket 91: 00000000000042d0 7 FUNC GLOBAL DEFAULT 12 modbus_receive 92: 0000000000005a60 34 FUNC GLOBAL DEFAULT 12 _modbus_tcp_build_response_basis 93: 0000000000004e00 296 FUNC GLOBAL DEFAULT 12 modbus_mapping_new 94: 0000000000002e00 8 FUNC GLOBAL DEFAULT 12 modbus_get_header_length 95: 0000000000002d50 48 FUNC GLOBAL DEFAULT 12 _modbus_init_common 96: 0000000000004620 101 FUNC GLOBAL DEFAULT 12 modbus_read_registers 97: 00000000000051d0 209 FUNC GLOBAL DEFAULT 12 _modbus_rtu_select 98: 0000000000002e10 7 FUNC GLOBAL DEFAULT 12 modbus_connect 99: 0000000000002df0 9 FUNC GLOBAL DEFAULT 12 modbus_set_byte_timeout 101: 0000000000004ad0 526 FUNC GLOBAL DEFAULT 12 modbus_write_and_read_registers 102: 0000000000002da0 4 FUNC GLOBAL DEFAULT 12 modbus_set_socket 103: 0000000000002d90 12 FUNC GLOBAL DEFAULT 12 modbus_set_error_recovery 104: 0000000000005fc0 260 FUNC GLOBAL DEFAULT 12 modbus_tcp_listen 106: 0000000000005ad0 16 FUNC GLOBAL DEFAULT 12 _modbus_tcp_send 107: 0000000000004990 320 FUNC GLOBAL DEFAULT 12 modbus_write_registers 108: 0000000000005180 11 FUNC GLOBAL DEFAULT 12 _modbus_rtu_send 109: 0000000000006f34 4 OBJECT GLOBAL DEFAULT 14 libmodbus_version_minor 110: 00000000000052b0 54 FUNC GLOBAL DEFAULT 12 _modbus_rtu_filter_request 111: 0000000000004f30 66 FUNC GLOBAL DEFAULT 12 modbus_mapping_free 113: 0000000000006f38 4 OBJECT GLOBAL DEFAULT 14 libmodbus_version_major 114: 00000000000058a0 49 FUNC GLOBAL DEFAULT 12 modbus_rtu_get_serial_mode 115: 0000000000003b50 231 FUNC GLOBAL DEFAULT 12 modbus_reply_exception 116: 0000000000005af0 126 FUNC GLOBAL DEFAULT 12 _modbus_tcp_flush 117: 00000000000064e0 328 FUNC GLOBAL DEFAULT 12 modbus_new_tcp_pi 118: 00000000000062c0 164 FUNC GLOBAL DEFAULT 12 modbus_tcp_accept 119: 0000000000005100 121 FUNC GLOBAL DEFAULT 12 _modbus_rtu_send_msg_pre 120: 0000000000002d80 7 FUNC GLOBAL DEFAULT 12 modbus_set_slave 121: 0000000000208d60 128 OBJECT GLOBAL DEFAULT 19 _modbus_tcp_backend 122: 0000000000002f60 209 FUNC GLOBAL DEFAULT 12 modbus_send_raw_request 123: 0000000000002e20 18 FUNC GLOBAL DEFAULT 12 modbus_close 124: 00000000000050b0 23 FUNC GLOBAL DEFAULT 12 modbus_get_float 125: 00000000000051c0 13 FUNC GLOBAL DEFAULT 12 _modbus_rtu_flush 129: 0000000000004dc0 34 FUNC GLOBAL DEFAULT 12 modbus_free |
이름은 libmodbus5 인데 왜 버전은 3.0.6이 나오냐 -_-
[링크 : https://ubuntu.pkgs.org/18.04/ubuntu-universe-amd64/libmodbus5_3.0.6-2_amd64.deb.html]
[링크 : https://github.com/stephane/libmodbus/blob/v3.0.6/tests/unit-test-server.c]
[링크 : https://github.com/stephane/libmodbus/blob/master/tests/unit-test-server.c]
'프로그램 사용 > libmodbus' 카테고리의 다른 글
libmodbus poll 적용 (0) | 2022.05.04 |
---|---|
modbus tcp (0) | 2022.05.04 |
libmodbus tcp 예제 (0) | 2022.05.04 |
libmodbus (0) | 2022.05.03 |
modbus tcp 테스트 툴 (0) | 2022.05.03 |