Skip to content

Commit 8f0e6c6

Browse files
authored
Merge pull request #2274 from hansu/add-mb2hal-tests
add test for mb2hal version 1.0
2 parents 44c1277 + c0b892e commit 8f0e6c6

6 files changed

Lines changed: 360 additions & 0 deletions

File tree

tests/mb2hal/mb2hal.1a/expected

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
mb2hal parse_common_section DEBUG: [MB2HAL_INIT] [INIT_DEBUG] [3]
2+
mb2hal parse_common_section DEBUG: [MB2HAL_INIT] [HAL_MODULE_NAME] [mb2hal]
3+
mb2hal parse_common_section DEBUG: [MB2HAL_INIT] [SLOWDOWN] [0.000]
4+
mb2hal parse_common_section DEBUG: [MB2HAL_INIT] [TOTAL_TRANSACTIONS] [5]
5+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_00] [LINK_TYPE] [serial] [0]
6+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_00] [SERIAL_PORT] [/dev/ttyUSB0]
7+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_00] [SERIAL_BAUD] [19200]
8+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_00] [SERIAL_BITS] [8]
9+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_00] [SERIAL_PARITY] [none]
10+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_00] [SERIAL_STOP] [1]
11+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_00] [SERIAL_DELAY_MS] [2]
12+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_00] [MB_SLAVE_ID] [240]
13+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_00] [FIRST_ELEMENT] [0]
14+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_00] [NELEMENTS] [4]
15+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_00] [MAX_UPDATE_RATE] [20.000]
16+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_00] [MB_RESPONSE_TIMEOUT_MS] [500]
17+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_00] [MB_BYTE_TIMEOUT_MS] [500]
18+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_00] [DEBUG] [0]
19+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_00] [MB_TX_CODE] [fnct_02_read_discrete_inputs] [1]
20+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_00] [HAL_TX_NAME] [Modbus_fnct_02]
21+
mb2hal parse_ini_file OK: parse_transaction_section 0 OK
22+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_01] [LINK_TYPE] [serial] [0]
23+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_01] [SERIAL_PORT] [/dev/ttyUSB0]
24+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_01] [SERIAL_BAUD] [19200]
25+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_01] [SERIAL_BITS] [8]
26+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_01] [SERIAL_PARITY] [none]
27+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_01] [SERIAL_STOP] [1]
28+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_01] [SERIAL_DELAY_MS] [2]
29+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_01] [MB_SLAVE_ID] [240]
30+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_01] [FIRST_ELEMENT] [0]
31+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_01] [NELEMENTS] [4]
32+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_01] [MAX_UPDATE_RATE] [100.000]
33+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_01] [MB_RESPONSE_TIMEOUT_MS] [500]
34+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_01] [MB_BYTE_TIMEOUT_MS] [500]
35+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_01] [DEBUG] [0]
36+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_01] [MB_TX_CODE] [fnct_03_read_holding_registers] [2]
37+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_01] [HAL_TX_NAME] [Modbus_fnct_03]
38+
mb2hal parse_ini_file OK: parse_transaction_section 1 OK
39+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_02] [LINK_TYPE] [serial] [0]
40+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_02] [SERIAL_PORT] [/dev/ttyUSB0]
41+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_02] [SERIAL_BAUD] [19200]
42+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_02] [SERIAL_BITS] [8]
43+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_02] [SERIAL_PARITY] [none]
44+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_02] [SERIAL_STOP] [1]
45+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_02] [SERIAL_DELAY_MS] [2]
46+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_02] [MB_SLAVE_ID] [240]
47+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_02] [FIRST_ELEMENT] [0]
48+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_02] [NELEMENTS] [4]
49+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_02] [MAX_UPDATE_RATE] [100.000]
50+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_02] [MB_RESPONSE_TIMEOUT_MS] [500]
51+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_02] [MB_BYTE_TIMEOUT_MS] [500]
52+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_02] [DEBUG] [0]
53+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_02] [MB_TX_CODE] [fnct_06_write_single_register] [4]
54+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_02] [HAL_TX_NAME] [Modbus_fnct_06]
55+
mb2hal parse_ini_file OK: parse_transaction_section 2 OK
56+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_03] [LINK_TYPE] [serial] [0]
57+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_03] [SERIAL_PORT] [/dev/ttyUSB0]
58+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_03] [SERIAL_BAUD] [19200]
59+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_03] [SERIAL_BITS] [8]
60+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_03] [SERIAL_PARITY] [none]
61+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_03] [SERIAL_STOP] [1]
62+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_03] [SERIAL_DELAY_MS] [2]
63+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_03] [MB_SLAVE_ID] [240]
64+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_03] [FIRST_ELEMENT] [0]
65+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_03] [NELEMENTS] [4]
66+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_03] [MAX_UPDATE_RATE] [100.000]
67+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_03] [MB_RESPONSE_TIMEOUT_MS] [500]
68+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_03] [MB_BYTE_TIMEOUT_MS] [500]
69+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_03] [DEBUG] [0]
70+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_03] [MB_TX_CODE] [fnct_15_write_multiple_coils] [5]
71+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_03] [HAL_TX_NAME] [Modbus_fnct_15]
72+
mb2hal parse_ini_file OK: parse_transaction_section 3 OK
73+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_04] [LINK_TYPE] [serial] [0]
74+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_04] [SERIAL_PORT] [/dev/ttyUSB0]
75+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_04] [SERIAL_BAUD] [19200]
76+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_04] [SERIAL_BITS] [8]
77+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_04] [SERIAL_PARITY] [none]
78+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_04] [SERIAL_STOP] [1]
79+
mb2hal parse_serial_subsection DEBUG: [TRANSACTION_04] [SERIAL_DELAY_MS] [2]
80+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_04] [MB_SLAVE_ID] [240]
81+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_04] [FIRST_ELEMENT] [0]
82+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_04] [NELEMENTS] [4]
83+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_04] [MAX_UPDATE_RATE] [100.000]
84+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_04] [MB_RESPONSE_TIMEOUT_MS] [500]
85+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_04] [MB_BYTE_TIMEOUT_MS] [500]
86+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_04] [DEBUG] [0]
87+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_04] [MB_TX_CODE] [fnct_16_write_multiple_registers] [6]
88+
mb2hal parse_transaction_section DEBUG: [TRANSACTION_04] [HAL_TX_NAME] [Modbus_fnct_16]
89+
mb2hal parse_ini_file OK: parse_transaction_section 4 OK
90+
mb2hal main OK: parse_ini_file done OK
91+
mb2hal init_mb_links DEBUG: LINK 0 (RTU) link_type[0] device[/dev/ttyUSB0] baud[19200] data[8] parity[N] stop[1] fd[-1]
92+
mb2hal main OK: init_gbl.mb_link done OK
93+
mb2hal init_mb_tx DEBUG: MB_TX 0 lk_n[0] tx_n[0] cfg_dbg[0] lk_dbg[0] t_inc[0.050] nxt_t[0.000]
94+
mb2hal init_mb_tx DEBUG: MB_TX 1 lk_n[0] tx_n[1] cfg_dbg[0] lk_dbg[0] t_inc[0.010] nxt_t[0.000]
95+
mb2hal init_mb_tx DEBUG: MB_TX 2 lk_n[0] tx_n[2] cfg_dbg[0] lk_dbg[0] t_inc[0.010] nxt_t[0.000]
96+
mb2hal init_mb_tx DEBUG: MB_TX 3 lk_n[0] tx_n[3] cfg_dbg[0] lk_dbg[0] t_inc[0.010] nxt_t[0.000]
97+
mb2hal init_mb_tx DEBUG: MB_TX 4 lk_n[0] tx_n[4] cfg_dbg[0] lk_dbg[0] t_inc[0.010] nxt_t[0.000]
98+
mb2hal main OK: init_gbl.mb_tx done OK
99+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [0] pin_name [mb2hal.Modbus_fnct_02.num_errors]
100+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [0] pin_name [mb2hal.Modbus_fnct_02.00]
101+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [0] pin_name [mb2hal.Modbus_fnct_02.01]
102+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [0] pin_name [mb2hal.Modbus_fnct_02.02]
103+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [0] pin_name [mb2hal.Modbus_fnct_02.03]
104+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [1] pin_name [mb2hal.Modbus_fnct_03.num_errors]
105+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [1] pin_name [mb2hal.Modbus_fnct_03.00]
106+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [1] pin_name [mb2hal.Modbus_fnct_03.01]
107+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [1] pin_name [mb2hal.Modbus_fnct_03.02]
108+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [1] pin_name [mb2hal.Modbus_fnct_03.03]
109+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [2] pin_name [mb2hal.Modbus_fnct_06.num_errors]
110+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [2] pin_name [mb2hal.Modbus_fnct_06.00]
111+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [2] pin_name [mb2hal.Modbus_fnct_06.01]
112+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [2] pin_name [mb2hal.Modbus_fnct_06.02]
113+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [2] pin_name [mb2hal.Modbus_fnct_06.03]
114+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [3] pin_name [mb2hal.Modbus_fnct_15.num_errors]
115+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [3] pin_name [mb2hal.Modbus_fnct_15.00]
116+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [3] pin_name [mb2hal.Modbus_fnct_15.01]
117+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [3] pin_name [mb2hal.Modbus_fnct_15.02]
118+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [3] pin_name [mb2hal.Modbus_fnct_15.03]
119+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [4] pin_name [mb2hal.Modbus_fnct_16.num_errors]
120+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [4] pin_name [mb2hal.Modbus_fnct_16.00]
121+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [4] pin_name [mb2hal.Modbus_fnct_16.01]
122+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [4] pin_name [mb2hal.Modbus_fnct_16.02]
123+
mb2hal create_each_mb_tx_hal_pins DEBUG: mb_tx_num [4] pin_name [mb2hal.Modbus_fnct_16.03]
124+
mb2hal main OK: HAL components created OK
125+
mb2hal main OK: Link thread loop and logic 0 created OK
126+
mb2hal main OK: mb2hal is running
127+
mb2hal quit_signal DEBUG: signal [15] received
128+
mb2hal quit_cleanup DEBUG: started
129+
mb2hal quit_cleanup DEBUG: unloading HAL module [4] ret[0]
130+
mb2hal quit_cleanup DEBUG: done OK
131+
mb2hal main OK: going to exit!

