西门子array数据类型_西门子S71200之间以太网通信(图文)

西门子S7-1200之间以太网通信

一.通信前的准备

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

4e61642887591222785b8c04ab216db1.png

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

3ab28b5a37d1a9e24fb96c0d039a09b8.png

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

a0f66b0529da6b8566e9bbadb354753f.png

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

6aa5769934ac4aa128cba52d31df17c5.png

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

8af26e6e7dcabfe64bb37702776e5516.png

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

cb5af60c0ad1c0d9f99a250c6c9f32fd.png

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

二.程序编程

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

6a98d7dcc69e0419da583595c7018f84.png

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

fac5cebd575d7de4fd5fe2f93781e44d.png

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

85a6fe0be6b3e2018eeff62bb4a6f9b4.png

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

5d4a4642e552daffc4e17bb6bce9e91e.png

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

8985f3feeb160653fdc5c8915771f61a.png

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

fcfa2b230ea96361f7f5a8a986edd002.png

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

d82357fae19b479b8f4c892ca23f3589.png

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

a49334ffe3493349e87fd4b936ca5514.png

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

70960de4972606d1b22d1de096d0440c.png

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

1e89bb8f91cb8b19977a57d901c1c1e5.png

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

1084530ad1a28abbe7a726170a22044f.png

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

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

566b18121c62ce1c6b19ebf7aca92bcb.png

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

929c879586d587a9341053428f017cc8.png

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

b1b61690eb23799e6731b4f7f12a5cf1.png

34e4107c6f3e805315860a18c33a8710.png

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

下载测试

将PLC_1的程序下载到PLC中去

b18ee1d345da36f0b155447b7258f64a.png

f27bda51390e7b1932600f1dd1c2c00b.png

将PLC_2的程序下载到PLC中去

d13954204a29d1d43724c51d0f987617.png

5d604ed069dccbeeb0401255b5fe63a1.png

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

37ba8aee196aecef2a719dbe7febc626.png

82aa722eade11b903718a5f9f7266fd8.png

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

fb371efa18ab85fd01d880d4fe89d8ad.png

到这里,通信成功。

免责声明:本文系网络转载或改编,版权归原作者所有!

9018a79e45b5a90bc7677d8375793542.png

加微信号“15021230050”,邀请您加入微信技术群。

点击“阅读原文”,加入超级工控技术群:818836855

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修改计算机属性中的内存大小_Python 类属性的动态特点

#编程教育#Python是一门动态语言,所以它的属性都是在程序运行过程中动态引入的。一个类实例占用的内存大小也是动态变化的。这点和编译性语言是完全不同的。例如C是一门编译性语言,它在程序运行之前需要经历编译阶段,那么一个类实例的内存大小…

生成的头_Python爬虫偷懒神器!快速一键生成Python爬虫请求头

今天介绍个神奇的网站!堪称爬虫偷懒的神器!我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头( headers ),以 mdn 学习区为例,我们的请求头是这样的:一般来说,我们只要添加 u…

单选按钮带文字_一分钟教会你用Word添加单选框和复选框

又到学习Word技巧的时候啦!学了这么长时间,你的技能点有没有增加呢?对表格的使用有没有更加熟练了?是否很好奇别人家的表格是怎么弄成可以单选框和复选框的效果呢~~~~下面让小编带你解锁新姿势~效果图如下:(1)开发工具…

excel中线性函数_Excel中特别有用的不常用函数之Indirect函数

