嵌入式
返回首页

西门子S7-1200的以太网通信技术

2024-05-07 来源:elecfans

一.通信前的准备

首先创建新项目,并命名为“s7-1200之间通信”,如下图所示:

edc8f866-4d43-11ee-a25d-92fbcf53809c.png

然后组态设备,选择s7-1200的CPU 1214C DC/DC/RLY,版本号为4.1,如下图所示:

ede60f0a-4d43-11ee-a25d-92fbcf53809c.jpg

打开项目后,选中PLC_1设备视图,选择下面的“属性”选项,再选择“系统和时钟存储器”,在右边的显示出的启用时钟存储器字节的复选框中打上勾,如下图所示:

edf9df4e-4d43-11ee-a25d-92fbcf53809c.jpg

再选中PLC_1设备中以太网口,在以太网地址设置PLC_1的IP地址为:192.168.0.1,如下图所示:

ee1f94aa-4d43-11ee-a25d-92fbcf53809c.jpg

然后把PLC_1复制粘贴成PLC_2,同样地在以太网口那里设置PLC_2的IP地址为:192.168.0.2,之前的系统和时钟存储器已经设置好了,PLC_2不用再设了。具体如下:

ee3a8d00-4d43-11ee-a25d-92fbcf53809c.jpg

在设备视图中转到拓扑视图,分别添加交换机和PC端,并将它们按照下图连接起来。

ee57b786-4d43-11ee-a25d-92fbcf53809c.jpg

到这里通信前设备设置已经完成了。

二.程序编程

在PLC_1项目中选择程序块打开main(OB1),在右边的通信项选择“开放式用户通信”中选择“TSEND_C”指令并拖放到main(OB1)中去并生成背景数据块DB1,名称为:TSEND_C_DB。如下图所示:

ee8231e6-4d43-11ee-a25d-92fbcf53809c.jpg

选中指令,弹出下面的组态画面,设置如下面所示,在连接类型选择TCP,在连接数据行中,在下拉菜单中选择新建,生成下面所示的画面。

eea1b868-4d43-11ee-a25d-92fbcf53809c.jpg

在PLC_1项目中选择程序块打开main(OB1),在右边的通信项选择“开放式用户通信”中选择“TRCV_C”指令并拖放到main(OB1)中去并生成背景数据块DB2,名称为:TRCV_C_DB,如下所示:

eee366a0-4d43-11ee-a25d-92fbcf53809c.jpg

选中指令,弹出下面的组态画面,设置如下面所示,在连接类型选择TCP,在连接数据行中,在下拉菜单中选择新建,生成下面所示的画面:

ef026668-4d43-11ee-a25d-92fbcf53809c.jpg

然后添加全局数据块,命名为send,如下图所示:

ef20cc48-4d43-11ee-a25d-92fbcf53809c.jpg

在打开的全局数据块名称列命名为send,在数据类型选择数组并设置为array[0....99]of string,如下图:

ef470e44-4d43-11ee-a25d-92fbcf53809c.jpg

在选中send[DB5]中单击右键选择属性,将打勾的去掉。如下所示:

ef6ec768-4d43-11ee-a25d-92fbcf53809c.jpg

接下来关于指令“TSEND_C”的设置如下面所示:

ef8ba4a0-4d43-11ee-a25d-92fbcf53809c.jpg

再添加全局数据块,并命名为“receive”,然后在打开里面名称列命名为“receive”,数据类型选择数组并设置为array[0....99]of string,如下图所示:

ef9ddbc0-4d43-11ee-a25d-92fbcf53809c.jpg

同样地在receive[DB6]中单击右键选择属性,将打勾的去掉。如下所示:

efc05d62-4d43-11ee-a25d-92fbcf53809c.jpg

关于指令“TRCV_C”的设置如下所示:

efdcf5e4-4d43-11ee-a25d-92fbcf53809c.jpg

到这里PLC_1的编程组态已经完成,关于PLC_2的编程组态设置和PLC_1的设置步骤大同小异,基本的设置如下面所示:

在PLC_2中TSEND_C指令的设置组态如下:

eff75844-4d43-11ee-a25d-92fbcf53809c.jpg

在PLC_2中TRCV_C指令的设置组态如下:

f02a0a78-4d43-11ee-a25d-92fbcf53809c.jpg

关于指令TSEND_C和TRCV_C设置如下:

f04bc884-4d43-11ee-a25d-92fbcf53809c.png

f06d5210-4d43-11ee-a25d-92fbcf53809c.png

到这里PLC_1 和PLC_2的编程组态已经完成了

下载测试

将PLC_1的程序下载到PLC中去

f0865d32-4d43-11ee-a25d-92fbcf53809c.jpg

f0a317d8-4d43-11ee-a25d-92fbcf53809c.jpg

将PLC_2的程序下载到PLC中去

f0c5d4d0-4d43-11ee-a25d-92fbcf53809c.jpg

f0eea860-4d43-11ee-a25d-92fbcf53809c.jpg

在PLC_1和PLC_2中添加监控表,如下图所示:

f1083564-4d43-11ee-a25d-92fbcf53809c.jpg

f1167a98-4d43-11ee-a25d-92fbcf53809c.jpg

启动两台PLC并监控,输入名字然后点修改,测试结果如下所示:

f12c61e6-4d43-11ee-a25d-92fbcf53809c.jpg

到这里,通信成功。


进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 如何调制IC555振荡器

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章