西门子1200和200SMART系列都支持开放的TCP协议以太网通信,以1200 为本地CPU与200SMART进行TCP通信,但是开放式TCP通信,是提供了发送或接收数据指令,所以通信的双方要编写发送和接收指令进行配合。
本地CPU 1215C | 操作 | 远程CPU ST30 |
DB2.DBW0(INT) | 发送 | VW0(INT) |
DB2.DBW2(INT) | 发送 | VW2(INT) |
DB2.DBW4(INT) | 接收 | VW4(INT) |
DB2.DBW6(INT) | 接收 | VW6(INT) |
一、在博图中创建新项目,添加CPU 1215C。
从右侧指令列表中找到:通信>开放式用户通信>TSEND_C(发送数据)和TRCV_C(接收数据)。
点击开始组态,打开组态界面。
打开组态,方法与发送类似:
二、编写ST30的程序。
打开200 SMART编程软件,创建好项目,CPU 设置成ST30,并将IP改为192.168.0.5。
在左侧项目树中找到指令>库>Open User Communication>TCP_CONNECT(建立连接),TCP_SEND(发送数据)和TCP_RECV(接收数据)
EN:使能。
REQ: 如果 Req = TRUE,CPU 启动连接操作,Req = FALSE,则输出显示连接的当前状态。
Active:TRUE = 主动连接,FALSE = 被动连接。
ConnID:CPU 使用连接 ID (ConnID) 为其它指令标识该连接。可能的 ConnID 范围为 0 到 65534。
IPaddr1-4:这些是 IP 地址的四个八位字节。IPaddr1 是 IP 地址的最高有效字节,IPaddr4 是 IP 地址的最低有效字节,被动时可以设置为0。
RemPort:是远程设备上的端口号。远程端口号范围为 1 到 49151。对于被动连接,使用零。
LocPort:是本地设备上的端口号。本地端口号范围为 1 到 49151。
Done:当连接操作完成且没有错误时,指令置位 Done 输出。
Busy:当连接操作正在进行时,指令置位 Busy 输出。
Error:错误状态。
Status:错误代码。
DataLen:是要发送的字节数(1 到 1024),发送2个字,故写作4。
DataPtr:是指向待发送数据的指针。这是指向 I、Q、M 或 V 存储器的 S7-200 SMART 指针(此处发送数据VW0则写作&VB0)。
MaxLen:是要接收的最大字节数(1 到 1024),接收2个字,故写作4。
DataPtr 是指向接收数据存储位置的指针。这是指向 I、Q、M 或 V 存储器的 S7-200 SMART 指针(此处接收数据存储到VW4,写作&VB4)。
- 西门子1200PLC控制1500PLC进行DP通讯 2024-11-23
- 西门子1200PLC与G120变频器进行DP通讯 2024-11-23
- 以西门子200SMART为例,用移位寄存器指令实现次品检测实例 2024-11-23
- PLC和触摸屏通信不上的解决办法! 2024-11-23
- 西门子S7-1200真的有安全漏洞吗? 2024-11-23
- 西门子的亲儿子终于可以全面取代S7-400了 2024-11-23
- 看下S7-1500 这五大改进,你心动了没? 2024-11-23
- 为何博途 V15安装总是不顺利? 2024-11-23
- 博途V16上传程序时有些什么技巧? 2024-11-23
- 虚拟机博途中S7-1200/1500与 Wincc如何建立变量连接? 2024-11-23