Skip to content

Settings Reference

Open Settings from the gear icon in the left sidebar. Settings are organised into three tabs.


A toggle at the top of this section lets you choose the connection method: S7 WebServer (default) or OPC UA. See WebServer Setup and OPC UA Setup for how to enable each on your PLC — OPC UA currently covers fewer features (no diagnostic buffer, alarms, or runtime info yet).

S7 WebServer fields:

Setting Description
IP Address IP address of the PLC WebServer (e.g. 192.168.0.1). Do not include http:// or https://.
Username WebServer user account name. Created in TIA Portal → Security Settings → Users and roles.
Password WebServer password. Never saved to disk — required each session.

OPC UA fields:

Setting Description
Endpoint URL The PLC’s OPC UA endpoint, e.g. opc.tcp://192.168.0.1:4840.
Username OPC UA user account name. Optional — leave blank to connect anonymously if your PLC allows it. May be configured separately from the WebServer login.
Password OPC UA password. Never saved to disk — required each session, same as the WebServer method.

Both methods:

Setting Description
Connect / Disconnect Establishes or closes the PLC session.
Status dot Green = connected, red = disconnected or error.
Setting Description
Connect / Disconnect Starts the bundled MCP server and attaches to the running TIA Portal instance. TIA Portal V21 must be open with a project loaded.
Status dot Green = server running and connected to TIA Portal.

In development builds only, an additional field lets you specify a custom path to the MCP server executable.

Setting Description
Connect / Disconnect Starts the bundled Ladder Migration MCP server.
Status dot Green = server running and ready.

A toggle lets you choose between Anthropic and OpenAI-compatible — the latter covers Ollama, OpenAI, OpenRouter, or any other endpoint that speaks the OpenAI API. See Setup & Models for a full walkthrough of each provider.

Anthropic fields:

Setting Description
API Key Your personal Anthropic API key. Stored encrypted on your local machine using the Windows DPAPI. Never transmitted to S7 PLC Buddy’s servers.
Model The Claude model to use (Opus 5, Sonnet 5, Haiku 4.5, or a custom model ID).

OpenAI-compatible fields:

Setting Description
Base URL The API endpoint, e.g. http://localhost:11434/v1 for Ollama. Quick-fill buttons are provided for Ollama, OpenAI, and OpenRouter.
API Key Optional — leave blank for a local Ollama instance, which needs no authentication. Stored encrypted, sent only to the Base URL above.
Max Output Tokens Optional override for the model’s response length cap. Defaults to 4096 if left blank.
Model Free-text model ID exactly as your provider expects it, e.g. llama3.1 or openai/gpt-4o-mini.

A note appears in the app when a local endpoint is configured: tool-calling reliability varies more with local and smaller models than with Anthropic or a hosted provider.

Setting Description
Workspace Folder The local folder the AI Agent can read from and write to. Click Browse to choose a folder. Default: ~/Documents/S7 PLC Buddy.

Element Description
License status Shows your current tier: Free Trial (N days remaining), Pro, or Expired.
Upgrade / Manage Opens the S7 PLC Buddy website to purchase or manage your Pro license.
Activate License Opens the license dialog to enter a Pro license key.
Element Description
Log file path Path to the application log file: %APPDATA%\S7 PLC Buddy\logs\main.log
Show in Explorer Opens the log folder in Windows Explorer — useful when sending logs to support.
Element Description
Version Current installed version (e.g. 0.2.1).
Machine ID A unique fingerprint of this machine, used by the licensing system. Click the copy icon to copy it to the clipboard. Useful if you need to contact support about a license issue.

All settings are stored in an SQLite database at:

%APPDATA%\S7 PLC Buddy\plc-buddy.db

Sensitive values (Anthropic API key, OpenAI-compatible API key, license key) are encrypted using the Windows Data Protection API before being written to the database. The PLC/OPC UA password is never written — it is held in memory only for the duration of the session.

Conversation history and messages are also stored in this database.