今天介绍一下Indirect函数。这个函数属于特别有用的一个函数,但是很多人并不太了解它的作用。今天我们就详细介绍一下。01INDIRECT函数的工作方式这个函数的语法特别简单:INDIRECT(ref_text,[a1])一般可以不用管第二个参数(缺省即可,表示单元…

橡胶柱压缩_你玩俄罗斯轮盘吗?剪切安全气囊压缩气瓶的隐患及注意事项

剪切气囊压缩气瓶的隐患大约 16 年前,当我开始在消防部门工作时,我们了解到:不要剪切安全气囊的压缩气瓶,不要靠近安全气囊的撞击区域,因为它们会让你丧命。那时,我只是接受了这一事实,从未想过…

回放导出数据_王者荣耀本地视频怎么导出MP4格式视频文件?答案在这里

王者荣耀保存的视频在哪看?在你的游戏中出现了精彩五连杀或者你成为MVP后,想要将视频记录下来回放结果发现不知道在哪里看已经录下来的视频,这里我就来告诉大家怎么回看王者荣耀中录下来的视频,由于游戏中的视频保存是属于缓存,因此手机缓存一旦没了这些…

怎么复活不了睡袋_测评 | 萌新的北京冬季户外睡袋初体验

寒冷的冬天到来,你躺在家里可以享受席梦思大棉被,但躁动的心让你想要到外面去看看,大棉被虽然舒服却又厚又重无法带到户外。帐篷是你在户外的小家,睡袋就是那一床温暖的被子。户外出行,不晓得户外睡袋重要性的驴友不是…

获取行信息_论文推荐 | 周乐韬,黄丁发,袁林果,等:基于状态和残差的北斗基准站观测数据表达与信息分级...

《测绘学报》构建与学术的桥梁 拉近与权威的距离复制链接,关注《测绘学报》抖音!【测绘学报的个人主页】长按复制此条消息,长按复制打开抖音查看TA的更多作品##7NsBSynuc88##[抖音口令]本文内容来源于《测绘学报》2020年第10期,审…

均衡原理_干货什么是负载均衡?负载均衡原理详解

负载均衡是高可用网络基础架构的一个关键组成部分,有了负载均衡,我们通常可以将我们的应用服务器部署多台,然后通过负载均衡将用户的请求分发到不同的服务器用来提高网站、应用、数据库或其他服务的性能以及可靠性。下面看一个不使用负载均衡…

服务器推送_初探 Watermill 构建 Golang 事件驱动程序,SSE 进行 HTTP 服务器推送

使用 SSE(Server-Sent Events) 进行 HTTP 服务器推送这个示例是一个类似 twitter 的 web 应用程序,使用 Server-Sent Events 来支持实时刷新。运行docker-compose up然后, 浏览 http://localhost:8080您可以添加自己的帖子或点击按钮获得随机生成的帖子。无论哪种方…

extends 抽象方法_关于abstract抽象类的理解

abstract:抽象类不能被实例化(new),包含属性、方法、构造器(此构造器不用来初始化实例,只用来被子类调用,其构造函数是提供给子类创建对象的时候初始化父类的属性的),故只…

三张表有重复字段_什么?搞不定Kafka重复消费?

点戳蓝字“架构之美”关注我们哦!前言 今天我们聊一个话题,这个话题大家可能在面试过程中,或者是工作当中经常遇到 ?如何保证 Kafka 消息不重复消费?我们在做开发的时候为了程序的健壮性,在使用 Kafka 的时候一般都会…

如何利用扩展欧几里得算法求解不定方程_欧几里德算法、拓展欧几里德、中国剩余定理...

01.欧几里德算法(Euclidean algorithm)(辗转相除法)欧几里德算法又称辗转相除法,主要是用于计算两个整数a,b的最大公约数。简单点说一下算法原理:两个整数的最大公约数等于其中小的那个数跟大除以小余数的最…

mysql 先删后增 更新_MySQL 高级操作——新增数据、更新数据、删除数据、查询数据...

新增数据多数据插入只要写一次insert指令,但是可以插入多条记录语法:insert into 表名 [(字段列表)] values (值列表1),(值列表2),(值列表3);主键冲突主键冲突,在有的表中,使用的是业务主键(字段有业务含义),但是往往在…

python七段数码管倒计时_python实现七段数码管和倒计时效果

8是典型的七段数码管的例子,因为刚好七段都有经过,这里我写的代码是从1开始右转。这是看Mooc视频写的一个关于用七段数码管显示当前时间# -*-coding:utf-8 -*-import turtle as timport timedef drawGap():t.penup()t.fd(5)def drawLine(draw):drawGap()…

rda分析怎么做_数量生态学笔记||冗余分析(RDA)

上一节数量生态学笔记||冗余分析(RDA)概述中,我们回顾了RDA的计算过程,不管这个过程我们有没有理解透彻,我希望你能知道的是:RDA是响应变量矩阵与解释变量之间多元多重线性回归的拟合值矩阵的PCA分析。本节我们就是具体来看一个RD…

mysql 服务器管理员_mysql 查看数据库管理员

mysql 查看数据库管理员云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样…

python中有哪些重要的书写规则_一文读懂Python代码的书写规范

Python代码的书写规范1. 一致性的建议打破一条既定规则的两个好理由当应用这个规则将导致代码可读性下降,即使对于某人来说他已经习惯于按照这条规则来阅读代码了为了和周围的代码保持一致而打破规则(也许是历史原因)2. 代码的布局缩进4个空格代码行行最大长度 : 79字符推荐长度…

java输入行数打印菱形_JAVA题,输入行数,输入列数,输出一个菱形

展开全部1,冒泡排序1. /**2. * JAVA排序算法实现代码-冒泡(Bubble Sort)排序。3. *4. *5. *6. */7. public class Test {8. public static void main(String[] args) {9. int[] a ;10.11. System.out.print("排序前: ");12.13. for (int i 0; i < a.length; i)1…

openshift 3 mysql_最新OpenShift免费空间申请与使用教程-1G内存1G空间支持PHP和MysqL

一、OpenShift空间申请使用前必备工具1、OpenShift官网&#xff1a;1、官方网站&#xff1a;https://www.openshift.com/2、OpenShift V3&#xff1a;https://manage.openshift.com/2、Github账号(或者其他的git仓库也可以..)。注册git仓库是为了方便的实现代码的同步&#xff…