工控编程吧

标题: S7-300/400 以太网通讯模块的IT功能 [打印本页]

作者: baikhgmv    时间: 2016-11-14 11:45
标题: S7-300/400 以太网通讯模块的IT功能
S7-300/400 以太网通讯模块的IT功能



1. 初步说明
S7-300/400 系列PLC的以太网通讯模块 CP343-1/443-1 Advanced系列除了支持S7 、TCP、 ISO-on-TCP等通讯协议外,还支持IT功能,具体包括FTP(client/server)、 E-MAIL (SMTP client) 、Web server。支持IT功能模块的具体信息,请参考文档最后参考手册部分链接。


2. FTP
FTP是File Transfer Protocol的缩写。意为文件传输协议,用于管理计算机之间的文件传送。FTP通常指文件传输服务。
  FTP是Internet上使用非常广泛的一种通讯协议。它是由支持Internet文件传输的各种规则所组成的集合,这些规则使 Internet用户可以把文件从一个主机拷贝到另一个主机上,因而为用户提供了极大的方便和收益。
  FTP和其它 Internet服务一样,也是采用客户机/服务器方式。使用方法很简单,启动FTP客户端程序先与远程主机建立连接,然后向远程主机发出传输命令,远程主机在收到命令后就给予响应,并执行正确的命令。FTP有一个根本的限制,那就是,如果用户未被某一FTP主机授权,就不能访问该主机,实际上是用户不能远程登录(Remote Login)进入该主机。也就是说,如果用户在某个主机上没有注册获得授权,没有用户名和口令,就不能与该主机进行文件的传输。而Anonymous FTP (匿名FTP) 则取消了这种限制。
FTP可用多种格式传输文件,通常由系统决定,大多数系统 (包括UNIX系统) 只有两种模式:文本模式(ASCII)和二进制模式(BIN/IMAGE)。
FTP建立在传输层TCP协议之上,TCP是面向连接的协议,负责保证数据从源计算机到目的计算机的传输。TCP采用校验、确认接收和超时重传等一系列措施提供可靠的传输,所以在传输过程中FTP程序如果没有提示错误,就无需担心传输问题。
CP 343-1/443-1 Advanced 支持FTP 服务器和客户端,可以用来管理CP的文件系统、传输CPU 的DB数据。

a. FTP 服务器
1) CP 343-1/443-1 Advanced作为FTP 服务器,FTP客户端可以管理CP 的文件系统并且可以读写CPU的DB,如图1。
2) 文件系统是Advanced CP 实现IT功能的一些文件,存储在CP的C-PLUG卡中。
3) 需要在STEP7硬件组态中激活FTP服务器功能(不同类型模块组态不同,如果没有激活选项,则在后台自动激活,以实际为准),如图2。



图1


图2

4) 在“USER”中需要分配用户、及用户权限、密码,如图3。CP 343-1/443-1 Advanced 也支持FTP的匿名登陆。


图3

5) 保存编译,下载组态后,通过WINDOWS 或其他支持FTP客户端的软件可以访问CP的文件系统,如图4、5。客户可以通过FTP获得CP的文件系统,也可以从西门子网站下载CP模块最新的文件系统后通过FTP传送到模块。


图4


图5

6) 如果要访问CPU的DB数据,则要在CP的文件系统生成文件配置表。文件配置表用于描述CPU和CPU中DB的信息,在CP的文件系统中存储在“config”文件中“file_db.txt”中,如图6,用户可以通过FTP获得模板、增加CPU以及DB的信息后(文件列表中具体格式请参考帮助信息),将新的文件配置表“file_db.txt”上传覆盖原文件即可。


图6

7) 文件配置表信息也可以通过STEP7硬件组态生成。通过CP“FTP ”菜单,保存编译后下载,自动添加,如图7。但需注意,如果通过STEP7硬件组态生成,则新生成的“file_db.txt”的属性是只读,所以文件配置表信息的修改只能通过STEP7下载,不能通过FTP直接修改。
8) 文件配置表生成后,CP卡断电重起,文件系统根目录会自动生成“CPUX”的文件夹,如图5。文件夹里面可以看到文件配置表中定义的DB的信息,如图9。


