Skip to content
Snippets Groups Projects
Commit 8dc0cbc0 authored by al.schwinn's avatar al.schwinn
Browse files

Bug 1387 - Provide Command-Line Silecs Client

- examples for getBlock and getDevice
parent 304eab2f
No related branches found
No related tags found
No related merge requests found
#!/bin/sh
set -e
CPU="x86_64"
SCRIPT=$(readlink -f "$0")
SCRIPTPATH=$(dirname "$SCRIPT") # path where this script is located in
SNAP7_PATH=${SCRIPTPATH}/../../../git/snap7/snap7-full/build/bin/${CPU}-linux
BINARY="${SCRIPTPATH}/../build/bin/${CPU}/silecs-cli-client"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SNAP7_PATH
echo "##### LD_LIBRARY_PATH: ###################################################################################"
echo "$LD_LIBRARY_PATH"
echo "##########################################################################################################"
echo ""
PARAM_FILE=/common/home/bel/schwinn/lnx/workspace-silecs-neon/SiemensTestDU/generated/client/tsts7001.silecsparam
BLOCK=MyAcquisitionBlock
DEVICE=MyDevice1
# config for SiemensTestDU
ARGUMENTS="-f $PARAM_FILE -b $BLOCK -d $DEVICE -m GET_BLOCK"
COMMAND="$BINARY $ARGUMENTS"
$COMMAND
#!/bin/sh #!/bin/sh
set -e set -e
\ No newline at end of file
CPU="x86_64"
SCRIPT=$(readlink -f "$0")
SCRIPTPATH=$(dirname "$SCRIPT") # path where this script is located in
SNAP7_PATH=${SCRIPTPATH}/../../../git/snap7/snap7-full/build/bin/${CPU}-linux
BINARY="${SCRIPTPATH}/../build/bin/${CPU}/silecs-cli-client"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SNAP7_PATH
echo "##### LD_LIBRARY_PATH: ###################################################################################"
echo "$LD_LIBRARY_PATH"
echo "##########################################################################################################"
echo ""
PARAM_FILE=/common/home/bel/schwinn/lnx/workspace-silecs-neon/SiemensTestDU/generated/client/tsts7001.silecsparam
DEVICE=MyDevice1
# config for SiemensTestDU
ARGUMENTS="-f $PARAM_FILE -d $DEVICE -m GET_DEVICE"
COMMAND="$BINARY $ARGUMENTS"
$COMMAND
...@@ -10,11 +10,18 @@ SNAP7_PATH=${SCRIPTPATH}/../../../git/snap7/snap7-full/build/bin/${CPU}-linux ...@@ -10,11 +10,18 @@ SNAP7_PATH=${SCRIPTPATH}/../../../git/snap7/snap7-full/build/bin/${CPU}-linux
BINARY="${SCRIPTPATH}/../build/bin/${CPU}/silecs-cli-client" BINARY="${SCRIPTPATH}/../build/bin/${CPU}/silecs-cli-client"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SNAP7_PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SNAP7_PATH
echo "##### LD_LIBRARY_PATH: ######" echo "##### LD_LIBRARY_PATH: ###################################################################################"
echo "$LD_LIBRARY_PATH" echo "$LD_LIBRARY_PATH"
echo "###################################################################" echo "##########################################################################################################"
echo ""
PARAM_FILE=/common/home/bel/schwinn/lnx/workspace-silecs-neon/SiemensTestDU/generated/client/tsts7001.silecsparam PARAM_FILE=/common/home/bel/schwinn/lnx/workspace-silecs-neon/SiemensTestDU/generated/client/tsts7001.silecsparam
REGISTER=DQ_Anlog00
DEVICE=MyDevice1
DELAY_MICRO_SEC=100000
# config for SiemensTestDU # config for SiemensTestDU
$BINARY -f $PARAM_FILE -p 1000 -d MyDevice1 -r DQ_Anlog00 -m GET_REGISTER ARGUMENTS="-f $PARAM_FILE -p $DELAY_MICRO_SEC -d $DEVICE -r $REGISTER -m GET_REGISTER"
COMMAND="$BINARY $ARGUMENTS"
$COMMAND
...@@ -121,6 +121,7 @@ std::vector<std::string> getBlockNamesFromDeviceName(std::string deviceName, Si ...@@ -121,6 +121,7 @@ std::vector<std::string> getBlockNamesFromDeviceName(std::string deviceName, Si
boost::ptr_vector<Silecs::ElementXML>::iterator block; boost::ptr_vector<Silecs::ElementXML>::iterator block;
for( block = blocks.begin();block!= blocks.end(); block++) for( block = blocks.begin();block!= blocks.end(); block++)
{ {
//std::cout<< block->getAttribute("name") << std::endl;
blockNames.push_back(block->getAttribute("name")); blockNames.push_back(block->getAttribute("name"));
} }
return blockNames; return blockNames;
...@@ -136,18 +137,22 @@ std::string getRegisterValueAsString(Silecs::Register* reg ) ...@@ -136,18 +137,22 @@ std::string getRegisterValueAsString(Silecs::Register* reg )
os << reg->getInputValAsString(i, j) << " "; os << reg->getInputValAsString(i, j) << " ";
return os.str(); return os.str();
} }
void printTableHead()
{
std::cout << "|\tDevice\t\t|\tBlock\t\t|\tRegister\t|\tValue\t\t|" << std::endl;
std::cout << "-------------------------------------------------------------------------------------------------------------------------" << std::endl;
}
void printRegister(Silecs::Device *device, Silecs::Register* reg ) void printRegister(Silecs::Device *device, Silecs::Register* reg )
{ {
device->recv(arg_blockName);
if( arg_silent ) if( arg_silent )
{ {
std::cout << getRegisterValueAsString(reg) << std::endl; std::cout << getRegisterValueAsString(reg) << std::endl;
} }
else else
{ {
std::cout << "|" << device->getLabel() << "|" << reg->getBlockName() << "|" << reg->getName() << "|" << getRegisterValueAsString(reg) << "|" << std::endl; std::cout << "|\t" << device->getLabel() << "\t|\t" << reg->getBlockName() << "\t|\t" << reg->getName() << "\t|\t" << getRegisterValueAsString(reg) << "\t|" << std::endl;
//reg->printVal();
} }
} }
...@@ -212,6 +217,11 @@ int connectNonInteractive(Silecs::Service *service, Silecs::XMLParser &paramPars ...@@ -212,6 +217,11 @@ int connectNonInteractive(Silecs::Service *service, Silecs::XMLParser &paramPars
arg_blockName = getSilecsBlockNamebyRegisterName(arg_registerName, paramParser); arg_blockName = getSilecsBlockNamebyRegisterName(arg_registerName, paramParser);
} }
if( !arg_silent )
{
printTableHead();
}
do do
{ {
switch(arg_mode) switch(arg_mode)
...@@ -223,6 +233,7 @@ int connectNonInteractive(Silecs::Service *service, Silecs::XMLParser &paramPars ...@@ -223,6 +233,7 @@ int connectNonInteractive(Silecs::Service *service, Silecs::XMLParser &paramPars
printBlock(device, arg_blockName, paramParser); printBlock(device, arg_blockName, paramParser);
break; break;
case GET_REGISTER: case GET_REGISTER:
device->recv(arg_blockName);
printRegister(device, reg); printRegister(device, reg);
break; break;
case SET_REGISTER: case SET_REGISTER:
...@@ -251,7 +262,7 @@ int main(int argc, char **argv) ...@@ -251,7 +262,7 @@ int main(int argc, char **argv)
while ((opt = getopt(argc, argv, ":l:hp:r:b:d:f:m:is")) != -1) while ((opt = getopt(argc, argv, ":l:hp:r:b:d:f:m:is")) != -1)
{ {
std::istringstream ss(optarg);
switch (opt) switch (opt)
{ {
case 'h': case 'h':
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment