[西门子] 西门子1200如何与200smart进行S7以太网通信

[复制链接]
查看295 | 回复0 | 2024-6-17 08:23:28 | 显示全部楼层 |阅读模式
>

S7 协议是 SIEMENS S7 系列产品之间通讯使用的标准协议,1200/1500/300/400等系列之间可以使用该协议进行通信,200SMART作为西门子旗下的小型系列产品,是否也支持S7协议呢?答案是肯定的。本文以1200和200smart通信为例学习一下S7协议以太网通信。
案例一:1200作为本地CPU,200SMART作为远程CPU。
要实现下表中数据交换
本地CPU1215C
操作
远程CPU ST30
DB2.DBD0(REAL)
读取
VD0(REAL)
DB2.DBD4
读取
VD4
DB2.DBD8
读取
VD8
DB2.DBD12(REAL)
写入
VD12(REAL)
DB2.DBD16
写入
VD16
DB2.DBD20
写入
VD20


S7-200 SMART中存储区与1200表示形式有所不同,V区相当于1200的DB1,即VD0相当于DB1.DBD0,以此类推。
一、在博图中创建一个新项目,添加设备CPU 1215C ,从右侧指令列表中找到通信>S7通信>GET(从远程CPU读取数据)和PUT(从远程CPU写入数据)。




REQ:上升沿激活读取。
ID: 用于指定与伙伴 CPU 连接的寻址参数。
ADDR_1: 指向伙伴 CPU 上待读取区域的指针,对应RD_1。
ADDR_2: 指向伙伴 CPU 上待读取区域的指针,对应RD_2。
ADDR_3: 指向伙伴 CPU 上待读取区域的指针,对应RD_3。
ADDR_4: 指向伙伴 CPU 上待读取区域的指针,对应RD_4。
RD_1: 指向本地 CPU 上用于输入已读数据的区域的指针,对应ADDR_1。
RD_2: 指向本地 CPU 上用于输入已读数据的区域的指针,对应ADDR_2。
RD_3: 指向本地 CPU 上用于输入已读数据的区域的指针,对应ADDR_3。
RD_4: 指向本地 CPU 上用于输入已读数据的区域的指针,对应ADDR_4。
NDR: 状态参数 NDR:0:作业尚未开始或仍在运行。1:作业已成功完成。
ERROR: 错误状态参数 。
STATUS:错误代码。
点击开始组态按钮:




PUT组态方法和GET几乎一样,按下图组态好。





案例二:200SMART作为本地CPU,1200作为远程CPU。
本地CPU ST30
操作
远程CPU 1215C
VD0(REAL)
读取
DB1.DBD0(REAL)
VD4(REAL)
读取
DB1.DBD4(REAL)
VD8(REAL)
读取
DB1.DBD8(REAL)
VD12(REAL)
写入
DB1.DBD12(REAL)
VD16(REAL)
写入
DB1.DBD16(REAL)
VD20(REAL)
写入
DB1.DBD20(REAL)

1200的DB1相当于200SMART中的V区,即DB1.DBD0相当于VD0。





200SMART中GET/PUT向导组态只能以字节为单位,所以远程地址为VB0,传送大小为12个字节。





组态完成后,点击生成,在调用子例程中调出生成的子程序NET_EXE.


1200中只需要创建DB1,并定义好六个REAL类型的变量,并将DB1的优化块的访问取消。




—THE END—


点点在看给小编加个鸡腿




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则