- {{item.name}}
MD720-3功能块使用入门
- 0
- 103
- 6037
概述
对于远程系统来说,要发送用户需要的数据,那么就必须通过程序块来实现。SINAUT MD720-3 系统提供了四个基本的功能块WDC_INIT、WDC_SEND、WDC_RECEIVE和WDC_CONTROL。刚开始学习此系统的用户可能对如何使用这四个功能块、以及如何用这四个功能块来实现一个任务感觉很困难,因此我们针对这种情况,对如何编程作进一部的介绍。
根据不同的应用情况,下面分两种情况来作程序架构的搭建步骤:
一、远程站与中心站通讯二、远程站与远程站的通讯
远程站与中心站通讯
不管哪种应用情况,首先要注意的一点是,上面提及的四个功能块都必须在程序的每个扫描周期顺序调用。
一、远程站发送数据到中心站见下图:
整个任务完成的流程如下:
第一步:S7-200 PLC通过模拟量接口模块读取模拟量值12.3%到内部的数据区。
第二步:S7-200 PLC通过调用功能块WDC_SEND(包括有发送的站地址、和数据区的起始地址及长度;中心站的站地址为0)到Modem上
第三步:Modem把接收到的数据12.3%进行处理后转化为GPRS的数据包格式后,通过GPRS服务转发到移动服务供应商。
第四步:移动网络供应商进一步把数据12.3%转发到Internet上,移动供应商提供了与Internet的接入点。
第五步: Internet通过路由把数据12.3%转发到Internet网络服务供应商的中心站上。
第六步:Internet网络服务供应商的中心站把数据12.3%继续转发到SINAUT MICRO SC的中心服务器。
第七步:SINAUT MICRO SC中的OPC SERVER把接收到的数据提供给OPC的客户端使用。
第八步:当SINAUT MICRO SC成功接收数据后,会发一个确认信息给远程站。
第九步:Modem接收到这个确认信息后,把它转发给S7-200的CPU
第十步:S7-200 CPU通过WDC_RECEIVE功能块接收此确认信息,紧接着又通过WDC_SEND功能发送一个发送完成的信息给用户程序。
上面的这些步骤完成了一次发送的任务,从此不难看出即使是一个发送任务,仅调用一次WDC_SEND功能是不行,还必须调用WDC_RECEIVE功能块来接收确认的信息,而在调用发送与接收功能块之前必须调用WDC_INIT功能块来完成GPRS通讯的初始化工作,经过实验我们发现WDC_CONTROL功能块也是必不可少的。
在S7-200中的程序如下:
网络1中调用WDC_INIT功能块先初始化GPRS的通讯,WDC_INIT功能块的各参数的含义如上图Data Block所定义的:
VB700 中定义SINAUT MICRO SC 服务器的获得的公网IP地址;必须查看Internet的连接属性中的IP地址;
VB720 中定义SINAUT MICRO SC 服务器上用的端口号,必须与在SINAUT MICRO SC软件所定义的端口号一致;
VB730 中定义Modem的名字,必须与在SINAUT MICRO SC软件所定义的Modem名一致;
VB740 中定义Modem的密码,必须与在SINAUT MICRO SC软件所定义的Modem密码一致;
VB750 中定义SIM卡的PIN码,必须与所使用SIM卡的PIN码一致;不清楚的话可以向移动公司查询;缺省值“1234”;
VB760 中定义网络供应商的Internet接入点名,对于移动的接入点为“cmnet”;
VB770 中定义网登陆接入点的用户名,对于移动的接入点为空,所以定义为“”;
VB780 中定义网登陆接入点的密码,对于移动的接入点为空,所以定义为“”;
VB790 GSM 供应商的域名服务器 IP 地址。若在IP里填写的是IP地址那么这里可以为空,但若是在IP地址里填的是域名,那么这里必须指定域名服务器的IP地址;
VB809 中定义工作站上所有允许的拨叫号码列表。单个表单条目通过分号 (;) 隔开。序列已确定,为在 S7-200 (COM_CLIP_x) 上的电话拨叫服务和在调制解调器上的拨叫服务
的运行 (SERVICE_CLIP_x) 各选择 3 个号码。
网络2调用WDC_SEND功能块发送数据,这个功能块确实完成这两中功能,一是发送用户需要发送的数据;二是发送确认信息,所以不管程序是否发需要送用户数据,此功能块必须调用,因为它还发送这GPRS通讯的确认信息。
M10.0 上升沿触发一次发送任务,在此程序里,我们是在网络5与网络6来对触发周期来作控制的,从程序中不难看出触发任务的周期是30S。也就是每隔30S会发一组数据出去。
VW814 该地址中存放着远程工作站的逻辑地址,可以将数据发送到该地址,或从该地址读取数据,这里我们可以通过传输指令把整数“0”传输到VW814中,这样发送的目的地址就是中心站。
VW816 该地址存放要发送数据的起始地址,如这里可以通过传输指令把“3000”传输给VW816,意味着要发送的数的起始地址是VB3000;
VW818 该地址存放要发送数据的数据长度,如这里可以通过传输指令把“10”传输给VW818,意味着要发送的数长度为10个字节;
VW820 控制命令 “1” 将数据发送到另一个工作站;“2” 要求得到另一个工作站的数据;
网络3调用WDC_RECEIVE功能块接收数据,这个功能块也完成两中功能,一是接收用户发送来的数据;二是接收确认信息,所以不管程序是否接收用户数据,此功能块必须调用,因为它还接收GPRS通讯的确认信息。在这个程序里主要用来接收确认信息。
VW824 该地址存放着接收缓冲区的起始地址,如这里可以通过传输指令把“2000”传输给VW824,意味着接收缓冲区的起始地址是VB2000;
VW826 该地址存接收缓冲区的大小,如这里可以通过传输指令把“10”传输给VW818,意味着接收缓冲区长度为10个字节;
网络4调用WDC_CONTROL功能来切换GPRS Modem的工作模式。这里我们不作详细的介绍。
二、中心站发送数据到远程站见下图:
整个任务完成的流程如下:
第一步:OPC的客户端对变量进行更新。
第二步:OPC客户端传输变量到SINAUT MICRO SC的OPC服务器上。
第三步:SINAUT MICRO SC的OPC服务器把这个变化的变量在加上路由表里的IP地址,发送到远程站。
第四步:Internet网络供应商转发心的值到Internet上。
第五步:在Internet上数据被路由到移动网络服务商。
第六步:移动网络服务商把此值发送到Modem上。
第七步:变化的过程值再传输到Modem与S7-200连接的PC/PPI电缆上。
第八步:这个变量值通过功能块WDC_RECEIVE,被接收指定的地址区内。
第九步:接收成功后,程序调用WDC_SEND功能块发送一个确认的信息给Modem。
第十步:Modem转发确认信息给中心站的SINAUT MICRO SC。
第十一步:如果确认信息被成功的接收,那么这个TAG被认为是”Good”,若在指定的监控时间内没有接收到此确认信息,那么TAG被认为是”BAD”。
完成次任务的程序与上面介绍过的程序是一样的,只不过完成接收数据的功能是由WDC_RECEIVE功能块来完成的。
远程站与远程站通讯:
一、远程站发送数据到另一远程站
整个任务完成的流程如下:
第一步:远程站A通过模拟量接口模块读取模拟量值12.3%到内部的数据区。
第二步:远程站A通过调用功能块WDC_SEND(包括有发送的站地址、和数据区的起始地址及长度;远程站B的地址)发送
第三步:数据被转发到Modem上。
第四步:Modem把接收到的数据12.3%进行处理后转化为GPRS的数据包格式后,通过GPRS服务转发Internet上。
第五步: Internet通过路由把数据12.3%转发到Internet网络服务供应商的中心站上。
第六步:Internet网络服务供应商的中心站把数据12.3%继续转发到SINAUT MICRO SC的中心服务器。
第七步:SINAUT MICRO SC把发来的数据包去掉远程站的逻辑地址。
第八步:SINAUT MICRO SC把数据12.3%加上远程站B的IP地址发送。
第九步:数据12.3%通过Internet网络供应商上发送并在Internet上路由,最后到达移动的网络供应商的GPRS网络的远程站B的Modem上。
第十步: Modem MD720-3把数据转发到了远程站B的CPU上。
第十一步:远程站B的CPU通过调用功能块WDC_RECEIVE把数据存储到它上的存储区内。
第十二步:远程站B的CPU会自动调用WDC_SEND功能块发送一个确认信息出到远程站B的Modem上。
第十三步:Modem会把这个确认的信息发到中心站的SINAUT MICRO SC的服务器上。
第十四步:SINAUT MICRO SC的服务器又把这个确认信息转发到远程站A上。
第十五步:远程站A的Modem把这个确认信息继续转发到CPU上。
第十六步:远程站A通过调用WDC_RECEIVE接收此确认信息,接收成功后再调用WDC_SEND功能块发送成功完成任务的信息出去。
完成此任务时,在远程站A和远程站B中编写的程序结构与前面介绍的程序结构是一样的,只是在A站与B站中调用功能块的一些参数不一样,根据实际情况赋值参数。
发送任务的管理
前面介绍各种发送任务的实现过程,实现的程序基本就是顺序调用四个功能块。在这几个功能块来说,只有发送功能块可以控制发送的条件,而其他几个基本上赋值参数就可以,而且需在每个循环扫描周期里调用即可。
对于用户通讯功能的完成来说,有可能是上面的几个任务的组合,但对于程序来说,一时刻只能处理一个发送任务,要处理多个任务,那么就必须对任务进行规划,也就是需要用户自己编写发送的时钟周期,来在不同的周期里发送不同的任务,而且在在每个任务执行前把相应的发送和接收的功能块的参数进行修改。
关键词
SINAUT GPRS SCADA S7-200 OPC Program
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
{{item.nickName}}