tests/mb2hal/mb2hal.1a/mb2hal.ini

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
#This .INI file is also the HELP, MANUAL and HOW-TO file for mb2hal.
2+
3+
#Load the modbus HAL userspace module as the examples below,
4+
#change to match your own HAL_MODULE_NAME and .ini file name
5+
#Using HAL_MODULE_NAME=mb2hal or nothing (default): loadusr -W mb2hal config=config_file.ini
6+
#Using HAL_MODULE_NAME=mymodule: loadusr -Wn mymodule mb2hal config=config_file.ini
7+
8+
#Common section
9+
10+
[MB2HAL_INIT]
11+
12+
#OPTIONAL: Debug level of init and INI file parsing.
13+
# 0 = silent.
14+
# 1 = error messages (default).
15+
# 2 = OK confirmation messages.
16+
# 3 = debugging messages.
17+
18+
INIT_DEBUG=3
19+
20+
#OPTIONAL: HAL module (component) name. Defaults to "mb2hal".
21+
22+
HAL_MODULE_NAME=mb2hal
23+
24+
#OPTIONAL: Insert a delay of "FLOAT seconds" between transactions in order
25+
#to not to have a lot of logging and facilitate the debugging.
26+
#Useful when using DEBUG=3 (NOT INIT_DEBUG=3)
27+
#It affects ALL transactions.
28+
#Use "0.0" for normal activity.
29+
30+
SLOWDOWN=0.0
31+
32+
#REQUIRED: The number of total Modbus transactions. There is no maximum.
33+
34+
TOTAL_TRANSACTIONS=5
35+
36+
#One transaction section is required per transaction, starting at 00 and counting up sequentially.
37+
#If there is a new link (not transaction), you must provide the REQUIRED parameters 1st time.
38+
#Warning: Any OPTIONAL parameter not specified are copied from the previous transaction.
39+
40+
[TRANSACTION_00]
41+
LINK_TYPE=serial
42+
SERIAL_PORT=/dev/ttyUSB0
43+
SERIAL_BAUD=19200
44+
SERIAL_BITS=8
45+
SERIAL_PARITY=none
46+
SERIAL_STOP=1
47+
SERIAL_DELAY_MS=2
48+
MB_SLAVE_ID=240
49+
MB_TX_CODE=fnct_02_read_discrete_inputs
50+
FIRST_ELEMENT=0
51+
NELEMENTS=4
52+
HAL_TX_NAME=Modbus_fnct_02
53+
#Update rate in Hz
54+
MAX_UPDATE_RATE=20
55+
DEBUG=0
56+
57+
[TRANSACTION_01]
58+
MB_TX_CODE=fnct_03_read_holding_registers
59+
FIRST_ELEMENT=0
60+
NELEMENTS=4
61+
HAL_TX_NAME=Modbus_fnct_03
62+
MAX_UPDATE_RATE=100
63+
DEBUG=0
64+
65+
[TRANSACTION_02]
66+
MB_TX_CODE=fnct_06_write_single_register
67+
FIRST_ELEMENT=0
68+
NELEMENTS=4
69+
HAL_TX_NAME=Modbus_fnct_06
70+
MAX_UPDATE_RATE=100
71+
DEBUG=0
72+
73+
[TRANSACTION_03]
74+
MB_TX_CODE=fnct_15_write_multiple_coils
75+
FIRST_ELEMENT=0
76+
NELEMENTS=4
77+
HAL_TX_NAME=Modbus_fnct_15
78+
MAX_UPDATE_RATE=100
79+
DEBUG=0
80+
81+
[TRANSACTION_04]
82+
MB_TX_CODE=fnct_16_write_multiple_registers
83+
FIRST_ELEMENT=0
84+
NELEMENTS=4
85+
HAL_TX_NAME=Modbus_fnct_16
86+
MAX_UPDATE_RATE=100
87+
DEBUG=0
88+
89+

