Crates.io | load_lpp |
lib.rs | load_lpp |
version | 11.0.3 |
source | src |
created_at | 2022-12-30 18:31:44.599664 |
updated_at | 2022-12-30 18:31:44.599664 |
description | CLI apps for logging, processing, and plotting load time series |
homepage | |
repository | https://github.com/Peruz/load_lpp |
max_upload_size | |
id | 747990 |
size | 417,810 |
This crate compiles the following three binaries for logging, preprocessing, and plotting load time series. The application is written in Rust and targets low-level optimization and long-term stability.
CLI application to log load cells via the common DAD 141.1 digital amplifier with TCP-UTF8. The application allows automatic logging at rounded intervals of minutes or hours that are divisors of 1 day. Valid minutes intervals are 1, 2, 3, 5, 10, 15, 20, 30, and 60 minute(s). Valid hours intervals are 1, 2, 3, 6, 12, and 24 hour(s). The standard format RFC 3339 - ISO 8601 is used for the datetime to be more general and robust to time zones and daylight saving.
This CLI application processes the load time series with the following steps:
CLI application to plot the load time series saved by dad141_log or load_process. The application automatically adjust the datetime format. The output format of the figure is svg.
Note, throughout the crate, load is used for the load cells data, while weight is used for the moving average.
Documentation: rust_crate
The CLI applications are written in the Rust programming language.
2.4
to display the actual raw voltage mV/V.See examples in the DAD manual and section 7.4 (pag. 34) in the DOP manual.
1.2 - CZ
(gravimetric) or 1.3 - AZ
(electronic), this associates the current measured voltage (mV/V) with the zero reading.2.1
, set RO_kg_sum.2.3
.span_kg = RO_kg_sum = RO_kg_1 + RO_kg_2 + ... RO_kg_n.
For example, span_kg = 20kN * 6 load cells = 120 kN = 120 = 12,236.5921 kg. Set RO_kg_sum in DAD 141.1 function 2.1.
RO_V_1 + RO_V_2 + ... + RO_V_n = RO_V_sum, in mV/V.
span_V = (V_sum / kg_sum) * kg_max, in mV/V. In our case 12.00062 / 6 = 2.000103333 mV/V.
In our case, SPAN_V = 2.00032 + 2.00034 + 1.99979 + 2.00014 + 2.00011 + 1.99992 = 12.00062 mV/V. Put span_V in function 2.3.
Where:
kg@x = (mV@x / (mV@RO * ExcitationVoltage)) * kg@RO
For example, if kg@RO = 2039.43 kg mv/V@RO ~ 2 mv/V ExcitationVoltage should be 5 V
2040 kg should give 10mV (i.e., 2 mv/V * 5 V) 1020 kg should give 5mV (i.e., 2 mv/V * 5 V / 2) in general, 204 kg = 1 mV
The application expects the 10-byte DAD format, with flexibility on the position of the decimal separator. The first two characters are the description of the value and are excluded from the parsing of the numerical load value. However, the raw string is also written into the csv file to avoid losing information on the type of reading and recover the values in case of parsing errors. Possible whitespace-property characters (Unicode standard) will be correctly trimmed and ignored.
Three types of mounting modules are used to obtain the correct degrees of freedom, matching the deformation of the system.
Align the load cells considering the degrees of freedom of the mechanical deformation. In particular, pay attention to the fixed and bumper load cell, and their alignment with respect to the main deformation at the bumper. See figures are in the manuals.
It is used to protect the mobile parts of the mounting module during their movement (rocker pin and matching top surface). Some examples are:
The command line applications are suited for remote monitoring. A possible solution to establish remote and persistent connection is the use of ssh and tmux. In addition, scp can be used to copy-transfer the data.
ifconfig
.host ipaddr_from_ifconfig
.ssh user@ip
tmux
./compiled_binary --help
Ctrl+b
then d
, which returns [detached (from session n)]tmux ls
, it should return n: 1 windows (created datetime 2), where datetime is of point 2exit
, it returns Connection to uset@ip closedssh user@ip
, as step 1 of startingtmux ls
, as step 5 of startingtmux attach -t n
, where n is the number from starting step 4scp
, e.g., scp user@localhost:~/path/to/file/loadcells.csv ./Desktop/
ssh user@ip
, as step 1 of startingtmux ls
, as step 5 of startingCtrl+c
, should return [exited]tmux ls
, should return no server running on ...