图7


图8


图9

9) 在CPU一侧,需要手动生成文件配置表中定义的DB,但是每个DB需要有特殊的20个字节的信息头,如图10。


图10

10) 在文件DB的20个字节信息头中,主要用于设置文件DB的属性。具体格式及含义请参考 60053848 手册中内容。如图11-12,通过设置4个特殊的位,来改变文件DB在FTP操作中的属性。


图11


图12

11) 例如,如图13,文件DB块DB22,“EXIST”=1表示可读;“LOCKED”=0表示DB可以被操作;“NEW”=0 WRITEACCESS”=1代表可以写操作;通过WINDOWS 文件客户端将文件DB拖拽到PC侧,如图14,此处定义为EXCEL文件,打开文件后可以看到CPU中DB22的数据,本例中“hello siemens”,如图15。


图13


图14


图15

12) 如图13,DB22允许写操作,在PC侧修改之前的文件,传送到CP侧,如图16,传输完成后在CPU中可以看到数据,如图17,“NEW”=1代表DB修改成功,下一次修改DB之前,必须对其复位。“ACT_LENGTH”表示实际接收到的有效字符。


图16



图17

b. FTP 客户端
1) CP 343-1/443-1 Advanced作为FTP 客户端,可以向FTP服务器传送CPU的DB数据,如图18。


图18

2) CP 343-1/443-1 Advanced作为FTP 客户端,需要在Netpro 组态一个TCP的连接,如图19。在属性窗口选择“Use FTP Protocol”,如图20。CP卡可以组态的FTP客户端连接的个数有限制,343-1GX30 10个、443-1GX20 20个。


图19


图20

3) CP 343-1/443-1 Advanced作为FTP 客户端,需要在Netpro 组态一个TCP的连接,如图19。在属性窗口选择“Use FTP Protocol”,如图20。CP卡可以组态的FTP客户端连接的个数有限制,343-1GX30 10个、443-1GX20 20个。
4) 将Netpro 组态编译正常后下载,程序上可以使用FC40-FC44或FB40,所支持的FTP操作见图21。



图21

5) S7-300使用FC40-FC44,首先要在程序上调用FC5“AG_SEND”,S7-400不需要。首先必须调用FC40“FTP_CONNECT”用于发起连接FTP服务器,“ID”创建TCP连接的ID;“LADDR”CP卡的硬件地址;“LOGIN”登陆参数,需要指定服务器侧IP地址、用户名及密码,如图23,需要用字符串格式创建;“BUFFER_DB_NR”作为缓冲区的DB块,手动创建,不能小于255字节;“ACT”使能位发起连接,连接建立后“Done”位置1。
6) PC 侧使能FTP 服务器,本例中使用3COM公司的3CDeamon 软件。在软件中,分配用户名、用户权限、以及文件存储路径,如图24。



图22


图23


图24

7) 以FC41“FTP_STORE”指令为例,相当于FTP的PUT操作,如图25。“FILE_NAME”定义传输文件的名称,如图23,本例中定义“工艺参数.xls”;“FILE_DB_NR”定义的客户端侧的文件DB,DB结构和CP作服务器时文件DB的格式完全一样,如图10,但是属性设置略有不同,见图25,更详细信息请参考手册。



图25


图26

8) 设置好文件DB属性后,如图27,DB此时只读。FC41“FTP_STORE”触发后,服务器侧指定文件夹下会自动生成“工艺参数.xls”的文件,如图28。



图27


图28

9) 设更改PC侧的文件后,可以用FC42“FTP_RETRIEVE”把文件写到该文件DB,首先设置好属性,确保读写操作,如图29-30。程序执行之后,数据进入DB,见图31。“NEW”=1代表DB修改成功,下一次修改DB之前,必须对其复位。“ACT_LENGTH”表示实际接收到的有效字符。



图29


图30


图31

10) 相比FC40-44,FB40通过“CMD”引脚实现多种FTP操作,并且扩展了FTP功能,如图32。如图33中,FB40参数填写与FC40-44相同,扩展的功能CMD=6相当于FTP的续写,执行后如图34;CMD=7,相当于检索功能,如图33,检索从第15个字符开始的5个字符,执行后如图35。


图32



图33


图34



图35

3. E-MAIL
CP 343-1/443-1 Advanced可作为E-mail的客户端,支持SMTP协议。 SMTP是Simple Mail Transfer Protocol的英文缩写。中文译为“简单邮件传输协议”。它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,我们就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转电子邮件。 
1) CP 343-1/443-1 Advanced作为FTP E-mail的客户端,可以发送邮件但不允许接收邮件。
2) CP 343-1/443-1 Advanced 发送邮件,首先要在 Netpro 中插入E-mail的连接,连接对象为“Unspecified”,如图36。每个CP最多支持插入1个E-mail 连接。
3) 如图37,定义SMTP 服务器的IP地址,可以通过绝对IP地址或者符号地址定义;端口号使用25;模块默认的发送邮件地址,需要按照SMTP服务器的地址格式要求定义。
4) 在局域网要实现发送邮件的功能,我们需要额外的 SMTP 服务器,本文中使用装有IMAIL软件的PC,IP地址:192.168.0.20。如图38,通过服务器软件,增加用户、为用户分配用户名密码,以及邮件地址,本例中用户邮件地址:343-1@siemens。


图36


图37


图38

5) 完成Netpro 组态后,编译无误后下载。如图39,S7-300通过程序块FC5 “AG_SEND” 、S7-400通过程序块FC50 “AG_LSEND”发送邮件,邮件的内容由发送的DB区域构建。


图39

6) 发送DB区域要构建发送的邮件内容,请注意!如图40,必须按照以下格式和顺序给语法构建!
a. DB名称所在列中所有内容必须以大写出现
b. 数据类型建议为字符串
c. “Initial value”定义内容,必须以引号作为开始和结束,正文以名称加冒号开始,例如 “USER:343-1;”表示用户名“343-1”。
d. “USER” /“PASS”用户名及密码,如果SMTP服务器需要身份验证(ESMTP)时必须定义,如果服务器无身份验证,可以不设置;服务器有身份验证,建立连接后协商双方验证方式,如果彼此支持,可以传输;不支持验证算法,放弃传输。支持的验证方式包括:
i. PLAIN
ii. LOGIN
iii. GRAM-MD5
iv. DIGEST-MD5
e. “TO”/“CC”分别表示目的地邮件地址和抄送地址;支持发送多个邮件,多个邮件地址用逗号隔开。注意,目的地邮件地址和抄送地址必须是在SMTP服务器注册的邮件地址,否则SMTP服务器无法识别。
f. “FROM” 表示本地发送地址,“FROM” 可以为空,为空/不加分号,使用E-MAIL连接定义的邮件地址,如图37;如果此处设置,以DB里优先。
g. “SUB”邮件标题。
h. “TEXT”正文。
i. “FILE”附件的名称,如果不定义附件名称(空子符/不加分号),则附件会用默认名称“DATA.BIN”
j. “ATTACHMENT”附件,值“BNY:”表示后面的内容作为附件发送。附件功能,S7-400 2k/S7-300 8k


图40

7) 如图39,“LEN” 的长度和DB的长度需要一致,包括附件在内,邮件长度最大8K内容。
8) 在局域网内,开启IMAIL SMTP服务器服务,程序通过“ACT”来触发邮件的发送,“DONE”=1, 表示数据传输到了E-mail 服务器侧。
9) 如图41,定义好的邮件内容。
10) 在PC侧可以使用邮件客户端软件来接收邮件,本例使用WINDOWS 下的OUTLOOK作为邮件的接收端。如图42,在OUTLOOK增加电子邮件账户,用户名、密码使用IMAIL服务器侧分配;服务器地址192.168.0.20。
11) 如图43,OUTLOOK作为邮件客户端,支持POP3来从服务器侧接收邮件,所有属于本用户的邮件将读取到OUTLOOK。


图41


图42


图43

