10/10/2022 5:53 PM | |
Joined: 1/21/2013 Last visit: 10/14/2024 Posts: 3177 Rating: (492) |
Hi GM93, as you already mentioned, the MQTT library (as part of the Libraries for Communication) does not support S7-300 PLCs. I only have basic knowledge on MQTT, but I just took a quick look inside the library and found some issues which will make a solution for S7-300 a very hard job. (I'm sure it will not be possible within the given deadline). Here are the struggling points I figured out at my quick view:
Since the supply situation is still tight, you may want to think about using S7-PLCSIM Advanced. With this software, you will be able to simulate S7-1500 PLCs, and it supports IP based communication. Kind regards |
10/11/2022 11:50 AM | |
Joined: 11/2/2021 Last visit: 4/10/2024 Posts: 6 Rating: (0) |
Hi Stefan, Thank you for the quick response. Please find the attachment and see that the S7-300 are included in the "Associated products". I also found a project in git: https://github.com/RoanBrand/MQTT-Siemens-S7-300 that they managed to do it with S7-300 PLC's but again, not with the PLC's that I got. I tried their program but I get errors like blocks that I can't copy/download into the PLC. Kind regards, |
10/11/2022 12:09 PM | |
Joined: 1/21/2013 Last visit: 10/14/2024 Posts: 3177 Rating: (492)
|
Hi GM93, TSEND (and all other so called "T Blocks") are only available for internal interfaces. Since you are using a CP in both of your possible setups, this would not work. Instead of the "T Blocks" for the CPs you have to use AG_SEND, AG_RECV and AG_CTRL. According to the documentation, the GitHub Project 'MQTT-Siemens-S7-300' supports connections using these three blocks. So it would be an option to use this project. But as also mentioned there, the project is written in S7-SCL V5.3 SP1. If you are trying to use it in TIA Portal, you would have to modify the code. Please give further information about the errors when compiling the GitHub Project. Kind regards |
10/12/2022 3:47 PM | |
Joined: 11/2/2021 Last visit: 4/10/2024 Posts: 6 Rating: (0) |
Hi Stefan, Again, thank you for the quick response. I appreciate it! I'm trying to figure out why I can't transfer some of the blocks. DB101 (in the attachment with the error "the block/op. sys. update is too long") was to long/big and I decreased it by changing the array buffer size (not sure what the consequences will be for the functionality but that is a concern for later). After decreasing the DB, I could transfer the block into the PLC. Other blocks has all the same error: "(D280) Error compiling block in S7-300 CPU". Unfortunately, the "GO TO" button is disabled and therefore the location of the compile error is not known. What I find strange is when I compile everything without downloading, the compiler doesn't recognize the error but when downloading the blocks, it does. The errors occurs when copying the blocks. Kind regards, Gerrit Meurs |
10/13/2022 5:57 AM | |
Joined: 1/21/2013 Last visit: 10/14/2024 Posts: 3177 Rating: (492)
|
Hi GM93, the error "(D280) Error compiling block in S7-300 CPU" indicates that some limit of your PLC is exceeded. That's something which will only be checked during download and unfortunately not during compiling. Please take care about the technical data of your PLCs (6ES7314-6CG03-0AB0, 6ES7315-2AF03-0AB0), especially on the maximum size of 256 bytes for flags or the available S7 times and S7 counter. Kind regards |
10/14/2022 10:04 AM | |
Joined: 11/2/2021 Last visit: 4/10/2024 Posts: 6 Rating: (0) |
Hi Stefan, Thanks, I think the problem was indeed the I/O. Most of the addresses were high and I started them at 0. Furthermore I decreased the length of several local variables (arrays). I'm not sure if that was also the issue but I could transfer all the blocks after. I will go further and delve into this project with hopefully a good result and that it is indeed possible to use the MQTT protocol with these PLC's. Otherwise I have to do my research with a simulation of a compatible PLC but seeing hardware is better for the assignment. I will post the result in this topic, maybe others will benefit. Again, thank you for the help! Kind regards, Gerrit Meurs |
Last edited by: GM93 at: 10/14/2022 10:05:05Last edited by: GM93 at: 10/14/2022 12:32:10 |
|
10/16/2022 8:31 AM | |
Joined: 11/2/2021 Last visit: 4/10/2024 Posts: 6 Rating: (0) |
Hi Stefan, In the github project, they wrote 4 points of instruction (the bold letter type is my implementation):
I only don't know what the connectionID should be. cpLADDR is the start address of my CP343-1 Lean but I can't find anywhere the connectionID so I think I did that wrong (fourth point) The CPU and CP343 are in run without any errors, but no connection to the broker yet. Kind regards, Gerrit Meurs
|
Last edited by: GM93 at: 10/16/2022 08:34:29Last edited by: GM93 at: 10/16/2022 08:51:25Last edited by: GM93 at: 10/16/2022 08:52:36 |
|
Follow us on