Activity for Davide Nardella

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    byte by byte checking the first two bytes which contains max length and actual size

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    https://snap7.sourceforge.net/siemens_dataformat.html

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    You need to reconnect on TCP/Network error i.e. when (Error & 0x0000FFFF)!=0;

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Apri platform.h e leggi i commenti, devi selezionare la piattaforma

  • Davide Nardella Davide Nardella posted a comment on discussion Bugs reporting

    just delete -mword-relocations from the makefile. It's no longer needed

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    f.b. is right. GetPlcDateTime() and other functions are not implemented in S7Protokol of S71200/1500.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    that's not a funny thing :-( I discovered (I guess) a bug into the S71500 Firmware (only 1500, neither 1200 nor S73XX/4XX) The write command returns Error 0, I analyzed the telegram and it was ok, but the variable is not written. Only write operations are affected. I solved in this way: 1 - The DB must be unoptimized (and that was known). 2 - Il the variable that we write is passed directly or into a struct to a FB/FC, also that FB/FC must be unoptimized Seems that there is something wrong to the...

  • Davide Nardella Davide Nardella posted a comment on discussion Bugs reporting

    I'm working on a new Open Source communication suite ;-) (stay tuned.....) After, I will manage that.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    I'm sorry, but there's no solution for this.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Everything in Snap7 is free with source code and documentation

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Did you download Snap7 :-) ? The main rich-demo (ClientDemo) is written using Lazarus and runs Win/Linux/Raspberry. Then you can find examples in plain pascal and in, \Utility, a S7Protocol sniffer written in Delphi.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    The CPU act as Server and can handle multiple (depending on how many resources are available) connections at the same time. You don't need of further synchronism between your clients, every connection is independent and is managed by the queue manager into the server.

  • Davide Nardella Davide Nardella posted a comment on ticket #31

    I have an IOT1050 too. The package to use is snap7-iot-arm to be built with arm_v7_linux.mk What kind of probelm did you have ? I remember that (some month ago) all tools were already installed into IOT1050, anyway run: make --version g++ --version did you see their version number ?

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    very interesting, please keep me informed ;)

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    :o wow, you are crazy, boy ;) Remember, for Arduino/ESP32/ESP8266/M5Stack I wrote settimino, the Arduino port of Snap7. http://settimino.sourceforge.net/

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    You should #include "snap7.h"

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    I don't know Python at all (because I don't like it at all). By the way, try to connect to the PLC with a PC using ClientDemo (you will find it into rich demos folder), maybe it can show you a more detailed error reason. CP342 does not need, special settings, it must be inserted into the hardware configuration and there must be no bus fault errors.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    nel manuale c'è tutto, lo trovi nella cartella doc della distribuzione

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    http://snap7.sourceforge.net/licensing.html

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    puoi scrivere un wrapper per chiamare una DLL esterna https://docs.xojo.com/Declare Ho visto che xojo usa un dialetto Basic. Usa questo wrapper che ho scritto per VB6, molto molto minimale

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    You need to use WriteArea with S7AreaDB S7WLBit as wordlength 1 Byte (no more) as size And the address (Start) must be the bit address, e.g. to write DB10.DBX4.1 address is 4 * 8 + 1 = 33

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Snap7 reads a block of data, then you can extract info (integers, strings and so on) from it with some helper functions which suppose that you are aware of the content. How can Snap7 know how long is your string, if you are reading always 256 bytes ?

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    No, it's hardware and depends on PLC: S73XX = 240 bytes S715XX = 480 bytes "I would like to send more bytes in a single Read/WriteArea." There is no limitation, Snap7 splits the requests into different packets for you. (read the manual)

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    http://snap7.sourceforge.net/snap7_client.html#target_compatibility

  • Davide Nardella Davide Nardella posted a comment on discussion Bugs reporting

    Sounds strange to me that you want to read DB0. I just tried with a small CPU (1511F) and it answers Function refused. I dont' know CPU 1214 but, are you sure that it worked before ? To read PLC TAGs you should use ReadArea passing S7AreaMK (0x83) as Area.

  • Davide Nardella Davide Nardella posted a comment on discussion Bugs reporting

    The only reasons for the CLI : function refused are the permissiond and the optimized DBs. We use Snap7 currently with TIA 16 without problems. 1 - Set the priviledges and the GET/PUT permission and then DOWNLOAD THE HW CONFIGURATION into the CPU. 2- Set the DB as not optimized and DOWNLOAD IT into the PLC. Let me know.

  • Davide Nardella Davide Nardella modified a comment on discussion General Discussion

    Snap7 was tested with Raspberry Pi 4 : 1Gb,4Gb and 8Gb of RAM with Raspbian 32 bit and Raspberry OS 64 bit. And works fine. Here you can find the announce and how to run the makefile to build native 64bit library. https://www.facebook.com/snap7.project/?cft[0]=AZXhTGjheP4vrK9SST985gFHl3xii_Wcnxf2xNX2QKC-DSus7voZS8S0EOn6M3Ifzr6qWIp2IfFai-UOsh5cHMJS_enRoC68Xytnh865cZGB7wXTqejB6xGGeYQDJA4Wj8EJcvqBBGM_SWVwfnFXj4G1QuR-uNxXlyXKp6h9jV9lDWz23Jf7VCH081vAFau-q-c&tn=-UC%2CP-R (search the post of 2020, February...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Snap7 was tested with Raspberry Pi 4 : 1Gb,4Gb and 8Gb of RAM with Raspbian 32 bit and Raspberry OS 64 bit. And works fine. Here you can find the announce and how to run the makefile to build native 64bit library. https://www.facebook.com/snap7.project/?cft[0]=AZXhTGjheP4vrK9SST985gFHl3xii_Wcnxf2xNX2QKC-DSus7voZS8S0EOn6M3Ifzr6qWIp2IfFai-UOsh5cHMJS_enRoC68Xytnh865cZGB7wXTqejB6xGGeYQDJA4Wj8EJcvqBBGM_SWVwfnFXj4G1QuR-uNxXlyXKp6h9jV9lDWz23Jf7VCH081vAFau-q-c&tn=-UC%2CP-R I don't know what happens with...

  • Davide Nardella Davide Nardella posted a comment on discussion What you would like to see in Snap7

    No, you have to use SetParams as I wrote earlier. Then, please, speak english.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Please, ask to the author of Python wrapper too.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Yes, setting FThread=0 prevents segmentation fault in case of (accidental) multiple calls to CloseThread() since delete frees the resources but leaves the pointer "alive" (consider that Snap7 is compiled in several platforms)

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    To terminate a thread a bit (Terminated) is set and the thread exits with ExitThread() (see line 58 of snap_threads.cpp). ThreadKil is called only if the thread is not responding (see line 66 of s7_client.cpp) to avoid application hang. Furthermore, a CloseHandle(th); is always called at rhe end (see line 89 of snap_threads.cpp). This, supposing that you are using Async functions, if you don't use them, the thread is not created at all. So, if you are using Async functions, try (for testing) to convert...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    No. I explain with pseodocode. suppose to have two bits: DB1.force_0_0 DB1.value_0_0 you write with Snap7 DB1.value_0_0 and DB1.force_0_0 At the end of OB1 you could write something like: if DB1.force_0_0 then A0.0:=DB1.value_0_0 When DB1.force_0_0 is high the PLC will use DB1.value_0_0 else it will use the programmed A0.0.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    You cannot. The PLC Program has the priority. To overcome, you can write the output into a DB then, at the end of OB1 (the last line) you can copy the values from the DB to the outputs (using a mechanismo of and/or).

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    try to copy snap7.net.dll from \BuildSnap7Assembly\bin\x64\debug (or release) and snap7.dll from \release\windows\win64 into your executable path.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    As said, you can either allocate multiple clients (if the requests are frequent and/or concurrent) or - connect to that PLC on demand - read/write the data - disconnect. You can find detailed info about Snap7 into the user manual (300 pdf pages)

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    TCP Communication Channels (that are socket based) cannot be shared across connections. So: 1 Client <->1 PLC Unless you disconnect from a PLC and reconnect to another

  • Davide Nardella Davide Nardella posted a comment on ticket #25

    Sorry I cannot help you on Phyton side...

  • Davide Nardella Davide Nardella posted a comment on ticket #25

    Cannot happen that a PLC answers "Ok I performed" (and so Result==0) but it didn't write the values. Into PLC 2 create a new DB similar to previous one , and write into that, or write consecutively into the old DB and into the new one. I bet that you will find the data into the new DB. Let me know ;)

  • Davide Nardella Davide Nardella posted a comment on ticket #25

    Since you don't have a result, what do you mean for "fail" ? Do you don't find the values into the DB ? 1 - Try to write the same values using a non-existent DB as db_number param, what happens ? 2 - Are you completely sure that in your user program you don't overwrite that values ?

  • Davide Nardella Davide Nardella posted a comment on ticket #25

    As far I can see in write_area (but I'm not an expert): return self.library.Cli_WriteArea(self.pointer, area, dbnumber, start, size, wordlen, byref(cdata)) you should see the value returned by the library function

  • Davide Nardella Davide Nardella posted a comment on ticket #25

    From the question you asked me, I imagined this answer. You should speak with the python-snap7 programmer. I don't know python at all, because I don't like it at all. Sounds very strange to me that a function does not returns a value and that an exception must be raised also if a return value is not zero. Snap7 as dll (or .so) does not raise exceptions, it returns an integer that must be checked.

  • Davide Nardella Davide Nardella posted a comment on ticket #25

    what wrapper (Hi level language) are you using ? Every snap7 function returns an integer, if it is zero, it means that the PLC, in accord to the protocol, sent a message saying that the operation was accomplished. This is valid also for functions that don't return values (like dbwrite and writearea). So simply test the result.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Snap7 works with every S7 PN CPU. As general rule, If you can connect a PN HMI, you can also communicate with Snap7.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Use the latest, anyway they are 100% compatible.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Make an "acid" test, connect via a cable a PC directly to the CPU (or at the nearest unmanaged hub/switch) and see if it works.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    1 - From the PC that contains your program : ping 10.0.0.200 2 - Read carefully the S7 1200/1500 Notes chapter here: http://snap7.sourceforge.net/snap7_client.html#target_compatibility 2.a - every modification to the DB or the access priviledges must be downloaded into the PLC, the project modification is not enough. 3 - To separate the problems of your code from the problems of the network run ClientDemo.exe, you can find it into a rich-demos subfolder : use 0,1 as Rack and slot, what happens ?...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    figurati, capita a tutti ;)

  • Davide Nardella Davide Nardella modified a comment on discussion General Discussion

    Per esperienza di altri con lo stesso problema, ricarica la DB nella CPU, non basta togliere la spunta al progetto. Poi che parametri di connessione usi ?

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Per esperienza di altri con lo stesso problema, ricarica la DB nella CPU, non basta togliere la spunta al progetto.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Ok ;) what I stil don't understand is the final goal. At the end of the plays, Snap7 will be still a dynamic library or it wil be embedded ia a project as source code ?

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Hi, it's not clear to me if you want to modify snap7 library or its c++ wrapper. Do you want to embed snap7 source into your c++ projects ?

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Roberto, grazie mille per il riscontro. Hai sollevato gli stessi problemi che mi ha esposto Gualtiero e che avevo immaginato anch'io ad una prima analisi . Certo, ANSI C, è piacevole per gente "di una certa età" come me, però non lavorare a oggetti è molto limitativo per chi lo ha sempre fatto (Delphi/C++/C#/Java) come i miei collaboratori. Intanto grazie per la risposta. Installo il trial e cerco di giocarci qualche giorno per vedere cosa ne esce. Saluti Davide

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Roberto e Gualtiero, in azienda attualmente programmiamo in Delphi o LabView per i banchi di controllo e test PC based, dove abbiamo analogica, grafici e in genere quello che non può fare un PLC, che invece noi usiamo per le linee di produzione. Delphi è molto di nicchia ed è sempre difficile trovare programmatori e LabView è davvero un massacro per le macchine a stati, senza contare che molte volte quello che fai in due righe di codice richiede un mare di fili. Volevo chiedervi, voi che usate LabWindows/CVI,...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    fai riferimento a Sharp7.cs (copia l'ultima vardione dalla cartella Last) nel wrapper non ho riportato ancora tutto

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    The thread is created only the first time that is needed. I made this to save resources in small systems, because, 99% of times, only synchronous functions are used. The flag ThreadCreated ensures that only one thread is created. You cannot call multiple Asynchronous functions at the same time, the flag Job.Pending avoid this. Anyway, don't forget that a "transaction" is made by a request and answer, the channel is one and the S7Protokol does not allow pending requests, so there is no meaning. Async...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    provato ad aggiungere al progetto snap7.lib ? nelle opzioni del linker o nelle librerie esterne? non conosco labwindows cvi, ma in C/C++ si fa così. poi snap7.dll dev'essere nella stessa cartella dell'eseguibile.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    writeArea usando s7wlbit

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Ciao, in genere non guardo tutti i listati, specialmente in linguaggi che pratico poco. Nel tuo caso ho fatto un'eccezione dato che l'impianto andà fuori italia ;) Sinceramente non mi convince molto, soprattutto come è strutturato. Io ti consiglio di tenere nei timer handler solo poche righe di codice ed utilizzare il resto in altre funzioni. Ci sono molte gestioni che non capisco, ma che sicuramente sono funzionali alla tua applicazione. Faccio qualche considerazione: 1) Non è necessario il ping,...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    This error is iussed when DB are optimized or GET/PUT is not allowed (after un-optimization, the DBs must be re-downloaded into PLC). And after a modification of HW cfg, it must re-downloaded. use Rack=0, Slot=1 as connection. http://snap7.sourceforge.net/snap7_client.html#target_compatibility

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Communication resources ? how many ethernet S7 devices are connected ? HMI/OPC/PG ecc.. Try also Cli_SetConnectionType() passing OP as parameter.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    This error occurs when you correctly modify all params but you don't download them into the cpu. Did you download the hardware configuration into the CPU ? And, use connection params Rack= 0 and Slot=1 S71515F is our main CPU, it must work ;)

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Can be that the difference? yes, every adapter has a certain number of connections. Most likely IBH Link has 8 connections available. Or you can add a CP343-1 lean, depending if it's compatible with VIPA and if it's cheaper than IBH adapter ;)

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Connection refused : Wrong Rack, Slot (for S71200/1550 use 0,1, for S7300 use 0,2) or Maximum number of connection resources reached.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    1 ) yes 2) usually yes if the program is polite 3) HMI panels, PC with Step7 connected in online mode 4) Maximum active connections (including S7, TCP, ISO, UDP and so on) 5) From Step7 Diagnostics 6) No Snap7Server is a different object Try to use SetConnectionType() function passing OP (0x02) as parameter before connecting.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    VB Demo project or <yourproject>.exe folder ? Try also to copy the dll in Windows\system32</yourproject>

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Must go into the same folder of the executable. use the 32 bit DLL.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Disconnect and reconnect the client is the correct solution. If you try to communicate with a disconnected cable, every OS (Windows, Linux, Solaris....) invalidates the socket. A more sophisticated approach could be : Check the Snap7 return error. If it's an ISO/Network(socket) error : [disconnect-sleep-reconnect] until the connection is ok If it's a S7 error : retry. For that reason Snap7 has two different functions : ConnectTo() and Connect(), the first should be used for the first connection,...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    The connections number should be increased.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    check the number of connection resources into the hardware configuration of the cpu. they are limited. are you connecting to a cp343 or directly to the cpu ? the cp has a limited numbers of concurrent connections (4). every equipment (PG, HMI panel, OPC server,Snap7..) requires one connection. try also to use SetConnectionType function using OP rather the PG (the default) as parameter.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    put/get is always active for S7300 series. try sudo your program. and try clientdemo from a windows pc. we must understand if it's a user rights or a plc/network problem.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Hi, IM151-8 PN/DP is a S7-300 serie PLC, more or less equivalent to a S7314. Use <ip,> Rack=0, Slot =2 to connect.</ip,> Try with ClientDemo.exe, it will show a more detailed errror. cheers

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    yes

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    That's only a warning, not an error.

  • Davide Nardella Davide Nardella posted a comment on discussion Bugs reporting

    http://snap7.sourceforge.net/snap7_client.html#target_compatibility

  • Davide Nardella Davide Nardella modified a comment on discussion Bugs reporting

    CPU Family ? (S7300, S71200/1500...)

  • Davide Nardella Davide Nardella posted a comment on discussion Bugs reporting

    CPU ?

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    1) You must use sudo make -f arm_v7_linux.mk install 2) You added snap7_arm_v7 in Libraries, should be libsnap7

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    No delay is required between consecutive operations, but be aware that the sync functions are "blocking", so many consecutive operations could lead in an extensive CPU loading, i.e. your program could suffer for this.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    int TSnap7MicroClient::WriteArea(int Area, int DBNumber, int Start, int Amount, int WordLen, void * pUsrData) { if (!Job.Pending) { Job.Pending = true; Job.Op = s7opWriteArea; Job.Area = Area; Job.Number = DBNumber; Job.Start = Start; Job.Amount = Amount; Job.WordLen = WordLen; Job.pData = pUsrData; JobStart = SysGetTick(); return PerformOperation(); } else return SetError(errCliJobPending); } errCliJobPending is fired also if you call a function from another thread. The Channel (obviously) is not...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Very well ;) remember that you don't need to disable it completely. Just open TCP/IP port 102.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    La connessione avviene sempre senza password, devi essere connesso per impostarla. Si, prova dal Panel PC.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    No, il WORKGROUP non causa nessun problema, avviene tutto a livello TCP/IP, utilizziamo Snap7 anche su server virtuali senza nessun problema. Con il 1200/1500 ci sono dei settaggi lato PLC, con la serie 300 deve funzionare tutto subito. Se nel PLC sono inserite password in lettura/scrittura devi prima pare il setpassword (la trovi nel TAB Security) ovviamente non mi riferisco alla password del safety. Ho il sospetto che ci sia qualche problema di connettività, per prova disattiva il firewall sul...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    GET/PUT option, as far I know, is specific for S71200/1500 CPU, not for TIA (the developement IDE). In any case, if it exists, you must scroll down the protection window, it's on the bottom. 1) Try to use the clientdemo.exe, you can find it into rich-demos, what happens ? And try also to change the connection type (in Clientdemo is the combobox "Connect as", near Rack and Slot) 2) How many ethernet resources are connected to the PLC ? (excluding profine nodes) e.g. HMI panels, OPC server, etc......

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    It must work, we currently use S7315F or S7317F Are you using Rack=0 and Slot=2 ?

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    PLC ? Firmware ? Language ? I suggest you to run ClientDemo.exe (you will find it in \rich-demos) what happens ? Are you completely sure that what you are seeing into the hardware configuration was downloaded into the CPU ? Usually many people modifies the configuration and just saves the project ;)

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    With the iono-pi I have to write a complete PLC I was under the impression that by using a PLC such as Siemens, that all of the communications details with hundreds of different sensors was available and could be accessed via one set of commands. As opposed to writting communications code for each and every sensor that I decide to use. Is this not true? Yes, that's true but you need of TIA Portal (the reason why we are exploring different solutions). Can I use SNAP 7 to get the data from sensors...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Definitely you don't need of a PLC for this task ;) A Raspberry PI (I suggest you PI 4) is perfect. Get a good I/O shield with analog and digital channels and program PI in Python, C++ or what you prefer. Or have a look at this: https://www.sferalabs.cc/iono-pi/

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Snap7 is not a programming tool, it's a free communication library that allow you to communicate with S7 CPU without buying an OPC Server. To setup tue CPU and write your program logic you need of TIA Portal. TIA is development tool, you need only one license to program as many CPU as you need.

  • Davide Nardella Davide Nardella posted a comment on ticket #24

    I suggested Snap7-iot only because it doesn't contain a lot of unused things, like Windows an Labview interfaces, but Snap7-full must be possible to be compiled . That's very strange, I rebuilt Snap7 in my RPI 4 without any issue under Raspbian Sep-2019. Sorry for the stupid question: run ls into the folder where you are running make. Do you see arm_v6_linux.mk, arm_v7_linux.mk and common.mk ? Seems that make doesn't find the makefiles... And (another stupid question), are you sure that you extracted...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    In the worst case it doesn't work, there is no risk for your CPU ;) Try. The FW version, if not printed on the CPU, can be detected, in online mode, with (again) the programming tool. Or via ClientDemo.exe, a tool released with Snap7 which, however, needs of an IP address setted. Unfortunately the PLCs (non only Siemens), without their programming tool, are little more then a brick.

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    TIA Portal, imho, is the only programming tool for S7 1200/1550 PLCs, and it runs only on Windows. And, unluckily, it's very far from be free :( But, regardless of the IP address, how did you plan to setup and program the PLC ? I suggested the TIA because it's the first setup, and I was convinced that you already had it (to program the PLC). Anyhow there is a free tool to set the IP Address: https://support.industry.siemens.com/cs/document/41737436/how-do-you-change-the-ip-address-of-an-s7-1200-without-using-step-7-(tia-portal)-?dti=0&lc=en-WW...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Open a New project with TIA Portal and insert an "unspecified 1200 CPU. click right and chose to detect, confirm and save. Than into CPU properties set an IP compatible with your PC and download the hardware configuration.

  • Davide Nardella Davide Nardella posted a comment on ticket #24

    Have you g++ installed in your system ? try g++ --version what happens ? (next time download snap7-iot-arm-x.x.x, contains the same things of Snap7-full but is more light)

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Since S7Client is a class completely isolated one from each other, the only explaination that I see is that the Ethernet stack in Arduino is not reentrant. S7Client code is derived from Snap7Client which works (Windows,Linux,Solaris etc..) across multiple instances (also 130) without any issue. I will investigate (as soon as I have some free time).

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    If you are using V1.1.0 S7Client Client_1(_S7WIFI); S7Client Client_2(_S7WIFI); If you are using Settimino V2.0 (suggested) S7Client Client_1; S7Client Client_2;

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Remember that, in order to access to two PLC, you need of two S7Clients with two different IP addresses, or, if you use 1 Client, you must disconnect to the first PLC and connect to second. To work with S71200/1500 there are some settings to do in PLC, look at here: http://snap7.sourceforge.net/snap7_client.html#target_compatibility Connection parameters are different from S7300 and S71200: use Rack=0, Slot=2 for S7300/400 Family use Rack=0, Slot=1 or =0 for S71200/1500 family Try to work only with...

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    Download Snap7 package, and run ClientDemo.exe (you will find it in rich-demos). Settimino uses the same code of snap7, but with Snap7 you will have a more detailed error info. With Clientdemo you are able too see if the connection is ok, the DB exists and what kind of error occurs during read or write. Let me know.

  • Davide Nardella Davide Nardella posted a comment on discussion Bugs reporting

    I will fix it in next release ;) thank you so much (y)

  • Davide Nardella Davide Nardella posted a comment on discussion General Discussion

    what PLC ?

1 >