12) 如果CP 的邮件功能要在Internet上发送,则需要互联网的SMTP服务器提供服务。例如:客户使用新浪的免费邮箱服务,则如图44,定义新浪SMTP服务器的域名“smtp.sina.com.cn”,但注意,此时需要在CP组态中定义DNS服务器IP地址。DNS服务器IP地址直接填写连接到互联网的路由器的IP地址,或者互联网运营商的DNS服务器地址。有关于互联网SMTP服务及DNS的详细信息以及网络安全性,请询问相应的代理服务商。
13) 如图45,可以通过智能手机等设备随时通过互联网接收到CP卡发送的邮件。


图44


图45

4. WEB服务器
CP 343-1/443-1 Advanced可以作为HTTP的服务器,接受WEB服务器的访问。CP卡出厂自带默认的WEB界面,通过WEB浏览器输入CP卡的IP地址即可打开,如图46。通过CP自带的界面,可以查看CP或者CPU的诊断信息、模块信息、组态的连接状态等。本文中将主要介绍如何使用用户自定义的WEB界面监控PLC的数据。


图46

1) 用户也可以使用HTML开发工具自定义WEB界面,CP的文件系统提供S7 JAVA Applet 可以供用户在自定义界面调用,用以读、写访问 S7-300 /400的数据及CPU信息。
2) 如图47,西门子为CP343-1/443-1 Advanced提供了4种JAVA Applet,分别可以对CPU实现数据的读、写以及CPU/CP的信模块信息读取。
3) S7 JAVA Applet保存在CP 的文件系统根目录“applets”文件夹中的JAVA压缩包中。


图47

4) 如图48,S7 JAVA Applet的使用需要有相应的用户权限,在硬件组态中CP属性“Users”生成用户,并为其分配权限及密码。在图49中,可以看到不同S7 JAVA Applet需要何种用户权限。


图48


图49

5) 西门子提供了HTML代码生成器HCG,内部可以直接调用S7 JAVA Applet,如图50。


图50

6) S7 JAVA Applet 对数据的读写,既支持绝对地址访问,也支持符号地址访问,如图51所示。如果使用符号地址访问,则注意,需要在硬件组态中CP卡属性“Symbols”中导入符号表中的符号定义,如图52。


图51


图52

7) 如图53,HCG会生成相应的HTML的代码,可以将代码保存在本地,也可以通过HCG集成的FTP客户端直接传送到CP卡文件系统中,有关CP FTP服务器的设置请参考本文相应内容。


图53

8) 如图54,将生成的WEB界面通过HCG 的FTP客户端传送到了CP的文件系统。也可以使用其他FTP客户端。
9) 如图55,通过IE浏览器输入“http:// IP address/xx.htm”,“xx”是生成WEB界面的名称可以直接打开;如果WEB界面定义名称为“index”则新生成的WEB界面会作为CP卡默认的启示界面,直接在浏览器输入CP卡的IP地址就会自动打开。
10) 如图56,注意PC的JAVA运行环境。IE V6以上,需要单独安装JDK(JAVA development kit)1.1.x,JDK可以在相应网站下载。并在IE 属性中激活。


图54


图55


图56

11) 打开自定义的界面后,如图57,界面中使用到的JAVA APPLET需要提示输入相应的用户及密码,用户必须具备相应权限才可以进一步操作。图57中使用符号地址读写数据并且显示CPU订货号及指示灯状态。



图57

12) 用户也可以使用其他HTML工具开发,JAVA APPLET的调用语法是固定的,见图58-59。具体JAVA APPLET的调用规则及语法,本文不做过多解释,请参考JAVA的编程手册。



图58


图59

13) S7 JAVA APPLET只提供了固定的风格和操作,如果不能满足客户的需要,客户可以定义自己的JAVA APPLET。Advanced cp 提供分类的S7 bean 库(S7BeansAPI),S7 bean提供开放的接口,供用户开发自己的 Applet 或其他应用。如图60,S7 bean可以从CP卡的文件系统上载,保存在文件系统“applet”文件夹;或者直接从西门子网站下载。S7 bean的使用说明请参考附件中的相应手册。
14) 用户仅需要使用第三方 Java 组态工具,导入S7 bean,就可以生成自己的APPLET。如图61-62,图中使用IBM VisualAge for Java。


图60


图61









欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4