inutz_john
Member
Good day, everyone,
We're trying to establish an S7 connection on ethernet between an S7-400 CPU and a new S7-1200 CPU (which is defined as slave in the communication diagram we've received), in Simatic Manager - not in TIA. We have defined in NetPro the connection between our S7-400 CPU and an unspecified partner (the S7-1200 CPU), we've then entered the partner's MAC (and the partner's rack/slot, from what we could find, we entered 0/1) and then downloaded the configuration in our S7-400 PLC.
Then we've created a FC in the S7-400 CPU, in Simatic Manager, where we wrote the PUT and GET functions to read/write from/to the S7-1200 CPU. To test, we've tried these functions in between 2 of our S7-400 CPUs, and they worked: the functions' error and status outputs were 0. The FC is called from a CFC.
On the S7-1200 CPU we've enabled the PUT and GET functions, and we've removed the protection from the DBs we want to read/write.
After we've done all of this, both the PUT and GET functions return ERROR and STATUS 1, and 16#0001, respectively.
Moreover, we created a DB for the functions' inputs/outputs (REQ, DONE, ERROR, STATUS), and the functions themselves created their respective DBs
For the GET function: on ADDR_1 we entered P#DB10.DBX0.0 BYTE 100 (DB10 is located on S7-1200) and RD_1 we entered P#DB80.DBX0.0 BYTE 100 (DB80 is on our S7-400).
For the PUT function: similarly, on ADDR_1 we put P#DB15.DBX0.0 BYTE 14 (DB15 is on S7-1200) and on SD_1 we put P#DB81.DBX0.0 BYTE 14.
Both S7-1200_DB10 and S7-400_DB80, and as well S7-1200_DB15 and S7-400_DB81, have the same structure in between them. To test, we tried adding a new DB in the S7-1200 CPU, just 8 bits, and read from it (ADDR_1 := P#DB22.DBX 0.0 BYTE 1 and RD_1 := P#DB89.DBX0.0 BYTE 1 ; DB89 is on S7-400 and contains those 8 bits, and the same result.
Does anyone have a suggestion what else to check/try?
Thank you in advance. I'll stand by for any questions or suggestions.
We're trying to establish an S7 connection on ethernet between an S7-400 CPU and a new S7-1200 CPU (which is defined as slave in the communication diagram we've received), in Simatic Manager - not in TIA. We have defined in NetPro the connection between our S7-400 CPU and an unspecified partner (the S7-1200 CPU), we've then entered the partner's MAC (and the partner's rack/slot, from what we could find, we entered 0/1) and then downloaded the configuration in our S7-400 PLC.
Then we've created a FC in the S7-400 CPU, in Simatic Manager, where we wrote the PUT and GET functions to read/write from/to the S7-1200 CPU. To test, we've tried these functions in between 2 of our S7-400 CPUs, and they worked: the functions' error and status outputs were 0. The FC is called from a CFC.
On the S7-1200 CPU we've enabled the PUT and GET functions, and we've removed the protection from the DBs we want to read/write.
After we've done all of this, both the PUT and GET functions return ERROR and STATUS 1, and 16#0001, respectively.
Moreover, we created a DB for the functions' inputs/outputs (REQ, DONE, ERROR, STATUS), and the functions themselves created their respective DBs
For the GET function: on ADDR_1 we entered P#DB10.DBX0.0 BYTE 100 (DB10 is located on S7-1200) and RD_1 we entered P#DB80.DBX0.0 BYTE 100 (DB80 is on our S7-400).
For the PUT function: similarly, on ADDR_1 we put P#DB15.DBX0.0 BYTE 14 (DB15 is on S7-1200) and on SD_1 we put P#DB81.DBX0.0 BYTE 14.
Both S7-1200_DB10 and S7-400_DB80, and as well S7-1200_DB15 and S7-400_DB81, have the same structure in between them. To test, we tried adding a new DB in the S7-1200 CPU, just 8 bits, and read from it (ADDR_1 := P#DB22.DBX 0.0 BYTE 1 and RD_1 := P#DB89.DBX0.0 BYTE 1 ; DB89 is on S7-400 and contains those 8 bits, and the same result.
Does anyone have a suggestion what else to check/try?
Thank you in advance. I'll stand by for any questions or suggestions.