Skip to content

K-Society/KSociety.Com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

build status NuGet

GitHub all releases

KSociety.Com - Communication System

A .NET full stack software for Siemens S7 Connectivity

Overview

KSociety.Com is a full stack software consisting of:

  • a service that reads or writes data to a plc
  • a web application for the parameterization of the service

This system needs RabbitMQ as a message-oriented middleware.

Introduction

This is the README file for KSociety.Com. It support .Net 6.0 and .Net 7.0

Supported frameworks

  • .NET 6.0
  • .NET 7.0

Supported PLC

  • Compatible S7 PLC (S7-200, S7-300, S7-400, S7-1200, S7-1500)

Install

This system needs RabbitMQ to function properly.

First setup

  1. Use the K-Society.Com.exe to install the software.
  2. Start the server (KSociety.Com.Srv.Host.exe)
  3. Start the web application (KSociety.Com.Pre.Web.App.exe)
  4. Browse to the following URL: http://localhost:5002
  5. Go to settings: http://localhost:5002/Settings
  6. Click on migrate button.
  7. Now you can configure the other sections: Common/TagGroup, S7/Connection and S7/Tag
  8. Restart the server to apply the new configuration.

Architecture

Image of Architecture

1. Presentation (KSociety.Com.Pre.Web.)

GitHub Repository NuGet Download
App

2. Service (KSociety.Com.Srv.)

GitHub Repository NuGet Download
Agent NuGet NuGet
Behavior NuGet NuGet
Contract NuGet NuGet
Dto NuGet NuGet

2.1 Service - Host (KSociety.Com.Srv.Host)

GitHub Repository NuGet Download
Host

3. Application (KSociety.Com.App.)

GitHub Repository NuGet Download
Dto NuGet NuGet
ReqHdlr NuGet NuGet

4. Business (KSociety.Com.Biz.)

GitHub Repository NuGet Download
Event NuGet NuGet
Biz NuGet NuGet

5. Domain (KSociety.Com.Domain.)

GitHub Repository NuGet Download
Entity NuGet NuGet
Repository NuGet NuGet

6. Infrastructure (KSociety.Com.Infra.)

GitHub Repository NuGet Download
DataAccess NuGet NuGet
Transfer.SqlServer NuGet NuGet
Transfer.Sqlite NuGet NuGet

Communication Driver

GitHub Repository NuGet Download
KSociety.Com.Driver NuGet NuGet

EventBus

GitHub Repository NuGet Download
KSociety.Com.EventBus NuGet NuGet

License

The project is under Microsoft Reciprocal License (MS-RL)

Dependencies

List of technologies, frameworks and libraries used for implementation:

  • .NET 6 (platform). Note for Visual Studio users: VS 2022 is required.
  • Autofac (Inversion of Control Container)
  • protobuf-net (protobuf-net is a contract based serializer for .NET code)
  • RabbitMQ.Client (The RabbitMQ .NET client is an implementation of an AMQP 0-9-1 client library for C#)
  • Serilog (structured logging)