Skip to content

StanislavTeslenko/SiConnect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 

Repository files navigation

SiConnect

Application for connection to Siemens SIMATIC S7-1200 and S7-1500 PLCs via internal web-server

Development stage:

Pre-release, testing before load app to AppStore

Technical description:

Getting data from Siemens SIMATIC S7-1200/1500 PLCs is a very necessary but confusing task. These PLC-s don't have public libraries of Siemens S7 protocol for iOS. Any other supported protocols (e.g Modbus TCP, MQTT) do not provide simple data acquisition and require difficult creation of the PLC and application programs.

SiConnect is a mobile application used to visualize data from a PLC. The application constantly communicates with the PLCs web-server and does not require the development of UI on the side of the iOS end-user. Data exchange takes place over the WiFi network.

Benefits:

  1. Absolute protection of the PLC program from external impact
  2. Very fast data preparation into PLC program
  3. There isn't time-consuming development of the user interface for the end-user

Deployment

  1. Create JSON files that describe the system - manual
  2. Configure PLC program - manual
  3. Create a connection to PLC into the application
  4. Enjoy :)

Application description

  1. "Server List" screen. This is the main screen of the application.

A user can create a new connection ("Add" button) to a PLC (so-called "Server") on this screen.

With 3D-touch is possible to:

- edit the server;

- delete the server;

- mark (and unmark) the server as the default server. Default server mark with the "Star" symbol.

If the server mark as default, the application load this server after start.

  1. "Add" ("Edit") screens. Into these screens create new or edit existing server is possible.

Valid IP Address of the PLC is necessary!

"Username" and "Password" fields are required for authentication to PLC's web-server.

  1. After tapping on the created server cell will open the screen with the data downloaded from the server. The displayed data is fully described in the server configuration file.

All displayed data is cyclically loaded from the PLC.

If the cell has an orange background color then the unit has a warning state.

If the cell has a red background color then the unit has an alarm state.

  1. After tapping on the unit cell will open the screen with the peripheral stations that belong to the unit (For example ET200SP stations). The displayed data is fully described in the server configuration file. In this example, the unit has only one peripheral station ET200SP.

All displayed data is cyclically loaded from the PLC.

Station state is displayed into right-up cell corner.

If the station has a channel that is Forced, a "Force" symbol is displayed.

If the station has a channel that is in an Error state, a station cell has a Red border.

The "Checked" symbol is displayed if all modules of the station are "Checked".

  1. After tapping on the station cell will open the screen with the station's modules. The displayed data is fully described in the server configuration file. In this example, the station has AI (Analod Input), AO (Analog Output), DI (Discrete Input) and DO (Discrete Output) modules.

All displayed data is cyclically loaded from PLC

If the module has a channel that is Forced, a "Force" symbol is displayed

If the module has a channel that is in an Error state, a module cell has a Red border.

The "Checked" symbol is displayed if all channels of the module are "Checked"

  1. After tapping on the module cell will open the screen with the module's channels. The displayed data is fully described in the server configuration file. In this example, the AO module has two channels.

All displayed data is cyclically loaded from PLC.

If channel is Forced, a "Force" symbol is displayed

If the channel is in an Error state, a channel cell have a Red border.

If the channel is "Checked", then the "Checked" symbol is displayed.

  1. After tapping on the channel cell will open the screen with the channel's data. The displayed data is fully described in the server configuration file. There are 4 channel types: 2 input channels (AI and DI) without user control, and 2 output channels (AO and DO) with user control.
AI channel

All displayed data is cyclically loaded from PLC.

To mark the channel as "Checked" tap on the "Channel Checked" switch.

DI channel

All displayed data is cyclically loaded from PLC.

To mark the channel as "Checked" tap on the "Channel Checked" switch.

AO channel

All displayed data is cyclically loaded from PLC.

To enable Forced control tap on the "Control enable" switch.

After activating Forced control set the desired value via a slider and press the "Set" button.

To mark the channel as "Checked" tap on the "Channel Checked" switch.

DO channel

All displayed data is cyclically loaded from PLC.

To enable Forced control tap on the "Control enable" switch.

After activating Forced control set the desired value via buttons "On" and "Off".

To mark the channel as "Checked" tap on the "Channel Checked" switch.

From each screen of the unit, you can open a hierarchical table indicating the checked channels

The table with check status of a channels

This message will display if there is a network or connection error:

Network or connection error

Built With

Authors

  • Stanislav Teslenko - Developer - LinkedIn

Releases

No releases published

Packages

No packages published