B4A Library Moka7 (interfacing natively Siemens S7 PLCs)

Discussion in 'Additional libraries, classes and official updates' started by coslad, Jan 17, 2015.

  1. coslad

    coslad Well-Known Member Licensed User

    Hi everyone

    this is my first wrapped library.

    It is based on the Moka7 project : http://snap7.sourceforge.net/

    Moka7 is the Java port of Snap7 Client , and the snap7 is :

    "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"

    In attach there are tha library , a simple example B4A project and a exhaustive Pdf Manual .
    The library is very simple to use .

    Many tanks to Davide Nardella the Snap7 author.


    If you haven't a Plc "at home", it even works with Plcsim and NetToPlcsim tool

    PS: Due to the Forum upload limits , rename the file "Moka7-refman.z02.zip" to "Moka7-refman.z02" and "Moka7-refman.z01.zip" to "Moka7-refman.z01" and unzip
     

    Attached Files:

    Last edited: Jan 17, 2015
  2. coslad

    coslad Well-Known Member Licensed User

    As ask me from Alan1968 , i modified the library so it can connect to a not default port 102 , to connect you must specify the port :

    public int ConnectTo(String Address, int Rack, int Slot,int Port)


    PS: "likes" are appreciated
     

    Attached Files:

    Mashiane, hamaBENNASR, Tom1s and 2 others like this.
  3. alan1968

    alan1968 Active Member Licensed User

    thank you , I can now access to internet at 5 logo with the forwadin port ! myhomedns.ddns.com:102 ,103,104,105

    not possible before !
     
  4. Tom1s

    Tom1s Member Licensed User

    I have a problem. I try to get connection and the program says connected but nothing else.
    I try to connect to Siemens LOGO 0BA8.
    Should i get Cpu info with the program?

    In this I try to get it stopped but no luck

    I tried all three connection types.

    Code:
    Sub Button1_Click
    Dim a As Int

    plc.SetConnectionType(s7_constant.S7_BASIC)
    plc.SetConnectionParams(
    "192.168.100.15",0x0300,0x0200,102)

    If plc.Connect=0  Then
         info.text=
    "Connected"
        
    If plc.PlcStop=0 Then
        
    ToastMessageShow("STOPPED",True)
        
    Else
        
    ToastMessageShow("NOT STOPPED",True)
        
    End If
    Else
         info.text=
    "Not Connected"
    End If
    End Sub
     
  5. Tom1s

    Tom1s Member Licensed User

    Connection was OK. Needed to put Vm adresses to LOGO or use static adresses and read those.

    Now I can read 4-20mA SENSOR input from logo=)
     
  6. coslad

    coslad Well-Known Member Licensed User

    Perfect !!
     
  7. coslad

    coslad Well-Known Member Licensed User

    Hi, until now I used my library to connect whit a s7 300 ,now I am trying to connect with a logo8 ,but Something doesn't works. Can somebody share a little sample project? Thanks
     
  8. Pere_Suria

    Pere_Suria New Member Licensed User

    First of all, excuse my English

    I am trying to connect an android screen with a s7 1200 and so far the attempts have been null, I used your example, but when you press the button 1 to establish the connection the android program closes abruptly, someone has some example of connection with an s7 1200?

    Thank you
     
  9. coslad

    coslad Well-Known Member Licensed User

    Hi, you have to set the right parameter, maybe you have to adapt the example to the 1.1 library version, I mean that in the last library version you have to explicit declare the 102 default port.

    Can you post the error log?
     
  10. Pere_Suria

    Pere_Suria New Member Licensed User

    there is no error code, simply the application is closed

    In the plc should something more be done apart from what is explained in pages 11 and 12 of the moka manual?

    PS: to see a small video with what I find rename the file "img_657.zip.001.zip" to "img_657.zip.001", "img_657.zip.002.zip" to "img_657.zip.002", "img_657.zip.003.zip" to "img_657.zip.003", "img_657.zip.004.zip" to "img_657.zip.004" and unzip



    Code:
    Sub Button1_Click
        
    Dim a As Int
      
        plc.SetConnectionType(s7_constant.PG)
      
        
    If plc.ConnectTo("192.168.0.60",0,1,102) = 0 Then
            info.text=
    "Connected"
        
    Else
            info.text=
    "Not Connected"
        
    End If
    End Sub
     

    Attached Files:

  11. coslad

    coslad Well-Known Member Licensed User

    Are you sure the Rack and Slot parameters are right ? , you have to check them in the Tia Portal hardware configuration .

    For example The S7 300 has rack = 0 and slot = 2 .

    You used rack = 0 and slot = 1 maybe the slot should be = 2 as s7 300 ?

    I never used a S7 1200.

    Try to execute the app in the debug mode and copy and paste the log file .
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice