您现在的位置是:施耐德电气 > 施耐德PLC > G3小型PLC与Flash存储设备进行自由口通讯方案

G3小型PLC与Flash存储设备进行自由口通讯方案

时间:2014-12-01 15:01攀遧:未知阅读次数: 复制分享 我要评论


1 引言
    和利时G3系列PLC是杭州和利时公司自主研发的小型一体化PLC产品。G3系列PLC具有可靠性高、指令丰富、通讯能力强等特点。其支持六种编程语言,包括LD、IL、FBD、SFC、ST、CFC,能够适应多种PLC编程基础的人群。一些大的控制系统具有很多现场设备,其中一部分现场设备可能不支持标准的通讯协议, 但是还需要与第三方控制设备进行数据通讯,任何一个厂商的PLC都不可能支持所有现场设备的数据通信协议。如何实 PLC与非标准协议的第三方设备进行互联呢,G3系列PLC推出了自由口的通讯方式,可以实现与任何协议的第三方设备进行互联。本文介绍的是G3系列PLC通过自由口与Flash存储设备进行数据通讯。
2 G3系列PLC的通讯方式
   G3系列PLC支持多种通讯方式,如Profibus DP、以太网、自由口通讯。G3系列PLC的CPU模块本体集成了一个RS232通讯口和一个RS485通讯口,RS232和RS485支持标准的Modbus RTU、G3专有协议和自由口通讯协议。用户可以用图程序设定通讯口的协议、通讯速率、数据位、校验、发送数据和接收数据。下图为和PLC自由口相关的功能块指令。
  

  
    图1为设定自由口通讯速率、数据位、校验的指令;图2为恢复Modbus RTU和G3专有协议的指令,同时也可以设定通讯速率、数据位和校验;图3为数据发送指令;图4为数据接收指令。同时软件中有CRC校验的功能块指令,可以进行数据校验。也可以通过ST语言方便的编写校验程序。以计算CRC 校验码为例,下面是变量声明部分:
    FUNCTION_BLOCK Generate_CRC
    VAR_INPUT
    pDataPOINTER 
    TO BYTE;
    byteCounter:WORD;
    END_VAR
    VAR_OUTPUT
    CRC_Code:WORD;
    FINISH:BOOL:=FALSE;
    END_VAR
    VAR
    Reg16: WORD;
    j: BYTE;
    i: WORD;
    mval: WORD;
    temp_byte: BYTE;
    flg: WORD;
    END_VAR
  
    以下是ST语言的程序代码部分:
    Reg16 := 16#FFFF;
    mval := 16#A001; 
  
    FOR i:=0 TO byteCounter-1 BY 1 DO
    temp_byte:=pData︿;
    pData:=pData+1;
    Reg16:=(Reg16 XOR temp_byte);
   
    FOR j:=0 TO 7 BY 1 DO
    flg := 0;
    flg:=(Reg16 AND 16#0001);