OMRON通讯? 点击:1144 | 回复:4



虫子chong

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 10回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2003-07-07 16:16:00
楼主
OMRON plc用上位机命令WR或WD的时候,不能写入到plc,返回信息是“@00WR1351*",我查手册是FCS错,但我不知道FCS怎么算?我发的帧是”@00WR0001123447*;@00WR0001123451*;@00WR000112345A*“都试过了,有谁用过请指点一下,谢谢!!



microtomato

  • 精华:1帖
  • 求助:0帖
  • 帖子:84帖 | 1476回
  • 年度积分:0
  • 历史总积分:2078
  • 注册:2001年11月02日
发表于:2003-07-05 21:43:00
1楼
以下为Delphi代码: //计算FCS函数的函数(FCS的计算就是所有数据异或的结果) function EncodeFCS(Source:PChar):PChar; (OMRON专用) var i,FcsTmp : integer; begin //FCS计算 FcsTmp := 0; for i := 0 to Length(Source) do begin FcsTmp := FcsTmp xor Ord(Source[i]); end; Result := PChar(IntToHex(FcsTmp,2)); //IntToHex函数(需要转换的值,转换结果的位数) end;

pan

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 42回
  • 年度积分:0
  • 历史总积分:173
  • 注册:2003年2月12日
发表于:2003-07-07 16:16:00
2楼
从@开始,每一个字符转为ASCII码,如“@”为“40”,“0”为“30”,进行异或运算,得出FCS为“40”,请用“@00WR0001123440*”试试。

jiery

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 123回
  • 年度积分:0
  • 历史总积分:433
  • 注册:2006年3月29日
发表于:2007-12-02 10:31:00
3楼
有没有VB的程序??

李超X

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 84回
  • 年度积分:0
  • 历史总积分:101
  • 注册:2006年4月21日
发表于:2007-12-06 09:42:00
4楼
@00WR00011234应该对应40 30 30 77 72 30 30 30 31 31 32 33 34的XOR,FCS值是40 panli156说的是对的 格式@00WR0001123440*回车 就正确了

热门招聘
相关主题

官方公众号

智造工程师