tests/mb2hal/mb2hal.1a/test.hal

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Load MB2HAL
2+
loadusr -W mb2hal config=mb2hal.ini

tests/mb2hal/mb2hal.1b/expected

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Component Pins:
2+
Owner Type Dir Value Name
3+
4 bit OUT FALSE mb2hal.Modbus_fnct_02.00
4+
4 bit OUT FALSE mb2hal.Modbus_fnct_02.01
5+
4 bit OUT FALSE mb2hal.Modbus_fnct_02.02
6+
4 bit OUT FALSE mb2hal.Modbus_fnct_02.03
7+
8+
Component Pins:
9+
Owner Type Dir Value Name
10+
4 float OUT 0 mb2hal.Modbus_fnct_03.00.float
11+
4 s32 OUT 0 mb2hal.Modbus_fnct_03.00.int
12+
4 float OUT 0 mb2hal.Modbus_fnct_03.01.float
13+
4 s32 OUT 0 mb2hal.Modbus_fnct_03.01.int
14+
4 float OUT 0 mb2hal.Modbus_fnct_03.02.float
15+
4 s32 OUT 0 mb2hal.Modbus_fnct_03.02.int
16+
4 float OUT 0 mb2hal.Modbus_fnct_03.03.float
17+
4 s32 OUT 0 mb2hal.Modbus_fnct_03.03.int
18+
19+
Component Pins:
20+
Owner Type Dir Value Name
21+
4 float IN 0 mb2hal.Modbus_fnct_06.00
22+
4 float IN 0 mb2hal.Modbus_fnct_06.01
23+
4 float IN 0 mb2hal.Modbus_fnct_06.02
24+
4 float IN 0 mb2hal.Modbus_fnct_06.03
25+
26+
Component Pins:
27+
Owner Type Dir Value Name
28+
4 bit IN FALSE mb2hal.Modbus_fnct_15.00
29+
4 bit IN FALSE mb2hal.Modbus_fnct_15.01
30+
4 bit IN FALSE mb2hal.Modbus_fnct_15.02
31+
4 bit IN FALSE mb2hal.Modbus_fnct_15.03
32+
33+
Component Pins:
34+
Owner Type Dir Value Name
35+
4 float IN 0 mb2hal.Modbus_fnct_16.00
36+
4 float IN 0 mb2hal.Modbus_fnct_16.01
37+
4 float IN 0 mb2hal.Modbus_fnct_16.02
38+
4 float IN 0 mb2hal.Modbus_fnct_16.03
39+

