WARNING The program is still under development, it is not yet suitable for its task.
v0.1-alpha2:
The next release with the following changes:
- Bug fixes,
- Modbus/ASCII and Modbus/RTU communication,
- handling of constants,
- three predefined constants and
- 28 new command (total: 94).
- Script syntax highlighting file for Micro.
- More example script file.
v0.1-alpha1:
This test release is not yet suitable for work, although it is functional, but it can only communicate via Modbus/ASCII.
The purpose of this release is to test the program’s construction, operation, packaging, and package installation in all supported environments. In addition, the documentation and other files are checked for possible typos and errors.
features | |
---|---|
architecture | amd64, armhf, i386, x86_64 |
operation system | DOS, FreeBSD, Linux, Windows |
version | v0.1 |
language | en, hu |
licence | EUPL v1.2 |
local user interface | CLI and TUI |
running modes | command line, full-screen or interpreter |
local Modbus registers | 2x10000 boolean and 2x10000 word type |
variables | max. 128 variables (stored as string) |
built-in commands | 94 command s in 9 categories |
load from file | registers, script, settings |
save to file | command history, console trafic, registers, communication settings, user log with timestamp |
auto save to file | general settings and console traffic |
export to file | history (TXT), registers (CSV, INI, XML) |
import to file | registers (INI, XML) |
configurable devices | max. 8 settings, serial and ethernet port |
configurable protocols | max. 8 settings, ASCII, RTU or TCP |
configurable connections | max. 8 settings by combining the previous two |
raw communication | raw r/w from/to serial port and mini serial console with char/hex echo |
Modbus communication | read and write remote device and copy between devices |
internal server for remote access to own registers | |
gateway to access devices using other ports or protocols | |
script size | max. 1024 line |
example scripts | 7 scripts (shellscript and batch file versions) |
script syntax plugins | for Micro editor |
command | category | description |
---|---|---|
add | arithmetic | addition |
avg | arithmetic | average calculation |
conv | arithmetic | convert numbers between BIN, DEC, HEX and OCT format |
cos | arithmetic | cosine function |
cotan | arithmetic | cotangent function |
dec | arithmetic | decrement integer |
div | arithmetic | division |
exp | arithmetic | natural exponential |
idiv | arithmetic | integer division |
imod | arithmetic | modulus division |
inc | arithmetic | increment integer |
inrange | arithmetic | check the value is in the range |
ln | arithmetic | natural logarithm |
mul | arithmetic | multiplication |
mulinv | arithmetic | multiplicative inverse |
odd | arithmetic | odd or event |
pow | arithmetic | exponentiation |
pow2 | arithmetic | exponentiation of two |
prop | arithmetic | propotional value calculation (with zero and span) |
rnd | arithmetic | create random integer |
round | arithmetic | round real number |
sin | arithmetic | sine function |
sqr | arithmetic | square |
sqrt | arithmetic | square root |
sub | arithmetic | substraction |
tan | arithmetic | tangent function |
copy | communication | copy one or more remote registers between two connections |
mbgw | communication | start internal Modbus gateway |
mbsrv | communication | start internal Modbus slave/server |
read | communication | read one or more remote registers |
sercons | communication | serial console |
serread | communication | read a string from serial device |
serwrite | communication | write a string from serial device |
write | communication | write data to one or more remote registers |
get | configuration | get setting of a device, protocol, connection or get project name |
reset | configuration | reset device, protocol or connection or reset project name |
set | configuration | set device, protocol or connection or set project name |
applog | file | append a record to log file (LOG) |
exphis | file | export command line history to file (TXT) |
expreg | file | export one or more registers to file (CSV, INI, XML) |
impreg | file | import one or more registers from file (INI, XML) |
loadcfg | file | load settings of device, protocol and connection (?DT) |
loadreg | file | load all buffer registers from typed file (?DT) |
savecfg | file | save settings of device, protocol and connection (?DT) |
savereg | file | save all registers to typed file (?DT) |
ascii | general | show ASCII table |
beep | general | make a beep with internal speaker |
cls | general | clear screen |
color | general | set colors |
const | general | show all constant with theirs value or define a new one |
cron | general | loaded script scheduled execution |
date | general | show system date and time |
echo | general | enable/hexadecimal/disable local echo for serial connections |
exit | general | exit |
for | general | loop iteration |
goto | general | jump to specified label |
help | general | show description or usage of the commands |
if | general | selection statement |
label | general | make label for goto command |
pause | general | print a message and wait for a keystroke or specified time |
general | print message, value of the variable and register | |
var | general | show all variable with theirs value or define a new one |
varmon | general | monitoring the value of variables |
ver | general | show version and build information of this program |
and | logic | AND logical operations |
bit | logic | value of the specified bit |
not | logic | NOT logical operations |
or | logic | OR logical operations |
roll | logic | roll bit of integer to left |
rolr | logic | roll bit of integer to right |
shl | logic | bit shift to left |
shr | logic | bit shift to right |
xor | logic | XOR logical operations |
dump | register | dump all registers in binary/hexadecimal format to a table |
let | register | set value of a variable or register |
edit | script | edit loaded script with line editor |
list | script | list loaded script |
loadscr | script | load scriptfile |
run | script | run loaded script |
savescr | script | save loaded script to disc |
chr | string | convert byte to char |
concat | string | concatenate strings |
length | string | length of string |
lowcase | string | conversion to lowercase |
mkcrc | string | make CRC value |
mklrc | string | make LRC value |
ord | string | convert char to byte |
strdel | string | delete specified element(s) of the string |
strfind | string | find specified element in the string |
strins | string | insert element into string |
stritem | string | specified element of the string |
strrepl | string | replace element in the string |
upcase | string | conversion to uppercase |
name | value |
---|---|
$? | exit value of the commands |
$PI | value of Π (3.1415926535897932385) |
$EULER | value of e (2.7182818284590452354) |
name | version | OS | arch. | type | note |
source package | v0.1-alpha2 | tar.gz | |||
binary package | v0.1-alpha2 | DOS | i386 | exe | SFX |
binary package | v0.1-alpha2 | DOS | i386 | zip | |
binary package with source code | v0.1-alpha2 | FreeDOS | i386 | zip | |
binary package | v0.1-alpha2 | Linux | i386 | bin | SFX |
binary package | v0.1-alpha2 | Linux | amd64 | bin | SFX |
binary package | v0.1-alpha2 | Linux | armhf | bin | SFX |
binary package | v0.1-alpha2 | Linux | i386 | zip | |
binary package | v0.1-alpha2 | Linux | amd64 | zip | |
binary package | v0.1-alpha2 | Linux | armhf | zip | |
installer package | v0.1-alpha2 | Debian GNU/Linux | i386 | deb | |
installer package | v0.1-alpha2 | Debian GNU/Linux | amd64 | deb | |
installer package | v0.1-alpha2 | Raspberry Pi OS | armhf | deb | |
installer package | v0.1-alpha2 | OpenSuSE | i386 | rpm | |
installer package | v0.1-alpha2 | OpenSuSE | amd64 | rpm | |
installer package | v0.1-alpha2 | Slackware | i386 | txz | |
installer package | v0.1-alpha2 | Slackware | amd64 | txz | |
binary package | v0.1-alpha2 | FreeBSD | i386 | bin | SFX |
binary package | v0.1-alpha2 | FreeBSD | amd64 | bin | SFX |
binary package | v0.1-alpha2 | FreeBSD | i386 | zip | |
binary package | v0.1-alpha2 | FreeBSD | amd64 | zip | |
installer package | v0.1-alpha2 | FreeBSD | i386 | pkg | |
installer package | v0.1-alpha2 | FreeBSD | amd64 | pkg | |
binary package | v0.1-alpha2 | Windows | i386 | zip | |
binary package | v0.1-alpha2 | Windows | x86_64 | zip | |
installer package | v0.1-alpha2 | Windows | i386 | exe | |
installer package | v0.1-alpha2 | Windows | x86_64 | exe | |
installer package | v0.1-alpha2 | Windows | i386 | msi | |
installer package | v0.1-alpha2 | Windows | x86_64 | msi |
git clone https://github.com/pozsarzs/modshell.git