Code Monkey home page Code Monkey logo

mokka7's Introduction

Mokka7

Build status Codacy Badge

About

Mokka7/Snap7 is an open source, 32/64 bit, multi-platform Ethernet communication suite for interfacing natively with Siemens S7 PLCs. The new CPUs 1200/1500, the old S7200, the small LOGO 0BA7/0BA8 and SINAMICS Drives are also partially supported. Mokka7 is native port of Snap7 core written in pure Java (fork of moka7 http://snap7.sourceforge.net/) and parts of Sharp7.

Moka7 features:

  • Native port of Snap7 core in pure Java, no DLL
  • No dependencies with external libraries
  • Packed protocol headers to improve performances

additional Mokka7 (fork) features (alpha state):

  • DataTypes support (Bit)
  • MultiVars Read/Write
  • Enhanced API (Java8 required)

UI Client

si

rw

chart

Roadmap

  • Async non blocking read/write
  • MultiVars as collections (automatic slit size)

Maven Modules

Mokka7 core (core lib)

<dependency>
    <groupId>org.comtel2000</groupId>
    <artifactId>mokka7-core</artifactId>
    <version>[LATEST]</version>
</dependency>

Mokka7 metrics (metrics support)

<dependency>
    <groupId>org.comtel2000</groupId>
    <artifactId>mokka7-metrics</artifactId>
    <version>[LATEST]</version>
</dependency>

Mokka7 client (UI client interface)

<dependency>
    <groupId>org.comtel2000</groupId>
    <artifactId>mokka7-client</artifactId>
    <version>[LATEST]</version>
</dependency>

Mokka7 samples (sample read/writes)

<dependency>
    <groupId>org.comtel2000</groupId>
    <artifactId>mokka7-sample</artifactId>
    <version>[LATEST]</version>
</dependency>

License

Eclipse Public License - v 1.0

Trademarks:

Step7, TIA Portal, S7300, S7400, WinAC, S71200/1500, Sinamics are trademarks of Siemens AG. Other trademarks and logos are the property of their respective owners.

This project is an unofficial pice of software and has nothing in common with the companies above.

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

Special thanks to

mokka7's People

Contributors

comtel2000 avatar dependabot-preview[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

mokka7's Issues

writeBit and writeByte writes always 0 !

hi i have one problem with writeBit() and writeByte() methods!
in writeBit method, you first set value in bitPos'th position of first byte(buffer[0]) and in continue write buffer in ((start * 8) + bitPos) of area. this causes this method write always 0 for me!
I changed the method as follows to work correctly:
default boolean writeBit(AreaType area, int db, int start, int bitPos, boolean value) throws S7Exception {
// reset first byte?
// S7.setByteAt(buffer, 0, (byte) 0x00);
// S7.setBitAt(buffer, 0, bitPos, value);
S7.setBitAt(buffer, (start * 8) + bitPos, bitPos, value);
return writeArea(area, db, (start * 8) + bitPos, 1, DataType.BIT, buffer);
}
and similarly in writeByte method.

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.