让代码更简单

欧姆龙PLC-PC FINS通讯说明

重要:本文最后更新于2022-11-03 16:30:43,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

最近工作上需要使用到欧姆龙PCL与视觉通信,并且采集部分数据,本来打算合作对象打算通过编写plc端的串口程序进行采集的,但是以前做过相关的程序,果断拒绝,采用PLC自带的hostlink报文读写。

有人问为什么不用Modubus TCP进行采集,我只能说条件有限,并不是我选购的标准件。

本次使用的设备型号:欧姆龙CP1H,串口模块:CP1W-CIF01

欧姆龙PLC-PC FINS通讯说明

报文说明

  • 帧开始标志 @
  • 站号 0–31
  • 识别码 ”FA”  “RD”  “WR”
  • 超时时间 默认为0*10ms
  • ICF\DA2\SA2\SID各占一个字节默认为00 具体可参考 HOSTLINK 通讯参考手册 W342-E1-15 第 3-3-3 节
  • 读写指令,0101读,0102写
  • 内存区域见下图
  • 内存地址 6位16进制数表示如100.01为0064 01
  • 数据长度,根据需要改变,十六进制数如0001
  • 写入数据 如1234
  • XOR校验,见文章:C#计算按位异或校验和XOR
  • 结束标志:*+换行符

以上内容均需使用16进制表示

FINS常用命令表

类型命令符MR命令符SRPLC运行模式监视模式编程模式功能
I/O存储区11有效有效有效读连续I/O存储区的数据
I/O存储区12有效有效有效写连续I/O存储区的数据
I/O存储区13有效有效有效向I/O存储区中指定范围写相同的数据
I/O存储区14有效有效有效读指定非连续I/O存储区的数据
I/O存储区15有效有效有效复制连续I/O存储区的数据到另一连续存储区
改变操作模式41有效有效有效让PLC运行,将模式改为运行或监视
改变操作模式42有效有效有效让PLC停止,将模式改为编程
读配置51有效有效有效读CPU单元数据
读状态61有效有效有效读CPU单元状态

存储区代码

区域区域数据类型CS/CJ/ CP存储区代码(HEX)CV存储区代码 (HEX)一个字符所占字节
CIO区CIO3001
工作区WR311
保持区HR321
辅助区AR3301
CIO区CIOB0802
工作区WRB12
保持区HRB22
辅助区ARB3802
定时器区TIM完成标志911
计数器区CNT完成标志911
定时器区TIM当前值89B12
计数器区CNT当前值89B12
D区D21
D区D82822
EM区EM库0-EM库C20-2C1
EM区EM库0-库FA0-AC90-972
EM区EM当前库98982
EM区EM当前库号EM当前库号BC9C2
任务标志TK61
任务标志TK状态461
变址寄存器IR当前值DC4
数据寄存器DR当前值BC9C2
时钟脉冲时钟脉冲72
时钟脉冲时钟脉冲72

发送报文格式

帧开始标志+PLC站号(2字节)+识别码+超时时间+ICF\DA2\SA2\SID各占一个字节默认为00+写指令+内存区域+内存地址+写入数据长度+写入数据+XOR校验+*CR

示例:写D100内容1234

ASCII: @00FA0000000000102820064000001123479*CR

十六进制:4030304641303030303030303030303130323832303036343030303030313132333437392A0D

响应格式

@ 00 FA 00 40 00 00 00 01 02 00 00 40 *CR

读报文格式

帧开始标志+PLC站号(2字节)+识别码+超时时间+ICF\DA2\SA2\SID+读指令+内存区域+内存地址+XOR校验+*CR

示例:读D100内容

ASCII: @00FA00000000001018200640000017E*CR

十六进制:40303046413030303030303030303031303138323030363430303030303137450A2A0D

响应内容:@ 00 FA 00 40 00 00 00 01 01 00 00 1234 40 *CR

注意:布尔类型数据写入为01不是0001,例如写输出100.00,ASCII: @00FA000000000010230006400000101+XOR+*CR

常见响应状态码

主代码子代码内容
00正常完成
31通信单元/通信板错误
32CPU单元错误
34单元号错误
41命令符未定义
42单元型号/版本不正确
101命令格式太长,超出范围
103命令格式中字符/数据与指定的不同
104命令格式错误

感觉很棒!可以赞赏支持我哟~

2 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