tests/mb2hal/mb2hal.1b/mb2hal.ini

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
#This .INI file is also the HELP, MANUAL and HOW-TO file for mb2hal.
2+
3+
#Load the modbus HAL userspace module as the examples below,
4+
#change to match your own HAL_MODULE_NAME and .ini file name
5+
#Using HAL_MODULE_NAME=mb2hal or nothing (default): loadusr -W mb2hal config=config_file.ini
6+
#Using HAL_MODULE_NAME=mymodule: loadusr -Wn mymodule mb2hal config=config_file.ini
7+
8+
#Common section
9+
10+
[MB2HAL_INIT]
11+
12+
#OPTIONAL: Debug level of init and INI file parsing.
13+
# 0 = silent.
14+
# 1 = error messages (default).
15+
# 2 = OK confirmation messages.
16+
# 3 = debugging messages.
17+
18+
INIT_DEBUG=0
19+
20+
#OPTIONAL: HAL module (component) name. Defaults to "mb2hal".
21+
22+
HAL_MODULE_NAME=mb2hal
23+
24+
#OPTIONAL: Insert a delay of "FLOAT seconds" between transactions in order
25+
#to not to have a lot of logging and facilitate the debugging.
26+
#Useful when using DEBUG=3 (NOT INIT_DEBUG=3)
27+
#It affects ALL transactions.
28+
#Use "0.0" for normal activity.
29+
30+
SLOWDOWN=0.0
31+
32+
#REQUIRED: The number of total Modbus transactions. There is no maximum.
33+
34+
TOTAL_TRANSACTIONS=5
35+
36+
#One transaction section is required per transaction, starting at 00 and counting up sequentially.
37+
#If there is a new link (not transaction), you must provide the REQUIRED parameters 1st time.
38+
#Warning: Any OPTIONAL parameter not specified are copied from the previous transaction.
39+
40+
[TRANSACTION_00]
41+
LINK_TYPE=serial
42+
SERIAL_PORT=/dev/ttyUSB0
43+
SERIAL_BAUD=19200
44+
SERIAL_BITS=8
45+
SERIAL_PARITY=none
46+
SERIAL_STOP=1
47+
SERIAL_DELAY_MS=2
48+
MB_SLAVE_ID=240
49+
MB_TX_CODE=fnct_02_read_discrete_inputs
50+
FIRST_ELEMENT=0
51+
NELEMENTS=4
52+
HAL_TX_NAME=Modbus_fnct_02
53+
#Update rate in Hz
54+
MAX_UPDATE_RATE=20
55+
DEBUG=0
56+
57+
[TRANSACTION_01]
58+
MB_TX_CODE=fnct_03_read_holding_registers
59+
FIRST_ELEMENT=0
60+
NELEMENTS=4
61+
HAL_TX_NAME=Modbus_fnct_03
62+
MAX_UPDATE_RATE=100
63+
DEBUG=0
64+
65+
[TRANSACTION_02]
66+
MB_TX_CODE=fnct_06_write_single_register
67+
FIRST_ELEMENT=0
68+
NELEMENTS=4
69+
HAL_TX_NAME=Modbus_fnct_06
70+
MAX_UPDATE_RATE=100
71+
DEBUG=0
72+
73+
[TRANSACTION_03]
74+
MB_TX_CODE=fnct_15_write_multiple_coils
75+
FIRST_ELEMENT=0
76+
NELEMENTS=4
77+
HAL_TX_NAME=Modbus_fnct_15
78+
MAX_UPDATE_RATE=100
79+
DEBUG=0
80+
81+
[TRANSACTION_04]
82+
MB_TX_CODE=fnct_16_write_multiple_registers
83+
FIRST_ELEMENT=0
84+
NELEMENTS=4
85+
HAL_TX_NAME=Modbus_fnct_16
86+
MAX_UPDATE_RATE=100
87+
DEBUG=0
88+
89+

tests/mb2hal/mb2hal.1b/test.hal

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Load MB2HAL
2+
loadusr -W mb2hal config=mb2hal.ini
3+
4+
# specifying these pins so detailed to avoid varying values of
5+
# mb2hal.<MB_TX_CODE>.num_errors
6+
show pin mb2hal.Modbus_fnct_02.0
7+
show pin mb2hal.Modbus_fnct_03.0
8+
show pin mb2hal.Modbus_fnct_06.0
9+
show pin mb2hal.Modbus_fnct_15.0
10+
show pin mb2hal.Modbus_fnct_16.0

0 commit comments

Comments
 (0)