3.4.1 OPClink
OPClink是工作在Windows平台下的应用软件,主要作用是通过协议转换来实现OPC服务器和InTouch吴志剑的数据传输。OPCLink 可以与现地或者远程的OPC服务器端软件(如IOServer,RSLinx)进行连接,他将InTouch的命令转换成OPC协议然后发送到OPC服务器端软件,并从OPC服务器端软件读取数据,返回到InTouch。同样,OPCLink也可以连接到现地或者远程的InTouch。
3.4.2 IOServer
IOServer的作用是实现不同协议间的数据传输,IOServer支持以下14种协议:Modbus协议,AB协议、ASCII协议、Courier协议、DNP协议、GE协议、HR6000协议、IEC103协议、KingFisher协议、LoopBack协议、Melsec协议、Omron协议、TI505协议、UCA2协议。在本系统中,ABB PLC采用的是Modbus协议、因此,IOServer从CDMA Server上读取ABB PLC的数据,并转换成TCP/IP协议,传送给OPCLink。
IOServer的配置主要包含以下3部分:
(1)Board(接口配置):IOServer支持多种接口,其中最常用的是TCP/IP和串口,在配置接口的时候,需要定义所连接设备的协议;
(2)OPC Explorer:提供内部测试的平台,也可进行数据观察和监视。
(3)OPC Gateway:允许基于不同协议的各OPC服务器之间的数据传输,以及IOServer和某个控制单元之间的数据传输。
3.4.3 CDMA Server
在本系统中,使用VisualC++6.0编写CDMA Server软件,CDMA Server作为整个系统的通讯枢纽,包括两部分功能:与IOServer进行通讯,与DTU进行通讯。
CDMA Server与IOServer的通讯基于SOCKET编程,采用TCP/IP协议进行传输,需要设置端口和IP地址,IOServer通过此端口和IP地址与CDMA Server建立通讯。
CDMA Server和DTU之间的通讯使用开发包中动态库wcomm_dll.dll,该文件包括和DTU通讯所需要的全部API函数,包括服务的启动、数据发送、数据接收、关闭服务等。
OPC Server与DTU的通信设计是基于开发工具包的用户程序接口,即动态链接库cdmagprs.dll,该库包括了与DTU通信所需要的全部API函数,例如:
start_gprs_server:该函数用于启动底层服务,服务启动后和DTU通讯,启动该服务后,主窗口中要有响应消息的函数,以便和底层服务通讯。
stop_gprs_server:停止服务;
do_read_proc:读数据。底层服务接收到DTU发送的数据后,会向启动服务函数中指定的DSC的窗口发送消息,该窗口中的消息响应函数应立即调用读数据函数将DBU发送过来的数据读出;
do_send_user_data:向DTU发送数据;
da_close_one_user:关闭一个DTU终端,令其下线;
do_close_all_user:关闭所有的在线DTU终端,一般停止服务前执行该API。
由于Windows基于消息驱动的,底层服务接收到远端DTU的数据后,会向启动函数的窗口发送一个消息,因此,我们可以在程序中定义一个消息响应函数来处理中心与DTU的数据传输,消息响应函数中,通过调用动态链接库中的数据接收函数和数据发送函数来传输数据,当数据传输结束后,调用关闭服务函数来结束通讯。
共4页: 上一页 [1] [2] 3 [4] 下一页
|