S7200SMARTS7通信知识讲解.docx
《S7200SMARTS7通信知识讲解.docx》由会员分享,可在线阅读,更多相关《S7200SMARTS7通信知识讲解.docx(30页珍藏版)》请在冰豆网上搜索。
S7200SMARTS7通信知识讲解
一、S7-200SMARTCPU之间的以太网通信
S7-200SMARTCPU固件版本V2.0及以上版本的CPU可实现CPU、编程设备和HMI(触摸屏)之间的多种通信:
—CPU与编程设备之间的数据交换。
—CPU与HMI之间的数据交换。
—CPU与其他S7-200SMARTCPU之间的PUT/GET通信。
S7-200SMARTCPU以太网连接资源如下:
—1个连接用于与STEP7Micro/WinSMART软件的通信。
—8个连接用于CPU与HMI之间的通信。
—8个连接用于CPU与其他S7-200SMARTCPU之间的PUT/GET主动连接
—8个连接用于CPU与其他S7-200SMARTCPU之间的PUT/GET被动连接
PUT/GET指令格式
S7-200SMARTCPU提供了PUT/GET指令,用于S7-200SMARTCPU之间的以太网通信(PUT/GET指令格式见表1)。
PUT/GET指令只需要在主动建立连接的CPU中调用执行,被动建立连接的CPU不需要进行通信编程。
PUT/GET指令中TABLE参数用于定义远程CPU的IP地址、本地CPU和远程CPU的数据区域以及通信长度(TABLE参数定义见表2)。
表1PUT和GET指令:
LAD/FBD
STL
描述
PUTTABLE
PUT指令启动以太网端口上的通信操作,将数据写入远程设备。
PUT指令可向远程设备写入最多212个字节的数据。
GETTABLE
GET指令启动以太网端口上的通信操作,从远程设备获取数据。
GET指令可从远程设备读取最多222个字节的数据。
表2PUT和GET指令的TABLE参数定义:
字节偏移量
Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0
0
D1
A2
E3
0
错误代码4
1
远程CPU的IP地址
2
3
4
5
预留(必须设置为0)
6
预留(必须设置为0)
7
指向远程CPU通信数据区域的地址指针
(允许数据区域包括:
I、Q、M、V)
8
9
10
11
通信数据长度5
12
指向本地CPU通信数据区域的地址指针
(允许数据区域包括:
I、Q、M、V)
13
14
15
1 D:
通信完成标志位,通信已经成功完成或者通信发生错误。
2 A:
通信已经激活标志位。
3 E:
通信发生错误,错误原因需要查询错误代码4。
4 错误代码:
见表3PUT和GET指令TABLE参数的错误代码。
5 通信数据长度:
需要访问远程CPU通信数据的字节个数,PUT指令可向远程设备写入最多212个字节的数据,GET指令可从远程设备读取最多222个字节的数据。
表3PUT和GET指令TABLE参数的错误代码:
错误代码
描述
0
通信无错误
1
PUT/GETTABLE参数表中存在非法参数:
∙本地CPU通信区域不包括I、Q、M或V。
∙本地CPU不足以提供请求的数据长度。
∙对于GET指令数据长度为零或大于222字节;对于PUT指令数据长度大于212字节。
∙远程CPU通信区域不包括I、Q、M或V。
∙远程CPU的IP地址是非法的(0.0.0.0)。
∙远程CPU的IP地址为广播地址或组播地址。
∙远程CPU的IP地址与本地CPU的IP地址相同
∙远程CPU的IP地址位于不同的子网。
2
同一时刻处于激活状态的PUT/GET指令过多(仅允许16个)
3
无可以连接资源,当前所有的连接都在处理未完成的数据请求(S7-200SAMRTCPU主动连接资源数为8个)。
4
从远程CPU返回的错误:
∙请求或发送的数据过多。
∙STOP模式下不允许对Q存储器执行写入操作。
∙存储区处于写保护状态
5
与远程CPU之间无可用连接:
∙远程CPU无可用的被动连接资源(S7-200SMARTCPU被动连接资源数为8个)。
∙与远程CPU之间的连接丢失(远程CPU断电或者物理断开)。
6-9
预留
通信资源数量
S7-200SMARTCPU以太网端口含有8个PUT/GET主动连接资源和8个PUT/GET被动连接资源。
例如:
CPU1调用PUT/GET指令与CPU2~CPU9建立8主动连接的同时,可以与CPU10~CPU17建立8被动连接(CPU10~CPU17调用PUT/GET指令),这样的话CPU1可以同时与16台CPU(CPU2~CPU17)建立连接。
关于主动连接资源和被动连接资源的详细解释如下:
1、主动连接资源和被动连接资源
∙调用PUT/GET指令的CPU占用主动连接资源数;相应的远程CPU占用被动连接资源。
2、8个PUT/GET主动连接资源
∙S7-200SMARTCPU程序中可以包含远多于8个PUT/GET指令的调用,但是在同一时刻最多只能激活8个PUT/GET连接资源。
∙同一时刻对同一个远程CPU的多个PUT/GET指令的调用,只会占用本地CPU的一个主动连接资源和远程CPU的一个被动连接资源。
本地CPU与远程CPU之间只会建立一条连接通道,同一时刻触发的多个PUT/GET指令将会在这条连接通道上顺序执行。
∙同一时刻最多能对8个不同IP地址的远程CPU进行PUT/GET指令的调用,第9个远程CPU的PUT/GET指令调用将报错,无可用连接资源。
已经成功建立的连接将被保持,直到远程CPU断电或者物理断开。
3、8个PUT/GET被动连接资源
∙S7-200SMARTCPU调用PUT/GET指令,执行主动连接的同时也可以被动地被其他远程CPU进行通信读写。
∙S7-200SMART最多可以与被8个不同IP地址的远程CPU进行建立被动连接。
已经成功建立的连接将被保持,直到远程CPU断电或者物理断开。
指令编程举例
在下面的例子中,CPU1为主动端,其IP地址为192.168.2.100,调用PUT/GET指令;CPU2为被动端,其IP地址为192.168.2.101,不需调用PUT/GET指令,网络配置见图1。
通信任务是把CPU1的实时时钟信息写入CPU2中,把CPU2中的实时时钟信息读写到CPU1中。
图1CPU通信网络配置图
1、CPU1主动端编程
CPU1主程序中包含读取CPU实时时钟、初始化PUT/GET指令的TABLE参数表、调用PUT指令和GET指令等。
网络1:
读取CPU1实时时钟,存储到VB100~VB107。
图2读取CPU1实时时钟
注:
READ_RTC指令用于读取CPU实时时钟指令,并将其存储到从字节地址T开始的8字节时间缓冲区中,数据格式为BCD码。
网络2:
定义PUT指令TABLE参数表,用于将CPU1的VB100~VB107传输到远程CPU2的VB0~VB7。
图3定义PUT指令TABLE参数表
∙a.定义通信状态字节
∙b.定义CPU2IP地址
∙c.定义CPU2的通信区域,从VB0地址开始
∙d.定义通信数据长度
∙e.定义CPU1的通信区域,从VB100地址开始
网络3:
定义GET指令TABLE参数表,用于将远程CPU2的VB100~VB107读取到CPU1的VB0~VB7。
图4定义GET指令TABLE参数表
∙a.定义通信状态字节
∙b.定义CPU2IP地址
∙c.定义CPU2的通信区域,从VB100地址开始
∙d.定义通信数据长度
∙e.定义CPU1的通信区域,从VB0地址开始
网络4:
调用PUT指令和GET指令。
图5调用PUT指令和GET指令
2、CPU2被动端编程
CPU2的主程序只需包含一条语句用于读取CPU2的实时时钟,并存储到VB100~VB107,如图6所示。
图1-3大学生偏爱的手工艺品种类分布
图6读取CPU2实时时钟
虽然调查显示我们的创意计划有很大的发展空间,但是各种如“漂亮女生”和“碧芝”等连锁饰品店在不久的将来将对我们的创意小屋会产生很大的威胁。
PUT/GET例程
为了更好地理解PUT/GET指令的编程,可参考下面的例程。
PUT_GET_CPU1.smart
PUT_GET_CPU2.smart
注意:
此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。
使用该软件的风险完全由用户自行承担。
由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。
二:
S7-200SMARTCPUPUT/GET向导
我们女生之所以会钟爱饰品,也许是因为它的新颖,可爱,实惠,时尚,简单等。
的确,手工艺品价格适中。
也许还有更多理由和意义。
那么大学生最喜欢哪种手工艺品呢?
此次调查统计如下图(1-3)在 S7-200SMARTCPU之间以太网通信 章节中CPU1的PUT/GET指令的编程可以使用PUT/GET向导以简化编程步骤。
该向导最多允许组态16项独立PUT/GET操作,并生成代码块来协调这些操作。
(三)上海的文化对饰品市场的影响PUT/GET向导编程步骤
1、STEP7Micro/WINSMART在“工具”菜单的“向导”区域单击“Get/Put”按钮,启动PUT/GET向导(见图1)。
图1启动PUT/GET向导
据介绍,经常光顾“碧芝”的都是些希望得到世界上“独一无二”饰品的年轻人,他们在琳琅满目的货架上挑选,然后亲手串连,他们就是偏爱这种DIY的方式,完全自助。
2、在弹出的“Get/Put”向导界面中添加操作步骤名称并添加注释(见图2)。
(三)大学生购买消费DIY手工艺品的特点分析图2添加PUT/GET操作
∙a.点击“添加”按钮,添加PUT/GET操作
∙
∙2.www。
cer。
net/artide/2003082213089728。
shtml。
b.为每个操作创建名称并添加注释
成功秘诀:
好市口+个性经营3、定义PUT/GET操作(见图3、图4)。
图3定义PUT操作
∙a.选择操作类型,PUT或GET
∙
∙“碧芝”最吸引人的是那些小巧的珠子、亮片等,都是平日里不常见的。
店长梁小姐介绍,店内的饰珠有威尼斯印第安的玻璃珠、秘鲁的陶珠、奥利的施华洛世奇水晶、法国的仿金片、日本的梦幻珠等,五彩缤纷,流光异彩。
按照饰珠的质地可分为玻璃、骨质、角质、陶制、水晶、仿金、木制等种类,其造型更是千姿百态:
珠型、圆柱型、动物造型、多边形、图腾形象等,美不胜收。
全部都是进口的,从几毛钱一个到几十元一个的珠子,做一个成品饰物大约需要几十元,当然,还要决定于你的心意。
“碧芝”提倡自己制作:
端个特制的盘子到柜台前,按自己的构思选取喜爱的饰珠和配件,再把它