Code Monkey home page Code Monkey logo

siconnect's Introduction

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

siconnect's People

Contributors

stanislavteslenko avatar

Stargazers

 avatar  avatar

Watchers

 avatar

siconnect's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.