电脑与电信
主办单位:广东省科技厅
国际刊号:1008-6609
国内刊号:44-1606/TN
学术数据库优秀期刊 《中文科技期刊数据库》来源期刊
       首 页   |   期刊介绍   |   新闻公告   |   征稿要求   |   期刊订阅   |   在线投稿   |   留言板   |   联系我们   
  本站业务
  在线期刊
      最新录用
      期刊简明目录
      本刊论文精选
      过刊浏览
      论文下载排行
      论文点击排行
      
 

访问统计

访问总数:6690 人次
 
    本刊论文
基于以太网的PLC与PC机通信

  摘要:本文介绍了如何实现富士MICREX-F F70S PLC通过富士MICREX-F FFU170B以太网模块与PC机的以太网通信。Fuji FFU170B 以太网支持四种通信模式,本项目中使用了命令设置模式来实现PC与PLC之间的以太网通信,实现了PC 机对PLC 的远程控制。

  Abstract:This paper introduces how to realize the communications between the MICREX-F F70S PLC made by Fuji and the PC with MICREX-F FFU170B Ethernet Module Interface made by Fuji also. The FFU17B Ethernet Module Interface supports four communications mode .In this project , the command-setting-type mode  is applied in the communications between the PC and PLC and realized the remote control of PC to PLC.

  关键词: 富士F70S PLC  MICREX-FFU170B以太网模块  Winsock控件

  Key Words: MICREX-F70S PLC   MICREX-FFU170B Ethernet Interface Module  Winsock

  1前言

  PLC作为下位机,PC机作为上位机是典型的工控应用模式。PLC与PC的通信一般都是采用RS-232方式,但随着Internet的广泛应用,工控领域的TCP/IP 数据通信是越来越受到重视。富士MICREX-FFU170B以太网模块的通信功能有其特色,本文着重介绍其中的命令通信模式。

  2MICREX-FFU170B以太网模块工作原理

  富士MICREX-F70S PLC(以下简称PLC)、(以下简称以太网模块)与工控PC机之间的连接见图1示。PLC端的通信程序主要是对以太网通信模块进行初始设置。以太网通信模块在使用的时候必须进行初始化以及打开与其它节点(如PC机)的连接,不同模式下支持的连接数不一,最多可以支持八个连接,每个连接对应一个通信节点;结束通信的时候,则要关闭相应的连接。

  PLC的存储区模块号为WB前八个字(8*16位),即B00~B7F共128个I/O点被以太网模块占用,用于设置两者之间的通信。B40~B7F为PLC输出到以太网模块,功能有:传输请求、接收请求、接收完成应答、打开通信请求(以上每个通道占用1点)、初始化请求等。  B00~B3F为以太网模块输出到PLC,功能有:正常传输完成、传输错误检测、接收完成、打开通信完成、打开错误检测、关闭通信(以上每个通道占用1点)、初始化完成、初始化错误检测、运行状态等。

  在以太网模块中有数据缓冲区,PLC通过消息传输指令MSGT和MSGR与其进行数据通信。发送数据时,把待发送的数据用MSGT指令从PLC中传递到以太网模块的发送缓冲区。接收数据时, 来自其它节点(如PC机)的数据被以太网模块接收并存储在文件缓存里,PLC程序用指令MSGR读出。主要的数据缓冲区有文件0和文件1。

  初始化参数设置区位于以太网模

  缓存地址设置

  文件0   0~1模块IP 地址

  2TCP传输超时时间(单位:0.1s)

  3TCP最大结束时间(单位:0.1s)

  4 监测响应时间

  5FTP服务器命令监测时间

  6FTP客户端数据连接监测时间

  7~8子网掩码

  9~10默认网关地址

  11~19保留区

  20通信模式控制字

  21模块端口号

  22~23其他节点IP地址

  24其他节点端口号

  25~27其他节点MAC地址

  28~43用户名

  44~59密码

  60~69保留区

  块中通信缓存的文件0中地址为0~707

  的存储器中(见表1)。地址20~69为连接1的通信参数,70~419为连接2~8的通信参数。模块IP自行设置,其最后的一个字节在此必须设置为00,因为它是通过该模块面板上的开关来设置的。当无子网时,子网掩码设为00000000H。默认网关地址为00000000H。

  通信模式控制字D15~D0(高位到低位)各位的含义如下:

  D3D2D1:通信模式; 000:固定/共用缓存模式;001:通用通信模式;010:命令设置模式;011:FTP/TFTP服务器模式;101:FTP/TFTP客户模式。

  D5:数据交换;0:提供;1:不提供。

  D6:传输代码;0:二进制;1:ASCII。

  D7:通信协议;0:TCP/IP;1:UDP/IP。

  D12:伪程序字节;0:提供;1:不提供。

  D15D14:打开方法;00:主动;11:完全被动;10:非被动。

  其余各位为0。

  FFU170B以太网模块的通信有4种模式:通用通信模式、命令通信模式 、固定/共享缓存通信模式、文件通信模式。

  以下是一个命令通信模式参数初始化的例子。首先用File 指令声明在F70S PLC 中的数据存储区W30,W31,W32,W100中分别开辟30,10,20,468个大小都为1字(16位)用于将传递参数的存储区。接着分别给其赋值,赋W030.0000值为h0100(十进制1、0,h表示16进制数), 赋W030.0001值为hC0AB(十进制192、168), 即本模块的IP为192.168.1.0。赋W030.0020通信模式控制字为h0064(0000000001100100B),即主动打开方法、TCP/IP协议、ASCII码传输、命令设置通信模式;设置模块的通信端口为1027(h0403);其它节点的IP地址为192.168.1.9(hC0A8,h0109);其它节点的端口也为1027(h0403);以及其它节点的MAC地址(00-0E-4C-17-21-7E),此处“其它节点”即PC机。PC机的MAC地址可以在console命令行中输入ipconfig /all查询,IP地址是自行设置的,端口值通过windows程序设定。

  PLC用MSGT命令将初始化参数写入以太网模块中。

  文件1为初始化过程状态存储区。模块以太网地址(MAC地址)为12位16进制数,见模块外表面的铭牌。模块IP地址即模块初始化用的IP地址。代码含义详见资料手册。

  3  命令通信模式与PC机通信程序设计

  3.1 命令通信模式的格式

  命令通信模式的特点是工控PC机可使用读/写命令直接从PLC内部存储器中读写数据,监视PLC中定时器和计数器的当前值以及继电器的开/关状态,或更改定时器和计数器的值以及继电器的开/关状态,便于进行控制。

  PC机只要按指定的命令格式向以太网模块发送命令,模块就会按特定模式响应。虽然此模式下PLC处于完全被动响应状态,但该模式简洁易行,完全可满足本系统的控制要求。PC机通过以太网模块与PLC通信有两种命令。一是PC机写PLC内存命令(图 2),PC机向以太网模块发出写命令,以太网模块将此命令转入PLC,PLC响应数据通过以太网模块反馈给PC机。二是PC机读PLC内存命令(图3 ),PC机向以太网模块发出读命令,以太网模块将此命令转入PLC,PLC响应数据通过以太网模块反馈给PC机。

  命令通信模式中PC机发送命令的数据包格式如图4所示。由TCP/IP或UDP/IP头部和数据部分组成。头部在发送/接收时除去。

  数据部分组成和意义如下:

  CMND:命令,00:读;01:写。

  STA:状态,正常完成为00。

  MODE:摸式,00:正常读写;05:清零。

  MOL NO:读写目标模块号(PLC内部),如,00H:I/O继电器B;01H:软继电器M;0AH:定时器设定值TS;0BH:定时器当前值TR;0EH:BCD码数据存储器BD;1EH~6DH:文件存储器W30~W109;等等。详见资料手册。BYTEN:传送的字节数。DATA:传送的数据。

  图5 ~图8 分别为PC机读/写请求命令与PLC响应读/写命令的格式(数据部分)。ZOK为读写目标模块(PLC内)的属性,如:00H表示2位BCD存储区,01H表示I/O区,02H表示8位BCD存储区等等。详见资料手册。DATA为传送(读或写)的数据,以字节为单位。相对地址、数据字节数均为16进制数。

  3.2 PC机通信程序的设计

  为了实现与上位机的TCP/IP通信,采用Socket编程。PC机通信程序是通过Winsock控件来设计的。它们的通信协议模式如图9所示。在此模式下PC机是作为服务器端,PLC作为客户端。虽然PLC的以太网驱动程序的执行过程不能体现这一点,但该以太网模块实际上是按此协议方式进行通信的。

  通信软件的开发平台是基于中文Windows操作系统,使用Microsoft Visual Basic.NET中文版。本通信软件是支持Windows Socket的基于对话框的MFC 应用程序,使用的主要是一些控件,以及派生于Socket类的套接字类。

  在程序中先用Ping命令查询连接PLC是否在线,然后监听准备与之联机,其后是PC的联机请求程序、连接关闭事件、接收数据触发事件、发送数据字符等程序。具体程序略。

  4结束语

  PLC作为下位机,PC机作为上位机是典型的工控应用模式。应用以太网通信模式可以方便使用PC机对PLC的定时计数器等继电器线圈进行读写设置,以实现PC机对PLC的远程控制。命令通信模式具有可靠、简便易用等特点,我们在某企业陶瓷自动配料线应用这种通信方式,效果很好。

  参考文献

  1 FUJI ELECTRIC, MICREX-F Ethernet Interface Module User’s Manual (Type FFU170B, Manual No. FEH097)

  2 崔彦峰、银华强,精通Visual Basic.NET网络编程,北京,清华大学出版社,2004

特别说明:本站仅协助已授权的杂志社进行在线杂志订阅,非《电脑与电信》杂志官网,直投的朋友请联系杂志社。

版权所有 © 2009-2019《电脑与电信》编辑部  (论文发表网)   --