信息化和自动化(PLC)间XOR校验传输数据准确性

一、前言

①信息化技术的发展和自动化要求的不断提高,自动化设备需要实时与软件进行信息交互,传递任务数据
在信息交互的过程中我们如何判断交互信息的准确性?
②此处我们采用一个基础方式,对任务信息进行一定编码,自动化控制系统也进行同样编码(异或校验),当两者相同时代表信息传递正确

二、SCL代码

FUNCTION “XOR_Word” : Void
{ S7_Optimized_Access := ‘TRUE’ }
VERSION : 0.1
VAR_INPUT
DB_No : Int;
Offset : Int;
Len : Int;
END_VAR

VAR_OUTPUT
XOR_Value : Word;
END_VAR

VAR_TEMP
i : Int; // 异或字数量
j : Int; // 异或字地址
CRC_Value : Word; // 校验值
END_VAR

BEGIN

#i := 0;
#j := 0;
#CRC_Value:= (PEEK_WORD(area := 16#84, dbNumber :=#DB_No, byteOffset :=#Offset ));
// 循环异或
FOR #i := 1 TO  #Len- 1 DO
    #j := #j + 2;
    #CRC_Value := #CRC_Value XOR (PEEK_WORD(area := 16#84, dbNumber := #DB_No, byteOffset := #Offset + #j));
END_FOR;
#XOR_Value:= #C

猜你喜欢

转载自blog.csdn.net/fenglingxicao/article/details/112902602