WinCC OA as Linux Service
You can configure WinCC OA as service and start a project also when a user is not logged in (see also WinCC OA as service) under Linux just as under Windows. The PMON with the defined project will be started when the system is started.
If WinCC OA is used as service and SNMP is used, the user account that
is used has to possess write rights to the directories
<proj_path>/log and
<proj_path>/db.
Under Linux, there are multiple possibilities to configure WinCC OA as
service. We recommend using the systemd service file.
systemd Service File
During the rpm installation of WinCC OA, the file
/etc/systemd/system/winccoa@.service is created. This file is
only used by the following systemctl commands (and
systemd). The projectName to be used is simply given as an
"instance" name to it.
There is usually no need for a system integrator to change the file.
Activate Service
If you are a system integrator and want to define a specific (already registered) WinCC OA project to be started automatically at system startup, enter the following command:
systemctl enable winccoa@projectName
Deactivate Service
To deactivate such a configuration again, enter:
systemctl disable winccoa@projectName
Manually Start Project
To start such a project manually:
systemctl start winccoa@projectName
Manually Stop Project
To stop such a project manually:
systemctl stop winccoa@projectName
Request Status
To request current status:
systemctl status winccoa@projectName
System Log
To view the systems log (journal):
journalctl
As seen above, the winccoa@.service file is not changed manually, but systemd manages to create symbolic links to this file that contain the project name.
Run Project for Specific User
It is often desired to execute a project with the authorizations of a specific operating system user. To do this, the system integrator needs to modify the service file manually and comment out the line
#User=
to set the desired user, to e.g.
User=winccoa
Environment="HOME=/path/to/desired/home/directory".Project as a service with RDB
To run a WinCC OA Project as a service with RDB under Linux you have to define the
following variables in the file
/etc/systemd/system/winccoa@.service
[Unit]
Description=WinCC OA project '%i'
[Service]
ExecStart=/opt/WinCC_OA/3.21/bin/WCCILpmon -proj %i
ExecStop=/opt/WinCC_OA/3.21/bin/WCCILpmon -proj %i -stopWait
Environment="ORACLE_HOME=/disc/oracle/product/19.3.0.0/Db_1"
[Install]
WantedBy=multi-user.target
