西门子PLC以太网协议 PLC 以太网通信 里的 TSAP

给TA发消息加TA为好友发表于:
14:44:55楼主
实际工程中用过的PLC 以太网通信案例,需要把PLC型号、与PLC通信的设备、通信的各种参数及情况、通信实现的功能等说明清楚,贴出程序并加以说明。
PLC及与PLC通信的设备类型不限。
工控PLC擂台每周一期,本期下周结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
给TA发消息加TA为好友发表于:
06:23:361楼
上星期用ISaGRAF做了一个基于UDP/IP 的多站通讯的演示程序。
用户的要求:主站需要500ms一次向7个从站发送数据,每个从站则2秒一次向主站传送数据。有一个从站作为备用主站,当主站发生故障时起到主站的作用。为了便于演示,主站和从站的程序代码应该是相同的,程序根据PLC的IP地址确定自己的身份。
修改设为最佳回复
给TA发消息加TA为好友发表于:
19:44:112楼
S7-200 之间的以太网通信
S7-200 之间的以太网通信,S7-200 既可以做为Server(服务器)端,也可以做为Client(客户端)。 1、S7-200 做为Server 端
S7-200 做为Server 端时,只响应Client 端的数据请求,不需要编程,只要组态CP243-1 就可以了。
(1)选择“工具”菜单下的“以太网向导...”。
(2)打开“以太网向导”,简单介绍CP243-1 及以太网的有关信息,点击“下一步”。
(3)设置CP243-1 模块的位置,如不能确定,可以点击“读取模块”由软件自动探测模块的位置,点击“下一步”。
(4)设定CP243-1 模块的IP 地址和子网掩码,并指定模块连接的类型(本例选为自动检测通讯),点击“下一步”。
(5)确定PLC 为CP243-1 分布的输出口的起始字节地址(一般使用缺省值即可)和连接数据数,点击“下一步”。
(6)设置本机为服务器,并设置客户机的地址和TSAP。
TSAP:由两个字节构成,第一个字节定义了连接数,其中:
Local TSAP 范围:16#01,16#10~16#FE
Remote TSAP 范围:16#01,16#03,16#10~16#FE
第二个字节定义了机架号和CP 槽号。
如果只有一个连接,可以指定对方的地址,否则可以选中接受所有的连接请求。
“保持活动”功能是CP243-1 以设定的时间间隔来探测通信的状态,此时间的设定在下步设定。
(7)选择是否需要CRC 保护,如选择了此功能,则CP243-1 在每次系统重启时,就校验S7-200 中的组态信息看是否被修改,如被改过, 则停止启动,并重新设置IP 地址。
“保持活动间隔”即是上步中的探测通信状态的时间间隔。
(8)选定CP243-1 组态信息的存放地址,此地址区在用户程序中不可再用。
(9)至此,S7-200 服务器端的以太网通信已经组态完毕,如下图, 给出了组态后的信息。点击“完成”保存组态信息。
(10)在程序调用子程序“ETH0_CTRL”。
参数说明:ETH0_CTRL 为初始化和控制子程序,在开始时执行以太网模块检查。应当在每次扫描开始调用该子程序,且每个模块仅限使用一次该子程序。每次CPU 更改为RUN(运行)时,该指令命令CP243-1以太网模块检查V 组态数据区是否存在新配置。如果配置不同或CRC保护被禁用,则用新配置重设模块。
当以太网模块准备从其他指令接收命令时,CP_Ready 置1。Ch_Ready的每一位对应一个指定,显示该通道的连接状态。例如,当通道0 建立连接后,位0 置1。Error(错误)包含模块通信状态。
2、S7-200 做为Client 端
S7-200 做Client 端时,组态步骤前5 步同S7-200 做Server 时,注意在第4 步中客户端的地址要设主192.168.147.2。
(1)~(5)步同Server 端时的步骤。
(6)选择本机为客户机,并设定服务器的地址和TSAP。由于客户机需要组态发送或接收服务器的数据,点击“数据传输”按钮。
(7)在弹出的画面中点击“新传输”。
(8)选择客户机是接收还是发送数据到服务器及接收和发送的数据
区,如有多个数据传输(最多32 个,0~31),可按“新传输”按钮
定义新的数据传输。
修改设为最佳回复
给TA发消息加TA为好友发表于:
13:23:103楼
我有西门子300的通信,稍后发上
修改设为最佳回复
给TA发消息加TA为好友发表于:
15:21:364楼
用组态软件就可以实现多台PLC之间的数据交换。不用编写通讯程序
修改设为最佳回复
给TA发消息加TA为好友发表于:
15:47:285楼
S7300和S7200的以太网模块都用过!
修改设为最佳回复
给TA发消息加TA为好友发表于:
17:25:406楼
弄个双以太网的冗余的,其他的就别发了。
修改设为最佳回复
给TA发消息加TA为好友发表于:
20:41:227楼
通过调用S7通讯提供的SAPI-S7应用程序接口实现PC机与SPLC基于工业以太网的数据通讯
1、SIMATIC NET工业以太网
SIMATIC NET工业以太网是用于大型集散控制系统的高速网络系统,最高通信速率可达100Mbps,通讯距离为1.5Km(同轴电缆)或4.5Km(光纤)网络可连接多于1000个节点。它是基于IEEE802.3的工业标准总线系统,采用CSMA介质访问控制协议。节点之间通过连接方式进行数据传输,由主动站建立连接,被动站加以确认。PG/PC和PLC之间可建立无穷多个连接,而每个PLC最多可建立16个PLC-PLC连接。每一个连接最多一次可发送240个字节;传送的数据为:I/O地址,中间寄存器和DB数据块。可按位、字节、字、双字等方式读写。
工业以太网由独立的网段组成,每个网段最多500m,最多可连接100个站点,网段之间用中继器连接。两站之间最多接两个中继器,构成1000米得远程中继站。每个数据终端设备DTE通过耦合器连接到网上,DTE可以是工作站PC和编程器PG,S7、S5、M7等系列得PLC设备,以及其他支持ISO传输的非西门子系统。网络通讯接口设备为自带CPU的CP(通讯处理器)模块,在它的固件中固化了ISO参考模型的1到7层协议。CP完成所有的通讯任务,可大大减轻DTE的CPU负担。S7-300一般采用CP343-1板,S7-400一般采用CP443-1板。PC/PG上一般装有网卡CP1613,也可以用CP1413、CP1511、CP1411。
2、 S7通讯
S7通讯是SIMATIC S7 PLC之间得最佳化通讯协议,它也允许用户通过S7协议连接PC和工作站。每个作业的用户的最大用户数据量可到64K(中等到大型的数据量)。可以被MPI、PROFIBUS和工业以太网所支持,是西门子公司开发的基于应用层的一个协议。S7通讯提供了简明、强有力的通讯服务和与网络无关的用户接口,用于工业以太网、PROFIBUS和MPI。需要安装SIMATIC Net软件,目前最新版本是V6.2。
3、 数据通讯的实现
S7通信协议不公开,管理计算机和调试计算机上第三方软件编制的程序如何实现PC机与西门子S7 300/400 PLC之间的信息通讯是个棘手的问题。为了允许PC机和工作站上的应用程序与西门子S7系列产品进行S7通讯,西门子公司提供了一个SAPI-S7应用程序接口,通过它可以灵活而方便地跟西门子S7系列产品进行通信。安装SIMATIC Ner软件后,会在系统system32目录下生成一个s732.dll文件,该动态链接库提供了大量基于WindowsNT、Window95/98、Windows3.11和MS-DOS的函数,这样就使得用户解决PLC和PC机的数据交换和数据处理问题变为可能。通信编程包括两个部分:(1)CP连接组态(2)PLC与上位机通信编程。
4、 CP连接组态
可采用step7软件或step7软件中用于工业以太网的NCMS7软件对CP进行网络组态。通讯处理器CP可连接PC,PC/PG上一般装网卡CP1613。在Windows控制面板下的“set PC/PG”下安装所用网卡驱动程序,并设协议、站号、波特率、是否为主站,完成对VFDs(Virtual Field Device)和S7 connections的配置[4]。
8、 PLC和上位机的通讯编程
S7-300/400PLC有以下各类资源:①输入点I:接收外部开关量信号 ②输出点Q:输出给外部的开关量信号 ③内部辅助点M:存放所需中间结果 ④时间继电器T ⑤计数器 ⑥数据块DB:存放程序数据的存储区域 ⑦外设输入PI:主要接收模拟量输入信号经A/D转换⑧外设输出PQ:给出模拟两输出值[5]。要读/写这些资源,首先要建立PLC和PC机的连接。
(1) 初始化与PLC的连接
SAPI-S7应用程序接口提供的管理服务模块(Administrative Services)提供了一些可供读出配置信息和登录/退出通讯系统的函数,下面作一些简要介绍:
? s7_get_device() :通过此函数,用户程序可以查询所有已安装的CP的CP名。
? s7_get_vfd() :通过此函数,用户程序可以查询任一指定CP的所有已配置的VFD。
? s7_init():通过此函数,用户程序可登录通讯系统。
? s7_get_cref() :此函数提供了一个指向所选S7 connection名的指针。
? s7_get_conn():此函数返回已登录VFD的所有S7 connection名和指向他们的指针。
? s7_shut():通过此函数,用户程序可退出通讯系统。
一个应用程序可以登录一个或多个CP的若干个VFD,只有当应用程序登录CP及其所选的VFD,在配置期间指定给该VFD的所有连接才是有效的。
(2)读/写PLC内部资源
初始化与PLC的连接成功后,就可以对PLC进行读写操作。对PLC存储区即数据块DB的读写是实现监控的最基本操作。SAPI-S7应用程序接口提供的变量服务模块(Variable Services)提供了一些读写函数,由于篇幅有限,现选一些经常用到的函数作一些简单介绍。
? s7_cycl_read():此函数通知服务方准备对单存储单元循环读一个变量。
? s7_get_cycl_read_ind():此函数接收来自服务方发送的数据。
? s7_multiple_read_req():此函数通知服务方准备对多存储单元读一个或多个变量。
? s7_get_multiple_read_cnf():此函数接收来自服务方的一个或多个变量的值。
? s7_multiple_write_req():此函数通知服务方准备对多存储单元写一个或多个变量。
? s7_get_multiple_write_cnf():此函数接收来来自服务方的执行上述写请求的结果。
需要特别注意的是:S7 300/400PLC遵循“高地址、低字节”的规律,这与某些习惯用法不同。例如在C++Builder6中,变量类型为word的变量,它的数据存放顺序是“低地址,低字节”的规律。因此在对所读取的数据进行操作或给PLC数据块中写数据字时要进行相应的处理。
为解决上位机不能因前台的信息处理而中断后台的监听等问题,可采用多线程编程技术,将对PLC内部资源的读/写功能模块交给一个后台线程来完成。多线程编程技术能提高CPU利用率,加快信息处理,提高系统的实时性,在由多台计算机组成的分布式实时控制系统中应用多线程技术是完全必要的。
(3) 后台读/写线程模块部分代码
·····
ret = s7_receive(cp_descr,&cref,&orderid);
switch(ret)
case S7_NO_MSG:
case S7_INITIATE_CNF:
Synchronize(my_get_initiate_cnf);
Synchronize(my_multiple_read_req);
case S7_MULTIPLE_READ_CNF:
Synchronize(my_get_multiple_read_cnf);
Synchronize(my_multiple_read_req);
case S7_ABORT_IND:
Synchronize(my_get_abort_ind);
case S7_VFD_STATE_CNF:
Synchronize(my_get_vfd_state_cnf);
Synchronize(my_abort);
case S7_VFD_USTATE_IND:
Synchronize(my_get_vfd_ustate_ind);
·····
}while(ret != last_event_expected)
修改设为最佳回复
给TA发消息加TA为好友发表于:
23:47:008楼
楼上那个应该是西门子的以太网通讯例子吧
修改设为最佳回复
给TA发消息加TA为好友发表于:
08:56:399楼
学习了,还请大家都关照下,谢谢诶
修改设为最佳回复
给TA发消息加TA为好友发表于:
09:33:5710楼
第一步:组台硬件
第二步:组台网络
第三步:配置从站通讯
第四步:编辑控制程序
实现多个cpu通讯
修改设为最佳回复
给TA发消息加TA为好友发表于:
10:40:3211楼
关于以太网通讯我感觉主要有3点:1.主要是看好以太网模块在模组中所在的位置
2.设置好以太网的网址
3.确定联接的线没有故障
下面我以三菱Q系列PLC为例,是一台负荷区分设备,主要的PLC构成如图:
现在设置PLC编程软件,首先把PLC各个模块所在位置设定好,每个模块的点数确定好,后设置图如下:
确定完各个模块的I/O点数后,然后设置网络参数,网络参数主要是以太网模块的起始I/O,站号以及操作设置里面的基本参数;如下图:
这些参数设置好,就可以实现正常的通信了
因这设备也用到了CC-LINK,我也顺便把设置参数列出来,不多解释,上图:
本人嘴拙,不会细细描述,大概就是这样,呵呵
修改设为最佳回复
给TA发消息加TA为好友发表于:
20:42:0512楼
通过CP343-1 实现S7-300 之间的以太网通讯
一、硬件组态
首先搭建一套测试设备,设备的结构图如下:
2 套S7-300 系统由PS307 电源、CPU314C-2DP、CPU314C-2PTP、CP343-1、CP343-1 IT、
PC、CP5611、STEP7 组成,PLC 系统概貌如下图:
如下将一步一步展示如何实现2 套S7-300 之间的以太网通讯:
第一步:打开SIMATIC Manager,根据我们系统的硬件组成,进行系统的硬件组态,如图:
插入 2 个S7300 的站,进行硬件组态:
分别组态2 个系统的硬件模块:
设置CP343-1、CP343-IT 模块的参数,建立一个以太网,MPI、IP 地址:
修改设为最佳回复
给TA发消息加TA为好友发表于:
20:56:3113楼
二、网络组态
组态完2套系统的硬件模块后,分别进行下载,然后点击Network Configration按钮,打开系统的网络组态窗口NetPro,选中CPU314,如下图:
在窗口的左下部分点击鼠标右键,插入一个新的网络链接,并设定链接类型为ISO-on-TCP connection 或 TCP connection或 UDP connection 或 ISO Transport connection,如下图:
点击OK后,弹出链接属性窗口,使用该窗口的默认值,并根据该对话框右侧信息进行后面程序的块参数设定:
当2套系统之间的链接建立完成后,用鼠标选中图标中的CPU,分别进行下载,这里略去CPU314C-2DP的下载图示:
修改设为最佳回复
给TA发消息加TA为好友发表于:
20:59:3614楼
三、程序编程
到此为止,系统的硬件组态和网络配置已经完成。下面进行系统的软件编制,在SIMATIC Manager界面中,分别在CPU314C-2PTP、CPU314C-2DP中插入OB35定时中断程序块和数据块DB1,DB2,并在两个OB35中调用FC5(AG_Send)和FC6(AG_Recv)程序块,如下图:
创建DB1、DB2数据块,如下图:
2套控制程序已经编制完成,分别下载到CPU当中,将CPU状态切换至运行状态,就可以实现S7-300之间的以太网通讯了。
如下界面说明了将CPU314C-2DP 的DB1中的数据发送到CPU314C-2PTP 的DB2中的监视界面:
a. 选择Data View,切换到数据监视状态:
b. CPU314C-2DP 的DB1中发送出去的数据:
c. CPU314C-2PTP 的DB2中接收到的数据
修改设为最佳回复
给TA发消息加TA为好友发表于:
14:46:5715楼
楼上的,你字体模糊啊……
修改设为最佳回复
给TA发消息加TA为好友发表于:
14:50:3816楼
回复内容:
对:彩云之滇东北 关于
第一步:组台硬件
第二步:组台网络
第三步:配置从站通讯
第四步:编辑控制程序
实现多个cpu通讯
内容的回复:
是走的Profibus还是以太网
修改设为最佳回复
给TA发消息加TA为好友发表于:
15:01:2817楼
回复内容:
对:秒杀G 关于回复内容:
对:彩云之滇东北 关于
第一步:组台硬件
第二步:组台网络
第三步:配置从站通讯
第四步:编辑控制程序
实现多个cpu通讯
内容的回复:
是走的Profibus还是以太网 内容的回复:
明显Prifibus,这个猫是不能给分吧!!!!!
修改设为最佳回复
给TA发消息加TA为好友发表于:
15:03:4018楼
我的WINCC和S7用以太网通讯突然中断,西门子的说少了一个以太网抓包软件。还有就是共地没有做好。叫我不知道是不是这么回事???????
修改设为最佳回复
给TA发消息加TA为好友发表于:
00:01:3019楼
没有人回答啊
修改设为最佳回复
给TA发消息加TA为好友发表于:
02:20:3520楼
楼上的各位辛苦了.......
修改设为最佳回复
给TA发消息加TA为好友发表于:
11:31:5321楼
S7-300/400之间互连
1、采用PLC与PLC通过以太网访问,需要增加以太网模块,如CP343-1,CP443-1的模块,或者采用带有PN接口的PLC,如CPU315-2DP/PN的PLC。
2、采用两块CP343-1互连,先在同一个项目里做好两套PLC的硬件组态,分配好IP地址,打开NetPro,选择其中一个PLC,双击连接列表上的空白行,添加一个
S7 conection。选择连接的另一个PLC,记住连接的ID号。通讯双方的其中一个站为Client端,激活“Establish an active connection”的选项(默认是激活的)。这样NetPro的配置就完成了,编译、下载完成
3、打开其中两套PLC的OB1,调用FB12(BSEND)块发送数据,FB13(BRCV)块接收数据,1#PLC的发送对应2#PLC的接收,1#PLC的接收对应2#PLC的发送。
4、调用FB12的时候几个参数的含意,a、REQ,发送开始,上升沿触发发送工作;b、ID,连接ID号,这个ID号是在NetPro组态时生成的ID号;c、R_ID,连接号,相同连接号的FB块互相对应发送接收数据,这个是由用户编程时定义的,例如1#PLC的FB12的R_ID是DW#16#2,则2#PLC的FB13的R_ID也是DW#16#2,这样才能保证正常接收发送;d、DONE,发送完成,如果REQ端是一个不停的脉冲,正常情况下DONE端也应该也是一个不停的脉冲反馈;e、SD_1,发送的开始地址,以P# x.x
byte xxx来表示,f、LEN,发送数据的长度。
5、采用FB12、FB13来进行发送/接收是比较麻烦的,一方面需要两端的以太网模块都支持双边发送,如Cp343-1-Lean就不支持了,另一方面,两边都要写程序,对于增加的系统不太方便,所以这时可以在NetPro里把One-way(单边通讯,激活后FB12、FB13不能使用)激活,采用FB14(GET)取数据、FB15(PUT)发送数据来做,FB14的参数定义和FB12差不多,只是少了R_ID和LEN,这样更方便一些,而且还有一个好处,不需要对原有的系统进行什么更改,只需要把单边的PLC组态和程序下载就可以了
6、需要注意的另一个问题是FB和SFB的区别,在S7-400上采用SFB,在S7-300上采用FB,在S7-300集成的PN口上,采用SFB,这个问题曾经折磨过我一两天才解决。
修改设为最佳回复
给TA发消息加TA为好友发表于:
16:36:1322楼
S7-300PLC利用S7通信协议进行工业以太网通信
1、新建项目
在STEP 7中创建一个项目,取名为“IE_S7” ,点击右键,再弹出的菜单中选择“Ins ert New Object”→“SIMATIC 300 Station”,插入一个300站。用同样的方法在项目“IE_S7”下插另一个300站,如图所示。
2、硬件组态
单击“SIMATIC 300(1)”,双击“Hardware”进入“HW Config”界面。在机架中插入所需的CPU和CP模块
“SIMATIC 300(1)”的硬件组态
与ISO传输协议一样,当插入CP模块后,会自动弹出一个“CP 343-1 IT的属性对话框”。新建以太网“Ethernet(1)”,因为要使用ISO传输协议,故选择“Set MAC address/use ISO protocol”,本例中设置该CP模块的MAC地址为08.00.06.71.6D.D0,IP地址为:192.168.1.10,子网掩码:255.255.255.0。
用同样的方法,建立另一个S7-300站,CP模块为CP 343-1,设置CP模块的MAC地址,连接到同一个网络“Ethernet(1)”上。
3、网络参数设置
打开“NetPro”设置网络参数,选中一CPU,点击鼠标右键,选择“In sert New Connection”建立新的连接,在连接类型中,选择“S7 connection”连接
选择“S7 connection”连接
点击“OK”,设置连接属性,见图
“General”属性中块参数ID=1,这个参数在后面编程时会用到。
通信双方的其中一个站(本例中为CPU 314C-2DP)为Client端,激活“Establish an active connection”选项;另一个站(本例中为CPU 314C-2PtP)为Server端,在相应属性中不激活。
如果选择了“TCP/IP”,站与站之间的连接将使用IP地址进行访问,否则将使用MAC地址进行访问。
“One-way”表示单边通信,如果选择该项,则双边通信的功能块FB12“BSEND”和FB13“BRCV”将不再使用,需要调用FB14“PUT”和FB15“GET”。
设置好后保存编译并下载到各PLC中。
修改设为最佳回复
给TA发消息加TA为好友发表于:
16:47:3123楼
4、编写程序
(1)双边通信
由于事先选择了双边通信的方式,故在编程时需要调用FB12“BSEND”和FB13“BRCV”,即通讯双方均需要编程,一端发送,则另外一端必须接受才能完成通信。
FB12“BSEND”和FB13“BRCV”可以在指令库“Libraries”→“SIMATIC_NET_CP”→“CP 300”中可以找到,如图所示
首先发送方(本例中为CPU 314C-2DP)调用FB12“BSEND”,
发送方程序
“ID”为网络参数设置时确定,而“R_ID”在编程时由用户自定义,相同的“R_ID”的发送/接受功能块才能正确地传输数据,例如发送方的“R_ID”=1,则接受方的“R_ID”也应设为1。下表所示为功能FB12各个管脚参数说明。
另外接收方(本例中为CPU 314C-2PtP)调用FB13“BRCV”,如图所示。
功能块FB13的管脚参数说明见表所示。
(2)单边通信
此时,S7连接属性中需要设定“One-way”方式,如图所示。
当使用“One-way”方式,只需在本地侧的PLC调用FB14“PUT”和FB15“GET”,即可向通信对方发送数据或读取对方的数据。
FB14“PUT”和FB15“GET”同样在指令库“Libraries”→“SIMATIC_NET_CP”→“CP 300”中可以找到,如图所示。
先调用FB15进行数据发送,如图所示。
接着调用FB14读取对方PLC中的数据,如图所示。
功能块FB14“PUT”和FB15“GET”的管脚参数说明分别见下表
西门子S7Comm以太网通讯协议解析
西门子 S7-300 PLC 从入门到精通的100个经典问题
LabVIEW通过以太网(TCP)与S7-1200 PLC通信
没有更多推荐了,
(window.slotbydup=window.slotbydup || []).push({
id: "5865577",
container: s,
size: "300,250",
display: "inlay-fix"「案例讲解」西门子S7-1200与S7-200SMART之间的以太网通信「案例讲解」西门子S7-1200与S7-200SMART之间的以太网通信墨指含香百家号S7-200 SMART系列固件版本为V2.2版本以上且CPU使用以太网通信时,可以支持S7通信,TCP/IP通信,IS-on-TCP通信,UDP通信,也包括MODBUS TCP通信。在这里给大家介绍下S7-1200与S7-200SMART系列PLC之间的以太网通信如何实现,由于两者同为西门子的产品,所以这里主要以S7通信为例给大家做一个简单介绍。在这里使用1200的PLC作为本地站(即客户端),S7-200SMART系列PLC作为远程站(服务器),通信组态及程序只需要在本地站(即客户端)中进行设计。1、在TIA Portal软件中建立一个项目名称为“S7-1200与S7-200SMARTPLC之间的通信”的项目,同时分别添加一个S7-1200的PLC,并对其以太网端口属性及IP地址进行设置,如下图所示:注:若使用了路由器连接,需要启用“使用路由器”,并设置路由器的地址即网关。2、网络配置:(1)点击软件中的“网络视图”选项进入网络视图界面,鼠标左键点击左上角的“连接”按钮,此时PLC会出现蓝绿色,鼠标右键点击PLC,然后选择里面的添加新连接按钮。如图所示:(2)添加一个新的S7连接点击添加新连接后,在弹出的创建新连接对话框中的右上角处的类型里面把HMI的连接改成“S7连接”,然后选择左侧出现的“未指定”,然后点击添加按钮,然后关闭创建新连接对话框,此时在网络视图中可以看到PLC出现一个S7连接,如下图所示:(注:本地ID在程序中需要用到,需要记住ID号)(3)点击网络视图,进入网络数据配置对话,设置好连接的未指定的IP地址(即S7-200SMARTPLC的IP地址)等参数,如图所示:注:S7-200SMART的TSAP支持03.00或是03.01.(4)程序设计:通信程序只需要在1200PLC处编写,S7-200SMARTPLC处无需编写任何通信程序,这里我们以把S7-1200PLC中DB1.DBB0的数据写入到S7-200SMART的VB0中,以读取S7-200SMART系列PLC中的VB1的数据放到S7-1200PLC的DB1.DBB1中为例,说明程序的设计。在1200PLC中同样添加一个DB块,在DB块的属性中取消优化块的访问功能,在DB块里面建立两个变量,分别命名为”send_data”以及”recev_data”。数据类型为Byte,需要把send_data的数据发到的S7-200SMART的VB0中,把从S7-200SMART的VB1中的数据读取过来放到 recev_data的变量中。如下图所示:然后从右侧的通信指令中的S7通信中拖拽PUT和GET指令到OB1编写通信程序,调用PUT/GET指令时,系统会自动调试需要分配一个背景DB ,指令调用完后,填写相应的地址。如下图所示:注:CPU会自动的把S7-200SMART系列PLC的整个V区默认为数据块DB1,所以访问VB0,的地址为DB.DBB0。注:M0.5为CPU属性中设置的系统时钟存储器,频率为1HZ,如下图所示:(5)测试把做好的程序,分别下载到PLC中,然后使用监控表和状态图表进行测试,如下图所示:大家还有关于S7通信的相关问题和经验,可以留言与我们分享。本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。墨指含香百家号最近更新:简介:故事我有,带着故事,带着心情,一起飞翔作者最新文章相关文章【案例讲解】S7-1200与S7-200SMART之间的以太网通信
我的图书馆
【案例讲解】S7-1200与S7-200SMART之间的以太网通信
S7-200 SMART系列固件版本为V2.2版本以上且CPU使用以太网通信时,可以支持S7通信,TCP/IP通信,IS-on-TCP通信,UDP通信,也包括MODBUS TCP通信。在这里给大家介绍下S7-1200与S7-200SMART系列PLC之间的以太网通信如何实现,由于两者同为西门子的产品,所以这里主要以S7通信为例给大家做一个简单介绍。在这里使用1200的PLC作为本地站(即客户端),S7-200SMART系列PLC作为远程站(服务器),通信组态及程序只需要在本地站(即客户端)中进行设计。1、在TIA&Portal软件中建立一个项目名称为“S7-1200与S7-200SMARTPLC之间的通信”的项目,同时分别添加一个S7-1200的PLC,并对其以太网端口属性及IP地址进行设置,如下图所示:注:若使用了路由器连接,需要启用“使用路由器”,并设置路由器的地址即网关。2、网络配置:(1)点击软件中的“网络视图”选项进入网络视图界面,鼠标左键点击左上角的“连接”按钮,此时PLC会出现蓝绿色,鼠标右键点击PLC,然后选择里面的添加新连接按钮。如图所示:(2)添加一个新的S7连接点击添加新连接后,在弹出的创建新连接对话框中的右上角处的类型里面把HMI的连接改成“S7连接”,然后选择左侧出现的“未指定”,然后点击添加按钮,然后关闭创建新连接对话框,此时在网络视图中可以看到PLC出现一个S7连接,如下图所示:(注:本地ID在程序中需要用到,需要记住ID号)&(3)点击网络视图,进入网络数据配置对话,设置好连接的未指定的IP地址(即S7-200SMARTPLC的IP地址)等参数,如图所示:注:S7-200SMART的TSAP支持03.00或是03.01.(4)程序设计:通信程序只需要在1200PLC处编写,S7-200SMARTPLC处无需编写任何通信程序,这里我们以把S7-1200PLC中DB1.DBB0的数据写入到S7-200SMART的VB0中,以读取S7-200SMART系列PLC中的VB1的数据放到S7-1200PLC的DB1.DBB1中为例,说明程序的设计。在1200PLC中同样添加一个DB块,在DB块的属性中取消优化块的访问功能,在DB块里面建立两个变量,分别命名为”send_data”以及”recev_data”。数据类型为Byte,需要把send_data的数据发到的S7-200SMART的VB0中,把从S7-200SMART的VB1中的数据读取过来放到 recev_data的变量中。如下图所示:然后从右侧的通信指令中的S7通信中拖拽PUT和GET指令到OB1编写通信程序,调用PUT/GET指令时,系统会自动调试需要分配一个背景DB ,指令调用完后,填写相应的地址。如下图所示:&注:CPU会自动的把S7-200SMART系列PLC的整个V区默认为数据块DB1,所以访问VB0,的地址为DB.DBB0。注:M0.5为CPU属性中设置的系统时钟存储器,频率为1HZ,如下图所示:(5)测试把做好的程序,分别下载到PLC中,然后使用监控表和状态图表进行测试,如下图所示:&大家还有关于S7通信的相关问题和经验,可以留言与我们分享。
喜欢该文的人也喜欢

我要回帖

更多关于 西门子200PLC以太网通讯问题 的文章

 

随机推荐